+===============================+
| > |
| |
| |
| |
| |
| |
| |
| |
| |
+===============================+ +===============================+
| # |
| |
| |
| |
| |
| |
| |
| |
| |
+===============================+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.
(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 not advocating you stick with a 9" screen, but be careful with the lure of adding monitors!
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.
It's just a really small rspec clone. Compact, expressive, gets the job done.
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.
Good find on the color scheme page though; I'm gonna have to play around a little with those!
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've been using Win7 and IE developer tools, switching between 7 & 8 for testing and it's been working out pretty good lately.
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.
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:
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.
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.
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
Beautiful Vancouver weather today...
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.
Although you can always just email anyone and meet up for coffee/lunch with just them.
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).
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.
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.
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.
(and as a bonus, if you are working with other people, you can connect to the terminal simultaneously to work together)
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.
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.
Just googled and found 27" for less than $400 on Amazon: http://www.amazon.com/Acer-B273H-bmidhz-27-Inch-Widescreen/d...
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.
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.
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).
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).
MBP screen: Skype + email
Dell 24: Browsers (testing + docs)
Dell 22 (vertical): Code (Netbeans) + terminals
There are better ones out there that can do high resolution, but this one handles the 22 inch at 1050x1680 like a champ.
Almost every hardware designer I know uses vim. I guess we're not very lispy.
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.
I was looking for something better each 2 years or so -- yeah emacs isn't perfect -- but didn't find.
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.
At home: Custom PC w/ 24" Samsung monitor + e Text Editor + Virtualbox + PuTTY + Filezilla + ExpanDrive + Navicat
this is my home setup. unfortunately the big screen is best used only for reference, otherwise it strains my neck.
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.
Wing IDE is taking both of my screens.
but with a 17" macbook instead of the netbook and Vim instead of Wing.
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?
As my programming editor I use vim with nerdtree and bunch of other plugins.
Ubuntu is my distro.
StumpWM managing Emacs & Conkeror.
On opensolaris, RIP.
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 .. 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,'&').replace(/>/g,'>').replace(/</g,'<').replace(/"/g,'"');}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();})()