Please Do Learn How to Propose Better Solutions

May 15th, 2012

In a post entitled Please Don't Learn How to Code, software developer Jeff Atwood argues that the "everyone should learn programming" meme has gotten out of control, and that most people don't need to learn how to code.

I mostly disagree with Atwood's premise and land on Benjamin Stein's side of the argument. Coding teaches you analytical thinking skills, logic workflows, and debugging like no other activity can, and you can apply those skills to lots of situations beyond actually building production apps.

But Atwood hit one nail right on the head that I can't stress enough to people who want to make digital tools:

[Coding] puts the method before the problem. Before you go rushing out to learn to code, figure out what your problem actually is. Do you even have a problem? Can you explain it to others in a way they can understand? Have you researched the problem, and its possible solutions, deeply? Does coding solve that problem? Are you sure?

Read the rest »

Inclusive Tech Companies Win the Talent War

May 10th, 2012

Originally published on

Startups are fighting a war for talent in Silicon Valley, and the companies that actively welcome men and women are going to win it. Smart companies don't recruit "brogrammers."

The term "brogrammer" is a joke, of course. Male software engineers don't actually pop their collars, wear sunglasses and lift weights while writing code, and share hot tubs with bikini-clad women. But the joke is funny (to some people) because it reflects a certain truth about a community that excludes great talent in favor of frat house fun.

Read the rest »

How to Tell if Your Tech Salary is Fair
May 8th, 2012

Most people have no idea what the market rate or prevailing wage is for their profession and career level, much less where they fall on the pay scale.I’m tired of fluffy unvetted career advice, so I’ve sourced and linked to ten ways you can determine what other people with your job are paid.

“Gangbang Interviews” and “Bikini Shots”: Silicon Valley’s Brogrammer Problem
April 27th, 2012

"Want to bro down and crush code?" No.

Minimizations Women Say

April 25th, 2012

The Shit Girls Say meme blew up because all of us vaguely recognize the college-age woman who says those things. The meme is also highly annoying because it implies "girls" are airheads.

I prefer a more constructive commentary on female speaking habits, which is why I loved a recent podcast interview with Tara Mohr, a women's leadership expert. Mohr describes little ways in which women unconsciously discount or minimize what they have to say, by overusing words like "just" and "actually," making declarative statements sound like questions, and by talking too quickly to avoid interruption.

Read the rest »

Kevin Kelly on What You Don’t Have To Do
April 24th, 2012

As you educate yourself about your own talent and ambitions, you graduate from doing a task right to doing the right task. It takes some experience to realize that a lot of work is better left undone. It might be busywork that is performed out of habit, or it might be work that is heading in the wrong direction. Working smart means making sure you are spending your time on jobs that are effective and that actually need to be done.

via End Malaria Day

Ze Frank’s Invocation for Beginnings · A must-watch for anyone afraid to start something new, "stuck in a terrible place between 0 and 1." I especially love the very last two lines as they relate to getting things done. April 9th, 2012

What You Want To Do Is Who You Are

April 9th, 2012

On modern social networks, the question of the moment is What are you doing? (or perhaps more provocatively, What's on your mind?). To me, a more interesting question is What do you want to do?. The desire to do anything beyond eat, find warmth, sleep, and mate is what makes us human. Your goals and aspirations, the steps you're taking to achieve them, plus everything you've done to get you where you are right now is the essence of who you are. This is why I've been fixated on todo list making for over six years.

Identify Yourself

People (in the U.S. at least) often define themselves by stuff they consume and brands and appearances: the clothes you wear, your hair style, the type of phone you use, the car you drive, the television shows you watch. In career-minded groups, your status depends on what kind of job you have, what rung of the corporate ladder you've reached, what companies you've worked at. In creative circles, things are a little better: what you've made counts for more than suits or titles or salaries.

Read the rest »

ThinkUp Reboot (and a Special Request)

March 26th, 2012

I've got some exciting news on the ThinkUp front. Our team is rebooting the project's non-profit funding organization Expert Labs into a commercial entity. Anil and I are co-founding the new ThinkUp company, and Andy and Clay will advise us. Our goal remains the same: to help users get more meaning out of their social network interactions. We plan to evolve ThinkUp above and beyond the current open source app to include an easy-to-use product with mainstream appeal. Update: To be clear, the existing ThinkUp application will remain open source.

As we get started, we need your help. One initial avenue of funding we're pursuing is via the Knight Foundation's News Challenge, a prestigious, international media contest which awards grants to its winners. The competition is fierce, and the applications are numerous. Our News Challenge application lays out details of our plans. If you've got a Tumblr account, please like (and even reblog!) our application to increase our chances. Just click on the heart next to the post. Thanks.

In the meantime, work on ThinkUp continues apace. Today's release includes gorgeous new charts and graphs, an web-based application upgrader, and lots of bugfixes. In the coming weeks, new features like Foursquare support and Facebook domain stats will be ready to test.

I'm deeply grateful to the AAAS and The MacArthur Foundation for funding Expert Labs over the past two years. Looking forward, I'm very excited to focus on the ThinkUp product and make it more useful, accessible, and meaningful. This is gonna be a fun ride.

Narrow the Gapp: Code as Activism

March 12th, 2012

A couple of weeks ago on an episode of TWiG, I argued that code is one of the best kinds of activism. Time to put my money where my mouth is. My new project, Narrow the Gapp, is a single-serving web site which displays the pay gap between men and women on average across over 100 occupations in the United States.

The purpose of Narrow the Gapp is twofold. First, it highlights and personalizes the problem of the gender pay gap in brief talking points that are easy to share on social media networks. Second, it promotes The Department of Labor's Equal Pay App Challenge, a call to developers to build apps that address the pay gap using government data. I had the privilege to help the White House's Equal Pay Task Force plan this challenge, so while I can't submit an entry myself, I wanted to do what I could to promote it. April 17th is Equal Pay Day, so I look forward to seeing more pay gap-focused apps help men and women demand fair pay during the job offer and performance review process.

Thanks to everyone who has tweeted, shared, pinned, blogged, and +1ed pages from Narrow the Gapp, and in many cases, braved misogynist trolls in the process. Thanks also to the blogs who covered the launch of the site:

Thanks to Anil Dash, Adam Pash, Andy Baio, and Kevin Purdy for their suggestions while I built Narrow the Gapp. Narrow The Gapp's source code is available on GitHub. Please copy and repurpose it.

ThinkUp Progress Report: Year Two

March 2nd, 2012

Two years ago this week, ThinkUp was born. Our first year we moved from alpha into beta, and our second year we graduated out of beta to great response.

Today I'm thrilled to report that over 15,000 social media accounts are registered on over 5,000 ThinkUp installations around the web. ThinkUp's most well-known users include the White House, Martha Stewart, Steve Martin, Disney, and Pixar.

Our birthday is as good a time as any to do an honest assessment of where the ThinkUp product, community, and code currently stands. Here's where we are.

Read the rest »

Automatically Back Up Your Web Site Every Night

February 14th, 2012

If you pay for web hosting in order to run any kind of web-based application—from your WordPress blog to a nameplate site to a file-sharing service to a social media data archive—you need to back up your web server's data the same way you back up your computer's data. On database-driven web sites, there are two kinds of data you want to preserve and restore in case of disaster: the files that make up your site (the PHP/Perl/Python, JavaScript, CSS files, etc), and the contents of your database. Further, any good backup system should make both a local copy and a remote copy of the backed-up data.

I run several database-driven sites and applications, including this blog, so my backup system has to be solid. Here's how I have it set up.

Read the rest »

New Interview on Triangulation
February 10th, 2012

Had the chance to chat at length with my TWiT cohorts Leo Laporte and Tom Merritt on their interview show Triangulation this week. We covered a whole lot of territory, from poetry to code to civil rights. Thanks to them for having me on the show. Listen to it here.

New Version of Todo.txt Touch for Android Now Available

February 6th, 2012

Just pushed a new version 0.8 of Todo.txt Touch for Android, which offers a brand spanking new homescreen widget, tappable contact info, better search results, and more. Download it to your Android device now.

In addition to the new homescreen widget pictured here, this release detects email addresses and phone numbers in task text and offers a one-tap shortcut to the dialer or your device's email handler. For example, if you have a task that reads "Email or call 718-555-1212," when you tap on that task, the action menu looks like this. Tap on the email address to compose a message or the phone number to pre-fill your phone's dialer.

Searching todo.txt for keywords now works better, too. If you've got two tasks that read "Process pull requests" and "Request pull on project," in earlier versions if you searched for "pull request" you'd only see the first task. Instead of only displaying exact phrase matches, version 0.8 ORs your terms, so a search for "pull request" returns both tasks.

More interface improvements: when you scroll down your todo.txt file and complete or delete a task, the app remembers your scroll position and keeps you in place. This makes processing consecutive tasks easier. The filter interface has been redesigned to match the rest of the application, in white and green. See it here. Finally, thanks to the latest version of the Dropbox SDK and Android LINT, this release is more secure, more performant, and less buggy.

Thanks to all the Todo.txt community members who make Todo.txt Touch for Android happen.

Version 0.8 has been submitted to the Amazon Appstore for approval, but you can download Todo.txt Touch from the Android Market now.

Designing the Todo.txt Android Widget

February 3rd, 2012

One of the most-requested features for Todo.txt Touch for Android is a homescreen widget that displays top priority tasks. Android widgets are subject to a set of even stricter visual and functional constraints than full-screen apps, so getting this feature right has been a challenge. Your smartphone's homescreen is meaningful, precious real estate, and this app's widget should treat it that way.

Visual design has never been my strength, so I decided to do this in public and learn from conversations and critiques along the way. On a late night last fall I dove into the widget's design, posting screenshots to Google+ as I went, and iterating based on the critiques and suggestions I got in the comments for each. This is a summary of the progression of that process.

First, our requirements. In priority order, the Todo.txt Android homescreen widget should:

  • Display a user's top 3 prioritized tasks from todo.txt.
  • Offer the ability to launch the fullscreen app.
  • Offer the ability to quickly add a new task from the widget.
  • Clearly communicate which app the widget is associated with, i.e., include some sort of Todo.txt branding.

Read the rest »