Gareth R. White

Making videogames for cash

Virgin Vs. TalkTalk

I’ve spoken previously about TalkTalk (first online in Bristol, then Brighton, some recent problems and some more serious problems).
We finally had enough and decided to switch over to Virgin Media. Currently I have both copper and fibre running concurrently on different routers so I decided to run some Speedtests for comparison.

Saturday 13th June 2009, 00:10

Summary
(note: I’m drunk, so I might have the figures wrong. Do tell me if I have),

  • Virgin download is 75% faster than TalkTalk.
  • TalkTalk upload is 49% faster than Virgin.
  • Virgin’s ping is 56% faster than TalkTalk’s.

I ran each speedtest twice.
Following is the detail.

Virgin:
Down: 8.16Mb/sec
Up: 0.31Mb/sec
Ping: 45ms (London, <50 miles)

Down: 8.01Mb/sec
Up: 0.48Mb/sec
Ping: 30ms (London, <50 miles)

Average,
Down: 8.085Mb/sec
Up: 0.395Mb/sec
Ping: 37.5ms

MP3 file: 5 sec
Video clip (35MB) 35 sec
Movie (800MB) 13 min

TalkTalk:
Down: 4.58Mb/sec
Up: 0.59Mb/sec
Ping: 68ms (London, <50 miles)

Down: 4.65Mb/sec
Up: 0.59Mb/sec
Ping: 67ms (London, <50 miles)

Average,
Down: 4.615Mb/sec
Up: 0.59Mb/sec
Ping: 67.5ms

MP3 file: 9 sec
Video clip (35MB) 1 min
Movie (800MB) 23 min

13 June, 2009 Posted by garethrwhite | Uncategorized | | 2 Comments

Time Machine

I tried Mozy but consistently had problems contacting the backup servers. Consequently none of my data was backed up for many months. I also tried rsync but eventually moved away from that too.

I’ve now cancelled my subscription to Mozy and am trying out Time Machine, since I upgraded my laptop to Leopard.

Following are some resources that might be handy,

TMS

Force backup now:
/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -auto

Topic : Time Machine with Multiple Disk

Using multiple backup drives with Time Machine

10.5: Set Time Machine disk via AppleScript

Do Something When

However, something goes wrong when I try to write to these disks using my MacBook.
It works fine when I use my MacPro however.

The drives in question are:
Maxtor MaxLine II 300GB ATA/133 HDD (E-H011-02-3122, RAMB1TV0) Manufactured 9th December 2003.
Maxtor DiamondMax 10 300GB PATA133 HDD (E-H011-04-1675(B), BAH41G10, 6L300R0) Manufactured 13th June 2005.

The enclosure has some identification on the outside (”HD-337-U2″)

There are some identifiable codes (”GL811_U240B P/N:MO-02-054″) on the PCB which suggest it might be something like the following,

Coolmax

HD-337-U2, Silver USB 2.0/1.1 Housing for 3.5” ATAPI Hard Discs, Supports 16-bit Multiword DMA & Ultra DMA 100/66/33, Complies with ATAPI-6 Spec Rev 1.0 (PIO Modes 0-4, DMA Modes 0-2, UDMA Modes 0-5), GL811_U240B-E PCB, Genesys Logic GL811 USB Chip, 220mm L x 115mm W x 35mm H, 300g, 100-240V AC Adapter, Figure of 8 Power Cable with UK Plug, USB A-B Cable, Windows XP/2000/Me/98/MAC OS 8.6/9.x £ca

Certainly it’s the same as this Spanish user posts on a forum

http://www.hwupgrade.it/forum/showthread.php?t=494777&page=20

There are a couple of references to exactly the right model,

бокс 3,5’’ USB 2.0 на IDE HD-337-U2 “Офис в кармане”

Kompakter begleiter
Test: USB 2.0 Aluminium Gehäuse für 3,5″ IDE Festplatten (HD-337-U2

And it looks like this is a review (though I couldn’t load images)

USB 외장하드 드라이버 3.5″ HD-337-U2 External USB Drive Box 용산컴

My current MacBook is,

OS X 10.5.7
2 GHz Intel Core 2 Duo
2 GB 1067 MHz DDR3
MacBook5,1
Boot ROM Version: MB51.0073.B06
SMC Version (system): 1.32f8

USB High-Speed Bus
PCI Device ID: 0×0aa6
PCI Revision ID: 0×00b1
PCI Vendor ID: 0×10de
Bus Number: 0×24

USB TO IDE
Product ID: 0×072
Vendor ID: 0×05e3 (Genesys Logic, Inc.)
Version: 0.02

My previous PowerBook was a G4 1.33GHz model, though I can’t remember it’s full spec. It suffered from similar problems with these drives and enclosure though.

The MacPro is,

MacPro3,
OSX 10.5.6
2 x 2.8 GHz Quad-Core Intel Xeon
8 GB 800 MHz DDR2 F8-DIMM
Boot ROM: MP31.006C.B05
SMC: 1.25f4

USB High-Speed Bus
PCI Device ID:0×268c
PCI Revision ID: 0×0009
PCI Vendor ID: 0X8086
Bus Number: 0xfd

USB TO IDE
Product ID: 0×072
Vendor ID: 0×05e3 (Genesys Logic, Inc.)
Version: 0.02

Also on this bus is the Keyboard hub.

18 May, 2009 Posted by garethrwhite | Uncategorized | | No Comments Yet

Lightweight Camera Mount

I want to mount a camera to an iPhone or video game controller so I can film the user interacting with it.
ProjectAPhone is probably too big and bulky.
Veeency or anything else from Cydia is not appropriate as the iPhones will not be jailbroken (realtime display is also necessary, and I’m concerned about the potential lag), and more importantly I’d also like to see the user’s fingers.

For the camera something like this might work,

Lens Calculator

This is the current device I’m using,
2.4G 811T CMOS/Wireless Camera
CMOS CAMERA 811T CHAN 3 WIRELESS CAMERA ONLY
Imaging Sensor: 1/3″ CMOS
CMOS Pixels: 628 x 582 (PAL) / 510 x 492 (NTSC)
Horizontal Resolution: 380 TV LINES
View Angle: 62º
Min. Illumination: 1.5 Lux / F1.5

Anglia & Sharp offer some camera modules

QXGA camera module with auto-focus

iPhone camera specifications
Focal length: 3,85mm (equivalent to 37,0mm)
Aperture: f/2,8 (fixed)
Focus: infinity (manually adjustable to 2cm)
Depth of field: 1,47m to infinity

What is the difference between CCD and CMOS image sensors in a digital camera?

RFConcepts have a lot of devices, e.g.,

Board cameras, mini cameras

Mini Colour Cameras with Audio £72
480 TVL resolution
Outstanding video s/n ratio of 48dB, noise-free picture
Low power requirement, wide tolerance 8.5V to 15V
Min illumination: 0.2 lux at F 1.4
Video output: 1Vp-p, 75ohm composite
S/N ratio: more than 48dB
Lens mount: standard f=3.6 (78′)
Audio: available
Measurement: 29CA=29 x 29 mm (HxV)
Measurement: 25CA=25 x 25 mm (HxV) NTSC ony
Weight (approx): 60g

Colour Board Pinhole HI RES
1/3″ DSP CCD Color Board Camera
480 TVL Horizontal Resolution
Remarkably True Color reproduction
Remarkable low Lux performance of 0.5 Lux at F2.0 fixed lens
Compact single board with 32mmx32mm
Cone type / F2.0 : f=3.7mm (90¢ª)

Premier Elect have a lot of possibilities, but they look like they might be trade-only.

Sharp develops super-tiny 5MP Auto-Focus CMOS for Mobile Phones

1/3.2-type 5-Mpixel CMOS (Auto Focus) Camera Module
Focal length f = 3.871 mm
Horizontal viewing angle (Horizontal) 61° (wide-angle compatible)
Focal range 10 cm (macro-compatible) to infinity
Outline dimensions (TYP.) 9.5 x 9.5 x (H) 6.6 mm3

Article about “Ultra Small Auto Focus Camera Module

CCD Camera Module with Auto Focus Optical Zoom 16x
Resolution
480 (TVL)

Signal To Noise Ratio
>48 dB (AGC off)

Focus
Auto / manual modes

Dimensions (WxHxD)
46.3mm x 52mm x 75.5mm (1.8” x 2” x 2.97”)
Weight
195g (6.9 oz)

Lens Mount
16x Optical Zoom (F1.4, f=3.9~62.4mm)
Video AF

Some DIY projects here:
Digital Camera Interface
how to build a witness camera
Get-that-camera-working competition!
CMOS Camera Module – 640×480

Thinking of ways to do it, possibly with some kind of jewelry/craft wire (adjustable, but what thickness?), or maybe sculpt a (detachable) mount for myself out of something like this,

Here are some other interesting links,

Sculpey, Air dry clay,
Bondo Putty
Paper clay (Wikipedia)
Polymer Clay (Wikipedia)
Fimo (Wikipedia)
Epoxy Resin
epoxy putty.
Polymer Clay (Wikipedia)
Polyurethane (Wikpedia)
Polycaprolactone (Wikipedia)
Polyurethane Kit
Plascrete (Mutr)

19 April, 2009 Posted by garethrwhite | Uncategorized | | No Comments Yet

BibDesk EZProxy Support

Adding EZProxy support to BibDesk looks pretty straightforward.

Currently it looks like bibdesk/BDSKWebParser.m has a method called “itemsFromDocument” which is responsible for extracting certain data from a document. This includes webType, which is an enum identifying which repository the data came from (ACM, WoS, etc). This is then used to choose an appropriate parser for the document.

(Note: I’ve added /* Some code skipped */ comments where I’ve cut out some code)

+ (NSArray *)itemsFromDocument:(DOMDocument *)domDocument fromURL:(NSURL *)url error:(NSError **)outError{
    BDSKASSERT(self == [BDSKWebParser class]);

/* ... some code skipped ... */

    int webType = [self webTypeOfDocument:domDocument xmlDocument:xmlDoc fromURL:url];

    Class parserClass = webParserClassForType(webType);

    BDSKASSERT(parserClass != [BDSKWebParser class]);

    // don't return nil here; this may be the Google Scholar homepage or something, and we don't want to display an error message for it
    // this may lead to some false negatives if the heuristics for canParseDocument::: change.
    if (Nil == parserClass)
        return [NSArray array];

    return [parserClass itemsFromDocument:domDocument xmlDocument:xmlDoc fromURL:url error:outError];

This in turn calls “webTypeOfDocument” which iterates through all the parsers and returns the first successful one,

+ (int)webTypeOfDocument:(DOMDocument *)domDocument xmlDocument:(NSXMLDocument *)xmlDocument fromURL:(NSURL *)url{
/* Some code skipped */
    if([BDSKACMDLParser canParseDocument:domDocument xmlDocument:xmlDocument fromURL:url])
        return BDSKACMDLWebType;
/* Some code skipped */
    return BDSKUnknownWebType;
}

For the ACM example, this is in bibdesk/BDSKACMDLParser.m
I tried a simple test which appears to work. I’m no Objective C coder but I imagine it would be straightforward to write this well (e.g., make it data-driven so users can define their own sets of domains to append to repository domains; replace the hardcoded strings with const’s; probably refactor the whole URL-repository testing and parsing code as it looks like there’s a lot of tight coupling all over the place)

+ (BOOL)canParseDocument:(DOMDocument *)domDocument xmlDocument:(NSXMLDocument *)xmlDocument fromURL:(NSURL *)url{

    if ([[url host] caseInsensitiveCompare:@"portal.acm.org"] != NSOrderedSame){
		/* [GARETH] Test support for ezproxy */
		    if ([[url host] caseInsensitiveCompare:@"portal.acm.org.ezproxy.sussex.ac.uk"] != NSOrderedSame){
				return NO;
			}
    }
/* Some code skipped */


Some useful links:

19 April, 2009 Posted by garethrwhite | Uncategorized | | 4 Comments

Black Screen of Death

Ok, so the title’s a bit of an exaggeration. It’s hardly as serious as the legen- (wait for it…) -dary Blue Screen of Death on Windows.

The effect on OSX is simply a black screen with nothing but the pointer visible, and it only happens intermittently when you open up your laptop after it’s been asleep. Sometimes it goes away after time, sometimes you have to close the lid and open it again, though sometimes the machine only returns to its normal state after a reboot. Apparently the machine still responds to input, you just can’t see anything (apparently you could also ssh in and control / debug this way.)

So anyway, it happend to me the other day and I had to restart. That sucks, and isn’t what I expect from Apple. Looks like it’s a known bug. There are lots of suggested solutions but nothing definite.

Here are some relevant links,

14 April, 2009 Posted by garethrwhite | Uncategorized | | 1 Comment

Offshore Euro Accounts

UK banks suck.

Natwest in particular aren’t able to transfer funds from a Euro currency account in the UK to a Euro account at another Natwest branch in the Isle of Man without charging something like £20 each time. This truly sucks because I need to do that for my pension. When I had an account with Bank Austria-Creditanstalt they were able to do this without me incurring any fees (though they did charge me for simply having an account in the first place! I guess banks all over the world suck – I’m told that Dutch banks are pretty good though.)

I’m currently forced to write and post cheques by hand every month as they tell me this is the only way I’ll be able to transfer the funds without incurring charges. To add insult to injury, if I want to do anything with this account (even finding out my balance) I have to walk into a branch and queue up to speak to a customer advisor (not even the cashiers can help me!) – and then they’re not even able to help unless I bring in a letter that Natwest themselves sent me with my account details on. I have no online access to my account (though I do for my regular Sterling accounts.) The individual branches don’t deal with these types of accounts, so they have to contact some other department for the details. On one Saturday I went in and the bank employee wasn’t able to help me because the computer systems that interface with this department apparently don’t work on a weekend…(!) On other occasions they’ve struggled to find the phone number they need to call to speak to that department – the number in their internal contacts database was wrong, it was actually the number for another local branch somewhere else in the country.

Doh!

Anyway, I just went to Barclays here on campus. The person I spoke to, Matt, was very friendly but unfortunately his bank isn’t able to offer any help either. It sounds like the only solution would be to go in person to a branch of the Ulster Bank or the Bank of Ireland and set up a new account. Next time I’m out there I might try to do that.

Here are some relevant links,

Euro Account
Barclays offer Euro Current and Euro Savings Accounts
Personal Euro Current Account Tariff

Which euro account is best for you?
Questions of Cash: I want to set up a euro bank account
barclays uk euro account?
Banks fall short of sterling service on overseas euro accounts
A euro saved is a zero earned

14 April, 2009 Posted by garethrwhite | Uncategorized | | 5 Comments

Ph.D. Considered Harmful

I had a hard time trying to convince other D.Phils that a Doctorate could actually limit my career opportunities.

This comic sums it up pretty well.

29 March, 2009 Posted by garethrwhite | Uncategorized | | No Comments Yet

Build USB Cable

28 March, 2009 Posted by garethrwhite | Uncategorized | | 1 Comment

Wii Backups

Wii Firmware version 3.4E

Downgrading by network give error – 116. None of the other networked homebrew applications suffer from this. Changing the Wii to using a static IP rather than DHCP doesn’t work. Installing via WAD file instead does work though.

DVD+-RW give a media error.

TDK DVD-R 5pk (A37CT), £3.99 from Maplin work though.

Some of these links might help,

Backup Launcher 0.3 “gamma”

Custom IOS36 rev 08 Installer

Custom IOS Downgrader v1.2

Alternative Solution for Semi-Brick / Error -116 (No Network Connection Required)

Wii Downgrader released.

3.1-3.4 Twilight/Downgrade/Starfall/GammaTutor

This a recovery package for people who updated to 3.3rev2/3 and didn’t have cIOS loaded.

Play Wii Backup Games On DVD-R

Twilight Hack [Wii Brew]

Twilight Hack [Wikipedia]

Having trouble with Wii Dvd Dumper 1.2
Dump Wii Games Via Wi-fi Tutorial
Wii disc dumper 1.2
New Custom IOS Apps

Problem: “Initializing network…..ERROR! (ret = -116)”
Solution: Wait until globe icon in Homebrew Channel has finished flashing and has turned a solid white. Only then should you launch anything that uses the network.

Problem: “Sending index.html… ERROR! (ret = -10056)”
Solution: Use DVD Dump V1.2 instead of v1.3

Problem: “>> Sending DVD ISO… ERROR! (ret = -10056)
OK!
>> Sending DVD ISO…”
Solution: This only seems to be a temporary problem, ISO still appears to download.

ISO dumps at about 200KB/sec.

However, less than the full amount is downloaded (using Safari 4, Firefox – both with iGetter 2.7.5). Only around 300MB successfully downloaded. Perhaps it was something to do with the webserver (does not support resuming – maybe I shut my laptop during the d/l?)

Interestingly command line wget appears to download a 4.4GB file, which is the full size of a DVD, though it’s due to take about 5 hours!

Apparently full speed USB is 12 MBits/second, high speed is 480Mbits/second, which is a theoretical 40MB/second.

802.11g WiFi has a theoretical throughput of 54 Mbit/second, and a typical throughput of 22 Mbit/second.

This makes me think that USB dump is probably much faster than WiFi dump. I wonder if I have any A-A cables around? (though at £8 each I think I’d rather just build one.)

18 March, 2009 Posted by garethrwhite | Uncategorized | | No Comments Yet

Numbers 09: Durations & Templates

So along with my new MacBook I also upgraded to the new version of iWork.

This has produced several problems with my household bills. First of all, spreadsheets which previously worked now produce errors. This appears to be down to the difference way Number 09 handles durations. Previously I had calculations which subtracted one date from another, and used it as an integer number of days. Now that kind of automatic type-conversion produces an error, so first of all I had to manually add DUR2DAYS() function calls to explicitly convert them to integers. That’s fine, the coder part of me likes static typing.

While I was at it I figured I might as well see if I can implement my tables using templates. I thought that might allow me to design one table, then simply reuse it throughout my spreadsheet. Sadly this isn’t the way templates work. First of all they appear to be discrete duplicates, not references, so if you modify a template after already having created a table from it, the modifications don’t propogate to other instances of the table. That sucks, so templates are effectively just a scratchpad where you can copy pre-built tables from.

There are further issues, though: any forumlas on the template which refer to other sheets will disappear when you try to create a new table from the template (or in other words, those references are stripped when the template is created).

The upshot is that I’ve redesigned my tables (and thrown in a bit of colour too), but I won’t be using templates. Given their preponderance to drop my inter-sheet formulas, and lack of instancing, the only effective solution is to simply copy and edit existing tables.

14 March, 2009 Posted by garethrwhite | Geek | | No Comments Yet