Skip to content

Malignantly Indignant

There’s really no way to sugar-coat this … Well, I’m sure there’s a way, but that’s not how this is going to work:

I have brain cancer.

But from everything we know, it’s going to be ok. The tumor isn’t huge (somewhere around 32 mm x 49 mm x ?? mm) and it’s in my right-side temporal lobe. That’s good, because I’m right-handed. If I were left-handed, I’d be a bit screwed because the right-side temporal lobe would be the portion of my brain that controls my speech and short-term memory. Generally I like both of those functions a lot. But as it is for me, this is in a largely “dark” part of my brain. No, it doesn’t mean that’s where my evil-self lives. “Dark” means they can dig into this portion of my brain to extract the tumor and there shouldn’t be any adverse effects.  (Limited risk of collateral damage)

The story so far

I’ve had a chronic migraine for years and have undergone various treatments with varying degrees of success (or failure) – Topomax, Maxalt, Botox, Fiorocet, Hydromorphon, Zonogram, and my favorite — lower-occipital nerve block injections.

Since we moved back to Austin from Dallas, the migraine has steadily grown more persistent. My psychiatrist recommended a local neurologist and I’ve been under her care since early April (2016).   Coincidentally, I nursed a nasty sinus infection through the end of March into early April. That’s also when the seizures began.

The Seizures

The first seizure happened on the evening of April 3. But it took a couple of days before I really knew what was happening.  At first I thought I’d just passed out — there was this light-headed feeling in my head, and this sense that my brain was just put into ‘pause’. It passed after a few seconds and I began to sweat, a lot. I knew something wasn’t right, but I was afraid to mention it to Lorin. I thought maybe I was just tired from being sick with sinus issues and a weekend of traveling.

The next day I worked from home — and had two or three “episodes” (seizures), each one was accompanied by a strong acutely familiar smell of Play-Doh or plastic toys. It was really frustrating, as I couldn’t remember from where I knew that smell.  Doubly frustrating, as I knew these weren’t real smells around me.

On Tuesday, April 5th, the combination of pain from the migraine and sinus pressure was unbearable.  I met my neurologist for the first time and we discussed a plan for treating the migraine. First off, I had to eliminate caffeine (and alcohol) from my diet, and take Zonagram at least for a few weeks to see if it helps prevent migraines. I unfortunately neglected to mention the episodes from the previous two days.  I saw a clinician for the sinus infection and received antibiotics and steroids.

Later that evening I finally described the symptoms of these episodes to Lorin, again noting that “I think I’m passing out”. But Lorin knew immediately, “no, I think you’re having seizures! That smell is an olfactory hallucination!”  Turns out, she was absolutely correct.

By Saturday the 9th, I’d had 30-40 small seizures, each lasting a few seconds but by then the Zonagram kicked in and I suffered no more seizures from the 10th through the 25th. During that time, we all believed that the seizures were related to added pressure from the sinus infection, and with the sinus infection cleared, no more seizures.  In the mean time, Zonogram was kicking my ass.  The side effects were unbearable and I was still seeing no relief from the ever-present migraine. On Friday, the 22nd of April I was given permission to cease the Zonagram and Prednizone.  I was feeling so much better within 24 hours, it was like a cloud was lifted out of my head — I could actually think again, I could smile again, and all my bits and pieces were back to normal.  That elation lasted a couple of days, until the seizures returned on Monday.  What the hell?!?!  There’s no sinus infection, so … why do I still have seizures?

Enter The Tumor

After discussing with my neurologist, she ordered an MRI of my brain.  I’ve had a sizable number of MRIs over the past few years for my chronic migraine, and they each were deemed “unremarkable”.  I was certainly expecting yet another great big non-finding.  But instead, I got a call within a couple of hours of the scan, “There’s a spot that’s concerning. Let’s bring you in for another MRI in the morning, this time with contrast.”  The next day, with the contrast injected and a fresh MRI completed, Lorin and I headed to the neurologists office.  The images we saw clearly showed there’s something there, in the right temporal lobe, and it is pressing against the spinal cord.

I was referred to a fantastic oncologist, Charles Conrad and then on to a rockstar brain surgeon, James Waldron.  Obviously, we now know it’s a tumor, but it’s in a good, fairly low-risk spot. It could be a lot worse. I guess I’m super lucky, right?

Tumor highlighted MRI

Cue the Craniotomy

Surgery Date: May 3, 2016

Brain surgery lasted about five and a half hours and was largely successful in that I did not die and they dug out most of the tumor. Ninety percent of the tumor was removed and is now being genetically tested at the pathology lab.   When we get the results, we’ll know what chemotherapy to use against it.  In the mean time, I follow up the surgery with some targeted radiation.


Astrocytoma: Grade 3

A grade 3 Astrocytoma means that even though brain surgery was successful in removing 90% of the tumor, the remaining 10% is still a recurrence threat. Therefore, I’ll need to undergo 6 weeks of daily radiation treatment. Pending the outcome of that and genetic tests, I’m pretty sure I’ll need chemotherapy too but what type is unclear. Radiation starts in a couple of weeks.  But I’m ready to get this show on the road now!  There’s some invader inside my brain and I’m not willing to just sit on my ass while the calendar rolls around to the first radiation day.

Wish me luck…

Oh shit fire, my head really hurts… Post-craniotomy surgery staples are not comfortable. Particularly so when they have to attach your upper ear to your temple, or when the staples line the ridge between your parted hair from the edge of your forehead to the back of your head.  I feel like a Klingon, but a hell of a lot less joyful.

“Everything happens for a reason”

These are words you don’t ever want to say to someone with cancer. Seriously, unless you want to see someone get pissed off and throw some shit. When I hear “everything happens for a reason”, my mind translates that into “Greg, if you weren’t such a bad person, you wouldn’t have cancer now.” A suitable alternative expression of sympathy would be “Greg, I’m so sorry, cancer fucking sucks! I know you’ll get through this.”


Finally, the dreadful staples are now gone!  The surgeon, Dr. Waldron, removed them easily. Swelling around the incision is still noticeable, but that will go down. I’ve been fitted for a custom radiation therapy mask and I’m set to start next week.

Since the surgery, I’ve experienced zero seizures. That’s fantastic. On the flip side, I’m thinking that my chronic migraine is still alive and kicking. If so, that would suggest the chronic migraine is unrelated to the tumor, and that seems plausible given that it was relieved with a nerve block injection to my lower occipital nerves in the back of my neck. It sure as hell would’ve been great if we could get three birds (cancer, seizures, migraine) with one stone (surgery) but at least there’s a treatment for the migraine that worked in the past. Maybe the nerve block will work again.

After surgery, for the next couple of weeks I was experiencing a strong sense of cognitive dissonance. But in the past couple of weeks, that’s largely eliminated now. My mind is clearer, my attitude is mostly improved, and in general I’m very optimistic about the course of treatment for the remnants of the astrocytoma.

Belay that positivity — Oh, for crying out loud!

My oncologist’s nurse met me inside the radiation clinic this morning. She wanted to tell me, in person, that Dr. Conrad had suddenly died yesterday, apparently due to injuries from an accident at his home. Dammit!  What a fucking disaster!  I feel so deeply sorry for his family, his staff at Texas Oncology and, of course, I feel terrible for his patients (yes, selfishly I’m quite sorry for myself). He was a wonderful man, a great oncologist, and he will be sorely missed. What does this mean for my ongoing treatment plan?

A Litany Against Fear (from Dune):

“I must not fear. Fear is the mind killer. Fear is the little death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.”

End of Rads is Approaching

I’m nearing the end of my radiation treatment. Near the end of July, I’ll get another anxiously awaited MRI to see how we’re progressing with the cancer-killing mission. This seemingly endless waiting for signs of progress is definitely tough, but totally doable. Hell, I’ve been waiting for years to go back to Apple’s yearly WWDC conference again.  A few weeks is nothing.  Happily, I now know the daily radiation therapy is definitely not a placebo. My hair is really dropping out on the right side and the back side my head.  So, definitively, radiation is definitely doing something. If it’s doing this to my hair, then it has to be doing something totally nasty to that goddamned tumor inside my head guts.

More Tests

I’ve sent off a blood sample for a larger panel of genetics tests than the Foundation One test of the tumor tissue biopsy. I want get screened for genetic mutations that are predispositioned towards breast cancer and colon cancer especially. Hopefully, those come back negative and we won’t need to worry about running similar tests on the kids, at least until they are older. Otherwise, we’ll need to see if they inherited the gene mutations and if so, have them screened yearly for nodules, polyps, and cancers. It’s far better to catch it and treat it early than to discover it after its metastasized and symptomatic.

Take a gander in my colon?

The colonoscopy and endoscopy are now behind me. (What, you think that’s punny?) Well, now we know I’ve got definitely got FAP (or familial adenomatous polyps). That is some mighty shitty news. (Still punny, smart-ass?) Non-cancerous desmoids were “carpeting” my stomach, but there were a fair number of polyps inside the colon. They’ve biopsied and zapped those in the colon, but chances are I’ll have to have my colon removed if I want to avoid seeing those reoccur with a vengeance down the road.




this is how I deal……



Posted in Cancer.

Tagged with , , , , , .

My Car – My Glorious Car, She Pains Me So

For those of you who care (or even if you don’t, but you’re just bored enough), I have a love-hate relationship with my car. I love. She hates. Lately, she’s feeling extra nasty. If you’ll recall from a few posts back, this is an ongoing battle and I seem to be losing. About a year and a half ago, my car, a silver 2002 Audi A6 Quattro 2.7L BiTurbo, exhibited some peculiar transmission issues. Turns out the transmission had developed a pinhole leak and over time it dumped it’s fluid … not all of it. Just most of it. It’d be great if there was a clear indication from a warning light or diagnostic trouble code that said, “Low fucking transmission fluid, you jerk!” But that’d be too helpful. In fact, since Audi believes the engine has “lifetime fluid”, they don’t even bother giving you a dipstick to check the fluid level yourself. It’s a sealed transmission. But when the transmission stopped shifting correctly, the damage was very much done. By then, all the clutch plates were burned and the whole transmission had to be rebuilt by a trained professional. Several thousand dollars later and I was back on the road, shifting gears with the best of them.

I need to pause a minute to say I’m really happy with the transmission shop. They do all kinds of mechanic work on European cars, exotics, and even antiques. Folks from all over the country send transmissions and even vehicles to Freddie’s Transmissions. They’re the kind of mechanic who takes their time, not because they’re ringing up the invoice, but because they’re meticulous. It must be as good or better than it was when it was delivered from the factory. That, and if you stop in the shop, Joe and Freddie will talk you through the whole process, to ensure you are completely informed about what they’re doing to your car.

Well, that’s the beginning of the story. I took my car in to Freddie’s a week before Christmas, to have them check the transmission fluid and top off the differential gear oil. When they lifted the car up, the mechanic sees that the transmission and the differential are in great shape, great news. It’s the engine that’s the problem. The whole thing is oil leaking like a New Orleans canal during Katrina. The camshaft seals, the valve cover seals, the crankshaft seals, additionally, with nearly 100,000 miles on the car, the timing belt and water pump must be changed ASAP. The timing belt on the 2.7T is rubber, unlike many newer V6’s and V8’s which have chain belts. When that rubber belt dies, or when any of the pulleys connected to it seize, the pistons will slap smack into the valves and it’s time to throw away the whole engine. So it’s a good idea to change that belt. It just so happens that the timing belt, water pump, and all the various seals aren’t exactly easy to reach. In fact, you pretty much have to remove the whole front end of the car and disassemble the top and front of the engine to get to them. If this were a 65’Ford pickup, you could do all that in an afternoon. But with two turbos, an air conditioner, power steering, transmission cooler, oil cooler, two intercoolers (for the turbos), it is slightly more involved on the Audi.

The first day (or at least 9 hours of it) were exhausted while removing the front wheels, bumper, A/C condenser (still charged though), electric and belt-fed fans, and accessory belt tensioner. I’m certain an Audi mechanic could do all of that in a couple of hours at most, but I’m working without a lift, in my driveway, by myself, so I’m giving myself a hefty temporal allowance. I had hoped to complete this entire job in two days, but at this rate, it may be three or four. You may be asking yourself, “Greg, why in the hell are you doing this yourself? It sounds like a lot of fricking work, doesn’t it?” Yes, it does, dear reader, but the answer to your question is a couple of Grover Clevelands. Yes, there are a lot of parts, yes there are a lot of specialty Audi tools, and yes, the price of failure is a new engine. But $2,000 is real damned steep. If I break it I’ll have to pay more, but there’s a big possibility that I won’t, if I’m careful. If I had someone else do it, I’d definitely be $2,000 lighter in the trouser pockets and possibly more if it took the professional mechanics longer than they anticipated. I should add that the $2,000 estimate is for an independent repair shop. If I took the car to the Audi dealer, chances are they’d ask for their share of my home mortgage. ($95/hour labor versus $175/hour) I’m posting photos, and a detailed step-by-step process for those of you who want to retrace my steps and see if I did it right. Or maybe you’re feeling lucky and you’re facing similar issues with your Audi or Volkswagen? In that case, skip to the end of this blog to see if my car blows up before you begin.

Posted in Cars.

Tagged with , , , , .

Restoring “Old Blue”

My dad recently gave me his 1965 Ford F100 pickup. It’s been part of the family forever and I’m hoping to restore some of its dignity and charm, perhaps eventually promoting it to a regular driver here in Dallas. Until then, I thought I’d post some progress pictures and a bit of internal dialog to go along with this restoration. You can find more details by clicking on the appropriate menu at the top of this page, or visiting the main restoration page.

Posted in Cars.

Tagged with .

A Storehouse for State Roll Call Votes?

There doesn’t seem to be much in the way of infrastructure when it comes to collecting, storing, and analyzing state legislative roll call votes. Keith Poole and Howard Rosenthal have an extremely comprehensive dataset of roll call votes for the United States Congress. The folks at UC Berkley have a large collection of roll call votes for various legislative bodies around the world at VoteWorld. Nevertheless, there’s nothing that I’ve found that would indicate much of a comprehensive place for state legislative roll call data. What little I’ve found is in the form of:

  • Gerald Wright’s roll calls across all 50 states, but only from 1999-2000.
  • Seth Masket’s impressive roll calls for California ranging from 1901-2003.
  • Boris Shor has data from all the state legislatures, but I’m uncertain how far back it goes, and as of yet it’s unreleased. (I think they’re still waiting for a few journals to publish some of their works in progress).
  • I’ve heard a rumor that Mark Jones at Rice has data on the Texas House stretching back to 1973, but my repeated attempts at contacting him have utterly failed.
  • It looks like Robert Hogan at LSU has state house roll call data for 28 states from 1995-2000, but he hasn’t released the data either it seems.
  • ProjectVote Smart indeed has roll call votes for a great number of state legislators, but they only have the resources to keep track of votes on key bills, not the complete record.
  • CRAN, the Comprehensive R Archive Network, houses a variety of roll call datasets for a few key legislative sessions, but it’s very much an ad hoc experience.

So my question for all involved is this: “What the hell?” As political scientists, we love data and lots of it. I know there’s lots and lots of good data on state legislative roll call voting sitting out there somewhere. But it sure as hell isn’t easy to locate and analyze it.

Now while I’m yelling about researchers hoarding state data, I need to appropriately yell at myself too. I’ve got a collection of all the roll call votes (or as we call them here, “record votes”) for the Texas House from 1995-2009 and so far I haven’t really shared them with enough folks, hence this post. I need to find a place to put these votes so that everyone who wants to analyze them can get to them. Moreover, I don’t really want to just drop a gigantic text file as a web link on some random page. I would much rather see a more comprehensive mechanism by which any roll call researcher could contribute to and/or use data from a large pool.

I imagine such a mechanism as a web-driven database, where one can browse the data from each of the states and import/transcode/export roll call votes in a variety of formats, including everything from the compact VoteView style to a comprehensive SQL database dump. Ideally, if you’re using R you could automatically draw the appropriate dataset over, without any manual chicanery. So far I haven’t even seen such a tool for any legislative body’s votes, much less that for state legislatures.

Any comments from those in the field? Is there any interest in such a contraption? I mean, I could implement a fancy prettified roll call storehouse, but if I’m the only one using it then it doesn’t do anybody a damned bit of good.

Posted in Politics.

Tagged with , , , , , , .

Can AT&T hear me now?

Verizon iPhoneAT&T’s 3 year exclusive contract with Apple’s iPhone ends in roughly 190 days. That means, in about 191 days, AT&T will be a few million customers short. I cannot wait until I can give them the finger. So what if my contract isn’t up yet? I will gladly pay the early termination fee if it means I get a new iPhone that uses the Verizon/Sprint network. I’m sure AT&T will continue their absurd ad campaign asserting that Edge is really 3G and it can compete with CDMA EVDO Rev. A.

Posted in Tech.

Tagged with , , , .

TexLege for iPhone Released!

TexLege Icon
Finally! I’ve successfully linked my passion of politics and gadgets! My iPhone application for the Texas Legislature is released and available for public consumption from iTunes. Please head over to my TexLege site for screenshots, feature listings, or for questions and support. Also, if you’re a government student in college, I will happily send you an iTunes coupon to download it for free (although Apple limits me to 50 coupons). Nevertheless, even without the coupon, its only $2.99.

Posted in Politics, Tech.

Partisanship in the Texas House of Representatives

[script type=”text/javascript” src=””]
[script type=”text/javascript”]
google.load(‘visualization’, ‘1’, {packages: [‘motionchart’]});

function drawVisualization() {
var data = new google.visualization.DataTable();
data.addColumn(‘string’, ‘Party’);
data.addColumn(‘number’, ‘Session’);
data.addColumn(‘number’, ‘Iconic WNOMINATE’);

data.setValue(0, 0, ‘Democrats’);
data.setValue(1, 0, ‘Democrats’);
data.setValue(2, 0, ‘Democrats’);
data.setValue(3, 0, ‘Democrats’);
data.setValue(4, 0, ‘Democrats’);
data.setValue(5, 0, ‘Democrats’);
data.setValue(6, 0, ‘Democrats’);
data.setValue(7, 0, ‘Democrats’);
data.setValue(8, 0, ‘Democrats’);
data.setValue(9, 0, ‘Democrats’);
data.setValue(10, 0, ‘Republicans’);
data.setValue(11, 0, ‘Republicans’);
data.setValue(12, 0, ‘Republicans’);
data.setValue(13, 0, ‘Republicans’);
data.setValue(14, 0, ‘Republicans’);
data.setValue(15, 0, ‘Republicans’);
data.setValue(16, 0, ‘Republicans’);
data.setValue(17, 0, ‘Republicans’);
data.setValue(18, 0, ‘Republicans’);
data.setValue(19, 0, ‘Republicans’);
data.setValue(20, 0, ‘Tom Craddick’);
data.setValue(21, 0, ‘Tom Craddick’);
data.setValue(22, 0, ‘Tom Craddick’);
data.setValue(23, 0, ‘Pete Laney’);
data.setValue(24, 0, ‘Pete Laney’);
data.setValue(25, 0, ‘Pete Laney’);
data.setValue(26, 0, ‘Pete Laney’);
data.setValue(27, 0, ‘Pete Laney’);
data.setValue(28, 0, ‘Gib Lewis’);
data.setValue(29, 0, ‘Joe Straus’);

data.setValue(0, 1, 1991);
data.setValue(1, 1, 1993);
data.setValue(2, 1, 1995);
data.setValue(3, 1, 1997);
data.setValue(4, 1, 1999);
data.setValue(5, 1, 2001);
data.setValue(6, 1, 2003);
data.setValue(7, 1, 2005);
data.setValue(8, 1, 2007);
data.setValue(9, 1, 2009);
data.setValue(10, 1, 1991);
data.setValue(11, 1, 1993);
data.setValue(12, 1, 1995);
data.setValue(13, 1, 1997);
data.setValue(14, 1, 1999);
data.setValue(15, 1, 2001);
data.setValue(16, 1, 2003);
data.setValue(17, 1, 2005);
data.setValue(18, 1, 2007);
data.setValue(19, 1, 2009);
data.setValue(20, 1, 2003);
data.setValue(21, 1, 2005);
data.setValue(22, 1, 2007);
data.setValue(23, 1, 1993);
data.setValue(24, 1, 1995);
data.setValue(25, 1, 1997);
data.setValue(26, 1, 1999);
data.setValue(27, 1, 2001);
data.setValue(28, 1, 1991);
data.setValue(29, 1, 2009);


var options = {};
options[‘state’] = ‘{“yLambda”:1,”iconKeySettings”:[{“LabelY”:-39,”LabelX”:-50,”key”:{“dim0″:”Pete Laney”},”trailStart”:”1993″},{“LabelY”:-38,”LabelX”:-15,”key”:{“dim0″:”Republicans”},”trailStart”:”1991″},{“LabelY”:20,”LabelX”:-98,”key”:{“dim0″:”Joe Straus”},”trailStart”:”2009″},{“LabelY”:5,”LabelX”:8,”key”:{“dim0″:”Gib Lewis”},”trailStart”:”1991″},{“LabelY”:16,”LabelX”:-108,”key”:{“dim0″:”Tom Craddick”},”trailStart”:”2005″},{“LabelY”:26,”LabelX”:1,”key”:{“dim0″:”Democrats”},”trailStart”:”1991″}],”duration”:{“multiplier”:1,”timeUnit”:”Y”},”xAxisOption”:”_TIME”,”stateVersion”:3,”yAxisOption”:”2″,”showTrails”:true,”sizeOption”:”2″,”orderedByX”:false,”yZoomedDataMax”:0.83,”playDuration”:15.088888888888889,”nonSelectedAlpha”:0.4,”iconType”:”BUBBLE”,”time”:”2009″,”xZoomedIn”:false,”orderedByY”:false,”xZoomedDataMax”:1230768000000,”xLambda”:1,”colorOption”:”_UNIQUE_COLOR”,”dimensions”:{“iconDimensions”:[“dim0″]},”xZoomedDataMin”:662688000000,”yZoomedDataMin”:-0.83,”yZoomedIn”:false}’;

options[‘showXMetricPicker’] = false;
options[‘showYMetricPicker’] = false;
options[‘showXScalePicker’] = false;
options[‘showYScalePicker’] = false;
options[‘showAdvancedPanel’] = false;
options[‘showSelectListComponent’] = false;
options[‘showSidePanel’] = false;

options[‘width’] = 500;
options[‘height’] = 300;
var motionchart = new google.visualization.MotionChart(
motionchart.draw(data, options);


This is from the work I’ve done in my dissertation. This chart shows the level of partisanship between the political parties in the Texas House of Representatives across 18 years of record voting (otherwise known as “roll call votes”).

The center line, at 0 should be your reference when viewing this movable chart. The further away a party is from this center line, the more partisan their voting behavior. To help simplify this, the bigger the circle, the less bi-partisan they are.

I’ve collected all the roll call votes from the Texas House of Representatives from 1991 through 2009. Then I use a dimensional scaling method, W-NOMINATE from Keith Poole’s VoteView research. I also do some creative aggregate calculation for the political parties and “Speaker’s Teams”, and squeeze in a nifty little trick from Gerald Wright that applies a Groseclose-Levitt-Snyder transformation to get all the sessions within the same scope.

[Updated with 2009 data.]

Posted in Politics.

Tagged with , , , , , , , .

The Trouble With Regular Expressions

I have this problem with regular expressions. They’re too handy for their own good.  You say you don’t know what a regular expression is?  Well, let me just tell you, you don’t know what you’re missing out on.  Think of it like a really super-duper complicated way of searching for something real specific when it’s slapped in the middle of a whole back of other crap you don’t want to even mess with.  But it’s not even just searching for something, you can search and replace really complicated text that’s just too big to do by hand.

Regular Expressions Book

Regular Expressions Book

More than that, it’s not like you just want to find every reference to the name “Meg” on your computer and change it to “Poop” … you can use regular expressions to transform Huge Text File (A) into just the  little sub-sections of important stuff … or you can convert (A) from one textual format to another, like from HTML to Whiskey, or whatever the hell new-fangled nonsense is going on out there in web junky land.

There are plenty of programs out there that make use of regular expressions and you don’t even know about it.  I first started playing around with them way back in 1995 or so, not long after Rich Siegel started selling BBEdit for Macintosh, and I’ve been using them since.  Here’s an example … say you have a text file that looks like this:
Jimmy Jack Johnson sells 43 seashells to Yo Momma. She paid about three-fiddy.
You can do a regular expression find/replace on that text, which would look something like this:
's/^(J.*)\ J.*\ (J.*)\ (s)...s\ ([0-9]+).*\r/\1\ sucks\ \4\ \2\3\.\r/g'
Which would now make that first text look something like this:
Jimmy sucks 43 Johnsons.

This sort of thing would be great for pranking your frienemies, but I have yet to hear of such a thing catching on.  Which brings us to my current dilemma.  I’ve come to rely on regular expressions so much that I believe they can do anything.  Unfortunately, I think I’m demanding too much, or at least my computer is unwilling to give me everything it’s got in order to accomplish this task.  I have a  text file, freshly spit out from Excel, that has 43 columns of textual data over 160 some-odd rows … not that big of a file, it’s only got about 43,000 characters.  It’s tab-delimited, meaning that in the text file, there’s a unprinted tab character (\t) between each section of the data, to separate out each of the cells.  What I wanted to do was churn this tabbed text file into an XML .plist, or Property List file.  I’m sure there’s a more elegant way of doing this (without having to do it by hand, obviously), but I chose to create a regular expression … here’s what the “Search For” string looks like:


And here’s what the “Replace With” string looked like:


Needless to say, it did not go over well.  BBEdit died after ten minutes of churning.  Perl sucked up 2 Gigs of RAM before I had to kill it.  Sure I could process the file little bits at a time, but wouldn’t that be taking the fun out of regular expressions?

EDIT / Update: 

Yeah, about all that. With a tiny bit of touching up, a demo version of TextMate processed the whole file in about 6 seconds. Sounds like someone’s going to actually have to pay for a software registration when the demo expires. Nothing like knocking my socks off and shaming a few industry leaders to earn your keep. Nice job there buddy.

Posted in Humor, Tech.

Allow me to expound on my car’s litany of woes.

So I have this great car, a 2002 Audi A6 Quattro (2.7L Bi-Turbo).  Not the one pictured on the right, but close enough.  My car and I have this special relationship.  One day I’ll tell you all how it started, but not today.  Today, you see, I’m telling you how it’s likely to end.  So we’ve got this special relationship.  It drives me to school and I fix it up when it breaks.  Lately, there’s a lot of the latter and not much of the former.

  1. It all started going downhill last year when I noticed that it literally spewed out any gas over 3/4 full in the fuel tank.  Since this job didn’t qualify as a DIY, I took it to the dealership.  $2,600 later and the tank fills just fine.  Luckily, later that year Audi decided to fix this defect in the whole line of cars, and thus refunded me that expense.
  2. Then I got this check engine light (CEL) … the computer/scanner tells me that the engine is running too lean, meaning it’s got too much oxygen coming in to the combustion chamber.  After a few weeks of hunting down cracked and broken vacuum hoses throughout the engine bay, the code now stays off and the engine runs great.
  3. A few months later, I notice that during a heavy rain the rack that holds the battery, along with the brake boosters, master cylinder, and ECM module filled completely with rain water.  Audi didn’t think to remove a plastic cap that drains this out … Sadly, by the time I fixed it, the brake fluid reservoir and brake boosters got water in them, then rusted.  So I flush it as best I can, but now my brake booster squeaks like nails on a chalkboard every time I pump them.
  4. In the course of flushing my brake fluid, I figured I might as well replace the brake disc rotors and pads.  This is about a month ago.  While midst replacement, I notice that a CV joint boot that holds in axel grease and protects the joint had recently obliterated itself.  The clue to this issue was the lack of axel grease on the front drive axel, yet everywhere else around it, such as the wheel well, brake rotors, brake calipers, suspension linkage, yeah … all that crap had lots of axel grease when there shouldn’t be any.  Funny how that happens.  I replaced the front drive axel (which comes with the CV boots) and all was well…
  5. Then I got another CEL … this one told me that I have a stuck valve in my torque converter.  I had seen this particular code come up once before about a year ago, but it went away.  Looking online, folks said this generally comes on when the Automatic Transmission Fluid (ATF) is too low.  Odd, given that my friend/neighbor and I had changed the ATF and transmission filter about a year ago.  Interesting.  When I approach the Audi dealer about doing another ATF change, thinking I must have done it wrong, the Audi dealer refuses, saying the fluid is good for the life of the car … I call horseshit. This leads me to my latest …
  6. I take the car, which now is showing some symptoms of transmission issues, to a european transmission rebuilder, hoping that a proper fluid change will fix my problems.  Sadly, after several days on the lift, they inform me that the low fluid was due to a leak.  They fixed the leak, but the damage was already done.  Clutch plates had burned.  The torque converter is in serious trouble.  My trusty old ZF 5HP19FLA transmission isn’t so trusty anymore. The estimated fix for this one?  Between $2,800 and $3,400 US dollars.  Holy shit.
  7. I’m thinking that I should just drive it until the transmission collapses in a whimper or calamitous implosion.  But that might happen in the next couple of months.  I’m not really set up to spend $3,400 on a transmission rebuild, but then again I’m not set up to buy another car when this one completely fails, either.
  8. Oh yeah, I almost forgot.  When you drive the car above 60 mph, the whole thing shakes like your granny’s false teeth in a blizzard.  Looks like some control arm bushings need a little love, too.
  9. I love my car.

Posted in Cars, Humor.

Tagged with , , , , .