Skip to content

Words and Stuff

random ramblings

Yes. The big one.  Yes I can fit it in my pants.

Here’s the list of things I like about it:

  • The battery life is fantastic
  • Copy/paste works really well
  • The camera is pretty good (the app sucks, the hardware is good)
  • SMS => bluetooth integration is very, very helpful and makes me a safer driver

It’s not a long list.

Here’s the things that are bad about it:

  • IE Mobile
    • whatever the hell search engine that they’ve locked us into sucks.  Having to manually go to to search is just a waste of time in this day and age
    • sites think you’re running IE3 or something (quickbooks online,, ebay) and basically give you either no content or busted content
  • Oh you’d like to play music and do something else? That’s nice.
  • Apps SUCK and are typically many revisions old if they actually exist
  • The people/contacts app is painfully terrible
  • The dialer is horrible (think iPhone 3)
  • Delete an email on my gmail should DELETE not archive
  • “Push” email doesn’t
  • Random lockups where the screen is unresponsive (and no battery to pull)
  • Email app is very slow to download message content and attachments
  • … more stuff

All in all, it honestly isn’t terrible enough to make me need to spend the money to change to something else (Note 4) but it’s bad enough to not recommend it to anyone else.  The battery life is honestly the best thing about this phone and frankly would be enough to keep me if they’d undo the forced bing search and fix the background process model.


There’s the reason you need a Github account.  There’s the reason you should contribute to open source.

We just expanded the company, adding 4 new developers. Every candidate that sent us code samples (either a website, a github profile, a zip file, etc.) immediately was reviewed with much more enthusiasm than those that just sent us a resume (and maybe a cover letter).

It finally clicked for me.  I’d not hire a designer without asking to see their portfolio.  Why would I hire a developer without seeing code from that developer?

So I put some code on GitHub.  Am I proud of it?  Not really.  Does it have anything to do with what I do these days?  Nope. But now, whenever someone tracks me down, they have code they can look at.  I need to add more code.  I feel angst now that I need to be producing something that someone else could use.  And that’s a good thing.

Tags: ,

First off, I still feel that SO’s rep system (ie. gamifying the internet) sucks and it is a barrier to my style of participation (let’s call it “drive by participation”).

That said, SO is obviously the number one programming site on the internet and the information contained on it (and other Overflow sites) is, typically, trustable and of very high quality — if I search for something and an overflow site is one of the results I tend to trust those results before other random [ie forums] results.  Nearly every day I see my developers relying on information on SO to save them time and effort.

You can’t argue with results, so obviously the formula works.

Since I don’t actively respond or ask questions on SO (most of the time when I’ve gone to ask a question, the simple act of typing out the question to the level where I’d get a reasonable response helps me solve my issue — SO is my rubber ducky) I do at least try and upvote answers and questions that have been helpful.


* that we’ve figured out.

First setup one board.

In that board build the following lists:

  • Backlog
  • In Development
  • Development Complete
  • Ready To Test
  • In Test
  • Complete

Put any features/bugs/enhancements into Backlog.  As developers pick the card, they should assign themselves (if not previously assigned) and move it to In Development.  Once development is complete and unit tested, move the card to Development Complete.

Once the code is to a good point to test, migrate the code to the test environment and migrate all cards in Development Complete to Ready to Test.  The testing team then moves the cards from there to In Test.  If the test passes, the card moves to Complete, otherwise it moves back to Backlog with a comment as to why it failed testing.

Once a release is scheduled, build a new list “Release x.x.x MM/dd/yyyy”, release the code and move all cards from Complete to that release list.

If your project is sufficiently large (ie your backlog is unwieldy or your have had a number of prior releases), you’ll likely need two additional boards.  The first board will be your Product Backlog with lists based on priority, feature type or any other structure you need. You’ll use this board to determine what goes into your sprint/next release/unit of work.  The second board is prior releases where you’ll migrate the “Release” lists of completed cards to after the release is complete.

Luckily Trello makes it easy to move cards from one list to another and from one board to another (and to move entire lists from one board to another) so the process of moving these cards is not onerous.

This setup has worked well for us for single developer releases, project with a multi-hundred card backlog and projects with 4-6 developers.  Our process is fairly fluid and flexible, so this system works well for us, but might not work for your team, YMMV, etc.

Tags: , , ,

This seems pretty obvious, but nearly every resume I looked at while hiring the last round of developers had technologies that the candidate either couldn’t answer a question about (“Man it’s been forever since I used Access 2000”) or didn’t want to work with (“Ya, I did JCL, but I don’t want to use it any more”).

Review your resume.  If it’s got stuff on there you don’t want to do any more, remove it.  Sure it’s keyword fodder for HR, but do you want them to flag your resume because you’ve got Prolog on there still?  It just wastes everyone’s time.

Tags: , ,

Almost 5 years… Well at least I remembered the password.

Some quick stats first.

I posted the link on Reddit only.  Didn’t share it anywhere else.  I got 20,000 hits the first day, 9,000 the next and not nearly as much the next.  Most hits came from Hacker News and Reddit.  A handful of others were from Twitter.

Surprisingly the discussion was mostly pretty good (I really recommend the discussion on Hacker News about it).  Obviously there were the obligatory “author is just an idiot” statements, but overwhelmingly I appreciated the dialog about my post.  Quite a few people had the same impression that I did.  A few others felt that my experience was a good one — ie. it definitely keeps the riffraff out of StackOverflow.

A couple things stick in my mind from reading the responses:

  • StackOverflow (and it’s siblings) is supposed to be a repository of answers with good solutions — not a game for karma/reputation [although people are naturally competitive]
  • To that end, the recommended approach is to ask good questions and let the karma/rep roll in from that
  • The StackExchange people understand that the “drive-by” contributor is locked out and they’re working on the ability for anonymous edits (but not answers or comments?) to be added and moderated/voted upon
  • People actually get jobs based upon their SO reputation!
  • Most people feel that, even with it’s flaws, StackOverflow is better than the alternative (random forums and mailing lists and ExpertSexChange)
  • A good number of people believe that there is a signal to noise issue on StackExchange (but not on the other sites since they are smaller)
  • Lots of people have had the same frustration that I expressed
  • That I should have proposed a solution (and I actually feel bad about this one since it’s a my most common criticism of internet rants)

So I’ll take that last item to heart.

The problems I see with StackOverflow are two-fold:

  1. There is a distinct barrier to entry for the casual user of SO that wants to contribute, requiring them to “play the game” in order to participate — this applies to all StackExchange sites
  2. The signal to noise is getting very, very high on StackOverflow (this only applies to SO right now, but is a problem in any large community)

On a SE site, any random person can create an account and ask a question or provide a top level answer to a question.  Questions and answers are voted up (or down) by people with enough reputation points.  In order to comment on an answer or question, you have to have enough reputation (50).  The ability for anyone to post or answer a question is great on the surface.  No barriers to entry for novices and no barrier for people wanting to answer is really the basis of free exchange of information.  The problem comes in when you limit the ability to upvote (or downvote) an answer or question and the ability to comment on/refine an answer/question.  As a casual, google driven (where most of SO’s traffic comes from), user will simply not have enough rep, or patience, to be able to lend their voice to the discussion.  It’s far easier to just say “whatever” and click back in the browser than to work at getting the 50 rep to add your voice.  If a casual user does attempt to make an effort to actually participate in the community so that they can be a “real” user, they quickly find that it becomes a “watch the new list, answer quickly the easy ones to get a quick bit of rep” game.

The double edged sword of allowing anyone off the street to post a question and answer is that, for every interesting, non trivial/solve by first page on google, question, there are 100 (or 1000) simple, trivial, poorly thought out, homework problems posted.  These simple posts get the asker reputation.  They are answered by random, off the street, posters and voted up (because honestly when someone asks “how to I make a div background repeat horizontally, but not vertically” the first “repeat-x” answer is going to get accepted/voted up).  This undercurrent of simple/poor questions and answers feeds more and more peoples’ reputations.  It’s a self sustaining current too.  Much like algae bloom in your pool caused by grass clippings, if you don’t nip it in the bud quickly, you’re going to have to take drastic action later because the pool’s going to be green quickly.  An ounce of prevention, etc.

OK, so how do you fix this mess?

I think that allowing anonymous posting of answers, questions, comments, edits, etc. is not a good idea (even with moderation).  Force people to sign up/in (new account/Open ID/whatever).  Keep allowing anyone to answer questions.  Also allow anyone to answer.  Allow anyone registered to upvote an answer or question — but don’t immediately give rep to what’s being upvoted.  Put the upvoter’s reputation into the equation.  A more reputable person’s vote has more weight than that of a “random guy on the internet” in terms of visibility and reward to the poster.  Keep downvoting rules the same (have to have 150, and you lose rep by doing it).  Allow “random guy on the internet with an account” to post a comment, but hide them by default (behind a +/- in the UI, so people can see them if they want to).  Allow a reputable person to moderate the comment and make it visible by default — or if enough reputable people say so, flag/delete it.

Summary: keep most of the rep based stuff in place, but allow low rep users to comment, but keep them hidden until “approved” by enough reputable users (or deleted by the same mechanism).  Allow anyone to upvote.  Grant karma/rep for upvotes based upon the person doing the upvoting.

This has one issue (and it’s currently an issue).  If someone has avoided SO, but is a really, really good in their field, they’re still going to have to fight through the “old guard” that’s been on the site a while in order to make their voice heard and have weight.  Any reputation/karma based system is going to have this issue.  Unless there are periodic resets or you remove the weight of karma/rep in someone’s ability  to do anything, then you’re going to have this issue.

It also doesn’t fix the signal to noise ratio.  SO tries really, really hard to keep you from posting a duplicate question.  Of course, if someone’s asking a simple question, they likely are frustrated or really novice and they can’t really determine how a slightly modified question has the same answer they need.  The knee jerk reaction is to enforce some heavy moderation on the “new” question queue.  This will add to the frustration of users seeking answers.  I honestly don’t think there’s a good way to keep people from asking simple, homework, poorly worded or otherwise “junk” questions (the old adage if one person asks a question, other people in the room had the same question, but were afraid to ask applies).

So a potential solution to one problem.  A punt on the other.  Unless StackOverflow turns into StackOverlord, there won’t really be a solution to the latter without destroying the entire premise of the site.