Small business web analytics

I'm writing a tutorial for a magazine about web analytics and its use by small businesses. I'd love to include a case study of how people use such tools. I use web analytics every day in my real job, but that's not a small business by any definition.

Anyone willing to have a chat (phone or email, as per your preference) and be quoted about their use of web analytics to help understand your small business's client base, improve your web site and make better marketing decisions? If you're in Sydney, there can be beer involved if you like.

If you're interested, get in touch and let me know a little about what you're doing.

JQuery and Drupal book suggestions?

I'm launching a new site for work in a bit over a week that's built in Drupal and with JQuery used extensively. So far I'm pretty impressed with JQuery, especially how you can string things together. So I need to bone up on these two things, especially Drupal which I haven't had a chance to penetrate beyond the user interface bits.

So anyone got any book suggestions? For JQuery I'd want something that's reference-style rather than anything written as a tutorial. Drupal I need something that introduces me to the basic architecture, and then is more a reference. I've found I never really go through tech books that have tutorials and exercises and the like, hence my focus on reference material.

And since I'm asking for book advice, let me give some too. If you ever need to touch JavaScript, go and buy JavaScript: The Good Parts by JavaScript guru Douglas Crockford. It's quite thin (150 pages) and succinctly says what's good, and what's bad, about JavaScript. It's essentially a "work this way and you'll avoid most of the bad stuff about JavaScript" kind of book. Essential reading!

Shittyrail claims ownership of timetable data

Apparently Sydney's Shittyrail government transport monopoly is threatening an iPhone developer who had the temerity of making their timetables more usable. This from an organisation whose web site presents its timetables in the brilliantly web-friendly format of just like the printed timetable. So assuming you know which lines you need to get to your destination, you then need to page through it to find the appropriate direction and time.

"RailCorp's primary concern is that our customers receive accurate, up-to-date timetable information," a spokeswoman said in a statement.

Which might be a good argument if their own timetable pages were updated with service disruptions, trackwork and other changes. They're not. Instead they plaster a notice over the timetable telling you vaguely about the trackwork. No reason, of course, that they couldn't make this information available to developers to expose to their applications.

I can see a letter to the minister and my MP coming.

IE6 must die

When the revolution comes, the developers of IE6 will be the first up against the wall. Joining them there will be the people at my work who haven't updated the desktop COE to a browser that isn't quite the spawn of satan.


Smokey lamb

On the weekend I finally got around to trying out the new smoker box I bought for the barbecue. It's just a small stainless steel box designed to hold some wet wood chips, with a couple of holes to allow smoke to get out. You put it right on the burners on the barbie and lower the hood.

A while back I bought the smoker, and the same weekend bought a lovely piece of biodynamic lamb shoulder from the market behind our house. Unfortunately I didn't get a chance to cook it, so it ended up in the freezer.

I rubbed the outside of the meat with a little salt and a bunch of chopped rosemary, that's all. Temperature at the top of the hood (where the thermometer is) was around 120°C, which means it was around 90-100°C around the meat. Cooked for four hours at this temperature the lamb was beautiful: still a little pink in the centre.

The smoker contained manuka chips, soaked for 20 minutes in water. I refilled the smoker once during cooking, as it burnt out after about half an hour, so there was probably about an hour of smoke.

The result was spectacular. Beautiful tender meat with a lovely smokey taste. The outside was a deep ruby brown from the smoke.

Next effort, I think, will be some reasonably quickly cooked sausages with the smoker on. But I need to buy some more woodchips. I'd ask Scott to bring some up from Tassie at the weekend but I'm not sure virgin forest eucalypt would go so well with meat.

MythTV and the Playstation 3: current state

So I've had a week or so playing with the PS3 and MythTV. I just posted this to the Myth user list, but I suspect some of the readers here would be interested in how it's going.

I'm attempting to use a PS3 as the frontend to my Myth system, replacing the silent, solid state SD frontend I used to have. My backend records from two DVB-t cards, so I'm recording. But I've encountered a few problems and I'm wondering if anyone else has encountered these, or has suggestions of lines of attack.

Ideally Sony would open access to the graphics hardware through the "Other OS" feature, and then I could just run native Myth. Unfortunately this hasn't happened so I've been forced to use the UPnP approach. This means there's a bunch of features missing, like commercial flagging and the ability to delete recordings after watching, but I can live with that. These other problems are more serious.

Solving these would make the PS3 a pretty damn decent frontend, especially for people wanting HD. When it works, 1080i and 720p look pretty damn spectacular. A PS3 frontend has the added benefits of Blu Ray playback, UPnP client (for downloaded video) and a games console to boot.

Transport stream support

The PS3 supports many permutations of MPEG Program Stream(PS), but only MPEG2 video with MPEG2 Layer 2 audio inside a Transport Stream (TS). Australian DVB-t seems to (sometimes?) use AC3 audio, so inside a TS the PS3 can't play it back. I either get the video with white noise sound, or it refuses to play back at all.

It seems my Myth setup sometimes produces TS, and sometimes produces things that the PS3 is happy with. Output from "file" looks like this. Interestingly, the files labelled "data" play back, but the TS doesn't.

Output from "file":
1020_20090221181900.mpg: data
1020_20090221190000.mpg: data
1020_20090222050000.mpg: MPEG transport stream data
1020_20090222190000.mpg: TeX font metric data (\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377

So the approach I've been looking at is demuxing the TS into a PS in a transcode job. I haven't succeeded yet, so if anyone has a nice script I'd appreciate it. Ideally MythTV would be able to do this as it records, because otherwise I can't really watch a program that's still recording and there'll be a bunch of hard drive thrashing that could be avoided.

What's strange is that my tuners are almost identical. lspci output:
03:0c.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)
04:0f.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d0)

So I'm assuming the problem is due to Myth being relatively relaxed about the streams it produces, and really all it's doing is pulling out the appropriate TS from the multiplex and dumping it to disk. This is fine when mythfrontend (or mplayer or xine or whatever) is playing back, but the PS3 is a bit pickier about it.

So has anyone got any suggestions here? I'd love to find a way to get Myth to just product something I can play on the PS3, without having to transcode. I can post up some more diagnostic information if people want it.

Refreshing UPnP shares

It seems like the PS3 only refreshes listings from the UPnP server after being shut down and restarted. That means any recordings that kick off after you boot the PS3 don't show up. Anyone worked out a way to get these listings to refresh?

Playback stops with FF/RW

When I fast forward or rewind, playback doesn't restart when I press play. The play icon shows up on-screen, but the playback doesn't actually start. I have to stop and restart the playback to get it moving again. Weird, but not a show stopper I guess.

Playback while recording

Related to the UPnP share refreshing thing, if I watch a programme that's currently being recorded, it seems the PS3 takes the end time of the stream when first started, so it gets to the point where you started watching (as coming off the air) and stops. Kinda annoying -- it'd be nice if it just kept reading until the stream stops.

MythTV and PS3: problems with formats

Michael Fox has commented on the reasonable UPnP client in the PS3 and its interactions with MythTV, and I think he's helped me work out why I've been having some problems. It seems Myth is recording in different formats, for what reason I don't know. So when MythTV offers them over UPnP, some of them play and others just don't.

For example the output from file:

1010_20090217175500.mpg: MPEG transport stream data
1020_20090216233000.mpg: data
1020_20090217172200.mpg: data
1020_20090217190000.mpg: data
1020_20090217192700.mpg: data
1020_20090217212700.mpg: MPEG transport stream data
1020_20090217223000.mpg: TeX font metric data (\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377

Dunno about the TeX font metric data, but there's some that are MPEG and others that are just "data". On that first item (identified as MPEG TS by file), mplayer reports:

VIDEO MPEG2(pid=512) AUDIO MPA(pid=650) NO SUBS (yet)!  PROGRAM N. 1
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  9000.0 kbps (1125.0 kbyte/s)

The second one is reported as

VIDEO MPEG2(pid=2314) AUDIO A52(pid=2315) NO SUBS (yet)!  PROGRAM N. 1
VIDEO:  MPEG2  1280x720  (aspect 3)  50.000 fps  9600.0 kbps (1200.0 kbyte/s)

So the first file is MPEG2, 576i with MPEG audio. The second is MPEG2, 720p with A/52 (AC-3) audio. Trouble is, the next one that file identified as MPEG TS is also 720p MPEG2 video with A/52 audio.

Is the problem, perhaps, just that MythTV is a bit sloppy about writing MPEG TS to the disk and just writes whatever crap is coming down the aerial, regardless of whether it's a valid MPEG header? I seem to recall a rather obscure option in the MythTV settings to wait until some kind of start thing ("Wait for SEQ"?). Will try that out tonight.

A couple of questions, dear lazyweb. Can anyone suggest some better tools to analyse these files? And how do I match these programmes up with their equivalent recordings in MythTV, so I can see if it's perhaps a specific tuner or channel that's causing problems?

MythTV and PS3

After my recent hardware woes, I've had a little more success getting MythTV back up and running. I bought another cheap Dell workstation to act as my new Myth server. After a little fiddling, it's up and running just fine, with three tuners and so far 600 gigs of SATA drives (to be upgraded to 1.6TB tonight when I buy another SATA interface card). It's also hosting SqueezeCenter which drives all my Squeezeboxen for music around the house.

Previously I had a fanless, diskless front-end in the lounge room, using a Via EPIA board with video decompression done on its video chips. This worked fine and was beautifully silent, but doesn't support high definition, and I now have a high definition telly. The telly came with a "free" (really $300) Playstation 3, but the MythTV client on PS3 is being held up by Sony blocking hardware access to the video decoding hardware in third-party operating systems. That's a real shame.

What I've discovered is that the PS3 is a very powerful UPnP client, and MythTV makes its recordings available over that protocol. So the PS3 is able to play back 1080i recordings taken over the air without any problem.

Downsides of doing it this way are that you lose some functionality. The UI is just a list of recordings, without the cool context you get in the Mythfrontend. You can't delete recordings, you can't schedule (though I suppose the PS3 web browser pointed at Mythweb will do that) and features like commercial skipping aren't supported. UPnP effectively treats the MythTV server as a file share of video files. Hopefully at some point in the future the PS3 will natively run a Myth frontend, but for now this works pretty well.

I'm also sharing out my music and other video files from the server using the MediaTomb UPnP server. It's quite flexible, and explicitely supports PS3. A nice feature of it is you can transcode anything on-the-fly for cases where a media type isn't supported. For example, PS3 doesn't support OGG, FLAC or Matroska. So you can set up a rule in MediaTomb to transcode these into something the PS3 does support. Quite neat!

IBM PSU not standard

System board connections of IBM Intellistation M Pro Type 6233 and 6850

Following advice from Graeme and Grant, I bought and tried out an ordinary ATX PSU to solve my PSU problem but unfortunately it hasn't worked out. It fits in reasonably well, with three of the screws able to go in, and only a small gap, but it's not got what I need.

The IBM system has two additional "AUX" power connectors, with eight and ten pins each. But standard ATX PSUs only have a single AUX connector, with only four pins.

Fortunately Adelong Computers have a 7 day return policy, so I can take the PSU back in on Monday. I'll take the IBM PSU in with me and see what they can suggest.