Ask HN: What is your development setup?
Also, if you could change one thing, what might that be?
Examples of some areas of input -
* PC/Laptop specs * OS * Major languages * Source version control * Editor(s) (with Plugins) * Servers, if any etc.
Also, if you could change one thing, what might that be?
Examples of some areas of input -
* PC/Laptop specs * OS * Major languages * Source version control * Editor(s) (with Plugins) * Servers, if any etc.
Software: Developing with Java+ADT/C#+Unity3D/Sublime3/Github. Test devices Nexus5 + 7 (KitKat). Google Hangouts for team-meetings/human interaction.
Hardware: MBA 13" 2013. Sometimes use Logitech G5 mouse. Sometimes the 22"Samsung external.
Edit: Tethered/hotspot-ified internet from the mobile carrier most likely to give me semi-reliable+cheap 3G on my Nexus5. Which is really not very reliable here in south India (BSNL).
Ergonomics: Fashioned a standing desk by putting a solid (brick-like) footstool on tiny desk in my parents' house. Perfect height. External monitor on a shelf next to the desk.
Geographic Location: Currently in tropical Kochi, south India, going to travel slowly to Singapore soon.
PS: Miss my i7/16GB RAM/GTX460/1900x1200 26"/CMStorm Quickfire desktop machine that I use for most of my sideprojects (art and gamedev). Left at my first travel stop out of the US =(
Home office: MacBook Air with large external monitor. I have a very nice teak desk and an ergonomic chair. I don't use my office very often, perhaps 10% of my working time.
Home and on travel: MacBook Air, with a few lap desk alternatives I switch between.
I have five locations in our house and outside on our deck where I like to work. I find that switching working locations is pleasant to do, and provides a change.
Software: I use IntelliJ for: Clojure, Java, JavaScript, and Ruby development. I use Emacs for Haskell and Clojure development.
Parrot: of all the species of parrots available to augment my work environment, I chose a Meyer's Parrot. For ten years (so far) he has been a pleasant addition to my working environment. (As is my wife :-)
Thinking time: no computer and a yellow pad of paper and a comfortable pen.
I have a lifestyle business (consulting work and I always have a book project) that I spend about 25 hours a week on, averaged over the last ten years.
I had no clue IntelliJ supports all of that!
Thanks for sharing Mr. Watson.
I'm a dwm user. I usually have tmux with two sessions side-by-side in one dwm window and Eclipse in another dwm window (if I'm doing something Java related that day) and chrome in another dwm window.
I like the Zenbook.
I have no idea what "dwm" is, though.
Monitors: 2x24" IPS dells vertical, with 30" dell IPS horizontal in center.
And of course a Das Keyboard for the hands and a HM Aeron rescued for $175 from a dead '99 internet startup!
I found this setup to be perfect for two-up windows of code plus email/browser for reference, plus output of what im doing.
Most of time is spent in python/web. Also lots of manual (excel) data analysis, visual studio, and db-related things.
For travel, an old-ish 11" MBA, which I absolutely love.
Aside from the monitors, the setup is actually a lot cheaper than one might think - e.g. raided HHDs, video card, etc are all reused from old machines, 24" monitors are 7 and 4 years old, respectively, etc.
This setup requires a huge desk or system to hold it, doesn't it?
How do you compare Python Tools for Visual Studio to PyCharm?
Nothing beats the quickness of sublimetext, but when you're hunting after more complex gremlins or doing remote process debugging, a good IDE is key.
I also met PTVS guys at last PyCon and they are very approachable.
Home: Second hand ikea desk, Samsung chromebook running Chrubuntu/awesomewm. TypeMatrix Keyboard, wowpen-joy vertical mouse. latest vim. git.
Mostly all coding in python/flask. Also plenty of BASH, JS, and the usual HTML/CSS.
At home, I'd really like a more powerful computer & bigger screen. One day. Perhaps soon.
At work, I'd really like a TypeMatrix Keyboard, or a TruelyErgonomic (Or Kinesis Advantage...).
At home and work, I'm using the 'Workman' keyboard layout.
Software: Sublime Text for code and blog posts. Vagrant with Virtualbox/VMWare Fusion for local VMS with Ubuntu 12.04/Debian Squeeze. Python, JavaScript and lately Go. Github for repos.
Servers: AWS at work, Digital Ocean/AWS at home.
Location: Stockholm.
Other things: Cheap IKEA desk/bad chair at home, cheap IKEA desk/better chair at work, Spotify, 1Password, Dropbox, Skype, Hangouts. Screenhero for remote-debugging customers.
Like to have: A better chair, I'm starting to feel the pain.
Monitors: 2x 27" Dell IPS for work and 1x 24" TN, 2x 17" at home.
OS: Everything.
Keyboard: Kinesis Advantage Pro at work, Ducky Shine I at home.
SVC: git. :)
Editors: vim, with my vim config found here: https://github.com/wridgers/vimto
Env: Virtual machines (VirtualBox) managed by Vagrant and Chef.
OS: Any Unix/Linux will do
Source/Version Control: Whatever is used where I have to do some work
Editors: vi(m), no plugins
At the end of the day, I really only need some ssh, screen, a halfway decent shell, any versioning and a vi.
Also: Pen and paper to take notes and ANY simple GUI to run a browser is appreciated.
If I can have it, I'll take it all in UTF-8, please. :)
Software: * emacs (in evil mode/development wiki in org-mode) * zsh/tmux/git/cmake * 99% of time programming C++. Compilers: Visual Studio 2013 (main)/Clang (secondary)/gcc (secondary) * Windows 7 (main)/Linux (secondarily)/Mac (secondarily)
If I could change one thing? Faster compile times!!!! Anything that would improve turnaround time would be a huge productivity boost for me. I still think C++ is the right language for my project (vision related), but sometimes I dream about using a language with blazing fast compiles.
Interesting. What is the advantage to C++ in the context of CV that outweights the long compile time for you?
2) Fairly easy to parallize algorithms w/ OpenMP or Intel's TBB.
3) Compilers (well, Intel C++ anyway) are good at vectorizing code.
4) No garbage collection. I can work with fairly large images and I don't worry about g.c. (This may be a conservative hangup of mine. As of a couple years ago anyway g.c. would run out of memory when crunching though a set of large images).
5) Decent GUI libraries for cross platform interactive GUIs (wxwidgets and QT in particular).
(And, to be honest, it's also the language I know best and I'm most comfortable in).
IDE: Vim, bash, tmux; I have started using Qt Creator when I do Qt projects and I actually like it.
Production: traditionally AWS but experimenting with Digital Ocean.
Major languages: Python, C, and JavaScript (some C++ with Qt) but also experimenting with Go, D, and Dart
A dedicated development server box running several chrooted systems in a tmux session on Ubuntu x64. I'm in embedded and need to use toolchains of different vintage for legacy products, some available only in x32 flavors with library requirements from GWB 1st term era. The box handles my Hg repos which are backed up nightly to tapes in two company branches.
A Dell 13" laptop with Windows, mainly for company's time reporting system which is Windows only, and for occasional travel.
At home I have a desk stuck in one end of the kitchen with 2x22" monitors and a 19" widescreen, ergo keyboard and mouse, which is for 'serious' dev sessions (or where I"m troubleshooting.)
Main IDE is AptanaStudio3, as it was literally the first 'proper' IDE I could get to work/make sense on the mac.
If I could change one thing? Have a machine I didn't need to plug in (2x USB, power, 2x monitors) everytime I sat down to use it - can't I just have a desktop and laptop that sync perfectly? No? Oh well.
Windows host, running VirtualBox images with Linux Mint. I run several images, each major project in a separate VM.
Almost 100% Clojure development.
SVC: Git mainly.
Editor: Eclipse + Counterclockwise.
For services, I use mostly Heroku and Github.
The best improvement I had in the last years was to buy a corner desk (such as this http://www.ikea.com/us/en/catalog/products/60251335/ ) instead of a regular desk. It's miles ahead in comfort.
If I could change one thing..that'd be the machine itself. Would love a Macbook.
Desk: Ikea Galant.
Software: Git (work) and Mercurial. Rails (work) and Python. PyCharm, Sublime Text 3.
Servers: FreeNAS with 12TB of storage, i7 950/24GB/2TB as a Docker host. Production environment is Rackspace Cloud and Amazon S3.
Python (and XML, alas)
Bazaar, Eclipse with PyDev, Vim. Awesome as a WM. Google Apps for chat, email and calendar. rxvt-unicode as the terminal, zsh as the shell.
Servers: Ubuntu 12.04, Nginx, custom Python app server, Passenger for a third-party Rails app. Ansible for deployment, Upstart for process management.
Oh, indispensable: redshift[1], particularly in the winter.
* retina macbook pro
* topre keyboard (http://elitekeyboards.com/products.php?sub=topre_keyboards,rf104&pid=xf01t0)
* 27" Monoprice monitor (http://www.monoprice.com/Product?p_id=10509&seq=1&format=2)
* Apple magic trackpad
* Linode running Archlinux
* iTerm2
* vim2 x 1920x1080 monitors (one via displaylink, other via USB) + Surface Pro screen
Windows 8.1
Virtual Box running:
- Ubuntu
- Apache or Nginx (depending on project)
- PHP or Node.js (depending on project)
- MySQL, MongoDB, Redis (depending on project)
- Samba network share
PhpStorm (running in Windows to Samba) & vi in Ubuntu
MySQL Workbench & MongoVue
Node with Less compiler
Bitbucket
TortoiseGit
Amazon EC2, S3 & RDS
Putty
Spotify
Experimenting with Cloud 9 for Node & PHP projects
If there was one thing I would change, it's hiring someone and delegating. I'm the bottleneck now, not my tools.
I do love however that my laptop bag has gone from weight a tonne to something I can lift with my little finger. The bonus is the wacom pen, touch input and well, it having the potential of a tablet.
Edit: You can get quite a few hours out of it battery wise. But I generally have it plugged in when I'm doing real development work.
Software: XCode, Coda2, TotalTerminal, bitbucket, github
Server: Parse, DigitalOcean
Ergonomics: Yet to buy a ergonomic chair and standing desk. Currently using a normal a chair with wheels and placed a bunch of boxes on the table for standing desk (temp solution)
Keyboard: SteelSeries 6GV2 (Cherry MX Red switches)
OS: Arch Linux
WM: XMonad
Terminal: Sakura with Tmux
Editor: vim
SVC: git
major languages: Racket, Haskell, Scheme, Python, JavaScript
Chair/table: varies quite a bit based on location
I need to get a nice monitor that has an hdmi input, this laptop is new and I used a VGA output on my old one.
I had a look at a bunch of other wm's and some common themes I found were that configuration files were in a programming language and documentation was "the mailing list and irc". If I had to learn a new language or have an irc chat room open for every piece of software on my machine, I would never get anything done.
If I could investigate one thing it would probably be an external display but I haven't found anything thats retina and affordable.
Not even those high-end LED backlit monitors? What about Apple's own cinema displays?
OSX Mavericks, Jetbrains IDE + Sublime Text, git, vagrant, Sourcetree, Chrome/Firefox, SequelPro, Dropbox, Google Drive/Mail
* Windows 7 Pro
* C#, SQL, JavaScript
* SVN, Git
* Visual Studio 2013, Textpad, Notepad++, SQL Server Manager
As a bonus entry
* Beyond Compare
If I could change one thing I would probably move to an IDE that does everything for you, however that is a toolset to learn and pay for.
Runs anything, has a high resale value, and can drive tons of external displays
OS X Mountain Lion (Mavericks won't install for some weird reason)
Python, HTML, CSS, JS, C
Sublime Text 2
The primary is that it forces you to keep information in your working memory. So you'll either improve your mental capacity, or use better abstractions and architectures to be able to hold them in your working memory.
But once you accomplish that, it is more comfortable to go back to the bigger display :)
If I am doing GUI design or flowchart based programming I am not as productive when I use the small screen.
OS: OSX Mavericks
Package Manager: brew
SCM: git
Main languages: Ruby, Coffeescript, Clojure (for fun)
Editor: Sublime Text 2, vim for server work
Typeface: Inconsolata-g
Chair: Herman Miller Aeron
I have a feeling that all of these things are extremely common.
OS: Ubuntu 13.04
SVC: git/hg
Editor: vim on a terminal, dark background picture, alpha blended text.
Plugins: syntax highlighting for glsl and coffeescript
If I had more space, I would add an external monitor.
OS: Mavericks
SVC: Git
Editor: Emacs
Browser: elinks
Package Managers: NPM, Brew
Languages: JavaScript, Clojure, Scheme
Server: Heroku
That's a very interesting choice. Do you mind mentioning if you do belong to one those organizations that I thought (as a kid and still do) I'll work for.
Executive chair, L desk
at work I have a Toshiba Qosmio 17" with an i7, ssd and 8gb ram, they will be exchanging it for a macbook pro retina this year.
2gb ram
dual core celeron
5400 rpm 500gb hdd
xubuntu
emacs
emmet
magit
nginx
erlang
nodejs
i7-2640M CPU @ 2.80GHz
256SSD
8 gb ram
ubuntu 12.04 LTS
Python Python
Git
Vim
apache
postgres
Eventually, I hope to purchase an adjustable standing desk