tech

  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3326 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3228 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3297 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3145 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3059 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3144 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3143 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 2953 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 2758 in /var/www/drupal/includes/database.mysql.inc on line 172.
  • user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 2746 in /var/www/drupal/includes/database.mysql.inc on line 172.

estimating the true cost of a new feature

As a software system grows, it's important to start evaluating new features not only on how hard they are to build but how hard they are to maintain and most importantly, test. If you want a reasonable assurance that a feature is going to work correctly after each new release, then somebody (or something) needs to test that new feature before each release.

More features means more testing for each and every release, and therefore a system gradually gets more and more expensive.

Managers, stay out of the way!

Successful managers learn how to stay out of the way and let their teams work effectively and independently. Staying out the way doesn’t mean putting your feet up on your desk and playing Angry Birds on your iPad while your team does all the hard work. It means creating an environment where smart people feel empowered to recognize, own and solve problems.

Here are some ideas to help you as a manger. I’ve included a few quotes from General George Patton, since apparently even our great military leaders advocate staying out of the way.

fitting the kiva redesign into a two week release cycle

Kiva Engineering is an Agile shop. We're better at some parts of Agile then others, but we hold true and fast to the principle of "Release Fast, Release Often". We aim to release every two weeks, and for the past 9 months our largest deviation from that has been a delay of one day.

kiva engineering: tools of the agile trade

this entry was originally posted on build.kiva

At Kiva, our development process is based on Scrum – with work broken into two week Sprints (we call them “Iterations”). We’re good students of Scrum in some regards (we do release every two weeks, without fail), and bad students of Scrum in others (it seems like we still bite off more than we can chew in each iteration). Like most Scrum teams, the center of our universe is our ticket tracking system. We use Redmine – albeit a rather customized version. We’ve put quite a bit of time and effort into our ticket tracking system – so we thought we’d give you a tour.

Gilt's 5@5

Few people would argue the importance of great communication across a development organization. It’s vital that developers are aware of the work of their peers, not only the “what”, but also the “how” and “why”. Achieving this is easier said than done. Traditional approaches such as wiki documentation, meeting minutes, email lists and chat channels have value, but also have significant drawbacks.

kiva engineering: innovation iteration

this entry was originally posted on build.kiva

At Kiva, we tend to attract and hire engineers with a strong creative, entrepreneurial streak. This aligns well with Kiva’s office culture – and with our overall mission – an innovative, technology-driven approach to alleviating poverty. However, as the team grows and we become more specialized in an effort to become more efficient, sometimes our day to day work doesn’t always give us an outlet for our creative sides. After a long project involving concepts like currency exchange loss, it’s easy to feel like you spend your entire working life chasing a few misbehaving pennies around the globe, and that your particular slice of the Kiva pie has become a little divorced from the glorious big picture.

In June 2010, many of us were finishing up some pretty tough projects, and as a team, we were in a bit of a funk. We talked as a team about what we could do to restore our energy and excitement. Our solution was an idea called “Innovation Iteration”.

kiva engineering: a year in review

this entry was originally posted on build.kiva

2010 was a year of growth for Kiva Engineering. We started the year with 8 full time engineers (and 2 managers) and ended the year with 14 engineers – a growth rate of 75%. We also kicked off 2010 with a switch to a new ticket tracking system (Redmine), that allowed us to more accurately track exactly what we’ve been up to. Let’s take a look shall we….

Purge Your Bug Database

Most companies with a shared refrigerator have a strict policy designed by a cunning admin to keep the fridge useful. A common approach is as follows:

Each week:

  1. Ask employees to claim their items in the fridge by writing their name on it.
  2. Wait 1 day.
  3. Throw away any unclaimed item.

More Digg Technical Talks

We had another couple of great external speakers talking at Digg HQ. The open-source master Doug Cutting stopped by the Digg office to talk about the growth of the Hadoop platform. He talks in detail about Avro. Avro is an RPC and serialization framework that has some interesting differences compared to the popular Thrift framework.

tokenizing twitter posts in lucene

solr lucene is good technology to use for searching over a corpus of tweets. if you take the content of a tweet and dump that into the default solr lucene "text" field, you'll do pretty well. however, if you look at your results closely, you'll find one subtle, but very annoying problem: searches on a hashtag term will match the non-hashtag term.

syndicate content