“EC wants software makers held liable for code”

At first glance, something like this seems to be a good idea for consumers. But as a software developer, I can say with complete certainty that it would drive the cost of software into the stratosphere, and run every software company that’s smaller than Microsoft or IBM out of business.

And if Microsoft had the only spreadsheet program that it was legal to sell, do you think they’d bother improving it anymore? Their actions once they’d won the browser wars of the ’90s say otherwise.

Know Thyself: Habits

This is the first of several planned follow-ups to my previous entry on self-knowledge.

As mentioned there, in the last year or so I haven’t had much reason to get out of bed in the morning. Literally — I was in bed until nearly noon most days, despite having gone to bed between midnight and 2am the night before. And despite all that sleep and an otherwise clean bill of health, I was usually tired. The only physical reason that I could come up with for it was a lack of exercise, but adding an exercise regime didn’t make any difference to it whatsoever. That only left a mental reason.

The knowledgeable will immediately suspect depression, but that’s not it. I had chronic depression from early childhood until my late twenties, and I know its symptoms well. I didn’t feel the least bit depressed; if anything, I was content most of the time. The only thing irritating me was that I didn’t have a programming project that I could really get into (Project X didn’t count — its difficulty and tedium kept me from getting into it deeply very often.)

I concluded that I was simply bored. And boredom is not an acceptable excuse for not doing what I want to do, in my book. So, after a few unsuccessful attempts to combat it by finding other interesting side projects to get into, I did what any self-respecting geek does when confronted with a problem he doesn’t know how to solve: I turned to the modern font of all wisdom, the Internet.

And as usual, it didn’t let me down. The top-ranked Google page for getting up early described the exact problem I had, and how the author overcame it. The trick? Habit.

The way to get up early is to make a habit of getting up early.

I had my doubts about that, but I decided to give it a try. I couldn’t bring myself to practice going to bed and getting up, as recommended in that article, but I did start setting a daily alarm and forcing myself to breathe deeply, stretch, and get out of bed when it went off.

To my surprise, it worked. After a few days, it was a lot easier to get out of bed when the alarm went off, and it kept getting easier. I went right back to sleep once, a few days into the process, but other than that I’ve been getting up at the same time for several weeks, and it’s all but automatic now. And to my even greater surprise, it feels good! I don’t feel as tired all the time, and I’m enjoying life more.

Buoyed by this success, I tried it on a couple other small things, both of which were successful. Then the big test: I tried applying this to working on Project X. There, it failed… I got some important things done, but I couldn’t force myself to work on it every day, no matter what I tried, so it never became a habit.

Conclusion: habit is a powerful ally, but alone it’s not sufficient for everything I need. Fortunately, there are a few others I can court. That will be the subject of the next article in this series, probably next week.

BTRFS

As you might remember, I wrote an entry on using the ZFS file system for my older network backup drive a while back, and how nice it was to have the protection of block checksums, ensuring that files can’t get silently corrupted. But for various reasons, I was forced to abandon ZFS on my new network storage system. I wasn’t too happy about that, and did some research on other file systems that included the block-checksum feature.

In short, there weren’t many, and the few that there were didn’t look stable enough that I’d trust them with anything of value. But in my research, I kept running across mentions of something called BTRFS (“Butter FS”).

It was hard to find much information on it, but what little I did find sounded very interesting. The good news: it has all of the features that make ZFS such an appealing choice (including block checksumming and several RAID levels), and unlike ZFS it was being built into the Linux kernel. The bad news: there are big capital-letter warnings that it’s still in testing, and that you can’t safely use it on production systems yet. Disappointing, but prudent.

Despite this, I’ve been following the news on it ever since, and today I discovered a recently-published article on it. If you find such things as interesting as I do, go read it.

I’m eager to try it out. As soon as the Linux gurus say that it’s mostly stable, anyway. 🙂

Know Thyself

For the past several years, I’ve been trying to design and write a very ambitious programming project (referred to here as Project X). But even though I find the project fascinating and intellectually stimulating, recently I’ve found that I’ve had less and less drive to actually work on it.

Last week, I saw another Ford commercial. This one harps on the safety of Ford vehicles, and tries very hard to make you afraid, even going so far as to imply that if you don’t purchase a Ford vehicle, your children are going to die. Nothing new there; although it’s seldom invoked so baldly, it’s well-known in advertising circles that if you can position your product as something that makes people safe from something that they feel afraid of, you’ll sell a lot of whatever it is. And if people aren’t afraid yet, you can always persuade them to fear by exaggerating the threat in their minds.

But the ad got me thinking about why people do things, and specifically why I was having so much trouble working on Project X. Looking back over my life, I suddenly realized why I originally felt drawn to programming, and why that drive no longer applies.

As a child, I was taught that I had to fear everything. I had to get good grades in school or I’d never be accepted into a college, so I’d be a complete failure in life. Strangers were out to kidnap me as soon as I talked to them or got out of sight of my own home, so the few times that I was allowed outside, I couldn’t go more than a few hundred feet away. I had to do whatever my parents said, when they said it, without a word of complaint, or I wouldn’t be allowed to leave my room (I spent a lot of time confined to my room). I had to do what the teachers said or I’d be paddled. I had to do what the preacher said or I’d go to hell.

And it didn’t stop after childhood, either. I had to get a job or I’d be homeless and starving. I had to continue going to school or I’d be stuck barely making enough to live on. I had to do what my boss said or I’d get fired.

I essentially spent my entire life trying to run from one fear or another.

The only things that made life bearable were fiction and, later, programming. Fantasy and adventure stories let me pretend that I might someday be like the heroes in them, powerful enough to do what I wanted, instead of what someone else dictated. And when I was programming, I was the only one pulling the strings — the computer would do anything I told it to, limited only by my own ever-increasing ability to tell it how.

Fast forward a decade or so. I’m forced by circumstances to quit my job with the Post Office, but the Internet has made it possible for someone with programming skills and the right idea to make a good living doing nothing but programming work, and I’m already making enough to live on even without the job. Within a year I’m making more with my programming than I’d ever made at a job, and the amount just kept going up. I still couldn’t do whatever I wanted, because I had to work twelve- to sixteen-hour days, seven days a week, to keep up with what my customers demanded — but I was my own boss, and at least nominally in control of my own life.

Jump forward another five years. I’ve sold my Internet business and started another one. Now I have both the money and the free time. I’ve achieved my childhood dream; I’m finally free! I can do anything I want! And I know what I want: Project X has been beckoning me for years.

Hop forward another couple years to the present, and I see a commercial that makes me realize why programming isn’t as appealing to me as it used to be. I have control of my life now. And I’ve quelled all of the fears that I could effect any control over.

I have nothing left to run from.

I feel like I should have picked up on the problem years ago. Have you ever had a lucid dream? I’ve done it a few times, completely by accident. I’ve suddenly realized that whatever was happening wasn’t possible in the physical world, so I had to be dreaming. And once you realize that you’re dreaming, you can do anything you want. But each time I’ve realized that I was dreaming, the whole thing has just fallen apart. Once I can do literally anything I want, I find that there’s nothing that I want anymore. There are no fears to run from.

It might sound great — there’s nothing to fear anymore, nothing to run from, no one standing over me telling me what I have to do. And it is great, to a point. But what do I do now? With nothing to run from, I feel that I’ve got no reason to move at all. I’m too easily bored to just sit around doing nothing, but I’ve seldom been able to force myself to do anything difficult or tedious without something to drive me, and Project X is both difficult and tedious. I want to do it, but I don’t know how to drive myself to move toward something I want, instead of away from something I fear. And I don’t know how I could make myself feel powerless or afraid again now that I’ve progressed beyond that, even if I were willing to do so.

That’s where I am today. I’ve explored lots of things in the last year to try to get me moving — various mental and productivity tricks, promises of rewards for progress, different philosophies and ways of looking at things — but most of them have had no appreciable effect. But now that I see the root cause of it, it’s obvious why they failed, and I’m much better equipped to tackle the problem.

I’ll continue to write about my experiences in this blog, in the hope that they’ll help others facing similar problems. And though it may sound odd, I hope that lots of other people do have this problem, because it’s very liberating to graduate from a life of fear… even if you don’t yet know what you’re graduating to.