Oldskooler Ramblings

the unlikely child born of the home computer wars

How to explain programming to the total beginner

Posted by Trixter on June 6, 2017

Explaining what programming is in 2017 is likely best done by introducing the student to Scratch:  All logic is graphical, visual, and onscreen, which matches the most common output medium they’ll develop for.  But how do you explain programming like it’s 1979?

This topic came up recently in a vintage computer forum, where a long-time-listener-first-time-caller to the hobby decided they were going to do what they didn’t do in their youth:  Learn to program on their early home computers (which is one of the things they were originally marketed for anyway).  What struck me about this request is that the OP was truly coming from zero knowledge; they couldn’t comprehend how “ones and zeros” eventually turn into pac-man, or a drop-down menu, or a spreadsheet.

To help explain what programming itself is to the total layman, I came up with a metaphor that I thought was simple enough that I’d reproduce it here:  Programming is like cooking.

How is programming like cooking?  Well, how do you cook food?  To cook food, you need raw ingredients, cooking utensils, and recipes.  You read the recipe, which tells you which utensils to use on which ingredients and in which order.  The end result is a meal.  How does this relate to programming?  Like this:

  • Cooking utensils = CPU instructions
  • Raw ingredients = data
  • Recipe = A computer program

A program is a list of steps (recipe) that use different CPU instructions (utensils) to process data (ingredients) into a new format (a meal).  That’s all programming is.

Okay, but how do you make anything of any complexity, like a game or a drop-down menu?  Let’s extend our cooking metaphor:  Say you had to provide a ton of different, complex meals for a large catered event.  To do this, you have several recipes, each producing a different result.  For such a large event, it’s possible that some recipes exist only to create portions of food that themselves are used in larger recipes for a more complex meal.  The process is no different than making a single meal — you’re just doing it a lot more, with more recipes, for a bigger and more complex result.  How does this relate to programming? Like this:

  • Catered event = A complex thing the user sees on the screen
  • Many recipes = Many different programs
  • Smaller recipes that produce food to be fed into the larger recipes = Subroutines, library calls, API calls

I admit, I was eating lunch when I came up with this metaphor.  But maybe it can help you explain programming to your grandparents.

Posted in Programming, Vintage Computing | Leave a Comment »

Come to Vintage Computer Festival Midwest

Posted by Trixter on May 20, 2017

If you like vintage computers, and you like vintage people operating vintage computers, then come to the Vintage Computer Festival Midwest on September 9th and 10th this year.  I will be there, if you have always wanted the chance to laugh and point at me in Real Life(tm).

What makes VCFMW such a great show, in my totally biased opinion, is that it is 100% free to attend or have a table.  You use your table(s) to exhibit your collection, hold a competition or workshop, or even sell stuff — all are welcome as long as it relates to vintage computing.  There are things to see, things to operate, presentations to watch, and there’s a heck of a lot of Commodore stuff too.

Posted in Vintage Computing | Leave a Comment »

The End of a Perfect Day

Posted by Trixter on May 11, 2017

I remember a time when I was productive in my home life and my hobbies, both of which brought me great joy and validation.  What’s changed since then?  What’s happened to my output and my mental state?  Two things: Social media distraction and impostor syndrome.

Dealing with social media distraction has many gradients of severity and treatment, but being a member of Generation X gives me an advantage: Because I didn’t grow up with social media, it is easier for me to quit it cold turkey.  I’m going to gain back the time I waste on social media by cutting it out completely for several months, if not an entire year.  I might pop on once on a while to announce something, but it won’t be a daily check-up.  Back-of-the-napkin calculations suggest I will gain back at least 120 hours (that’s 5 days!) of free time per year giving up twitter and facebook alone.

Impostor Syndrome is possible to overcome if you can accept that you have provided real value at one or more points in your life.  If you accept that, there are various methods that can help.  I’ve adopted some, and they are indeed helping, such as keeping a file of nice things people have said about you, finding one person to confide in about feeling like a fraud, and — cliched as it is — “fake it ’til you make it”.  (If it’s good enough for Henry Rollins, it’s good enough to give it a shot.)

I want to get back to a time when I wasn’t worried about what people thought of me.  I want to feel like one of the smartest kids in the room again.  I want to will new things into existence because I feel they should exist and can help or entertain people.  Most importantly, I want to work on myself so that I am available for my family, and be mentally sound enough to not lose sight of how important that is.

To accomplish all this, I’ve removed all social media apps from my phone.  I’m also clearing out both of my email accounts, and being realistic about what I can and cannot accomplish for people.  (If I’ve volunteered to do something for you, I promise you’ll hear from me, but you might not like the answer.)  I might still be active on a forum or two, but with much less frequency.  If you need to contact me this year, please email me instead of trying to reach out to me over social media.

Self-improvement is a journey that requires a realistic world view and making some hard choices.  With sincere apologies to Johnny Marr and the late Kirsty MacColl:

No it’s not a pretty world out there
With people dying of their own despair
But in a written testimonial you’d say
You never really knew them anyway
I’ll never satisfy you
I’ll never even try to
I really couldn’t tell
It just depends what you remember
At the end of a perfect day

Posted in Lifehacks, Uncategorized | Tagged: | 2 Comments »

An informal comparison of intermediate editing codecs for Windows platforms

Posted by Trixter on April 2, 2017

Last year I volunteered to record an entire weekend’s worth of vintage computer talks.  Unsurprisingly, this also involved editing an entire weekend’s worth of vintage computer talks.  All of the footage was 1080p60, and was shot or delivered compressed (a mixture of AVCHD and H.264 MP4).  While this saves space, it is not always fluid to edit with, as compressed codecs arrange frames into groups that are highly dependent on each other.  The end result is that seeking around and cutting highly-compressed footage can feel sluggish even on extremely powerful systems.  My system was beefy for 2012, and can still surprisingly hold its own in 2017:  A 6-core/12-thread Core i7-980X with 24G of RAM, and 4TB of spinning-disk storage made up of 3x2TB disks in a RAID-5 array (capable of delivering up to 700MB/s sustained read speeds at the outer edges of the platter) with a 4th hot spare.  Despite the high specs, editing 1080p60 H.264 footage last year was sluggish to the point where I considered using an intermediate codec.

A quick primer on intermediate codecs

Intermediate codecs are used when you want to transcode your footage to something that is much easier for the computer to decompress, making it much faster to edit with.  There are two basic types, lossless, and lossy:

Lossless codecs exactly represent each original pixel in the source, and can be used interchangeably with the original footage through any number of processing or compression passes.  (Think of them as running the footage through PKZIP or 7-ZIP, but using more lightweight algorithms more suitable for decompression speed.)

Lossy codecs throw more information away, but do so in a manner that looks the same to human eyes.  They don’t match up with the original source pixel for pixel, but most people wouldn’t be able to tell the difference.  The resulting file sizes are much smaller than lossless codecs, but because some information is thrown away during the compression phase, you have to be careful running such footage through multiple processing or compression generations as the image could degrade unacceptably.  (For the old-timers: This is like what happens when you make a copy of a copy of a copy of a videotape: The end result is noisy, washed out, and barely watchable.)

Compressing into an intermediate codec takes time, so it is usually done during the ingestion process (such as with DaVinci Resolve or Adobe Prelude), or in a batch process overnight, or both.

Our test case

I decided at the time to pick a 10-minute piece of 1080p60 footage and transcode it to every intermediate codec that met the following criteria:

  1. Worked in Windows without Quicktime (Quicktime for Windows was discontinued in 2016 due to security flaws).  This eliminated ProRes and Avid’s DNxHD.
  2. Over 5 years old, compatible with Windows 7 or above, and relatively battle-tested
  3. Evidence of recommendation online by video content producers (ie. something more professional than, say, people doing anime music videos)
  4. Worked in Premiere Pro without crashing or odd behavior
  5. Didn’t demand more than 200MB/s out of the I/O subsystem to maintain 60fps playback (this was more to keep filesizes down than anything else)

Additionally, since my source footage was not high enough quality to require HDR-level processing, I was realistic and considered codecs that had a YUV 4:2:2 configuration (and eliminated codecs that could only do 4:2:0).  This led to the following codec list:

To provide some interesting comparisons, I also included the following:

  • YUV 4:2:2 8-bit uncompressed, to see what was possible given a fast I/O subsystem
  • Cinepak (1991), possibly the fastest useful single-core decompression codec ever made
  • HuffYUV (2000), the first popular free lossless codec for Windows

After my 10-minute 1080p60 sample was compressed into these codecs, I then defragmented my RAID array using mydefrag with a script that put all of the codec comparison files at the fastest area of the array (the beginning).  I then measured decompression speed using VirtualDub’s File->Run Video Analysis Pass feature, then measured I/O and CPU usage using Windows 7’s Resource Monitor.

Before reading on, I want to stress that the above criteria were the only factors considered.  There are many other things to consider if you have different production targets or workflow needs, such as 10-bit or 12-bit color depth, or iterative recompression stability.  These vary from codec to codec and are not discussed here.

The results

Here are the raw results (you might need a non-mobile browser to see this table correctly):

Codec Size in bytes Percent size of uncompressed Data loss Visual quality loss Decompression Frames Per Second MB read per second Decompression %CPU usage (6-core 12-thread i7 980X)
UTCodec 4:2:2 8-bit 35,859,227,004 24% lossless 1 164 367 39
Cinepak 8,951,457,910 6% lossy 3 129 57 9
Cineform (Medium HD) 11,872,682,448 8% lossy 2 64 51 12
Cineform (High HD) 13,293,520,304 9% lossy 2 62 57 12
Newtek SpeedHQ 4:2:2 9,763,299,366 7% lossy 2 55 24 8
Blackmagic Design MJPEG 10,146,513,708 7% lossy 2 38 28 16
YUV 4:2:2 8-bit uncompressed 149,270,431,900 100% lossless 1 85 704 4
Lagarith 28,375,743,340 19% lossless 1 29 41 11
Grass Valley HQX Lossless 35,888,010,830 24% lossless 1 33 75 9
Grass Valley HQX Offline 3,988,818,666 3% lossy 3 90 19 8
Grass Valley HQX Online Standard 7,854,558,164 5% lossy 2 74 38 8
Grass Valley HQX Online Fine 9,833,655,952 7% lossy 2 69 45 8
Grass Valley HQX Online Superfine 27,810,744,334 19% lossy 2 48 86 9
HuffYUV (FFmpeg variant, left, adaptive huffman) 35,918,114,616 24% lossless 1 44 99 12

From this data, I eliminated codecs that were not capable of playing back 1080p60 footage at the bare minimum requirement of 60 frames per second.  I also eliminated Cinepak (which was only included for teh lolz) and Grass Valley HQX Offline, since the visual quality of these were unacceptable and I did not want to edit with proxies (I was not in the field on a laptop, but was on my actual editing desktop system).  I also eliminated YUV 4:2:2 uncompressed, because the storage requirements of transcoding everything to an uncompressed format was not practical.

From the remaining data, I concluded the following:

Playback performance (best to worst)

  1. UTCodec 4:2:2 8-bit
  2. Grass Valley HQX Online Standard
  3. Grass Valley HQX Online Fine
  4. Cineform (Medium HD)
  5. Cineform (High HD)

File size (best to worst)

  1. Grass Valley HQX Online Standard
  2. Grass Valley HQX Online Fine
  3. Cineform (Medium HD)
  4. Cineform (High HD)
  5. UTCodec 4:2:2 8-bit

Conclusion

For over a decade, I assumed that Cineform was the gold standard of intermediates, and was indeed the codec I used whenever I needed an intermediate workflow.  Recently in an online discussion, a colleague who is a professional cameraman and editor extolled the virtues of Grass Valley HQX.  HQX was not in my original comparison, so I added it and re-ran all of these tests in the same hardware configuration.  I was surprised to see that Grass Valley HQX was a hair better than Cineform in all areas.  I will definitely give it a spin for my next project.

To be absolutely fair, Cineform is (still) no slouch, and has served me very well over the years.  You could do much worse than either Cineform or Grass Valley HQX; either of them should suit your needs for an intermediate codec on Windows.

If you have a multi-core processor and lots of free disk storage, UT Codec remains the fastest lossless codec available on modern hardware.  However, evaluate your project needs before committing to it, as not every project needs 100% lossless compression.

Finally, if you only work with 24p/30p material, just about any of these codecs will serve you well.

Update: I’ve recently found that Cineform performs much faster if you can handle the quality the “Medium HD” preset provides, which can exceed the playback rate of GV HQX.  But they’re both good to use.

Posted in Digital Video | Tagged: | Leave a Comment »

The failure of the Dreamcast

Posted by Trixter on March 22, 2017

The Dreamcast had a very short life; officially less than 3 years, although it felt like 4 because the Dreamcast continued to be sold in the US after it was officially discontinued.  I was recently part of a discussion where someone asserted that piracy was the major contributing factor to the failure of the Dreamcast, and I disagree.  The Dreamcast failed to achieve long-term acceptance, in my opinion, primarily because of the competition of the PS2.

The PS2 followed a long, very successful run of the PS1 and had more pull with Sony fans (Dreamcast sales dropped sharply in the USA when the PS2 USA launch date was announced).  Additionally, the PS2 was backward compatible with PS1 games, and was also a DVD player, both of which were very appealing.  Finally, some major developers and publishers did not support the platform (most notably Electronic Arts and Squaresoft), having been burned by Sega’s mismanagement of various aspects of prior consoles (such as announcing the Saturn early, which killed 32X sales, and also by the Saturn being very difficult to write code for due to its use of multiple processors).

If you were a brand-agnostic consumer with a choice between the PS2 and the Dreamcast, and you were trying to figure out which one was more special, you had a choice between a console that could play games on the internet (something only computer gamers cared about in 1999), or a console that could play hundreds of the previous generation’s games as well as DVDs. That was a one-two punch that the Dreamcast could only overcome through brand loyalty to SEGA, and it did so, admirably, for 3 rough years. Piracy was a problem for Dreamcast only after the Dreamcast was already on its way out, not the other way around.

I don’t view the Dreamcast as a complete and utter failure, but rather as a console that had a shorter-than-expected lifespan.

Posted in Gaming | 4 Comments »

BASIC Memories

Posted by Trixter on March 15, 2017

I contributed a few segments to The 8-Bit Guy‘s retrospective on BASIC that covered my thoughts and memories on growing up with BASIC during the home computer revolution.

Making quality video is difficult!  I had to perform several different takes before I was comfortable, and I screwed up the focus, and I needed better lighting.  And I’m fat.  But overall it went ok.  Except for being fat.

I envy those who can do YouTube videos full time, since it seems like a lot of fun.  I’ve collected over a hundred topic ideas for videos I’d like to do someday, but if I’m being realistic with myself, I won’t have the time.

Posted in Digital Video, Entertainment, Programming, Vintage Computing | Leave a Comment »

I talked about old PC audio methods

Posted by Trixter on January 1, 2017

I was recently a guest on the Upper Memory Block Podcast hangout #6, where the topic was PC sound methods and sound cards.  I spoke the most when the topic hovered around the PC speaker, Gravis Ultrasound, Covox Speech Thing, and a few other pre-MIDI topics.

There’s no real structure, and the whole thing is more of a conversation than having structure :-) but if you’d like to jump right to the PC speaker, seek to the 5-minute mark.

Posted in Vintage Computing | Leave a Comment »

Fear of Success

Posted by Trixter on December 19, 2016

When I have an exceptionally good idea, I think about it endlessly until it gets fleshed out and fully realized inside my head.  This is fun.  I like to work on these projects every night as a way to get to sleep.  It rarely results in actual sleep, but at least I have something to think about during bouts of insomnia.

The problem with this is that it leads to obsessing over the implementation of the idea, to the point where it manifests in a really unhealthy way.  When I coded some of my best demos, I would stay up until the wee hours of the morning multiple nights in a row to take advantage of the +2 INT bonus you get from hyperfocusing without distractions.  This led to being inefficient at work, being short with my family, and occasionally getting sick.  When I was fleshing out MobyGames with Brian Hirt, I spent every moment of my free time working on it for nearly two years, which damaged my relationship with my wife and my young children.

I’ve reconciled with my family for that period in our lives, but ever since then, I’ve been very careful about how I spend my time fleshing out my ideas.  If it looks like I’ll have enough pockets of free time that don’t impact anyone that needs me, or said project doesn’t require intense focus, only then can I actually work on a project.  This is a balancing act.  It took several planets to align for 8088 MPH to happen, complicated by not just my own time, but the time of everyone involved.  I’m amazed we pulled it off.  I’m also positively thrilled we pulled it off.

I have a new idea that is just begging to get out of my head and into the real world.  It’s a project that has an audience of thousands — not the largest audience, but it will make a real impact with that audience and save them thousands of hours of time, and that’s enough to make converting this idea into a concrete project.  It will require me to learn a new programming language, adopt community programming practices, use collaborative platforms, and will overall be a positive learning experience.

But, it will require a large amount of discipline, focus, and study.  So I’m afraid to start, because I know once I start, I won’t be able to stop.  I’m afraid of causing collateral damage by being unavailable to those around me.

So, I haven’t started.

Posted in Programming, Sociology | 3 Comments »

I’m right, you’re wrong, and it doesn’t matter

Posted by Trixter on December 5, 2016

(20161208 Update: Since writing this opinion piece, I have learned that what I was feeling but not able to articulate very clearly was the “Death of Expertise”: The notion that modern collaboration platforms and social media have eroded the division between laymen and specialists.  After reading this piece, you may want to read Tom Nichol’s piece on the same subject.)

I used to think that being an archivist automatically granted credentials to be a historian.  I’m not sure that’s true any more.  It’s not that I can’t perform the same job; I’m known for performing extensive dives into subjects I am considered an expert on.  Rather, I now think it is impossible for any historian to do an effective job, because history no longer matters.

Stop screaming and let me explain.  Of course the concept of “history” matters, but only as a concept.  The reality in recent years has turned out to be something else entirely: People simply don’t care to benefit from it.  Humans have a survival instinct that has evolved from protection of the body to protection of the mind, and people don’t want to be told anything that can upset or inconvenience them.  Mentally harmful information is rejected, and whichever population has greater numbers gets to define history.  Because the general population greatly outnumbers all professional historians worldwide, guess which group defines truth?  Not historians.

Facts no longer matter.  Everyone has an agenda.  Before written records, information was passed down orally from generation to generation.  Natural mutation of information inevitably occurred, but sometimes it was helped along by tribal leaders with ideologies to push.  When written record was invented, purging or alteration of records was invented shortly thereafter.  So, the modern era of perfect audio and video recording exists — will that save us?  No, because people will either claim what they are ingesting has been subjectively edited, or subjectively produced, or will choose their own interpretation of what the speaker said (or meant to say).  Facts have now become opinions; just like assholes, everyone has one.

Do you think written or digital archives will save history?  Will digitally-signed binary information solve arguments or advance the sciences?  Will it steer us away from war, mental illness, or famine?  It hasn’t, so far.  I think our ability to (mis-)interpret data is more powerful and widespread than we care to think about.  I have spent hundreds of man-hours extracting and creating metadata for various archival efforts, and I think most archivists have done the same.  How useful is that information if people are incapable of interpreting it, or worse, capable of doubting its authenticity despite indisputably-documented provenance?

Have you ever had an argument with someone online over certain facts about an object, something that is physical and present and obvious?  I have.  Writing about it, then taking photos of it, then shooting live video of it for the benefit of the other person still didn’t set them straight about the facts.  I resorted to physically sending them the object — surely this would clear up any misconception, yes?  They thought I sent them an altered version of said object.  I gave up.  I give up.

If you’ve read this far, and you’re familiar with the type of information I traffic in both above and below ground, you’re probably worried that this is my Raze Manifesto; that the last image anyone will ever see of me is of my silhouette walking away from a giant smoking hole in the ground as decades of archival work burn into ash.  If you’re concerned, don’t be.  I’ll continue to do what I do in the manner I’ve always done it.  But from now on, I’ll do so without any belief that the work is important or valid.  I will archive, document, research, and rescue for my own satisfaction and entertainment, not for the greater good — because there is no greater good to be had from this work.  If you want to charge that windmill, knock yourself out, but don’t pretend for a single second that you’re changing the world.  The world is changing every second without any regard to the past, as it always has, as it always will.  A mountain of data ignored is just as useful as a mountain of data destroyed.

I sometimes wish I were not a subject matter expert in the few, narrow fields I derive enjoyment from.  For once, I would love to enjoy something with the bliss that comes with ignorance.  I think this is why some people long to return to their youth, to return to a time when they lived in bliss.  That desire, I believe, is what creates archivists:  We are desperate to preserve everything that made us happy, in the hope that it will still make us happy; that interest in our time period and its products will matter somehow, and provide some form of validation.

I don’t seek validation much these days.  Seeking closure is probably more productive anyway.

I wonder if there is a specialized psychiatric discipline for treating disillusioned historians.

Posted in Sociology | 5 Comments »

Kidney Stones 1.0

Posted by Trixter on November 26, 2016

I was hospitalized recently for a kidney stone.  Kidney stones are small deposits of minerals that form inside the kidney when there is an unusually high concentration of certain chemicals that crystallize and then stick together.  Smaller stones migrate into the ureters, then into the bladder, then are expelled when you urinate.  Larger stones, however, don’t fit; they get lodged in the ureters, and prevent urine from draining out of a kidney.  This is obviously very bad for the kidney.  It is also very painful.

I’ve been asked by many of my like-aged friends what the procedures were like, what caused it, how I knew I had one, and how to prevent it.  Here are my thoughts on what happened.

The Basic Timeline

(For the purposes of this section, “The Event” is when I decided I needed medical treatment.)

Four days prior to the event, I’d had odd feelings in my pelvic region.  (I recognize this is particularly funny phrasing — go ahead and laugh; I did.)  It is hard to describe what I felt; all I can say is that it felt like I had a stomach located there, and that “stomach” was “rumbling” as if it were empty and I were hungry.  I wasn’t sure to make of these feelings, but they weren’t painful, so I just went on with my day.

Five hours before the event, I developed mild lower left back pain.  I’ve had back pain before, and it was 10pm, so I thought I’d take some ibuprofin and go to bed once it kicked in.  I also had what I thought was bad gas, so I voided both solid and liquid in an effort to fix that problem.

Three hours before the event, it still hurt, but I thought I could lie in bed, relax, and sleep it off.  For the next three hours, I tried unsuccessfully to go to sleep while the pain slowly grew from mild to acute pain, which I still wrote off as having wrenched my back or something.  Still unable to sleep, I decided to try voiding again, and when that didn’t fix anything, I woke Melissa and told her I probably needed to go to the hospital.

After driving to the emergency room, I was immediately given a hospital gown to change into and a bed to lie in.  Anticipating I would need fluids and pain medication, an IV was inserted:

dsc_0041

I was also hooked up to various monitors:

(My blood pressure was elevated likely because I was in a hospital for the first time since being born, worried about my condition, and in some pain.)  I was then examined by a doctor, who ordered a CT of my midsection, and the results showed a 7mm stone lodged just inside the beginning of my ureter, close to my kidney.

The size and placement of the stone dictated my treatment.  There are various ways to remove lodged stones:

  • Smaller stones can eventually migrate down and out.  These are managed with pain medication until they pass, which can take a day or more.
  • Larger stones must be removed, and are typically broken up so that they can be passed or extracted.  There are two ways to break them up:  Sound waves, or a tiny medical laser.
  • If the stones can’t be broken up, or are in a completely inaccessible location (which is rare but happens 5% of the time), then the final recourse is to cut open your back, then further surgery to remove them.

Luckily I didn’t fall into the rare category.  But because my stone was so close to the kidney, they couldn’t use sound waves, so I was scheduled for the frickin’ laser.

The actual procedure goes something like this:

  1. A stent is inserted into the affected ureter, with one end in the kidney and the other end in the bladder.  It is a thin hose with perforated holes near both ends so that urine can drain into the bladder around the lodged stone, which brings the kidney out of immediate danger.  You want this, because it isn’t always possible to get the stone out during the procedure, and you want to be able to pee semi-normally while waiting for the second attempt, which could be few days.
  2. The stone is located with a scope, then a medical laser blasts it into pieces.  Thank the gods of fiber-optics for that bit of medical technology.
  3. The pieces are then extracted, and sent off for analysis.  The analysis usually returns a few weeks later, to be discussed with you and your urologist; the mineral makeup of the stone can be used to determine what caused it and possibly how to prevent it.
  4. The stent is left in 2-3 days to facilitate healing, then removed either at home or at the doctor’s office.

You are, thankfully, knocked out for this.  Knowing the procedure — the stent is inserted exactly as you think it would be inserted — I would have insisted on it.

After I recovered (which didn’t go well; more on this later), I was sent home, where I rested for an additional day.  Two days after the procedure, my wife helped remove the stent, which, again, is done exactly how you think it is done.  It wasn’t painful, but it sure was unsettling!

Expect the unexpected

The above sounds very routine, which it mostly was.  The surprises for me came after the procedure itself.  Here is a list of things that surprised me:

  • I did not come out of anesthesia very well.  Some people wake up slowly and act drunk, crack jokes, act silly, etc.  Others wake up normally as if nothing had happened.  I fell into the relatively uncommon category of people who wake up atypical; in my case, I was panicking.  I felt very anxious, like my brain was racing without a limiter, and my heartrate was elevated.  Melissa described my actions as if my body were trying to process trauma signals, but the actual pain itself was being blocked by medication, so my body wasn’t sure how to process everything else.  I tried to sit up and walk it off, but I was on a lot of pain medication that made me very dizzy and nauseous, so I couldn’t get up.  For at least 8 hours afterwards, I oscillated between this state and sleep.
  • Pain medication has enough goofy side effects that I will consider going on much less of it if this ever happens again.  For example, my urine was discolored a bright orange color for days.  The pain meds also gave me constipation; I had my first normal movement four days after being admitted to the hospital.  Then, the constipation turned into diarrhea for a day after that.  What fun!
  • I was extremely tired for up to a week afterwards, despite getting plenty of sleep every night, and never actually having been cut open.  It felt similar to recovering from a bout of the flu, where you are tired all the time and slightly short of breath.  I took this as evidence that my body had some healing to do even though I was never cut open, which goes to show you that any invasive procedure usually incurs some trauma that the body has to spend time and energy healing.
  • The IV insertion point stays with you for a while.  Over a week later, I still had a bruise and marks from the surgical tape.  Nearly two weeks later, I still have the marks from the tape, and scrubbing doesn’t seem to remove them:

dsc_0052

Moving forward

Statistics show that people who get one stone have a 50% chance of developing another in the next 5 years.  (That is why this article is somewhat negatively titled “1.0”.)  Lifestyle changes (mostly dietary) can help reduce this.  While I haven’t yet gone over analysis results with the urologist that performed my procedure, he told me after the procedure that he had quickly examined a piece and was fairly certain it was the most common type of stone (calcium).  To reduce the changes of another occurrence, I was advised to:

  • Drink more water to dilute the amount of uric acid produced
  • Eat less salt
  • Avoid “dark” sodas (coke, pepsi, dr. pepper, etc.) as these contain phosphoric acid as a flavor additive.  (Phosphoric acid has been shown in some studies to assist stone production.)

As I only enjoy dark soda, I’ve essentially given it up completely, and replaced it with water, sports drinks, and tea.  I have to be careful about the tea, as some processed teas also adds phosphoric acid.  Read your food labels, kids.  Also: I’m not fond of tea.

I was sad to give up pop.  It was my only vice; I don’t drink alcohol or coffee, smoke, or do pharmaceuticals.  I drank it every day, and I am really going to miss it.  I may still have once a month or so; perhaps as a treat at a restaurant.

I still think it’s really cool that a medical laser was fired inside my body

Posted in Uncategorized | 4 Comments »