CLOSE
Original image

And another thing about spam

Original image

I've been reading about spam a lot lately -- also, about SPAM, which is how Hormel capitalizes it -- because I'm writing about the origins of both for one of our upcoming books. Today, let's focus on the computer-related stuff, since that's what I'm so up in arms about these days:

In 1970, the members of Monty Python's Flying Circus came up with one of their most beloved and inadvertently prescient sketches, in which a customer in a restaurant desperately tries to order something that doesn't contain SPAM, only to find that pretty much everything on the menu features it. Also in the course of his ill-fated dinner, a nearby party of Vikings "“ hey, we did say it was Monty Python "“ breaks into song: "SPAM, SPAM, SPAM, SPAM, SPAM, SPAM, SPAM, SPAM, lovely SPAM! Wonderful SPAM!" Clearly, repetition is funny. Also, and more relevant for the relationship between SPAM and email, repetition is annoying.

Apparently, the first people to make the connection between repetitive SPAM and repetitive email were enormous geeks, by which we mean to say they were players in "multi-user dungeons," or very early predecessors of games like World of Warcraft. Brad Templeton, who has done meticulous research on the topic, writes:

"The term spamming got used to apply to a few different behaviors. One was to flood the computer with too much data to crash it. Another was to "˜spam the database' by having a program create a huge number of objects, rather then creating them by hand. And the term was sometimes used to mean simply flooding a chat session with a bunch of text inserted by a program (commonly called a "˜bot' today) or just by inserting a file instead of your own real time typing output. "¦ When the ability to input a whole file to the chat system was implemented, people would annoy others by dumping the words to the Monty Python SPAM Song. "¦ Another report describes indirectly a person simply typing "˜spam, spam...' in a MUD with a keyboard macro until being thrown off around 1985."

Early spam consisted of mass invitations to parties, broad anti-war messages ("THERE IS NO WAY TO PEACE. PEACE IS THE WAY"), and appeals for college tuition funding. The classic "MAKE MONEY FAST" appeared as a USENET post in the '80s, Templeton says, but as a one-off, not a constant barrage of email. Then, 1994, USENET users were warned of a "Global Alert for All: Jesus is Coming Soon" in every single newsgroup. (Hey, if Jesus were really coming, wouldn't you want to make sure everyone knew?) Until then spam had at least been somewhat avoidable. What a quaint era that was.

On the Monty Python menu:

* Egg and bacon
* Egg, sausage and bacon
* Egg and SPAM
* Egg, bacon and SPAM
* Egg, bacon, sausage and SPAM
* SPAM, bacon, sausage and SPAM
* SPAM, egg, SPAM, SPAM, bacon and SPAM
* SPAM, SPAM, SPAM, egg, and SPAM
* SPAM, SPAM, SPAM, SPAM, SPAM, SPAM, baked beans, SPAM, SPAM, SPAM and SPAM
* Lobster thermidor aux crevettes with a Mornay sauce served in the Provençale manner with shallots and aubergines, garnished with truffle paté, brandy and with a fried egg on top and SPAM

Original image
iStock // Ekaterina Minaeva
technology
arrow
Man Buys Two Metric Tons of LEGO Bricks; Sorts Them Via Machine Learning
May 21, 2017
Original image
iStock // Ekaterina Minaeva

Jacques Mattheij made a small, but awesome, mistake. He went on eBay one evening and bid on a bunch of bulk LEGO brick auctions, then went to sleep. Upon waking, he discovered that he was the high bidder on many, and was now the proud owner of two tons of LEGO bricks. (This is about 4400 pounds.) He wrote, "[L]esson 1: if you win almost all bids you are bidding too high."

Mattheij had noticed that bulk, unsorted bricks sell for something like €10/kilogram, whereas sets are roughly €40/kg and rare parts go for up to €100/kg. Much of the value of the bricks is in their sorting. If he could reduce the entropy of these bins of unsorted bricks, he could make a tidy profit. While many people do this work by hand, the problem is enormous—just the kind of challenge for a computer. Mattheij writes:

There are 38000+ shapes and there are 100+ possible shades of color (you can roughly tell how old someone is by asking them what lego colors they remember from their youth).

In the following months, Mattheij built a proof-of-concept sorting system using, of course, LEGO. He broke the problem down into a series of sub-problems (including "feeding LEGO reliably from a hopper is surprisingly hard," one of those facts of nature that will stymie even the best system design). After tinkering with the prototype at length, he expanded the system to a surprisingly complex system of conveyer belts (powered by a home treadmill), various pieces of cabinetry, and "copious quantities of crazy glue."

Here's a video showing the current system running at low speed:

The key part of the system was running the bricks past a camera paired with a computer running a neural net-based image classifier. That allows the computer (when sufficiently trained on brick images) to recognize bricks and thus categorize them by color, shape, or other parameters. Remember that as bricks pass by, they can be in any orientation, can be dirty, can even be stuck to other pieces. So having a flexible software system is key to recognizing—in a fraction of a second—what a given brick is, in order to sort it out. When a match is found, a jet of compressed air pops the piece off the conveyer belt and into a waiting bin.

After much experimentation, Mattheij rewrote the software (several times in fact) to accomplish a variety of basic tasks. At its core, the system takes images from a webcam and feeds them to a neural network to do the classification. Of course, the neural net needs to be "trained" by showing it lots of images, and telling it what those images represent. Mattheij's breakthrough was allowing the machine to effectively train itself, with guidance: Running pieces through allows the system to take its own photos, make a guess, and build on that guess. As long as Mattheij corrects the incorrect guesses, he ends up with a decent (and self-reinforcing) corpus of training data. As the machine continues running, it can rack up more training, allowing it to recognize a broad variety of pieces on the fly.

Here's another video, focusing on how the pieces move on conveyer belts (running at slow speed so puny humans can follow). You can also see the air jets in action:

In an email interview, Mattheij told Mental Floss that the system currently sorts LEGO bricks into more than 50 categories. It can also be run in a color-sorting mode to bin the parts across 12 color groups. (Thus at present you'd likely do a two-pass sort on the bricks: once for shape, then a separate pass for color.) He continues to refine the system, with a focus on making its recognition abilities faster. At some point down the line, he plans to make the software portion open source. You're on your own as far as building conveyer belts, bins, and so forth.

Check out Mattheij's writeup in two parts for more information. It starts with an overview of the story, followed up with a deep dive on the software. He's also tweeting about the project (among other things). And if you look around a bit, you'll find bulk LEGO brick auctions online—it's definitely a thing!

Original image
quiz
arrow
Name the Author Based on the Character
May 23, 2017
Original image
SECTIONS
BIG QUESTIONS
BIG QUESTIONS
WEATHER WATCH
BE THE CHANGE
JOB SECRETS
QUIZZES
WORLD WAR 1
SMART SHOPPING
STONES, BONES, & WRECKS
#TBT
THE PRESIDENTS
WORDS
RETROBITUARIES