
Developer Productivity - The Red Pill - fogus
http://www.bestinclass.dk/index.clj/2010/08/developer-productivity--the-red-pill.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+bestinclass-the-blog+%28Best+in+Class+-+The+Blog%29
======
sandis
I agree with most of the article, but this –

"But in the time he has booted to his Desktop I've already answered 3 emails
[..] Vanity slows you down, whether its your choice of VM, OS (read: OSX or
Windows) or anything else".

– is hardly an argument when choosing desktop OS.. just put your PC to sleep
and next day it will "boot up" instantly, especially OS X.

~~~
Skroob
The implication that you can't really be productive, or at least as productive
as him, without using Linux with emacs and a tiling WM really tainted the
other, better advice in this article for me.

~~~
kenjackson
The good thing about product related blogs like this is that it reminds me of
which products not to buy. I would have a hard time buying a product from
someone who wrote a blog entry lacking as little content and exhibiting as
much as ego as that one did.

To put another way, there was nothing in the article that didn't fall into one
of three categories: 1) Are obvious to most developers. 2) His/her opinion,
but not substantiated by any evidence, and probably disputed by as many as
would support. 3) Look like possible outright lies.

Not a blog entry I'd consider writing, much less on my company's website.

------
joshklein
#1 tip to improve productivity is to not read productivity posts.

------
adamilardi
1\. Get around 7 hours of sleep every single night: 10+ is better 2\. Avoid
caffeine entirely (coffee & tea): Blasphemy. Please remove this item 3\.
Maintain your tools: 100% agreed 4\. Dont be vain: Be vain when it counts. You
don't want the perception of your work to suffer when it's among people who
don't quite understand technology. 5\. Avoid Social Networks: I hate to say it
but avoid hackernews also. You can sink hours into this site. Hackernews is
entertainment not actual work. Good entertainment though! 6\. Work off a TODO
list: 100% agreed 7\. Use a tiling WM: OK 8\. Use Emacs for Everything: To
each his own 9\. ...Use Conkeror for the rest: DITTO 10\. Always keep looking:
100% agreed If you do something the same way every time you will be left
behind

~~~
lutorm
HN is mostly entertainment, but I read it for posts like this that give an
insight into the tools that people use. If you find out about some awesome
tool this way, it's time well spent.

~~~
adamilardi
I get insight from it also but I'm saying spending an hour a day on social
news is not working.

------
alexkiwi
"If you get regular Facebook updates, Twitter updates, or any other kind of
updates which steals your attention, even if its just for a few seconds, I'm
willing to bet that you're working at 50% of your full capacity."

Leechblock is incredible for this reason, its saved me so many times. Great
read although I disagree with cutting out tea, forcing myself to take tea
breaks every few hours of the day has lead to some great discoveries.

~~~
sourc3
I agree with the caffeine comment. Believe it or not there is a balance when
it comes to coffee. Having a cup of tea/coffee every day is not the same as
having a cup every 2 hours. As in everything, it is not strictly an on/off
switch.

Other than that I totally agree that sleep exercise and food make a great
difference. Eating fat with carbs for 3 meals a day will not help you get the
mental focus either.

~~~
jlindley
I took it to mean that the author is either on or off with such things, and
couldn't merely cut down. I'm the same way. One cup of coffee a day is an
impossible dream for me, I'd have to totally quit instead.

~~~
sourc3
If you are in an environment where there is decaf coffee I suggest mixing half
caf/half decaf. You cannot _really_ taste the decaf and get in half the
caffeine, although it's not a real fix, it should help a little :)

------
Periodic
> A means 'will loose significant value if not done today', B means
> 'important, but will not loose significant value if not done today', C means
> 'optional'.

I find that very often, 'optional' means 'will eventually cross off because it
doesn't get done'. I hate having a to-do list that just piles up. Be honest
about whether you're going to get something done or not.

------
cageface
I gave up caffeine myself a few months ago. It was rough for the first two
weeks but now I sleep better, have a more even energy level throughout the
day, and find I'm more patient with both people and machines.

The only thing I miss is the _smell_ of coffee and having something warm to
drink on cool mornings.

~~~
proee
I got off coffee for two weeks to as an experiment. Note I currently drink
about 2 cups a day.

My energy was much more balanced - could wake up fully alert. However, I felt
depressed the entire two weeks. Generally just very SAD.

So I got back on the drug after two weeks and with the first cup of coffee I
just burst out into laughter. I literally could not stop laughing for about a
minture (huge smile on the face).

Now that I'm back on the drug my energy levels are up and down but I'm not in
my depression hole.

Anyone else experience depression when going off coffee?

~~~
Zev
Not coffee, but, I had a similar experience with Coca Cola a few years back. I
went from drinking 1.5-2L a day[1] to none[2]. Of course, I dropped caffeine
and picked up sugar instead (turns out, its really cheap to grab a Brita
filter and a large jug of sugar flavored like Iced Tea to mix into water..).

Now, its _slightly_ more balanced. I try to only have sugar or caffeine when
I'm not at home.

1\. A glass when I came home from school (around 1:30-2pm), a glass when
having a snack (around 4:30pm), and a glass at dinner (around 7pm)

2\. My college has a deal with Pepsi -- none of the dining halls have Coca
Cola and there is only one or two vending machines that have it on campus.

~~~
proee
Interesting, I ran through the numbers and 2L of Coke is about the same
caffeine as two cups of 12 oz coffee.

~~~
Zev
Huh. Didn't realize it was that much. I thought it was only equal to 1-1.5
cups of coffee/day. Thanks for doing the math!

~~~
proee
2 Liters of Coke has 300mg of caffeine. That's right about 4 shots of
Starbucks espresso, one 16oz cup of Starbucks drip brew, or two regular coffee
(non starbucks) drip brew.

------
thought_alarm
> If you're not on a tiling WM, you're constantly switching between the mouse
> and keyboard.

Can someone explain what the author is talking about? I'm not up to date in
the latest Linux WM fads. (honestly, I thought the problem was finally solved
years ago)

When I'm working, 95% of the time I launch apps and select windows with the
keyboard, on both OS X and Windows.

~~~
silentbicycle
A tiling window manager (such as dwm, wmii, awesome, ion, and xmonad)
automatically tiles windows for you, and has multiple workspaces. Usually, you
can just switch between them by alt-1 to alt-9, move windows between
workspaces w/ shift-alt-1, etc. If you're mostly working with shells &
reasonably large emacs / firefox / etc. windows, they're really nice. With a
little muscle memory, the whole window UI thing suddenly becomes a nonissue.

If you ever used ratpoison, it's a better design in the same general space.

I'd personally recommend xmonad if you use Haskell, dwm otherwise.

------
techiferous
About sleep: I recently read that the typical American gets about 6.5 hours of
sleep per night and that most people need about 8.

Over the last year-and-a-half, I've averaged 7.5 hours of sleep although I do
best with 8. On weeks where I average 7 hours of sleep per night, I notice a
decrease in thinking speed.

------
sdwytkeisjeufjw
Reading the preface (matrix like), I thought: You as me are here in the bed
for sleeping so do it well. Vanity, emacs and other comments are not the red
pill IMHO. Clojure rocks, so I hope the author go back to blogging about
clojure, examples and applications that I enjoy reading for free.

------
geoffc
coffee, vim and screen do it for me :-)

~~~
daten
Another poster mentioned "tmux" in reply to this comment but they deleted
their post before I could reply. I had not heard of tmux before. Apparently
it's an alternative to "screen". I would have upvoted you for making me aware
of it.

<http://tmux.sourceforge.net/>

~~~
silentbicycle
Tmux is fairly new, BSD-licensed, and has a much smaller/cleaner codebase than
screen. It's quickly gotten features that people have been struggling to add
to screen for years. (It comes with dwm/xmonad-style layouts out of the box,
for one.)

If you already use screen and are happy with it, it's probably not worth
switching, but if you're starting new, I'd suggest learning tmux first. You
might want to get a fairly recent version of the source, though - it's in the
main OpenBSD tree now, and it has been improving pretty quickly.

If you use Unix & ssh at all, _definitely_ learn one of them. Yesterday, if
possible.

One of these days I _really_ need to write about getting started with tmux...

~~~
technomancy
> If you already use screen and are happy with it, it's probably not worth
> switching

I switched from screen a few months ago and have been much happier, but I
literally spend 80% of my day on multiuser terminal sessions. tmux is much
nicer than screen for sharing a session.

------
evilmushroom
Ignoring the fact that I prefer to multi-task--- I do not have 5 minutes of
downtime with context switching. If I'm thinking about a certain problem--- it
helps to stop and skim my twitter feed for a couple minutes while thinking
about it.

~~~
daten
I agree. While interruptions in something like watching a movie in the theater
might break my concentration for several minutes, I find context switching to
help my productivity at work. I can get stuck on a problem without a
distraction where changing my focus briefly usually helps give me a fresh
perspective and allows me to solve the problem faster.

~~~
lhnz
This is actually a good point. Something that is fun and engages my mind when
it's dulled and flat is actually quite a useful tool. When I get back to work
I am much more switched on.

I think you just need to remember to define your breaks properly.

------
hippich
So what about this NEO keyboard layout. Did anyone tried it? While I
understand where from performance can come when you are typing email, I am not
so sure about keyboard shortcuts. Anyone?

~~~
loup-vaillant
This layout is for Germans. If you don't write German, don't use it. Use
either Dvorak or an optimized layout for your language (if one has been done).
Personally, I use Bépo[1] a Dvorak-like layout optimized for French (same
principles, different stats). It also happen to be far better than the Qwerty
layout even for English.

[1]: <http://bepo.fr>

Ah, and most short-cuts are independent from the layout. But if you set up you
software such that short-cuts are optimized as well (Alt + home-row-key for
instance), then they'll become easier and faster too. That's probably what the
guy did (he uses Emacs almost exclusively). A good place to start would be
<http://xahlee.org/emacs/ergonomic_emacs_keybinding.html>

------
edwtjo
No caffeine huh.. I guess I'll be moving on to alcohol[1].

[1] <http://xkcd.com/323>

------
swah
The LudumDare developer that impressed many folks the other day was using
Eclipse!

------
joubert
Self-Discipline is a great productivity boost.

------
mdg
In regards to number 7:

>7\. Use a tiling WM

I recall reading a Plan 9 pdf on the Acme editor (sorry cant find it right
now). A unique feature to that text editor is that it is heavily mouse-based.
This is contrary to many peoples (myself, at the time, included) belief that
both hands on the keyboard equals increased productivity.

I used to be 100% dwm. The euphoria of navigating around with your home row
was great (vim + vimperator + dwm). When I purchased a MB, I left my tiled-wm
ways and have not really missed it. Switching my hand from keyboard to mouse
feels more natural than a lot of awkward <Ctrl+__> or <Alt+__> commands. Plus,
most TWMs I have used require a decent amount of time upfront to become
accustomed to all the keybindings. The time difference in switching between
mouse and keyboard vs just using the keyboard is so trivial that it really
isnt worth the plunge in my opinion, though if you think you might like it
better, by all means try it.

Something such as a unified desktop (OS X, Haiku, Gnome, KDE) will make you
more productive rather than a window manager that optimizes for pixel real
estate.

~~~
jkkramer
I'm reminded of a tidbit from an old AskTog[1] article:

"We’ve done a cool $50 million of R & D on the Apple Human Interface. We
discovered, among other things, two pertinent facts:

* Test subjects consistently report that keyboarding is faster than mousing.

* The stopwatch consistently proves mousing is faster than keyboarding."

There are probably all sorts of caveats to this (and the research may have
changed since then) but I'm reminded of it whenever I see people extolling the
virtues of their ascetic, keyboard-centric dev environment. I'm not saying
they're wrong, just that in lieu of benchmarks and studies, I'm skeptical.

[1] <http://www.asktog.com/TOI/toi06KeyboardVMouse1.html>

~~~
loup-vaillant
Interestingly, I don't feel faster with the keyboard. I do, however, feel more
_comfortable_ when I stick to one mode (keyboard-only or mouse-only). It's
switching that feels awkward. I also don't use Xmonad out of pure Geekiness
(though I started that way). I use it because I find it more comfortable. I
work at the same time with OSX, and while moving windows with the mouse is
probably just as fast, it annoys me.

Now the reason why the keyboard is slower than the mouse may be sub-optimal
short-cuts. For example, when editing, one very often needs to change lines,
or otherwise navigate the text. A sensible short-cut to support that could be
alt + jkli (assuming a Qwerty layout). Then you don't have to leave the home
row at all. But if you have to use the actual arrows, it's slower, and that
may make the mouse the better choice.

~~~
natep
You seem to be describing vim's hjkl (left, down, up, right, IIRC)

~~~
loup-vaillant
I am, except modifier key, makes the trick possible on (customizable) mod-less
editors. The idea is not mine, by the way:
<http://xahlee.org/emacs/ergonomic_emacs_keybinding.html>

------
marknutter
He lost me at "avoid caffeine entirely."

