Category Archives: Code

Headlines via PHP/RSS

This utterly rocks, and I can’t believe I didn’t go looking for something like it before: MagpieRSS lets you show RSS headlines on a PHP page. I’m using it on my old toxiccustard.com page to show the latest headlines from my diary and the site’s News and Guide to Australia pages (which all run WordPress). It includes caching so you won’t burn up your (or anybody else’s) bandwidth by grabbing the feed continually.

The importance of accessibility

Raymond Chen on why accessibility is not just for disabled people. It’s also of huge benefit to automation, for testing and integration purposes (including such diverse uses as screen scraping and speech recognition).

You bet. It’s the lack of consideration for this kind of thing that gives me my pathological hatred for web sites developed entirely in Flash, or some other mutant horror of leading-edge technologies. Too often you’ll find some whiz-bang heavy commercial ad-merchant has somehow got in control of the site design for some company that should know better, and rendered the whole site unusable…

  • with the keyboard
  • by the blind
  • let alone the blind using keyboards
  • by anybody without IE6
  • or who has a popup blocker
  • or likes to use the web in silence
  • or is trying to get around the fact that the site has no RSS or web services or any other hooks, and is trying to screen-scrape/parse the HTML

Of course I can’t stop these idiots putting pages up. And they take no notice of anything anybody says about them. But in most cases I don’t have to do business with them.

One of the side-effects of sticking to accessibility and restraint in the technologies you use is that the designs tend to be more future-proof. While some web sites are breaking under Firefox, I reckon a lot more will break under IE7 when it gets pushed out to millions of XP users.

Calling COM from .Net, and vice versa

I’m working on a project that uses web services code written in .Net (‘cos it’s heaps easier that way) but calls legacy code written in VB6. And vice versa.

(Wow, I never thought I’d be referring to VB6 code as legacy, but there you go. None of your smart comments, any VB-haters out there.)

Here’s what I’ve discovered about making it work. Continue reading

Toys “R” Stupid

Want to see some HTML Form stupidity? Go to http://www.toysrus.com.au/site/signUp.htm and you get:

The stupidist HTML form I've seen in a while

Radio buttons – users know what to expect from them. You can pick only one option. Not these puppies. These happen to be round checkboxes – that you can only turn on. You can’t turn them off! Oh, sure, there’s a “reset” button down the bottom of the form, but can you recall the last time you pressed the “reset” button on a form? I don’t think, in my many many years using the ‘net, I ever have. Not once. I have “reset button blindness”, and I imagine a bunch of others do too.

To top this off, because the site is mainly Flash, figuring out what the address of the page took a while. In the end I had to bookmark it to find it.

I guess that’s what happens when you get schoolchildren to build your website.

What to do when attach to process doesn’t work

When using Visual Studio, you can attach to a running process that’s chocked full of debug info (or not, but there’s not much point if it’s not) by selecting Build | Start Debug | Attach To Process…

This can handle cases where a problem doesn’t happen under the IDE, but does when running a debug executable. As happened to me recently. So, with the app running and the problem reproduced, I wanted to debug. But, when the dialog pops up it might be distressingly empty – as it was for me. What to do?

From task manager, right (context) click on the process and select Debug. That will launch your debugger and away you go.

Nifty: Force Directed Graphs in Javascript

Starts off as a mess, then...
Kyle Scholz has developed code to represent Force Directed Graphs in Javascript, and you can interact with the nodes. We’re talking mathematical directed graphs here – you might know them as networks.

Basically, there’s a bunch of nodes and they settle themselves into a stable state minimizing tension between them – the graphs balance themselves out, and you can see it happening – it’s animated. And interactive – you can grab a node and move it around. It is ubercool.

Downside is that it sucks huge CPU.
... eventually becomes balanced

Snippets of geekitude

Gmail geekitude — In GMail with US English set, when you delete mail it goes to the “Trash” folder. Set it to UK English, and it’s “Deleted Items”.

TV geekitude — See how the ABC News titles look with no stories and no voiceover.

Google Video geekitude — Lots of snippets of info here, including the fact that Google’s video format is pretty much just a renamed DivX AVI.

Webmail geekitude — My web mail (Horde) puts a little flag against the country of the domain name of the sender. Of course it’s a little misleading when a message from someone using fastmail arrives, as it reckons it’s the Federated States of Micronesia…

Web design geekitude — The best freebie DHTML menus I’ve found so far are here. (Which I’ve implemented here and here. I reckon without too much trouble, WordPress’s categories could drive it automatically. Maybe something to put on the list for Geekrant 2.0.