Author Archive


General | Posted by Derek
Apr 14 2022

Moved off of Dreamhost after many years of price hikes. Testing to see if new hosting works…

P.S. Not dead yet.

Work In progress - June 2017

General | Posted by Derek
Jun 08 2017

Too tired to do any sort of update on stuff. Have some work-in-progress.

One month after the J’Ruhn’s departure from Val’Traxan space

“Kaler seems to have taken the pep talk very well,” Tier appraised. “You wore that happy face like a champion.”

“Mm. I hope so.” Alecha keyed the pad beside the cryobay’s entrance. With a gentle groan, the heavy bay door creaked shut for what was likely the last time for decades. “He was nervous. This isn’t training anymore.”

“And you? Are you nervous?”

She didn’t immediately answer. Instead, Alecha made her way down the corridor, watching each section illuminate as she approached. She didn’t need to look back to know the opposite was occurring in the sections she left behind. It was just something she knew would happen, just like so many other things she knew would continue to happen. The ship’s atmosphere would continue to be purified. Artificial gravity would continue to accelerate mass toward the deckplating. The cryopods would continue to do their damnedest to keep their occupants alive through their long sleep.

The ship was quiet now, a state of semi-permanent night extending across all decks to keep power requirements as low as possible. The rest of her family was finally asleep, along with all the other colonist family groups. Even her junior cryotechs had already gone in. Alecha and Tier were the last individuals still awake on the J’Ruhn. Soon enough it would be only Tier.

Alecha took a long route to the Commons, stopping occasionally at the small gardens dotting corridor intersections to tend the plants and generally taking her time. As she finally entered the large common hall, her eyes were drawn to the faintly rippling border of the Displacement field out the forward viewport. The ship had been traveling for nearly a month now. If she could have seen home from here—which, given that this window faced the wrong direction, was already an impossible feat—the visible light would have pre-dated her own birth. Even with such an incredible distance already covered, it would still be decades more until they arrived at their destination. 

As the illumination in the corridor behind her faded, the Commons lighting remained subdued. She didn’t bother to increase it; instead, she grabbed a small meal from one of the replicators and sat down in the relative dark to eat. Watching the flickering energy field, her lunch sitting before her, she rested her head on her hands.

“No,” she finally spoke. “I’m not nervous. I am a little worried, but not nervous. Besides, if anyone went to sleep without having any concerns, they’re either lying to themselves or they’re a fool. With the selection process and the way we’ve trained these last few years, I don’t think any fools made it aboard.”

“There may be one or two,” Tier replied. “Statistically speaking, of course. And, based on a reasonable margin of error, I predict that they may not all be asleep yet.”

“Thanks for that. You’re awake too, you know.” Alecha smirked. “Has anyone ever asked how you feel about all this?”

“More than you may expect,” the AI confirmed. “I have told everyone aboard the same thing: I will ensure the colony crew gets to their destination safely. My personal feelings aren’t relevant to my current mission.”

“I have to disagree,” Alecha said, frowning slightly. “I think your feelings are completely relevant. It can’t be any healthier for you to bottle up your thoughts than it is for anyone else.”

Tier paused. “Speaking of bottling up… Have you decided when you’re going to join the others in cryosleep?”

“This evening, I think. I’d like to record a couple of letters for you to add to the family’s archive… There’s really no sense in delaying more than that, especially now that everyone else is under. I’m sure you’d rather go into idle mode than listen to me, especially with that evasive maneuver you just pulled off.”

“Do you really wish to know how I feel about everything?”

Alecha frowned. “I wouldn’t have asked if I didn’t—”

She trailed off as the room’s holographic emitters powered up. In the months leading up to their departure, Tier tended toward using her avatar less and less, limiting her communications mostly to audio. Alecha assumed that it was just a personality quirk; some AIs preferred their avatars for interaction, while others opted not to use them except when absolutely necessary. But now, looking at Tier through the relative darkness, Alecha possessed a better idea of why the AI had remained out of sight. Her body language broadcasted her innermost thoughts far more clearly than words ever could.

Tier looked very worried.


General | Posted by Derek
Mar 08 2016

Well, we’ll see if this shows up this time with a database restore.

So, a lot has been going on. Let’s start where we left off: wrist is much improved. I can tell I’m missing some flexibility and I doubt it will ever be 100% again, but I’d confidently call it 85%. Have a couple of exercise devices - a gyroscope ball, green putty. Bothers me a little at the end of the day but not nearly as much as it used to.

Late fall / early winter, a major IT undertaking at work kicked off. It’s underway until July. Hopefully the part my team is tied up in will be winding down a little starting in April. I’ve been working from home in the evenings, cleaning up and fixing legacy code. There’s all sorts of amazing things that developers once got away with that the new system won’t allow or handles poorly. Things like the absolute gem I found yesterday, which I’ll replicate in a generic fashion:

int *number;
number = malloc(sizeof int);
number = &someOtherNumber;


Okay, for those of you who don’t grok code, here’s what’s happening:

  1. We are declaring a new variable. This will be called ‘number’ and will refer to integers. The asterisk indicates that we will use this particular variable as a pointer, which means it will store a memory address that points at another value. It starts out undefined - whatever it is pointing at isn’t really valid, and it needs to be initialized.
  2. We are allocating memory, the size of an integer. This will return a memory address, which we store in our convenient new pointer made to hold memory addresses. We could store something here. But instead…
  3. We obliterate the address of the memory we just asked for, which we will never be able to find again, and replace it with the memory address (&) of another variable.


Since we have lost the address of the memory we just asked the system to reserve for us, we can’t tell the system we are done with it, and thus have created a tiny memory leak the size of one integer in memory. Scale this up to the structures in the real code (20 to 100 times bigger) and wrap it in a loop that runs several hundred thousand times, and there’s more than a small bit of memory lost forever (until the program exits, at least).

A lot of the issues are subversive and non-obvious, such as one I tackled today where a function would randomly corrupt the second entry in a list. It looked random until I watched how it added the new item over hundred of iterations, and discovered another bit of pointer magic badness that I won’t bore you with in extensive detail. What would generally happen is that if the function was called with exactly 100 items in a list, and it caused one more to be added, it would get into a weird state because of a leftover pointer, and fill the new entry in the list with garbage instead of the actual data that was supposed to be in there.

The nights and weekends I’m not working from home, I’ve been trying to go to the gym. This winter I hit my highest weight ever and I was starting to see some of those awesome obesity-related health issues - joint and back pain really are the gifts that keep on giving. I enrolled in a work-sponsored program called Prevent, which is sort of an online guided weight loss thing. I also picked up a local gym membership and have started trying to at the very minimum do some cardio via elliptical several times a week. I’ve changed my diet, I cut out artificial sweeteners, so on, so forth.

Mind you, I don’t feel gigantic. I do fit the medical definition of ‘obese’ but I’ve never considered myself as such when I see a lot of people far worse off than I am. Allegedly, I look slimmer than my weight. More than once, people have been surprised when I’ve told them. I’m never sure if they’re just being nice, but in any case I don’t need to look it because I feel it.

However, I am making progress, and I’m happy enough about it to plaster this infographic from my Prevent profile in public:

Screenshot 2016-03-08 23.36.38

Finally, there’s a distinct lack of something I promised months ago, and I need to correct that soon…

Quick update

General | Posted by Derek
Oct 11 2015

Orthopedic specialist referred me to occupational therapy (which I’ve always called physical therapy, but I’m sure there’s a reason for the difference in terminology). Wrist is doing better. I’m still missing a sizable portion of the former flexibility, and the hand strength is abysmal. Uninjured hand can grip his little measuring device at 135 pounds, but the injured one topped out at 47.

After 8 hours at a keyboard for work plus the OT exercises it’s pretty sore in the evenings, and the weekends have been busy with other personal and/or family things. This is actually the first weekend in a while that I’ve been able to get stuff done around my own place.

A couple things I’ve picked up that can be done one-handed or limited two-handed:

  • A combination of factors (several videos shared via twitter, a coworker talking about it on occasion, and a general curiosity about the game’s story) led me to try out EVE Online. It’s not a fast-twitch style game, which is nice because fast twitches really hurt right now. It’s also a big sci-fi sandbox where the players have made most of the rules on top of the basic game universe rules.
    While all of the terrible things everyone has heard are true to an extent (in-game scams, thefts, and so on), it’s part of the emergent gameplay experiment this thing has turned into. Also, and perhaps in despite of that, there are some genuinely helpful people (P.S. Thanks again for the trial key! you know who you are) if you get lucky enough to stumble across them. The major takeaway for the game content and interactions has been ‘don’t trust anyone that you don’t have a reason to trust, and maybe not even then’. I normally give people the benefit of the doubt, and that seems like a good way to get burned in EVE.

  • I’ve been working large tracts of storyline events and out-of-scene history into a timeline tool called Aeon Timeline. Picked it up on a sale a while back and hadn’t found time to figure it out. Since that’s another thing I can do mostly with a mouse and some copy-pasting for context, I’ve been taking the opportunity to learn it and get the timeline more organized, especially since there are chunks where effect precedes cause.


General | Posted by Derek
Aug 31 2015

So, next week presuming all goes well the cast should be coming off. Not sure what the next step is, if there’ll be physical therapy or anything. In any case, I’ll have more info next week.

I’ve found I can type reasonably well with the cast; however after writing code during the day at work, it aches in the evening and I’ve tended to shy away from further keyboard use. Hopefully that can change soon.

P.S. Golf carts are evil