Live data from Hacker News

On Configuration

sstephenson.us

11–20 of 55 posts

Re: On Configuration

#11
This is, I think, one of the classic splits between developers and sysadmins. Sysadmins are always logging in to unconfigured systems, new systems, foreign systems, and of course broken systems. Being fluent in sh, bash, vi (appreciating, but not depending on vim-isms) and knowing your way around every config file in /etc... those are basic tools for sysadmins.

Developers should have the most productive environments possible. If that means eleventy megabytes of dotfiles and the like stored in a git repo, so be it. Once you move in, nothing should get in the way of turning thoughts into code.

What this means for DevOps... is that you had better have a development system which is in no way experimental. Try not to do dawn surgery on a patient you're going to need to run a marathon in the afternoon.

Re: On Configuration

#12
post #7

What I discovered is that in many cases, my ability to adapt to a foreign environment without frustration is more important than the benefits of configuring a local environment to suit my whims. YES. That is exactly why endlessly messing around with text-editor configuration frippery is a waste of time.

I don't know. Whenever I use my friends Windows computers--and, reasonably, Windows is the default--I'm lost. And yet this is not a good case for switching to Windows!

Besides, these days, I work from my laptop. 99% of the time, I'm on my computer. Now, perhaps I'm remoting into some server, but if so I'm doing that from a local Emacs. When I need to use a new computer, assuming it's running Linux, I only need to copy a couple of configuration files over and it works exactly how I want.

So the only time I have a problem is if I'm using somebody else's computer for a short time. This does not happen often, and when it does it doesn't last long. Moreover, as I said above, chances are high that this computer is either running Windows or OS X, so I'd be at a disadvantage even if I didn't tinker with my setup.

Finally, fundamentally, I think configuring your system is worth doing if it makes you more productive. Most of the things I've configured in Emacs do make me more productive (as far as I can tell). Things like adding new keyboard commands for operations I often use and making Emacs automatically recognize when I'm doing work stuff as opposed to non-work stuff just make life easier for me.

Configuring any individual feature is an O(1) action. Assuming it brings a benefit, this benefit is going to be in O(n) to how much I use it. Given I use both my OS and my text editor a whole lot even a significant amount of time spent configuring everything to work well pays off.

I'm not wasting my time--I'm increasing my efficiency.

Re: On Configuration

#13
Don't worry, it's a phase. You'll go back to configuring at some point, just more judiciously. And then you go back to "Vanilla install ONLY!". And then you start to tinker again, just even more carefully.

At least that's my experience over the last 20+ years. You need - for all the reasons outlined - the ability to work on stock systems, because you never know if you'll have all your favorite tools.

At the same time, some things improve productivity well enough that they're worth adding to your dotfiles, so you'll have them on the machines that you spend 90% of your time on. (I'm thinking "127.0.0.1 ycombinator.com" might be a great one ;)

Re: On Configuration

#14
post #7

What I discovered is that in many cases, my ability to adapt to a foreign environment without frustration is more important than the benefits of configuring a local environment to suit my whims. YES. That is exactly why endlessly messing around with text-editor configuration frippery is a waste of time.

I've never been convinced by that! Procrastination is procrastination. If you weren't tweaking options, you'd be staring out of the window.

Re: On Configuration

#15
Sort of OT: Does anyone know any good examples (on github or otherwise) of a dotfiles repo that can easily be installed on a machine? I've been wanting to do this for a while, but I'm sort of a noob on symlinking and such

Re: On Configuration

#16
I don't mind the rtomakyo dotfile style. (https://github.com/rtomayko/dotfiles)

I haven't implemented it myself - mostly relying on standard tools as the author does. Vanilla bash, vim, etc.

The other trick I like to employ (if I'm in control of the network) is have every machine on my network mount a central (NFS) home directory, with all my dotfiles in it. As long as that's backed up, and configured on every machine, it works very nicely.

Re: On Configuration

#17
post #12
post #7

What I discovered is that in many cases, my ability to adapt to a foreign environment without frustration is more important than the benefits of configuring a local environment to suit my whims. YES. That is exactly why endlessly messing around with text-editor configuration frippery is a waste of time.

I don't know. Whenever I use my friends Windows computers--and, reasonably, Windows is the default--I'm lost. And yet this is not a good case for switching to Windows! Besides, these days, I work from my laptop. 99% of the time, I'm on my computer. Now, perhaps I'm remoting into some server, but if so I'm doing that from a local Emacs. When I need to use a new computer, assuming it's running Linux, I only need to cop…

Just keep in mind that O(1) = O(1 + c). Depending on the relative size of n and c, you might want to stop and think :)

Re: On Configuration

#18
free you from tweaking things and let you focus on getting the job done.

my ability to adapt to a foreign environment without frustration is more important than the benefits of configuring a local environment to suit my whims

This is overly simplistic. It certainly only applies to people spending a lot of time in foreign environments, which is not the norm unless you are doing tech support. I don't know if it's link bait or the penchant for techies to really like black and white simple rules for complicated things when they are even slightly outside their expertise.

I don't even believe that anyone thinks this is true.

I feel like everyone must know that you can get significant productivity gains by tailoring your environment to the things you do often but that obsessive tweaking of minor settings is a bad trap to fall into. Between those two extremes is where you want to be, where in that spectrum depends on what you do specifically. Welcome to the adult world of complex problems that don't have easy solutions. You are already used to this if you are a developer or sysadmin aren't you?

That answer makes for a crap blog post, but does anyone actually disagree that it's the right answer?

Re: On Configuration

#19

I no longer fall into deep pits of yak shaving, but I'm not sure I agree with the opposite extreme either ("use the absolute vanilla defaults"). But I would expect that there's a natural progression (sort of like the many "evolution of a programmer" posts[1]). You start using these programmer's tools, and at first you struggle to do basic things with default settings. Then, later, you learn that everything can be con…

It likely depends on what you're doing as well. For programmers who spend most of their time editing source code and working on a small number of development machines it makes sense to put some effort into customizations to optimize workflow. For sysadmins who have to be able to do work on thousands of machines across various environments it makes sense to know the stock settings inside and out.
Post reply on HN