
The advantages of programming on a small netbook - ianso
http://ianso.blogspot.com/2010/02/advantages-of-programming-on-small.html
======
jergosh
End of the world is nigh -- Netbeans is being referred to as 'lightweight
IDE.'

~~~
tomh-
Indeed, if Netbeans is 'lightweight' then E texteditor or notepad++ must be
hardware accelerated by a dedicated chip :D. Netbeans has to be one of the
slowest and most resource consuming IDE's I ever used.

~~~
dagw
Even Eclipse is fast and responsive compared to Netbeans

~~~
goodmitton
My experience found the opposite to be true.

~~~
wallflower
Eclipse was an impediment (in Scrum parlance) to our project

~~~
jrockway
But probably a very minor one compared to the languages people use Eclispe to
write.

------
elblanco
Reminds me of the old demoscene days. Tran
(<http://en.wikipedia.org/wiki/Thomas_Pytel>) was a legend for a while,
programming fast, lightweight, mind blowing effects that ran really well on
slow hardware. When it was revealed that he did all of his coding on slow,
last gen hardware (at the time a 386sx when everybody else was on 486dx2s) he
ascended into virtual demoscene godhood.

The point is that the constraints of his system forced him to code better
rather than being lazy and relying on the hardware to carry him through the
day.

(too bad the wikipedia page doesn't list Kaeon, his one man shooter than was
revolutionary on PCs of the day).

 _edit_ here it is! <https://www.mobygames.com/game/kaeon>

~~~
billybob
Now this is an interesting point. One application might be to develop your web
app on a slow computer and a tiny screen; net books and mobile phones will
have no trouble if you don't.

Or you could just have a mobile phone sitting nearby, and keep hitting
'refresh' on it...

------
chanux
I too am using a netbook as my primary machine. Even though I do all the stuff
I need to without much trouble, I have this feeling that I'm having a low end
machine and this very feeling makes me write better code, use lightweight
programs etc.

somewhat off topic but I feel like saying this story too. When the game hitman
2 was out I had a machine with only the minimum requirements. So I always had
very high stealth points because I never went out in bang bang shoot outs
because the machine got stuck when I alarm so many enemies.

~~~
prog
I was always curious about this. How are compile times for large projects?

~~~
chanux
Scary. Once I complied Qt and I let it happen while I sleep.

------
SlyShy
I program and write exclusively on my Aspire these days.

Keyboard: I have small fingers, and I actually type faster on the netbook
keyboard. The key distances are smaller, so I'm moving my fingers les.

Screen: I use a small font (Code Envy R at 10pt) and WMII, so I can fit a lot
of code on the screen at once. I can also switch between windows extremely
quickly, so it is relatively painless not to have all the code I'm working on,
on screen at once.

Battery: I got the six cell battery, because I don't mind the extra weight
(unless you have muscular dystrophy what difference does weight really make?
It isn't like I have to hold this thing in the air while typing on it. ;) but
I do love the seven and a half hour battery life. It also uses close to no
power when on suspend (loses maybe 3% over two hours) so I just shut the lid
whenever I'm not using it, and a charge lasts me the whole day.

Durability: I've dropped this thing off tables maybe seven times now. It
doesn't care. It also spends most of its time in the small compartment of my
backpack where it gets jostled all day.

~~~
jacquesm
With respect to it being dropped seven times now, do you have an SSD in there
or a regular drive?

~~~
SlyShy
Regular drive. Which made me queasy the first time I dropped it, after being
used to the touchy hard drives in previous computers.

~~~
jacquesm
Impressive. Beware of any errors from that drive, check the smart data to make
sure that you're not suffering soft errors that are being corrected now and
that will leave you with a dead drive at some point in the future.

If the drive was spinning when it fell it all depends on the angle and the
strength of the shock, if it was not spinning chances of not having any damage
are much better.

~~~
jrockway
I agree here. My netbook hard drive had errors about 3 days after I started
using it, and I didn't ever drop it.

SSDs were _made_ for netbooks. I am not sure why vendors even attempt to put
hard drives in them. (Actually, I know why. Comparison charts, and money.)

------
michael_dorfman
I wonder if this is another indication that some of the old practices from
"back in the day" will come back, in some unexpected form.

For example: I remember, back in the day, that in order to compile, I had to
submit the compilation job to a batch queue running on a separate server.
Usually, you got your "success" or "failure" message back within a half-hour.

(Similarly, print jobs printed to a device in a locked room, and an "operator"
(remember those?) would deliver the printout to your desk, usually within a
half-hour.)

Needless to say, one tended to be pretty damn certain that the code was clean
and correct before attempting to compile.

As Samuel Johnson said, _"Depend upon it, sir, when a man knows he is to be
hanged in a fortnight, it concentrates his mind wonderfully."_

~~~
ianso
That's an interesting point. I guess the compilation job queue, which itself
sounds similar to punch cards through a mainframe, has its modern equivalent
in running large MapReduce jobs or load tests on EC2... not something I would
want to repeat too often during the dev cycle :-)

------
strebler
"I can code in a crowded bar"

Bars aren't for coding, put down the computer.

~~~
hugh3
If I can drink in the office, I don't see any reason why this guy shouldn't be
able to code in a bar.

~~~
xtho
Well, maybe different people who live in different countries on different
continents have different ideas of what a bar is. Where I live you don't go to
a bar to drink although you usually drink something when you're in a bar.

But then ... maybe you work at a bar? You didn't describe your office.

~~~
ido

        Where I live you don't go to a bar to drink although you usually drink something when you're in a bar.
    

What _do_ you go to a bar to do?

~~~
maneesh
I lived in Italy where 'bar' means any place, often a cafe, that also serves
alcohol. Often they have free wifi and encourage people to come :)

------
jah
Retort

I had horrific problems with the keyboard on my 1st gen EEE PC, so make sure
you get a chance to demo the netbook of your choice before blowing $400 bucks.
The right shift key is terribly placed
(<http://en.wikipedia.org/wiki/File:ASUS_Eee_PC_900_0010.JPG>) - you reach for
shift and you end up hitting the up arrow. Sure you can remap the keys, but
this design decision is indicative of the overall quality of the keyboard. The
_biggest_ problem was that various keys randomly ignored input. Hit the
spacebar 10 times, you'd be lucky to get have it register 10 times. Try coding
in vim with a keyboard that may or may not let you into insert mode. Maybe I
just got a dud, but the EEE PC message boards suggests other users experienced
similar issues.

I used that netbook exclusively for 6 months before giving up. Now it's my
$400 Playstation 1 emulator :-/

~~~
there
i had a keyboard problem with a dell mini 9, but it wasn't really about it
being cramped: to use important keys like "\", "|", "-", "[" and "]", one had
to press the fn key plus another.

[http://www.flickr.com/photos/symmetricalism/3429329317/sizes...](http://www.flickr.com/photos/symmetricalism/3429329317/sizes/l/in/set-72157616597591034/)

luckily there was an international version of the same keyboard being used on
other mini 9s, so i was able to order it from dell and install it on mine.

[http://www.flickr.com/photos/symmetricalism/3465687431/in/se...](http://www.flickr.com/photos/symmetricalism/3465687431/in/set-72157617188102792/)

~~~
bazbamduck
I recently gave up on my mini 9 because of that precise problem, not knowing
about the international keyboard option.

Do you happen to have the part # for the international keyboard? (I just poked
around Dell's site for it unsuccessfully.)

~~~
there
the part number is U061H, it's just an "international keyboard" in their
system. you may have to order it directly by contacting dell (either their web
sales chat thing, or calling) and just asking for the specific part number.

the back of it is the top one here:
[http://www.flickr.com/photos/symmetricalism/3466501746/sizes...](http://www.flickr.com/photos/symmetricalism/3466501746/sizes/l/in/set-72157617188102792/)

------
csomar
Nice Article. Just wanted to add as I have seen some people here and their
saying that programming in a netbook is a joke. Yes, I agree that netbooks are
slow and have a small screen, but they were good for me for JavaScript and
HTML programming.

Since I bought my netbook (3 months ago, LG x130), I have been using it
heavily to browse the web, open and edit office documents, play games (and it
runs well Age Of Methology), watch videos and chat with friends (it has a
cam). The netbook has served me well, it’s fast and the battery life is fine
(4 hours).

Later, I have decided to learn some jQuery and JavaScript in my spare time (so
in my netbook). I installed Expression Studio (Web 3.0), Stylizer, FireFox,
FireBug and Google Chrome. When working (debugging JavaScript or editing HTML)
I always keep all of the windows open (Web 3, Firefox, Chrome, Stylizer and
sometimes IE8 for testing); the speed is amazing, it never slowed me down. I
also run Skype and Gtalk.

The only issue I have been facing is Flash and mainly with FaceBook videos
which completely slow down, kill and then crash Google Chrome or any other
browser which was positive since it increased my productivity. Another issue
was with Adobe Reader, very slow at loading, opening and browsing PDF books or
files.

~~~
mapleoin
I never imagined Age of Mythology as a game with such a long lifespan. I
remember playing it about 6 years ago.

~~~
csomar
Yes, the game is old, but the new Age Of Empires versions sucks .Age Of
Mythology is the best strategy game Microsoft has ever released.

------
zokier
One command which is especially useful with netbooks is 'ssh'. Now you have
all the computing power you need.

edit: I might add also screen/tmux. Coding at home, and need to go? detach and
grab a laptop, continue coding. Your battery dies? Session is at remote end
and nothing is lost.

------
reginaldo
I find it very simple to explain to my friends... If it runs nicely on my
netbook, it will run pretty much anywhere. Also, there's another thing...
While the keyboard is annoying at first, in the long run it makes typing
faster, as the keys are closer to one another.

~~~
grandalf
exactly! and it puts some useful constraints on UI design that result in
better usability too, I think.

------
ashishbharthi
The bottom line is you are screwing your EYES. Use netbook keyboard if you
like it so much but don't punish your eyes by using that photo frame like
screen for java programming.

~~~
olliesaunders
What makes this true?

~~~
ashishbharthi
[http://jkontherun.com/2009/03/04/achy-wrists-bleary-eyed-
you...](http://jkontherun.com/2009/03/04/achy-wrists-bleary-eyed-you-may-have-
netbook-fatigue/)

~~~
kscaldef
Bump up your font sizes?

~~~
kellishaver
The problem with that is that you get a line length so short that it becomes a
real pain to actually use productively.

I have only one semi-functioning eye and code in 14pt font on a 24in monitor,
though, so I'm maybe not the best to talk about eye strain on a netbook...
after all, one must be able to at least see them first.

But it seems like line length would be a real issue.

------
r11t
I bought an Asus Eeepc 1201t 12 inch netbook from newegg a few days ago and
the experience so far has been very pleasant :
[http://www.newegg.com/product/product.aspx?Item=N82E16834220...](http://www.newegg.com/product/product.aspx?Item=N82E16834220698)

* AMD Athlon Neo MV-40(1.60GHz)

* 12.1" WXGA

* 2GB Memory

* 250GB HDD

* ATI Radeon HD 3200

Not bad for $380 I think! Also Ubuntu 9.10 runs fine on it except the wifi
driver which has to be manually installed but only involves an extra minute or
two.

~~~
dhimes
_except the wifi driver which has to be manually installed but only involves
an extra minute or two._

and, of course, you've written a script for that by now anyways (right?)

BTW, as I noted elsewhere, ubuntu netbook remix is outstanding for the
netbooks. It provides maximum screen space utility and is worth a look.

------
d0m
Asking for the best tool is not arrogance, it is just being smart. However,
using a simple piece of paper may be the best tool at your disposal for a
specific task.

------
st3fan
For me there is another advantage: small screens force me to focus on code
without distractions.

Don't get me wrong, I love my 27" iMac, but there sometimes is too much going
on on the screen. On a small screen you just see code and nothing else. No IM,
no finder icons, no bouncing dock things. Makes a big difference if your brain
is already going 150 MPH.

Maybe this is why Stallman is also still using a fullscreen emacs in tty mode.

------
jasonkester
My dev box these days is a 3 pound, 10" ThinkPad X60, bought off eBay for $300
and maxed out with 4gb ram and a 320gb drive. I'd prefer something bigger, but
then I've been backpacking across South America these last 7 months, so space
and weight are kinda precious.

Here's my experience:

Up: \- It's fast. Honest! Faster than the proper dev machine I was using just
3 years ago.

\- It's crazy portable. I can write code on a bus.

\- Long battery life. 8 hours writing in Word, or 3 hours at full dev mode:
SQL Server up, VS.NET and ReSharper churning away nonstop while 4 copies of
the client-heavy end-product are running in the background.

Down:

\- You can't fit much code on the screen. Means you need to keep more stuff in
your head, which slows you down a bit.

The big downside is that nobody is making fast small machines anymore. The
X60, which ended production 2 years ago, is the last notebook you can buy with
a non-letterbox screen and a proper fast processor. Now it's all netbooks,
with their boggy processors and wide-aspect, codeproof screens.

It's a shame. If somebody made a machine on the X60 form factor with the
latest hardware I'd definitely buy one.

~~~
senko
I'm doing all my work (programming) on my trusty ThinkPad x200, which is
basically a successor to X6x.

While it is somewhat larger (12" screen, 3.25lb), it's still rather mobile,
and a bit bigger screen (1280x800) means I can fit most of what I need on the
screen (I prefer my windows maximised, though, and my IDE of choice is
vim+bash).

It's powerful enough machine, too - I usually have one (or, not so often, two
or more) VM running for servers and/or different operating systems.

------
mace
I just moved to a netbook for most of my hacking and am pleasantly surprise
how well it works. I run Ubuntu with Xmonad. Xmonad works really in the small
screen. I compensate for the slower Hard Disk and CPU by maxing out the RAM. A
big win is being able to go almost one full day between charges.

~~~
dhimes
I like the ubuntu netbook remix. I added the workspaces back and it works very
well.

------
pavel_lishin
> If I had a screen in front of me, the temptation would be to do something,
> to try out the idea

And this temptation is bad?

~~~
regularfry
It is if it means you're working on a second-class idea rather than thinking
for another 10 minutes to come up with a first-class one.

------
RodgerTheGreat
I couldn't agree more with this article- I've found myself doing the same with
an even older Eeepc 701. It's far less distracting to work on a netbook. You
simply don't have the horsepower or screen real estate to waste on non-
essentials, and the tiny keyboard makes you think before you type.

------
jacquesm
I very much don't practice what I used to preach, which is to use a slow
machine and a small screen in order to write software, it makes you write
better code.

Fast machines make you lazy.

These days the stuff I write does not run on the machine it is written on at
all so that's no longer a factor.

~~~
SeamusBrady
I have always kept my own personal development machine a year or two behind
what is considered bleeding edge as this is what my users will have.

Makes it easier to spot performance issues if you are not using a desktop
water cooled super computer that boots so fast it causes nosebleeds and
nausea.

------
kqueue
All in all, none. The blogger just likes the keyboard.

------
ajuc
I experienced exactly the same, when I started bringing pen and paper to bus
driving to/from work and code on paper.

It is very different experience from coding with computer, and it results in
better quality code, because I can't just run to "ensure" it works, I have to
think it throught.

Also I tend to write less code, when each time I forget to add check before
some line I have to rewrite whole function by hand.

In home I just check documentation for apis I didn't remembered, and type code
into computer. Almost always it works after a few minutes of simple variable
misspelings etc corrected.

Of course, this won't work so good with bloat oriented languages :)

~~~
nfnaaron
Does anyone use something like Warnier/Orr diagrams for on-paper procedural
code, or do you just code/pseudo-code in the target language?

<http://varatek.com/warnierorr.html>

<http://varatek.com/warnierorr_diagrams.html>

------
jff
My netbook is great for playing nethack in class, but it's not great for
coding. Mostly because I code in Acme, which depends thoroughly on a good
3-button mouse; the netbook's two button one-bar thing doesn't cut the muster.
And of course there's the screen size--600 vertical pixels do NOT show enough.

My old Thinkpad T22 was fantastic for coding, and of course my desktop with
HHK and 3-button Logitech (3 real buttons, no scrollwheel) is even better. The
netbook, not so much.

------
gills
I did 4 months coding on the eeepc while traveling. Most working time was on
transportation which usually meant no internet. I got used to the small
keyboard, and ubuntu/bash/emacs was a solid environment. The only notable
downsides were that the local web server fell behind from time to time, and
full screen context switching (for the browser, docs,etc.) is not as
productive as one might think.

------
sliverstorm
I'm excited to see someone else practicing the behavior at the core of his
netbook experience. At work, I use a traditional desktop machine, but any time
I have a vaguely defined challenge that requires some creativity or thinking,
I will reflexively and immediately get up and walk around the office a bit
while I plan. I come up with much better solutions that way.

------
herdrick
_If I had a screen in front of me, the temptation would be to do something, to
try out the idea..._

The nice thing about a longish honest post like this is that the writer is
likely to tell you what you need to know whether he meant to or not. This is a
good example of condemning something while meaning to praise it. Trying out
ideas is half the point of programming!

~~~
ianso
Well, thanks for the compliment I guess :-) Trying out ideas is indeed the
point, but reducing the solution space for a given problem is better done in
your head than post-facto in the (written, tested, integrated) code, no? The
earlier in the process you fix things, the cheaper it is to fix.

~~~
herdrick
Well, before testing and integrating, sure. Writing it, maybe not. It depends
on what you're working on I suppose. Certainly I've had the same experience -
not being able to turn on a computer and so thinking about coding instead of
doing it and having a better way occur to me. But I think coding immediately
still wins usually.

------
sunkencity
I sometimes use my Acer Aspire One to work. It works fairly well. It's running
moblin so it boots incredibly fast and there's a nice terminal that can go
full screen (Maybe the Xfce Terminal). I jump between that and the browser
with alt tab. I mostly use emacs, ssh, screen.

------
th0ma5
this has been my experience. if it runs like crap on one of these things, it
will probably run like crap elsewhere. plus how much computer do you need to
ssh into a 40 box farm of ec2 servers?

------
aduric
I run an emacs --daemon on a powerful server and connect to it from my
netbook. Best of both worlds. Just need constant WiFi which I can almost
always find.

------
borism
I agree with the premise, but article doesn't at all seem to substantiate it.

coding on a train? coding in your head while shopping for groceries? how is
that related to notebook at all? same can be done with any laptop. no?

~~~
RyanMcGreal
True, but the constraints of a netbook actually serve as an incentive to think
things through rather than start right away with exploratory code.

I recently coded a personal site (around 5,000 lines) almost entirely on an
Acer Aspire One with a small display and a cramped keyboard, and I made sure I
knew exactly what I wanted to write before sitting down (usually during
lunchtime).

~~~
count
So, 'make it painful to code, buy requiring your code to be written on
substandard equipment' makes you think more about what you're going to do,
because the experience of using it is painful and substandard. I'm not sure
I'd like to put myself through that. Also: I'm pretty sure those tiny
keyboards are NOT ergonomically up to snuff for anything more than basic
web/email usage. My wrists hurt after about 30 minutes of typing on them - I
can go for hours on my full size keyboard though...

~~~
jrockway
Everyone is different. I can type without pain on a netbook keyboard for
arbitrary periods of time. I can type _faster_ on my HHKB, however.

(Of course, the HHKB is as easy to carry around as the netbook, so I usually
don't have to use the netbook keyboard. Once you get past the keyboard, a
netbook is a full machine like any other. Except it weighs nearly nothing and
it can live for 14 hours without a power outlet.)

~~~
dkersten
Until I upgraded my work room with a wall-length desk, I did most of my
development on my eee pc 1000he. I got used to the small keyboard very quickly
and the small screen was only somtimes a hinderance (in fact, the only time
was when editing GUIs in Qt Creator - it got a bit cramped then).

The speed was also rarely an issue. Clojure _starts_ a bit slow, but
everything runs perfectly fine. Admittedly, I mainly use lightweight tools
like vim (I did once fire up eclipse, but it was so painfully slow, I promptly
(as promptly as it let me) uninstalled it again).

I actually bought the eee pc for development. I find it extremely useful to
have a small and light laptop which i can throw into the bottom of a bag and
bring with me wherever. I got it for the freedom of being able to work on the
bus or in a cafe without the hassle of a heavy or bulky laptop.

I do use a decoration-free window manager though, so I don't have screen space
wasted on window borders, title bars or taskbars.

I've mainly been using my dual monitor desktop machine since I "upgraded" my
work room, because I now have a very spacious desk and it makes sense to me to
have plenty of screen space too (and I've been doing more GUI development
recently too), but I still ocasionally pick up the eee pc to hack something
together, especially when I'm not near my desk.

