GA Amendment 1: If All You Did Was Post About It, It's Your Fault

I blame myself for amendment 1 passing. What I did to fight it was post on facebook and tweet/retweet on Twitter. 90-95% of the people there *already knew about it* and *already disagreed with it*. What should have happened was a real movement to prevent it from passing, on the order of magnitude of the movements we create to elect officials we want in office.

Amendment 1 was worded in a way that introduced bias, and the movement to evade that perception was lackluster and based on exactly the types of media where people were already likely to be opposed or not to vote at all.

There was no ground game, there was no organized phone opposition. The facebook page just put out blog posts. Excellent, since I agreed enough to like the page, I must need more convincing. Maybe it was to forward by email to your friends, to whom you've probably already spoken to at length. Or maybe it was so you could repost it on facebook yourself, to reach all your friends who may not even have seen it for the noise in their feed.

Obviously, it didn't work. Current numbers have Amendment 1 passing by 67.5%, which in any election would be a landslide. I suspect the 32.5% of people who voted against Amendment 1 were the members of the facebook page, and the voters who are actually on Twitter.

So let this be a lesson to us all. Next time there's an amendment that we are as vehemently opposed to as we seem to have been to this one, let's actually do what you do when you want a vote to go your way, instead of messing around like college kids trying to tell their friends what their date was like or hackers trying to tell everyone about their favorite new programming language.

Pet projects, Node.js, and Scala

My post yesterday implied that all I'd be blogging about would be OpenStudy and what we're doing. This isn't entirely true, as I'll be trying to blog about the cool technology stuff I get around to playing with in my spare time. Next on the radar is definitely the ever-increasing hotness of Node.js -- if only out of curiosity. If nothing else, it feels like a nice homecoming back to some of the Ruby world's approaches to things, which is rather refreshing.

The one thing I've gotten tired of when using Scala is the compile times. It's entirely possible that as developers we ultimately gain time by having a compiler that will help us avoid type errors, and Scala's type system is beautiful and extremely powerful. For comprehensions are some of the nicest syntactic sugar I've seen in a while, and the layers that Lift's Box class adds on top of them are even nicer.

That said, I can't help but feel like the compile times slow me down. Even though this may be all perception, and I may actually develop effectively faster, the mind gets discouraged when it thinks it's getting less done, not just when it's actually getting less done. In addition, the pain of recompiling every time a change happens makes even continuous iterative testing feel like a slowdown. No longer can you just code and wait one second for your test to run -- you have to change gears after waiting for your code, wait for the compile, and then see the results. This seriously cramps the iterative test-driven process, since adding a test, waiting for it to fail, and then adding the code to make it pass becomes a much longer cycle.

The Node.js experiment is to find out about some of the various apparent positives it offers, including the ability to use Javascript on both client and server. There are a lot of goodies in Lift and in Scala that are enticing, however, so it'll be a tough fight.

Time for some new life

It's been an incredibly busy few months since I last posted, but it's time I got back into the swing of things. As the Chief Software Engineer at OpenStudy, I've been hacking day in and day out to get OpenStudy closer and closer to our vision for the future of collaborative studying online. One thing we've been a bit short on, unfortunately, is blog posts explaining what we're up to behind the scenes.

Recently, our designer and user experience architect, Siddharth Gupta, started blogging it up at http://siddharthgupta.net/, posting cool tidbits of upcoming designs and ideas that improve his workflow day-to-day. This blog, then, is meant to be the face of the developer side of OpenStudy, with summaries of new features when we deploy new stuff, as well as posts about what's coming up and teasers regarding what we're working on. I'm hoping this will get people a little more interested in and excited about the stuff that's coming and how we're improving OpenStudy every day to make it better.

In certain cases, blog posts may appear both here and on the main OpenStudy blog at http://blog.openstudy.com/ . I've got some posts cooking quietly that should be coming out in the next couple of days, so come back soon!