Author Archive

In Scrum (or agile in general) what are managers good for

I’m going to quote “woynam” from the scrum mailing list:

I like to use the (American) football analogy that managers are like offensive linemen. Their job is to knock the defensive players on their asses so that the high paid running backs can run into the end zone without getting grass on their pretty white uniforms. The running backs score the touchdowns, and get the glory, but the linemen make it possible. :-) If a lineman finishes the game without mud, and a bit of blood, on their uniform, they probably weren’t doing their jobs.

I like to think of a manager as a shield between the manager’s team and the rest of the org. I do believe this is what managers need to do, especially managers of “makers”. However, if you’re such manager (and good for you), do expect to get bruised. You might even have to quit your job if the company feels you’re too strong a shield. Been there.

Comments

how to turn a happy programmer into something else

Don’t laugh, this could happen to you:

http://hashedbits.com/the-birth-of-the-grumpy-asshole-programmer/

Stage 1: The happy creative programmer
Stage 2: The proud father
Stage 3: The product guru
Stage 4: The grumpy asshole programmer

Comments

Pile of books – 4 years later

4 years ago I had this pile of books waiting to be read: http://morgane.com/2005/11/

The current list looks like this:

books

Some things never change…

Comments (6)

here-documents

Some ways of using here-docs:

name = "bob"
# interpolation
doc = <<DOC
  Yo #{name},
  what's up
DOC
p doc
#=> "  Yo bob,\n  what'
s up\n"
# indent the end marker
doc = <<-DOC
  Yo #{name},
  what's up
  DOC
p doc
# => "  Yo bob,\n  what'
s up\n"
# no interpolation
doc = <<-'DOC'
  Yo #{name},
  what's up      
  DOC
p doc
# => "  Yo \#{name},\n  what'
s up\n"
# replacing spaces with underscores
doc = <<DOC.gsub(' ', '_')
  Yo #{name},
  what's up      
DOC
p doc
# => "__Yo_bob,\n__what'
s_up\n"

Comments

cyberduck and snowleopard don’t like each other

Cyberduck won’t start on Snow Leopard. Install the new beta to fix it:

http://cyberduck.ch/

Comments

some awesome textmate shortcuts

as<tab>
  assert(test, "Failure message.")
ase<tab>
  assert_equal(expected, actual)
tc<tab>
 require "test/unit"

require "library_file_name"

class TestLibraryFileName < Test::Unit::TestCase
  def test_case_name
   
  end
end
:<tab>
  :key => "value",

Comments

uninitialized constant MysqlCompat::MysqlRes

It seems that I still don’t have a stable system, since I’ve upgraded to Snow Leopard a few weeks back.

Running db:migrate or entering cmd-R from TextMate fails with the following error:

uninitialized constant MysqlCompat::MysqlRes

I did a few different things, but I it boils down to having to do this:

$ sudo gem uninstall mysql
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/lib/mysql_config

(your mysql_config could be in /usr/local/mysql/bin instead, in which case make sure to use that path)

I’ve also wound up uninstalling mysql and reinstalling, though I don’t think those steps were necessary. Just in case, you might want to try that also. Go here: http://dev.mysql.com/downloads/mysql/5.1.html#macosx and get “Mac OS X 10.5 (x86_64)” from the package format section.

Comments (1)

upgrading to snow leopard

1) Make sure you’re all upgraded (10.5.x) before moving to snow leopard. If you aren’t, the installer will have you do it, so it’s all good.

2) Log out all but one user. If you don’t things will still work, but the installer won’t continue until you do, so do that too to save a few minutes.

3) It takes about an hour

iMac: everything worked fine after the upgrade: Time Machine, Adium, iTunes, Firefox. These being the main apps I tried.

MacbookPro #1: Time Machine worked, so did mounting net disks, iTunes and Safari. Spirited Away needed Rosetta. The OS was smart enough to let me know about Rosetta and install it on its own. Worked fine. Wireless and hard wired connections worked. World of Warcraft works, though my toons are still lame. Couldn’t get Exchange to work, and it’s back to Entourage. Oh well. VPN through Juniper Network Connect didn’t work and I had to do this for it to:

sudo chmod 755 /usr/local/juniper/nc/{version}/
sudo mkdir ‘/Applications/Network Connect.app/Contents/Frameworks’

iStat menus are gone, but the desktop widget still works.

Still have two macbook pros to upgrade, but it’s looking good so far.

Comments (1)

3 pillars of job satisfaction

Skorks says his 3 pillars are money, people and type of work.

Rod Hilton says it’s people, project and the company.

I say it’s the people, the technology and the appreciation you get.

People: If the people you work with are nice, or your friends, or rich & famous, or funny, or easy to work with. Basically if I don’t hate to be with them, I can check that box.

Technology: Challenging, relevant, interesting, in high demand, brain teaser. That does it.

Appreciation: $$$, your users, your coworkers, your boss, the industry. Any of these is good.

3 out of 3: you run red lights to get to work in the morning
2 out of 3: you run yellow lights
1 out of 3: you slow down at the green light
0 out of 3: been there, no fun, but it gets better.

Comments

What are some examples of awesome companies/products built with TDD?

A couple of weeks ago I asked on twitter/facebook for examples of awesome companies(*) built with TDD, and never got a satisfying answer.

As a TDD advocate and practitioner, I want those companies to exist. TDD (or at least “an insane amount of tests”) has been working for me for almost a whole decade, and it would be disappointing if the technique only works for average companies or products (I still haven’t built a product worthy of awe).

I was told that there’s no correlation between TDD and product awesomeness. In that case if, say, 1% of all teams in the world practice TDD (or lotsa tests), then for every 100 awesome companies, I should be able to find one that was built thanks to TDD.

I can’t think of any (perhaps Rails by 37 signals?). If you know of one, or even better, work or worked there, I would like to hear about it.

(*) I want to be very clear about the fact that I already know that TDD works great for building good enough products. I don’t need to see examples like how Division 37 of BigCorp has 82.3% code coverage which allowed them to ship in 3 months instead of 6. I do mean awesome companies or products. For example: gmail, google 1.0, netflix, amazon, firefox, mac os, blizzard, facebook.

I’m also less interested in TDD used to maintain products, great or not. So for example, if World of Warcraft 1.0 was built with TDD I want to know about it. If a team of developers added test coverage after wow 1.0 was out, so fixing bugs would be easier, it would be nice to hear, but it’s not what I’m looking for.

My hypothesis is that TDD is great for making average products better. But for building truly exceptional products, you need truly exceptional individuals, and those individuals tend to be slowed down by TDD. Therefore truly exceptional products are not built with TDD. QED (unless proven otherwise :p)

Of course bad or below average programmers also would never user TDD, and that’s where the similarity ends.

Comments (10)

On Paul Graham’s Maker’s Schedule, Manager’s Schedule

A few weeks ago a co-worker of mine came across this PG’s essay and sent it to the rest of the company.

It sparked a conversation which was great. I was surprised that “the other side” didn’t already know this stuff. Especially useful because everyone seems to “get it now”. Sometimes all it takes is to share information.

Anyway, another co-worker just asked:

- putting together a model airplane falls in the “maker” category, right?
- how do you makers eat since you can’t take breaks.

I responded, and here’s, for the most part, what I said:

> There are other examples/ analogies outside programming – any manufacturing
> process has the same issues – whether you are making high tensile steel or
> putting a model airplane there are the same issues.

You’re absolutely right. PG was careful enough to say maker instead of
programmer for that reason. However, and though it’s true this is not unique
to programmers, I don’t think Paul Graham meant “maker” to be as generic as
to include manual labor, or any other activity you can do while watching TV
and having a conversation with your neighbors. I imagine that’s how one puts
together airplane models :)

The mental concentration necessary to make a program, or to calculate pi in
your head, or to integrate a complex mathematical expression, is not
comparable to the mental concentration necessary to put together a model
airplane, or to make a table out of wood, or, and that’s his point, to be in
a meeting.

Especially in a meeting with more than 2 people in it, it’s common to see
people doing something else. Perhaps chatting with their friends, or
“catching up on email”, or whatever it is that people choose to do during
meetings.

To a naïve observer such as me, that indicates that the act of meeting
though important in so many ways, requires less mental concentration than
what a maker would need.

Programming, unlike other mental activities such as trying to memorize the
first 50 decimals of pi, are even more to PG’s point, because they not only
require periods of intense mental concentration, but these periods tend to
be longer than just 15 minutes.

It’s an accepted fact that it takes 15 to 20 minutes just to get back to a
decent concentration level. Which btw means that when you (you here is the
general you) interrupt a maker “with a quick question”, it will take the
maker 15 to 20 minutes to start being productive again.

> One question springs to mind – eating – always thinking about food – how
> does a maker eat if they can’t take a break?

Important question as well.

Of course makers *can* take breaks. PG’s point was not that makers can’t
take their eyes off the monitor.

Eating works (vs having meetings) because eating, or going to the bathroom,
doesn’t require mental context switch. I can be eating and still be thinking
about the problem I was trying to solve. Same for going to the bathroom. I
can go for a walk around the block, and though it might look like I’m just
goofing off, I’m actually working.

Another reason why these types of break work, is that they’re not time
bound. Unlike a meeting which happens to be scheduled for say 3:00,
eating/peeing is more flexible.

If my lunch alarm goes off (yes, I have one) and I’m in the middle of
something, I know I don’t have to drop everything and go eat right now! I
can start winding things down, take notes so I remember where I was when I
come back, or even skip lunch all together if I really need to.

Compare that to having a meeting at 3 o’clock, where you’re supposed to be
there and perhaps even participate (when you’re not also “catching up on
email”). In that case I cannot just show up 20 minutes late “because I was
in the middle of something”. Or god forbid, not show up at all, which is
actually better, than to show up and only pretend to be there, but that’s
for another day.

If you add all these notions together:

Meetings start at fixed time + takes 15 to 20 minutes to start being
productive + programming requires long periods of sustained concentration,
and you can see how having 2 hours of non-meeting time is as good as having
no time at all.

Comments

Simply Scheme is available online

simply

Brian Harvey’s Simply Scheme fantastic book is now available online. Brian Harvey just announced it a couple of days ago on comp.lang.scheme and it got me all excited. I already had a paper copy but being able to walk around with a much lighter version is really appealing to me.

Both PDF and HTML versions are available. Unfortunately the PDF version is not available as one big bundle. Instead you have to download 28 chapters, which is itself a pain, and then you need to combine them somehow.

I got the 28 PDFs with wget, from http://www.cs.berkeley.edu/~bh/pdf/ssch[00 -> 27].pdf then used ghostscript to combine them:

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=simply-scheme.pdf ssch00.pdf ssch01.pdf ssch02.pdf … ssch27.pdf

Worked great.

Comments (2)

be happy, simplify

http://www.webmd.com/balance/features/why-youre-not-happy

“Why do you think monks and nuns shave their heads, he asks? For one, it simplifies their lives”

Comments (3)

textmate footnotes makes rails in “dev” super slow

textmate footnotes is a nice plugin for debugging your web app. Unfortunately it makes the app super slow in “development”. you should only activate it when you really need it.

Luckily I work with people smarter than me, who thought that maybe the reason for the slowness was this plugin.

now I have it off by default and life is good again.

http://agilewebdevelopment.com/plugins/textmate_footnotes

Comments

Barack the President!

Just listened to Obama’s speech. Wow, that’s what smart presidents are supposed to sound like. I had almost forgotten it.

It’s good to be an American.

Comments

Nick Cave and The Bad Seeds @ The Warfield in San Francisco

A friend gave me Tender Prey 20 years ago for my birthday. I had never listened to Nick Cave before and overnight Nick Cave and The Bad Seeds became my number #1 rock band to follow.

Though I still go to to rock concerts (even to go see lesser bands), though not as much as back then, life is such that I had never seen Nick Cave perform live. That was until a couple of days ago in San Francisco.

Over the years, and being as obsessed as I am with this band, my passion rubbed off on my family. So much that I was not the only one excited by finally going to go see Mr Cave. Which is perfect of course. Life is good when you, your wife and your kid are excited about the same stuff.

We had tickets for the floor, as I always do just in case there’s going to be some mosh. Though many of his songs are very moshable, he’s such a special artist with such special music, that I was guessing that people would be more interested in absorbing his stuff as much as possible, as opposed to absorbing other people’s fists on their noses. Either that or the majority of his followers are middle age men like me, who lost their smelly teen spirit and are not going to get caught in a mosh. Losers.

Anyway, no moshing this time and like Fabienne said “you don’t go to opera to slam dance, you go to watch the show”. Wow. Seeing Nick Cave has the same gravitas as going to the opera. I like that.

In fact, I was a little worried that Nick Cave, after all these years and with nothing to prove, would either be tired of performing and just stand there and sing, or act like a diva. Boy was I wrong. So much energy, so much playing with the crowd, so much humor.

Yeah, it was a beautiful show. Great music, great performance, great set, no special effects. After the man himself, it was hard to take my eyes off Warren Ellis (not that one, this one). The man does all sorts of crazy things with his violins and his mini guitars.

The Hard Rock Chick has a nice post about the gig, and Blah Blah Blog has some nice pictures. My pictures aren’t as nice, but they are mine.

One of 1,000 Best Nick Cave songs:


Special announcement:

In a couple of weeks my other favorite band :p Gogol Bordello will be in the city again and I want to see them again. My passion for GB hasn’t rubbed off on the family yet, and I think I will have to work very hard to convince them. In fact I don’t think I can convince them. I’m looking for someone to join me. It’s for a good cause and moshing is almost guaranteed!

Comments (1)

my micro-investments have enabled 4 loans so far

My *small* investments with microplace (*) have already enabled 4 loans to the working poor.

Some would argue that when one borrower gets a micro-loan, not only will the borrower start their own business and therefore help themselves out of poverty, but their family will also be helped.

I like to think that enabling 4 loans really translates into helping 10-15 people.

(*) disclaimer: I work there

Comments

i like the apple keyboards…

I got apple keyboards for my peeps @ work. I think they’ll like them too.

Comments

google chrome comic book is excellent

Comments (2)

microplace 2.0 is live

New design and better search are the two big features. Now you can search for investments based on different criteria: interest rate, level of poverty, women impact, etc. Of course you can also still search for investments in your favorite region.

http://microplace.com

Now to celebrate …

Comments (1)

« Previous entries Next Page » Next Page »