Jerith online [entries|archive|friends|userinfo]
jerith

[ website | jerith.za.net ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Ubuntu, Erlang and Launchpad [Jan. 31st, 2009|05:11 pm]
[Tags|, , , ]

Ubuntu Hardy has an old version of Erlang. Ordinarily this wouldn't be a problem, but it turns out that R12B (the current release) added a few libraries that I use in my Project Euler solutions. Upgrading to Intrepid isn't really something I want to do at the moment (for reasons that I'll happily discuss over a beer) and language interpreters don't get backported.

This left me with two options: Rewrite my code to not use the new regular expression library and the not-quite-an-array data structure that Hardy's version of Ubuntu lacks or build and install a modern Erlang from source. Fortunately, a little investigation turned up a third: Launchpad's Personal Package Archives.

I was surprised at easy it is to rebuild a deb source package and get it into Launchpad's build system. Since I didn't have to make any changes, it was merely a matter of downloading the source files from Intrepid's Launchpad page, adding a changelog entry to get my own version number and email address (for pgp signing) in there and running a couple of commands to build and upload the new source package.

There are a couple of caveats to adding packages to a PPA, though. It's generally a good idea to at least build and test the binaries locally before uploading. Not only is this polite (in that you're less likely to tie up shared build resources with broken code), it also saves time waiting around for builds to be scheduled only to discover that they're broken. In addition, there's a bit of a lag between Launchpad claiming that a build is complete and the binaries actually being available. In particular, it took quite a while for launchpad to make my i386 packages (which includes all the architecture-independent stuff) available despite announcing a successful build in the web interface.

All in all, I'm very impressed with PPAs. In half an afternoon, I have managed to add custom (sort of) versions of several packages to my PPA and install them on my local machine. Not only that, but they're available for anyone who wants to use them with no extra effort on my part.
LinkLeave a comment

A month later [Dec. 15th, 2008|03:15 pm]
[Tags|, ]

The last month has been interesting, mostly in a good way.

The ups and downs have been mostly ups and the downs haven't been nearly as bad as I had feared. Life's better than it has been for a while. I've kicked a few bad habits and picked up a few good ones. I've lost weight. I've become a morning person, which intrigues me. I still don't enjoy domestic tasks, but now I do them instead of worrying about not doing them. I'm also consuming a lot less caffeine, despite not having had any desire to cut down.

I shall now return you to your regularly scheduled internet.
Link2 comments|Leave a comment

GeekDinner: Karmic Kava [Nov. 28th, 2008|11:40 am]
[Tags|, ]

Last night I attended the most recent Cape Town GeekDinner, Karmic Kava. The venue was Adesso, who really went all out to make it a fantastic evening. The food was great, even though none of the choices on the menu were really to my taste.

I was the slideshow karaoke victim presenter this time around, and Vhata provided me with a presentation he stole from found on the internet. While it wasn't ideal karaoke material in that there was way too much verbiage, I knew the subject matter well enough to pick up a couple of keywords and wing it. The subject in question was Reiki, and my treatment of it would certainly have offended any true believers in the audience, but I'd had just enough sponsored wine by that point that I really didn't care. Most people seemed to enjoy it, though. I even mentioned Laser Reiki amongst the more grandiose claims.

After that, I spent the rest of the evening circulating and ended up in a corner discussing programming languages, editors and distributed systems with a guy whose name I either didn't catch or don't remember. Before I knew it, it was after midnight and time to head home and get some sleep. All in all, my best GeekDinner experience yet.
Link1 comment|Leave a comment

Broken brains and me [Nov. 15th, 2008|10:31 am]
[Tags|, , ]

Some of you good people may have noticed that I haven't been quite myself these last two weeks. This post serves as an explanation.

WARNING: Some of what follows is pretty personal. If I wasn't OK with it being public it wouldn't be here, but if you're uncomfortable with that kind of thing (or perhaps just don't know me well enough to care) you may want to skip this post.

At the end of October, certain things about me were brought to my attention in a way I could not ignore. These were things that I kind-of knew all along, but not really. The biggest was that I'm not really very good at getting things done or following through on my grand ideas. I also have an abysmal short-term memory.

This impetus finally got me to do something I should have done years ago: see a psychiatrist and figure out if there's a medical problem that can be dealt with or if I'm just lazy and inattentive. I think, given the title of the post, that you can figure out which it was.

I have been diagnosed with Attention Deficit Disorder, which is both medically and psychologically treatable. There is, however, a lot of controversy and misinformation about ADD. I won't attempt to clear all of that up here (there are better resources for that than this blog), but I will describe my particular flavour and how it differs from the popular image.

Hyperactivity is very common, especially in children with ADD. So much so, in fact, that the symptom is right there in the new name, ADHD. Since my version lacks this entirely, I'm sticking to the term ADD.

So, on to what I do have. I am very distractible. In fact, while writing this post, I have spent at least half the amount of time since I started wikidiving (while getting the link above), replacing my mouse pad (because the mouse was a little bit jerky), repeatedly checking my IRC client (no activity) and choosing music (settling on Bach). This is what causes me the most trouble.

Combined with this, I have a frustratingly poor short-term memory. I can literally forget, while spending two seconds switching to another workspace to see if I have email, what I was working on. Combine this with the above, and you start to get a picture of my life.

The flip side is that ADD comes with the ability to "hyperfocus" on occasion. I sometimes (rarely) get stuck into something so completely that an entire day can go by without me noticing. The last time I did this, I was updating the code for my website. (It has yet to be deployed and it doesn't change much on the outside. It's much cleaner and more functional behind the scenes, though.) It's what lets me pick up a new programming language in a day or two, when it happens. Sadly, it doesn't happen as often as I'd like.

Over time, I have developed some tools to deal with a lot of this. I incessantly check that my pockets have the right things in them, which stops me forgetting my wallet, phone or keys. I set alarms and reminders on my phone and tend to leave for things early so that I'm not late.

I mentioned before that ADD is treatable. I'm just starting the process of figuring out the right medication, but I'm already seeing results. I'm currently on Concerta, which is basically 12-hour slow release Ritalin. It makes a huge difference, in that I'm able to concentrate on something for more than a minute or two at a time.

Methylphenidate hydrochloride, which is the active ingredient, has two major side effects that are hitting me. I knew both of these (and some of the other that I'm not seeing) going in.

The first isn't so much a side effect as a primary effect. Since the drug is a central nervous system stimulant, it affects sleep. I've had a little more than my usual trouble falling asleep since I started, but I've also been awake and alert before 06h00 every morning. While three data points isn't really conclusive, it's enough of a difference from my usual routine that I think it's significant. It's nice to be up and functional early, but it means I'm sleeping less. It hasn't been long enough to tell if this is a problem, but I'm cautious.

The other is appetite suppression. While this strikes me as something of a bonus, since I really could stand to lose a few kilos, it does mean I have to be better about eating a proper breakfast than I usually am. A morning meal is even more important when you're not going to be hungry for most of the rest of the day.

Aside from the drugs, there are a bunch of psychological treatments. These basically consists of structure and external tools to help keep track of things that most most people do automatically. Calendars and reminders are a big one, and Google is very helpful in this regard.

Probably the most successful tool I'm using at the moment is the humble daily todo list. Having tried various computer-based things in the past, I've settled (for work stuff, anyway) on a notepad and a pen. Part of the reason is that it sits on my desk between my keyboard and my tea, so is always visible. The other part is that the physical act of drawing a line through a task I have completed produces a surprisingly strong endorphin release.

An important thing to realise (and I like to think I'm less guilty of this than many) is that a reason is not the same as an excuse. I now know why I'm so horrible at getting things done, but it doesn't absolve me of the responsibility to actually get things done. It does, however, give me the understanding necessary to build the support structures that will help me deal with it more effectively.

That's about all I have brainspace for at the moment, and this post is certainly long enough already. It hasn't been an easy couple of weeks, but it has been necessary and long overdue. The future is looking better than it has in quite some time, but the short term adjustment period is likely to be fairly rocky.

I shall leave you with an amusing analogy I keep attributing to the wrong person (it was about him, not by him): The ADD Stove.
Link10 comments|Leave a comment

NaNoWriMo and me [Oct. 15th, 2008|09:58 am]
[Tags|]

I have long watched that National Novel Writing Month (affectionately dubbed NaNoWriMo) with interest. Every year I have a mild urge to participate, mostly out of the knowledge that I don't write nearly enough. This year I shall be participating, although not in the traditional way.

I don't have a novel in me at the moment. I also don't think I have the time to write an average of two thousand words a day. I do have several short stories trying to escape my head and I think five thousand words a week is doable. Thus, NaSTWriMo is born. I shall write one story per week in November and actually let people read them (which is a slightly terrifying thought). I won't make them publicly available (because that may be an issue if I ever decide to try to publish one of them) but if you're interested in proofing, editing or criticising, drop me an email (or comment on this entry) and I'll make sure you get whatever I have written at some yet-to-be-determined time.
Link1 comment|Leave a comment

A reply from Audible about DRM [Sep. 22nd, 2008|04:44 pm]
[Tags|, , ]

As mentioned in my post entitled A note to Audible about DRM, I wrote to Audible about the DRM in their audiobooks. I have since received a reply:
Dear Jeremy,

Thank you for contacting Audible.com. On its behalf, I would like to apologize
for any inconvenience and I am most committed to satisfying and resolving your
inquiry to the fullest of my abilities.

As per your email, I can understand how the DRM can cause such an inconvenience
to customers, and that others have found a way to work around the DRM which
seems to be listed online. However to further elaborate on the DRM, it is
important on our end to support it because majority of publishers would prefer
their content to be protected. You see without the DRM we would not be able to
distribute the majority of our 50,000 titles.

Now as for Amazon, I personally have not heard anything about us dropping the
DRM, due to a high volume of complaints. So I do apologize, but since I haven't
heard of anything, I would not honestly be able to comment on this rumor. Again
thank you for contacting us here at Audible and have a great day!!

Here at Audible, we truly value and appreciate your business; if you need
further assistance, please respond to this email or if you wish, please provide
me with a contact number and the best available time to reach you.

For additional questions, how to contact us and hours of operation, please
visit us at: www.audible.com/contactus

Sincerely,
Reggie M.
Audible Customer Support

It seems that, as expected, nothing is going to be done about the situation. This is sad, since I would probably spend quite a lot of money there if I were allowed to.

Ah well, there are still wonderful places like Escape Pod, Pseudopod, Podcastle, Variant Frequencies and Podiobooks where I can get high quality audio stories.
Link1 comment|Leave a comment

The political compass [Sep. 19th, 2008|12:26 pm]
[Tags|, ]

Recently, there has been a spate of people taking the Political Compass test. Much of this has been spawned by the Political Compass graph generated by Michael Gorven.

More recently, Jonathan mentioned that while the scores are interesting (note particularly the leftist libertarian clustering of most of CLUG) it would be far more interesting to have people display their answers along with their reasoning. Since I had a bit of time on my hands (in short bursts) I have done this.

Behind the cut, because it's rather a lot of text )
And now the result:
Economic Left/Right: 0.12
Social Libertarian/Authoritarian: -3.38

Over the last year and a half or so, I have wandered around the graph about a third of the way down the Libertarian axis and partly into the Right. This is the most Liberal I have ever been, though. I blame those hippies I associate with every Tuesday night and often in between. Seriously, I suspect a lot of it depends on my mood at the time and I'm vacillating between normal and strong responses on a couple of issues, mostly around regulation.

Feel free to comment on my answers. I'd also like to see other people do the same thing, so drop me a note if you do.
Link1 comment|Leave a comment

A note to Audible about DRM [Sep. 17th, 2008|10:29 am]
[Tags|, , ]

A while ago, I signed up for a subscription with Audible, the internet's leading retailer of audio fiction. Due to DRM issues and my inability to actually listen to their books except under very limited circumstances, I canceled my subscription shortly thereafter. Since then, they have periodically sent me emails with special offers in them to tempt me back. Here is my response to the most recent:
Good day,

I keep receiving special offers from Audible which appear to be designed to
regain me as a customer. I signed up several months ago in response to an
advert in some podcasts I listen to[1] and was very pleased with the audio
quality and production values of the books I purchased.

However, the DRM restrictions placed on the books required me to change
operating systems and listen to the books on my computer rather than my mobile
mp3 player. Since I primarily listen to audiobooks in the car and at gym, this
is a deal-breaker for me and the reason I canceled my subscription.

The fact that DRM doesn't really work is common knowledge. A brief Google
search yields a number of ways to strip Audible DRM protections from
audiobooks, but all of them require more time and effort than I am willing to
expend. This means that the DRM isn't stopping the pirates (since they are
prepared to put in the effort) but it is stopping legitimate customers, such as
myself.

I believe an Amazon spokesperson has said that if enough people complain,
Audible will consider removing the DRM on their audiobooks.[2] I would very
much like this to be the case. In their current form, Audible books just aren't
very useful to me.

I intend to post the contents of this email on my blog[3], and would like to
post any response I receive as well, although I will obviously respect your
wishes should you ask me not to.

Thank you,
Jeremy Thurgood

[1] Escape Pod (http://escapepod.org), Pesudopod (http://pseudopod.org)
    and Podcastle (http://podcastle.org)

[2] Via Cory Doctorow on BoingBoing:
    http://www.boingboing.net/2008/01/31/amazon-buys-audible.html

[3] http://jerith.livejournal.com/


I don't really expect a useful response, but hopefully something will be done. As mentioned in the letter, I shall post any response I receive unless they ask me not to.

Update: I have received a reply from Audible
Link4 comments|Leave a comment

A very disturbing newspaper article [Sep. 11th, 2008|10:36 am]
[Tags|, ]

... but not necessarily for the reason you think.

Go read this article on IOL entitled "Big Bang experiment marred by suicide" and consider what the most obvious worrying thing in it is.

Done? Good. To me, the following quote did it: "Large Hadron Collider (LHV)" (emphasis mine). Sure, the factual errors and minor dissemination of FUD in the article are a problem. The media fixation on a non-existent doomsday threat is a problem, but the girl mentioned almost certainly had far bigger problems that could have been triggered by anything.

The fact that a major news agency cannot be bothered to properly proofread an article that they're placing before millions of eyes makes me question their competence in everything else they do. I wouldn't care so much if this were a once-off, but it seems to be happening a lot recently.

Update: Looks like they fixed it. See my comment below.
Link2 comments|Leave a comment

Better late than never [Sep. 3rd, 2008|09:36 am]
[Tags|, , , , ]

It has come to my attention that it has been far too long since I last wrote in here. Sorry guys, been far too busy living life to write about it.

I hate those all-in-one-post blog entries that just contain point-form activities, so I'll do mine in paragraphs in random order. (Which is only slightly better.)

The jazz band has started up again (first real rehearsal tonight) for a gig on the 12th at Kirstenbosch. I don't have any further details, but it's going to be a good one. I only realised during last week's trombone section rehearsal how much I missed Wednesday night jazz. The Dukes band is fun, but the music isn't as challenging (some of it is downright boring, actually, but we need to do it) and we usually have big gaps where we're missing instruments.

I have been domesticated. I now own a pot and a pan and am actually cooking myself breakfast most mornings. Usually eggs on toast and such, but today I experimented with fried onion as well. I need to tune the herbs I add (basil and thyme were handy, but not that great) and reduce the quantity (a whole onion is too much) but it's an overall win. One of these days I might be able to actually cook some proper food. (Mom, if you're reading this, this paragraph is a lie. I eat muesli and yoghurt for breakfast and cook marvelous and healthy suppers every night.)

In the last month or so, I have watched most of Doctor Who (the new version) and Torchwood. Definitely near the top of my list of things I really want there to be more of.

I have received two emails about my Erlang stuff. One was a wonderful ego-boosting thank-you and the other seemed to be a question in a language my browser refuses to display except as hex-runes.

On browsers: I finally updated to Firefox 3 on my primary machine. Two things had been delaying this. Two extensions I really struggle without (Chromatabs and Tab Mix Plus) didn't have fx3 versions. They both now have beta versions (although in the case of the former it's actually a new extension). Fx3 really struggles with malformed certificates and won't let you add an exception to visit the site anyway. I think this is still the case, but the one site I relied on with a broken cert has finally fixed it. I quite like the new UI. The biggest win has to be that auth windows and plugin loads no longer lock the whole browser, something that had really irritated me in fx2.

Tomorrow morning shall see me giving my flat a much-overdue clean in preparation for the arrival of a houseguest. I should probably finish putting up my last blind, too. ([info]pkeike, if you're reading this, ignore this paragraph. My flat is always spotless and I did nothing special to prepare for your arrival.)

And now, a rant:
Dear Google, please give me a version of Chrome I can actually use. I realise that most of your userbase is quite happy with a Windows-only version, but some of us prefer an OS that isn't actively hostile. At the very least, can we have one that works in wine By alienating a large class of free-software developers you're not buying any favours. Yours, $linux_lad.
Link3 comments|Leave a comment

Ruby again, part two. [Jul. 17th, 2008|07:58 am]
[Tags|, ]

This is a continuation of my previous post, based on new information.

I shall quote [info]chalain directly:

<Chalain> It's a combination of two things.
<Chalain> 1. Ruby allows you to drop the semicolon if a statement parses to a complete expression. So the 3+2 gets parsed as an expression.
<Chalain> 2. "Everything returns" in Ruby. Like most languages, you can accumulate return values on the stack, and they get ignored.
<Chalain> So
<Chalain> (3+2; +4) is a legal expression. It returns 4.
<Chalain> A legitimate use of this would be, for example, (puts "It broke!"; logger.error 'It broke") if x>0

So, it's deliberate behaviour rather than a parser snafu. I am still of the opinion that it is broken, I have just changed where I'm pointing. I don't think parentheses should be used in this way. There is a perfectly good multi-expression conditional syntax, and it puts the if at the beginning rather than the end. Parentheses should enclose a single expression only rather than trying to be braces or begin/end as well.

Ruby is full of little things like this, where small wins and "it would be nice" features litter the language with booby traps.
Link1 comment|Leave a comment

Ruby again. This time the parser. [Jul. 16th, 2008|05:16 pm]
[Tags|, , ]

Disclaimer: The following was written while I was furious and frustrated. Please bear this in mind if anything offends you.

Until I came to my senses, I had actually fired up an editor to update my CV so I could find a job that wouldn't require me to fight with the festering pile of yuckiness that is Ruby. Consider the following irb session:
>> (1 + 2 +
?>     4)
=> 7
>> (1 + 2
>>   + 4)
=> 4

As far as I can tell, if the linebreak results in two valid expressions, the first is thrown away and the second is used. Why this is the case, I have no idea. All I can surmise is that whoever wrote that bit of the parser was smoking crack. The fact that this hasn't been picked up and fixed just demonstrates that the Ruby community completely fails to care about quality. I can't even find reference to it on the internet.

Ruby has long been way down on my list of languages to use. It has just dropped into the same class as PHP and Visual Basic. Congratulations, Ruby. I didn't think you could get worse. You did.

Edit: This saga continues in a new post.
Link4 comments|Leave a comment

Zimbabwe sanctions... or not [Jul. 12th, 2008|10:11 am]
[Tags|]

Have a look at the following BBC news article:

http://news.bbc.co.uk/2/hi/africa/7503135.stm

Now consider this. South Africa had sanctions imposed (and rightly so) because a legally elected government was oppressing part of its population. Zimbabwe doesn't have sanctions imposed because an illegal government is oppressing all of its population?

This whole thing makes me sick and is a reminder of why I should stay as far from politics as I possibly can.
Link1 comment|Leave a comment

Don't bring thin skin to the internet [Jul. 2nd, 2008|07:14 pm]
[Tags|, ]

I had an all-too-frequent argument this evening. This resulted (as it occasionally does) with the other person storming off in a huff, all offended. The conversations usually goes something like this:

Him: I like $broken_technology.
Me: $broken_technology is very seldom a good idea. Why do you like it?
Him: Because $common_misconception.
Me: Actually, that's a common misconception. $correction.
Him: But are there any $not_broken_technology things that do $common_misconception_thing.
Me: Yes, plenty. For example, $thing.
Him: Um, but $other_misconception.
Me: Actually, $other_correction.
Him: You people are a pack of technobigots! *storms off in a huff*.

Part of the problem is that I suffer from SIWOTI Syndrome. I find it incredibly difficult to just let people sabotage themselves because they believe something that is not true. Part of the problem is that I want to teach people to think rationally about their behaviours and motivations, because it's the only way to avoid muddling around in a fug of lies and excuses. Part of the problem is that I get too emotionally invested in trying to better the lives of strangers when I can see exactly where they are making their mistakes and have the data to back it up.

Also, to be perfectly honest, I like to be right. I like to dispense wisdom. I enjoy being the expert people come to when they have a programming problem. Being the authority is nice. It makes me all warm and fuzzy when people do something better because of advice I gave them.

The real problem is that people don't like to be wrong. Thinking is hard. The misconceptions are comfortable old friends. The work they have done under those misconceptions represents effort that they may need to throw away. This makes people defend their misconceptions. It also makes them see an attack on a misconception as an attack on them personally.

This is where the subject comes in. As soon as you take anything on the internet personally, you're opening yourself up to pain. It hurts me when my laboriously collected wisdom is written off as bigotry. It hurts you a lot more when you take a request for data backing up your assertions as "getting ganged by zealots".

I don't really have a good answer. I could probably be a bit more diplomatic, but it's difficult to say "you're not making sense" in a way that doesn't offend those with delicate sensibilities. I could just ignore people being wrong, but occasionally I do enlighten some poor soul who has merely been led astray by the propaganda machines and is capable of becoming a useful and productive member of the community. (That's not to say the others aren't, just that they need to shed some ego first.)

Another side effect of my SIWOTI is that I often come across as arrogant. Sometimes this is me misjudging the level at which to pitch my explanations and coming across as patronising (if I pitch too low) or elitist (if I pitch too high). Then if I ask a few questions to judge background, I'm interrogating instead of helping. Sometimes it's because I tell people they're wrong. If I kept quiet or only answered the questions asked, even when they pointed to deeper misunderstandings or flaws, I could avoid these issues. But then people would keep being wrong. And we can't have that.
Link5 comments|Leave a comment

Idiocy on residential roads [May. 18th, 2008|10:58 am]
[Tags|, , ]

Dear white minibus, registration CA 688-820,

Stopping on the side of the road (even the wrong side of the road) while the driver goes into a house on a residential road is fine. Doing so next to the only other parked vehicle on the other side of the road, leaving a space too narrow for anyone to drive through is, however, antisocial to the highest degree. Doing this when there is no alternative route that does not require getting back onto a busy main road is positively psychotic.

No love,
Me.

Further to the above, a note to the pedestrian who stopped on the corner, looked at my car with its indicator on, and then proceeded to cross the road I was turning into just as I turned into it: The only reason I stopped is that I don't want to have to deal with police on a Sunday. Next time, you will be run over.
Link2 comments|Leave a comment

This one isn't really Ruby's fault [May. 15th, 2008|07:04 pm]
[Tags|, ]

Consider the following regular expression, designed to validate a tab-separated string and extract data from it:
>> t = "a\tx\tb"
=> "a\tx\tb"
>> re = Regexp.new("a\t\S\tb")
=> a    S       b
>> re.match(t)
=> nil
>> re = Regexp.new("a\t[^\t]\tb")
=> a    [       ]       b
>> re.match(t)
=> #<MatchData:0xb7e57c90>

This, at first, had me glaring at the docs for Ruby's regular expressions to make sure \S was implemented as I expected. The second version was more restrictive, yet it matched where the first version failed. After a few minutes' fuming, I got the inklings of an idea and tried the following:
>> re = Regexp.new('a\t\S\tb')
=> atStb
>> re.match(t)
=> #<MatchData:0xb7b411dc>
>> re = /a\t\S\tb/
=> atStb
>> re.match(t)
=> #<MatchData:0xb7ae8c1c>

Then it hit me. See, Ruby double-quoted strings interpret escape chars. The reason \t worked above was pure coincidence -- it evaluates to a tab literal, which is treated the same as \t in a regex. Thus, in my original case (turning a bunch of strings into regexen) I could use single-quoted strings if I didn't have to interpolate values into them. Unfortunately I do. For reasons unrelated to this post, I can't use regex literal syntax which allows interpolation but does not evaluate escape characters.

Once again, Ruby foils me. This time, however, it managed to foil a righteously indignant rant about regex escape sequence handling. Go figure.
LinkLeave a comment

Another open letter [May. 1st, 2008|09:15 pm]
[Tags|, ]

Dear people at Landis+Gyr,

Thank you very much for selling my landlord one of your remarkable prepaid electricity meters. Since it is a remarkable meter, I shall remark upon it. Hence this open letter. The particular unit upon which I shall remark is a CASHPOWER CIU 3.

This unit has a marvelous feature whereby it will helpfully beep at you loudly when it thinks you need to buy more electricity. What is not quite so marvelous, however, is the time period during which it decides to do this. I have let my electricity supply run low enough to trigger the warning twice. The first time, I was awoken at about 03h30 and the second 01h45. Now, while the fact that I have a mere two days' credit left may be dire enough to warn me, doing so at a time when I am entirely unable to go out and purchase more seems somewhat counterproductive.

In an effort to figure out just what triggers this warning, I sought documentation, as any rational member of this technological age would, on the internet. I came up with absolutely nothing of any use to me. I suspect some kind of internal counter is being checked, since my usage was different both times and the offending credit remaining was approximately 32kWh.

While I am on the topic, it would be much appreciated if future versions of this device would include a backlit display so that when one is dragged from bed by the insistent call of the electricity meter, one does not have to fumble for a light source before investigating.

Also, the cheery little tune played when new credit is entered does not make up for the interrupted sleep.

Yours,
jerith
Link4 comments|Leave a comment

The Great Train Jol [Apr. 28th, 2008|06:06 pm]
[Tags|, , ]

A week or so ago, a certain Jonathan decided it would be a good idea to take the train down the peninsula and have a day of fun and relaxation on the public holiday. Since I live about 150m from the Diep River station, I was the last person to hop on the train as it headed south and the jol1 was already in full swing. We enjoyed the relaxing trip down to Kalk Bay, although there was the occasional mild panic to figure out which station we were at to make sure we didn't overshoot.

We got to Kalk Bay at around 10 and went wandering down to the pier to look at the fishermen and watch the seals playing. When we got tired of that, we found a coffee shop/restaurant/eatery that purportedly sold sushi (although we were too early for that) and breakfast (although we were almost too late for that) and beer (which was warm). I held out and had a coffee first time around, but snagged a spare Windhoek with the second round when the waitress brought too many of those and not enough Heinekens. After some juggling of varying-denomination paper money, we had the bill paid and train fares sorted out. (Jonathan had bought a stack of tickets, we needed to repay him and he needed to dish out some change.)

After that, some of us headed down to the bookshops and antique dealers and browsed a bit while the rest went and did their own thing. We were starting to get peckish, so we arrived at the Brass Bell about 45 minutes early for our lunch reservation. Our table was ready anyway, so we had more beer and waited for the other half of the party to catch up before we did the food thing. There is an unwritten rule that when you go to Kalk Bay by train, lunch is fish and chips. Graham missed this somewhere, and had to send his burger back to be reheated.

After lunch, we got back on the train and went to Simonstown. We wandered around a bit and ended up at a place where they do awesome ice cream. I don't know about the ice cream, but they do really yummy pancakes. After chilling there for a while, we marched back up to the station and caught the train back home. My jol ended a bit prematurely when I got off before anyone else, but it was an awesome day nonetheless. We really should do this more often.


1. For readers abroad: The word jol, like the word kief, is a generic South African word. It refers to having a good time and is used in any context. "I am going on a jol (party)." "I am having a jol (good time)." "That spectacular wipeout at Super Tubes was a jol (rush)." -- Surfrikan Slang
Link2 comments|Leave a comment

On Ruby [Apr. 22nd, 2008|10:00 am]
[Tags|, ]

A programmer I admire greatly twittered the following today:
Dear Ruby haters: I used to be afraid of the table saw until I learned how to use it safely. This did not involve nerfing the table saw.
I have great respect for this man, but we have a fundamental disagreement about a language he uses by choice and I use by necessity. I have a bunch of disagreements with the language, but my real problem is with the community. To continue with the power tool analogy, Ruby is a table saw with all sorts of dangerous fittings on it. It is powerful, and in skilled hands it can be exceedingly useful. However, part of the power is that it is easy to replace bits of the drive train or add extra blades as requires. Now, this is a non-issue in skilled hands. The problem is that many of the extra fittings and modifications are not built by skilled hands, including the manufacturer-supplied brand-stamped officially-approved ones. These dodgy fittings usually work fine, but can occasionally unleash a maelstrom of whirling metallic doom.

Back to reality from the analogy. The Ruby culture seems to value "clever" code and metaprogramming even when there are better alternatives. Individual programmers or competent teams can overcome this bias, but eventually they are going to want to use third-party code or some of the darker corners of the standard library. This is where the pain really starts.
Link10 comments|Leave a comment

SMS spam insanity [Apr. 10th, 2008|04:42 pm]
[Tags|, , ]

I received the following SMS today:
Need airtime?Buy it with your Visa or Visa Electron card at most supermarkets. No need to draw cash- U get 1 eXactcredit-To stop msgs,sms STOP SMS to 32227(R1)

Firstly, this is pure spam. Secondly, they want to charge me to use a premium service to remove myself from their list. This is, to me, completely unacceptable.

I did some research. It turns out that there is an organisation called WASPA that deals with Wireless Application Providers. Their list of members includes eXactmobile, which seems to fit the message ("eXactcredit"). They also have a code of conduct, from which I have copied the (abridged) relevant part:
5. Commercial communications

5.1. Sending of commercial communications

5.1.1. All commercial messages must contain a valid originating number and/or the name or identifier of the message originator.

5.1.2. Any message originator must have a facility to allow the recipient to remove his or herself from the message originator’s database, so as not to receive any further messages from that message originator.

5.1.3. Any mechanism for allowing a recipient to remove him or herself from a database must not cost more than one rand.

5.1.7. Upon request of the recipient, the message originator must, within a reasonable period of time, identify the source from which the recipient’s personal information was obtained.

5.2.1. Any commercial message is considered unsolicited (and hence spam) unless:

1. the recipient has requested the message;
2. the message recipient has a direct and recent prior commercial relationship with the message originator and would reasonably expect to receive marketing communications from the originator; or
3. the organisation supplying the originator with the recipient’s contact information has the recipient’s explicit consent to do so.

5.3.1. Members will not send or promote the sending of spam and will take reasonable measures to ensure that their facilities are not used by others for this purpose.

5.3.2. Members will provide a mechanism for dealing expeditiously with complaints about spam originating from their networks.

This message is definitely spam and, although the opt-out message meets the WASPA requirements, I see a paid unsubscribe mechanism as extortion.

I have contacted both eXactmobile and WASPA (the latter because I am not entirely certain that eXactmobile is the culprit). Updates when I hear from them.

Update: eXactmobile phoned me, and have removed my number from their db. It turns out that I was in there because I signed up for something five years ago and didn't uncheck the "you're allowed to send me crap" button. Go figure. Bonus points to WASPA for sorting it out quickly.
Link1 comment|Leave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]

Advertisement