HNHacker News
TopNewBestAskShowJobs

Two9A

759 karma · joined February 10, 2011

http://imrannazar.com/
submissionscomments
Two9A··on Pong Wars on the Commodore 64
Yep, it's astoundingly inefficient. I've been meaning to pull the code back into working memory and do the things I mention in Future Considerations, but it took long enough just to do this write-up; could be years before I get around to it.
Two9A··on Pong Wars on the Commodore 64
Hey, thanks for checking this out. I wanted smooth motion to keep close to the JS piece that inspired this; it seemed like it should be eminently possible to get smooth motion, after all.

And yeah, I was reminded of Bresenham's algorithm a few days back, and had a suspicion that I've basically redone it independently (and inefficiently) by doing the trig. As mentioned at the end there, the math isn't where I'm losing most time in rendering though.

The Mastodon release post (cite 0) has comments talking about doing the score recalculation only at time of collision, but the worst thing I do is use a block of RAM for the playing field and another block of RAM for the _display_ of the playing field. Copying those blocks of 20 bytes, gosh it's slow.

Two9A··on Pong Wars on the Commodore 64
Over the years I've written a bunch of things in the orbit of retrocomputing, the largest of which was an incremental game based on a C64 emulator. Somehow I've never written anything substantial for the C64 itself; this post documents my learning while implementing a graphical effect in assembly language, over the course of twelve thousand words and three digressions into side quests.

Let me know if this was entertaining, useful or even both.

Two9A··on Wit, unker, Git: The lost medieval pronouns of English intimacy
Arabic is on the Semitic branch of the hypothesised proto-Indo-European language, which has dual number: https://en.wikipedia.org/wiki/Dual_(grammatical_number)

So you'd expect to see languages from western Europe to south Asia that either have the dual concept, or have an attested ancestor that did.

Two9A··on C64 Copy Protection
It's worse than that even: there are delays after every _bit_ transferred, due to various design decisions that were made along the way, which is why the C64's disk drive is slower than the previous computer (the VIC-20), which is slower than the one before that (the PET).

I wrote about the decisions and the resulting delays for one of those 100-post Threadapalooza projects in 2024, compiled here for easier reading: https://imrannazar.com/articles/commodore-1541

Two9A··on Ask HN: Share your personal website
https://imrannazar.com - Sporadic blog posts on web development and retrocomputing
Two9A··on I sell onions on the Internet (2019)
If nothing else, you can put up a static page on the basics of Boglehead-ish finances; a copy of The Flowchart from /r/personalfinance would be a great low-effort stop-gap.
Two9A··on How did the Win 95 user interface code get brought to the Windows NT code base?
Mm, I still recall the time my Windows 98 installation corrupted its registry somehow. The only fix was to reinstall, and the machine had no floppy or CD drive... getting Windows back on there was a task.
Two9A··on Sodium-ion batteries have started to appear in cars and home storage
> They're larger and heavier for the same capacity, but the lower price makes up for it

So yes, the battery will be heavier because sodium's heavier, but it's so much cheaper that you can afford the extra footprint.

Two9A··on Indiana Jones and the Last Crusade Adventure Prototype Recovered for the C64
Reminds me of a ROM-hack for Zelda: Ocarina of Time from a few years ago, that was presented in the release video as using unused assets and storyline from the game itself, when it was actually almost entirely new material. A great technical achievement, to be sure, but somewhat dishonest in its presentation.
Two9A··on The “impossibly small” Microdot web framework
I'm reminded of an MVC microframework I put together many years back in PHP: https://github.com/Two9A/BirSaat

Having pulled down a copy just now, the framework itself is 526 lines of PHP, and the sample site (a newsfeed that pulls from the BBC) is perhaps 300 lines in models and controllers. I use the framework to this day to serve out my blog and other small sites, seems to work well without getting in the way.

Two9A··on VIM Master
I also see a Login Via GitHub, but there could certainly be scope to allow local accounts here.
Two9A··on Potatoqualitee/EOL-dr: End-of-life Disaster Response
Quoting from the README:

Our VDI guy, Andy, was one of my favorites. He was grumpy, always tucked his shirt in, kept his desk Type A clean and was just so principled. ...I always thought he'd be there and was devastated when I found out he died unexpectedly.

"What about his homelab?" I thought. "Will his wife's wifi devices even be able to get an IP address if his DHCP server goes down?". I reached out to her to see how she was doing and she told me that, six months on, she avoids his office at all costs. She worries what will happen when her TV no longer works, when her wifi no longer works.

Two9A··on I turned an old phone into a NAS
I believe it's a reference to the look of a failed LiPo battery: it puffs up and looks like a pillow, but if you puncture it fire spews forth.

Reddit first came up with the phrase "spicy pillow" to describe that combination.

Two9A··on 23words.com
Many of these types of games are daily, so I'd expect it's a different angle tomorrow.

(Thanks for the hint.)

Two9A··on Simplicity is an advantage but sadly complexity sells better (2022)
Sounds somewhat familiar. I worked at a place that replaced a basic LAMP stack with microservices written in Perl and MongoDB as a backing store, for the sole purpose of raising complexity.

And left Mongo on the default settings for the time (speed of return over reliability of saving data), so they ended up with a reporting replica which was MySQL.

Don't think I've seen anything before or since which was architected so exactly backwards.

Two9A··on Why are we templating YAML? (2019)
And I've been using vim exclusively for north of fifteen years with Tab replacement, never had a problem with the editor getting confused about what happens with spaces when I hit Tab.

Some detail about the corner cases you've run into would be great, if they're happening constantly I can see how it would be a bugbear.

Two9A··on Post Office lied and threatened BBC over Fujitsu dev whistleblower
"CBE" refers to Commander of the most excellent order of the British Empire [0] which is a title conferred by the monarch on those deemed to have performed especially well in the service of the nation.

So you can see how its value might be diluted by this instance.

[0]: https://en.wikipedia.org/wiki/Order_of_the_British_Empire

Two9A··on Research paper is also an executable x86 program [pdf]
Many years ago, I wrote up a post on doing this kind of thing in plain DOS .com files: https://imrannazar.com/articles/x86-printable-opcodes

It's good to see the principle can be expanded to EXEs, I'll have to dig into this some more.

Two9A··on Why use strace in 2023? [video]
I should write that down; -Z would've been really useful when my SSH server was falling over in a heap and I was left scrolling through strace to work out what happened.

I wrote that experience up last week, for what it's worth: https://imrannazar.com/articles/linux-upgrade-fail

Two9A··on The Curious Case of Debian 12 and the SSH Failure
I always enjoy reading stories of yak-shaving adventures whenever they come up, so when I ran into my own back in November, I thought it might be fun to write up as a post.

This adventure starts with a small email problem, balloons into a Debian upgrade, and then it all goes sideways. Let me know what you think!

Two9A··on From Nand to Tetris (2017)
Oh goodness, this is the kind of thing I've been trying to find for years now: some method of making a computer from scratch, as in from raw materials.

Will have to look into your progress, thanks.

Two9A··on Cramming a tiny program into a tiny ELF file
These kinds of articles are always fun: essentially playing golf with the size of an executable or some other file format.

To plug my own entry in the genre, back in 2006 a few members of the Nintendo DS emulation scene tried to put together the smallest DS ROM that would still do something visible on the system: https://imrannazar.com/hacks/the-smallest-nds-rom

We ended up with a 352-byte file with two minimal executables, for the ARM7 and ARM9 cores. I've yet to see a .nds file smaller than that.

Two9A··on Building an app to learn languages with short stories
Quick note: your article links to webbu.app but the link text is "webu.app"; that was awfully confusing.

Might be worth a pass through to proof-read; I saw another couple of typos, but the page is now throwing a Wordpress database error, so that might be more urgent to look at.

Two9A··on Return to Office Is Bullshit and Everyone Knows It
This is one aspect of the RTO discussion that's sometimes missed: there are plenty of people in the tech sphere (myself included) who've been comfortably remote for much longer than those who were pushed into remote work by lockdowns and pandemic response. We're not about to give up a whole lifestyle we've built over (in some cases) decades, on the whim of whichever executive we happen to be serving under at the present time.

Props to the author for highlighting this.

Two9A··on Ask HN: What are your favorite programming blogs?
If I'm allowed to self-promote, my own blog just got its redesign released today, so now it's responsive for mobile etc: https://imrannazar.com/

The most recent programming content on there is from ten years ago though... I should really get around to putting something new together, now the design work's done.

Two9A··on The Mystery of the Bloomfield Bridge
Honestly, you see this all over the world where anticipated development either hasn't materialised or funds have dried up. The A57(M) freeway through Manchester, England was planned to continue from its current endpoint southwards, but the rest of it... never happened. And now there's a bridge over the A34 that doesn't connect to anywhere.

As I recall, the M1 emerging from London starts at "Junction 4" and there were three more junctions planned deeper into central London, but that part of the road never happened either.

Two9A··on My Lifetime Reading Plan
I've just been catching up with Corey Olsen's exploration of Lord of the Rings, and he makes the same point regarding Tolkien: the man thought in alliterative prose, and there are some places where it stands out even to the eye, but you can catch a lot more of the alliteration by reading passages out loud.

The example that brought it up was towards the end of the attempt to climb the Redhorn: "Soon they all stood once more on the flat shelf at the head of the steep slope where they had felt the first flakes of snow the night before." (The F in 'before' might not line up with the previous F's unless you've been reading out loud.)

Two9A··on Ask HN: Could you share your personal blog here?
https://imrannazar.com/

Perhaps a hundred posts, with the last significant block being ten years ago. I should really get back to it sometime... Posts that tend to have some lasting power:

- https://imrannazar.com/GameBoy-Emulation-in-JavaScript - A ten-part series (intended to be longer) on the implementation of emulators with the example of a GameBoy;

- https://imrannazar.com/Let's-Build-a-JPEG-Decoder - A four-part series (intended to be longer) about the concepts behind JPEG and building a decoder;

- http://imrannazar.com/Extended-Text-Mode-on-the-C64 - Going back fifteen years, an exploration of how to build an 80x25 text mode on the Commodore 64.

Two9A··on Show HN: Tree-view visualization of threaded Twitter conversations
Just to update you: I've added this feature. It actually doesn't take more than a few seconds to build the thread, but there's some space for progressive enhancement with a progress bar / spinner... I'll think some more on that, in the meantime.
Page 1 of 4Next →