Findecanor

Joined 5 years ago

Karma
2,882
Submissions
1,110
Member since
Sep 24
Fell in love with computing on the Amiga. Started programming in BASIC and assembly language, as you did in those days.

Multiple cancer survivor; Mechanical keyboard enthusiast; Prop replica collector; Technorealist; Vegetarian.

Unemployable: Recruiters are full of prejudice for unemployed people, which I was after my first cancer, which made me fall into a depression awaiting my cancer to come back. It did and I "survived". I'm looking forward to dying from the next cancer under a bridge somewhere. I just want to work in a righteous occupation, without taking part in exploiting people with gaming/phone/social media/AI addiction, or to be exploited myself. That shouldn't be too much to ask.

View on Hacker News

Recent submissions

Comment · 9 hours ago
That optimisation is simply missing.

Each `jmp` to f0..fX is an optimisation of a `call` and a `ret`, and probably done in a separate pass after the switch-case code has already been expanded.

The `mov edi, esi` at the top of the function is also an optimisation, most likely done during the register allocation pass. This was only possible because all functions take the same value in the same register. Otherwise, there would probably have been also a `mov` before each of the calls.

Comment · 9 hours ago
Reducing the range would have been useful to reduce the size of a jump table, but when you have a decision tree then it does not matter.

... unless the size of immediate parameters would have affected code size. In the example code however, all constants fit in an `imm8` parameter to `cmp`.

Comment · 11 days ago
It gives me the vibes of output from 1970's typewriters that my dad used.

Having aging eyes, I wish monospace fonts made 8 and 0 (zero) more different from each other. I notice that I have started to confuse those two glyphs when in small sizes.

Comment · 15 days ago
Uncensored Japanese Adult Video is also apparently quite common these days, despite being illegal.
Comment · 21 days ago
The CPU in the Falcon was also clocked higher (available in 16 MHz or 25 Mhz) was limited by a 16-bit bus. A stock Amiga 1200's 68EC020 ran at 14 Mhz and did have a 32-bit bus was limited by having only "Chip RAM" (shared with custom chips).

The DSP was a difference though, for raw calculations. I think it might have been NeXT machines that had started the trend of having a DSP. Commodore had built a prototype of the Amiga 3000 with a DSP in it which was talked about at the time but it was never released. Amiga enthusiasts have only recreated DSP boards in more recent years.

Comment · 21 days ago
GEM on the Atari ST did not get crippled after Apple's lawsuit against Digital Research over GEM being too much alike the Macintosh's GUI. Atari had already acquired rights to do further development of the port.
Comment · 23 days ago
A small to medium size cruise ship has an engine at around 24'000 HP ≈ 176 MW.

The smallest terminal you can connect to a AAA battery is the same diameter as 00 AWG copper wire.

Provided that the engine has 100% efficiency and can turn 176MW of electricity into torque, to safely run power it needs through that 00 AWG wire, the battery would need to provide a voltage of at least 70 kV.

Comment · 24 days ago
There do exist algorithms for resolving them, and that process can too be deferred, but also restricted to subgraphs and only when cycles are possible.
Comment · 24 days ago
My favourite tidbit about the Amiga is that it was the first platform that got PNG support in all its web browsers: you just had to install the png.datatype.
Comment · 26 days ago
Indeed. The name was well established in the popular Fallout game series before this company was founded.
Comment · 26 days ago
Immediate reclamation, yes. There do exist a number of reference-allocation algorithms that performs deferred reclamation similar to how tracing GC does.
Comment · 26 days ago
Reference counting has high runtime overhead, especially atomic reference counting with multiple threads. If you overwrite a pointer, you'd need to also look up and update two counts and do all that in a manner that is effectively atomic -- and that is complex on current hardware. I've heard that Swift programs could have as much as 40% runtime overhead from ARC.

I still think that reference counting is promising though. First because it meshes well with static analysis memory-management techniques such as inference of uniqueness and borrowing -- that can optimise away RC altogether. (and Swift's compiler already does some of that). I have not seen any work that could optimise away tracing GC in a similar way. Second, because I believe that it would be possible to design hardware with object-memory addressing that would performs atomic reference counting with no additional runtime cost.

Comment · 1 month ago
From what I have learned, to charge someone for hacking the prosecutor has to show that the perpetrator had intent.

Unfortunately, gross negligence -- which you could argue to be the case here -- is often not enough, unless you could show that it has caused real harm.

From my perspective, it is only a matter of time before it is: and that's why there is need for better legislation covering what AI models do.

Comment · 1 month ago
Later Amigas also supported VGA monitors with 31kHz horizontal refresh rate, with just a passive adaptor. I used a VGA monitor with my Amiga 1200 up until I switched to PC, and a tweaked video mode with 704×520 pixels.

If you wanted to play games on an Amiga or an Atari ST you needed to use a TV-signal compatible 15kHz monitor or a Multisync monitor. I ran desktop programs in 640×200 mode with four colours on both my ST and my Amiga 500 before I upgraded.

There were also "flicker fixer" add-ons for the Amiga, converting the interlaced modes to VGA signals: one was built into the Amiga 3000.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton