Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What does your development environment look like?
50 points by rbranson on Aug 31, 2010 | hide | past | favorite | 83 comments
I'm curious as to what others' development environments look like. Screenshots are best. I'll kick it off.


  +===============================+
  | >                             |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  +===============================+


  +===============================+
  | #                             |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  |                               |
  +===============================+


man sudo


It's been a very long time since I've seen DOS.


I doubt you're seeing it here, either - I would peg this as some POSIX shell before I pegged it as a DOS shell.


You can't join a Microsoft domain with anything else :(


http://aphyr.com/media/desktop.jpg

Vim, vim, vim, vim, vim, vim, vim, vim, vim, logging, bacon, irb. I try to keep large methods I'm actively editing on the big windows and reference material on the smaller ones. I also arrange them physically to match the control flow--the deepest methods in the stack live to the left, and successively higher ones live to the right, up to the controller and view for MVC. I usually have an IRB session open to test new ideas, one window for running the test suite, and one to watch the logfile or run the server.

On the other monitor, usually docs, whatever I'm building, and more docs. On a single 24" display (at work), I usually fold the docs over my bacon/irb terminals. I run 6 workspaces in Openbox. Almost everything has a hotkey.

[edit]

Folks at my office know me as "that guy with all the terminals". I think part of it is that my working memory is not fantastic, and that I'm a really visual thinker. Having everything laid out in space really helps me keep track of a complex, modular system.


That's interesting. Your workflow reminds me of that Code Bubbles IDE posted a little while back:

http://www.cs.brown.edu/people/acb/codebubbles_site.htm


I spy Summer Glau on your wall :)


She needs to learn some trigger discipline.


Is that keyboard drawer comfortable to use? (it doesn't look so)


The desk sucked, but it was college furniture. My new desk is a little better. :)


It looks like you're checking out the Vim Color Scheme preview page. :)

http://code.google.com/p/vimcolorschemetest/

When I find myself with many vim instances running I tend to start giving them different color schemes to make them easier to differentiate. More often, though, I have things split across 8 virtual desktops.

(Same for shell windows. Too often I've forgotten where I was. Having, say, the shell to a remote server use a yellow background alerts me that this is not my local box.)

Also: Bacon rules.


Haha, no, that's the default scheme with slightly tweaked console colors. The difference is in content--some of them are mostly comments, others are HTML, CSS, Javascript, and Ruby.

Good find on the color scheme page though; I'm gonna have to play around a little with those!


Got a link for bacon? I haven't come across that in the context of programming tools (except insofar as tasty fried pig products are generally beneficial to programmer productivity).


http://www.ruby-forum.com/topic/137928

It's just a really small rspec clone. Compact, expressive, gets the job done.


Wow, that's a lot of screen. And here I am doing most of my coding with a 9" netbook.

(Edit: Actually, I think it's the same as cool-RR's post elsewhere on this thread: http://news.ycombinator.com/item?id=1649828, just without the external monitor.)


I'm currently up to 3 x 24" monitors, and am doing my level best to talk myself out of a fourth. The luxury is nice, when you can waste screen real estate without a care, but it's as addictive as heroin.

I'm not advocating you stick with a 9" screen, but be careful with the lure of adding monitors!


You manage to type on that massive keyboard in a drawer? Surely not.


The keyboard isn't actually all that large. Those are 30 inch monitors. Total horizontal screen space is 4.25 feet.

The drawer was surprisingly comfortable as a wrist rest, too--but I tended to alternate between in the drawer and on the desk, depending on how much paper I was working with.


http://imgur.com/LYjiE.jpg

It's a pretty standard Rails hipster setup on a Mac using TextMate as the editor.

I'm using a 27" Dell U2711 display.

The left hand Terminal is used for monitoring autotest (an automatic test suite runner for Ruby/Rails) and messing around with the interactive Ruby shell (IRB), git, etc.

The right hand Terminal is used for monitoring requests as they come into the development environment's web server.

The Windows XP Professional is running on VMware Fusion and used for IE testing. I use Visual Web Developer 2008 for debugging in IE.

I've got two Chrome windows, one for API documentation and one for testing, with a permanent Developer Tools window at the bottom right hand corner of the screen.


I'm curious - why XP with VS for IE debugging? IE6?

I've been using Win7 and IE developer tools, switching between 7 & 8 for testing and it's been working out pretty good lately.


IE6 yes. I use VS because IE Developer Tools doesn't offer sophisticated enough JavaScript debugging. I work with large JS-heavy projects, like entire clients built in JS that talk JSON/REST to a backend server.


Not my site, but you may also find http://usesthis.com/ interesting. It has short interviews with well-known developers/designers that focus on the tools they use and how they work.


http://technomancy.us/137

tl;dr - Basically just Emacs and Conkeror on Ubuntu. The combo of xbindkeys and devilspie help me not have to worry about the WM; apps for which it makes sense are full-screened for me. Emacs does pretty much everything for me including git, shells, IRC, and IM. The only thing I leave Emacs for is browsing via Conkeror (which feels a lot like Emacs) and the occasional photo edit in Gimp. For working on remote hosts and pairing with remote devs, tmux is a blessing.

All this on a 1.1kg Thinkpad X200s with a Kinesis Freestyle keyboard. Nexus One with Cyanogen is used as a 3G modem when I'm out and about.


http://imgur.com/37L7Z.png

Django site. WingIDE, two terminals for runserver and test django commands respectively, and the browser (currently showing my tool for viewing and debugging data in the app).

There's a space in the top left corner because I have the left monitor in a vertical setup and the right in a horizontal.

EDIT - View from my office:

http://twitpic.com/23rg8a


http://farm5.static.flickr.com/4116/4774485856_e9aa9d81cf_b....

30" Dell LCD, typically 2/3 emacs 1/3 terminal (no, I don't use a terminal inside emacs).

I use my ThinkPad's keyboard by choice because I really like it, and the laptop screen is where I flip between browser / IRC / etc.

Ubuntu, xmonad, Chrome, Emacs, gnome-terminal. Nothing too special.


Super+e:

http://i.imgur.com/UgrxJ.png

The normal workspaces on my laptop, running Ubuntu 10.04 64-bit. From left to right:

vim, Gmail/Chrome, Songbird, spare/documentation/second terminal

It's quite cramped with just one screen. I really need to get some good monitors and a solid desk.

Oh, and perhaps most importantly a pad of paper when away from home, and a glass whiteboard when at home.


Hmmmm - harder to do a viewable screenshot of a dual monitor setup...

http://imgur.com/9JDT3.jpg

Left monitor = coding, research notes Right monitor = testing, virtual machines All running Windows 2008 R2 Firefox with Firebug, Web Developer Toolbar, Greasemonkey, Gears, Page Saver Visual Studio 2010


http://i.imgur.com/ZCADh.jpg

Beautiful Vancouver weather today...


Its been raining all day! If your looking to get in to the startup scene a lunch is probably going to happen soon (http://www.meetup.com/Vancouver-Web-Based-Entrepreneurs/).

Although you can always just email anyone and meet up for coffee/lunch with just them.


What's the startup scene in Vancouver like?


This post can answer far more completely than I can: http://news.ycombinator.com/item?id=1565375

Vancouver gets a nod from pg as one of the best places to do a startup outside of the US.

I only recently moved here, so I am not very involved in the local scene, although I would like to start meeting people.


Mine's pretty simple:

http://imgur.com/aiyfw.png

VIM on the left; on the right top is a terminal, each tab is a different virtualenv, on the bottom is a bpython shell. All my other screens (OSX) are running Chrome, Mail.app/Adium and VMware (lots of that).


Dual 22" widesceen monitors. left is mac mini, right is Fedora. I use synergy+ to share the mac keyboard and Logitech trackball between the systems. Workspaces separate out distractions - 1 is a pair of gnome-terminal sessions with screen running on each and lots of vim. 2 is firefox + vimperator, 3 thunderbird, 4 xchat, 5 for virt-manager and 6 for misc stuff.

I ran xmonad for a while and found I really liked the full-screen orientation, but missed being able to cut and paste from terminals easily, so now its GNOME with everything full-screen. I've re-mapped the keys in Fedora to take advantage of the command key on the mac keyboard, so I can work most of the day without touching the trackball.


I suppose it depends on what terminal you're using, but gnome-terminal at least copies and pastes fine in xmonad - use C-S-c and C-S-v.

If you mean without the pointer, please tell me if you have a way to manage that in normal gnome - it's almost the only time I have to use my ball.


What does xmonad change about cut/paste?


At work I have a Windows laptop connected to a dock with two monitors. I have a Kinesis freestyle keyboard. Most of my development is done on a remote Linux box, so pretty much everything I do is through SSH. I use a variety of software to make this as pleasant as possible:

dtach - this is a life saver whenever I get disconnected from the interwebs. It detaches a process from the controlling terminal.

dvtm - a tiling terminal manager. I used to use gnu screen but I prefer the layouts that dvtm offers. This plus dtach replaces 99% of what I used screen for.

Vim - my text editor of choice.

pyclewn - integrates gdb with vim nicely.


if dtach is a lifesaver for you, gnu screen will really blow your mind -- it can let you detach the controlling terminal from the session

(and as a bonus, if you are working with other people, you can connect to the terminal simultaneously to work together)


As I said I used to use gnu screen. However I didn't like the limited layout options so I started using dvtm and would nest it inside screen so that I could detach from a session.

However I felt it was kind of silly to be using such a heavy/complex program such as screen for one feature so I switched to dtach.

And actually as long as you set file permissions correctly (dtach uses a file as a socket) you can share terminals with others using dtach.


Terminal and Emacs on OS X. I have VMWare Fusion running XP with cygwin and rxvt, Emacs, and Visual Studio 2008. I write C# code in Visual Studio and Ruby code in Emacs on Windows for our main project, and I do most everything else (mostly Clojure, some Ruby) in Emacs and Terminal on OS X. Org-mode is a crucial part of my daily routine.

On the physical side, I use whatever 17" NEC LCD this is here, plugged into a 13" MBP. I occasionally go into the office and use another monitor, so I also use an Apple Wireless Keyboard (the aluminum one) and a Logitech laser laptop mouse.



It's the first time I see somebody actually using Xeyes, I'm impressed!


Monitors are cheap nowadays, why can't everyone just get the dual 24+, 27, or even 30 inch monitors? Why have to stay with the smaller screen where one can go big?

Just googled and found 27" for less than $400 on Amazon: http://www.amazon.com/Acer-B273H-bmidhz-27-Inch-Widescreen/d...


And here I am, looking for new monitor, and the best deal so far is 21.5" for 300 euro... But it's not TN and it's certainly not an Acer.

edit: ... and it has the same resolution than the linked 27". What use is large screen if you can't show more stuff with it? Waste of desk space, if you ask me.


There is a lot more to a monitor than it's physical dimensions. The 27 inch display that you linked has a similar or lower resolution than most 23/24 inch displays and is a tn panel with limited viewing angle, color reproduction, and overall clarity. There are many good options for quality 24 inch (1920x1200) panels at reasonable prices but 27/30 inch panels at resolutions that make those inches worth having (2560x1600) are still quite pricy.


$400 is more than I've been paying for rent.

I got my second monitor (a crappy 17in lcd) off craigslist for $20. I got my (rather comfy) chair from campus surplus for 5.

tldr: When you're a student, $400 is a lot of money.



I posted this screenshot the last time similar question was asked:

http://alteredqualia.com/tmp/img/dev.png

It's more or less the same now, just the code is different.

Usually I have open at any time: SciTE, Notepad++, many browsers, Python shell, XAMPP/nginx, Gimp, Cygwin shell.

Most of times, just one window is fullscreen and I switch when needed (or just use magic hover feature from Windows 7).


I'm curious - why both SciTE and Notepad++?


Mostly for grouping. In general I use SciTE for code, Notepad++ for everything else (I use zillions of text files).

Two separate applications give two distinct icons in taskbar, allowing me to switch fast between two groups (as opposed to figuring out which content tab in one editor has the right file).

Also, I like them both, and don't have a heart to drop using one of them :). BTW I do the same with browsers (and OSes, I keep "affair" with Ubuntu in VirtualBox).


Currently: Opera + (Komodo Edit + CoffeeScript) + (Console2 + cygwin) + (VirtualBox + (CentOS + emacs)) + (VirtualBox + Ubuntu Server) + Outlook


http://drp.ly/1DCKfG

MBP screen: Skype + email

Dell 24: Browsers (testing + docs)

Dell 22 (vertical): Code (Netbeans) + terminals


What are you using to get the second external monitor working on a MBP? I'm thinking of doing the same, but haven't researched the best way.


http://www.diamondmm.com/BVU195.php

There are better ones out there that can do high resolution, but this one handles the 22 inch at 1050x1680 like a champ.


Boomerang-shaped desk with two monitors: one large, one small. The large monitor shares space with Windows apps and the VNC to my Linux session. On my Linux fvwm2 desktop I primarily use konsole to tab around different xterms, and gvim + NerdTree to edit my RTL source code.

Almost every hardware designer I know uses vim. I guess we're not very lispy.


Well, I'm using SciTE for VHDL coding (on Windows). Armed with a snippets plugin and connected to multiple Python scripts it's quite a beast.



I recently became a nomad. Just a Macbook Air, no external monitor, I switch between windows using Spaces extensively.


Desktop computer, running Windows XP (looking to upgrade computer, and then move to Windows 7).

2 Monitors, 26" Samsung and a 22" Asus.

Most of the time, I've got open Sublime Text for coding, Chrome for browsing, Firefox + Extensions for debugging sites, Photoshop, and a few command prompts for mercurial and django commands.


Emacs, since 14 years.

I was looking for something better each 2 years or so -- yeah emacs isn't perfect -- but didn't find.


This was not specifically for showing my coding development but my computer setup. Linux on the left 2 monitors, Windows on the right 2 for VS2010 (dayjob).

http://www.provokedguild.org/images/rig/Pic8.jpg


12 work spaces (I prefer not having more than 2 or 3 windows in a work space). Contents depend on what I'm working on, but right now - 4 with emacs (3 different projects), 2 with browsers, 1 with IM. The rest contains terminal windows and one or 2 file browsers.


On windows, gvim.

On mac (we primarily do iPhone apps), Xcode, with MacVim as the external editor with keybindings setup to build/build-run, etc.

All this spanned over 2 windows monitors, 1 mac laptop and an external mac monitor, with an iPad sometimes becoming a 3rd mac monitor.


L shaped desk with 3 monitors on the long leg - 2 24" monitors hooked to a PC and 1 24" monitor hooked to a Mac Mini - sharing 1 wireless keyboard/mouse via Synergy. The short leg of the L has a Dell 10V with Ubuntu.


At work: 27" iMac + Textmate + Virtualbox + Transmit + ExpanDrive + Shimo + Navicat

At home: Custom PC w/ 24" Samsung monitor + e Text Editor + Virtualbox + PuTTY + Filezilla + ExpanDrive + Navicat


http://img.ly/zY3

this is my home setup. unfortunately the big screen is best used only for reference, otherwise it strains my neck.


at work: iMac + 13" macbook with synergy. iMac usually has chrome, textmate, thunderbird, and titanium all on one workspace. fullscreen iterm on the other. adium, itunes, irssi, etc on macbook screen.

at home, same macbook with an external monitor. one workspace is iterm on the right screen, usually photoshop, adium, + other misc apps on left. other workspace is textmate on right screen, chrome and cyberduck (if necessary) on left screen.


This is a picture of my desk: http://cool-rr.com/cv/images/desk.jpg

Wing IDE is taking both of my screens.


You are too organized for me.


pretty similar to mine: http://www.flickr.com/photos/llimllib/3679964891/

but with a 17" macbook instead of the netbook and Vim instead of Wing.


dual 20"s 1600x1200. windows 7 w/ ultramon.

i'm fairly newbish... juggle 1 of (zend studio | eclipse | vs 2010) with photoshop, filezilla, putty, firefox, and notepad++.

currently i'm developing php that runs on an ec2 box w/ memcached... i can't get true memcached on windows and not really a vim/emacs/whatever hardcore text editor type. also need windows for photoshop and whatnot. any tips?


Ubuntu on VMWare = problem solved.


Terminal and Emacs on OS X. 21" ASUS monitor and a late 2007 Macbook Pro. Firefox, Chrome, and Safari open all the time.


I'm curious as to why no mac people are using SizeUp. Looks like everyone is manually dragging the windows about?


black, like my men: http://i.imgur.com/SciNb.png


My main workspace has several terminals, each with multiple tabs open, mostly with copies of vim running.


i'm using terminator as my terminal which lets me split my terminal windows.

As my programming editor I use vim with nerdtree and bunch of other plugins.

Ubuntu is my distro.


Emacs über alles:

StumpWM managing Emacs & Conkeror.

On opensolaris, RIP.


vim for rails, javascript, html, php xcode for objective c google docs gmail


emacs+firefox on Ubuntu


Copy and paste the following into the address bar to view images

    javascript:var tags=document.getElementsByTagName("a"); for (var i in tags) { if (tags[i].href.search(/jpeg|jpg|png/) !== -1) { var img = document.createElement("img"); img.src = tags[i].href;img.width = '400';tags[i].parentNode.appendChild(img); } }


EDIT: Eh... It could use some help ..


This works:

    javascript:(function(){function I(u){var t=u.split('.'),e=t[t.length-1].toLowerCase();return {gif:1,jpg:1,jpeg:1,png:1,mng:1}[e]}function hE(s){return s.replace(/&/g,'&amp;').replace(/>/g,'&gt;').replace(/</g,'&lt;').replace(/"/g,'&quot;');}var q,h,i,z=open().document;z.write('<p>Images linked to by '+hE(location.href)+':</p><hr>');for(i=0;q=document.links[i];++i){h=q.href;if(h&&I(h))z.write('<p>'+q.innerHTML+' ('+hE(h)+')<br><img src="'+hE(h)+'">');}z.close();})()




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

Search: