Code for Humanity http://vanessahurst.com Thoughts on technology, data, startups, people, and other good things. posterous.com Wed, 09 May 2012 14:09:00 -0700 Ruby Heroes, Open Source, and Hacking to Prevent Human Trafficking http://vanessahurst.com/ruby-heroes-open-source-and-hacking-to-preven http://vanessahurst.com/ruby-heroes-open-source-and-hacking-to-preven

First and foremost, Congratulations to Yoko Harada, one of this year's Ruby Heroes! She's made substantial contributions to the Ruby community, specifically for her work on open source projects JRuby and Nokogiri. Yoko inspired me to share an example of one of many projects that were possible thanks to free and open source software, and specifically Nokogiri.

In July 2011, Girl Develop It hosted a Hackathon for Humanity (in the Hamptons thanks to Deborah Jackson & JumpThru!), Nathan Hurst and I used Nokogiri to parse data from Backpage.com and flag potential evidence of human trafficking. We used wget to pull the posts and Nokogiri to parse the data into a Rails application and Postgres database, which I then queried to identify potential child prostitution advertisements. We were able to flag hundreds to be investigated and removed by Backpage.com.

The project readme file expands a bit on our methodology- basically, we'd read that many human trafficking rings tend to diversify their crime businesses by engaging in many types of trafficking and other illegal activity, so we cross-referenced some of the phone numbers across different subject areas on the site. We found dozens of posts that once examined by the human eye were clearly not legal, and hardly any false positives. This method proved quite accurate and a lot more manageable than manually sorting through all of the posts.

We definitely wouldn't have pulled that off, especially not in a weekend hackathon, without Nokogiri being free, open source, and delightfully easy to use.

The project is on Github at https://github.com/girldevelopit/traffic-report. Note that this is the code from a one-time weekend project, but if you're interested in forking or just learning from it and building a service to continue this work, please do! We're happy to share any undocumented lessons or answer questions, just reach out by email (nathan@ohours.org or vanessa@developersforgood.org).

If you'd like to get involved in another Hackathon for Humanity, follow @girldevelopit and stay tuned for the announcement of our 2012 event!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Sun, 13 Nov 2011 21:26:00 -0800 Piercing the Tech Networking Bubble with Open Mentoring http://vanessahurst.com/80059811 http://vanessahurst.com/80059811

Last night I watched Soledad O'Brien's CNN Black in America: The New Promised Land - Silicon Valley special that offered a lesser known perspective on an industry I know well. The special followed black entrepreneurs who participated in the first annual NewMe startup accelerator. After the special aired, I watched Mario Armstrong's Town Hall and heard plenty of great advice from accomplished panelists of different races and backgrounds. In just an hour and a half they covered a range of cultural problems and shared opinions on solutions.

The best thing about pieces like this is that they focus on a problem and hopefully, get us all riled up to fix it - but do we? One of the audience members stood up and reminded the room that the change wasn't going to come down from the panelists, but come up from them - that they had to make the change for themselves.

Right here and right now, I'd like to do something to address this problem. We heard over and over again the importance of networks and of having the right conversation with the right people. Entrepreneurs were advised to "insert" themselves into social circles of Silicon Valley. I agree with panelist/engineer/founder Hank Williams that taking baby steps is the key to both programming and life, so here's my step for today:

I'll be hosting open video chats specifically to mentor people who aren't already in my established social circles.

Here's My Open Mentoring Availability, starting with

My goal is to make it less uncomfortable for new people to get involved in tech and startup communities.

I hope to see other leaders of these communities offer their time and guidance as well. I've written some and talked a whole lot about personal scheduling and efficiency, so I want to be clear that this is a relatively small, effective commitment - I plan to give 45 minutes to conversations with up to three new people and to spend the remaining 15 minutes of my alotted hour following up or laying the groundwork to help those people. This will amount to roughly one hour a week. If you'd like to help, too, consider joining the Ohours mentoring topic.

If you or anyone you know aspires to be an entrepreneur, engineer, teacher, computer scientist, wielder of data, or perhaps is now a girl scout, military brat, data lover, amateur organizational psychologist, blonde - or maybe none of the above, but would like to talk with someone who is - please send them my way. My door is wide open.

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Sun, 07 Aug 2011 16:34:00 -0700 Data-driven Time Management http://vanessahurst.com/data-driven-time-management http://vanessahurst.com/data-driven-time-management
Laziness: The quality that makes you go to great effort to reduce overall energy expenditure.

In keeping with Larry Wall's virtues of a programmer, I seek to be as lazy as possible while still achieving my goals. Working smarter, not harder, is fundamental in every program I write - shouldn't it be fundamental in how I behave? My deepest fear is working incredibly hard on something that creates no value or helps no one at all. At the end of the day, am I tired because I changed the world, or because I developed carpal tunnel syndrome refreshing my Facebook feed?

I'm employed full-time at Paperless Post, where I work across teams on a wide variety of projects. I spend evenings and weekends running Girl Develop It, organizing Developers for Good, and advising Hirelite. I also exercise and watch teen dance movies of low artistic caliber regularly and eat dessert every day.

Simply put, I work a lot and I get a lot done. Despite that productivity, I recently found myself unable to keep up with even important emails, and on edge about relationships that might not use my time effectively. I'm familiar with techniques like Getting Things Done and Pomodoro, but I hesitate to adopt any entirely new method without fully understanding what could be improved about my own.

So, in an effort to understand my time's ROI, I turned to data. I tried several time-tracking tools for a couple of hours each on a Sunday while I did remote volunteer work. The free tool that was easiest to use and gave me the most freedom in analyzing my information was Toggl. Thanks to web, desktop, and mobile apps, I was able to bring time tracking into all aspects of my life.

I have a workspace for each significant obligation in my life - e.g. Paperless Post, Girl Develop It, Developers for Good & Volunteering, Personal. I use Projects to track the type of work I'm doing - e.g. Analytics, DBA, Product, Finance, Admin, Relaxation. I track significant emails or questions I answer, what I'm debugging, coding, or fixing, how long my meetings, calls, and Ohours take, and just about everything else. When I change windows on my desktop and may be off-task, the Auto-pilot Toggl app sweetly asks "WTF are you doing?" ... "Click to change project", making it easy to stay honest.

From this meticulous data collection, I've learned a few things about productivity:

You can't manage what you don't measure.

I recently had the feeling that I was doing way too much X and not enough Y, and I was not amused. Every time an X task came up, I developed a wrinkle. After one week of time tracking, I saw I really was doing a ton of X. I felt validated. I was less emotional about the problem, and in the next week, I also gave myself freedom to delay or delegate many X tasks in pursuit of Y tasks. I'm working with my team to better manage X tasks and in the meantime, I'm more efficient and feel in control of them. I have irrefutable evidence about just how demanding X work is. As we try different solutions, we'll also know exactly how much they help.

Good data (tracking time as you go) is extremely important.
Your planning estimates and guesses afterward will always be wrong, and good data is fundamental to any data-driven decision making. If you think you're good at these estimates, test yourself. Then email me how hilariously wrong you were, and we'll chuckle.

Tracking time increases focus and limits context switching.
Tracking your time makes you more aware of what you're specifically trying to accomplish, so you're less likely to abandon one task for another. Maybe you only actually get to work 25 hours out of the 40 hours you're at a work. If you need to track what you're doing, you'll feel compelled to make use of dead time you might have spent doing the worst kind of context switching - pretending to multitask.

Time is your biggest asset. Knowing where it goes benefits you more than anyone else.
I think a strong component of this experiment's success has been that I'm doing it for myself. I have the freedom to show others the summary or the breakdown of my time if I'd like, but this isn't a report that goes directly to my boss or determines my paycheck. I have the freedom to be completely honest. My priority is clean, accurate data and a true reflection of how I spend time, not convincing some other person that I'm working a lot.

Overall, I've found time tracking incredibly helpful for my focus and in helping me determine which time investments are worthwhile. I've also noticed trends in behavior that I've discussed with coworkers so we can work together to boost productivity.

What methods do you use to get things done? How do gauge your own effectiveness? Do your methods work for both short and long-term improvement?

Notes:
One of the reasons I chose Toggl was for their completely free basic features plan. Most other services were unpleasant to use, less functional, or only offered a 30-day free trial, which I knew from experience might not be enough time. Call me old-fashioned, but I just can't commit to something in every aspect of my life when it's guaranteed to dump me in a month.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Sun, 24 Apr 2011 20:47:00 -0700 The Zone http://vanessahurst.com/the-zone http://vanessahurst.com/the-zone

Last Friday morning I woke up completely exhausted. Each previous day that week felt as if it shoud have been Friday, but disappointingly turned out to be just some anonymous middle-of-the-week day. I'm sure I don't need to explain the intense psychological role the day Friday plays in our lives - we have internet sensations for that. But this Friday, instead of strolling into work late, taking extra long coffee breaks, catching up on blogs for hours, and mentally checking out right about lunchtime per the usual Friday routine in Corporate America - I did something different.

I got in the zone. I layed out the design for a project I'd been interested in but slightly intimidated by. Though aware I probably didn't have enough time to get through it, I dove in. I had one meeting and two phone conferences scheduled that encroached on my maker's schedule potential for the day, but I let my brain roam into the project anyway. I started with a brief work breakdown structure, gradually adding more detail as I reviewed the intermediate pieces all the way until I wrote the code as easily as I'd written the notes. Two meetings were postponed. By the time the third came around, I was in too deep.

I didn't eat lunch, I barely noticed the office puppy, and I didn't even refill my water glass for several hours. I just created. I wrote code, I tested, I rewrote, I tested, I simplified. I kept the entire project - a horizontal data slice of our entire application - in my head and just executed, piece by piece, until I had something I could push together and deploy so that anyone could perform this magic with just one command. Every step of the way presented new obstacles - merge conflicts, unfamiliar deploy tools, arbitrary configs to update - but they didn't phase me. I was in the zone. I eventually grabbed a few goldfish and a new water glass while waiting on a test data import, but the buzz from powering through this intimidating project stayed with me.

I spend a lot of time dicussing the future of technology and especially diversity in technology for a variety of reasons - innovation, equality, national security, product quality to name a few. But it's days like Friday, especially because it was Friday, that represent a more indulgent but also meaningful reason I hope people give technical careers a shot: passion.

I have extreme passion for what I do. I can work as if my sore eyes and empty stomach and dry throat don't even exist because I absolutely love what I'm doing. I can get wholly absorbed in something that helps other people (my team, our customers), that I get paid for, and that makes me a better and more capable problem solver. I have complete intellectual freedom, and I've been able to experiment enough to find challenges that both frustrate and satisfy me. Beyond the essentials of food and shelter, I wish nothing more for other humans than that they might find their own zone. That they might know what it feels like to immerse themselves in something so deeply and so fully that time flies. Perhaps coding isn't that for many people. I certainly never would have guessed it would be for me. And yet, programming took me from a potentially miserable, rainy day to an enthusiastic, high-on-life adrenaline-infused night.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Sat, 26 Mar 2011 10:32:52 -0700 PG East 2011 & Defense Against the Dark Arts http://vanessahurst.com/pg-east-2011-defense-against-the-dark-arts http://vanessahurst.com/pg-east-2011-defense-against-the-dark-arts

This week, March 22-25, the PostgreSQL community (with guest appearances by MongoDB advocates & users) came to NYC for PG East 2011. At the beginning of the week I wasn't sure how to manage my jealousy of those headed to GigaOm's Structure Big Data (which, by the way, is at the same time and 5x more expensive), but I didn't think twice about it while meeting and learning from members of the PG community. The days were a mix of talks and sharing war stories in the hallways, and the evenings included happy hours with the NY Postgres Users Group (if you're in NYC, join!) and Paperless Post.

I gave a talk that briefly addresses what an ORM (Object-Relational Mapper) is and how they are great for application development, but can be a headache for DBAs. Most of the talk focuses on key factors to consider in evaluating an ORM and in maintaining and scaling systems that use ORMs. The intended audience for the talk is:

  • DBAs curious if ORMs might actually be the devil
  • Startups or development shops without a data expert on hand
  • Lone DBAs or small DBA teams that are seriously outnumbered by developers using ORMs
  • Developers who want to understand more about ensuring applications create usable data
  • Developers using ORMs who think the database might be a performance bottleneck

Obviously the slides are never quite the same as a live talk, but I tried to make them somewhat independently valuable:

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Wed, 16 Mar 2011 22:09:00 -0700 SXSW 2011 Review http://vanessahurst.com/sxsw-2011-review http://vanessahurst.com/sxsw-2011-review

This year at South by Southwest Interactive, I

Ate a five-course local dinner one table from Jake Gyllenhaal at delicious WINK restaurant. Despite the sketchy law offices, bail bonds for sale, dark alleys and many cops on our walk to the restaurant, I have no regrets about being a pedestrian anywhere for as long as possible. And JG is way more attractive in person than the movies (even my husband agrees).

Met Marissa Mayer, talked about iterating a product quickly with analytics. Told her we had similar paths to programming and that I'm grateful she shared her story with the internets. After this my life was complete, so I fully indulged in not attending very many panels the rest of the week.

Met Jane McGonigal, started reading her awesome book Reality is Broken complete with Fiero autograph, and thanked her for yet another demonstration of how technology can change the world for the better. The book is changing my life already.

Met the technical and talented team Linda and Karri of Rails Girls, who host awesome Ruby on Rails workshops in Finland, commiserated, and hopefully shared some of what we've learned at Girl Develop It.

Met Accosted and introduced myself to Jennifer Lim, CEO of Delivering Happiness and original Zappos culture book writer. I forgot to tell her and Tony Hsieh that I reference the hierarchy of happiness on a regular basis and am so, so into them.

Met awesome hackers of all sorts and learned some cool hacks at Hacker Underground, including how to leave commands out of your command line history and how to get even more food in your Chipotle burrito.

Launched a startup of my very own, with Sara Chipps and Pamela Fox: http://stashyourstache.com.

All in all, had an awesome week. Excited to be back in NYC and hoping our weather can compete with Austin sometime soon :).

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Sun, 16 Jan 2011 23:34:00 -0800 TEDx 636 Eleventh Ave NYC http://vanessahurst.com/tedx-636-eleventh-ave-nyc-coding-for-humanity http://vanessahurst.com/tedx-636-eleventh-ave-nyc-coding-for-humanity

On December 7, 2010 I had the honor of speaking at a local TEDx event, TEDx 636 Eleventh Ave, organized around the TED Women conference in DC. I spoke briefly about my path to becoming a computer programmer. I wish I'd known earlier what incredible potential for impact careers in technology hold. I hope more women and men, young and old, throw away preconceptions and approach programming as a way of impacting humanity.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Mon, 10 Jan 2011 01:45:00 -0800 TED Women 2010 Reflection http://vanessahurst.com/ted-women-2010-reflection http://vanessahurst.com/ted-women-2010-reflection

During the national TED Women conference in December 2010, I was lucky to be in the good company of fellow live speakers and supporters at TEDx 636 Eleventh Ave in NYC. Every speaker makes themselves vulnerable giving a talk like that, particularly with no topic guidance and no particular requirements, and I have so much respect for every one who participated both locally and nationally. Among speakers and attendees at our TEDx event, everyone was willing to share real stories and honest moments that were positively invigorating. After our live speaker session ended, we watched the broadcast from DC.

The first TEDWomen talk was from Hanna Rosin, the author of The End of Men. She talked about the growth of women in higher education and highly skilled professional fields and how people at fertility clinics are requesting girls now when boys used to be the top choice for parents. She basically proposes that women are taking over the world and we should all acknowledge that and deal with it instead of being overwhelmed or otherwise victimized by the change.

I couldn't help but feel upset - maybe with certain pointed questions and carefully selected data the idea is plausible, but it's just not reality in the world I live and work in. As a technologist, most of my friends, colleagues, and role models are men. I don't like the idea of telling them to face up and prepare for domination. I see the charts she presents, but I know the charts that matter to my community - in brief, those that represent women studying computer science - are not climbing. They're falling. I can't help but think her whole position undermines what I hope for by representing a reality totally different from ours. After a day of feeling pretty validated in my story and my goals, I felt defeated by the talk. It's daunting to think that in some parts of society, women and men might think that nonsensical gender gaps have disappeared or are no longer worth addressing. It's just so far from the truth out here in the field.

I left the TEDx event both inspired and challenged, having met some truly amazing people. I'm resolved that whatever cultural theories might surface, there's still a lot of progress to be made in inspiring young women and more young men toward technical careers and innovation.

 

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Sat, 01 Jan 2011 06:41:00 -0800 Goodbye 2010 http://vanessahurst.com/dear-2010 http://vanessahurst.com/dear-2010

Dear 2010,

You almost got me down with these health problems, but even so

1) Developers for Good has directly connected dozens of programmers with awesome volunteer opportunities in NYC,
2) Hirelite has placed dozens of software engineers with great jobs in NYC through efficient video interviews,
3) Girl Develop It has created a community of over 600 women, including 200+ students, who are psyched about software development,
4) xkcd helped me stay geeky and stay positive,
and
5) I am going to change the world anyway.

Bring it on, 2011!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Tue, 26 Oct 2010 23:15:00 -0700 Why Software Developers Rock (and Could Be Even Better) http://vanessahurst.com/why-software-developers-rock http://vanessahurst.com/why-software-developers-rock
Software developers are awesome. More specifically:

Software developers make significant contributions to the community for free - both free as in beer and free as in speech - which lead to Creative Commons and similar licenses which are growing in popularity across industries. Our forums (e.g. Stack OverflowHacker News, and hundreds of technology-specific online user groups) are some of the most meritocratic that exist today - for the most part, positions are attacked instead of individuals. These benefits come from a base of people who genuinely understand logic (and thus can avoid silly ad hominem attacks) and who are visionaries, always sharing ideas and watching out for the next big breakthrough.

Software developers are exceedingly generous. We do barcamps and hackathons to address global crises ala CrisisCamp, we help non-profits en masse through weekend pro-bono GiveCamps and through groups like Developers for Good. We're addressing worldwide healthcare needs through transparent, open-source projects like OpenMRS and improving local government through projects like CivicCommons and Code for America.

Software developers have built exceptional communities off of good ideas and a lot of hard work, but we've certainly never been fans of the status quo. We're always wondering - how can we get better? Individual software developers improve by picking up new languages, sharing their code through GitHub, or even by creating frameworks like Rails that dramatically improve the efficiency of others. The next step in that evolution is asking as a community, what can we do to collectively improve? Sure, we can say that since we're already productive it's okay to just keep on keeping on, but that doesn't seem true to our potential as individuals or as a community. It's also boring. Let's get more awesome instead.

Research shows that diversity is good business [PDF] and collaboration is the key to breakthrough creativity, so the next great evolution of the software community is to increase diversity. The true nature of our field is to seek optimization, to continually refine and improve. Broadening the range of perspectives involved in our work will fuel our ability to innovate as well as propel our economy. It will also increase the awesome.

It's rational, if not empathetic, to hear the buzzword "diversity" and think - why does it matter if the ratio in programming doesn't represent the greater population? Why more diverse, rather than just more? Software developers are rapidly becoming the gatekeepers for global knowledge-sharing and connectivity. Computers permeate our lives - shouldn't the community of people who control them be as innovative and yes, as representative, as possible?

Fran Allen, the first female recipient of the Turing award, summed it up quite well in an interview with Peter Seibel for Coders At Work,

It's such a transformative field for society as a whole. And without the involvement of a diverse group of people, the results of what we do are not going to be appealing or useful to all aspects of our society. A piece of our challenge is to make computing, and all that it enables, accessible to everyone. That's an ideal.

So, my beloved software developers - the state of our industry isn't about yelling or blaming or terse 140 character twitfits - we are way too awesome for that. What we do have, though, is a clear opportunity to improve. In order to grow and improve as an industry, we need to engage more diverse minds in software development.

A few ways to capitalize on this immense opportunity, and improve our field:

  • Continue above stated awesomeness by writing great code and using your skills to improve the world
  • Encourage anyone and everyone you know (and even those you don't know) to get involved in software development
  • Mentor an aspiring developer on your next side project (perhaps a Girl Develop It student)
  • Seek simple ways to make your work more accessible to non-expert users (e.g. add dreaded Documentation)

Feel free to share constructive ideas for engaging more minds in software development in the comments or by contacting me directly.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst
Tue, 26 Oct 2010 21:26:00 -0700 Women in Tech: The Opportunity http://vanessahurst.com/women-in-tech-the-opportunity http://vanessahurst.com/women-in-tech-the-opportunity
In the United States, STEM (Science, Technology, Engineering, and Math) fields are hurting. You know you've got a problem when even the government is trying to solve it (as shown by the White House's Educate to Innovate initiative (Nov. 2009) and private-sector CEO engagement in Change The Equation (Sept. 2010)). Raw data clearly shows that the US awards a significantly smaller portion of science and engineering bachelor's degrees than the majority of reporting countries (NCES). Within that already meek representation, computer science stands out as a dearth among dearths.

So techies are awesome, but we aren't training nearly enough of them. Where could we possibly find more potential programmers??

The New York Times offers a classic visualization of the CS gender gap:
20070417_comp_graphic
This visualization shows data through 2004. It has only gotten worse since then. In the US in 2008, 57% of all bachelor's degree recipients were female, but only 17% of bachelor's degrees in computer and information sciences were awarded to women. Oops. Looks like we found our missing programmers!

There are certainly plenty of underrepresented groups in computer science, but the male/female gap is by far the most severe and spans a variety of racial and socioeconomic groups, so it makes sense to address as a distinct priority.

As recent as a few weeks ago, a dedicated Women In Tech panel at TechCrunch Disrupt established that everyone knows women are underrepresented in tech (especially tech startups), but left viewers wanting when it came to solutions. A few panel members noted that what we could really use is more women studying computer science or learning to program. I wholeheartedly agree.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1053916/vanhurstphoto1.jpg http://posterous.com/users/5ewZuKoSWfEB Vanessa Hurst DBNess Vanessa Hurst