The Twilight Report

Your Home For Snappy Repartee

lp0 on fire

I wonder why they bother teaching concurrency in computer science. There is this funny problem they teach you, involving n philosophers and n forks and a big pot of spaghetti which, if you solve it wrongly, could cause n philosophers to die of starvation. It's a well understood problem, and there are tones of tools to address it properly, most of which have been around for decades on every platform imaginable.

When I was working on parallel abstraction and timing at The Company, I went to a lot of effort to make sure that it worked concurrently. This put me in conflict with people who were too lazy to make sure their code worked properly in parallel. I even tried to make tools to make it easier for them to make code parallel safe, but no, that was too much effort, even though it mostly amounted to using a different class with the exact same interface.

In my current job at s-mart we use a locking mechanism which has an inherent race condition. Which means if something goes wrong it might corrupt data. Admittedly, the odds of that are quite low, but I don't understand why we don't use proper locking (ie. flock), which isn't conceptually any more complicated than the "simple"[1] locking scheme that we use. In my last job at Company 2, we had a similar locking scheme, but it was hand coded, they didn't even bother to re-use the "simple" locking scheme provided by perl for systems that don't have flock[2].

I found this list of the The Thirteen Greatest Error Messages of All Time. I can't help but wonder if a bit more time thinking about concurrency could have kept some of these from happening often enough to make the list.




  1. read as: broken
  2. and even Windows perl has adequate flock emulation now, so why is anyone using this again?
Please leave a comment here:

developer extraordinaire

Today was my first “quarterly update” at s-mart. The very first slide had a bullet that read: “Graham xxxxx Developer Extraordinaire!”; as one of last quarters events was me starting at the company. It was nice to get the recognition. We used to have meetings like this all the time at The Company, but they were always less interesting because I was such a small cog in such a big machine. Now I am a slightly larger cog in a much smaller machine :P When I was working at Company 2 I wasn’t even invited to these meetings. It’s nice to be a person at work again.

Please leave a comment here:

new job

New job starting next Wednesday. I have a good vibe about it. In the interview they were asking me the right sort of questions about Perl. It involves working with Perl in a Linux/SQL/Apache environment which makes me feel like a fish in water. The pay is good too. I will be working hard for the next few months.

I have to think up a secret code name for them. I never really cared for Company 2 as a codename. Nor for the company really.

Please leave a comment here:

hello

One of the automated tasks at work sends an e-mail with “hello” in a randomly selected language whenever it runs. Today it picked “annyong” (Korean), which reminded me of Arrested Development (RIP). Yesterday it had Klingon version of hello, which literally translates into “what do you want?” (Klingon’s don’t see the point in being friendly, I guess). Anyway, it is a nice touch, but why does this stuff always remind me of TV? I don’t even watch TV anymore!

Please leave a comment here:

Dorfstag

The best part, though, was coming back from being away for four days and not having to go back to work the next day!

Please leave a comment here:

Contract

In RiD (One of the recent modern Transformers adaptations), the robots would say “so and so[1] Transform” in an appropriately dramatic voice, because, you know, if they didn’t say it the gears and such wouldn’t operate and they’d be stuck in their previous mode. For some totally unjustifiable reason this caused me to imagine myself saying “Extend Contract” in another suitably dramatic voice, when “David”[2] told me that my contract had been extended until the end of December[3]. My immediate employer called and said that the contract will be in the mail, and I trust them a little more, so it looks like I’m good until the end of the year.




  1. Insert actual Transformer’s name here
  2. of “I don’t trust him any further than I can throw him” fame
  3. ...and of course by the end of December, I actually mean 15 December, because apparently in Australia big business shuts down half way through December for three weeks
Please leave a comment here:

day off

[photograph]

A week ago I took a day off, and wondered around Sydney for the day. It was a nice break from not working all that hard at Company 2; it let me clear my head.

(more)
[photograph]
[photograph]
[photograph]
Please leave a comment here:

Sima

[photograph]

Today, I had coffee with Sima, the young woman who recruited me to work at Company 2. Actually I had a coke, I thought that was somehow less childish than ordering a hot chocolate (I don't do coffee). I retrospect, I don't think so. There was someone else there, also from the company that recruited me. They were asking me how things were, and pumping me for information, trying to gauge if there would be new positions opening up there. I think Company 2 is a bit like the Golden Goose for them. They told me that the folks I'm working for at Company 2 have been happy with the work that I've been doing. This always surprises me, because I don't think I actually work very hard. When I was in the kindergarten and the teacher would say “All right, time to clean up”, while all the other kids were busy putting things away, I was busy looking like I was putting things away. I think fundamentally that unaltered strategy guides me to this day.

Please leave a comment here:

Job Interviews

As a rule, I hate job interviews. I often feel flustered and end up leaving thinking that I have given a pretty poor impression of my ability to communicate. My job interview with Sydney Uni's Faculty of Dentistry was a complete disaster, and it is still fresh in my mind, unfortunately. So it wasn't with relish that I woke up this morning with the prospect of an interview with my current indirect employer: Company 2. Right now I am a contractor, the primary disadvantage to this is no paid vacation or sick leave; there aren't any advantages that I can think of.

(possibly more detail than what you care about)

Yesterday I got one of those e-mail invites to a luncheon for "Rory" who is taking a year off to have a child. I knew of this person, but I didn't know her. Her year off was in fact part of the reason there is even a job for my to apply for. Since I didn't know her and I haven't been feeling especially social lately I let it sit in my inbox.

But back to this morning: For a lot of reasons I have been feeling like I didn't want this job. e.g.

  1. I let someone talk me into applying for the "senior" permanent position which has opened up as apposed to the more technical one year appointment. I think this may have been a mistake because the last thing I feel like is anything resembling responsibility.
  2. Some days I like it at Company 2, the people seem pretty good-natured and the pace of work is reasonable. But there are irritants that continue to get to me. I hate the equipment that I've been given to work with and the way IT is handled at Company 2 (I'm not used to not having administrator privileges on computers that I work on). I realize that I was somewhat spoiled at IBM, and especially so at home, where I have spent more money than I care to admit on my computers, but I am comfortable with the way I've set them up and I am a hell of a lot more productive at home as a result.

On the other hand, one of the positions up for grabs is a permanent one, and that means a fair amount of stability (somebody told me "that means they can't fire you" but I know that isn't true - I remember what happened to Art).

So who knows what I was feeling when I walked into that room for the interview, but I am pretty sure I was past caring if I got the job or not.

To my surprise Rory was there (pregnant lady who is taking off for a year shortly), and she introduced herself and we started to chatting friendly like about things going on at Company 2. It was going pretty well when the department head came in and the interview started in earnest. Experience tells me that everything should have fallen apart here, given how I usually perform in interview situations, but hope won out this round because I feel I not only addressed all of their questions well, but I also addressed some of their unasked questions. They talked about the position and made sure that I understood that it isn't just a programming job, but also involved people skills. I don't have any people skills, but sometimes I can fake it.

I also went into detail about a highly positive experience I had at IBM doing technical legwork for lawyers between when I was on the GUI team and when I was on the Timing team. About how I enjoyed the change of assignment, where some programmers had grumbled, and that I had a good working relationship Tiffany (who is a great person, and I have to believe a great lawyer as well). I think part of what made it a powerful story is the fact that it is so true. In some ways that episode is no more than a footnote on my career, but I think I grew a lot in the way that I interact with people because of it.

After the interview I was looking through my e-mail again and I re-discovered the e-mail invitation to Rory's farewell luncheon. I clicked on "accept" because now I can't say that I only know of her. I guess I haven't completely killed off my aversion to being social. Damn it.

Anyway, to make a long story short, the interview went extraordinarily well to the point that I felt like for the first time ever I hadn't shot myself in the foot in a job interview, and that my poor interview skills for the first time wouldn't be the weak link in my overall application. For the first time, I felt if I don't get the job it is because there is someone out there who applied who is technically more qualified than myself, and I am pretty comfortable with that possibility.

Please leave a comment here:

應龍

Work has been keeping me pretty busy, and while I still find the regime in control of the network at Company 2 to be on the oppressive side, I am enjoying playing with foreign language input methods. I have been tasked with making software tools usable by native Chinese speakers. I have always been interested in how people interact with computers and technology, and when you take away all of the assumptions (which I have always lived with) which come along with English, things become a little more interesting.

(中文 stuff)

My knowledge of Chinese is itty-bitty, but just the fact that I can sort of distinguish different forms of Chinese from each other and from other Asian languages excites me. Maybe someday I will find the time to properly study Chinese. I think it would be a fun and useful thing to know. I almost picked up a Chinese language Sydney paper at the newsagent last night just to study the characters.

Last night I went back to Sydney Uni for "Trivia Night." It was pretty fun, we had pizza and answered trivial questions. The one question I got "wrong" was something that I really should have gotten right. The correct answer was either SGML or HTML, but I was pretty sure that HTML didn't exist in the 1980s (as specified in the question), where as I knew that SGML (on which HTML is based) had been around since the 80s. I just checked on Wikipedia, and sure enough the first specification documents for HTML date back to 1993. The reason I should have known that the "right" answer was HTML is because non-IT people with whom I was playing would be more likely to recognize the term HTML than SGML. I mean, SGML - what's that?

Please leave a comment here: