farmdev

Thoughts on The Future

The North Star Exercise

How do you improve bad software architecture? Introducing low risk, incremental changes is pretty straight forward but improving architecture often involves bold leaps such as complete rewrites. Where do you start?

Here's a strategy I've been using: Imagine the future you want without worrying about how to get there. I'm calling this a North Star Exercise.

read article

Bluecrew: Connecting People To Jobs

When studying Sound and Film at art school, I spent most weekends renting as much equipment as possible, wheeling it into my dorm room, and staying up late creating work. I've been called a workaholic for this kind of behavior and maybe it's true; I really love working on meaningful projects. I also realize that it's an honor and privilege to work on projects I care about.

After Mozilla, I'll be joining Bluecrew full time to help build a platform for working.

Bluecrew creates apps for on-demand staffing (temp work) but with a twist: workers receive W-2 status and everything that comes with it. This includes minimum wage protection, overtime / sick pay, workers' comp., eligibility for healthcare, etc. Bluecrew connects people to jobs like light industrial work, hospitality, and logistics, providing opportunities at varying skill levels.

read article

Thank you, Mozilla

I originally sent this as an all-company email. Below is an edited version.

After 9 fantastic years I’ve decided to move on from Mozilla. Here are some reflections about what makes Mozilla such a special place to work at.

My first commit was a simple right to left localization fix on addons.mozilla.org -- wow, I couldn't believe I was shipping a web app used in 40 languages! It has been an honor to make such a powerful impact in so many people’s lives all over the world. Thanks to Mozilla for inviting me to be a part of their unique and crucial mission. Since then I've had the chance to work on many different projects and technologies, most recently in UI engineering.

Working in the open has been fascinating to me...

read article

Ramblings

Oh, hey! I almost forgot I have a blog. I wanted to write a quick note about where you can find stuff I write.

read article

Shame The Thieves or Fix the Music Model

David Lowery wrote a piece on how downloading music is hurting musicians (which is a response to Emily White's piece on admitting to not buying music). Here is my response.

Music is a really interesting "product," especially when distributed digitally for $0.001 cents per download (that's my snarky guess at the production costs of a download: bandwidth, storage, etc). The real production costs are for the time put in by the artist, studio fees, and creativity. Besides the creativity part, that formula sounds a little bit like the FDA drug market, right? It costs about $0.001 cents to manufacture a pill so the hefty price tag goes to recoup the money spent on drug research. Or does it? Pharmaceuticals is a messed up industry...

read article

Let's Buy Lobbyists To Save The Internet

At ORD Camp last weekend Ben Huh led a discussion about how we -- a group of geeks and artists -- can save the Internet. We won the fight against SOPA and PIPA for now but those laws will just sneak in through some other bill. Will wikipedia be there to black out again in protest? The fight is nowhere near from over and we have to get organized...

read article

What's Happening at Mozilla?

Most people at Mozilla are remote so each quarter we sync up face to face as a group for an all-hands meeting. There are over 600 employees! We of course sync up in smaller groups more frequently but this is a chance to see what's going on across the entire Mozilla horizon.

So what's happening at Mozilla? We're on the cusp of a huge shift towards an open web platform. That is, something more than a web browser -- something you can run "native" apps on. There's a lot of work left to do, of course. Here is a random dump of interesting projects in the works...

read article

How Do We Open Up The Social Web?

The release of Google Plus presents a unique opportunity to open up the social web. Why? Because it's a compelling product -- it's intuitive and fun with innovative features like circles, hangouts, sparks, etc. In many ways it's a clone of Facebook but that's just a reinforcement of what Facebook (and before that, Friendster) got right. If Plus continues to succeed then the optimist in me envisions this as a golden opportunity! ...

read article

Music Everywhere: Amazon Cloud Player

A few services have been popping up lately that let you stream music from any computer or device (the so called "cloud"). Amazon just released theirs, uncreatively named Cloud Player.

I'm pretty excited about this one because it's the first I've seen to actually offer sane, reasonable pricing ...

read article

How To Achieve True Privacy On The Web: DOMCrypt

The Internet was invented so that data could be decentralized and liberated. Well, so much for that idea. With the rise of services such as Facebook and Twitter we are back to the original mainframe problem: everything is stored and controlled by a central authority. Ironically, today's "to the cloud" meme is making us depend on central authorities even more.

So what about data privacy? In this centralized model we go about our online lives constantly posting data to all these different servers that we trust...

read article

What The New Open Web Can Do: Firefox 4 Demos

Firefox 4 is near the end of its beta cycle but what is so special about this release? Why not see for yourself on the new demo site, the Web of Wonder (requires Firefox 4 beta but some demos do work in Chrome and Safari). I'll be honest, as a web developer, the new power of HTML5, CSS3, SVG, WebGL, etc totally blows my mind...

read article

The Promise of the Cloud

As web developers we are faced with this problem: how do we scale up our code to handle high traffic? A lot of time and engineering goes into this problem -- time to simulate the traffic we expect and add servers to our cluster, cache heavy database access, etc, in anticipation of the load. Time is precious. This time could be spent optimizing the usefulness of our web product and creating interesting content. No one really congratulates you when a website works, they expect it to work.

When Google App Engine was released their pitch was...

read article

I've Joined the Web Dev Group at Mozilla

Whenever I'd hear about someone from the Python community getting hired by Mozilla I'd get really excited because I knew they'd continue to share and collaborate in the open source world that I was a part of. So here I am about a month into joining Mozilla myself to work with the WebDev team. Everything Mozilla does is right out in the open: ideas are posted on blogs, code is committed to public repositories--free to use, free to fork, etc. They take a firm stance that everything you do on the web should be free and open even to the point where the new Firefox 4 audio API (which is amazing) doesn't even support the patented, closed MP3 format despite its ubiquity.

This transparent approach to technology is really powerful...

read article

CHIRP Radio Is Looking For Android Developers

CHIRP Radio in Chicago is looking for someone to help us build a custom Android application so that our listeners can have a better experience on their Android phone. There are already a few Android apps for radio but they are clunky. Also, we have some plans to better engage listeners on phone apps with currently playing tracks, click-to-request-a-song, and other ideas like that.

We already have a pretty slick iPhone application created by volunteer John Carlin and after only a few months it already has 1,000+ downloads...

read article

Python Package Index (PyPI) Mirrors

Most deployment systems depend on PyPI, the Python Package Index, for fetching and installing dependencies. Although performance and reliability has greatly improved, there are still days when you may find PyPI down and thus are unable to deploy through the normal fashion.

Finally, there is now a concerted effort to create official mirrors of PyPI that everyone can use (see PEP 381). The mirrors are pretty simple--they're not full blown package indexes--and you can already start using them for experimentation. Also, thanks to Richard Jones, Martin Löwis, Guido, and others at EuroPython, my half-baked idea of using Google App Engine as a PyPI mirror has been resurrected! I don't know if it's fully implemented yet but you can try it out at pypi.appspot.com. App Engine seems like a logical place for a mirror due to its scalability. However, I am skeptical of how well it will perform. App Engine still has a long way to go with regards to stability.

To get involved with the mirroring project you can follow the discussions on the Python Catalog SIG mailing list. The next step will be modifying clients to discover and fallback on available mirrors.

read article

Why you should NOT license your code as GPL

read article

The Python Packaging Problem

read article

Googlebot's Fatal Flaw And How You Can Fix It (or Get Rich Trying)

read article

Python 3.0 On Mac OS X (alongside 2.6, 2.5, etc)

read article

Are you hiring web developers?

read article

Automated Model Based Testing of Web Applications (GTAC 2008)

read article

Taming The Beast: How To Test an AJAX Application (GTAC 2008)

read article

The Future of Testing (GTAC 2008)

read article

When Online Advertising Actually Works

read article

Adrenallin For The Brain

read article

It's Time to USE The Web : Mozilla Labs Releases Ubiquity

read article

Making Erlang indentation-sensitive

read article

PyPi (Cheeseshop) on Google App Engine

read article

Software is written by hand

read article

How To Get Started Writing Open Social Applications

read article

GTAC Highlights Part 1 - Selenium is Alive and Well, Model Based Testing Is Smart, And...

read article

Humans are here to stay!

read article

Why People Don't Use Hand Dryers

read article