What Jessie Did Next...

...being the inane ramblings of a mundane Yorkshire bird.

Category: Geek (page 6 of 10)

The IBM/Lenovo mess moved a step on today, with communication from Lenovo to pick up the remaining broken T60, and Insight to pick up the original T42p.

Hopefully things will move on at a reasonable pace now and we can get an end to it all.

Dear chaps,

One of my more recent contracts is implementing software which talks to a number of telephony companies. This is after all the age of so-called web2.0, thus I think that having an API I can talk to isn’t asking too much.

Therefore, please can I request that:

  1. You drag your arse into the 21st century and get rid of the FTP job drop-directory. I worked with this sort of crap using DJCICS in 1994 and it wasn’t any fun then either.
  2. You learn to speak English when writing error messages I need to parse. Really. (Hint: it’s ‘entered’, not ‘enterred’.)
  3. When you do implement something using ebXML, you maybe want to make sure that your example ebXML validates against your own schema before releasing it.
  4. Maybe you’d like to provide a test environment too. Something like Datacash provide for their PSP services, where you get defined responses for some things and undefined responses for others. That way I can avoid disconnecting my boss’s line, or waiting for real-world cases before I can test software.
  5. You don’t move the sodding goalposts and change the way something works without announcing it.

That way, I might be able to get out of here without any more grey hairs today.

Love and kisses,

Joel.
x

On my online travels this morning I came across Things To Make And Do, a hobbyist geek site which will be of interest to anyone who owns a soldering iron. Among some of the projects here are LED controllers, blow-up Smarties, and a USB fibre-optic turd.

Time to go see if I’ve got any solder left…

On one site I’m fiddling with right now, I’ve thought that using rounded corners on boxes would look good. A while back I stumbled upon Nifty Corners Cube which I decided to use today and it’s taken me approximately 10 minutes in a lunch hour to sort. Yeah it needs javascript and css, but it degrades gracefully.

There’s one big gotcha – if you use colour names anywhere in your CSS (eg. ‘white’ instead of ‘#ffffff’) then IE barfs on it. With it working fine in everything else then I’m tempted to say it’s an IE bug.

Maulkin just pointed me at Piet, which is a programming language based on geometric abstract art. If I wasn’t so damn busy for the next few days I’d be tempted to try and write something using it (‘Hello World’ has already been done). Any volunteers? 😛

Today’s lucky numbers are: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0.

In the course of one of my contracts, I’ve been introduced to the Cyclone programming language – it’s basically purporting to be a safe version of C, with things like buffer overflows being a thing of the past. More here.

Wasn’t this one thing Java was meant to be, or am I missing something?

Update: I’ve found this article (PDF, sorry) which explains some of the differences. Not sure yet – OpenTV’s compiler was like this in the early days and it caused some interesting issues, although that compiled a ‘safe C’ to bytecode…

Just been informed of BarCampSheffield, taking place on 26th/27th May 2007.

From the wiki page:

BarCamp is an ad-hoc gathering born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos, and interaction from attendees.

Sounds good. I’ve registered my interest.

I’d noticed recently that whenever I saved something from Firefox on the Mac, it’d pop up an empty download manager and put an oddly named file on my desktop (for instance, ‘f837fed.exe’). I wondered if this might be something odd with an extension, or even worse did I have a trojan somewhere (but this is a Mac, can’t be one of them!).

I got a bit peed off with it today and finally got to the bottom of it after attempting a fresh install (which didn’t work). It turns out that if you delete the directory where Firefox puts its downloads, it’ll go a bit mental and spew weird partially-downloaded files onto your desktop; there’s something on the Mozilla lists about it here.

The solution isn’t a reinstall, but instead ignore what it says in Firefox’s Preferences->Main screen and re-set your “Save files to…” directory to be the desktop. Lo and behold, it started working fine, I can drag-and-drop images back into Photoshop, and the world’s a better place.

So, on Wednesday the replacement Thinkpad T60 finally arrived from Lenovo, almost 3 months after they first promised it. It’s a nice piece of kit – or at least it would be if it was working. Yes dear reader, you saw that right: it’s fucking bricked itself.

This afternoon Nicky was using it (less than 2 days’ full use), and we got a blue screen with:

***Hardware Malfunction
NMI: Parity check / Memory Parity Error.

Neil took a photo and I guess it’s not well at all – something I was getting concerned about when it wouldn’t wake up from sleep during installation of apps on Thursday evening.

It’s a brand new unit, manufactured on 10th March in China, still running factory-installed OS (Windows XP Pro SP2). I guess we see what Lenovo/IBM do now… I hadn’t even had chance to send them back the busted T42p. Just a good job really it’s no longer my principal machine – the MacBook Pro is being fine for me nowadays and the T60’s going to be used by Nicky to replace her R50e.

(Previous blog entries here).

One of the companies I contract with are desperate for a php5 developer to work on a contract basis (for the next 2-3 weeks at least, probably into May ’07 as well) at their office in Leeds.

They’re not a bad lot – if you’re interested, you need to be an absolute expert on object-oriented php5, be able to document and format your code properly (preferably to phpDocumentor standards) and have a good commercial track record. This involves working with blue-chip clients mostly on existing projects which need maintenance, so you’ve got to hit the ground running. You can sometimes be working on 3-4 different projects in any one day, so ability to multi-task is essential. All candidates will be asked to submit a structure-only mysqldump of something they’ve worked on, and a chunk of example php5 code.

The bloke who’s doing the recruiting is Colin Roets at Ripe Design – email colin@ripe.co.uk.

Please, if you’re an agent, don’t bother getting in touch unless you can really fulfil this – we’re getting too much crap from agencies sending through bedroom coders as it is.

John Backus – he of Backus-Naur Form – has died. He led the team which created the Fortran language at IBM to run on IBM 704 machines.

Obituary here. People who have this much influence on modern computing shouldn’t be forgotten.

Crikey!

1 row in set (4 hours 46 min 56.26 sec)

That’s, er, a Core 2 Duo box running a database that’s way too big for the RAM it’s got 😛

This morning I couldn’t sleep, so got up to sort a few things out – one of those needed Thomas Boutell’s GD library which I don’t have installed on the MBP. I’ve had a bit of hassle sorting it out so this is pretty much Google-bait for those who have had the same problem and are looking for a resolution.

There’s an installation in macports.org, under gd2-nox11. This installs the libraries, but perl has a problem getting its own GD.pm installed via CPAN:

Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl “-MExtUtils::Command::MM” “-e” “test_harness(0, ‘blib/lib’, ‘blib/arch’)” t/*.t
t/GD……….Can’t load ‘./blib/arch/auto/GD/GD.bundle’ for module GD: dlopen(./blib/arch/auto/GD/GD.bundle, 2): Symbol not found: _libiconv_close
Referenced from: /opt/local/lib/libgd.2.dylib
Expected in: flat namespace
at t/GD.t line 14
Compilation failed in require at t/GD.t line 14.
BEGIN failed–compilation aborted at t/GD.t line 14.
t/GD……….dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-12
Failed 12/12 tests, 0.00% okay

A bit of digging turned up that Macports GD2 port has a broken gdlib-config, which confuses matters and makes sure iconv can’t be found. This was causing make test to fail, meaning GD.pm itself was useless.

Solution:

  1. Install the macports.org port of GD2:
    sudo port install gd2-nox11
  2. Download the GD CPAN module.
  3. Build the makefile with perl Makefile.PL
  4. Now edit the Makefile (not Makefile.PL) to add the following to EXTRALIBS and LDLOADLIBS:
    -L/opt/local/lib -liconv
  5. Now build with:
    make
  6. Now test (optional):
    make test

    At this point the following command shouldn’t give you any errors – if it does, the gdlib-config bug isn’t the problem!

  7. No bugs? Install it:
    sudo make install
  8. Job done – make a cup of tea

Thanks to Pascal’s Phase of Matter blog and this thread on Usenet for pointing me in the right direction.

In the world of IT contracting, I do a lot of picking-up-pieces – I rarely get a chance to start a project from scratch, and when I do it’s something I’ve instigated because the previous incarnation is beyond salvation. It’s frustrating in a lot of ways, and I see some horrible hacks – some of which don’t even pass the lint test.

Today is one such afternoon, but with a twist. The code I’m making an attempt to maintain is something I began writing mid-2006, as a replacement for another hacked project. I was dropped from the project in favour of a permie, but the code was documented and in really quite a nice state of maintainability. Now fast-forward to the permie having left to go back to his old job and leaving behind an absolute mess. He’d just not ‘got’ the philosophy of the code, and ignored the boss’s requests to maintain the code in the house style. There are hardcoded email addresses, lack of comments, lack of indentation, and a heady mix of reliance on code from other projects (which, incidentally, shares across multiple projects – dare you change anything?).

I’m not saying I’m perfect – a friend recently pulled me up on forgetting to check whether a query had completed successfully, among other things. But… is there no pride in development work any more, or is it a case of ‘I’m a contractor, get me out of here and hang the consequences’?

</rant>

Older posts Newer posts