Comedy • Gaming • News • Science & Tech
The Fork Bomb: What it is, how it works, and where it originated
The idea started in 1969... and it's been causing computers to crash ever since.
December 03, 2023
post photo preview
:(){ :|:& };:

That simple line has been crashing systems in the Linux world for years — It is known as the (infamous) “BASH Fork Bomb”.

When run in a GNU/BASH shell, this BASH variant of the Fork Bomb will bring your average Linux system to its knees, lickety-split. A mere handful of characters that can cause a computer to cry “Uncle.”

But what, exactly, is a “Fork Bomb”? How do they work? And where on this green Earth of ours were they first created?

Come with me on a journey into the history, design, and usage of one of the most dastardly ideas in all of computing… of The Fork Bomb!

What is a Fork Bomb?

The idea of a Fork Bomb is simple: Create a piece of code that does one thing and one thing only: replicate running instances of itself. And do so as quickly as possible.

Here, a visual will help drive the idea home.

In this case each Bunny Rabbit represents one instance of the Fork Bomb. Each bunny makes two new bunnies. Quickly. Multiplying like, well, rabbits.

Each of those adorable little bunny rabbits may not take up much RAM… or much CPU time… but imagine 20 of them. Or 1000. Or, like, a bazillion?! That Fork Bomb will continue making running copies of itself just as long as the system allows it to (by continuing to have available memory or not fully crash).

With how quickly each Fork Bomb replicates itself… and the number of copies growing exponentially… you can see how they can become a problem in a hurry. Often causing a system to lock up quicker than you can say, “Maybe I shouldn't have pressed Enter.”

A real-world example… and how it works

Let’s take a look at that BASH version of the Fork Bomb again (as that is one of the most popular and famous examples).

(If you don’t know how BASH scripting works, no worries. I’ll break it down… make it nice and easy.)

:(){ :|:& };:

Ok. So how does this, ridiculous looking, collection of semi-random seeming characters, actually work?

Let’s break that apart into multiple lines to make it all easier to read.

: ( ) {

   : | : &

} ; :

This… is a BASH script function.

But there’s something… weird about it. Note the many usages of “:”? In this case “:” is being used as a function name.

“Why is using “:” as a function name weird,” you ask?

Because, on most UNIX-y systems, it is not allowed to use a character in a function name other than letters and numbers (and underscores). But the GNU version of BASH — which is commonly used on oh-so-many Linux systems — allows : and so many other characters to be used.

Why does GNU allow a “:”? Who knows. GNU be crazy.


Let’s replace the “:” in that BASH script with “rabbit”. That will, in addition to making it run on more UNIX systems, make this a bit easier to read.

rabbit() {
rabbit | rabbit &
}; rabbit

There. So much better. Here we go. Line by line.

Line 1: rabbit() {

That first line does something simple. It defines a function named “rabbit”. That’s it and that’s all.

Line 2: rabbit | rabbit &

Line 2 is the insidious part.

It calls the function named “rabbit”, and sends the output of that function to the function named “rabbit.”

But, here’s the thing, there really isn’t any output of the “rabbit” function. So this is really just a fancy way of calling the “rabbit” function twice… at the same time.

Yeah. The “rabbit” function calls itself, from within itself, then calls itself again.

Oh, and that “&” at the end? That's the BASH way of telling “rabbit” to run in the background.

The net result? Every “rabbit”, makes two new “rabbit”s.

Line 3: }; rabbit

That last nine simply ends the “rabbit” function… and then calls itself.

Note: I highly recommend not running this code on your system unless you do so in a virtual machine. Without taking the proper precautions… this will bring your system to its knees.

Every variation of a Fork Bomb operates in a roughly similar fashion. A small piece of code that creates copies of itself… repeatedly. Thus eternally replicating itself until the system runs out of resources.

The first Fork Bomb

The very first known usage of a “Fork Bomb” was way back in 1969 at the University of Washington.

There, a Burroughs B5500 computer had been installed three years earlier. A big computer that provided the first time-sharing system on the University of Washington campus (through a series of dial-up modems running at 110 baud). This was also the first computer at the University of Washington to provide disk storage for user files. Pretty cool.

A Burroughs B-5500. Not the one at the U of W, though. Classy looking machine, right?

On that big, beautiful Burroughs B-5500, someone reportedly wrote a small bit of code that would make two copies of itself — over and over again — until the memory of the machine was full and the entire system would crash.

That intrepid programmer named that tiny little program, appropriately: “RABBITS”

Fun historical tidbit: RABBITS for the Burroughs B-5500 was not, technically the first computer virus. That distinction appears to go to the 1971 “Creeper Virus”. While RABBITS predated Creeper by a good two years… RABBITS doesn’t really act like a virus. It requires a user to explicitly run it in order to cause its own mischeif.

The 1974 “Wabbit”

A similar piece of code was written on an IBM System/360, a few years later, in 1974. Clearly inspired by “RABBITS”, this new code was called “Wabbit” and was, as Elmer Fudd might say, quite “wascally”.

The IBM System/360 Model 22 control panel. That thing was awesome looking.

Legend has it that the individual who created “Wabbit” ran the program on the System/360 at work… causing the entire system to crash. The man, again according to legend, lost his job.

Fun bit-o-trivia: As years went on any program that would self-replicate when ran by the user… but wasn’t actually a virus… would become known as a "wabbit.” in honor of this particular event.

Some other variations on the Fork Bomb

There have been Fork Bomb type bits of code written in just about every language you can imagine. At the beginning we covered how to write a Fork Bomb in BASH. But, because this sort of mayhem is simply too much fun, below you will find code to create similar bits of functionality in several other programming languages.


Just… you know… try not to get yourself fired.

Fork Bomb in C:

int main(void) {
for (;;) {
Fork Bomb in Python:

#!/usr/bin/env python

    import os
    while True: os.fork()

Fork Bomb in Ruby:

#!/usr/bin/env ruby
loop { fork { bomb } }
community logo
Join the Lunduke Community
To read more articles like this, sign up and join my community today
What else you may like…
February 15, 2024
Mozilla Miracles: New CEO, Layoffs, & Actual Press Coverage
February 10, 2024
Linux Sucks 2024: The Trailer

Because... Linux Sucks deserves a trailer. 😎

This is mostly for letting people know about it on other platforms... but wanted to share with you amazing Locals nerds too.

February 09, 2024
Linux Sucks 2024

"This is going to suck more than anything has sucked before."

Recorded live on February 8th, 2024.

November 22, 2023
The futility of Ad-Blockers

Ads are filling the entirety of the Web -- websites, podcasts, YouTube videos, etc. -- at an increasing rate. Prices for those ad placements are plummeting. Consumers are desperate to use ad-blockers to make the web palatable. Google (and others) are desperate to break and block ad-blockers. All of which results in... more ads and lower pay for creators.

It's a fascinatingly annoying cycle. And there's only one viable way out of it.

Looking for the Podcast RSS feed or other links? Check here:

Give the gift of The Lunduke Journal:

The futility of Ad-Blockers
November 21, 2023
openSUSE says "No Lunduke allowed!"

Those in power with openSUSE make it clear they will not allow me anywhere near anything related to the openSUSE project. Ever. For any reason.

Well, that settles that, then! Guess I won't be contributing to openSUSE! 🤣

Looking for the Podcast RSS feed or other links?

Give the gift of The Lunduke Journal:

openSUSE says "No Lunduke allowed!"
September 13, 2023
"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044

This episode is free for all to enjoy and share.

Be sure to subscribe here at to get all shows & articles (including interviews with other amazing nerds).

"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044
February 23, 2024
post photo preview
What was the first PDA?
It wasn't the Palm Pilot. Nor the Newton. Let's keep going back to find the answer...

It’s always fun to look at who was the “first” to do something amazing.

Who made the first computer shell? Who was the first computer programmer? What was the first smartphone?

Today, let’s ask another simple question: What was the first PDA (Personal Digital Assistant)?

What (exactly) is a PDA?

To figure this out, first we need to clearly define what a PDA actually is. While most of us can identify a PDA using the tried and true “I know one when I see one” approach, for historical purposes… we need to be a little more scientific about it.

Here is the official, Lunduke Journal Approved (tm) definition of “PDA”.

PDA - [ pē′dē-ā ]

Short for personal digital assistant. A lightweight, handheld computer, which can fit in a large pocket, generally used for storing information such as addresses or schedules.

Using this definition means we can include many different form factors — including the classic “handheld, touchscreen” style (such as the Palm Pilots), as well as the “palmtops” (such as the HP LX or Jornadas).

They key is that it is “handheld”, “pocket sized”, and a “computer”. And, of course, it must “assist” the user in some way. Storing notes, contacts, or appointments. Running custom software. That sort of thing.

But, and here is a key bit, calculators don’t count. The PDA must be, first and foremost, a computer.

It came before the 1990s

Many people believe that the Palm Pilot was the first PDA. Arriving on the scene in 1996… it was, in fact, far from the first.

Others (including Time Magazine) proclaim the Apple Newton, released in 1992, to be the first PDA.

Also, wrong. The Tandy Zoomer beat the Apple Newton to market by quite a wide margin. Yet that device is also not the first PDA.

Fun Historical Side-Note: Even though the Apple Newton was not the first device of this type (not by a long-shot)… Apple has the distinction of having coined the term “Personal Digital Assistant.” Apple CEO, John Sculley, made the first public usage of the phrase during a January 7, 1992 presentation at the Consumer Electronics Show in Las Vegas, Nevada.

1989’s Atari Portfolio? Surely that would be the first? It was made in the ‘80’s for Pete’s sake!

Nope. It wasn’t that one either.

Was it 1984’s Psion Organizer?

In 1984, the UK software company, Psion, made the jump into hand-held computers with the “Organizer”.

It had a distinctly “Calculator-like” look to it… but was most definitely a full computer.

The Psion Organizer from the November, 1984 issue of BYTE.

Note the full keyboard (with the letters laid out alphabetically instead of QWERTY). Even had a “Space” key.

The Organiser was powered by an HD6301X — an 8-Bit CPU that was a variant of the Motorola 6800 — clocking in at a whopping 0.9 MHz. Yes. Zero-point-9.

2KB of RAM, 4KB of ROM, and a single row (alpha-numeric) LCD.

Psion went so far as to declare the Organiser to be “The world’s first practical pocket computer.”

One extra cool bit: The Organiser had small memory cards — dubbed the “DATAPAKS” — which acted as removable storage.

These “DATAPAKS” were truly fascinating. They came in two versions — 8KB or 16KB — and were “Ultra-Violet-Erasable Programmable Read-Only Memory”. These cards were “write-once”. Meaning you could write data to the card… and then that data cannot be easily deleted.

Want to erase your DATAPAK and start it over from a clean slate? That’s where the “Ultra-Violet-Erasable” part comes in. You could take in your used DATAPAKS to a Psion dealers, who were supplied with an “ultra violet eraser”, and they could (effectively) wipe the data off your cards.

The 4KB of ROM on the Organizer did not include much in the way of any real operating system. Simply small applications (a clock, a calculator, and a flat database).

That said, additional software was sold on DATAPAKS — including a programming language known as “POPL”, and various math and finance tools written in the POPL language.

From the Psion Organiser brochure.

Impressive! Fascinating! Weird! And while it lacked some of the features of later PDAs… it definitely counts as one!

But… was it the first? Nope. Definitely not.

How about 1980’s Tandy Pocket Computer?

Let’s go all the way back to July of 1980.

Empire Strikes Back and Caddyshack were dominating the box office and Funkytown ruled the airwaves.

And a little company called Tandy released the TRS-80 Pocket Computer (also known as the “Sharp PC-1211”).

This little, hand-held beauty was powered by two 4-Bit CPUs (the SC43177 and the SC43178) clocking in at 256 kHz. That’s 1/4 of a MHz.

1.5KB of RAM. A 24 character LCD screen. A QWERTY keyboard plus a 10-key number pad. Full BASIC programming language, built-in. Which made it easy to make it do… just about whatever you wanted.

All with a battery life of between 200 and 300 hours. Seriously.

There was, however, no permanent form of memory storage. For that you needed to purchase a cassette interface (which was pretty common among various computers of the time).

Considering this beast came out in 1980, it is surprisingly svelte. Weighing only 6 ounces (roughly the weight of an iPhone) and — while not super tiny — it is small enough to fit in a large coat pocket. (You definitely won’t be putting the Pocket Computer in your jeans, however.)

Despite the limitations… it definitely qualifies as a PDA.

The Conclusion!

After careful consideration, The Lunduke Journal is prepared to declare a winner in our search for the world’s first PDA…

The Radio Shack / Tandy TRS-80 Pocket Computer.

It is, without question, the first computer to meet our definition of a “PDA”. And, besides that, it is simply a really cool little computer.


Because the universe is never quite as cut and dried as we’d like it to be, what follows are a conclusive list of “firsts” within the PDA world.

  • The 1st PDA ever — 1980’s Tandy Pocket Computer

  • The 1st PDA with built-in long-term storage — 1984’s Psion Organiser

  • The 1st PDA that looked and acted like a modern PDA — 1992’s Tandy Zoomer

  • The 1st PDA to actually use the term “PDA” — 1992’s Apple Newton

  • The 1st PDA that was also a cell phone — 1994’s IBM Simon

There you go. Now, if you see someone say something like “the first PDA was the Apple Newton”… you can set them straight. (I’m looking at you, Time Magazine.)

Read full Article
February 22, 2024
post photo preview
The Great Tech Industry Demographic Survey of 2024

There are a great many questions for which we simply don't have the answers.

  • Is there a correlation between a person's religion... and which text editor they prefer?
  • How about a relationship between the year they were born... and if they use Tabs or Spaces?
  • Are people who program in Rust more or less happy than people who program in Python?

Do you know the answers to those questions?  Because I sure don't!

We need these answers.

And now we have a way to get them.  Definitively.

The Great Tech Industry Demographic Survey of 2024

This survey is massive -- containing questions on everything from Operating System preferences to religion and politicsProgramming languages and... workplace discrimination.  Seriously.

All over the map!

But, in the end, we'll be able to glean a huge amount of understanding about the current state of the entire Tech Industry (or, at the very least, the people within it).

  • All answers are 100% anonymous (no account is needed).
  • All questions are optional (only answer the ones you feel comfortable with).
  • The questions are all presented in random order.
  • All of the (anonymous) results will be published.

Take the survey.  Should take no more than about 10 minutes.

In years past, The Lunduke Journal has conducted similar (but far simpler and smaller) surveys.  For those, we managed to get responses from thousands of computer nerds -- from a huge number of communities.

For this 2024 survey, let's go even bigger.  Spread it far and wide.  To every group of computer nerds on planet Earth -- nerds with every variety of software and programming language preference.  Of every religion and political allignment.

Every computer nerd.  Everywhere.

So.  When you have a few minutes to spare (in between Scrum meetings and 1-on-1's with your Team Lead) take the survey.  Then send it (or this article) to your friends.  Post it to whatever forum or social media you use.

The more nerds who take this survey, the more accurate (and interesting) the results will be.  Some of the results will be goofy and ridiculous (do Gen X'ers prefer Emacs?)... while others will be far more serious (which groups face the most discrimination within the Tech Industry?).

But, for all of it, I can't wait to find out the results!

Read full Article
February 21, 2024
post photo preview
The Tandy Zoomer -- The x86 PDA before the Palm Pilot
A 1992 handheld, with multitasking, that could access AOL. Wild.

The 1996 release of the first Palm Pilot was, in the minds of many, the first truly successful launch of a PDA (Personal Digital Assistant). But the seeds of the Palm Pilot were planted several years earlier.

In fact the company behind the Palm Pilot, “Palm Computing Inc.”, was founded back in 1992 for the sole purpose of creating software for another just released PDA… the Tandy Zoomer.

The Tandy Zoomer

Also known as the “Tandy Z-PDA”, “Casio Z-7000”, and “AST GRiDpad” (all essentially the same hardware sold by different brands) was a truly groundbreaking — and fascinating — device.

Fun fact: The name “Zoomer” was used as a shortened, slang-y version of “consumer”. Get it? “Conzoomer”? Seriously. That’s the reason behind the name.

The Zoomer (aka “Z-PDA”) with the address book. Note that fields can be ASCII text or doodles.

Let's dive into the hardware, Operating System, and software stack... which directly led to the creation of the Palm Pilot.

Only for Supporters
To read the rest of this article and access other paid content, you must be a supporter
Read full Article
See More
Available on mobile and TV devices
google store google store app store app store
google store google store app tv store app tv store amazon store amazon store roku store roku store
Powered by Locals