Devfest 2012

The 2nd annual Devfest concluded… half a week ago, now. It was also my last, but nevermind that (you mean lounging around at student hackathons is NOT a viable post-academia career path??)?

You can already find out the whats and whens and wheres of Devfest, and perhaps the hows and whys if you tie up and interrogate enough ADI Committee members, so that’s not so interesting. What you ought to be interested in are thoughts, probably mine, about the event(s). I mean, that’s why you guys are here, right? For access to poorly filtered mind dumps and rambling incoherent monologues, and that’s before we even narrow it down from the internet at large. It’s either that or cats, so if you’re here for the other thing you should probably go somewhere else.

Overall, the quality definitely lifted from last year, mostly from knowledge gained from all the mistakes made last year. In particular, we got very good audience retention rates for lectures and workshops across the week with the introduction of focused theme nights, and having the Demofest on Saturday was a big win (overlap with Super Bowl: bad). That, and prizes were a nice addition, although it is a bit of a double-edged sword (partly mitigated by a relatively large spread of prizes).

As for mistakes, we of the ADI committee have an entire document dedicated to preserving our mistakes for future generations to squint at and ignore. So instead of musing on those, I’ll talk about some larger, architectural things that are offputting to myself.

First, Devfest is not scalable in it’s current form. In trying to include non-programmers (which we failed at, with notable exceptions) by extending the length out to a week, we get an event that excludes most everyone outside of the “Columbia Bubble”: contrast this with something like Pennapps, which almost consumes more than a weekend but makes it possible for students from across the upper-eastern seaboard to attend (disclaimer, I’ve never been to Pennapps. Sadface). If we want to grow past the impact we’ve been having, then we either need to convert more people to a Devfest-ready audience, or convert to a geographically scalable model (actually, the former is probably much more desirable, in terms of our mission. But I digress).

Second, it turns out that the ADI committee is too large. I used to think that we should fit whatever people we could into our (ADI’s) maw, but now I see firsthand what it means to have communication difficulties scale with the square of the group size. Now, I have nary a clue what many committee members are doing, or if they were even involved with our flagship event, and I would probably leave a person or two out of an enumeration of the committee members off the top of my head. What I would like is a metacortex a la Accelerando (which I’ll review soon) shared across the entire committee, but we know this isn’t going to be possible for a while, so I should get off my ass and make it happen.

It is going to be interesting if we take on new members: we probably hooked a few people’s interest with that Devfest stunt. If we keep the rigid subcommittee structure, we could use some augmentation in the less-populous subcommittees. However, I do have an idea that would put myself in more contact with more people across the committee, which is reorient the entire committee to more of a task-force driven model, where each event gets its own task force drawn out of the committee pool, probably combined with a blind system while playing to people’s strengths. On the other hand, I’m typing this while it’s 4am, so there’s a strong chance this is just crazy talk.

As for the projects, I guess the only one that really held my attention was Sid’s Scheduler (although the seating algorithm by Aditya and Zack was a close second), mostly because it somewhat jibes with my thoughts of how to kickstart my metacortex and make it useful from the start.

Oh, and my own project? I was (and still am) working on a replacement for IRC with regards to ADI: IRC is inherently stateless and persistent-identityless and an inheritor of old command traditions while lacking new ones (twitter tags and mentions come immediately to mind), which means that it’s essentially unusable for a loosely connected group that’s also pretty geographically synchronous (compared to standard companies that guarantee engagement for 8 hours a day). Add in difficult engagement with newbies, and you have a mess. Hence, something that fixed that, while also piling all sorts of smart digests/notifications on top. And when you decide to learn a new technology with it, then that seals it. However, I only got to the status quo of chat services over the span of Devfest, and didn’t end up presenting something boring. I do think this project is important, though, so I’ll probably get it to a version 1 at some point (MVP doesn’t really make sense here, since there are plenty of ready alternatives. They’re just not perfect).

But Devfest? It’s the little things: chilled applesauce, refactoring code, teaching someone the basics of python in 5 minutes, throwing k-means at a problem and calling it good.

And as the night is shot through with blue, I swear I’ll never do this again. But I always seem to come back.

Engineering Week Day #1 - Post-mortem

I have to say, I was definitely disheartened by the opening ceremonies of Engineering Week here at Columbia. After coming out of Devfest, I may have exorbitantly high expectations of student groups and the events they throw, but… well, I can’t justify away the way I felt about the event that happened 15 minutes ago. I’ll pick my way through why I didn’t like the event, and contrast it to Devfest as I go along.

Who in the world needs to pad their opening ceremonies such that more time is spent entertaining than having talking heads do what they do best? Various student groups came in and entertained with dance and song, which in the opening event for something called engineering week was pointless. The rest of the event content was also pointless. It was almost like the event was saying “Ahoy! We are the engineers… that say we are engineers!"[1] As a recurring event, maybe mediocrity and faked enthusiasm is to be expected, but it doesn’t have to be devoid of any substantiative content. To contrast, the opening event for Devfest was half an hour long, because we had shit to hack, and had only half an hour in which to get the newbies up to speed. No dance and song needed.

The event had one real speaker, a prominent Columbia professor. His introduction by the MC was pointless: you don’t have to list out every single thing the guy has done, especially if the list is longer than most people’s arms. Just a quick “this guy is cool, you should listen to him because he can science your brain into dust” would’ve sufficed. Then the professor gave an interesting talk, and after the event ended, everyone rushed the shirts while he walked out alone. This is a two-fold failing: at Devfest, we handed out the shirts at the beginning because that was not why people were there, and we didn’t have to bribe them to stay: if you were there, you were there to hack. If people were there to take advantage of the event, they stuck around for the food and hopefully learned something from the workshops. Also, keeping the shirts ransom ensured that no one was around to talk to the prominent professor, who surely has advice and a multitude of things to talk about with a budding engineer. After the end of Devfest, we stood around and talked for at least half an hour with all the speakers, and only stopped talking because everyone was leaving to watch the superbowl.

Food - after this event, I think that letting people sit down to eat is a bad idea. If it’s in a smaller space, then everyone can talk to each other: if everyone is standing up, it’s easy to network by walking over to someone. But sitting down? You have so much potential energy to overcome, along with all sorts of social conventions, just to go and try to talk to someone else. People mostly sat with people they knew, and talked about the same old things they always do. The opening lunch of Devfest was a mad melee of conversation and idea trading.

The MC did not know how to MC. Sure, you know the people on stage and are best buddies, but no one else cares about your internal “bro” structure. Everyone does care about how well you can speak. Ryan kept the opening of Devfest professional, coherent, and informative.

Finally, the rest of the schedule is cause for concern: only 2 events have any substance (a panel and a speed networking event), and the rest of the schedule is just social cruft. And they call this an engineering week?

I guess I’ll be teaching myself Bison for a few more events.


[1] - yes, that’s my sad attempt at making a Monty Python ref. I’ll try harder next time

For no other Reason

Some forewarning: this post is going to be somewhat awkward. Okay, more awkward than normal. I’m not really announcing anything (it’s been around a week since I could’ve announced anything) and nothing is coming up (at least, nothing planned). However, it’s been 2 weeks since I’ve written anything, so I figured I should post something.

First, a note about my latest project: Notesoble! Or something else. I haven’t exactly nailed down a name, since I lifted Notesoble from a similar project that just didn’t work out around a year ago, and it doesn’t quite reflect the character any more. So what’s it do, you ask? Well, it’s a documentation system meant to ease comprehension by harnessing the power of the computer. I think it makes much more sense when one looks at the motivation: currently, ebooks don’t use the malleability of computing power: sure, maybe they offer search, or easy dictionary look ups, or a fancy little applet with which to investigate Newtonian forces, but those are peanuts compared to the meat of the text, which is mostly unchanged from the normal prose filled tree-books of yore.

For instance, why doesn’t anyone highlight things listed in a line of prose? The content is obviously not important enough to break out into a list, but we can draw the eye immediately to the discrete elements of the list with a subtle impression. Likewise, why do we all read the same prose? On a second reading, one either wants less detail, or more. Heck, on a first reading people read for different levels of detail: why do we insist on bringing them the same level of detail?

Of course, the obvious answer is that that’s what good readers do; they don’t need these silly aids with which to read at whatever level they wish. However, I am arguing that it’s not about what one eventually figures out, but how fast one can learn it. If the structure of the page aids comprehension such that people do not have to think as much to learn the same amount… well, that’s my goal.

Such is the state of Notesoble after working on it for a weekend and then letting it ferment. I’ll get back to you guys once there are more better baked ideas, better propaganda, and better prototypes.

Jeez, has it really been a week since Devfest ended? Looking at my wrist, I discover that yes indeed, it has been a week since the end of Devfest (I’ll have to do a post-mortem post on Devfest 2011 sometime). And yet, my life is still hectic and fluffy, fluffy as expanding foam that fills every crack of the world with suffocating lemon smells. Some of it is due to the fact that I’m trying to catch up with reading that I neglected during Devfest, but I have a sneaking suspicion that much of it is due to the fact that yes, school is just this time consuming, especially since I’m not in classes where I already know everything.

I know I said I would, but I haven’t gotten my hands on a book on Bayesian Data Analysis: instead, I put out a warrant for a book on Visualizing Data. Hopefully, it provides some counterpoint to Tufte; ever since I read a stinging indictment on his work, I haven’t trusted my opinion on data visualizations. Since I don’t have a dead-tree book at the moment, I’m reading Pro Git in my spare time.

In random news, I found one of my really, really early attempts at creating a web site on Google Sites. It was pretty pathetic, and I had to euthanize it. Rest in bits, work of my past self. Hopefully, my future work won’t deprecate as quickly. Or maybe I should be hoping it will. Hmm.

And when the hell does Github turn over it’s commit counter for the week? This week of commits on Notesoble is making the rest of my projects look bad.