7 ms·
Ask HN: Your Development Environment
Was wondering what does your dev environment look like. I am more of a Web Developer and have a Mac as personal computer and a dev box which runs Debian. So, I basically use SSH into the Debian box from my Mac.
I wanted to get into systems programming for linux and wanted to know how to approach that in this environment. By systems programming I mean things like writing device drivers, play with linux kernel etc.
Thanks.
- aitoehigie 16y agoweb development: web2py, blueprint, Terminal shell, jquery, and jqueryUI, all on Ubuntu 10.04
- Amanjeev 16y agoLinux> Love it.
- coreyrecvlohe 16y agoWell I use HyperVM which runs on Xen to boot up virtual environments for testing and deployment. At the moment I only have CentOS images setup, but when I find some time I'll add a few more linux variants. Though, I have to say, I'm trying to move to something else. HyperVM is so botched at the moment, it's just useless to add features to. The guy that ran the project apparently is no longer with us, so the source has been released to the public, and currently nobody is maintaing the project.
- sirsean 16y agoOS X, 2 monitors. 8 Terminal windows, 2 fullscreen MacVim windows (with vim running the NERDTree and Buffer Explorer plugins). I do all my Java/Flex/Ruby/Python development like that, and I think it works great. I've written code generators to give me Java or Flex classes as needed, without having to write much boilerplate. Just do what feels most comfortable, and make small changes as needed to make it better.
- lleger 16y agoOS X, dual monitors. Textmate, Sequel Pro, Transmission. I do all of my web development with these three applications and in my opinion, they're the best.
- threepointone 16y agowait, Transmission? Did you mean Transmit? Or do you have a cool bittorrenty way of uploading/downloading source?
- lleger 16y agoYeah, I meant Transmit, specifically the new version. My bad.
- landyman 16y agoAt work: Windows 7, at home: Ubuntu 10.04 At both places: 2 monitors, Emacs (js2-mode, python-mode, php-mode, charp-mode, yasnippet, a custom theme, and more), a terminal shell (sometimes inside of emacs) and a browser open. When I did systems programming (just for curiosity), I used just a shell and emacs on CentOS, Slackware and FreeBSD; along with some good books on messing around with that stuff. The OSes were run inside of virtual box just in case I really messed something up :-)
- buster 16y agoLaptop: Ubuntu, IDE: vim/eclipse/gedit, whatever fits best. Partly working in Solaris, so quite some script development in a shell with vi
- mitchellhislop 16y agoWeb Dev work: Aptana Studio, Sequel Pro, Terminal (2x or 3x usually) HTTP Client (excellent little app for working with API's), all on Mac OSX and 2 screens, always.
- Casperin 16y agoI do front-end stuff mostly. html, css, javascript, and some php, Django or RoR (depending on the team I work with). I work on my Acer Aspire one (no, really), with an external monitor. I run Ubuntu (virtualbox for testing in ie). I do all of my coding in gedit or vim, and use Git for bigger projects.
- damienfir 16y agoTextmate and/or vim, Terminal, Safari. Works great
- ddemchuk 16y agoI flip between Windows 7 and Ubuntu 10.04. Dual monitors everywhere, and usually a VM on either setup to allow me to run the other OS without a reboot. I don't use IDE's, just text editors. GEdit on Ubuntu, intype on Windows. I have LAMP setup on Ubuntu, and WAMP for windows. All my ruby programming goes on Linux for the most part.
- abronte 16y agovim and debian via ssh. Either on a vm on my laptop or on a VPS depending on the project im working on.
- jmathai 16y agoTry to install everything needed on the server side using macports (lamp stack, memcache, etc). MacVim and svn/git from command line to write code/manage. I started running all the server software on my laptop about 5 years ago and haven't looked back since. I don't need a network connection, ssh, or anything to work. I've done quite a bit of development in the air as a result. It's also wicked fast (never any network latency) --- which adds up over time.
- Amanjeev 16y agoRespect.
- Scott_MacGregor 16y agoDevelopment Server: - In-house racked 64-bit dual processor Dell with Raid-1 SCSI & 16 GB memory running: - RHEL 5.4 with XEN virtualization - Apache - Zend Server Community Edition PHP stack - MySql - JRE & JDK - Subversion - JIRA bug tracker (nice features and surprisingly affordable) Workstations: - Windows XP SP2 - Zend Studio - Various browsers for checking site display - ZoneAlarm set fairly restrictive - Windows Live Messenger for easy free SMS contact when needed
- Amanjeev 16y agoGot a good box there Scott.
- ivyirwin 16y agoI have a similar setup as you – work on a mac with a Debian testing box. I've always run a local server with PHP and MySQL to run things natively, but have been moving more and more to working on the testing box. My favorite software for this is Coda (www.panic.com/coda). I use the built in SVN support of Coda to setup a repository on the dev box. I also set up a dev domain (dev.domain.com or beta.domain.com). I use the local server on my Mac to run rapid quick testing changes and then use the GUI on coda to see which files need to get pushed to SVN or the dev domain. Oh and for MySQL, can't live without Sequel Pro.
- Amanjeev 16y agoCoda looks promising. Seems like something straight from Apple HQ.
- kamme 16y agoFor my personal development at home I use an old asus eeepc 900 as my tiny server. I've taken it apart to remove the screen and used ubuntu mini.iso to install CLI mode + apache2, MySQL and php5. I use apache with mod_vhost_alias to map a directory structure to hostnames automatically so developing/testing a project is very easy. My apache webroot folder is actually a folder in my dropbox, so my code is automatically backed up too. I have a macbook (a 13" unibody) with the dropbox account and MAMP to develop on (type the code). I usually mount the folder of the project I'm working on, on the macbook and turn off dropbox to go easy on the syncing. Lately I tend to go more to my linux roots (I was a linux only user for quite some years before I bought the macbook) so I bought an asus 1005P and put ubuntu on it, again with mod_vhost_alias and dropbox. I must admit it's a great little machine and it has almost 8hrs of battery time, wich is a real plus. For me developing is something I should be able to do anywhere, at all time. Hence the rather unconventional development environment...
- Amanjeev 16y agoI find your setup very portable. Thanks.
- arghnoname 16y agoFor a long time I've just been running Linux and use emacs and the zsh shell as the main environment I operate in within it. I recently got a laptop though and for reasons I won't get into, have a visceral and probably irrational dislike for Apple and I really didn't want to deal with Linux wireless not working well, or sleep not working well, or whatever else may or may not work well on the laptop. Anyway, for the laptop I got a machine with Windows 7 and I installed Linux on top of it in a virtual machine. I have to say, I love it! If I want to look at something in IE or use MS Office (I prefer it over OpenOffice, sorry), or whatever else I might want to do in Windows, I don't have to reboot. I can snapshot and tinker, without worrying about breaking it, and Win 7 works really well. When I want to do dev work I boot up the Linux VM and put it up full screen and haven't had any problems yet. Next time I put together my main machine, I'm considering doing the same there, though I have gotten quite used to all the Linux apps.
- Amanjeev 16y agoI agree. Although I hate Apple myself and have been a linux user, I still think Mac OSX is an exceptional OS for personal use. Having said that, I HAVE worked on Windows 7 and it is by far the best OS Microsoft has produced and if I had to use it, I would. MS Office is nice, I use it on my Mac.
- marilyn 16y agoI'm a web developer too, and have a similar set up, with a debian dev machine (it's actually a small Linode VPS), and I connect from my PC via ssh. I also use SlickEdit to work on the remote files via sftp, which I find to be super useful.
- daniel-cussen 16y agoEmacs on a 12" macbook. Clisp.
- pg 16y agoI edit code with vi on my Macbook Air and paste it into the repl of the running server.
- garply 16y agoI was raised in vim and used to do the same when hacking Lisp but it got tedious after a while. Have you considered using viper mode in emacs (which makes emacs behave like vi)? I've found that having an inferior Lisp to which you can easily send your code without pasting is a big time-saver.
- thunk 16y agoI code Bine in Automatic Chamber on an old Linebarger Oculon cryptangled with redundant deep-remote diamondwisp StraightRazers. Pretty standard, really.
- megamark16 16y agoAcer Aspire One netbook dual booting Ubuntu 10.04 and Windows 7. I do mostly web development using Python and Django on my Ubuntu partition, gedit, terminal, firefox and chrome are pretty much all I need. I come from an ASP.NET/C# background, so I have Visual Studio on my Win7 partition, but honestly the only time I boot into windows is to watch netflix.
- lovskogen 16y agoWhy the two browsers?
- megamark16 16y agoWell, mostly because I like Firefox's development tools a little bit more than Chromes (although they are both awesome), but Chrome is way faster than FF for standard browsing. So I use FF for dev and Chrome for browsing.
- may 16y agoFreeBSD. dwm. rxvt. Emacs. git. newLISP.
- DanielRibeiro 16y agoIt really depends on what I'm doing. For python/java, I use Eclipse. For ruby, Netbeans. Shell: emacs. Any new languages that doesn't have any good ide support (such as go and objective-j): emacs. For smalltalk, well, squeak (but you use whatever version the smalltalk is, as they all come with an ide, which is part of the system, and is very hard to separate ide and production/dev environment). Os-wise: I always try to stick with linux, as there are very good dev tools that are a pain to use elsewhere (for c programming, you can access the documentation by typing man and the name of the function on the terminal, which is very convenient, albeit a bit ugly).
- wanderr 16y agoI like to use Windows for my dev environment, but I code for Linux systems. When I used 32-bit Windows, I used pubuntu to run an ubuntu server inside Windows without using a VM. It was nice and fast and worked well aside from a few networking quirks that I eventually worked out. pubuntu isn't compatible with 64bit Windows yet, and I was really itching to use all of my RAM so now I run CentOS on an old laptop of mine with 256MB of ram and a busted display (not good for anything but a testing server anyway), which I have stuffed in the server closet. I have my workspace folder on my dev machine shared, and on the laptop I am using cifs to mount it as a local folder (/workspace on my laptop is actually c:\workspace on my windows machine), so as I make changes to files, they are instantly reflected on the laptop. This makes for extremely convenient testing.
- tptacek 16y agoAquamacs. Interchangeable MacBook/MacBook Pro. Usually, no external monitor. I'm at pains to get things working on my laptop, even though we deploy on Debian; I almost never code "remote". For the times when I have to edit remotely or in a terminal: pico. Shut up. I've played with Coda and TextMate, but a couple times a year I have to write serious amounts of Win32, and I need to form a relationship with my text editor.
- SingAlong 16y agoUbuntu 9.10 on Acer Aspire One netbook and 10.04 on desktop Emacs23 nox mode with starter kit from technonancy's fork. Ruby 1.8.7 and 1.9.1 on RVM Rails/HAML/LESS Prgmr 512mb vps for remote dev environment and testing Chrome+Firefox