Hacker Newsnew | past | comments | ask | show | jobs | submit | don-bright's commentslogin

I had this feeling of alien math when I went thru his videos on ancient Babylonian math. They were very serious about the everything divided by sixty stuff. Good times.


The other thing it can give you is computationally exact results since rationals are closed over division. Sine is interesting because where the input is rational the output is almost always irrational and where the output is rational the input is almost always irrational. In computation the first time you use sine in a program you have injected approximation. If you want to build things like reproducible code and geometric caching it can be interesting to compare using a purely rational computation system to an approximative system.


The trigonometric functions need not inject worse approximations than division.

If you compute trigonometric functions where the arguments are binary floating-point numbers and you measure the angles in cycles, not in radians (using radians is always a huge mistake in my opinion), the results can be expressed exactly using rational operations and the sqrt function.

You could compute them symbolically and use such symbolic expressions for exact computation, like you use rational numbers.

If you compute them numerically, computing a sqrt does not need more time than a division and correct rounding or computing an arbitrary number of digits are also not more difficult than for division.

Of course, you typically do not care about this, so you can just compute the trigonometric functions approximately, like you also do with division and sqrt, and in a similar time.


thats so awesome. i wonder what a live forth interpreter would look like on NES.


A live interpreter turns out to be very slow! It's still useful but it's about 1/10th the speed of the compiled version. I've mostly just been using it to play with placement and test out my ppu logic. Honestly a lot of the work is being handled by BizHawk.

The compiler is pretty neat though; my current system is doing a straightforward conversion of the threaded-code quasi-AST thing that Forth does and convert it all to JSR calls, where each name is a subroutine. I haven't done a ton of optimizations yet, so I'm actually surprised it's going as fast as it is. I am just going to say this is yet another "Forth is awesome" thing.

Once I get it into a more stable state, I'll push it up to SourceHut.


Even bird watching. I try these apps and nothing sticks. Books ok. But I go for a hour walk with experts talking and I can remember the entire scene of the bird, what it was perched on, its sound, its name, its appearance, its behavior.


How I started. Once upon a time there was this magical kingdom called Radio Shack. But it's people left the Earth and went to Capacinor - the Unshorted Lands, a place where batteries are always charged and every circuit board has a schematic.

Nowadays there is Pololu, Robotshop, Sparkfun, Adafruit, and Battery Space. Maybe Microcenter, Ebay, and Temu.


Microcenter is good if you are in a pinch and want to quickly grab a Raspberry Pi. +1 for Robotshop too! Pololu is way underrated and has the fastest shipping I’ve ever seen.


I spent a while on an open source project debugging some bizarre crashes. Cant remember exact detail but something like Someone was throwing an exception inside a destructor which had been triggered inside another exception. It was layers deep inside a massively templated 3rd party dependency library. so I like wound up parsing the string in the exception message and doing weird logic to make the program keep going since the exception wasnt actually a dire situation as far as the main program was concerned. So Exceptions can be fine in theory but I understand the idea that a ban can simplify a lot of things.


Ran linux in an 8 mb 486 in the 90s. X ran in 256 color mode and twm or mwm were the window managers. It was so hard to use though. Had to setup modelines settings for your monitor in a textfile and theoretically could damage it with wrong iputs. Programming X fuggedabout it - I was from turbo borland msdos land where everything was neatly documented and designed with clear examples to make programming easy. I was lucky to get an x program to even compile. Hard to find books back then. Pre Amazon. Xv image viewer probably the only thing i used X for. Actually used the machine most of the time in the text mode terminals using alt function keys and used lynx as a browser (before javascript… but gopher was becoming obsolete at that point… ftp still popular though ) with random assortment of svgalib programs for any graphical stuff. Still there was something magical about seeing that black and white check pattern come up and the little X mouse cursor appear.. like there were… possibilities.


Yes, I remember making my 12" IBM monitor scream as I put the wrong mode information in the config file for X. I think I was on RedHat 5.0 from a cover CD, on a 486 DX2 with 64 MB of RAM (I was poor; everyone else was on Pentium IIs or IIIs and I was using computers the school threw out, scraping together motherboards and RAM).


Yeah, it was a different world. I worked at a company using X + Motif on SCO Unix back in the early 90s. I had a 386sx with 8mb ram + 6 MB on an ISA expansion card! When you changed a header file constant (like a label string) and had to recompile the ~1 MB(!) executable, it really was coffee break time - compile time was ~1 hour for a full rebuild. Strangely enough, our current project on a 16-core VM also takes nearly an hour for a full rebuild - but we have parallel build options that go much faster.

I also ran Linux+X11 on my 486 (for some grad work) with 32 MB, IIRC. ATI Mach32 graphics card, Nec 5FGe monitor (loved that one!), etc..


You have no ccache setup for it?


ccache was released 2002. This was 1992.


Floating point numbers are not closed under addition. They are not real numbers and not rational numbers. FP is on a grid whose size changes the farther you get from 0,0. For example 0.1 doesnt exist in fp nor does any number not representable by binary fractions. Also its a quirk of opengl and most 3d renderer to get issues when one surface coincides with another so the preview renderers like the little bumps. Also the underlying CGAL rendering kernel can be problematic when planes are almost nearly coincident but not one hundred percent. Finally OpenSCAD has an internal grid it tries to snap things to which can also cause issues. Not sure if the new Manifold renderer has these issues but in general the loss of info from ascii decimal to FP is the source of most of the problem. Those professional cad programs have enormous resources behind the scenes to make that stuff appear easy when its actually very complex and basically an illusion. Rotating anything using sine and cosine instantly loses information so planes with more than three points become non planar ever so slightly. So this assembly you made with “two surfaces touching” is not touching after rotation due to sin eing transcendental function simulated on a computer with finite time and memory. For example. These fancy CAD systems all have ways to deal with this.


Thanks for explaining that; that makes sense.

I still don't /like/ it because it seems I'll need to add in some sort of 0.001mm overlap into the code if I want to ensure this doesn't become a problem. And this feels like a messy way to go about it.


Also since LLM generated content is not copyrightable what happens to code you publish as Copyleft license? The entire copyleft system is based on the idea of a human holding copyright to copyleft code. Is a big chunk of it, the LLM part, basically public domain? How do you ensure theres enough human content to make it copyrightable and hence copyleftable….


> since LLM generated content is not copyrightable

That's not how it works. If you ask an LLM to write Harry Potter and it writes something that is 99% the same as Harry Potter, it isn't magically free of copyright. That would obviously be insane.

The legal system is still figuring out exactly what the rules are here but it seems likely that it's going to be on the LLM user to know if the output is protected by copyright. I imagine AI vendors will develop secondary search thingies to warn you (if they haven't already), and there will probably be some "reasonable belief" defence in the eventual laws.

Either way it definitely isn't as simple as "LLM wrote it so we can ignore copyright".


>it seems likely that it's going to be on the LLM user to know if the out is protected by copyright.

To me, this is what seems more insane! If you've never read Harry Potter, and you ask an LLM to write you a story about a wizard boy, and it outputs 80% Harry Potter - how would you even know?

> there will be probably be some "reasonable belief" defence in eventual laws.

This is probably true, but it's irksome to shift all blame away from the LLM producers, using copy-written data to peddle copy-written output. This simply turns the business into copyright infringement as a service - what incentive would they have to actually build those "secondary search thingies" and build them well?

> it definitely isn't as simple as "LLM wrote it so we can ignore copyright".

Agreed. The copyright system is getting stress tested. It will be interesting to see how our legal systems can adapt to this.


> how would you even know?

The obvious way is by searching the training data for close matches. LLMs need to do that and warn you about it. Of course the problem is they all trained on pirated books and then deleted them...

But either way it's kind of a "your problem" thing. You can't really just say "I invented this great tool and it sometimes lets me violate copyright without realising. You don't mind do you, copyright holders?"


I think the poster is looking at it from the other way: purely machine-generated content is not generally copryrightable, even if it can violate copyright. So it's more a question of can a coplyleft license like GPL actually protect something that's original but primarily LLM generated? Should it do so?

(From what I understand, the amount of human input that's required to make the result copyrightable can be pretty small, perhaps even as little as selecting from multiple options. But this is likely to be quite a gray area.)


Every copy of Microsoft Excel includes Power Query which is in the M language and has tables as a type. Programs are essentially transformations of table columns and rows. Not sure if its mainstream but is widely available. M language is also included in other tools like PowerBI and Power Automate.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: