Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Your Hacker Workspace
61 points by janitha on May 18, 2009 | hide | past | favorite | 86 comments
Every hacker has a workspace and coding/working environment that has been personalized, optimized, improved, tweaked and hacked for countless hours and days. This is one of the, if not the most, sacred things each hacker posses.

Share it with the community so we can learn from each other while improving our own.

Share yours.




I will start.

My two primary work horses include a desktop computer and Thinkpad with Fedora core 10.

Desktop server:

- Gnome -> 8 workspaces on two monitors { Web (regular), Web (work), Emacs, Emacs, Emacs/Compile, Emacs/Debug (GDB/DDD), 4 shells, Thunderbird/IM/IRC/Music }

- Fluxbox on VNC with 4 virtual { 4 Shells, ServerStats, Void, Void }

- Screen session just in case I want to drop in

Laptop:

- Gnome -> 5 Virtual { Web, Emacs, Emacs/Compile/Debug, Void, Thunderbird/IM/Music }

Both:

- Emacs (all instances are new-frame so shared buffers, heavily use gdb-mode, and for compiling)

- Synergy desktop sharing Keyboard/Mouse with Laptop

- Zsh + scripts for common tasks (backups, syncs)

- NFS shares mounted both ways

Other

- Pencil Sketch pad (no rules) as my idea pad, doodling, I keep several of these everywhere

- Post-it's for quick notes

- Emacs/C/C++/Python cheat/reference sheets printed and posted

This is modest if not simple by hacker standards, but it makes me feel comfortable for my usual tasks and most at home


This is modest if not simple by hacker standards

I'm not so sure about that ;-) My setup is simpler than yours:

I do all my development on one machine - a macbook pro (Tiger, haven't got around to upgrading yet).

I run only three applications pretty much all the time, and they're all full-screen - Firefox, Emacs and iTunes, and alt-tab between them. Occasionally I also start a Terminal, if I want to ssh into a server somewhere.

Usually my Firefox tabs are gmail, yammer, ganglia, http://irc.justin.tv, and often some documentation to help with whatever I'm working on.

Typically I have a dozen or so Emacs buffers open - mostly python, javascript and haxe source code.

I never write notes by hand. I either write them in an Emacs buffer, or I send myself an email.

This is where I work (at justin.tv): http://abstractnonsense.com/workspace.jpg


Do you actually work from that couch all day? I can't imagine that being comfortable for more than a few hours.


I have the smaller version of that couch (Ikea) and I can attest to the fact that it is a uncomfortable piece of shit. But it was cheap.


Don't forget to tell everyone about the half-dead plant! ;-)


- Gnome -> 8 workspaces on two monitors 8 workspaces? I can't even manage to fill 6 workspaces; anyways I thought I'd share my 8 most abused keybinding combinations for multiple [3x3] workspaces. Switch to workspace <Ctrl><Alt>[Up, Down, Left, Right] and move active window to workspace <Shift><Alt>[Up, Down, Left, Right].


I actually binded it to Ctrl-Alt-(Left/Right) instead of the default, I think comes from the days I was a Enlightenment E16 user.

Also binded the change desktop to the Mouse's (Previous/Forward page buttons that's usually reserved for browser access). This came to be because at one point several years ago, I couldn't get Firefox to accept those buttons... but now I cannot live without it.


(Fairly) soundproof room; lots of lamps, none too bright; Aeron chair; new desk designed by Kate Courteau (the architect who designed the YC offices), with a steel frame and butcher-block top; Macbook Air; bluetooth mouse; 23" Apple monitor; a bunch of terminal windows running either vi or the Arc toplevel or tail -f of some server log; Firefox windows with Gmail, HN, and localhost; cup of tea; UHU tac earplugs (disengaged); postcard of smiling Wodehouse, age 92, with dachshund.

http://wodehouse.ru/photo/phdach.jpg


Why Wodehouse? BTW: If Stephen Fry invited you as a guest on QI, would you go?

http://www.imdb.com/title/tt0380136/


I'd love to see a picture of the desk, as I'm about to build my own.


Kate Courteau lacks a clear online profile. She seems to be difficult lookupable.


Pictures or it didn't happen.


It's dirty, crappy, no dual-screens, no mac prettiness, no butcher-block table, no glass, no stainless steel, but it's awesome and it's very productive. :)

http://www.flickr.com/photos/scumola/3508980363/


I like the phone :D


I don't understand why you wouldn't switch to a place with sunlight eventually (after 9 startups)?


You must not be very superstitious.


I had that case on the first computer I built


cheers to you


Every hacker has a workspace and coding/working environment that has been personalized, optimized, improved, tweaked and hacked for countless hours and days. This is one of the, if not the most, sacred things each hacker posses.

Sorry, don't buy that. Many hackers just work from anywhere, and many who do work from a regular spot don't care about it as much as you do.

This is a valid question, mind you, I just disagree with your first point.


Between work and home I interact directly with more than one hundred machines, from IBM Risc 6000 running AIX to Ubuntu laptops to WinXP drones under corporate lock-down. These machines are not even speaking to each other. My most important piece of kit is my thumb drive, which I keep chained to my car keys.

I'm not big on aliases or scripts to do simple things. Better to make a one-liner or throw-away script to do exactly what I need now, something that will work on many machines. Automation is only useful if it can significantly reduce repetitive effort.

I'm no master or hacker, I just get on with my projects without much frosting. I'm partial to a cheap (dropable?) Ubuntu laptop with emacs, gdb, wireshark, k3b, and lots of medium-length cables and adapters.


Two thinkpads, one running XP and the other running slackware. LispWorks and emacs/slime/sbcl on the win32 box, tested there first, and when I need to implement Unix FFIs I have two putty terminals to the linux box. I have been using linux since 1996, and I don't think I ever ran a full Unix desktop for more than a year (FreeBSD and xfce then)

Stuff get passed around between the XP and the linux box until I am happy with them, then they're sent to 2 slackware VPSes and a Solaris box elsewhere.

More important than code is my Skype phone. Half my work is done walking around with a phone glued to my ear.

Essentials include, a yahoo currency converter bookmarklet, a timezone time calculator, various inhouse tools for lead management and tracking (I have a mailer I wrote in Lisp that I paste email text to and rewrites all URLs as mysite.com/redir?url=FOOBAR; I use this to track who read my emails, when and how. Couldn't live without it.)

OpenOffice and Unipad for funny Arabic text handling. Copernic Desktop Search for the massive library of documents that I have and need to share.

2-3 notepad windows open at all times. An emacs org-mode buffer that contains my life's work.

A separate Firefox installation that has the annoying but very essential SEO-Quake plugin for doing stuff.

GNU GPG integrated with Thunderbird. 20+ email accounts in thunderbird, Pidgin, Chatzilla and a twitter window open at all times.

Paint.NET for the necessary graphics editing. MS Paint for quickly resizing images. Mingw and MSYS to make Windows habitable.

Various Lisp implementations to check my sanity when something doesn't work with SBCL.

Opera, left running at all times with the home page set to the Common Lisp hyperspec, the hunchentoot manual in another tab.

Skype running at all times, but goes to my cellphone when I have a call.

Various powershell and bash scripts to make life easier.

Firefux plugin to remember passwords for 100+ social networking websites that I submit press releases and other stuff to.

Mozart/Oz, Ocateve and R for prototyping "stuff"

[Edit: I wouldn't use a laptop other than a Thinkpad if it was given to me for free. I am a proud owner of 4 Thinkpads at the moment, about 10 of them in the last 10 years.]


Thinkpad, T4x or what? Most slackers seem to prefer it


which password plugin?



Nope, I hack most of the time with a macbook on my dining room table. Sometimes on the coffee table.

At work I have a 30-inch screen for Vim next to the macbook, but it's optional.


Upvoted since I just got done with six hours of tweaking my iPhone app on my macbook on my dining room table. :) More often, I'm reclined on the couch, though.

I used to be a cave-type, but now I find that I'm more productive when I'm around people (as long as they aren't actively engaging me). So I'll work from home with the kids playing around me and get more done than I do in my isolated cube at the office.


Same. Macbook (nothing fancy, just an entry level 13" one) on the kitchen table, plus a sketchbook and a sharp pencil


Physical whiteboard in the same room.

Big screen.

A command line (Terminal on mac, cmd.exe on windows).

A launcher app (Quicksilver on mac, Colibri on windows)

An editor (TextMate in mac os, NetBeans in windows).

A mindmap editor for planning, design and notes. (Freemind, cross platform)

(I purposefully stay cross-browser, cross-OS, going back and forth between my MacBook and my Wintel desktop pc. This forces me to keep using and testing both my product and dev environment in several different OS'es and browsers - plus it provides redundancy; if one env blows up in some way, I can just fall back on the other.)


Physical whiteboard is a very good idea. I think I'll be taking that from you.


I've been able to make do without a whiteboard at my current job by keeping tons of scratch paper around. I'm given lots of 1-sided printouts I never need, so I just throw them in a drawer for when I need to sketch something.


If you're interested in that, check out:

http://www.deskography.org/

There are some pretty crazy and inspiring setups on there, and you can share your own.


On the screen: Gentoo running Xmonad in simpleTabbed layout. Opera, emacs, terminal with Screen multiplexing 5 zsh terminals (emacs -nw, irssi, ghci, irb, guile at the moment), Xchat, Pidgin, Skype, and Quodlibet; all running mostly in separate full-screen tabbed workspaces.

Meatspace: a battered wooden desk I found in the trash years ago, and a similarly battered armchair missing most of its upholstery. The desk surface is hidden beneath ashtrays, coasters, coffee mugs. My cat peers over the monitor, half asleep.


Screenshot, please?


Screenshots of Xmonad aren't that interesting. They don't show you how easy it is to do stuff without ever using the mouse.


Just a request to all those who'll be responding: Please add screenshots!

I'll be setting up xmonad and working on my layout for the next few days, if this post is alive until then, I'll post my screenshot.





this guy wins... but ill throw mine in for good measure...

http://www.flickr.com/photos/9864615@N06/756229467/


Son of a gun!


flagged for p0_r+n ;)


currently have 3 screens, and i thought about adding a 30" (for the continous document, then vertical stack two of the 22" screens next to it), but at the moment i have to turn my head to see the left monitor. i mostly work on the two right monitors, and use the left for ongoing IM conversations/etc. Beyond this, minimizing windows and just having many open seems just as productive as having to look around physically (instead of using switcher). anything im missing?


The problem with these threads is that skill is largely in how you use these tools. It's very hard to communicate techniques with just a list of tools. I have no solution.


Furthermore, there are very diminishing returns in obsessing about your tools themselves. Sometimes, tinkering with your emacs config (or whatever) is just procrastinating.


Sometimes, though, this procrastination does wonders. Like bonzai tree gardening, or a Zen gravel garden.

As someone who uses Gentoo, Xmonad, Zshell, and Emacs, there's more than enough config code to tweak than there are hours in the day. The happy result is that if I'm stumped, I always know I can pop open a buffer and hack something a bit.

Hell, the alternative to wasting your time in a fully hackable environment is wasting your time on the interwebs.

If you're going to procrastinate, you could do worse than by hacking .emacs. Like Runescape.


I don't think the problem is so much that it's procrastination, but it's procrastination that seems like work. Like people noodling around with their "productivity systems". Having the option to customize things is worthwhile (I use Emacs, dwm, and screen, and have accumulated a lot of settings for each), but it's a means to an end.

When I'm hitting a dead end, I usually find it more helpful to get away from the computer entirely and go for a bike ride, work out, talk to someone, have some fruit, etc., and see the problem with a fresh mind later.


2 desktops connected with synergy..a laptop..huge speakers..bottle of scotch..and a coffee pot.



http://njoubert.com/images/workspace1.jpg

Dual 22" monitors hackintosh running OSX 10.5.6 6 spaces, normally 2 spaces per project and one for random stuff. (I like to arrange all my code in one space and all the docs and the like in another and switch between the two as necessary).

You'll notice the Macbook peeking out from underneath the desk on the left - if I need more screen space I pop that one open. Or if I'm not at home!

M-Audio speakers are crucial - good music is a help! And lots of paper / binders / books to refer to all the time.

At least 3 lights sdjustable to whatever conditions I prefer, and black shades in front of the blinds to block out sunlight and heat.


I've struggled with hackintosh for freakin' ages. Please share info.

Big problemo was usually the 9800GT 512mb.


Funny, I'm running a 9800 GTS 512mb, with no issues.

My secret was using the iDeneb 10.5.5 distro, that thing works wonders on my system. I'm running an Asus P5E-Delux motherboard, with is also a well-supported system. Everything I did is textbook from insanelymac.com


The office: White enamel, 92" Oval Ikea table 24" Dell monitor on articulating arm Macbook Pro Speakers on Airport express

The rest of the house: Old Macbook Pro connected to 42" LCD TV, mounted on the wall running Bittorrent with RSS subscriptions / iTunes Logitech 5500 connected to MBP + speakers built into the wall About 700GB NAS

http://www.flickr.com/photos/wehriam/369719626/in/set-181528... (Slightly old photo)


I hope you don't buy cable :)


Well here you guys go, pretty simple small desk, although it is all glass which is kinda nice looking. Nice big monitor, but only one. And then my computer which is really the reason I'm posting it has an acrylic case and uv lighting over reactive tubing, neato huh?

http://tinypic.com/r/2eewug5/5

here's one of the computer all alone: http://tinypic.com/r/15qufc2/5


MacBook + 24" Dell

http://farm4.static.flickr.com/3130/3219406843_af228d3a04.jp...

(Not pictured: Airport Extreme with a USB drive for Time Machine--critical stuff I backup to Github if it's source code and Drop Box if it's not source code)

Software-wise I work with IntelliJ, TextMate, vi or Xcode depending on the task at hand.


I've got a Hackintosh tower - the first PC I've ever built (and I learned a LOT doing it!). I threw a Core 2 Quad, a Velociraptor drive, and 4GB memory in there. This is attached to a 30-inch monitor and a split, ergonomic keyboard, upon which I type in Dvorak.

Considering how much time I spend in front of this machine (e. g., most of it), I don't mind investing a little more in my setup to make the experience as comfortable as possible.

I've got a refurbished Rev. A MacBook Air to carry around with me when I'm out and about. I'm thinking of buying a wireless card or a MiFi to have Internet access everywhere.

I synchronize all important files over Dropbox and use The Cloud for everything else. My brain goes into Evernote. Bookmarks are synchronized across my browsers with Xmarks.

I use Spaces heavily and Expose a little. I use Launchbar and mouse gestures through xGestures to get around the computer.

My code is synced up using git.


At work, I have a standard issue cubicle with L-shaped desk. We all have docking stations and one monitor, but I have acquired a second one from the cubicle's previous inhabitant. So, I run dual 19" 4:3 monitors from the docking station.

At home, I've tried to match the environment as best as possible. I bought a simple Ikea table that I use as a desk and a thrift store bargain task chair that really needs to be replaced. I run dual 19" 16:10 monitors on an identical docking station, acquired from my father. When I work from home I just plug in my USB keyboard and mouse, dock the laptop, and the monitors auto-detect and switch over. If I'm not working, my i7 gaming rig powers the dual displays.

For general computing. email and web development unrelated to my day job I use a MacBook Pro from 2007. I wouldn't trade it for anything; except maybe a new unibody MBP.


Mac Air with Philadelphia Brewing Co. sticker over the Apple logo for iPhone dev; cheap Toshiba laptop for web hacking; Chromium for browsing; Firefox/Firebug for dev; Gimp; Postgres; whatever aesthetically pleasing environment the coffee shops around me offer; sometimes getting pumped up listening to good musak on the iPhone; from time to time use one of the many white boards at Wean Hall at Carnegie Mellon.

MacAir (lil guy next to it will soon drown): http://2.bp.blogspot.com/_QdVzmQAz0JQ/ShEHWvpIW1I/AAAAAAAAAE...

White boards (my friend is in the pic): http://2.bp.blogspot.com/_QdVzmQAz0JQ/ShEHIm3Q9vI/AAAAAAAAAE...


I have a MacBookPro running Ubuntu 9.04. It boots to Gnome with StumpWM which has three groups (virtual desktops):

- emacs and terminal (fullscreen, I'll just swap between those two) - mail, irc, and cplay (screen split between alpine / ssh+irssi, with a horizontal pane for terminal running cplay) - browser (split vertically about 1:4, with nautilus on the left in the smaller pane and Shiretoko in the larger pane, usually in one window). I also watch movies, view pictures, PDFs etc. in this larger browsing pane.

I've settled for three virtual desktops that wrap around: this way I can always move to any of the desktops with just one move command, either left or right.


Here are a few pics of my workspace. It's essentially an unfinished room in the basement. I keep my computers, power tools, collections...everything in this room. It's not fancy, but I can get things done. The main computer is an imac with VMWare and VirtualBox for Linux and Win XP. There are also a few PCs scattered around for robotics work. I use the Netbook for microcontroller interfacing...in case I fry something. The Netbook is cheap enough that I won't be too upset if it get ruined.

http://www.flickr.com/photos/wheagy/sets/72157618418142512/


I travel a lot so I keep everyhthing I need for hackery on my Dell XPS m1530 with a lot of VMWare images.

Currently this gets synchronised with a Debian server, due to be replaced with a Mac Mini in a week or two.


Couch, laptop in lap, and Norwegian soap operas in the background.


My current desk. Macbook for dev work, server under the desk. Fairly simple setup but I've got a lot of space to work and room for my betta fish.

http://www.deskography.org/people/TME1103EMJ/desks/789/photo...

[Edit: running macvim, terminal and safari with either vlc or itunes for music]

[Edit 2: forgot to mention quicksilver. Kind of funny, but quicksilver is the only osx application I absolutely cannot live without.]


Large self-designed and self-built U-shaped desk. workstation on one edge, permanently cluttered workbench on other, clean empty space in middle segment.

Three displays + old character-cell terminal (useful for looking on logs and such things) for workstation (with one monitor going thru KVM switch to few other computer for testing on obscure architectures). Sun Type 7 keyboard and mouse.

Old NCD thin client on edge of workbench part (incredibly useful).


2 apple laptops, previous gen(late 2007 / early 08), same software everybody runs: leopard, WinXP, FreeBSD, openBSd, ubuntu 8.04, openSUSE 10.3, vim, textmate, komodo;

- current-gen apple, matias keyboards

- whiteboard (me too)

- moleskine notebooks, postit notes, Bic 4-color pen

- cheap Ibanez-clone guitar; Duncan , diMarzio pickups;

- m-audio MIDI controller, garage band, ProTools, digidesign mBox

- looking to get piccolo, flute or alto sax

- yoga mat and props from Iyengar studio


My MacBookPro is the heart of everything. Usually running are: Eclipse, Mail, Adium, Safari, iTunes, OmniFocus.

When I'm at my desk, that's usually hooked up to a 30" display, wireless keyboard and mouse, and SoundSticks.

I'm actually about to build a custom desk and shelving in my home office to make things perfect. I use an Aeron chair which has saved my back.


On that note, does anyone have any good experience with building a good desk? Any tips or tricks? Grommet plugs you love, great cable management techniques, etc..?

My current plan is to use pre-finished maple plywood as the surface, and I haven't figured out exactly how I'm going to handle cables, power, etc...



i found this site too : http://www.deskography.org/


A few different desks:

http://www.deskography.org/people/gs/

Current setup includes:

- Aluminum MacBook

- Apple Cinema Display (24")

- Apple Wireless Mighty Mouse

- Apple Wired Aluminum Keyboard (recently switched from wireless)

- A functional IKEA desk.

- A not-so-great IKEA chair (we're getting new chairs!)

- vim (and MacVim)

- mutt

- Python (automate tedious tasks)

- CS4 Suite

Total revamp as soon as we've found the office of our dreams.


Forgot to mention one of the most important parts of our work environment: the whiteboard! We make pretty good use of that.


macbook air, a mouse and a rtw ticket.


Seconded. I buy a new loaded Apple notebook every 3-4 years, and each cycle I debate on getting a Mac Pro that will wipe the floor with the notebook for even money. I never do, because I can't stand to be chained to a desk.


A MBA for working in the sofa and in the garden. A Mac Pro for when you are chained to the desk. Happiness.


I can't disagree. I just haven't had the budget :)


Here is my workspace. I really like the 3 Acer 22" monitors. They were cheap and work well. I also have a laptop with Mac OS X for my iPhone work.

http://www.websmithing.com/my_workspace.jpg

Nick


Here's our space. We recently added a third desk to the room.

http://www.flickr.com/photos/33766454@N02/3146045372/in/set-...


To facilitate traveling to client sites for my day job: MacBook Pro, vim, firefox and a (paper) notebook. When I work out of town, the one thing I miss the most about my home workspace is my 3x4 foot whiteboard.


Here's a picture: http://is.gd/AU6T

Typically I have Emacs, Safari, Terminal.app, and iTunes open all the time. Once in a while I open up MacVim and do some editing.


http://www.flickr.com/photos/jemjabella/3296058718/

Really need to get off my butt and get some shelves up.


Wow, that's tiny! I vaguely remember working on counter tops bolted to a wall, and our space was about that size per developer.


This is only my space at home, thankfully (not that my work desk is much bigger). I actually quite like my little cupboard because it's dead space in the house. I can shut myself in if I need privacy or time to myself and not have to worry about anything :)


I have a PC with 17" screen, also a HP laptop, Microsoft Mouse and Genuis Keyboard, Wifi Router, External Disks, lot of CDs and MP3 Player.


the only "tweaking" I did to my workspace, was build a cover for the desk's surge protector Power button. I always kept hitting it and its pretty inconvenient having your computer die in the middle of working on things.


I used to have a pretty normal desktop setup, the one thing that was the constant catalyst which finally pushed me over the edge to "fix stuff" was my uncomfy series of chairs (read: all of them, any chair under 500$ I've ever tried, for extended periods of seating is absolutely not something I am capable of effortlessly maintaining concentration during).

At first I thought, it's been over ten years you've been at this game clearly you're going to be at it for a long time more, why don't you just spring for a very expensive chair and get it over and done with? Well, I wasn't entirely certain that an Aeron or Leap or Freedom would actually fix my issues. Sure, people talk about them, but I wanted to know for sure that it would be the end of my problems once I had gone and fixed everything up, and the only way I could know that would be to actually buy one. Seemed like too much of a gamble so I skipped that.

It seemed strange to me that all these chairs at the high end were more than I'd spend on a new midrange system altogether, so I started to think about the entire problem rather than just the chair aspect and came to the conclusion that a nice recliner is probably about the most comfortable chair I've ever had, so why not work a system around that? I ran into several examples in the DIY sphere of people doing exactly this and being rave review happy with the results, as well as examples of high end full solution workstation setups like the Zero-Gee one and a few others based around the same idea that I based my initial plans on.

Interestingly enough, a good recliner will run you less than half the cost of an aeron, but seeing as I just wanted to prototype a setup I thought well what can I use that I have just lying around the house to make it happen? I had a broken chair (high backed / gas lift / 5 roller castors setup) and an old flat bottomed entertainment unit, so I ripped apart the chair and took the gas lift part of it and drilled and bolted it to the bottom of the flat bottomed entertainment unit, this resulted in kind of a mobile trolley with enough desk space for my display items (24" widescreen, 15" acer aspire 5630 notebook, 17" 4:3 1280x1024 for the mini) with stowage space underneath the main desk for all the necessary driving hardware (mac mini + powerboards + cables + USB 3.5 SATA docking stations, speakers).

Having the entire setup on an easily movable / swivelling caddy means that it actually ended up serving as an entertainment unit for the household too, XBMC + 1080p 24" = happy housemates when it's time to kickback and relax, I just swivel the caddy 180 degrees and then it faces 2 large sofas in the living room. Or I can move the caddy in front of a larger couch for collaborative sessions with clients and colleagues. Synergy links all the systems together, the mortals can use OS X on the mini and I have my heavily customised multi workspace ubuntu compiz system on the laptop, and I can take over their session w / synergy.

When working solo I face the caddy toward my single seat comfy old sofa and pull it in and equation complete, extremely comfortable working environment, enormously productive and adaptable, all in all extremely happy with it, and I'll be even happier when I invest a little more for an ergonomic recliner which will just be a dropin replacement for my current sofa. That said, this current one is so many more times comfortable than my old office chair + desk setup that I'm in absolutely no rush to do so.

Other potential ideas for upgrading are perhaps a kinesis evolution split keyboard setup mounted on the seat arms instead of the current lap mounted keyboard + right arm mounted mousepad setup, frictionless matting for the frequent different positions of the caddy, and an intuos to replace my sketchpad habit.


Browser, pdf and chm viewers, IM.

Nokia E90

Dell D830 (1920x1200), last Ubuntu x86_64/Fedora-development i586 (for Wine).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: