Recent submissions

Comment · 3 months ago
I don't the fanaticism around memory safe languages. We've had memory safe languages for a very long time. Algol-60, the granddaddy of many modern languages, had it sixty-five years ago. Algol-60 also had other safety features that modern languages don't have - for example integer overflow safety.

The real issue is that we came to accept unsafe languages and are taking a really long time to put such features back.

Comment · 4 months ago
I've still got mine. It's been well used but is hanging together still.
Comment · 1 year ago
Seems like another way to deliver nukes to targets...
Comment · 1 year ago
Under uClinux, executables can be position independent or not. They can run from flash or RAM. They can be compressed (if they run in RAM). Shared libraries are supported on some platforms. All in all it's a really good environment and the vfork() limitation generally isn't too bad.

I spent close to ten years working closely with uClinux (a long time ago). I implemented the shared library support for the m68k. Last I looked, gcc still included my additions for this. This allowed execute in place for both executables and shared libraries -- a real space saver. Another guy on the team managed to squeeze the Linux kernel, a reasonable user space and a full IP/SEC implementation into a unit with 1Mb of flash and 4Mb of RAM which was pretty amazing at the time (we didn't think it was even possible). Better still, from power on to login prompt was well under two seconds.

Comment · 1 year ago
Out by a factor of five or more.

A $1 Linux capable ARM: https://www.eevblog.com/forum/microcontrollers/the-$1-linux-...

I'd expect that there were even cheaper processors now since it's eight years later.

Comment · 1 year ago
I used decNumber in the WP 34S project (https://sourceforge.net/projects/wp34s/) and more recently in the C47 project (https://47calc.com).

You are correct in that the decNumber library doesn't support trig operations. Arithmetic, log, exp and square root plus rounding and some conversion functions.

My experience is that decNumber is generally slow. Logarithms are especially slow. Intel's decimal library is much faster & as you noted, it uses binary operations to start it's algorithms.

Comment · 1 year ago
It might be shorter to do some multiplications:

0x08C0C166 = 2⁴ × 3 × 5⁵ × 11 × 89 + 1 = 10⁴ × 3 × 5 × 11 × 89 + 1

Plenty of values that can be reused (11 = 10 + 1 and 89 = 10² - 11).

Still, there is quite a bit of manipulation required and only 17 instructions to do them in.

Comment · 1 year ago
The initial XOR instruction isn't required, registers are zeroed as per the problem statement.
Comment · 1 year ago
Better check his pockets on the way out :)
Comment · 1 year ago
I think there is a spurious "and H" in the title :)
Comment · 1 year ago
Later uClinux was available on m68k platforms without memory managers. The approach taken doesn't seem close to the one in the article.

I managed to put in shared execute in place library support, the limitation being the number of shared libraries rather than what they supported.

Comment · 1 year ago
My favourite mathematical problem looks to have been solved.
Comment · 1 year ago
There is a second issue with the code. The calculation of the mean isn't numerically stable. Instead use:

mean_power = mean_power + (power - mean_power) / count

Comment · 2 years ago
Algol 68 was to Algol as C++ is to C: trying to do too much resulting in over-complexity.

The two page spread showing a graph of the implicit type conversions was a masterpiece.

Comment · 2 years ago
Kind of like the "install this software" as part of the interview process.

"My hourly rating for figuring out your bug is $X".

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton