[SLL] what do you do on new GNU/Linux development workstations?

Adam Monsen haircut at gmail.com
Sat Mar 22 10:35:13 PDT 2008


Good idea, Jeremy! If you don't mind, I'd like to take your thread
("what do you do every time for new systems?") and morph it into one
specific to GNU/Linux development workstations.

I love setup and tools-related conversations since they often involve
excellent productivity hacks. One of my favorite talks at OSCON 2003
was "Inside ~damian/bin". Now there's a fellow (Damian Conway) who
spent a long time working on his toolkit.

I copied some stuff from your post and other replies.

On Sat, Mar 22, 2008 at 7:26 AM, Jeremy C. Reed <reed at reedmedia.net> wrote:
>  So what do you commonly do when you first login to a system you will be
>  using (not temporarily)?

Get my Bash, Readline, Screen and Vim startup files in place:
  http://dotfiles.org/~meonkeys/.bashrc
  http://dotfiles.org/~meonkeys/.inputrc
  http://dotfiles.org/~meonkeys/.screenrc
  http://dotfiles.org/~meonkeys/.vimrc

Set up Bash programmable completion.

Set up SSH keys for public key passwordless authentication.

I usually also throw scripts in ~/bin to automate all sorts of boring
things like:
* eliminating spaces from filenames
* printing the full path for a relative filename
* find largest files/directories in a tree (although Baobab is awesome
for this if I can run GUI programs on the box)
* etc.

Install "tree" (displays files and directories as an ASCII tree).

If I'm going to be developing in Vim, I set up cvscommand, svncommand,
and vimoutliner plugins. One of these days I'll evolve to svk and/or
git.

Install info docs for many GNU utilities (usually just as I need them).

If I have full control over the box...
* update the system
* disable extraneous services running in /etc/init.d/, /etc/xinetd.d/, etc.
* check out ~/bin from my Subversion repository
* set up backups (I'm still learning how to do this effectively)
* set up ntpd
* set up sudo: add myself to the "wheel" group, then give this group
full sudo privs
* set up a decent default iptables firewall. Usually I only let in
SSH, then drop all other packets.

If it's going to be a full-on desktop with Xorg, I'll do quite a bit
more. Java development? Even more stuff. I guess I'll save all that
for another thread. :)

I feel obliged to also state goals for tools that I use. Thankfully, I
just wrote similar goals for my current project (
http://tinyurl.com/2dvzc3 ). My ideal development tools are:
* cross-platform
* feature-rich
* extensible
* stable
* low-overhead: memory and CPU requirements should be reasonable
* FLOSS

-- 
Adam Monsen


More information about the linux-list mailing list