I’ve thought in terms of activation energy for years (note: I’m not claiming priority, I’m sure I got it from somewhere else). It might not be falsifiable, and I strongly doubt that it’s a grand unified theory of procrastination, but it seems to be a useful way of looking at things, and in some cases it is obviously perfectly accurate.
I have a couple of examples (filled with specifics; I’ve redacted nothing except company names).
Scheduling medical appointments isn’t difficult, but its activation energy is nonzero (I have to call their office during normal working hours, which takes a few minutes), compared to the activation energy of doing nothing, which is zero. But going years without appointments isn’t good. After I realized this, I set up a simple system. As I’m leaving my dentist or ophthalmologist, I’ll go to their front desk and schedule my next appointment in 6 months (dentist) or 1 year (ophthalmologist). I’m already there, so the activation energy is epsilon, and this ensures that I schedule these appointments like clockwork. Later on, I’ll call their office if I need to reschedule, which happens very rarely (and when it does, activation energy is not an issue; the penalty for not rescheduling a conflict is marked in my mind as “dire”; regardless of whether it actually is, that’s a useful thing for me to think).
I don’t use this system for my primary care physician or ocularist, though, and predictably I don’t see them as regularly as I probably should. (There are reasons for the asymmetry: I don’t own a car, only a Segway, so to travel more than a few miles I rely on favors from friends or family. My dentist is within Segway distance, and my ophthalmologist is critically important so I could never think of missing an appointment. But I don’t need to see my primary care physician more often than every 2 years, which is too long to schedule an appointment in advance, and I can get away with not seeing my ocularist very frequently.)
My second example is more technical, but even more relevant. When I was at [College Name], I hosted my website on their servers, and later (because I had Ethernet and a static IP) from a spare computer reformatted with Red Hat 9. I was new to Linux at the time, so I barely knew what I was doing, but I had boundless energy and I got it working the way I liked. Of course, I didn’t write down what I did.
Then I graduated, and moved 1000 miles to work for [Employer Name]. Despite living just a couple of miles away from their bandwidth-rich buildings, the Verizon DSL available to me was terrible, 80 KB/sec down and 16 KB/sec up (I later got Comcast cable, and finally Verizon FiOS at 25 Mbps up/down became available to me, but only a few months ago). I left my server with a grad student acquaintance for a few months, but I needed a permanent solution, so I went with [Dedicated Server Company]. I was used to having root on a Linux box, and my website was completely custom, so shared hosting was unacceptable to me. [Dedicated Server Company] looked like my best option in 2004, and at 325 USD/mo it was expensive but I could afford it. I set up this server, running Red Hat Enterprise Linux 3, and it was even more complicated this time. I set up my own E-mail, not having my college address anymore, and figuring that out was horribly complicated (although this was in the dark ages of 2004, I wasn’t an idiot, and demanded encryption to and from the server; Gmail didn’t start doing this for everyone until Jan 2010). And of course, I didn’t write down how I set up the server, since I was figuring it out as I went. This was also on top of [Dedicated Server Company]’s extensive and incomprehensible customizations. And I modified lots of stuff in the years that followed.
Fast forward to 2009. I noticed how much money I’d spent on this server (325 12 5 = 19,500 USD over 5 years, eek) and how old it was getting. But setting up a new server and reconfiguring my website and E-mail seemed like an impossibly difficult task (activation energy!) given that messing around with Linux servers was no longer on my list of endlessly fascinating things to do. I’d been meaning to find new hosting, but I was procrastinating despite the financial expense.
At this point, it’d be neat to say that I figured out how to lower my activation energy so I could switch servers. But no. Instead, something happened that pushed me over this huge potential barrier: due to a server misconfiguration, I started using a ton of bandwidth, and [Dedicated Server Company] didn’t notify me, and I went about 300 GB over, at a cost of 1.25 USD/GB. INFINITE RAGE. I swore that I’d leave [Dedicated Server Company] if it killed me.
It took me several more months, but I finally found [Virtual Server Company] through my best friend’s recommendation. While visiting my place, he made me get out my credit card and set up an account with them. During the next couple of months, I despaired about how much work I’d have to do, and how busy I was with other stuff, while he cajoled me into permanently switching, and convinced me to use Google Apps for my mail (instead of running postfix on my own server). Finally, in December 2009, I broke the work of switching servers into a handful of tasks (transfer bash configuration, transfer Apache configuration, set up Google Apps, set up DNS, etc.) and completed one every couple of days. I was soon finished, with a fresh Ubuntu server, and once I was satisfied that I’d never have to look at my old yucky server again, I sent a wonderful mail to [Dedicated Server Company] canceling my account, and excoriating them for (a) their high cost (probably reasonable for a corporation; not for an individual—I was partially insane in 2004 though), (b) their bandwidth overuse charge (at 1.25 USD/GB, an order of magnitude greater than [Virtual Server Company]’s 0.15 USD/GB—being virtualized doesn’t lower their bandwidth costs so a buck per gig in 2010 is definitely highway robbery), and (c) their utter inability to send an automated notification when I went over my bandwidth limit, despite the fact that it’d take a drunken teenager about 10 minutes to code that in Python.
Best of all, [Virtual Server Company] costs me only 18 USD/mo. My friend saved me 3684 USD/yr. (And reduced the necessary size of my retirement fund by about 74k USD, the way that I calculate it. That is a lot of money.) Procrastinating for so many months, if not years, was one of the most irrational things I’ve ever done (and I pride myself on my rationality), but the activation energy of maybe a day’s worth of work in total seemed more expensive to me than thousands of dollars.
I did learn something to reduce my future activation energy, though. This time, I wrote down every single thing that I did while setting up my Ubuntu server, so that I could replicate the process on demand (to upgrade Ubuntu—I don’t yet trust the process for doing so in place—or to switch companies, not that I’ll be doing the latter, since I love [Virtual Server Company]). That’s already come in handy as I’ve upgraded versions once. Whenever I modify my configuration (like when I discovered the magic trick to get “cls” working in PuTTY as it does in Windows), I’m careful to update my notes, so I don’t lose anything.
Great examples. I had something similar happening when I shifted out of a business—I had a lot of services I was paying for, and put it off a few months even though it cost me some cash.
In retrospect, it’s totally strange and I couldn’t identify why. Activation costs probably explain a lot of that. Good suggestion about documenting what you did to make it easier next time, too.
That was really interesting to read, thanks. It sounds like you are or at least were at one point on the way to becoming a (semi)competent sysadmin. Any advice on how one does that for those who think it’d be nice to have a marketable skill that can be learned to employable levels in 3-6 months?
Any advice on how one does that for those who think it’d be nice to have a marketable skill that can be learned to employable levels in 3-6 months?
I don’t think one can. Optimistically, one can learn the Unix environment (shells, scripting, the CLI tools, that sort of thing) in 3-6 months, but that’s just a start.
Great Ghu. Okay, I believe. Does the answer change if employable is taken to mean worth hiring to do some low level work under supervision of someone who is genuinely competent?
That makes me hesitant to combine learning linux through Ubuntu and Python. Is that a reasonable hesitancy?
Does the answer change if employable is taken to mean worth hiring to do some low level work under supervision of someone who is genuinely competent?
I don’t know. My imagination is impoverished, and I can’t think of anything that your basic Linux poweruser is useful for that doesn’t require more advanced sysadmin chops.
That makes me hesitant to combine learning linux through Ubuntu and Python. Is that a reasonable hesitancy?
Python (and most FLOSS languages) work best under a Linux, so it’s not unreasonable. It’s more reasonable than learning it under Windows, for example.
Power user! I don’t think I’ve heard that word in a long time. Google Trends somewhat confirms my intuition, showing a fairly steady decline since they started keeping track. Unfortunately they only have data back to 2004, my intuition suggests that the word had already been in decline for some time at that point.
I picked up a skill point or two in server wrangling, but I’m nowhere near employable as a sysadmin (I’m a C++ programmer). So the only advice I can offer is generic: mess around with stuff that interests you until you get good at it. It’s not very structured advice, to be sure. :->
Why would you be hesitant to learn (one or more flavors of) linux and python? I’d call such learning autotelic, but even if it’s not fun for you, there are thousands of things in life (including but not limited to many diverse career paths) that are improved by the ability to get a computer to help you do stuff.
You should include your opportunity cost in the question, though. What’s the next-best thing you will be (not “could be”, but actually expect with the same likelihood as learning linux and python) doing if NOT learning these things. Learning windows administration details and C# is probably pretty valuable. Learning accounting standards and how to talk to business people is valuable. Actually working for someone and learning their specific business is valuable.
Reading less wrong and learning/discussing/exploring far-mode rationality is valuable too, but probably a lot less than the above options.
This question is offtopic for this post, but it could make a good discussion in an open thread. I’ll give my answer anyway because I don’t have the willpower to resist (or to phrase in the current metaphor, because it’s exothermic to do so, and the activation energy is less than my current ambient heat).
I tend to agree with others that 3-6 months is ludicrous to start from scratch and end up with marketable technical competence (there are exceptions, of course—some truly unusual individuals or those starting with competence in some related endeavor might be able to do so).
If you’re genuinely interested in the topic, you likely started years ago, and you really should ask “given where I am now, how should I focus my learning to get started in employment in the field”. If you’re not interested, it’s hard to imagine that you’ll ever be good at it, and you might should ask “how do I generate interest (in myself) for this topic so I can get good at it”.
I’ve thought in terms of activation energy for years (note: I’m not claiming priority, I’m sure I got it from somewhere else). It might not be falsifiable, and I strongly doubt that it’s a grand unified theory of procrastination, but it seems to be a useful way of looking at things, and in some cases it is obviously perfectly accurate.
I have a couple of examples (filled with specifics; I’ve redacted nothing except company names).
Scheduling medical appointments isn’t difficult, but its activation energy is nonzero (I have to call their office during normal working hours, which takes a few minutes), compared to the activation energy of doing nothing, which is zero. But going years without appointments isn’t good. After I realized this, I set up a simple system. As I’m leaving my dentist or ophthalmologist, I’ll go to their front desk and schedule my next appointment in 6 months (dentist) or 1 year (ophthalmologist). I’m already there, so the activation energy is epsilon, and this ensures that I schedule these appointments like clockwork. Later on, I’ll call their office if I need to reschedule, which happens very rarely (and when it does, activation energy is not an issue; the penalty for not rescheduling a conflict is marked in my mind as “dire”; regardless of whether it actually is, that’s a useful thing for me to think).
I don’t use this system for my primary care physician or ocularist, though, and predictably I don’t see them as regularly as I probably should. (There are reasons for the asymmetry: I don’t own a car, only a Segway, so to travel more than a few miles I rely on favors from friends or family. My dentist is within Segway distance, and my ophthalmologist is critically important so I could never think of missing an appointment. But I don’t need to see my primary care physician more often than every 2 years, which is too long to schedule an appointment in advance, and I can get away with not seeing my ocularist very frequently.)
My second example is more technical, but even more relevant. When I was at [College Name], I hosted my website on their servers, and later (because I had Ethernet and a static IP) from a spare computer reformatted with Red Hat 9. I was new to Linux at the time, so I barely knew what I was doing, but I had boundless energy and I got it working the way I liked. Of course, I didn’t write down what I did.
Then I graduated, and moved 1000 miles to work for [Employer Name]. Despite living just a couple of miles away from their bandwidth-rich buildings, the Verizon DSL available to me was terrible, 80 KB/sec down and 16 KB/sec up (I later got Comcast cable, and finally Verizon FiOS at 25 Mbps up/down became available to me, but only a few months ago). I left my server with a grad student acquaintance for a few months, but I needed a permanent solution, so I went with [Dedicated Server Company]. I was used to having root on a Linux box, and my website was completely custom, so shared hosting was unacceptable to me. [Dedicated Server Company] looked like my best option in 2004, and at 325 USD/mo it was expensive but I could afford it. I set up this server, running Red Hat Enterprise Linux 3, and it was even more complicated this time. I set up my own E-mail, not having my college address anymore, and figuring that out was horribly complicated (although this was in the dark ages of 2004, I wasn’t an idiot, and demanded encryption to and from the server; Gmail didn’t start doing this for everyone until Jan 2010). And of course, I didn’t write down how I set up the server, since I was figuring it out as I went. This was also on top of [Dedicated Server Company]’s extensive and incomprehensible customizations. And I modified lots of stuff in the years that followed.
Fast forward to 2009. I noticed how much money I’d spent on this server (325 12 5 = 19,500 USD over 5 years, eek) and how old it was getting. But setting up a new server and reconfiguring my website and E-mail seemed like an impossibly difficult task (activation energy!) given that messing around with Linux servers was no longer on my list of endlessly fascinating things to do. I’d been meaning to find new hosting, but I was procrastinating despite the financial expense.
At this point, it’d be neat to say that I figured out how to lower my activation energy so I could switch servers. But no. Instead, something happened that pushed me over this huge potential barrier: due to a server misconfiguration, I started using a ton of bandwidth, and [Dedicated Server Company] didn’t notify me, and I went about 300 GB over, at a cost of 1.25 USD/GB. INFINITE RAGE. I swore that I’d leave [Dedicated Server Company] if it killed me.
It took me several more months, but I finally found [Virtual Server Company] through my best friend’s recommendation. While visiting my place, he made me get out my credit card and set up an account with them. During the next couple of months, I despaired about how much work I’d have to do, and how busy I was with other stuff, while he cajoled me into permanently switching, and convinced me to use Google Apps for my mail (instead of running postfix on my own server). Finally, in December 2009, I broke the work of switching servers into a handful of tasks (transfer bash configuration, transfer Apache configuration, set up Google Apps, set up DNS, etc.) and completed one every couple of days. I was soon finished, with a fresh Ubuntu server, and once I was satisfied that I’d never have to look at my old yucky server again, I sent a wonderful mail to [Dedicated Server Company] canceling my account, and excoriating them for (a) their high cost (probably reasonable for a corporation; not for an individual—I was partially insane in 2004 though), (b) their bandwidth overuse charge (at 1.25 USD/GB, an order of magnitude greater than [Virtual Server Company]’s 0.15 USD/GB—being virtualized doesn’t lower their bandwidth costs so a buck per gig in 2010 is definitely highway robbery), and (c) their utter inability to send an automated notification when I went over my bandwidth limit, despite the fact that it’d take a drunken teenager about 10 minutes to code that in Python.
Best of all, [Virtual Server Company] costs me only 18 USD/mo. My friend saved me 3684 USD/yr. (And reduced the necessary size of my retirement fund by about 74k USD, the way that I calculate it. That is a lot of money.) Procrastinating for so many months, if not years, was one of the most irrational things I’ve ever done (and I pride myself on my rationality), but the activation energy of maybe a day’s worth of work in total seemed more expensive to me than thousands of dollars.
I did learn something to reduce my future activation energy, though. This time, I wrote down every single thing that I did while setting up my Ubuntu server, so that I could replicate the process on demand (to upgrade Ubuntu—I don’t yet trust the process for doing so in place—or to switch companies, not that I’ll be doing the latter, since I love [Virtual Server Company]). That’s already come in handy as I’ve upgraded versions once. Whenever I modify my configuration (like when I discovered the magic trick to get “cls” working in PuTTY as it does in Windows), I’m careful to update my notes, so I don’t lose anything.
Great examples. I had something similar happening when I shifted out of a business—I had a lot of services I was paying for, and put it off a few months even though it cost me some cash.
In retrospect, it’s totally strange and I couldn’t identify why. Activation costs probably explain a lot of that. Good suggestion about documenting what you did to make it easier next time, too.
That was really interesting to read, thanks. It sounds like you are or at least were at one point on the way to becoming a (semi)competent sysadmin. Any advice on how one does that for those who think it’d be nice to have a marketable skill that can be learned to employable levels in 3-6 months?
I don’t think one can. Optimistically, one can learn the Unix environment (shells, scripting, the CLI tools, that sort of thing) in 3-6 months, but that’s just a start.
Great Ghu. Okay, I believe. Does the answer change if employable is taken to mean worth hiring to do some low level work under supervision of someone who is genuinely competent?
That makes me hesitant to combine learning linux through Ubuntu and Python. Is that a reasonable hesitancy?
I don’t know. My imagination is impoverished, and I can’t think of anything that your basic Linux poweruser is useful for that doesn’t require more advanced sysadmin chops.
Python (and most FLOSS languages) work best under a Linux, so it’s not unreasonable. It’s more reasonable than learning it under Windows, for example.
Power user! I don’t think I’ve heard that word in a long time. Google Trends somewhat confirms my intuition, showing a fairly steady decline since they started keeping track. Unfortunately they only have data back to 2004, my intuition suggests that the word had already been in decline for some time at that point.
I picked up a skill point or two in server wrangling, but I’m nowhere near employable as a sysadmin (I’m a C++ programmer). So the only advice I can offer is generic: mess around with stuff that interests you until you get good at it. It’s not very structured advice, to be sure. :->
Why would you be hesitant to learn (one or more flavors of) linux and python? I’d call such learning autotelic, but even if it’s not fun for you, there are thousands of things in life (including but not limited to many diverse career paths) that are improved by the ability to get a computer to help you do stuff.
You should include your opportunity cost in the question, though. What’s the next-best thing you will be (not “could be”, but actually expect with the same likelihood as learning linux and python) doing if NOT learning these things. Learning windows administration details and C# is probably pretty valuable. Learning accounting standards and how to talk to business people is valuable. Actually working for someone and learning their specific business is valuable.
Reading less wrong and learning/discussing/exploring far-mode rationality is valuable too, but probably a lot less than the above options.
This question is offtopic for this post, but it could make a good discussion in an open thread. I’ll give my answer anyway because I don’t have the willpower to resist (or to phrase in the current metaphor, because it’s exothermic to do so, and the activation energy is less than my current ambient heat).
I tend to agree with others that 3-6 months is ludicrous to start from scratch and end up with marketable technical competence (there are exceptions, of course—some truly unusual individuals or those starting with competence in some related endeavor might be able to do so).
If you’re genuinely interested in the topic, you likely started years ago, and you really should ask “given where I am now, how should I focus my learning to get started in employment in the field”. If you’re not interested, it’s hard to imagine that you’ll ever be good at it, and you might should ask “how do I generate interest (in myself) for this topic so I can get good at it”.
It might be possible to do it in a year, however:
http://philip.greenspun.com/teaching/undergrad-cs
http://philip.greenspun.com/teaching/teaching-software-engineering
(Perhaps with some additional techniques like spaced repetition?)