Browsed by
Category: Technical

8″ floppy drive adventures

8″ floppy drive adventures

I recently acquired not one, but 2, 8″ floppy drives. Behold a Data System’s Design DSD 440:

To get this all working in my experiments, I used the following guides

Parts and equipment

IBM 5140 PC Convertible

IBM 5140 PC Convertible

Cathode Ray Dude did a great rundown on the IBM 5140 Convertible. It was the first PC computer my dad got after the Radio Shack TRS-80 Model III and the first one that had a floppy drive. We even had the serial/parallel port and the thermal printer.

But probably the most amazing thing is that this 8088 XT, floppy based computer actually had a method to sleep and wake right where you left off. As far as we know, it was the very first instance of the technology.

Dark Realities of Buying Crunch overseas

Dark Realities of Buying Crunch overseas

As Nike and Apple learned the hard way, outsourcing your work overseas can have serious ethical concerns.

Sadly, workplace abuse (both mental and physical) is a reality in many low-cost countries. People Make Games reveals some highly disturbing cases of abuse and punishments that are subjected to game dev workers at these outsourced locations. In one case, a young developer is told to record slapping herself in the face 100 times as punishment.

It’s disturbing, but definitely something people should be aware is happening when companies outsource to low cost geos.

Google report on using AI for internal code migrations

Google report on using AI for internal code migrations

Google published a report on it’s effort to migrate code to the latest dependencies – an often thankless task fraught with risk. Google’s code migrations involved: changing 32-bit IDs in the 500-plus-million-line codebase for Google Ads to 64-bit IDs; converting its old JUnit3 testing library to JUnit4; and replacing the Joda time library with Java’s standard java.time package. The 32-bit ID’s were particularly rough because they were often generically defined types that were not easily searchable.

They used a collection of AI tools as well as manual code reviews and touch-ups to achieve their goal. They emphasize that LLMs should be viewed as complementary to traditional migration techniques that rely on Abstract Syntax Trees (ASTs), grep-like searches, Kythe, and custom scripts because LLMs can be very expensive.

The results?

With LLM assistance, it took just three months to migrate 5,359 files and modify 149,000 lines of code to complete the JUnit3-JUnit4 transition. Approximately 87 percent of the code generated by AI ended up being committed with no changes. For the Joda-Java time framework switch, the authors estimate a time saving of 89 percent compared to the projected manual change time.

Links:

When to make your own tools

When to make your own tools

Mr-Figs asked a great question on the reddit gamedev forum: how do you handle making your own tools needed to make a game?

It used to be that building a game also meant building all the authoring tools to go along with it. With the advent and spread of game engines like Unity, Unreal, Godot (and literally hundreds of others) along with amazing tools like Photoshop and Blender, the need to make your own tooling has dramatically decreased. Almost to the point that in a majority of cases, you probably don’t need to write tools.

Even if you do find you can’t use an existing tool, others suggest using chatGPT to either extend an existing tool or a tool in the engine you’re using via their SDK. Let AI do the work for you since tools are not shipping code nor need to be overly performant.

Strict_Bench_6264 wrote up a whole blog article to describe what he learned: