Steve's bug hunting. So am I, and the bloody ILE debugger doesn't let you add a conditional breakpoint depending on two fields' values. IBM left this feature out deliberately to piss me off.
Logging settings changes? What a good idea! When it comes to logging, less is not more; less is, in fact, less - more is more.
We use log4j to log everything in sight, with a DailyRollingFileAppender to keep from taking up too much space. We do get some pretty hefty log files, though, so we use Tail for Windows to keep an eye on them in real-time, or Python (what else!) to trawl through them if we are looking for something in particular.
Via Joe Grossberg.
Hey, while we are doing music; a happy birthday to pocket sized pop temptress Kylie, 36 today.
Python 2.3.4 is out.
This is good, but not terribly exciting; Python 2.3.3 worked just fine for me, as did Python 2.3.2, Python 2.3.1, Python 2.3 and, come to think of it, every other final Python release I've ever installed.
Cross Platform Open Source more successful? "Python is another language that runs nicely on many platforms and does a great job of making life easy for Windows users. ... Perl, by contrast, seems to have reached it's ceiling in terms of uptake. Outside of ActivePerl think it's fair to say Perl puts *Nix first - perhaps that's the problem."
Death's too good for her, if you ask me. Let's hope Archie gets it next...
Via mad musings of me.
I've not seen Emin's tent. Now I never will. A shame, but conceptual art's a funny thing. It's the concept which is important, not the execution, so I'm not sure how much it matters.
I suspect that it matters rather a lot to Saatchi's insurers, though. ;-)
This morning's Metro (spit) referred to it as "Tracey Emin's Sex Tent", totally missing the point. Phillistines.
Since Sydney is a bit far to go for a beer, no matter how good the company, I'll be meeting Steve next Wednesday (the 2nd) evening at The Marquis of Granby. All welcome - but if you fancy coming, get in touch, and I'll bung you my mobile number. We don't know The Marquis of Granby. If it's rubbish, we'll go elsewhere.
Phoenix Firebird Firefox is my browser of choice these days, but I keep IE around, too. Like it or not, you have to test with it. The vast majority of people use IE, so any web apps you write have to work under it. It's no good pointing out that your lovely code is failing 'cos of an IE bug; you just have to work around it.
(Also, we have an internal timesheet system which isn't too chipper under Firefox. Nothing to do with me, I assure you.)
I use IE View to open IE from Firefox; you just right-click on a page or link in Firefox, and the context menu includes a handy little 'open in IE' option. It seems that doing the same thing the other way isn't too tricky either: Extending the Internet Explorer context menu.
Taskbar Commander - "Only for the most eccentric of Windows users". That'll be me, then.
Well, I have at least some of the attributes, according to Ian: makes mistakes, tick; opinionated, tick.
I have laziness, impatience, and hubris, too, and plenty of them.
For the benefit of any American readership that I might have; 'tick' is English for 'check'.
Two and a half years ago, I suggested that my company publish an industry news feed, and build a feed reader into the web applications that we build for our clients. Most of our clients are in a very vertical market, so this could have flown, I thought - we could have delivered useful news, and slipped product release information in there too.
Did my company pick up this idea and run with it? Did they buggery.
Well, it appears that it wasn't such a stupid idea after all. Even Bill Gates thinks that blogs are useful business communication tool now.
This is distinct from the plogging idea I mentioned recently, BTW. Plogging is the use of a blog as an internal communication tool - Gates was talking about using them as external communication tools, too.
Finally, they are system testing the code I've written and unit tested over the past couple of months.
They've tested two out of eleven modules so far. One passed first time, and one had a single field set incorrectly - a 10 second change. Plus 10 minutes struggling with the change control system, naturally.
This is a worry. There has got to be more wrong than this, surely?
Still, I'm sure that there will be some major screw ups further on.
And don't call me Shirley.
Message ID . . . . . . : MCH1202 Severity . . . . . . . : 40
Message type . . . . . : Escape
Date sent . . . . . . : 20/05/04 Time sent . . . . . . : 14:28:11
Message . . . . : Decimal data error.
Cause . . . . . : The sign or the digit codes of the packed or the zoned
decimal operand is in error. Valid signs are hex A-F, valid digit range is
Good point - but I don't want the docs in a seperate download, either. How about having a batteries-included download with all three; binaries, source, and documentation? That's what I want.
If this ends up being really big, you could have a light binary-only download available too.
If this doesn't call for a humanitarian air-lift, nothing does: Norwegian beer supplies at risk.
Lucky you're not a monk, Mum - A bhikshu who has his private e-mail account with the result that he spends an inordinate amount of time in making unnecessary communications or communications which foster attachment commits an offence for which he must express regret.
Lucky I'm not a monk, too, I suppose. Besides, my existence is monk-like enough as it is. :-(
Firing "warning shots" at a crowd - with a tank gun. Not even the Israelis can justify this, not even to themselves, surely?
Looks like the Yanks are trying to keep up, though.
Some chap had his finger bitten off by a jaguar after sticking his hand into its cage - and the zoo banned him for life.
Why ban him? I suspect you'll find he's learned his lesson.
Via Boing Boing.
Update 21st May: The Computer Weekly coverage is good: European Council approves 'controversial' software patent draft directive.
A rose by any other name might well be bloody confusing. Naming is important. Sam writes about this in The importance of naming. I thought I'd point out Hacknot's fabulous Naming Classes - Do It Once And Do It Right.
God Hates Fags? Do people really believe this stuff?
(Oh, BTW, don't for a moment think that I'm tarring Christians in general with this brush - I'm well aware that these bigots are a tiny minority.)
The House of Commons has been suspended during Prime Minister's question time after what appeared to be purple powder was thrown at Tony Blair. How the hell did the perpetrators get past security? That powder could have been anything. Given the current state of terrorist alert, it's staggering that this could happen.
As for Fathers 4 Justice, well, I have some sympathy for them. I'm not in their shoes; I'm a seperated father, but I get plenty of access - most weekends, in fact. But I very easily could have been, so I have a good idea how they might feel.
But this was just plain stupid.
Why it's in the US's best interest to start taking note of international law: We're Number Seven!
Jez is having a play with Python.
He's not getting on with Dive Into Python. Well, I learned from Instant Python, and from the Python Tutorial which comes with the distribution. The first is a very quick overview, and the second is as in-depth as you could ask. Give these a bash, Jez, and see how you get on.
I liked the look of Dive Into Python, I must say, but when I used it as the basis for teaching some Python in-house, I found that it didn't really fit my brain. It introduced things in what seemed a strange order to me - list comprehensions before loops, for example. Maybe that's just me, though - I have no history with functional programming.
Other good resources - well, never forget comp.lang.python, also available as the Python-list. The Python community is one of its major assets. Also, the Python Cookbook is a great source of examples and snippets.
Speaking of which - try
import this from a Python interpretor.
There, that's more than enough to get you started...
The Virtues of Chitchat - A modest proposal for using blogs to keep IT teams and management up-to-date on implementation.
We did this three years back, running Squish on Zope. But The Powers That Be made me take it down - we were collecting lots of useful data on software they didn't trust, and they were afraid it might all got lost. So, instead, we just used email for everything. And it all got lost.
It's only May, and already it's too hot.
Still, this seems to induce young ladies to wear less clothing, so it's not all bad.
I'm still on client site, so I missed the warning email. It wasn't until brunningonline.net disappeared that I know there was a problem. Sigh. All OK now, though.
One problem - this module's
come from statement doesn't support arbitrary targets; you can only come from a label. This would be much more
deadly useful if you could come from anywhere - though I haven't a clue what the syntax for this might look like.
comefrom line number?
Additional reading: Go To Statement Considered Harmful, the "first salvo in the structured programming wars", and Goto Considered Harmful - "Twenty rats in a control group were fed a normal diet, while twenty other rats were forced to program in Apple BASIC".
"Acquiring the rights to the Iliad was very expensive" - very sharp, Cory.
Am I a pedantic arse?
I know I'm abusing it when I use it to hide rude messages in peoples' names, but that's another matter entirely...
Talking of mind boggling - you'll be able to get around the UK's proposed ID card system, provided that you are willing to lie about who you are. Andy'll love this.
Bank Holiday Fridays are bad enough...
JProbe Freeware now available - get it while it's hot!
Me? I couln't care less. I'm still running MT version 2.11, so you can see I'm not bound to upgrade. Even if I did, the free version would suit me fine. One shoddy blog, one shoddy author. Even if it wasn't, I'm happy to pay for good software. (I expect to get paid for mine, after all.) Even if I wasn't happy to pay, there are plenty of alternative platforms to move to. And even if there weren't, well, I could always write my own.
Via Boing Boing.
Just for the day, though. I'll download about a million things, burn a CD or two, delete about a million emails, and have lots of beer and curry for lunch. Lush.
Oh yes, and move desks. :-(
My brother works in a hospital - I wonder if he can get me a drip?
The demise of Hara-Kiri computing: A non-specialist might conclude that all the what-if analysis is aimed at ensuring that the system can detect and then recover from errors gracefully. However, in the vast majority of cases, this is not what is motivating the development team. Instead, the name of the error handling game is to detect errors and then *die* with as much grace as possible. The emphasis is on graceful death, hara-kiri style, rather than graceful error detection followed by correction/resumption. Nicely put.
Via Sean McGrath.
PyOne - oooh, nasty. In a good way.
If you are in London and you've not been to the Lichtenstein exhibition, get your skates on - you've only got four days to go!
I was there yesterday, and I found it really interesting. Original paintings often look very different from the reproductions you usually get to see, but rarely is the impression you get so radically different as I found looking at Lichtenstein's work close up. Up close, big, the Benday dots have a strange effect on the eyes. It was interesting to see how some of these pictures were constructed, and I get the feeling that some of his work was as much a piece of experimentation with different techniques as it was an end result. Rouen Cathedral Set V springs to mind here - up close, each of the three appears to have been painted using a variant techniqe. I'd never have spotted that from a repro.
Also, while I was familiar with Lichtenstein's work from the 60's and 70's, I's not seen his more recent work. His Chinese-influenced Tall Mountains from 1996 (which I can't find on the 'net) was particularly impressive.
As the days go by, we are hearing more and more about appalling human rights abuses by coalition troops in Iraq, both American and British. (Whether the Mirror pictures are genuine or not is pretty much irrelevant, so far as I'm concerned. The pictures themselves may well be fakes, but abuse certainly took place.)
Now, clearly, there is no excuse for the perpretrators of this kind of thing. They should feel at least partly responsible for the killing of Nick Berg. Nevertheless, I think it's important to establish whether this abuse is just the result of a rogue element being poorly managed as General Taguba claims, or whether it was encouraged from the top.
I suspect the latter. The US turned its back on the Geneva Convention some time ago, as their treatment of prisoners at Guantanamo Bay shows. And Geoffrey Miller, the man who ran Guantanamo, now runs Abu Ghraib prison.
For some reason, I seem recently to have needed to code a number of functions which take a list of strings as an argument:
setText(aWindow, ['a line', 'another line'])
You often need to pass only one string in, though, and I coded my functions such that you could do this in a 'natural' way:
setText(aWindow, 'just one line this time')
I coded this as follows:
def setText(window, text, append=False):
# Ensure that text is a list
text + ''
text = [text]
# Rest of funtion, which can assume that 'text' is a list of strings
Robin Munn suggested an improvement to this:
text + ''
test = [text]
Nice. In my version, I'd have a problem in the (unlikely, but not impossible) case of
test = [text] throwing a
It's not a huge improvement, true, but I like it. A day in which I learn to improve is a day not wasted.
Nerd Attention Deficiency Disorder - this is just so me. Not just the 14 browser-tabs and 10 windows bit, but also the bit about hating people mucking about with your desktop.
I also like to run my desktop at a very high resolution with very small fonts. Is this another NADD symptom, or is it my own personal quirk?
I seem to have forgotten my mother's birthday. :-(
Happy Birthday, Mum!
It wasn't until she rang me up to say hello that I remembered. Not good.
Time for a new one, when I can afford it.
Before going to yesterday's talk, I had to have stern words with my father. The Dave Spart in him is a bit partial to conspiracy theories - including the ridiculous the Moon landings were faked theory. I pointed out that to raise these with Dr Scott would be tantamount to calling him a liar. Anyway, this theory is comprehensivly debunked by Bad Astronomy and Did We Land on the Moon?.
(Hmmm, on the other hand, perhaps there is something fishy going on...)
I've not built a GUI in Java since I learned about Eclipse's GUI builder - it's been web apps all the way. Still, Build GUIs with the Eclipse Visual Editor project is a good page to keep note of; I'm bound to need to build a GUI again at some point.
Update May 6th: Thanks to Jez for organising that - it was very interesting.
It wasn't anything like as technical as I thought it would be. I got the impression that the talk that Dr Scott gave was one that he's given many times before to a number af different audiences. Think the Rotary Club - it was perfectly suitable any audience. It wasn't modified for the RS's rather scientifically literate audience.
What really came across is that it's really socialogical factors that are preventing Man from reaching Mars. The technical problems, serious though they are, are probably all soluble, but sustaining a seriously expensive project over thirty odd years may not be possible - at least, not without serious motivation, which seems to be lacking.
Liam Gallagher looses two front teeth after a brawl with a "group of five computer consultants". Well, if you pick a fight with a bunch of roughy toughy computer programmers, you are bound to get your head kicked in, aren't you?
I've got a few one-off data fixes to do. I have to do them all in RPG: though the client has SQL, they don't really know how to use it, so they don't want me using it. Also, they consider it dangerous.
Don't know SQL? Don't know SQL! SQL has to be the single most ubiquitously useful and transferable skill in IT. If you don't know SQL, and know it well, learn it now.
I can't recommend any introductory books on SQL, but I can recommend Joe Celko’s SQL for Smarties. At an advanced level, it's the only SQL book you'll need. (Platform specific stuff, you say? Don't use it.)
Dangerous? Well, yes, it's dangerous. You can indeed hose a lot of data very quickly with SQL. But then, screwing up a database with a compiler takes only a little longer. Both approaches are as safe as one another; test thoroughly, and you'll be fine. And doing the data fix right is usually quicker with SQL, too.
One piece of advice, though; no matter how sure you are that your SQL statement is right, test your query one more time over tha actual data that you are going to update before running the update.
Once upon a time, in the dim and distant past, I had a big live data update to perform. So, on the test system, I constructed test data, ran and printed a bunch of queries, wrote my SQL statement, re-ran my queries to show that the update has worked properly, cut-n-paste my SQL statement into a Word document, printed that, and dumped the whole lot onto my bosses desk to check. He gave the go-ahead, so I opened up a session on the live box, set (and double checked) my library list, cut-n-paste my SQL statement from the Word document into the live session, hit enter, and went for a cup of tea.
It was only when I got back to my desk that I realised that the last cut-n-paste had left all the 'not' symbols ('¬'s) behind. Thank God for journals. The system was down for several hours, though. Sigh.
A couple of interesting articles: Would the real source of metadata please stand up? and Games as Litrachur.
They aren't really about the same thing at all, but both touch on classification, so I'll classify them together. ;-)
Via Sean McGrath.
Via Joey deVilla.
Groovy is, uh, groovy, but I still don't see what it brings to the game that Jython doesn't already have. Except, that is, for the Java-like syntax - and since I prefer Python's syntax to Java's, that's not really an advantage. ;-)
I must admit that I was a little concerned that Groovy, flavour of the month that it is, might totally eclipse Jython. Well, I'm glad to see that this isn't happening. If anything, Groovy has refocused people's attention on dynamic languages in general, to Jython's benefit. There've been lots of new high profile Jython articles recently, and now we find Tim Bray, Sun's most famous new employee, bigging up Jython, too.
Alan picked out a good summary: "It’s faster to write software in dynamic languages, and the (real) benefits you get from an anally type-sensitive compiler can be had more cheaply with modern testing disciplines. But the theory doesn’t matter, because the action is in the practice, and a whole lot of programmers out there have noticed that, in practice, they can get the job done quicker in Perl or Python or Ruby or whatever". This is pretty much exactly what Bruce Eckel has said already: Eckel on typing Java and Python.
But Bray does add "The best thing for the Java ecosystem would be for both Jython and Groovy to move along, grow and prosper; there’s plenty of room in here". Quite right.
On Saturday, I picked up a copy of XIII so cheaply that I suspect that it had been marked up incorrectly.
It's really good. The comic style graphics seem to allow me to suspend my disbelief better than the nearly-but-not-quite photo-realistic approach that most other FPSs use. Besides, it looks great. It's pretty hard, too - you aren't overwhelmed with bad guys, but they are pretty smart. Two or three enemies who know where you are can take you out pretty easily, and even one can do you serious damage if you give them the slightest chance.
The checkpoint saving system is a little irritating, though. I can see that they want to discourage the save after every room approach, but sometimes the save points are a little too far apart. It's not become too frustrating, though. I'm still playing. ;-)
Good God, IBM's marketing of the, uh, whatever it's called is a total mystery to me. Either it's totally crap, or it's so clever that it's way over my head.
It looks like there's another rebranding on the way. Say hello to the "eServer i5". I first came across this name in this news item from The Register: IBM's Power5 pops up first in new iSeries. So, I had a quick google, and found MSN's First IBM Power5 server to debut Monday. "The iSeries label that replaced AS/400 in 2000 will itself be phased out in favor of eServer i5, sources said. And though the OS/400 label for the operating system survived the 2000 rebranding, it now will be replaced with i5/OS, sources said."
i5? I shudder to think about the ads we've got coming, with brash Americans jumping up and down and slapping each other's palms. Sigh.
And don't talk to me about "WebSphere" - does IBM make any software that isn't called WebSphere something-or-other these days?
Update: See also IBM rolls out Power 5-based iSeries server.