Science fiction and technology writer

 RSS Feed for this blog

Subscribe to my space and sci-fi newsletter

When you sign up for my newsletter, you'll get a free sci-fi short story: Starfarer, monthly updates on space science and sci-fi, and updates on my writing projects!

    I won't send you spam or share your email with anyone. Unsubscribe at any time.

    Popular blog posts

  • Total Share: Personal Computer Market Share 1975-2010
  • Monarch Thing-A-Day Challenge!
  • Celebration
  • I love Korean Starcraft
  • Why HTML 5 sucks!
  • Recent forum posts

  • How to find the best fiction ghostwriter?
  • is live on a new server!
  • My Non-Fiction
  • How is Facebook's Metaverse doing? Worse than buggy, it's lonely, boring, and bleak
  • The History of the ARM chip: Part 3
  • Discussion Forum

    Discussion forum is live on a new server!

    Post #: 301
    Post type: Blog post
    Date: 2024-02-19 21:43:01.000
    Author: Jeremy Reimer

    If this works, you should be seeing a new blog post!

    I migrated all my websites from AWS to Linode. It's a lot cheaper, and I really like the simplicity of Linode server management.

    Onwards to new things!

    EDIT: Just checking image uploading! Still works!

    Comments (1)

    Views: 1221

    How is Facebook's Metaverse doing? Worse than buggy, it's lonely, boring, and bleak

    Post #: 300
    Post type: Blog post
    Date: 2023-03-21 20:15:20.000
    Author: Jeremy Reimer
    Tags: gaming metaverse

    In a previous article I posted my thoughts on Facebook's sad attempt at a Metaverse, and how it was already failing shortly after launch.

    Some time has passed, and I have an update, courtesy of journalist Paul Murray:

    "After a certain number of hours in Zuckerberg’s personal universe, you find yourself asking questions like “Does he think this is good?” Looking through my notes, I keep coming across words like diminished, depleted, wan, bleak. The beta-ness of it all is mystifying. If I were Zuckerberg and I’d spent $36 billion building a metaverse, I’d make sure when I launched it there was something to do. Why would he go to all the trouble of building a virtual world, then leave it to the users to make their own fun, as if they were at a holiday camp in the ’80s?"


    "I can’t stress how unlike a party house the Party House is. It’s not just the amateurish, low-tech design; it’s not just the sparse attendance and desultory interactions. It’s the total absence of mood. It reminds me of when I’d try to get together with friends over Zoom during lockdown — everyone’s face appearing in a box in the grid like contestants in some bleak, prizeless game show, the total absence of physicality making us feel more distant from one another than ever."

    Bleak, deserted, lonely. I'm glad Paul spent some time in Facebook's Metaverse so that I don't have to.

    Comments (1)

    Views: 2382

    Revisiting Apple's failed Lisa computer, 40 years on

    Post #: 299
    Post type: Blog post
    Date: 2023-01-19 21:27:36.000
    Author: Jeremy Reimer
    Tags: articles

    A second article in less than a week! This one's about the revolutionary yet forgotten computer from Apple, the Lisa, which was announced today, forty years ago.

    With this second article, I had the strange feeling of being bumped off the front page of Ars Technica by... myself. My editor called it "Reimer week". It's been fun!

    Views: 1382

    The History of the ARM chip: Part 3

    Post #: 298
    Post type: Blog post
    Date: 2023-03-21 16:40:22.000
    Author: Jeremy Reimer
    Tags: articles

    The third and final article in my History of the ARM chip series is now live on Ars Technica!

    Read it here:

    This article focuses on how ARM changed the world, from the iPhone to the Game Boy Advance to smartphones and Apple's new computers based on the M1 chips. It ends with a look at how ARM managed to succeed when so many other technology companies failed.

    I hope you enjoy it! Please share it with your friends!

    Comments (2)

    Views: 2438

    The History of the ARM Chip: Part 2

    Post #: 297
    Post type: Blog post
    Date: 2022-11-22 02:16:19.000
    Author: Jeremy Reimer
    Tags: articles

    This morning I was happy to find that Part 2 of my History of ARM article is now live on Ars Technica. You can read it here:

    The first part was mostly a technical story of talented engineers who created something amazing. The second part is the story of how the ARM company was able to bring this technology to the world. It's a reminder that it takes both technical prowess and a focused business approach in order to succeed.

    Part Three is coming next month!

    Comments (1)

    Views: 2049

    Reimagining the most obscure video game ever made - Part 1

    Post #: 296
    Post type: Blog post
    Date: 2022-10-28 05:23:08.000
    Author: Jeremy Reimer

    The original game, running on my Heathkit H-89

    A while back, I wrote about the most obscure video game ever made, called Balablox, which I wrote when I was 15 years old in 1987. At the end of the article, I teased the possibility of a modern rewrite.

    I’ve been working on that project, on and off, for about half a year now. My goal is to get it finished this year, for the 35th anniversary of the game. It’s been a ton of fun. To celebrate, I decided to write a series of articles about how I made the game, and what I’ve learned through the experience.

    Everyone agrees that developing games is hard, but why is that? Don’t we have much better tools and languages now than we did back then? How hard could it be to make a simple game in 2022? Read on to find out!

    Choosing an engine

    These days, the first thing you do when you decide to make a game is to pick an engine. Game engines didn’t exist 35 years ago—every game was made from scratch. Today, the most popular game engines are Unity and Unreal. But these engines are ridiculously powerful, and take years to master. They’re designed so you can make any sort of game, including modern AAA titles with advanced 3D graphics and multiplayer support. They’re a bit overkill for what I wanted to make—a simple single-player game with very simple 2D graphics.

    I ended up choosing GameMaker Studio 2. I made this decision after watching a series of YouTube videos where Yahtzee Croshaw (of Zero Punctuation fame) created 12 games in 12 months. A month to write a simple game? That seemed achievable.

    My first steps working in GameMaker Studio 2

    In the end, no matter which engine you choose, you should commit to it. You can end up spending months just playing around with different engines, or reading endless forum discussions about which one is better. All this is time that you aren’t making a game. And whatever you do, don’t switch engines mid-stream!

    First things first

    GameMaker Studio, like any of the game engines, takes a while to get used to. Because it’s based around 2D images, or “sprites”, it has a sprite editor built in. So the first thing to do is create a sprite for the player character.

    Balablox was built on my ancient Heathkit H-89, which only supported character-based graphics. In any case, the characters were supposed to be blocky, like the cartoon that inspired it. So I stuck with a simple rectangle to start, and attached stick arms and legs. But using the power of pixels, I added large expressive eyes. That felt like a good compromise between the old and the new.

    Editing the player sprite

    How big should the sprite be? On my laptop’s screen, 32 by 32 pixels looked about right, and it’s a nice computer-y number to use. Done! Now I could make an “object” that used this sprite and place it on the screen grid for the first level, or “Room”.

    But an empty room isn’t any fun to play in. GameMaker lets you design levels the same way people did in the original Nintendo days—as grids of tiles. I wanted a bit more granularity for the room tiles, so I made them 16 by 16. This seemingly innocent choice would cause me a lot of headaches later!

    The tile editor works a bit like Photoshop, in that you can define different layers that are displayed on top of each other. The room tiles are usually the lowest layer, followed by a layer for “Collision” objects that define what you can and can’t bump into. You put collision objects on top of any part of the level that you don’t want the player to pass through. Then you set the Collision layer to be invisible. The top layer contains the objects themselves, including the player object.

    Working with layers in the Room Editor


    The player needs to be able to control this object, so I added some code to check if the left or right arrow keys had been pressed, and set a direction of motion variable if they were. Then for each frame of animation, called a “Step” in GameMaker, I added code to check the direction variable and update the position of the character. But before it moves the player, it first checks if that movement will collide with an object on the Collision layer.

    What about vertical movement? When the player hits the jump button, I add a negative vertical movement speed variable. To simulate gravity, I slowly increase this variable in each step. I also check to see if this movement will collide with a collider object.

    I wanted to include ladders, which are a special form of vertical movement. This required an additional invisible layer in the room, which I called “Ladders”. If the player “collides” with a ladder collider object, it changes the vertical movement speed to be steady in whatever direction the player chooses.


    This was all well and good, but we need enemies to give the player a challenge. This is where the object-oriented nature of GameMaker’s coding language (GML for short) comes in handy. You can define a generalized “enemy” object, give it some default values for movement speed, and write the code that will make sure it too doesn’t run into walls. Then for each individual enemy, you create a new object that’s a “child” of the Enemy object. It will inherit all these default attributes, but you can add a sprite image and special code for any unique behaviors.

    Setting the initial startup variables for the default enemy object

    In the original game, I had some very simple code that took a random number between 0 and 1. If it was below 0.5, the enemy would move towards the player. If it was above 0.5, it would move in a random direction. This same strategy still worked in my modern game, although I had to add a timer variable so that the enemy would stick with one direction for a while and not just wiggle about.

    The code for default enemy movement

    I added a few other niceties, like coins for the player to collect, and ropes for the player to hang on. I also added the Key object, which when touched, advances the player to the next room.

    Because the graphics were very simple, and the code was also simple, it didn’t take long to put all of this together. I didn’t keep a log of my time, but it was only a couple of weeks of work, a few hours at a time. And at this point, I had something that looked a lot like a complete game—it had a player-controlled character, it had platforming challenges, it had enemies and things to collect—surely finishing it would just be a matter of a bit of polishing, right? How long could that take?

    Oh, you sweet summer child.

    Stay tuned for Part 2!

    Views: 1616

    Facebook's Metaverse is already failing

    Post #: 295
    Post type: Blog post
    Date: 2022-10-12 17:40:26.000
    Author: Jeremy Reimer
    Tags: gaming metaverse

    Sorry, Mark, nobody wants to join you here.

    In a previous post called Why the Metaverse will never happen, I dissected the idea of the Metaverse as an impossible and ill-defined dream. Basically, the Metaverse has to be universal (like the Internet itself) or it isn’t a Metaverse at all, but just another Second Life clone. But tech companies will never agree to adopt a common framework that they don’t own and can’t fully monetize.

    The other, more serious problem with a Metaverse is that nobody can actually define what it is. Mark Zuckerberg, in his ebullient announcement last year, said it would be a world “as detailed and convincing as this one” and that inside, “you’re going to be able to do almost anything you can imagine.”

    This last sentence is a huge giveaway that Facebook’s Metaverse will fail. This is the same phrase spoken by dozens of naive and inexperienced wannabe game developers, who go on Kickstarter and announce an amazing new Massively Multiplayer Online (MMO) game where “you’ll be able to do anything.” Every single one of these Kickstarters, even the ones that reach their funding goals, end up failing spectacularly. The latest fiasco, DreamWorld, is a perfect example.

    “Doing anything” is another way of saying “I have no idea what this game will be.” Games are fun because of constraints and rules. Take golf, for example. If you could just pick up the ball and drop it directly in the hole, nobody would bother playing it. But when you add the constraint of hitting the ball with a club, and add a scoring system, suddenly it’s interesting.

    Not everything has to be a game, of course. Second Life, released in 2003, was the first successful attempt to make a virtual world that had no real objectives, other than building a world and exploring it with other people. But Second Life peaked in 2009 when it hit 88,000 concurrent online users. It’s still around, but these days nobody expects it to become the future of anything.

    More recently, Minecraft was a much larger hit, capturing the imaginations of a huge portion of kids and teenagers. But Minecraft is definitely a game — it has very specific rules for breaking down blocks, finding resources, and using these resources to craft different types of blocks. There are even enemies to fight. It knows exactly what it wants to be and it does it very well. Countless Minecraft clones have been attempted, but they have all failed because “Minecraft, but better” isn’t a design document.

    Getting back to Facebook’s Metaverse, it’s clear that Zuckerberg is serious about his effort. He’s spent $10 billion and hired 10,000 engineers. Surely, with this massive amount of resources, his company would have delivered something great, right? Right?

    Well, as it turns out, what they’ve produced (which they call Horizon Worlds) is ill-defined, boring, buggy, and nobody wants to play it. According to leaked memos, the “aggregate weight of papercuts, stability issues, and bugs is making it too hard for our community to experience the magic of Horizon. Simply put, for an experience to become delightful and retentive, it must first be usable and well crafted.”

    This is another giveaway that the folks building Horizon have no idea what they are actually trying to build. If a game is great, people will play it, even with crazy bugs. Skyrim shipped with tons of bugs, but the game was awesome from day one.

    Horizon clearly isn't awesome. Second Life, and more recently, VR Chat, gained popularity because they offered a way for people to express unusual sexual desires in a safe place. But Mark Zuckerberg doesn't want any sex in his city. When people started harassing women in Horizon by trying to grope them between the legs, Facebook's answer wasn't to figure out how to deal with harassment. It was to permanently remove everybody's legs.

    You can do anything you want. Except have legs, apparently.

    Even Facebook employees don’t want to play Horizon. “For many of us, we don’t spend that much time in Horizon and our dogfooding dashboards show this pretty clearly,” another memo read. “Why is that? Why don’t we love the product we’ve built so much that we use it all the time? The simple truth is, if we don’t love it, how can we expect our users to love it?”

    How indeed. The truth is simple: if the product was any good, people would play it. When Origin Systems was making the original Wing Commander, the entire company couldn’t stop playing the game. That’s how they knew it was going to be a hit. When Blizzard was building World of Warcraft, the company could barely get any work done because so many employees wanted to play it.

    Facebook’s management, on the other hand, has decided that the way to fix their boring game is to force their employees to play it. “Everyone in this organization should make it their mission to fall in love with Horizon Worlds,” a recent memo read. “You can’t do that without using it. Get in there.”

    The end result of all this will be a ton of wasted money and a product that may end up getting forced on people in order for senior management to report rosy numbers. But when the dust has settled, no amount of promotion and bundling will get people to keep playing something they don’t want to play.

    UPDATE: Since this article was published, Facebook has triumphantly announced that Legs are coming soon. Are you excited? The message went over about as well as could be expected.

    Comments (1)

    Views: 3058

    The History of the ARM chip: Part 1

    Post #: 294
    Post type: Blog post
    Date: 2022-09-26 22:09:45.000
    Author: Jeremy Reimer
    Tags: articles

    I'm excited to announce that Ars Technica has published the first part of my three-part series on the history of the ARM chip.

    You can read it here:

    If you've ever wondered how your smartphone became so smart, it's because in 1983, a tiny computer company in England decided they would do something impossible.

    I had a great time writing this article. I kept asking questions about CPUs, which I've always understood only at the highest levels. For example, I knew what RISC meant, it was "Reduced Instruction Set Computing". Okay, but HOW reduced? And what does an instruction set actually do?

    Diving down the rabbit hole, I ended up learning how CPUs work from first principles. I've tried to share some of that knowledge in the article. I hope you enjoy it!

    Comments (1)

    Views: 2486

    How crypto stole from the poor and gave to the rich

    Post #: 293
    Post type: Blog post
    Date: 2022-08-04 17:34:06.000
    Author: Jeremy Reimer
    Tags: crypto, blockchain

    John Cleese playing Monty Python’s Dennis Moore, in a sketch where he discovers that the redistribution of wealth is harder than he thought.

    The concept of digital money isn’t new. In fact, we all use digital money every day. The reason we can rely on numbers in a computer to safely represent our wealth is because we have laws that safeguard its handling, and centralized banks that must obey those laws.

    This wasn’t always the case. In the mid-1800s, the US had no national banking system, and the metal coins issued by the government were awkward to use for large transactions. So wildcat banks appeared that made their own paper money, which they claimed was backed by real coinage. They were called “wildcat” because they built their branches far out in the wilderness, where cougars would prowl, to discourage people from visiting them to cash out. They lied about being backed by US silver coins, and printed as much fake money as they thought they could get away with. Eventually, the US government shut them down by issuing its own national paper currency, making the wildcat bank notes worthless.

    An example of a wildcat bank note. Other wildcat banks included the Bank of Granite and the Bank of Singapore (the latter of which was based out of Michigan).

    Cryptocurrency, which was invented back in 2008 following the collapse of the subprime mortgage market, was an attempt to separate digital money from banks. Lots of folks in the early 2000s had the idea to make “digital bucks” or “eCoins” of some kind. But the problem was this: if you weren’t attached to a real bank, how could you prevent someone from just “copy/pasting” their eCoins over and over again, gaining infinite wealth? If you didn’t want to trust a central authority and a central government, how could you make this work?

    The solution was called Bitcoin. It worked like this: all transactions would be added to a public “digital ledger” that anyone could read, but that could never be changed. After all, if you could edit your transaction after the fact, you could easily “copy/paste” coins to yourself by refunding your own purchase. The Bitcoin algorithm reserved all the coins that would ever exist, then required “miners” to compete to solve ever-more challenging math problems. The first person or group to solve them would be awarded one Bitcoin, and then everyone on the network would have to verify that the solution was correct. In a similar way, every movement of Bitcoins from one digital “wallet” to another had to be approved and added to the ever-growing ledger, which was called a “blockchain”.

    This trust-free solution was ridiculously inefficient, but it didn’t matter at first, because so few people bothered to use it. In the early days, it was relatively easy to mine new Bitcoins. But there wasn’t much you could do with them, because there was no connection with banks or with real money. In 2010, one of the first “purchases” made with Bitcoin involved one user transferring 10,000 Bitcoins to another user. Then the person who received them went and ordered pizza for the first person. This infamous 10K Bitcoin pizza is used as a cautionary tale to warn people to hold on to their Bitcoins, because the low price per Bitcoin back then has since skyrocketed, reaching a maximum value of $70,000. Haha, it’s the world’s most expensive pizza!

    These were the actual pizzas bought for 10,000 Bitcoins in 2010. Today, if you had 10,000 Bitcoins, you’d have a hard time finding enough people with enough money to sell them to for the dollar value they claim to represent.

    Except it wasn’t, really. Bitcoin was just a plaything for nerds back then, which is why the “price” per coin was so low. To cash out your Bitcoins, you had to send them to someone first, then hope they would pay you back in real dollars at an agreed-upon price. This was awkward and involved a lot of trust, the very same trust that crypto was supposed be avoiding in the first place.

    To get around this problem, crypto fans invented “exchanges”. The idea was that people would log on to the exchange and the website would automatically connect buyers and sellers, similar to stock trading websites.

    Agreeing on a price, however, was still difficult. As larger organizations started to buy and sell big piles of Bitcoin, the price would fluctuate wildly. By the time the transaction completed (which took a while, because of the inefficient nature of cryptocurrency itself) the price might be completely different.

    The solution to this was called the “stablecoin”. To obtain one, you gave a real US dollar to one of the exchanges (every exchange had their own coin, for reasons we’ll see later). They gave you back a digital token that everyone agreed would always be worth exactly one dollar. You could easily exchange this stablecoin for Bitcoin or any of thousands of other copycat crypto coins. Then, if the price of your coins went down, you’d just hold on to them. If the price went up, you could convert them back to stablecoins, and then in theory, the exchange could swap them again for the same amount of real money. In theory. After all, the exchanges would always have a big pile of real dollars that people gave them for the stablecoins in the first place, right? Right?

    Unfortunately, none of this was regulated, so there was nothing stopping the exchanges from printing as many new stablecoins as they could get away with, backed by exactly nothing, while claiming that they were fully backed.

    Stop me if this sounds familiar.

    These “exchanges” had now become 21st century digital wildcat banks, who could create their own fake currency out of nothing, charge people real money to buy it, and then make it really really hard to swap it back. They could then "buy" Bitcoins with these fake stablecoins, which would drive up the price of Bitcoin.

    Some of these wildcat banks, like Celsius and Voyager, took the idea even further. They realized that most people never managed to cash out their crypto coins, but just held on to them forever. With the promise of Ponzi-level interest rates as high as 18 percent, they lured new customers in. To get these high rates of return, these crypto banks would first take ownership of the user’s coins, then lend them out to other crypto banks who were doing the same thing. The highest interest rates (up to 20 percent!) were offered by an organization that had its own “algorithmic” stablecoin called “Terra”, that didn’t even pretend to be backed by real money at all. It was backed only by another crypto coin called “Luna”.

    The founder of Celsius, who liked to wear a shirt that said “Banks are not your friends” while running a crypto-based bank that stole everyone’s money.

    None of this made any sense mathematically, and when the price of Luna suddenly dropped to zero, the entire house of cards fell over. Three Arrows Capital, which had a big investment in Terra/Luna, declared bankruptcy and the owners fled to Dubai. Celsius and Voyager, which had big investments in Three Arrows Capital, then declared bankruptcy a month later.

    Most of the money lost was from small investors, some of whom had put their life savings into Celsius, Voyager, or similar companies. Many of these people were poor, and many were living in poor countries. Crypto was sold to these people as a way for them to beat the system, to make real wealth when there were no other opportunities.

    The collapse of the digital wildcat banks wasn’t the only loss for small investors, however. The peak of crypto advertising happened in late 2021, with a barrage of celebrity endorsements, Super Bowl ads, and even renaming of sports stadiums.

    This push was deliberate, and calculated. Millions of people who knew nothing about crypto were convinced that this was the “next big thing” and that they should get in while the getting was good. Bitcoin’s price peaked at $70,000 during this time. The trading was mostly one-way: groups of rich investors selling their Bitcoins in little pieces to poor individuals who were about to become much poorer. The price of Bitcoin then collapsed to around $20,000, where it remains today.

    Yes, Matt Damon, fortune can favor the brave. But it usually favors rich men who know how to convince poor people to give them money.

    Let’s be clear: there were definitely people who made money with crypto. These people were rich bankers who paid themselves millions of dollars to run the exchanges, and sold as many of their own tokens (that they created out of thin air for free) as they could get away with, while they manipulated the market in their favor. And because of the irreversible nature of the blockchain, these transactions can never be rolled back. Thieves and hackers have also used this "feature" of crypto to their advantage.

    Some of these folks are now on the run from the law, but most aren’t. They claim to have just been running a business, and take no responsibility for their actions. Some have bought mansions worth over a hundred million dollars. The Three Arrows Capital guys put a fifty million dollar downpayment on a yacht just before they fled the country.

    As we enter what the industry is calling a “crypto winter”, these companies are laying off workers, cancelling big projects, or just going bankrupt. But their leaders all insist that crypto currencies are still inevitable and are still the future, even though they can’t quite articulate how. They assume that the price of crypto coins will eventually go back up, that the celebrities and Super Bowl ads will return, and they will once again be free to steal from the poor and give to the rich.

    And they might, unless the public decides that enough is enough.

    Comments (1)

    Views: 2999

    Remembering Apple's Newton, 30 years later

    Post #: 291
    Post type: Blog post
    Date: 2022-06-01 18:27:35.000
    Author: Jeremy Reimer
    Tags: Articles

    My new article made the front page of Ars Technica this week! It's about the forgotten orphan of Apple gadgets, the Newton!

    This is my first article on Ars since 2018, so I'm happy to see it's getting a good reception.

    Check it out!

    Remembering Apple's Newton, 30 years on

    Views: 1585