9 ms·
The advantages of programming on a small netbook
- reginaldo 16y agoI 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 16y agoexactly! and it puts some useful constraints on UI design that result in better usability too, I think.
- borism 16y agoI 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 16y agoTrue, 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).
- ianso 16y agoYup, this point concerning the constraints is exactly what I meant to put across in the post - well put.
- count 16y agoSo, '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 16y agoEveryone 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 16y agoUntil 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.
- dhimes 16y agoIt's a lot easier to throw the netbook than the laptop in a small bag. I was skeptical too until I did it. Now I do my main work on a laptop but keep my current projects in a mercurial repo on a usb stick. Whenever I'm on the go, I just fire up the netbook pull from the repo. It also servers as another backup which I do regularly whether on the go or not.
- RodgerTheGreat 16y agoI 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.
- jergosh 16y agoEnd of the world is nigh -- Netbeans is being referred to as 'lightweight IDE.'
- tomh- 16y agoIndeed, 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 16y agoEven Eclipse is fast and responsive compared to Netbeans
- goodmitton 16y agoMy experience found the opposite to be true.
- wallflower 16y agoEclipse was an impediment (in Scrum parlance) to our project
- jrockway 16y agoBut probably a very minor one compared to the languages people use Eclispe to write.
- lallysingh 16y agoA bit of scouring around and I found some configuration settings to speed up Netbeans's garbage collection & buffers. Made it pretty snappy on my mac. Now that's once it's loaded and I'm editing; other times can still be slow. But it was a happy switch from Eclipse. Netbeans took longer to do things, but it didn't require that I try doing them 3-4 times before anything would happen (e.g. start/restart tomcat).
- michael_dorfman 16y agoI 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 16y agoThat'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 :-)
- chanux 16y agoI 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.
- csomar 16y agoNice 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.
- SlyShy 16y agoI 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 16y agoWith respect to it being dropped seven times now, do you have an SSD in there or a regular drive?
- SlyShy 16y agoRegular drive. Which made me queasy the first time I dropped it, after being used to the touchy hard drives in previous computers.
- jacquesm 16y agoImpressive. 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 16y ago
- jacquesm 16y agoI 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 16y agoI 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.
- th0ma5 16y agothis 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?
- r11t 16y agoI 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=N82E16834220698 http://www.newegg.com/product/product.aspx?Item=N82E16834220... * 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 16y agoexcept 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.
- ajuc 16y agoI 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 16y agoDoes 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.html http://varatek.com/warnierorr_diagrams.html http://varatek.com/warnierorr_diagrams.html
- anonjon 16y agoI don't know Warnier/Orr diagrams. I do, however, draw pictures and diagrams to help me reason through stuff. It is one of the big advantages to writing code on paper. I find tools like visio tend to get in my way (I spend too much time fussing with getting lines connected and not enough time sketching my idea (it also never quite looks right)). I actually like it so much I was considering buying a bamboo tablet so I can include diagrams in my documentation (and not kill so many trees!). Of course, then I'd have to write an emacs plugin to call up inkscape (unless anyone has a better 'sketching' type of program) and insert a hyper-link to the saved file in the docs folder.
- elblanco 16y agoReminds me of the old demoscene days. Tran (http://en.wikipedia.org/wiki/Thomas_Pytel 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 https://www.mobygames.com/game/kaeon
- billybob 16y agoNow 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...
- strebler 16y ago"I can code in a crowded bar" Bars aren't for coding, put down the computer.
- hugh3 16y agoIf 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 16y agoWell, 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 16y agoWhere 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 16y agoI 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 :)
- johnl87 16y agoYou go to a bar to socialize. Alcohol is a social lubricant. If you only want to drink, go to the deli, buy some beers, and drink at home.
- alexyim 16y agoBecause you're being a douchebag who is taking up way more space by having your laptop out and requiring a clearance to help prevent people from stepping into the danger zone where they might accidentally spill their drinks onto said laptop.
- sunkencity 16y agoI 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.
- d0m 16y agoAsking 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 16y agoFor 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.
- gills 16y agoI 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.
- ashishbharthi 16y agoThe 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.
- ianso 16y agoI normally don't use it for more than 20 minutes at a time, so I'm not too worried about this. I'm still waiting for AR - my dream screen is contact lenses with embedded displays floating over my retinas :-)
- olliesaunders 16y agoWhat makes this true?
- ashishbharthi 16y agohttp://jkontherun.com/2009/03/04/achy-wrists-bleary-eyed-you-may-have-netbook-fatigue/ http://jkontherun.com/2009/03/04/achy-wrists-bleary-eyed-you...
- kscaldef 16y agoBump up your font sizes?
- kellishaver 16y agoThe 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.
- cool-RR 16y agoWhat are you talking about? I have an Asus Eee and its screen is awesome.
- jah 16y agoRetort 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 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 :-/
- krschultz 16y agoAgreed, I bought a netbook and tried out four or five to feel their keyboards. I chose the Samsung N120 and I'm quite happy with it, but I don't enjoy coding on it nearly as much as on my desktop.
- there 16y agoi 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/l/in/set-72157616597591034/ http://www.flickr.com/photos/symmetricalism/3429329317/sizes... 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/set-72157617188102792/ http://www.flickr.com/photos/symmetricalism/3465687431/in/se...
- bazbamduck 16y agoI 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.)
- zokier 16y agoOne 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.
- mace 16y agoI 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 16y agoI like the ubuntu netbook remix. I added the workspaces back and it works very well.
- kqueue 16y agoAll in all, none. The blogger just likes the keyboard.
- pavel_lishin 16y ago> 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 16y agoIt 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.
- aduric 16y agoI 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.
- sliverstorm 16y agoI'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 16y agoIf 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 16y agoWell, 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 16y agoWell, 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.
- jff 16y agoMy 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.
- jasonkester 16y agoMy 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 16y agoI'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.