Maker Faire 2013

I’ve been taking Miles to Maker Faire every year since it launched in 2006, making this our 8th. It’s different every year – sometimes better, sometimes worse. No question it’s become more popular (for better and for worse) and less dangerous over time. With every passing year, there are fewer exhibits that can take your head off, singe your eyebrows, or help you lose a limb. And there’s an increasing emphasis on crafty stuff, things you can do with kids, etc. The maker movement has become more mainstream, less Burning Man, and more accessible. But there’s still no better place to experience such an awesome array of things to do with your kids, concentrated in one place. Despite the crowds and the impossible traffic, we still consider it worth going.

Tough Art

A few highlights from this year’s event:

  • Giant vat of the stuff they fill disposable diapers with. Neither wet nor dry, it feels surreal and rubbery to the touch. Amazing in large quantities.
  • The usual amazing Tesla Coil demonstration
  • Guy playing a homemade didgeridoo/drum kit rig
  • Cupcake cars driving around
  • Biggest bin of iron filings and rare earth magnets I’ve ever seen
  • Immense arrays of bubbles being dispensed from long loop/string invention
  • Giant replica of Milton Bradley’s original Mousetrap game, including 400-lb steel bathtub and real bowling balls.
  • Adam Savage in person!
  • Miles got to make a bizarre vuvuzela-type noisemaker
  • Bike-like vehicle driven by the motion of the rider pumping up and down rather than pedaling
  • Solar powered cars
  • Mind-blowing 3D printer creations
  • Hands-on metal stamping with 1-lb brass hammer
  • Pedal-powered llama-shaped cars with articulated head
  • The usual assortment of crazy bicycle-like inventions
  • Entire city made of tightly wrapped masking tape (hard to describe, but incredible)
  • Make your own steampunk goggles booth (for kids)
  • Biggest paella cooking trays you’ve ever seen
  • Blue Man Group-style PVC acoustic marimba
  • Stilt walkers everywhere

… and we didn’t even get to see 50% percent of it.

Mousetrap

Flickr set

Building a GPA Calculator in Angular.js

I’m awed almost daily by the simplicity and elegance of Angular.js. By eliminating all of the DOM access syntax we’ve come to take for granted in jQuery and friends, and by giving any element on the page a live, two-way data binding relationship with your business logic, Angular lets you create anything from simple widgets to full-on Single Page Applications with the fewest lines of code possible.

I recently created a live GPA calculator as part of a large SPA I’m working on in my day job, but have boiled it down to its bare essence for this widget demo. Try changing the dropdown options here and watch the GPA calculation change in real-time:

View html | View script

In this example, we assume that a student’s current course load comes in over the wire with course names and units. We iterate over the course set and, for all courses being taken for a letter grade, multiply the numeric weight of a predicted grade by the number of units. Those scores get added up, then divided by the total number of units. When a new grade estimate is selected from a dropdown, we need to recalculate the whole aggregate. Let’s step through it.
Continue reading “Building a GPA Calculator in Angular.js”

Barracuda’s RBL Stops Spam Cold

barracudaI’ve run a small web and mail hosting business on the side for around a decade. The hosting platform I use (cPanel) comes with spamassassin and support for a couple of real-time blacklists (zen.spamhaus.org and bl.spamcop.net) built in. On top of that, I’ve compiled in Razor, DCC, and ClamAV.

But with spam control settings set to their highest levels, I’ve struggled over the years to keep fall-through spam from reaching the mailboxes of my power users – the spammers  just move too fast,  are too crafty. Spams that look the same from day to day actually have quite different signatures, and manage to evade my arsenal of tools. It’s been incredibly frustrating.

A few months ago, I came up with a set of techniques to let desktop mail clients train the server-side Bayes database about what’s spam and what’s ham. That worked well for a couple of months, but eventually the Bayes dbs became polluted with false hits (probably a result of users incorrectly marking / not marking messages). Is it even possible to operate as an organization smaller than Google and still guarantee low spam levels for users?

Real-time blacklists (RBLs) tap the hive mind – the collective judgement of thousands of human users spread around the world, marking ham and spam every minute of every day. When all of those judgements are collected into a single, continuously evolving database that any host can tap into, it should be possible to create an almost perfect blockade. We know that Akismet has made their RBL work amazingly for weblog comment spam (as I write this, Akismet claims to have blocked 54 million comment spam today alone).

RBLs always seemed like the smartest way to go, but spamhaus and spamcop sure weren’t getting the job done. Doing research in the cPanel forums a few days ago, I discovered that Barracuda Networks, who make a series of firewall appliances for enterprises, maintain their own RBL and provide free access to it for organizations like mine.

Decided to give it a whirl and was blown away. Within 24 hours, the amount of un-tagged spam getting through to my users had dropped to a trickle. I haven’t found an anti-spam tool this effective since… ever. It took almost no effort to set up, and will require almost no effort to maintain in the future. Super stoked.

To the great engineers at Barracuda: The internet thanks you.

Update: A couple of months later, I no longer feel quite so positive about Barracuda. Yes, it’s definitely a help, but not the silver bullet I called it above.  I do keep Barracuda running, but overall, spam numbers are worse than ever, and there’s tons slipping through that neither SpamAssassin nor Barracuda are catching.