Raam Dev

Hello, future.

Mt. Tecumseh

On Labor Day, I hiked Mt. Tecumseh, the lowest of the official 48 four thousand footers in NH. The trail starts just below the Waterville Valley ski area base camp (slightly back down the road on the right side, if you're facing the base camp). The first two miles of the trail were beautiful and well maintained. In some parts, the forest was so lush it felt tropical. After the first lookout (where the above picture was taken), the trail becomes a lot more unforgiving and you're basically doing stair climbers on rocks for a mile and a half (my thighs ached for days afterwards).

The summit area was extremely lush and the peak offered a nice view. I took a nap at the summit, snapped some pictures of a beautiful sky, watched a mouse scramble out from underneath a rock looking for scraps, and eventually ended back down.

Instead of going back the same way I came, I took the Sosman Trail over to the top of the ski trails. The panoramic view was indescribably stunning, but unfortunately by this time my camera had run out of battery. (I was, however, able to snap two pictures half way down.) Having an unobstructed view from the top all the way down to the base lodge was incredible and being on such a grassy hillside definitely made me feel like I wasn't in New England anymore. I switched between jogging, walking, and limping down the ski trails. My feet were in a lot of pain from the previous day's hike and from all the down-angled terrain, but at the same time I wanted to get down faster so the pain would cease.

Date of Hike
2008/09/07

Hiking Time
Total Time (including breaks): 4 hours
Book Time: 3.5 hours

Hiking Distance
Round Trip: 9.6 miles

Total Climb
2,328′

Mt. Tripyramid (North & South Peak)

North Slide on Mt. Tripyramid

On Labor Day weekend, I hiked Mt. Tripyramid, one of the official 48 four thousand footers in NH. The trail starts out with a relatively easy 3 mile walk along Livermore Rd. I went past the South Peak trail and took the North Peak trail instead. This trail went up the very steep North Slide (which is where the above picture was taken from); the rock face was very bare in some spots, requiring me to find cracks in the rock to hold myself down as I climbed. The panoramic view from the North Slide was awesome. The Waterville Valley ski area and Mt. Tecumseh, the mountain I climbed the following day, was clearly visible. There were times on the North Slide where I had no idea where the trail was (stay to the right on the slide!) but it eventually lead to a very dense forest.

Once inside the forest, the trail almost disappeared. There was a spot where I thought the trail branched off to the right, but after getting confused and exploring it, I determined it lead nowhere. The trail continues straight up and off to the left (the maps don't show this at all) through very dense bushes (you can't even see the ground while going through them). There was one spot on a rock in the dense bushes where the view opened up to the South.

There weren't many views from the North Peak. The trail continued along the ridge through thick forest to Middle and finally South Peak. I took the South Slide back down, which had a lot more loose rock, but felt much safer than the very steep North Slide.

After the South Slide, the trail continued through the forest and eventually lead back to Livermore Rd. From there, I had the long 3 mile walk back to the parking lot.

I used a new app on my iPhone called RunKeeper to track my hike using the built-in GPS. You can see elevation, speed, and the route:

Date of Hike
2009/09/06

Hiking Time
Total Time: 5 hours 42 minutes
Book Time: 7 hours

Hiking Distance
Round Trip: 10.5 miles

Total Climb
3,289′

Labor Day Weekend Camping Trip

I went camping this past Labor Day weekend and bagged three more of the official 48 four-thousand footers in NH, increasing my current total to seven (I did Mt. Hancock and Mt. Osceola almost exactly two years ago on Labor Day weekend of 2007). I hadn't planned the trails I would hike and it wasn't until I started reading the trail book that I decided to start tackling the official list of 48. Two posts with details of the hikes will follow this one over the next two days.

Shortly after arriving at my campsite, I accidentally discovered my point-and-shoot camera (an Olympus 770sw) had a macro-mode that allowed me to take some incredible closeups. As you can see from the various flower pictures, I had fun with it (look for more awesome closeups on my last hike when that gets posted).

My excursion lasted four days and three nights, Saturday afternoon through Tuesday morning. The trip was incredibly relaxing and invigorating, more so than I expected. After my second hike on Monday my feet were very, very sore. I pulled off the road, walked down to the river, took off my shirt and shoes, and walked out into the middle of the river. I found a big flat rock and laid in the sun with my bare feet soaking the cold water. It was awesome.

For several days after I returned, I felt strangely different. Relaxed, yes, but also connected -- connected to everything around me and at total peace. It was a deep inner relaxation and peace. Why didn't I feel that way every time I returned from camping? The last time I remembered feeling like that I had also been gone for three nights, so perhaps that had something to do with it. Or maybe I was able to relax a little more than usual because I had made it clear to everyone that I was really going to be off-the-grid and unavailable. Whatever the case, it was incredible. If three nights can do that much, I can't help but wonder what six months hiking the Appalachian Trail must do to a person.

The bad guy isn't technology, it's our inexperience

The topic of discussion on NPR this morning was E-Memory and Human Nature. They were discussing how the future prevalence of large-scale computing power and massive storage (resulting in the storing of our memories, events in our lives, etc) will change human nature and what it means to be human.

One of the guests, and most of the callers, were worried about offloading our memories and processing power to a machine. They feared it would turn us into organisms with a powerful brain but with nothing to do; they feared the repercussions would make us less human.

What I think they're missing is that humans are inherently creative and curious. If we have more free space in our heads and more free time on our hands, we're not going to waste it away with pointless activities (at least not for very long); we'll gravitate towards being more creative and exploring areas of life that would otherwise have not been within reach.

The acceptance of mundane tasks and jobs as a part of our daily lives slows the progress of human civilization. While there are many socially, physically, and even culturally harmful effects of technology today, I think they can be directly attributed to the fact that this stuff is so damn new to us.

Humankind has never seen technology of today's complexity, at least not in recorded history. We have no idea how to cope with the changes technology is bringing about and so, like a baby learning to walk, we're bound to make mistakes and do things that make technology appear like the bad guy (and in many cases it is the bad guy; we just haven't figured out how to use it properly yet).

Finding a balance and living in harmony with technology is what I believe we'll eventually realize we must do. However, I don't think that we've even begun to realize that we much search for that, let alone begun the search at all.

Awhile vs A While

Today while writing an email, I used the word "awhile" and then realized I wasn't sure if I should be using "awhile" or "a while". So, as I always do, I quickly looked up the definition for "awhile" in the dictionary on my Mac (which, using Quicksilver, is as easy as Cmd+Space -> "dic" -> Enter). I was very surprised to see this definition:

awhile: for a short time

I've always thought, and used, both "awhile" and "a while" to mean a period of time longer than a short time. So then I checked Google's definitions:

awhile: for a short time
a while: a period of indeterminate length (usually short)

Wow, still very confusing! I dug a little further on Google, searching for a good rule that would help me remember which to use while writing. I think I finally found one:

awhile always means "for a while"
a while usually means "for a length of time", and is sometimes accompanied by a preposition, such as "I left work a while ago". You can also add adjectives to further describe the amount of time implied, such as "Its been a long while" or "Please wait for a short while".

Now whenever I need to determine if using "awhile" makes sense, I can simply replace it with "for a while" and see if the sentence still sounds right. For example, "I left work awhile ago" would mean "I left work for a while ago", which is of course wrong. I use a similar rule to remember when to use "it's" and "its"; the former always translates into "it is".

My swim trunks and a tiny island

Today at my parents house I swam 1/4 mile to a tiny island (the lake is called Little Island Pond, but it's actually a lake and it has two islands; a little one and a big one). I wasn't planning on swimming all the way there but I decided it was a nice day so why not. I've been wanting to start training for a triathlon and swimming is definitely an area where I need to work on my endurance and technique. I tried to stay close to shore and raise my hand and splash my feet whenever it looked like a boat coming towards me might not see me.

When I got to the tiny island (a big pile of rocks with a few shrubs and lily pads all around) I found a suitable sized flat rock and laid down in the sun. It was so peaceful. Boats and jet skis would roar by every now and then, sending waves rippling towards the rocks, eventually crashing and lightly splashing water on me. My iPhone was a 1/4 mile away. No buzzing. No ringing. Not even the possibility of it. It was literally just me, my swim trunks, and a bunch of rocks in the middle of a lake.

I had no way of tracking time and I don't know how long I ended up staying there. I wasn't thinking about time. I was just enjoying the moment. It's amazing how quickly time can pass when you're thoroughly enjoying the moment. Eventually I slipped back into the water and made my way back. I practiced the combat side stroke, a technique used by the Navy SEALs. It's amazing how well the technique moves you through the water. When I looked up at the shoreline, it seemed like I was moving at the speed of a slow jog!

One thing I like to do is track my distance in various activities. If I spend an hour swimming, I'd like to know how far I swam so I can try to improve on the time. A few days ago I started using an app on my iPhone called RunKeeper. It tracks distance and time using the built-in GPS and even plots your route on a Google Map. Awesome. So I thought, "Hey, if I could get my iPhone in a waterproof case and drag it along behind me while I swim, I should be able to track the distance in the same way!"

With the plan in my head seeming flawless, I purchased a waterproof case from Eastern Mountain Sports. When I arrived at my parents house I put the iPhone in the waterproof case, stole a shoelace from my brothers' boot, tied the case to my ankle, and started swimming. I took a peek at the case to make sure no water got inside. So far so good. I swam about 100 feet and checked again. Hmm, the app stopped recording the distance. It looked like someone touched the screen. Maybe the iPhone touchscreen was being finicky and responding to the temperature of the water? Weird. I turned around and swam back.

When I got to the shore and looked at the iPhone through the case, I noticed water inside. WTF? That would explain the weird touchscreen responses! I was pretty shocked. There was water in the waterproof case! Luckily, the iPhone still worked. (The Griffin hard case I've kept it in since the day I bought it probably helped.) I returned the case to EMS today.

Thanks to Google, I figured out an easy way to estimate my swimming distance using Google Maps:

Swim Route

The total distance round trip was about 1/2 a mile. I plan to continue swimming on the weekends, even as it gets colder. If the Navy SEAL trainees (BUD/S) can swim and train in near freezing water, then so can I (check out some of these videos if you feel like being inspired).

You are what you repeatedly do

I've been taking piano lessons for the past two months. I haven't written about it here on my blog but I'll save the details of what motivated me to learn the piano for another post. Right now I'm writing because I recognized something after two months of taking piano lessons. A weekly thirty-minute one-on-one session with a coach doesn't make someone a proficient pianist. It's the practice that makes someone a proficient pianist.

But I already knew that. In fact, when I started taking lessons I knew that if I didn't practice I wouldn't get anywhere. Now it's been two months and I feel like I don't know nearly as much as I should. Every week I end up not practicing enough because I constantly put practice off until tomorrow, telling myself that I can make up for it later. As the weekly session with my coach gets closer, I feel more and more anxiety for not having practiced enough. I fear he will call me out on it and get angry. But why should he? It's not his fault. There is no one to blame for lack of practice but myself! I'm paying him for his time and if I choose not to make use of what I'm paying for then I'm only screwing myself. No one else.

That's another interesting thing. Every week I feel so sure my coach will call me out for not practicing enough but every single time I leave the session calm and relaxed. I'm sure he notices that I haven't practiced but he doesn't get angry or make me feel bad for not practicing. Instead he calmly coaches me and helps me improve, even if the improvements are barely noticeable. Sure, yelling and screaming can be useful when you're pushing your physical body and trying to block out what your brain is telling you, but when you're trying to get your brain to learn something new it has to want to do it. Pressuring your brain into learning just won't work.

Practice under stress is bad. Very bad. Our brains are wired to shut down certain areas when we're stressed out. Stress makes learning much more difficult. If we're stressed out every time we practice, we're not going to look forward to practicing (and when we do, it won't be effective anyway). Practice should be fun. Science has even proven that we learn faster and remember more when we're having fun!

When I started learning the piano, I set myself a goal of being able to play Fur Elise by December 25th, 2009. That's about four months away. At the rate I'm going now it will probably take me another year. But I can fix that. I can shorten one year of skill development into four months. All I need to do is commit to practicing and make it a regular habit. It needs to become a routine -- as routine as sleeping or brushing my teeth. And it needs to be regular. Cramming in a six-hour practice session the day I'm meeting with my coach won't help my brain form new synapses.

You are what you repeatedly do. That's my new mantra. Earlier today I opened a random book on my bookshelf and turned to a random page and saw that quote. Starting today, I'm going to write that sentence every single morning when I wake up and spend a few seconds contemplating what I want to be. Do I want to be nothing? Then I should do things that equate to nothing. Do I want to be a decent pianist? Then I should practice the piano daily.

MAC Address Validation Regex with egrep

I needed an easy way to validate a MAC address in a bash script that generated a unique hostname based on the MAC address of the system. This gem did the trick:

echo "00:11:24:3e:a5:78" | egrep "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$"

In the event that there was a problem getting the MAC address (e.g., faulty NIC or unstable device driver), I generate a random hostname instead of basing the hostname generation on the MAC. Here's how I validated the MAC in the script:

if [ `echo $ACTIVE_INTERFACE_MAC | egrep "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$"` ]; then
    # generate unique hostname based on MAC
else
    # generate random-character hostname
fi

Using my feet for that which they were designed

I've walked more in the past few days than I have in the past few months. Yesterday I clocked in 8 miles on my feet and 4 miles the day before, all while wearing sandals and carrying a 15lb bag in 90 degree heat. My feet are on the verge of blistering and I absolutely love it! It feels so good to finally be using my body for that which it was designed instead of moulding it to a machine.

Becoming interested in the lives of others

The more comfortable I get with who I am, and the closer I become to being the person I've always seen myself as being, the more interested I find myself becoming in other people's lives. I can only imagine the huge repercussions that will have for someone who feels they have been anti-social their entire life.

Somerville Apartment

As some of you already know, and as I mentioned a few weeks ago, I decided to move back to the city. I found a room for rent in Somerville for $400 a month + utilities ($30-$130/mo depending on the season).

While I moved at the beginning of this month, I was also simultaneously helping my parents move out of their 2000 Sq ft office space (the same one I was previously occupying). There was a lot of stuff to move and being the only one with a (real) pickup truck, I was extremely busy. I didn't even sleep at my new apartment in Somerville for the first few nights because I was so busy in NH.

Anyway, as is customary every time I move, here are the pictures of my new place (I'll get pictures of my previous place up too, and explain why I haven't posted them sooner). I'm in the process of getting rid of nearly all my possessions -- down to the point where I can carry everything I own. As you can see I'm not quite there yet, but I'm getting there. 🙂

Somerville Apartment

The more we have, the less we appreciate

This post started as a comment in response to Colin Wright's post on Your Money or Your Life. The comment grew long enough that I decided to turn my response into this post.

There are two things that cannot be bought with money: Time and Happiness.

Sure, you might be able to "buy" someone's time, but you cannot buy back time that has already been spent! Therefore time is an invaluable resource. Likewise, happiness cannot be bought. You can buy things that you think will make you happy, but the happiness itself will always come from somewhere inside. You really don't need anything external to obtain it!

I find it amazing how many people go through their entire lives thinking that more money equals more happiness. They get stressed and unhappy due to the absence of money and naturally they assume having more of it will reverse the effect. In reality, what's making them unhappy are the choices they've made; the little luxuries they've decided are absolutely necessary to live their life (cable TV, cars, expensive foods, tobacco, alcohol, big house, movies, etc.).

All of those things provide a very temporary and unsustainable happiness. As a result, their life becomes a snowballing roller coaster of wanting more and more. The more they want, the more money they convince themselves they need. The more money they need, the more stressed out and unhappy they become. Where does it end? Sadly, for most people it ends with death.

I come from a middle class family. While my perspective is not the same as someone from a lower class family, I can see that the same patterns emerge from one class to the next. The things everyone truly cares about are pretty much the same. One persons' poor, is another persons' rich. The family we're born into often defines the living standard by which we judge and perceive the world around us. But how different is the rich person from the poor person? Do they experience a different kind of happiness? A different kind of sadness? A different kind of love? How about hunger? Do rich and poor people get different feelings from laughter?

I speak as a single guy, with very few true responsibilities. I have no kids to take care of or family that needs to be looked after. I understand that my perspective and ideas may not apply to other situations. Nevertheless, there are many very happy families living with far less than the average family in the United States. Do they experience a lower quality happiness? When their kids laugh and play together, do they experience a lower quality joy? True happiness isn't something that can be bought with money.

We're all human. If we really want to be happy we need to look deep inside ourselves for happiness. It's there. Everyone has it. No one person has less happiness-making-capacity than the next. It's really tough to forget that all the material stuff around us, regardless of how much importance we place on it, really has nothing to do with our true happiness. That's a tough pill to swallow when some of us work day and night to afford the stuff.

So what better way to find the true source of happiness than to strip yourself of all things material? I grew up in a relatively rural area, a small town in New Hampshire with a forest and a lake for a backyard. I was home schooled and spent most of my childhood outside exploring nature. When friends would visit for the first time, their impression would always be one of amazement. I never understood that. At least not until I moved away and lived in the city for two years. When I visited my parents on the weekends, I started to feel something I never felt before. Visiting my parents house, the very place I grew up, started to feel like going on vacation! I felt so much appreciation for the place.

That experience made me realize how the little things we take for granted can spoil our entire life. Have you ever come back from a camping trip and felt a little more grateful for having a shower? How about when the power comes back on after being out for more than a day? We should feel that way every minute of every day for the life we have. For working legs, eyes, hands, ears, and mouth. We should be grateful for every second that passes; for each beat of our heart, and each breath we take.

Take a deep breath of air right now. Close your eyes and fill your chest with life-giving air. Appreciate it a little more than you did the previous breath. Do it right now. I'll wait.

Didn't that feel good? You take an average of 20,000 of those every single day. That's a lot to be grateful for!

I've decided to get rid of nearly all my material possessions because I know it will make me feel more grateful. I know it will enable me to see more clearly. We humans (yes, even modern ones) don't need very much to survive. Food and shelter. That's it. Most of us are fortunate enough to have working feet to help us travel, yet so few of us use them for real commuting. What about money? When we remove all modern-day comforts and really drill down to the bare necessities, we don't need very much of that either. Of course how much money will differ depending on where we're living, but most of us live way above necessity.

Find something you own that you haven't used in over a month. Now find someone that you can give it to. Don't worry about how much it cost you or why you originally bought it. You haven't used it in over a month and you most likely won't use it for the foreseeable future. Just find something and give it away. By giving it away you'll not only build good karma, you'll also feel a little more appreciative of all the stuff you currently have.

The more we have, the less we appreciate. The less we have, the more we appreciate. Do you want to appreciate more or less of life?

Possessions: The Closing of a Chapter

A chapter of my life is coming to a close. It's been a chapter of personal discovery and new awareness, of material possessions and excessiveness; it's been a chapter of alternate paths and of decision making, of introspection and stepping out of comfort zones.

In the past decade, I've gone through living in over a dozen different places, including tiny attics, basements, offices, studios, and entire floors of houses. I've spent outrageous money for rent ($950/mo for a 450sqft studio), utilities ($500 heat bills), and other bills (cable, broadband, etc), all in the name of independence.

I've owned lots of stuff. For the first seven years of having a drivers license, I had a different car each year. For six years I was a landlord with three multi-family houses. I took care of all the property maintenance myself which meant owning lots of different tools. I had several TVs, various computers, gym equipment, a kayak, mountain bike, and the list goes on. To make things worse, the plentiful storage space provided by the properties easily masked the volume of "stuff" I owned. I feel as though I've had nearly everything material that I could have wanted. Oh, and I slaved away to afford the stuff, sometimes working 60 - 80 hours a week, sometimes working three jobs.

But why? The lifestyle I've always wanted to live can best be described as that of a nomad; someone who travels from place to place with no permanent residence (or at least can travel). Such a person wouldn't own very much. They wouldn't own a house, a car, a desktop computer, or a TV. They would only own what they can carry with them. Living such a lifestyle would allow me to freely move around and spend more time exploring and learning things of interest. Less time would be spent trying to pay expenses and care for material possessions (storage, maintenance, etc.).

I've always wondered what the purpose of life was and the reason for my existence. If you asked my dad, he would tell you that I was asking those questions when I was five years old. While my dad always seemed to have answers to my questions, they never satisfied me (which my dad agrees is a good thing). I believe we each need to find our own purpose and blaze our own trail through life. No one can give us a map or an instruction manual (and if they try, beware!).

Earlier this year I came to the conclusion that finding my purpose would be much easier if I had less material stuff cluttering and clouding my world. At the very least, having less stuff would give me more freedom and less to worry about (a feeling I got a taste of when my three houses were foreclosed on and I no longer had to worry about maintaining them).

So I've decided to change my lifestyle and transition to a more nomadic one. I've begun selling or giving away all my remaining possessions, a process that will continue for the next few months. I've found a cheap room to rent that's close to work and I'm living with roommates for the first time in my life, something my highly individualistic personality has always been opposed to. My end-of-the-year goal is to be living with only the stuff I can carry on my back. Even my pickup truck will eventually go (that will be the last page in this closing chapter).

The direction I'm headed in the next chapter is almost exactly where I envisioned myself being in ten years nearly a decade ago (perhaps even longer). But none of it was planned. Everything just sort of fell into place, the same way the tires on your car propel you forward without you fully understanding exactly how pressure from your foot translates into moving several tons of metal. It's a strange feeling; to know you always had an idea of where you wanted to be and somehow, through all the possible things that could have happened, you're ending up there.

There were so many decisions I made that ended up not working out for one reason or another (investments, relationships, business plans, etc.), and those unexpectedly resulted in my life being pushed closer and closer to the path I'm now on. Even though I never knew how it would happen, I also never lost sight of the direction I wanted my life to go. Now I can clearly see myself headed there. 🙂

What I've been doing away from the computer

I have spent less time in front of my laptop this month than any month in recent memory. My suddenly infrequent blog posts have been a direct side effect of that (with the exception of the first month, this month has seen the fewest number of posts since I started regularly blogging in 2006).

So what have I been doing away from the computer? Mostly reading, enjoying the outdoors (badminton, swimming), practicing piano, and of course selling stuff. As you may have heard me mention recently, I'm transitioning to a mobile lifestyle and part of that means selling basically anything I can't carry on my back. I'll go into more detail about what all that means in a future post.

Another big thing that's happening this month is that I'm moving back to the city, to room in Somerville where I will be living with a few roommates (it will be my first time living with roommates). Nearly all my free time this month has been spent selling stuff on CraigsList and sorting through boxes and boxes of paperwork and other "stuff" that I have collected over the past decade.

Once I have settled into my new place in Somerville (moving in August 1st) I should be left with a good amount of time to get back into writing. In fact, I anticipate having so much free time for writing that I plan to start up a new blog based around my new lifestyle. Stay tuned. 😀

Help me get rid of my tech books; $10 $5 bucks, any book

As I transition to a mobile lifestyle (at least more mobile), I realized that I simply cannot lug around all my tech books, so I'm basically giving them away. As the title says, $10 $5 bucks for any book ($2 for any of the top eight books on the left stack). I am extremely careful with my books (to the point where I don't bend the pages apart and wear out the spine) and as a result, these books are in practically new condition. Many of them are $40+ each, so get them while they last.

$10 bucks, any book

Here's how this works:

Email me (use the contact form on this site if you don't already have my email) with the title of the book(s) you want and your mailing address, and I'll send you a PayPal invoice that includes shipping charges (using the cheapest USPS shipping method). Once I get your payment, I'll mail the book(s) and send you the tracking number. As the books are sold, I will update the image and cross them off.

Mobile Computing Revised

I really hate making excuses for not posting on this blog more regularly, but this time I have a genuine reason: I'm transitioning to a mobile lifestyle (more on that later). I've also been striving not to spend my weekends on the computer. I thought it would be a lot harder than it has but, thanks to an incredible web browsing experience and an app for almost everything, my iPhone has changed the meaning of "mobile computing" as I see it. While away from my laptop, I've been micro-blogging with Twitter, which seems to accommodate the mobile lifestyle perfectly.

Going Cold Turkey on all Liquids Except Water and Tea

A few months ago when I went cold turkey on coffee, my goal was not to eliminate caffeine altogether, just black coffee. Many people who learned of my quitting coffee were confused when they saw me drinking a soy latte (which contains expresso), so I had to explain to them the difference between black coffee and coffee diluted in soy milk. As much a I love coffee (yes, love, not loved; I still love coffee!), I have suppressed all the urges (as ridiculously strong as they may have been) and my mouth has not seen a single cup of black coffee in over four months!

Although I did not quit black coffee to eliminate all caffeine from my diet, the negative side effects of high caffeine consumption that I was experiencing from drinking lots of black coffee was my main motivation. However, the past few weeks I have unconsciously been increasing the number of lattes I drink, thereby increasing my caffeine intake, increasing the negative side effects that I originally quit black coffee to avoid, and decreasing the money in my wallet.

So today I decided I'm going cold turkey on all liquids except water and tea (and possibly soy milk for protein shakes), until at least the end of the year. I really need to escape this caffeine addiction (yes, it's addiction, no matter how much I don't want to admit it). It's ridiculous, unnecessary, and costing me way too much money. I quit black coffee, so this should be easy.

Predicting the iPhone's Impact on Computing History

Almost exactly one year ago I wrote about how I thought the iPhone was the future of mobile computing:

I am fully convinced that the iPhone, along with the developer tools Apple is providing, will lead the way for a new generation of mobile devices over the next few decades.

I don't usually make such bold statements, especially given how fast technology changes and how quickly fads come and go, but the iPhone was different. It seemed like less of a phone and more of an enjoyable computing device; a toy for children, a toy and a smartphone for adults, and a beautiful piece of technology (as in looks) that people love to show off.

In Jeff Atwood's latest blog post, he made similar statements that describe the revolutionary level at which the iPhone is changing the way we define mobile computing (talking about the latest iPhone 3GS):

A landmark, genre-defining product, no longer a mere smartphone but an honest to God fully capable, no-compromises computer in the palm of your hand.

We will look back on this as the time when "software" stopped being something that geeks buy (or worse, bootleg), and started being something that everyone buys, every day.

Jeff's post gives a great overview of what's amazing about the iPhone. He says to check back in fifteen to twenty years to see if he was right about his prediction on the historical impact the iPhone will have on computing. It looks like I'm one year ahead of you, Jeff. 😉

A Script to Install & Configure ifplugd on Debian

The default configuration on some older Linux systems is to only send a DHCP request while booting up. This means if the network cable gets unplugged, or if the router is powered off, the system may lose its IP configuration. To restore the network connection, the system may need to be manually rebooted or have someone at the local console run the dhclient command to request a DHCP lease.

For systems that are only accessed remotely via SSH, such a scenario can be painful. What is needed is a daemon that watches the link status of the Ethernet jack and reconfigures the network (or sends out another DHCP request) when it detects a cable is plugged in (or the power to the router is restored).

ifplugd does exactly that:

ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled.

On a Debian system, installing and configuring ifplugd is relatively simple using apt-get install ifplugd. Once its been installed, it needs to be configured by editing /etc/default/ifplugd. The most basic configuration is to simply set INTERFACES="auto" and HOTPLUG_INTERFACES="all". This configuration tells ifplugd to watch all network interfaces for a new link status and automatically reconfigure them using the Debian network configuration defined in /etc/network/interfaces.

I recently needed to automate the install and configuration of ifplugd on many remote Linux systems, so I wrote this simple script.

Download: install-ifplugd.tar.gz

[sourcecode lang="bash"]
#!/bin/sh

#########################################
# Author: Raam Dev
#
# This script installs ifplugd and configures
# it to automatically attempt to restore any
# lost connections.
#
# Must be run as root!
#########################################

# Check if we're running this as root
if [ $EUID -ne 0 ]; then
echo "This script must be run as root" 1>&2
exit 1
fi

# Files used when configuring ifplugd
OUTFILE=/tmp/outfile.$$
CONFIG_FILE=/etc/default/ifplugd

# Update package list and install ifplugd, assuming yes to any questions asked
# (to insure the script runs without requiring manual intervention)
apt-get update --assume-yes ; apt-get install --assume-yes ifplugd

# Configure ifplugd to watch all interfaces and automatically attempt configuration
sed 's/INTERFACES=""/INTERFACES="auto"/g' < $CONFIG_FILE > $OUTFILE
mv $OUTFILE $CONFIG_FILE

sed 's/HOTPLUG_INTERFACES="auto"/HOTPLUG_INTERFACES="all"/g' < $CONFIG_FILE > $OUTFILE
mv $OUTFILE $CONFIG_FILE

[/sourcecode]

If you're interested in doing more with ifplugd, check out this article.