Posts Tagged ‘business’

favorite tech blogs: Code Anthem

Posted in Tech Blogs I Love on June 25th, 2010 by addie – 3 Comments

I’ll be honest - I don’t read a lot of tech blogs. I’m not big on the newest gadget, I still don’t know how i feel about the DailyWTF, and I have very little interest in the day-to-day activities of big-name tech companies. Too many tech blogs exude a lot of the elitism and machismo that make me feel more like an alien in tech culture than a participant. There are some exceptions to this that I’d like to read more, like the excellent Silcon Florist, which follows the Portland tech industry. But as I’m just starting to engage myself with building and strengthening the Portland tech community on a business level, I revisit it less than I should.

There are a couple tech blogs that really draw me in, though, and I love them because reading them makes me feel strongly in alignment with my identity as a technologist. These blogs can be especially helpful to read on days where I need to write some code and can’t get my head in the right space, or the (blessedly infrequent, lately) times where I can’t remember why I ever liked programming in the first place.

I covered the first amazing tech blog, Geek Feminism, in this post, and I think I’ve linked back to it in almost every entry I’ve written since then.

The newest blog to earn my endless praise is Code Anthem.

I actually found Code Anthem through Geek Feminism. GF wrote a small entry on why requiring open source contributions from a job candidate can be sexist, with a post from Code Anthem as the starter material for the discussion: “Don’t Judge a Developer By Open Source”. This topic really interests me - because I’m interested in the open source ethos, increasingly use open source technologies, and have an interest in open source development - but the environment still seems incredibly hostile to me, with a high barrier to entry. As a result, I am still in the “incubation” stage of doing open source work, and it sucks to know that I could be falsely written off as a crappy coder because of my lack of involvement thus far.

The Open Source post led me to Code Anthem’s How to Hire Crappy Programmers, and since reading that post I’ve been hooked.

See, here’s why Code Anthem is awesome: since I started working in industry, I’ve felt like there’s an odd mismatch between the way most companies hire developers and the way developers actually evaluate their own skillsets and otherwise behave. When I was in college, trying to port the skills I was learning while acquiring my Bachelor’s in Computer Science to the job postings that appeared on our department mailing list was basically impossible. What was especially shocking to me about most of these companies submitting the postings was that the way they were trying to market themselves to applicants made me, as a programmer, not want to work with them. Even though I’ve struggled with confidence throughout my lifetime as a programmer, I also know enough about my own smarts to see these job postings and say “if this is the blunt hammer they’re going to apply to resume screening, they’re probably going to filter out a lot of decent applicants (like myself).” Unfortunately, this seems to be what 98% of job postings, at least in Oregon, look like. I’ve ended up coping with this weird reality in two ways: one, I’ve gotten comfortable applying for jobs where I’m not qualified “on paper”, because I’ve come to accept that hardly anybody else applying for these positions can be, either. Two, I’ve written this all off as a symptom of an immature industry that has adopted a stupid standard practice because it hasn’t been around long enough to have an actual tested and established best practice in place.

What a treat to see the How to Hire Crappy Programmers post addressing just this issue. And to see the wide-ranging consensus in the comments! I especially loved the folks who reported on the job postings that require x number of years in a technology that has existed for less than x years. This stuff really happens, and I’ve honestly been surprised to not see anybody ranting about it until the comments section of that entry.

With that personal introduction out of the way, Code Anthem is all about this issue of programming talent and how we evaluate it. How do we hire for it? What is a programmer worth? How can companies effectively market themselves to good programmers, and in turn, how can they (fairly) determine that applicants are indeed qualified? These are really difficult questions precisely because we’re in such an immature industry, but also because this industry is rife with really unique challenges that really complicate the evaluation of an excellent coder (for instance, I’m in the camp that an excellent coder who’s also an asshole isn’t actually an excellent coder, because they can’t work with people - others would disagree).

To my knowledge, Joel on Software has been the go-to for this kind of input in the past, but I ran into a problem a few years ago when reading Joel while doing interview training at Google. His writing seemed thoroughly immersed in programming culture as it currently exists and not programming culture as it could / should be (to start out with, more diverse), and as a result a lot of what I read seemed incredibly male-centric and elitist. I consider myself a conscientious and hopefully constantly-improving programmer - I at least bring some unique strengths to my position - but I didn’t think Joel was talking about people like me when he spoke about good programmers (not just in terms of skillset, but also the social experiences that color one’s identity as a programmer). So I take a lot of his advice with a grain of salt - I think it’s really solid, but a lot of the time I wonder if it’s also perpetuating a lot of what’s wrong with the technological community, not in terms of code quality but in terms of social dynamics and diversity - and those latter two do have an ultimate impact on code and product quality.

I’ll admit some of my preference for Code Anthem is probably based on sharing the same gender identity as Amber, its author. I immediately don’t feel left out of the conversation if the person starting this discussion is a woman - because I know (and she has proven, with the open source post and others) that she’s considering a lot of the nuances which men / privileged groups in the field often overlook or don’t have to think about. This doesn’t seem to be to the detriment of the men reading the blog, either, so in my book everybody wins. Gender dynamics aside, I feel like Code Anthem is different “in a good way” because the blog focuses on the infrastructure / ecosystem of the tech industry as the source of poor-quality work more than the programmers themselves. Most of what I’ve read before this has focused disproportionately on the poor-quality programmers. Sure, bad coders are part of the puzzle here, but focusing solely on them won’t solve the overl

The hyper-focus on bad programmers is problematic in a couple of ways. First, a subset of good coders will read these entries and falsely evaluate themselves as a “bad coder” - simply due to their personalities or social conditioning (read: a lot of women). I know I struggle with Impostor Syndrome and until I became lead on my current team I wondered if I was a “bad coder” myself anytime I read a post lamenting their existence. Then there’s the second problem: the “bad coders” themselves don’t realize that they’re bad. They read along with these posts about bad coders and associate themselves with the “good coders’” group and therefore take none of the content to heart (see the Dunning-Kruger effect.) So in my mind, it’s time to stop focusing on the issue of bad coders and instead focus on the entire ecosystem. Code Anthem keeps doing this, entry after entry, and I can tell I love it because I then want to pass on / retweet each and every entry, to technologists and non-technologists alike.

Here are a few posts that I’ve read in the last few days and finally inspired me to post here. I swear, every entry in this blog is rock-solid and addresses one of these tricky ecosystem issues that really merit more attention.

Take a peek at:

Death By Recruiters - why recruiters are generally bad for industry

How to Get a (Programmer) Job In This Economy - I actually went through almost exactly this same thing two years ago, at the start of the recession

Just Technical Enough to Be Dangerous - how to handle the people who over-evaluate their skills and do risky things because of it (been there)

256x Better than a Resume - the reasons why the standard criteria provided by resumes aren’t beneficial for finding good programmers, and some exploration of, “Well, what’s the good criteria, then?” I agree on the “programmer test” route as part of the solution even though the idea of having to draft one up for my own company at some point petrifies me.

Go read! I love Code Anthem because I am passionate seeing these inefficiencies in industry go away. They make the entire practice of hiring and evaluating programmers a lot more painful and unwelcoming than it needs to be. It’s great to see a blog that’s also calling these things out for the crap they are, and discussing good alternatives. The more this discussion is disseminated, the better for any programmer who wants to see a difference.

Open Source Bridge 2010: Day Two: Feel the Love

Posted in Conferences and Events on June 3rd, 2010 by addie – Be the first to comment

Day two of Open Source Bridge is complete and the Warm Fuzzies are emerging en masse. As the conference hits its stride, it’s great to see attendees of all stripes step back and say “Wow, this experience here is pretty awesome.” Being able to see many people observe this at once (thank you Twitter!) brings forth an avalanche of Good Feelings. So, no wonder I was feeling a bit of a “glow” when sessions wrapped up today.

I’ve been somewhat disappointed that I’ve felt so shy and antisocial during this conference, but I’m balancing a heavy load outside of my professional life right now and I suppose this is the way things have seeped in. Although I was hoping to do a lot more proactive socialization - introducing myself to people, hopefully striking a connection - I’ve found myself a lot more content to sit back and observe others do the socialization instead. There’s a magic in watching the dynamics of the conference unfold around you, and apparently I am more in the mood to sit on the sidelines than be a direct participant. Except for the effusive tweeting - given how frequently I’ve been posting the last two days, you’d never know my account was mostly dormant for the past 10 months.

On my first attempt at this entry, I tried repeating yesterday’s tactic of a chronological walkthorugh of the day’s events and the talks I attended / wanted to attend, but it was feeling really clunky. So I’m going to try a different tack, and hope it still summarizes the essence of the conference in the way I’d like.

Talks I Watched via Ustream

Well, I had an embarassing morning. One of the current struggles in my personal life revolves around the problems I’ve had with maintaining anything resembling a normal sleeping schedule for… as long as I can remember basically. (I’m finally seeing a doctor for it and am hoping to get a better understanding of things soon.) I think an entire entry could be written about dysfunctional sleep as a part of the identity of many programmers, but for me it stopped being cute once I graduated from college and started working the theoretical “9 to 5″. I really have trouble waking up in the mornings, even if I have an awesome conference to look forward to. So this morning was apparently one of those mornings, and I only became cognizant of my alarm clock at 9:15 am, 15 minutes into Leigh’s talk. After some vigorous mental swearing, I was able to recoup some of my losses by watching the Strange Love Live ustream of the session, but I nonetheless feel like I lost something by not being there in person.

I’m hoping other attendees were able to gain a lot from the talk, though - this talk was totally relevant to all local attendees, as we’ve lacked a common space to meet since CubeSpace’s closure nearly a year ago.

In other news, I totally plan on getting my own copy of Leigh’s great Get Excited and Make Things tshirt.

Talks I Didn’t Attend (And It Hurt)

There were other talks that I wanted to attend and couldn’t on account of another talk talking higher priority, but these were the most painful to miss.

The User Groups discussion wasn’t necessarily going to give me any special insights as the Portland tech community is already ripe with successful User Groups (thus the talk) and I don’t have any that I want to add to the mix. But the panel consisted of a lot of the community’s most interesting and inspiring people, and I find it particularly energizing to watch them do their thing.

As a Perl programmer in my present day job, Modern Perl was probably one of the most workplace-applicable talks of the conference. I have had a generally negative experience with the language, and this is only partially due to the legacy code I have to work with at my workplace. Even “new”, non-legacy Perl code that I have to deal with makes me wince. But I know Portland is home to a vibrant and enthusiastic Perl community composed of some highly likeable people (a couple of Code N Sploders are members). I want to see what these people see in Perl; I’d love for it to redeem itself. chromatic_x’s talk promised to do this on a lot of levels; “Modern Perl” is supposed to be “Perl that doesn’t suck.” But on account of my semi-toxic relationship with the language I opted for another talk during this time, and bookmarked the Modern Perl Blog instead, so that I can examine the topic more thoroughly post-conference.

Amber and Aaron’s talk sounded incredibly interesting and I’m sure I would have found it immensely engaging. That said, the Bug talk I went to during the same timeslot was the highlight of my day, so I don’t regret opting out of it. I’m really happy to see that such thorough session notes have been posted.

This is the second year that Sherri has offered a yoga session through Open Source Bridge, and this is the second year that I’ve had to miss the session on account of fitting in my dinner hour. But I’ve taken classes from Sherri elsewhere and she’s a great yoga teacher. I also think the incorporation of yoga into the conference says a lot about the conference itself - as well as its host city. I want to be a part of a community that encourages balance of the whole self - I also believe that the entire community is better off when populated with well-balanced individuals.

Talks I Did Attend

The Android talk was the technical talk I’ve been craving. I’ve owned a G1 for about a year now, and have been meaning to look into Android development, but the typical “hadn’t gotten around to it” applies. Now I feel a lot more prepared to play around with it. Sean did a great job of lying out a toolkit for getting started with Android development, using RESTful web services to narrow the development scope (the Android apps I use the most often also rely on these services). An Open Source Bridge Android app, using exactly the techniques laid out in this talk, was developed before the conference and complemented this talk perfectly. I’m excited to have some example code to work with and was thrilled that Sean passed on a handful of clients that were ready for use with Android development. That said, the magical idea for an Android app that came to me during this talk would require that I build out the client code as well. I’m honestly looking forward to digging into it, and brushing up on my rusty Java skills.

Slides from the talk are online as well!

The Space Exploration talk was pure fun. I don’t find the idea of sending mini satellites into space to be that personally exciting, but I *do* love the idea of working with all of the great space data that is already available and currrently being collected. It connects me with my Inner Geologist, born of my two summers with the Southern California Earthquake Center in college (they, in turn, have ties with JPL and NASA, so it’s easy for me to see the path between earthquakes and space), and any chance I have to do that makes me happy. I’m excited to start playing with and contributing to Galaxy Zoo. What a treat!

I also loved some of the larger themes that Ariel brushed upon in her larger talk. What makes a “real” scientist? Are “real” scientists the only people who should have authority to explore space? How can the open source ethos and collaborative efforts help us expand our understanding of space, so that we aren’t reliant on the government models (like NASA) as the sole means for advancement? What can I contribute, even as an amateur?

Schwern’s “How to Report a Bug” was the highlight of the day. Not just for the content of the talk, but for the social dynamic that emerged in the session’s duration. The talk captured the essence of this conference, and left me giddy. The content is really worth digging into, as well.

“How to Report a Bug” felt like 2010’s Assholes are Killing Your Project. In other words, commiserating about the exaggerated Asshole Problem in technology (especially Open Source) with people who also hate it, and don’t accept that “it’s just the way things are, deal with it”.

I’ve probably mentioned this before: the tech industry is packed to the gills with “filtering mechanisms” that have been put in place to scare away people who are, to put it simply, “technology duds”. In the case of bug reports, these would be the people filing a bug that says “How does email work?” for a completely unrelated technology (as one extreme example). Of course, these filtering mechanisms tend to keep out a lot of good people, too, who have no interest in the “gating” or hazing process as a prerequisite for participation. Schwern’s talk examined the issue: why does this filtering mechanism exist in the case of filing bugs for open source projects? What do we lose out on as a result of this filtering mechanism?

The conclusion was that, although handling bugs can be a pain for anybody, and a lot of this can be the result of the difficulties of dealing with people in general (assholes or not), the real pain is caused because the bug tracking software sucks. I totally see this. If resolving a bug is cumbersome, you set up walls to discourage people from filing bugs. If rejecting “dud” filings, duplicates, or other problematic tickets is immensely difficult, you will go above and beyond to ensure that such filings don’t get through the filter. Unfortunately, as a result, your user base becomes mostly invisible. It’s so much fun to see concepts that pretty much every developer can agree with (Bugs help drive a project towards improved quality; they are the lifeblood of a project) contrasted with the patterns inherent in the system that seem to exist as antagonists to the concept. I feel like that’s the best way of dismantling the many counterproductive habits of tech communities - by establishing a concept we can all agree with, and then pointing out how our current way of doing things is working against that concept. How powerful is that?

Schwern’s talk focused on the two things that discourage users from filing bugs: walls and hate. Walls are the concepts discussed above; the unintentional assholery of the filter. Hate is the assholes in all their glory, from the curt and dismissive reply to a bug, to outright hostile defensiveness. It’s the exact reason I don’t want to file bugs - I don’t trust myself to deal appropriately with such behavior; it’s good at stoking the emotions. The “hate” portion of the talk is where the session really got fun; Schwern tried to stoke these emotions in us before we jumped into some examples of combative bug reports and the exchanges that followed them. This “connect with your hate” exercise mostly involved liquor, and suddenly the talk involved an open bottle of Old Grand Dad bourbon being passed around the room; Schwern took swills while transitioning between slides. I don’t think anybody started feeling hateful, but boy we were having fun. This is why I love programmers - the ones that “get it” are such a delight.

The talk wrapped up with a larger discussion on “How to be a Better Person” - because, in general, to handle both reporting and receiving bugs as a non-asshole adult, you need to be mindful, balanced, and emotionally in check. You have to be aware of the impact that a defensive or curt response might have on a developer or bug-filer, and take the extra time to choose your words carefully. You have to have such a grip on your emotions that even the inevitable poor responses to your carefully-chosen words can be handled with grace. That takes quite a bit of personal development and constant hard work, but Open Source Bridge is the perfect environment for such a discussion. Being a better person in day-to-day interactions with the community ultimately feeds a healthier community. Once we’ve started that journey ourselves, how do we encourage other community members to do the same? I’m hoping that this is a discussion that picks up again at the unconference.

(I didn’t even mention the “Howard Dean Strangling a Kitten” slide. Yes, it was Photoshop, and yes, it was part of the whole “Hate” portion of the talk.)

I’m not sure why I went to the “Foundations and non-profits” talk. It examined the question of “when should an open source project become a non-profit, or join an umbrella non-profit?”, and I don’t have any sort of project like that in the mix. I suppose it could have been the Googler in me, wanting to support a fellow Googler as an alumnus. Or my inner altruist. Either way, the talk was interesting if not personally useful. It’s really fascinating to learn about all of the components that go into orchestrating an open source project, especially on a large scale: things go far, far beyond just writing code. And, for the record: I learned that creating a non-profit out of your open source project is difficult, expensive, and time-consuming, so the best route is to start by latching on to an umbrella non-profit, and moving to your own non-profit when you start to need its benefits (like independence).

Birds of a Feather

I attended the Civic Engagement Meetup after dinner and was treated to an engaging conversation between city and PDC officials and BoF attendees, who represented a lovely spectrum (tech business owners, local developers, those still looking for work and exasperated by the employment problem). This is one of those topics where my interest snuck up on me and then really grabbed me, so it deserves its own entry (which I will probably write asap post-conference). Audrey’s blog and Silicon Florist are great starting places for this discussion; they’re certainly two resources that “planted the seed” for this interest.

I would have liked to attend the Open Data BoF. The topic is interesting to me, the social dynamic of BoFs can be a lot of fun, and some of my Geek Feminism heroes were in attendance. But I was tired and desperately uncomfortable after a day confined to conference seating, and the BoF was starting late (8:30 pm).

Last Bits

I was something of a crazy cheerleader for OS Bridge before the event. I think the event has something for everyone, even developers who mostly deal with proprietary technologies, but I surprised myself with who I tried to sell the conference to. For instance, during a chance run-in with my ex-boyfriend, who I’m not on good terms with, I found myself raving about the conference and encouraging him to attend (even though it’s to my benefit that he hasn’t been there). Similarly, I have been heavily pushing the conference on the other two developers on my team, especially because I knew the talks that grabbed them would be totally different than the ones that I was interested in. One of my coworkers loves to obsess over technical details that make me want to gnaw off my arm, and I saw a place for him at this conference. But the response from both him and my other developer peer (who actually attended the conference last year) seemed tepid at best, even after I convinced my boss to let all three of us attend the conference.

What a treat, then, to spot both of my coworkers attending sessions today. I worried that they’d be caught up in work and might not take advantage of the opportunity, but I was excited to see them in presentations that I wasn’t attending. I think we all stand to gain from bringing our different conference experiences back to the workplace; that’s the fun of these events as “professional development” opportunities.

Slightly related, there’s a discussion to be had about the pros and cons of having a conference that is so local I can return to my office two blocks away between sessions. But that’s probably also for the conference post-mortem.

Looking forward to tomorrow but not looking forward to the draining nature of a conference schedule + my lack of sleep this week catching up on me. I suspect the return of NapCamp will come tomorrow - sneaking power naps into the gaps in my schedule. Bodes poorly for feeling more social, but as long as I’m feeling boisterous during the Code N Splode BoF (and the Code N Splode ladies are good at bringing that out of me), I’ll be happy.

Open Source Bridge 2010: Day One

Posted in Conferences and Events on June 2nd, 2010 by addie – Be the first to comment

Well, the first day of Open Source Bridge has come to a close.  I expected to be writing this entry at the Hacker Lounge while I was volunteering as coordinator there, but Christie (amazing volunteer lead) informed me that the lounge was pretty dead.  As a result, I’m still writing during the wee hours of the night, but I’m doing so while attending to some cooking and cleaning that I didn’t think I’d have time for this week.  It’s bittersweet - I desperately needed the free time but I am sad that it didn’t look like any late-night hijinx were shaping up.

However, the hacker lounge (at a great central location in the Mark Building of the Portland Art Museum earlier today - you hit it basically right after you come inside the building), was a hubbub of activity during the core of the event, as this photo I took literally minutes before a session started shows:

Open Source Bridge Hacker Lounge

My biggest disappointment with the event so far has been personal; I felt tired and a lot less social than I would have liked for an event where, imho, it’s tremendously easier to be social and get to know folks than at larger conferences. I definitely had a lot more of that last year, but today I mostly kept to myself, even with local friends, who I mostly exchanged smiles with. That has a lot to do with a bunch of stress in my non-professional life more than anything about the conference itself. Even yesterday when I showed up to help with event setup (which was blessedly overstaffed - I stuffed some nametags and then headed home), both Christie and Sherri commented on how tired I looked. Nothing like going into a conference feeling tired, and knowing that your sleeping schedule is likely to be compromised in the week ahead with a conference that pretty much packs in a 24-hour-day of geeky goodness.

Outward social disappointment aside, I actually “came to know of” quite a few awesome people throughout the day’s events. I followed eleven new people on Twitter today, and I suspect to add an additional number tomorrow. This event in general has been a great chance to re-acquaint myself with Twitter, which I fell out of using when my personal computer was in the shop for a solid month last August. I’ve been using Facebook more heavily since then, but today’s conference was a reminder of why Twitter provides a great connection to the “life force” of tech communities. I repeated what I did last year with regards to note-taking during sessions, mostly because I get a kick out of reading the tweets of those attending the sessions I had to miss (if only there weren’t five at once to choose from!). Once again, I was really pleased to see that, by and large, during any one session time, every talk available was considered a winner. Gave me warm fuzzies for pretty much everybody involved in this conference, from planners to speakers to attendees.

To get on with the show, here’s an overview of My Day in Talks:

One overarching theme with regards to the set of talks I attended today was that they didn’t necessarily teach me a lot in the immediate sense but gave me a Whole Lot to Chew On and Research Later. To that degree, the talks had a bit more of a cultural than technical slant, but not exclusively. My main worry with these type of talks is that it is so easy to get caught back up in the craziness of life before really letting the fullness of the content sink in. To that end, I hope doing some mad del.icio.us tagging this afternoon helped, but we’ll see.

The conference-opening keynote was Danny O’Brien presenting Free Speech, Free Software Across the World. Despite Danny’s insistence that his speech would not be funny, he was a really charming speaker and I definitely cracked a smile (or a chuckle) quite a few times, even amidst the 9 am mental haze. O’Brien discussed the victory that is open source software being used worldwide, and he also discussed some of the (negative) consequences that come as a result of this usage. It was an excellent exercise in checking my privilege, as a citizen of a society where the data I create is unlikely to be used against me (at least by the government). O’Brien’s best example of a way that open source can be “used for evil” came with regards to the “default settings” that we take for granted - even if a program is intended to be customized after launch, the default becomes “the way things are”, and this can become a problem when your default is non-encryption and verbose logging (two examples). Logging in general was placed in a new light - while helpful debugging tools for developers, oppressive regimes can use logging data to identify and then punish activists who disagree with them. Although data retention policy has become a hot topic in the U.S. lately due to Facebook’s careless attitude about privacy, it becomes clear that the stakes are even higher in countries where a company with the wrong data management policy can become an accessory to an oppressive regime.

I opted for Matt Youell and Markus Roberts’ When Everything Looks Like a Nail over Hal Pomeranz’s The Return of Command Line Kung Fu for the long morning session. I saw all three speakers last year, and although I loved Command Line Kung Fu, I also felt like I hadn’t spent enough quality time with Hal’s corresponding Command Line Kung Fu Blog in the past year to justify a return visit where I’d get full benefit. I plan on spending some time with the blog following the conference, and in the meantime I heard that the Command Line Kung Fu redux was great. I went the more masochistic route with Matt and Markus, who have a knack for coming up with the most painful programming scenarios I can imagine, all while packaging them in a humorous container that allows one to forgive such sins. Last year, they started out the journey of pain by showing code excerpts that clearly looked like one language (say, python), but when the full script was revealed, were actually another language entirely (let’s say C).

The kind of exercises that Markus and Matt embark on in these talks (last year’s Spindle, Mutilate, and Metaprogram and now this year’s) would normally make my blood boil. They bring to mind an exam I had in my senior-year college programming class, that I had with a professor who was fond of similar experiments in coding torture. I had an exam question that presented a section of code, with directions that said “This code compiles. What is x?” In the code, x is named no less than 10 different times, as an identifier for variables, classes, and other code components. My default response is “Screw x, no code like this should EVER be written,”, but despite my immediate negative reaction to this stuff, my old professor, and Markus and Matt, are really pretty likeable. So I keep paying attention to the exercise. What I liked about today’s presentation was that they did try to close out with a point to all of this self-flagellation by way of code, which was very much a “larger thing to chew on” but still a pretty good conclusion.

That said, “Looks Like a Nail” led us through various situations where we were presented programming problems and given one tool (the proverbial hammer) to solve these problems with. We started out with SQL (one code excerpt included bits that were “supposed to work in 2016″ for some painfully slow graphics rendering). We moved to the ed text editor. We then looked at a program that used sound as code and also introduced a hypothetical alterna-universe where jello was used as a conductor of that sound. It got pretty out there, but Markus and Matt had the props and humor to guide us through, and at the end the lesson was: even if you start out with a hammer, we’re ingenuous enough people that we’ll use that hammer to construct other tools to make our jobs easier. So although none of us are in real-world situations where we’re limited to one obscure technology to carry out our whims, it’s a nice insight on human innovation and the continuous improvements we make in order to make the art of creating that much easier.

After lunch (which was uneventful - I am using the time all week to check in with my office instead of playing at the food carts, which is a judicious but unfortunate choice), I had my most difficult decision of the day - three talks that I desperately wanted to attend. I ended up opting out of Chris Messina’s Activity Streams, Socialism, and the Future of Open Source talk (luckily - he posted his slides! - ready to be devoured later). I also opted out of Moonlighting in Sunlight, which was all about the legal issues that may arise when one has a full-time job and is contributing to open-source projects. I first became aware of this issue a mere month or two ago during our negotiation talks at Code N Splode, and I’ve been eager to learn more since then. If I revisted things, this is probably the talk I would have attended, as there aren’t session notes yet and it seems like very practical information for a person who keeps intending to get involved in an open source project… eventually. I work for an employer who has been burned in the past by non-compete agreements that have been too lax, and since has introduced a more strict NDA, so I will definitely be at least going from the presence of this talk and re-reading the documents I signed when I started my job, and doing some web searches on the topic. In the meantime, Sumana’s session later in the day (to be detailed momentarily) was a nice complement to this talk and filled in some of the gaps.

The talk I ended up attending was HyperCard 2010: Why Johnny Can’t Code. I admit I went to this purely out of nostalgia, as I fell in love with HyperCard in late junior high / early high school when it was used in the occasional computer and science class project (I am lucky enough to have a father who realized what I was doing at the time was a form of programming and that I might be interested in pursuing it further, because I didn’t make that connection at all!) Presenter Devin Chalmers was similarly nostalgic for this technology, and we got some great context about the overarching goals of Hypercard’s creators (Alan Kay and Bill Atkinson), as well as some choice quotes. This was the talk of the day that was heaviest in “bigger questions” and more abstract culture issues. Nostalgia is a deceptive beast, and although older computers did necessarily require users to be more of a power user than they are today, we programmers forget that such a requirement excluded a LOT of people from computer use - the user base was drastically smaller than it is today. I’ll be interested to see what the programmers of the future, who are just being exposed to their first trinkets now, have nostalgia about in 10-15 years, like Devin and I have about Hypercard. Hypercard was a great swiss army knife of an application - but as Devin pointed out, a world of task-specific applications have come out of the woodwork to fill these use cases, from presentation software (I had to use Hypercard as a PowerPoint of sorts in a high school Biology class) to Facebook or the assorted smartphone apps that allow you to keep track of x, y, and z. An audience member also mentioned Scratch, which I’m interested in playing with later. Initiation experiences to programming were especially interesting to me in college, but since then I’ve let go of the passion - the Hypercard talk brought back a lot of that overall discussion, but the more practical side of me was nonetheless second-guessing my session choice. Isn’t that how it goes with conferences that are packed with great options?

I spent the mid-afternoon session at the Open Government Directive talk, which was a well-scheduled panel discussion about the challenges presented by using technology and the open source ethos to inspire civic engagement online. I was introduced to two projects, White House 2 and Democracy Lab. One of my note-taking tweets was also misread as my taking a stance as a small-government conservative (I’m definitely not) - and re-reading it I see that; woe be the problems when you’re limited to only 140 characters and someone peeks in without prior context. The comment was mentioned in the context of the challenges that partisanship presents in these endeavors, in particular: if a project is about improving government overall, what to do about the ideological conflict presented by conservatives or libertarians, who have totally different goals in mind - because they don’t necessarily want better government (they want smaller government)? And that is as political as I’ll get here (I’m generally not a fan of such discussions in the public sphere).

Post-coffee-break, my next session was Encouraging Open-Source Work at For-Profits with Sumana Harihareswara (I also mentioned this talk in my “Looking Forward to Open Source Bridge” post last week). This talk was a pleasant surprise in that it went far beyond “how to encourage your boss to consider the LAMP stack versus a proprietary web platform”. In fact, we hardly dwelled on that - instead, we talked about cultivating the open source ethos within the workplace, with some great, anonymized real-life anecdotes of where the open source philosophy in a for-profit workplace can go horribly awry (or be implemented in portions that suffer without the whole). Sumana posted her entire session in the session notes post-talk, so I won’t go into too much detail here, but I thought her thread on avoiding isolationism was the most important. This industry has an isolating tendency in general (both as organizations and among individual workers), but understanding that innovation is always a byproduct of being tapped in to a larger ecosystem is important (a story about a company where the employees were only allowed to use email and were not allowed to do any research via the internet - it gets worse than I am explaining here - was an utter nightmare). We’re also likely to make better choices when we avoid isolationism - a lot of companies choose a proprietary solution because it’s “what they know”, and in that case, it’s a good option to be the “innocent pain in the ass”, as Sumana put it, and suggest looking into other options.

In general, it was great to see a Geek Feminism author be such a confident and entertaining presenter. Sumana spoke without slides (because she said she’d rather have no slides than bad slides, and had been busy at another conference before this one), but did so in a way that kept the audience engaged. If I haven’t made my status as a Geek Feminism fangirl clear enough yet, here it is again. And I get a real kick out of things when it turns out that fellow female technologists are such kick-ass presenters.

The final presentation of the day, A Naive Developer’s Guide to Venture Capital, was also the most disappointing, although it was to little fault of the presenter (she, like most of us, wasn’t able to effectively shut down a Presentation Derailer, and I can’t blame her. I was passive-aggressively tweeting about it instead of trying to step in myself.) I felt like I was back in my introductory CS class in college, where Joe Programmer is required to take the 201 level class, but thinks he is so above it already, and as a result (for reasons that are still incomprehensible to me) asks obscure questions that have no bearing on the fundamentals of the subject matter throughout the class. When I took said 201-level class, my professor had trouble dealing with these guys because it was clear he enjoyed discussion about the unrelated details, like a lot of tech types do - and as a result I ended up writing a pretty scathing review of the class in general when I was done. My view towards the “presenter” has softened significantly since then, and I generally feel that the blame lies solely with the derailer / heckler for putting the presenter in such a situation where they have sole responsibility to get the discussion back on track. It’s just common courtesy, nevermind acting like a mature adult, to go to either a class or a conference presentation and defer to the presenter as the expert. It’s common courtesy to think ahead of time before you interject with a question or observation - “is this to the benefit of the whole audience, or just me? Will there be an appropriate time to ask this later?”. And it’s just outright rude to dominate the flow of the presentation if you’re an audience member. The presenter is the one who went to the work of submitting the talk proposal, not the attendees. So keep quiet until the scheduled moment to follow up with questions and feedback.

What really struck me about the heckler in this particular presentation was that the session was clearly framed as an introduction. I can totally understand going to a presentation as a hobbyist who is looking for some morsels to chew on on - in fact, I think many of Friday’s unconference sessions will probably be a lot like that. But this session was clearly NOT that sort of gathering, and as a result, having an audience member interrupt with his own insights every minute or so was immensely aggravating. My blood started to boil when the derailer challenged the presenter on some of her assertions midway through the talk, because in his experience the international world of VC was different - nevermind that she had started the talk from the get-go by explaining that her expertise was specific to the Silicon Valley area. Amy was a brave soul and finally spoke up and said that perhaps said heckler should save his questions for after the presentation, so we could make sure to finish - of course, the heckler wasn’t really asking questions, he was trying to give his own presentation in parallel. It was infuriating and distracting and it really kept me from absorbing the original presentation.

The talk ran long (and when it’s the last talk of the day - my body had been stuck in a seat all day, and was screaming for movement), which was expected due to the heckler, but was also a disappointment because that’s when things really got interesting. I suspect I am like a lot of programmers who see the VC world as a “necessary evil”; I find that a bit of bile rises in my throat when I think about it. The VC model is, so far, the proven way to fund technology and innovation, but it’s rife with problems. The VC industry is demonstrably sexist and therefore perpetuates the already miserable gender disparity in the tech industry (here is one article from TechCrunch supporting this statement; it is not the exact article I read at the time it came out but reports on the same research). There are also a multitude of problems with the industry being almost exclusively located in Silicon Valley, and requiring most companies to be based there as a result. There are countless innovative people who want to start businesses all over the country, but they, like myself, DO NOT WANT TO LIVE IN SILICON VALLEY. Like a lot of systems in business, VC is rife with inefficiencies, but learning more about it seems the straightest route to figuring out how to work with the system for the better. I know that Portland really suffers for this - we have a lot of innovation but the disconnection from the Silicon Valley VC and corresponding executive talent hurts our growth (Silicon Florist discusses this in far better detail).

Anyhow, I mention all of these complexities because that’s what drove me to the talk, what drove me to fight the bile in my throat and learn more. Joyce Park, the presenter, was doing a great job of being pretty real about the whole process and some of the ridiculousness that is inherent to it. It’s just too bad that a heckler derailed the bulk of it, and I was left to fume from behind my computer. In the moments that I was tempted to speak up, I suspect that I would not have handled it like an adult, because I was so miffed. Amy was far more diplomatic!

…and, approximately 3500 words later, that’s all for Day One of the conference. It’s about the time that my Hacker Lounge volunteerism would have wrapped up anyhow, so I need to be heading to bed - given that tiredness has been the biggest impediment to my fully enjoying the conference. I am looking forward to more fun tomorrow - a mind buzzing with more “tech concepts to investigate” than I can possibly manage at once, a smattering of cool and inspiring people, and most excitingly, all sorts of tech women that I am seeing at this conference for the very first time and can’t wait to learn more about. There is a lot to love about Open Source Bridge, but I will reiterate how much I love its ability to attract so many amazing technical women. Can’t wait to see more of them tomorrow!