Mike Speegle

Hey folks! It’s the holiday season, the goose is getting fat, the decorations are filling the air with glimmery goodness, and the yeti is plodding through the snow with gifts for all its web-loving friends.

But oh no! What if it doesn’t know where to go?!

The yeti could shower its gifts onto the twitters, sure, but then how would it know you received it? It could leave it on this here blog, but what if–gasp–you FORGET? You might accidentally leave the yeti’s gift out in the cold, cold snow where it could develop abandonment issues.

Continue reading »

Philipp "Fippo" Hancke

There’s a lot of talk about this topic of “the web we want,” and a lot of it has focused around WebRTC lately.

I have been working with WebRTC since mid-2012, both in the Chrome and Firefox browsers, as well as the native webrtc.org library. So far I have filed more than sixty issues in the WebRTC project issue tracker and the Chrome bugtracker. I’m especially proud that I’ve crashed the production version of Chrome eight times.

I am among the top non-Google people to file WebRTC issues. And I managed to get quite a few of them fixed, too. I visited Google’s Stockholm office in September and had a conversation with the team there about how I use the issue tracker and how that process works. Full disclosure: I got a t-shirt (even though it turned out to be too large). And I even started reviewing the Chrome WebRTC release notes before they’re sent out.

Continue reading »

Nathan "Nlf" LaFreniere

For those of you who don’t know, hapi is a web framework with a rapidly growing community led by Eran Hammer.

Over the last month, a lot of work has gone into it to prepare for the release of version 8.0.0. hapi 8 represents the biggest release since the start of the framework, and with it come quite a few changes.

No more packs

That’s right, those confusing pack things are gone. If you used them, though, don’t worry. The functionality still exists, just in different ways. Instead of a pack that contains servers, we now have a server that contains connections. You can still create a server with multiple connections, but if you only need one; everything will feel much more straightforward and intuitive.

Continue reading »

Mike Speegle

As a semi-official part of the &yet Blog Team and a super-official, semi-professional antagonizer, I spend a lot of time kicking in office doors and demanding that people write things. Some of those folks (once they’ve come to the realization that I will not stop making this pose in their doorframe)


…will buckle down and whip out some words about JavaScript or Node or NodeScript or JavaNode or BackBonemBerGular or whatever in a jiffy, and if only to dislodge my presence from their immediate vicinity for one more day. Others flatly refuse, and that’s okay too.

Continue reading »

Sarah J. Bray

Despite how we mostly share what we’ve learned about making great software, software really isn’t the point of what we do at &yet. Writing code and designing interfaces and helping build software products and teaching what we know is all just an excuse to spend time on what we really care about – which is people.

Getting to be with our favorite people while we figure out challenging, interesting problems together is the whole point. If we were good at building ocean liners, that’s what we’d be doing. It just happens that we’re good at building software.

Continue reading »

Mike "Bear" Taylor

You’re looking at your todo list and pondering what code to write during one of the brief moments of free time that appear on your daily schedule, when all of the sudden you get a message in team chat: Is the site down for anyone else?

It can be a frustrating experience, but never fear; you’re not alone. We here at &yet experienced this type of outage once before, and then again this week. In fact, nearly every operations team has experienced at least a variation on the above nightmare. It is just a matter of time before you have to deal with people thinking your site or service is down when the problem is really with the Domain Name Service (DNS). Even shops that spend a lot of money to work with DNS vendors who themselves have some serious redundancy and scale will eventually fall prey to an orchestrated Distributed Denial of Service Attack.

Continue reading »

Philip Roberts

This is how I’ve felt about every project I’ve ever done.


Starting a project is fun. There’s infinite possibility. There’s no pressure. You haven’t messed it all up yet.


The middle of a project is pretty good, too. The boilerplate stuff is done. There are still some hard little nuggets of problems to work on and find creative solutions to. Some bits are starting to get polished, which is fun. There’s no pressure to finish yet.


The end is a nightmare. The pressure (internal or external) to ship it increases. There’s still a lot to do, and a lot of tiny odds and ends, which are really hard to focus on. There are often still some big questions or pieces of work, that may or may not need to be fixed before it ships; but there’s no way to be sure.

Continue reading »

Adam Brault

Six years ago, around this time of year, I met this turkey for the first time.

It was on a flyer for a little local music venue called The Red Room that had received quite a bit of acclaim. I’d heard of the venue, but hadn’t been there yet. I hadn’t met anyone who’d been to it yet, so somehow it wasn’t really real.

The flyer sat on the counter of a tiny print shop on the far side of Pasco. I say “shop,” but this was a warehouse. I could hear the giant analog four-color press churning out Spanish-language phone books, going “chkunk-shhhh-chkunk-shhhh-chkunk!” faster than I could possibly onomatopoeticate.

Continue reading »

Mike "Bear" Taylor

It’s one thing to have a web application in production that requires active monitoring (you are monitoring it right?), but it’s another issue completely when that web application contains a “contact us” form. All good teams will use various tools to gather emails so they can manage their subscriber lists appropriately, and that’s the rub; what happens when code changes in the app that impacts the form?

Nothing – why? Because you will be blissfully unaware your form is failing unless you test it.

Testing a web form is what we are going to demonstrate using Python and the Mechanize library. Mechanize allows you to load a page, inspect any forms on the page and then manipulate the form just as a user would.

Continue reading »

Internet "Luke" Karrys

Last month at JS.LA, Internet “Luke” Karrys gave a great introduction to Ampersand.js.

Ampersand.js is a highly modular, loosely coupled, non-frameworky framework for building advanced JavaScript apps.

We’ll let Luke explain:

Ampersand.js: The Non-Frameworky Framework from JS.LA on Vimeo.

That was awesome. Way to go, Luke! If you want updates on more awesome stuff like Ampersand.js, why not sign up for our mailing list? Details below.

Continue reading »