Friday, March 7, 2008

My Brush with CRVO

Gentle reader,

A couple of things happened to me since Thanksgiving last year that made me re-think my life...

The first thing that happened was that I almost went blind in one eye. I will describe that in detail. I am fairly sure that by the time I am done with this I will have no energy for the second item. And so I will probably not devote enough time to that. But be assured that the second item has its own importance, actually it is more important. By the way, this is the first time I have written substantially in months and it feels really good. I hope I do not bore you with some of these details because I fear I am going to be long-winded as the juices have been building up for some time.

A Curious Problem

So, on the evening of Thanksgiving 2007 I was reading a book (The Intelligent Investor by Benjamin Graham) and noticed that the words to the left and right from where I was looking were blurry. I closed one eye at a time and narrowed the problem down to the right eye. It was very strange, there were grey blurry patches all over the place as I looked at a dense page of text. The next day was a work day. I belong to a van pool and it is testament to my own stupidity and lack of reasonable priorities that I was going to put off going to see a doctor and drive to work. My reasoning was that others on the van needed to get to work so I should drive that day and then see a doctor on Saturday. As luck would have it, nobody else in the van pool showed up that morning. It was Friday and I ride with government workers who get lots of time off and plenty of sick time. They had all chosen to take off that day. I took this as a sign - I left the van meeting point and drove to the immediate care center of the local clinic.

The Diagnosis

At the clinic I was seen very quickly, despite being at the tail end of a crowd of people. In my experience being seen quickly at an emergency room is typically not a good sign and it certainly wasn't on this occasion. I was escorted to the eye doctor. When I explained to him about the blurriness he did some tests and then dilated my pupils and took some pictures of my retinas using a machine that flashed a very bright light into my eyes. When he saw the pictures he made a diagnosis that sounded complicated (as do most medical diagnoses, have you noticed?). I had CRVO, or "Central Retinal Vein Occlusion". At that moment as you may have guessed, I was wondering "what the f*ck does that mean?". Turns out the eye doc had some advice for me. He said "you know about computers" (earlier I had told him I worked as a computer programmer) "do yourself a favor and don't look it up on the internet". What an asshole. Don't these people know that the internet is the greatest invention of mankind since fire? I am very serious about that. Of course I completely disregarded his advice.

After Reading this You Will Know more than Most Eye Doctors Seem to Know

The retina is the part of the eye where the light lands and is converted into electrical signals. The signals then travel to the brain where the brain puts together the picture. The brain is actually a very fast and clever simulator (which has bugs, hence optical illusions). Your retina is sort of like the film in a camera. Without decent film, you can forget about a good picture. Anyway, it turns out the retina needs plenty of blood going into it to keep it working properly. This blood is brought into the retina via arteries, and the blood drains back out through some veins. For reasons unclear to me but being a scientist I can only offer evolution (and if it was "intelligently designed" then the designer should be immediately fired) both the arteries and the veins are designed in such a way that they both enter (arteries) and exit (veins) the eye through the same narrow canal, often in a twisting, knotted, tortuous way. Unsurprisingly, sometimes there is a blockage of some sort within this tight canal. It turns out that the medical community is at somewhat of a loss about why or how this happens. Doctors really don't know as much as they would have you believe. In any case, when it does happen, the overall blood flow to the retina slows and can be completely interrupted.

There are Two Types of CRVO... One is Good, the Other is Bad

If the blood flow is interrupted severely enough you are shit out of luck because starving a retina of blood means that you will lose your vision to a very great degree. This is because the retinal cells will die in a matter of a couple of hours. This is called "ischemic CRVO". The word ischemic means "starved of blood" and is also used to describe a stroke. In the case of a stroke, the brain is starved of blood and part of it dies. So CRVO can be considered a "stroke of the eye". If you are lucky (and I was) blood is still flowing somewhat adequately to the retina. This is called, long-windedly and confusingly "non-ischemic CRVO". The "non" indicates that there isn't blood starvation.

Even the good Type isn't Really That Good

In the non-ischemic ("good") case, even though you don't immediately go blind, the veins get extremely bulgy and can break and cause exensive hemmhoraging. This means that blood and other fluid leaks into your retina. As you might imagine, this really fucks up your vision. It's a bit like trying to see through about 3 inches of muddy water. It took a few days in my case, but eventually the vision out of my right eye became really blurry. It was especially bad in the mornings. I am guessing (again, the medical community is not coming up with much insight on this one) because the fluid built up while I was sleeping. Also, there is a small yet not insignificant chance that non-ischemic CRVO will convert to ischemic CRVO. It's about a 13% chance over an 18 month period, with most of the risk being in the first 6 months.

A Strange Bunch

A common trait of sufferers of CRVO is that they are continually closing and opening their eyes, one at a time. This is because they are testing how bad their vision has become and lamenting that they cannot see very well out of one eye. The effect is particularly noticeable when driving or being driven, because the license plate of the car in front offer a convenient yet frustrating test of visual acuity, or lack thereof. There are around 65,000 of us diagnosed per year in the USA.

Work Doesn't Go Away When Something Goes Wrong With You

Luckily, being a computer programmer, my job wasn't very dependent on my vision. Yes, there was a heavy dollop of sarcasm mixed into that last sentence. What was truly terrifying was the thought of losing my livelihood, or being relegated to the dark side - namely of managers and project-managers who don't get to write code. After some thinking and consulting with people on support forums I decided to NOT tell anyone at work. I am no longer the naive young worker who thinks that their corporation has their best interests at heart. "What they don't know can't hurt me" became my motto. Besides, I was still producing fine work on just the one cylinder (eye) despite feeling sorry for myself at times.

Current Status

To make a long story a bit longer, after 3 months my CRVO seems to be improving. The veins are settling down and the blurriness is less severe (though still a problem in the mornings on most days). My good eye (my left one) is fine and has been picking up the slack. I am optimistic that I will recover completely. Maybe I will be one of the lucky ones. There are many people who aren't as lucky, some of whom end up with NVG, or neovascular glaucoma. This is where extra veins grow to try to make up for the veins that are blocked. While it seems that this is a good thing, it isn't. It can cause very high eye pressure which can be so painful that it makes you vomit. There are people on the support forums that have gone through this and it is not pretty. By the way, I have come to the conclusion that support forums are one of the best things about the internet but they don't get anywhere near as much glory as they deserve.

What is the Point of All This

So, I am relatively young (41) and have already had this problem. I am not overweight, I exercise, eat well and am very happy with my life. I have spent most of my life working hard, providing for my family and saving for retirement. One thing I take from this scare is that I need to be saving less and enjoying myself more. Retirement is somewhat of a red herring. You shouldn't work all of your life and put off enjoyment until retirement. There is a good chance that you will not make it. Or if you do make it, you may be disabled in some way so you won't be able to enjoy it fully. I have also become far more tolerant of "trivial" problems, like clutter and imperfections in my house. A brush with blindness will do that to you. I have become far more grateful for the simple things in life, like being able to walk and see. Finally, I have become far more empathetic towards blind people. I had a very tiny glimpse into their life, and find it inspiring that many are able to lead full and productive lives.

Which Brings me to The Other Thing

My best friend in the whole wide world called me last week with the news that he has sarcoma. Sarcoma (like you needed more medical information) is a fairly rare and aggressive form of cancer. He has for many years had a condition where he grows benign lumps on his body, and those lumps masked the cancer. When they finally did a biopsy after he complained of pain in his neck they found the cancer, which by that time had spread all over the place, including his lungs. This again reinforces my earlier point: enjoy your life now. Each and every precious day.


Time for today's quote:

"We’re all successful, intelligent, educated.
To focus on what you don’t have is a terrible mistake.
With the gifts all of us have, if you are unhappy, it’s your own fault."
-Warren Buffett


Until the next time, gentle reader, I remain,

Your Friend,

Buford Twain

PS - If you are a fellow CRVO sufferer, here is an excellent support forum:

http://groups.msn.com/CRVOSupport

and here is a web site with lots of good information:

http://webeye.ophth.uiowa.edu/DEPT/CRVO /INDEX.HTM

Good luck to you!


Friday, February 1, 2008

Thursday, January 10, 2008

A Few Home Truths About Programming and I.T.


Gentle reader,

Let's don our propeller-tipped hats, grab some powerful flashlights (with fresh batteries!) and shine them right up the anal cavity of the world of Information Technology. We'll be destroying some silly myths about I.T. and computer programming along the way.

Ready? All together now, PUBLIC! STATIC! VOID! MAIN! Let's go!

Myth Number One - Hire Only the "Very Best" Programmers

Counter-Argument 1: The pragmatic argument

We hear all the time how companies should focus on hiring the programmers who are 10 or 20 times more productive than the others. By definition then, the vast majority of programmers are just "regular programmers". By "regular programmers" I mean programmers who can get the job done in a reasonable timeframe without necessarily doing it in the 100% smartest or quickest way. If most of your programmers are regular programmers then what good is trying to create a system that is so sophisticated that most regular programmers cannot understand it? What if your superhuman programmers leave and all you have left is regular programmers?
An organization doing this is violating the DTBSTY principle of programming (pronounced with an Irish accent, "dat beasty"): "Don't Try to Be Smarter Than Yourself". That's exactly why Yahoo! rewrote Mr. Smarty-Pants Paul Graham's Viaweb application using technologies that mere mortals could understand.

Counter-Argument 2: The human argument

OK, assume it's true that there are a few programmers who are super-productive and gifted. Does that mean that all the remaining regular programmers shouldn't be allowed to work? Well, no, that doesn't seem like a good idea. Do we deny employment to plumbers who may take a little longer than others, or mechanics who get most things fixed but may have difficulty diagnosing the very toughest problems? Nope. At the end of the day, most of us need to work to put food on the table for our families and try to do it in the best way possible, while working around the constraints that we all have. In the end, programmers are cogs in the capitalist system like anyone else. We all have our parts to play, whether or not we use Common Lisp or Haskell or o-frigging-Caml. How would the world be if we eliminated all but the best three or four specimens of every species? As well as programming prowess, it's important to consider other skills such as who can work well with others, and who isn't an elitist twat and who can you have an intelligent conversation with about something other then monads or closures.

Myth Number Two - The teaching of Java "Poison the Minds of New CS Students" and "Makes it hard to Find Good Programmers"

Let's pause for a second and give those propellers another quick spin...

Guest what? Most students of reasonable intellect will take java for what it is worth and then move onto other languages on their own, if and when they need to. If a person is "poisoned" by learning java then I say that person probably never had the intellectual capacity to move on to other languages in the first place. Most programmers worth their salt are auto-didacts (that's one for the old wikipedia). And here's a message to corporate America and I will type this slowly:

Stop saying that you find it too difficult to find good programmers.

You need to offer more money, moolah, $ for the skills you are looking for. Economically, if there is a huge demand for programmers who can perform amazing feats of intellectual prowess then our supposed free-market economy will reward that. If it does, they will come. Some of our best and brightest who today go into law, or medicine, or to Wall Street WILL migrate to IT if the pay is there. Here's the truth: the well of reasonably priced, high quality home-grown IT labor has been poisoned by corporate greed and outsourcing. It is fear of unemployment and stagnant wages that has led to a decrease in America's talent pool. Not the teaching of Java.

Myth Number Three - We Need to Fix the Shortage of Women in Programming

OK, we're going to crank up the amperage on that flashlight a bit because we've reached a particularly dark area.

Oh look it's a News Flash: Programming is boring to most women (and, believe it or not, most men). Boring, boring, B-O-R-I-N-G, Sidney. Women avoid programming for the same reason they avoid plumbing, fixing cars, football and most men. They really aren't that interested. If it interested them they would already be all over it. It's not discrimination that is keeping women away from programming and I.T., it is boredom and lack of interest. I hate to bring up the sordid topic of money again, but clearly, the pay and benefits aren't enough to overcome the boredom factor. So, beyond addressing any egregious cases of discrimination (are there any these days?), let's stop fretting about how to lure women into becoming programmers and let them do the things they'd prefer to do.

Time for today's quote:

Sometimes a scream is better than a thesis.
~ Ralph Waldo Emerson


Until the next time, gentle reader, I remain,

Your friend,

Buford Twain

Saturday, January 5, 2008

Cell Phone Lifehack


Gentle reader,

I have a tendency to try to get as much value as possible out of everything I own. For example, I keep my cars a long time and even my jacket is getting a bit worn. Last week my 3 year-old cell phone was on its last legs. Part of the fascia had come off and the numbers were getting hard to read due to my keeping the phone in my pocket together with my scratchy keys. That wasn't the issue though - the problem was that it was almost impossible to charge the phone because I had to jiggle the power adapter after plugging it into the phone until it was *just right* before the phone would charge. I had developed the fine art of finding the charging sweet-spot but finally the phone gave up the ghost and refused to charge at all.

What to do?

Well, one option would have been to re-up my Verizon plan for another 2 years and get a "free" phone. However, I have a psychological block with signing anything that involves a monthly payment for any length of time. It makes the hairs on the back of my neck stand up.

Well, a quick trip to eBay later, I had located a very lightly used phone that was the exact same model as my current phone. The price? $17 including shipping. Now, I knew that I liked this phone. It is a basic Kyocera model 414, nothing fancy, it just lets me, of all things, make and take phone calls. No camera or any of that other new fangled bullshit. Before buying the phone I called Verizon with the ESN number to be 100% sure that they could activate the phone once I purchased it. No problem, they said, after trying to convince me that it would be better just to renew my contract (fat chance).

So I went ahead and bought the phone on eBay. The icing on the cake? It came with a free charger. Want to know what Verizon charges for a wall phone charger? $29.95. So I ended up with a good used phone AND a charger for about half the cost of a phone charger from Verizon. Since it was the same brand as my old one I had no problem figuring out how to use and program the phone. Finally, since I purchased a used phone, I am being kind to the planet.

As we say in the UK, "Result!".

Time for today's quote:

I do not read advertisements. I would spend all of my time wanting things.
~ Franz Kafka

Until the next time, gentle reader, I remain as always,

Your friend,

Buford Twain