You are viewing [info]gagravarr's journal

Nick [entries|archive|friends|userinfo]
Nick

[ website | gagravarr.org ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Oxford Digital Switchover and DVB-Apps [Sep. 28th, 2011|03:18 pm]
If you use Linux with the DVB-Apps to watch TV, and you're in Oxford, then as of today (28th September 2011) you'll need to re-tune. (Well, everyone in Oxford has to too!)

One slight snag is that the command line scanning tools (like scan) take an initial tuning file, and the one that ships in Debian / Ubuntu / Hg isn't yet updated.

Armed with the data from ukfree.tv and some trial and error, I've got what looks to be the correct new tuning file. Debian / Ubuntu users will want to place this in /usr/share/dvb/dvb-t/uk-Oxford (other users wherever you want!) and then run a scan. (You could also use w_scan, which iterates each frequency in turn, but scan with a start file is normally much quicker)

# Post-Switchover

# Local, C51, details TBA, not yet transmitting as of Nov 2011
T 713833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE

# PSB1 BBC-A, C53+. Apparently 730.2 but actually looks to be 730.167
T 730167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE

# ArqB (COM6), C55, 746.0
T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE

# PSB3 BBC-B, C57, 256QAM DVB-T2
T 762000000 8MHz 2/3 NONE QAM256 8k 1/32 NONE

# ArqA (COM5), C59-, Apparently 777.8 but actually looks to be 777.833
T 777833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE

# PSB2, D3+4, C60-, Apparently 785.0 but actually looks to be 785.833
T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE

# SDN (COM4), C62, 802.0
T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE

Note - as of 2011-12-08 these changes have been accepted into the upstream Linux Media repo. Depending on the age of your distro / checkout / etc, you may or may not need to update to the above by hand.

Having done that, you should be able to run something like scan -v -a 0 uk-Oxford > new-channels.conf to build your new channels.conf file. The result should be something like this:

1-2-1 Dating:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:14816
301:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:901:951:7168
303:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:19584
4Music:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:101:102:25664
5*:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6673:6674:12928
5 USA:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6689:6690:12992
Absolute Radio:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6082:14688
ADULT Babestn2:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:23872
ADULT Babestn:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:27904
ADULT Blue:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:24128
ADULT Filth:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:15728
ADULT PARTY:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:24256
ADULT redhotTV:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:15680
ADULT Section:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:27584
ADULT Section:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:27616
ADULT Section:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:15200
ADULT Section:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:15424
ADULT smileTV2:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:27520
ADULT smileTV3:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:22400
Al Jazeera Eng:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:27712
BBC 6 Music:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:432:18048
BBC 6 Music:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1602:5760
BBC Asian Net.:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:435:18240
BBC Asian Net.:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1902:5952
BBC FOUR:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:16832
BBC FOUR:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:4544
BBC NEWS:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:501:502:4352
BBC ONE:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:101:102:4171
BBC Parliament:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:205:421:17024
BBC Parliament:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:601:602:4736
BBC R1X:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:434:18176
BBC R1X:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1802:5888
BBC R5L:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:430:17920
BBC R5L:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1402:5632
BBC R5SX:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:431:17984
BBC R5SX:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1502:5696
BBC Radio 1:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:436:18496
BBC Radio 1:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1002:6720
BBC Radio 2:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:437:18560
BBC Radio 2:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1102:6784
BBC Radio 3:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:438:18624
BBC Radio 3:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1202:6848
BBC Radio 4:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:439:18688
BBC Radio 4:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1302:6912
BBC Radio 4 Ex:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:433:18112
BBC Radio 4 Ex:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1702:5824
BBC Red Button:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:4416
BBC THREE:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:4288
BBC TWO:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:201:202:4287
BBC World Sv.:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:440:18304
BBC World Sv.:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:2002:6016
bid tv:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6273:6274:14272
Big Deal:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:24000
Capital FM:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6114:14752
CBBC Channel:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:301:302:4608
CBeebies:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:201:401:16960
CBeebies:730167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:401:402:4672
Challenge:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6785:6786:15520
Channel 4+1:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:580:581:8452
Channel 4:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:560:561:8384
Channel 5:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:540:541:8500
Channel Zero:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:28224
CITV:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6833:6834:16032
COMMUNITY:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:24064
CONNECT:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:28352
Create & Craft:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:2301:2302:24384
Dave:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:401:402:22272
Dave ja vu:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:23936
Daystar:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:24320
E4+1:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:501:502:22336
E4:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:570:571:8448
ESPN:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6801:6802:16096
Film4:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:701:702:27136
Food Network:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:23040
Gay Rabbit:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:8577
Gems TV:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:2401:2402:24448
G.O.L.D.:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:15552
Heart:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6098:14720
heat:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1201:26240
Home:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:14976
Ideal World:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:501:502:25920
ITV1 +1:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:600:601:8362
ITV1:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:520:521:8263
ITV2 +1:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6529:6530:15952
ITV2:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:530:531:8325
ITV3:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6881:6882:16048
ITV4:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:601:602:28032
Kerrang!:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1301:26304
Kiss:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1101:26176
Magic:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1801:26624
More 4:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:590:591:8442
Pick TV+1:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:201:202:22244
Pick TV:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:301:302:22208
Premier Radio:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1601:28160
price-drop tv:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:611:612:22464
Q:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1901:26688
QUEST:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6929:6930:14498
QVC:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:6049:6050:13120
QVC Beauty:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:28288
Rabbit:850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:8642
Really:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:2111:2112:23712
Rocks & Co 1:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:2311:2312:27840
Russia Today:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:2101:2102:27456
Sky News:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:101:102:22080
Sky Sports 1:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:202:403:20160
Sky Sports 2:721833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:204:411:20224
Sky Text:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:28096
Smash Hits!:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1501:27040
SMOOTH RADIO:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1401:26368
STREAM:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:28384
talkSPORT:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1101:22592
Teletext Hols:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6354:14784
Television X:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:15232
The Hits Radio:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:1701:26560
TOPUP Anytime1:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:16224
TOPUP Anytime3:713833330:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:16288
VISION:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:0:28320
VIVA:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:201:202:25728
Yesterday:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:301:302:25792


Finally, you'll want to do a full rescan in MythTV, which is a faff... :(
link

Upcoming Conferences [Aug. 28th, 2011|02:43 pm]
For anyone who doesn't hawkishly follow my Lanyrd upcoming events page, here's a quick round-up of some of the conferences I'm speaking at / helping with in the near future.

Coming up in just under a fortnight (mental note - must finish my talk...) is Transfer Summit, 7-8 September. Handily located in Keble, so no need to leave Oxford, this conference is back for it's 2nd year covering open source, open development, innovation and collaboration. Last year featured loads of very interesting talks, and this year's looking promising too. If you're interested in open source, open development, academic to business transitions for software, or just a fun conference in Oxford, come join us!

The weekend following Transfer Summit we have BarCampApacheOxford, once again being held in the University Club. This year we're on Sunday 11th September, with a meal the night before. As usual, we'll have a wide range of sessions, including (but not limited to!) ones on the Apache Software Foundation and it's projects. We'll also likely have things on mapping, Django, Arduino, OpenOffice, Paper Aeroplanes and listening to Satellites, so it should be a great mix! If you want to come, sign up on the wiki ASAP, so you can ensure you get one of the spots that includes a free lunch :)

A month later, I'm off to Amsterdam for a few days. On Thursday 13th and Friday 14th October I'll be at GotoCon Amsterdam, mostly going to the great sessions on offer, but also talking as well. There's a good mix of sessions across lots of different areas of software development, and we've an Apache track on there too on the Friday. If you are thinking of coming, you can use the code burc200 for 20% off the registration price.

On Saturday 15th, the day after GotoCon, we're also doing an Apache Hackathon + mini BarCamp in Amsterdam. Hippo are kindly hosting us, and should be a fun chance to get Apache types from Europe together for a chat, some coding, and hopefully also share some knowledge amongst ourselves. It's open to not only Apache committers, but also anyone who contributes code or documentation to Apache (basically anyone on a dev list), sign up on the wiki and come along if you're in Amsterdam that weekend!

Next up is the Alfresco DevCon 2011 USA in San Diego. Not sure yet what I'm speaking on (though I think I'm down for a few sessions...). It's a chance to learn about developing solutions with and on top of Alfresco, in the lovely surroundings of San Diego, so who wouldn't want to go :)

Finally (for now, but possibly not for this year...) is ApacheCon NA 2011 in Vancouver, 7-11 November (plus hopefully a BarCamp on the 12th). We've an amazing set of speakers and talks lined up as usual, and it's looking promising for a great conference. Early bird rates end soon, so sign up!
link

Fringe 2011 [Aug. 27th, 2011|06:32 pm]
[Tags|]

Last weekend I was up at the Edinburgh Fringe, and once again I managed to see quite a few shows, with a few gems amongst them. I tweeted reviews of most of them at the time (where wifi permitted!), but this is aiming to be a slightly more expanded set. Mostly to help with picking shows next year, it must be said, but there is a day or two of the fringe left for other people to use them!

Stupid People Will Be Offended - Free standup by Mikey Mileos at Dropkick Murphy's. We happened across this show when we got to The Vaults early, and nipped over the road for a drink. Only caught the first half of the show, but for free standup it was pretty good. I'd say probably half the jokes worked, which beats some paid-for fringe standup shows I've seen! Could be one to watch for next year, if he can improve over the year. 3*

Sherica - Shred Productions at Paradise in the Vault. Possibly summed up by the line early on: Sorry. Stop ... This isn’t me. I don’t visit prostitutes. For God’s sake – I read the Guardian!. This dark and thought-provoking piece follows the downward spiral after a teacher falls for a sex worker who turns out to be the sister of one of his pupils. Add in some blackmail, a new academy school struggling with the change, and it's a good piece. Not as good as Paper Birds were when they tackled a similar subject with In A Thousand Pieces, but good none the less. 4*

What You Will - Shrewsbury School at C. Their own musical telling of Shakespeare's Twelfth Night worked out really well, with some good songs but still keeping the original a lot. Good lunchtime fun, 4*

Lethal Injection - Five One Productions at C ECA. A compelling, minimalist production about 4 men on death row, and their guard. As their time approaches, we learn of their crimes and how they ended there, all for very different reasons. 4*

Sanctuary - Little Room Productions at Paradise in the Vault. A new opera set just before the apocalypse, as a father and daughter hide. Then others try to seek sanctuary with them. Very very operatic, which sometimes worked, but often got in the way. 3*

Matt Kirshen at Underbelly. Self-deprecating stories from his life, with the odd bit of politics in there as well. Funny, smart and enjoyable comedy. 4*

Wasted Love - One Academy Productions at C. This musical tells the story of a relationship support group, which despite how it may sounds was excellent. Great singing, great storytelling, heartbreak into uplifting redemption then sometimes tumbling back down again. This is what new and different musicals at the fringe should be like, 5*

Principal Parts - Strip Theatre at C soco. Surrealist telling of a group trying to assassinate Archduke Franz Ferdinand in Sarajevo, despite their incompetences. Good fun, 4*

Sunday in the Park with George - One Academy Productions again (twice in an afternoon!) at C. A full 2 hour production of Sondheim's musical about Georges Seurat's painting. A good (but not amazing) production of this good (but not amazing) musical. 4*

Sammy J and Randy: Ricketts Lane at Udderbelly Pasture. On top form again, this time Sammy J and his friend Randy (the foul mouthed purple puppet) are battling tax avoidance amidst their domestic misadventures. Silly tales, word plays, long running gags (can I get a pwappwa new guinea, pwappwa new guinea!), and generally very very very funny. 5*

Belt Up's Outland - Belt Up in C Soco once again. A smaller set of shows to last year, and in a small and intimate setting for this immersive theatre production. This time it's related to Lewis Carroll's worlds and life. Similar to last year's The Boy James, more static and less interactive than some of their have been. Generally good, but one or two bits felt a little too similar to some of their past shows. 4*

Isy Suttie at Pleasance was another funny, well done telling of the tale of her friend's relationship. Cheery comedy, with some good songs in it too, generally feel-good with laughs. 4*

Horne Section was late night music and banter in the Spiegel Tent. Quite a bit of live jazz, with some standup and silly games thrown in, not to mention the crazy but great Jazz/Morris Dancing Crossover version of a Beyonce song! Some good guests too the night we saw it. 4*

Street Dreams - Little Cauliflower at Underbelly. A puppetry show, but not really as you know it. Instead, an amazingly done piece of abstract storytelling, as an old man goes about his day pestered and chased by a variety of everyday objects. Sweet, funny, sad, brilliantly done and engaging. A little hard to describe, true, but an enchanting hour not to be missed! 5*

Which One's Fergal by Garrett Millerick at Just the Tonic at the Caves. A series of strong character sketches, satirical but well done, with a great mix of laughs and cringes. Garrett weaves his way between God's gift to Advertising Execs, a Traffic Warden, a failed motivational Hip-Hop singer and more. Biting but funny, a solid 4*

Flanders and Swan - Tim FitzHigham and Duncan Walsh Atkins at the Pleasance. An excellent hour of Flanders and Swan songs and tales, with just the right amount of sillyness (the music stand french horn anyone?). 4*

Seagull Effect - Idle Motion at Zoo Roxy. The Oxford based group were back again, after last year's great The Vanishing Horizon, this time with a tale of the 1987 hurricane. Once again they had a great mix of theatre, multimedia, and the odd bit of dance and physical theatre. The stories of different people interleave with archive footage and sound, with stories swirling together as the storm approaches. Great stuff, but not quite as good as last year. 4*

Belt Up's 20 minutes to 9 - back to C Soco for another Belt Up production. This one-woman immersive show takes us through recollections, stories and social observations of an aging apparently well-off woman. At times funny, others odd, almost always engaging, but you're never entirely sure quite what's going on, in that way that Belt Up can do well. Great stuff, but not quite as good as they have been before. 4*

Sammy J with Potentially at Underbelly is last but not least. Back again with stories, songs, and silly anecdotes that slowly stitch together to reveal the ridiculous but true linked narrative. Cruise Ships, Possums, a mystery man with a death wish in a red g-string, children's stories and a hell of a lot of laughs fill the hour. On top form again, 5*

Only 19 shows this year, in just over 3 days, but I'm sure we'll get the show count back up again next year!
link

Streetcar - first experiences [Aug. 13th, 2011|06:31 pm]
A bit over a month ago, the friend who was letting me borrow their parking space moved out of Oxford, and the cost of renting a space was a bit insane given how little I drive at the moment. So, I sadly sold my car (it's found a good new home down in Devon!), and I decided to get by with just renting cars as needed.

(I had been hoping that CommonWheels would be able to get a space near me, and either adopt my car or get a new one to go there, but alas they couldn't get the council to give them a parking space)

CommonWheels don't have any cars near me, but Streetcar have 3 within a 10 minute walk of my flat, so that seemed a good bet for getting a car when I needed one, especially as they offer rentals as short as an hour, and have a nifty online booking system. I managed to find a signup voucher with £40 of credit (no longer available sadly, but this link will get you £20), and I figured that the £40 of credit would help offset the ~£60 signup fee for the year.

As they said it might take a few days for the license check, I signed up just after selling the car, as I figured I should probably try to be organised and get it all sorted before I actually wanted to book something. As it turned out, the license check was completed very quickly (a quick conference call with streetcar and the DVLA and it was sorted), so I was actually good to go sooner than expected. This did present a slight snag, as the £40 "welcome credit" I'd got turned out to only be valid for 30 days, and not for the year as I'd expected... Luckily the streetcar team are nice and friendly, so when I emailed them about this they extended the validity of the welcome credit by a few more weeks, so it was still valid when I came to want to use the car for the first time.

A little over a month after signing up, I finally had a spare weekend with a vague excuse to do something needing a car, so I booked the nearest car to me for as long as my welcome credit would allow. The car nearest to me is one of their swisher cars, a BMW, so I only got 9.30am - 3pm for my credit, rather than until 4pm if I'd gone for the Golf that's a few minutes further away. Still, I figured a BMW might be fun to drive, and it's nearer! I booked the car online, confirmed with my friends when I'd pick them up, got a friendly confirmation text and read their helpful instructions online about the car.

Roll on to this morning, and it was time to give it a whirl. I got to the car just after half 9, eventually found it (not in it's space as the booking said, but not too far away), figured out where to wave my streetcard to open it (magic box on the dashboard), and unlocked the car. In the glove box was the magic widget as expected, I tapped in my pin and it gave me the keys. Then it was onto the first challenge, checking for damage.

When I do a normal hire car, they normally have a sheet with all the existing damage marked on it (certainly with Hertz, less so with some of the others). It's then a quick walk around the car checking that everything's on there, then you're away. With Streetcar it's not so simple. In the instruction booklet is the damage log, but each bit of damage has it's own entry, and for this car the damage log went over about 5 pages. So, as I walked round the car, at each thing I spotted I had to check each (small) entry over many pages to see if it was mentioned, then move onto the next scratch and start again. It was really rather tedious to not have a summary, but have to check each thing in turn. Then the bad news, there were a couple of scratches not in the log. This meant a call to Streetcar to let them know, on their 0845 number (so instead of the call being free with inclusive minutes, I had to pay 35p/minute to call them, grr...). The call to let them know about the damage was fairly quick, but did have a rather long recorded message first, and as well as getting a damage reference for the log book I was also able to alert them to the fact that the car hadn't been left very clean inside as it was supposed to be. Having written the details in the log, I could finally hop in, adjust the mirrors and be off. I'd say the process took about twice as long from arriving to driving off as it's taken me the last few times I've got a car from Hertz, which is a bit pesky.

The car itself was fine, nice to drive, and after picking up my friends and running some errands we headed south to visit a National Trust property (Basildon Park near Reading, worth a visit!). Around 2pm we headed back, figuring an hour should be fine.

One of the conditions of hiring a streetcar, along with not leaving it a mess, is that you need to return it with at least 1/4 of a tank of fuel. The car had only just had over a quarter of a tank when I collected it, which meant I was the one standing when the music stopped. The cars all come with a fuel card, so all you need to do is swing by a petrol station, fill it up, charge it to the fuel card and you're away. Not too bad, but it does take a bit of time to do, or slightly longer if you're like me and tried to go to a petrol station that wasn't where I thought it was, doh! This meant I was cutting it a bit fine to return the car for 3pm after all, so we tried texting (my passenger rather than me I should add!) to try to extend the booking by 30 minutes. A rather nifty feature I must say, just a shame someone else had booked it for 3pm... At 2.58 when we were still a few minutes off making it to the carpark we rung up to say we'd be late, and were told that they'd let the next person know but we had a few minutes grace. On returning to the carpark at about 3.03 we found someone else had parked in the streetcar space (it has a sign and everything!), so we had to find another space and ring customer services once again to let them know where the car was. Just as we were leaving the carpark we spotted the next people getting to the car, sorry for making you a minute or two late whoever you were...!

Finally at home I checked my account to see the cost. As we'd driven to near Reading and back, we'd clocked up 61 miles, of which only 20 were included in the hire. That means there was an extra charge of £9.43 (it's 23p/mile, as shown on their pricing page). Having filled the tank up I know that's more than the cost of the diesel, but not too much more and they've a business to run. I'd also got a £3.62 "Unauthorized Extension" charge, I guess for being a few minutes late. Total cost was £52.93, or £12.93 after the credit. If I'd gone for the VW Polo that's a 10 minute walk from my flat (rather than the BMW at 5 minutes), it would only have been £41.81 for the 5.5 hours.

Out of interest, I checked with Hertz about how much it'd cost to hire from them. They're just over a 10 minute walk from my flat (just past the Streetcar VW Polo), so if I was to go for the cheapest streetcar they're probably a fair comparison. On a weekend, they're only open on Saturday mornings, so not as convenient. However, to hire a car slightly bigger than a VW Polo from Saturday morning to Monday morning, their website quoted me £43.60 (plus any petrol used). For the same journey I'd just done, that would mean a cost of about £50, but instead of only having the car for 5.5 hours, I'd not have had to worry about being late back, and I'd have the car for all of tomorrow too. Streetcar want £105 for to have their polo for an equivalent 48 hours, that's with 40 miles included, which seems rather bad value. In the week Hertz are open a lot more, and they only want £22.40 for a 24 hour hire (plus petrol). Add in a bit of fuel, and any hire over about 3 hours looks to be cheaper to go with Hertz, which was a surprise to discover. That's not even taking account of the £60/year Streetcar fee.

Overall, the process with Streetcar was ok, but averages out not quite as quick and easy as Hertz, but certainly better than other car hire places I've used. Cost wise, if you just want a car for an hour or two, it's handy and (fairly) quick and better value than a taxi. For me though, any hire over a few hours and I'm better off just going with Hertz for the day, as long as I'm not doing a last minute night or Sunday booking. It's a bit disappointing to discover this, but at least now I know. I'm sure I'll be using my Streetcar membership a lot more this coming year, just only for short trips or last minute things, otherwise you'll find me heading to Hertz for a longer hire, or on the train!
link

The Microsoft Binary File Format Validator [Jul. 18th, 2011|10:45 pm]
I first got involved in Apache POI back in November 2003 (or so a check of the archives tell me!), which is almost 8 years ago as a write this... Back then, documentation of the Microsoft Binary File Formats was pretty slim on the ground, and there was quite a bit of reverse engineering needed. If you'd told me then that in 2010 I'd be in Seattle at a Microsoft event on the public documentation on the file formats, I wouldn't have believed yet! Despite this, the Documentation is public (and has been for some time), and at the end of last year I did head out to Seattle for the Office Binary File Format Plugfest.

One of the neat things about the plugfest (beyond learning lots, meeting other people developing similar libraries to read the file formats, and reporting docs bugs in person to their authors) was the Binary File Format Validator Tool. One of the few frustrating things was that I couldn't share the tool with anyone else... Good news though, as it's now out of private beta, and you can go learn about it and grab a copy from here! (It's technically Windows only, but it seems to work just fine under Wine)

Short term, I think one of the biggest uses for the BFF tool for POI will be for those dreaded bug reports of "I've got a file that seems to show a bug, but I can't let you have the file". Hopefully now the user will be able to run the BFF against their input file, and check it's valid. If it's not, then we know it's probably not our fault that it can't be read, and the user can go and speak to whoever wrote the software that generated it. In the case that the input's fine, the BFF can be run on the POI generated output. If this flag's a problem, then it'll hopefully come with the nifty details and docs references to help us fix it. No more "it doesn't work but I don't know why", and instead "option 5 should only be 0x3 when there are fewer than 32 entries, then it has to be 0x7, but POI has 0x3 hard coded". Link to the spec, a link to the problem code, and maybe even a patch too. Well, we can dream.... :)

Longer term, we'll hopefully hook up the BFF to some sort of integration testing, to be run every once in a while, to alert us to when we're generating files with issues. That said, the BFF is stricted than Office is, so we'll need to fix up all the cases where Office lets us get away with something the spec doesn't technically allow, so we're warning free. This may take a little while to work through, so volunteers and patches are very welcome, please come help us!
link

BarCampApacheSydney [Nov. 16th, 2010|11:26 am]
Having had a great time helping to organise a BarCamp in Oxford in June as part of Transfer Summit, another in Atlanta as part of ApacheCon, plus a few at Apache Retreats, it shouldn't be a bit surprise to hear that I'm helping with another in December.

What might be a bit different about this next on is that it'll be in Sydney! Yes, by popular demand, and thanks to several excellent and hard working volunteers on the ground, we're going to be having our first Apache event in Australia!

BarCampApacheSyndey is to be held on Saturday 11th December, at the The Darling Centre at the University of Sydney. In keeping with the Oxford BarCamps, we'll be doing a meal on the Friday night, then a full day's BarCamping on the Saturday.

If you're going to be in (or near!) Syndey around the weekend of Saturday 11th December, you can get more details on the event, plus sign up, on the website: http://barcamp.org/BarCampApacheSydney. See you then!
link

Upcoming Conferences [Sep. 21st, 2010|04:00 pm]
This weekend I was at the Apache Retreat in Hursley, near Winchester. As you would have hoped from a weekend-long conference with Tipis and the ground floor of a former stately home, it was a great event. See the photos for yourself! Several people asked me about what other conferences I was doing this year, so I thought I'd do a quick write up.


First up is the Alfresco Developer Conference in Paris, which is the 20th and 21st of October. It looks like I'm only going to be there for the Thursday now (owing to a Microsoft binary formats event), which is a shame as it's looking like a great two days. I'll be talking about two related Alfresco services, the Content Transformation Service and Metadata Extractor Service. I'll be looking at what these services do, how to make better use of them, and how to extend them. Quite a bit of this will be around the new work for 3.4 which uses Apache Tika to deliver support for a large number of new formats.

For more information on my talk, you can watch the video interview I've done as part of the conference promotion. More information on the event is at http://www.alfresco.com/about/events/devcon/


Two weeks later is ApacheCon in Atlanta. ApacheCon runs for the whole week, from Monday 1st to Friday 5th November (which means I can't be in New York for the 2nd Alfresco DevConf, why do these things always have to clash?). It's looking like a great conference, and I'm going to be quite busy there, talking, organising and attending! The Monday and Tuesday see the BarCamp un-conference, which should feature loads of great sessions and discussions on new and existing Apache technologies.

The main sessions run Wednesday - Friday, and here I'm running the "Content Technologies" track. I'm kicking off the track with an overview session, which should give an introduction to a lot of the many and varied content related projects at Apache. Hopefully, it'll also whet the appetite of people for the rest of the track! The track will then continue with talks on various content areas, from the new CMIS standard + Apache Chemistry project which helps you build applications backed by content stores, through PDFBox and POI, to how convert your application to be content driven. The chances are, your application deals with content somewhere, so come along and learn how Apache projects can help you!


Finally, I'm hoping to help with running an Apache BarCamp in Sydney in December. The Apache committers in Sydney are currently in the final stages of booking the venue, so hopefully this can be confirmed and announced shortly...
link

Fringe 2010 [Sep. 5th, 2010|10:36 pm]
[Tags|]

Note - This post has taken a little longer than planned in the writing....

After a couple of days hiking near Glen Affric, I made it to the fringe for the Friday afternoon. My first few ideas for what to see were thwarted by shows having sold out, but by just gone 4pm I'd started my fringe trip for 2010!

Friday

First up was The Leeds Tealights at Underbelly, which was a random picked based on the 4* reviews on the fliers. It was a 4 person sketch show, 3 guys and a girl, which set up the dynamic for a fair few of the skits. Most of the skits were only a few minutes long, so they got through a lot of material during the hour. A couple of them were absolute gems, most were fairly good for most of the time, and only a few fell completely flat... Overall, I'd give it 3*, and it was a fun and lighthearted start to the fringe!

Next up was the stunning Tabu out on Leith Walk. The non-central location allowed them to have a large big top as their venue, setup for standing rather than seating. It was billed as a circus show, but turned out to be so much more. Firstly, there was the live band, providing a musical backdrop to the show, often accompanied on vocals by the performers not doing acrobatics at that moment. Secondly, it wasn't just the (amazing!) acrobatics, the pieces changed and were woven together which each other, and the music, to provide a narrative for the show. It wasn't a static show either, instead the whole audience was moved about between pieces to create the appropriate gaps and spaces for the next set. Finally, the acrobatics themselves - stunning! Very varied, covering most major circus and acrobatic styles, stunningly well executed. It was a wider range of things than Circa (from last year), so not every piece ended up as developed as in that, but with the music and the thematic links between pieces, it was a wonderful performance. 5*


Saturday

My 2nd day at the fringe kicked off with Shakespeare For Breakfast at C. With free croissants, and being one of the few early starting plays, this is a usual favourite of ours. This year source of inspiration was King Lear, and their modern, silly take on it worked quite well. However, it's by no means the best production they've managed in all the years we've seen them... Good start to the day though, 3*
Was a zany version of King Lear, solid 3*, but last year was better

This is Belt Up's third year at the fringe (2 years ago they did The Red Room, and last year The Squat as C Soco). They were back at C Soco again this year, with a series of immersive theatre set in The Room Above. The first of their shows that we saw was The Boy James, which was a very intimate and immersive show. A boy, his older friend/self, the joys of childhood adventures shared, and the loss of growing up. Amazing stuff, an excellent 5*

Next up was another Belt Up show, The Second Star to the Right, carrying on with the JM Barrie theme. It was an almost hypnotic at times performance, with some lovely dance-like parts, as 4 actresses took us through bits of the Peter Pan story. 4*

Roam at Zoo Southside was a piece of modern dance by a company we'd seen in previous years. Unfortunately, this year's show had no real narrative, but that did still leave us with some amazing dancing and great music! The dance was great as ever, 4*

Vanishing Horizon at Zoo was largely back to theatre, though with some almost dance-like physical elements in places. A variety of interwoven stories covered the history of women aviators, family discovery, and the perils of trying to make a radio play... The stories fitted well together, and apart from a few iffy timings in the fictional bits (the historic factual parts seemed fine!), worked well. There was frequent, very impressive use of a large number of suitcases as props, and great physical parts using them to link everything together. Interesting and engaging theatre, 5*

For a lighter note, we opted for Amateur Transplants again this year, and were rewarded as they were on top form! This year's show featured both of them, and focused more on the excellent shorter funny songs, rather than fewer longer works. As ever, it was dark and silly medic humour, but hilariously done! No-one left through being offended either... Back up to their previous 5* standard again.

Finally was Geraldine Quinn (@geraldinequinn), for some musical Australian comedy. The show was about modern pop music, and featured some excellent, cutting songs and dance routines, exposing and ridiculing the faults of the pop industry. 4*


Sunday

Carrying on with Belt Up shows, we began Sunday withBelt Up's Oddssey. This was another excellent immersive piece, in one of their smaller venues, and powerfully done. However, while the re-setting into a dystopian future was good, it did sometimes make it tricky to entirely follow, so largely one for people who already know the original! 4*

Hunchback of Notere Damn at Pleasance wasn't the only production of the story running, but was one of the good ones! Set in a smallish venue, it was a one man show, a powerful portrail of a poignant tale, 4*

More Belt up, this time Belt Up's Metamorphosis, with their take on Kafka's tale. It was interesting staging, but I didn't find it as well translated as last year's "The Trial", so it ended up being that little bit to odd for my tastes... (I realise that Kafka isn't supposed to be normal, but still!) I rate it 3*, but many others in my group gave it 5, take of that what you will!

Over to Pleasance for our first of two boxing shows - Beautiful Burnout. This proved to be an excellent mix of story, monologues, group pieces, physical theatre and some dance-like fights. It did a great job of showing all sides of it, and worked well no matter what your knowledge or feelings on boxing were to start. An excellent 5*

Another fun Australian musical comedy followed, in the form of Sammy J. This was our third time seeing him, and he remained as great as ever. True, you often question his sanity, but you laugh all the same! Songs and stories, probably almost all true, of his more recent past (last year's show did the earlier parts), and very funny. 5*

Putting It Together by Sondheim was a late night almost-musical show. Rather than being a full Sondheim work, it was a collection of his songs around the themes of love and marriage. The songs were done well, but the pick'n'mix feel that went with the lack of any real narrative was the slight snag. 4*


Monday

An early start, and for a full length play - History Boys at Greenside (again one of several productions). As one would have hoped from the reviews from previous years, this was a good story well told. The direction largely worked well, and it was a solid 4* production.

Then for something a bit darker - Blackout at Underbelly. This dark, depressing, excellent piece of physical theatre told of one young man's journey to mindless violence. Based on a real story and real interviews, it was dark but great. 4*

Pluck were back again this year, relocated to the Gilded Balloon. Once again the trio impressed us with some crazy slapstick whilst managing a fairly decent rendition of a classical music concert at the same time! It wasn't quite as good as their previous show, but is was still good fun - 4*

Belt Up's Lorca is Dead was I think their best show of the fringe. Belt Up are always surreal to some extent, but the chance to play the Paris set of surrealists, debating and retelling the life and death of Lorca really lets them into their own. Strange, but great! 5*

More Belt Up followed, with Belt Up's Atrium. More great immersive stuff, weaving in and out of the different fantasies of a dying writer dictating his memoirs. Some great silly costumes too, but I must remember not to be a tiny bit more reserved when sat at the front, lest anyone have to see another one of my 5 second Kafka looks...! Good show though, 5*


Tuesday

Ovid's Metamorphoses at #edfringe, told through the medium of 40s music, a few great bits with puppets, and some fun physical theatre! 4*

Others by Paper Birds, who for the previous two years did the stunningly powerful and amazing In A Thousand Pieces. This year they'd sent letters, and then questionnaires to a number of women they felt to be interesting, and different `(other) to them. The play again featured three actresses, moderately minimal props, but this time was light-hearted for parts. It was made up of the letters sent and received, the responses not received, the actress's ideas of what the responses might be, and the discussions that led from them. Parts showed the similarities between apparently different women, parts the unexpected differences, and parts the terrifying cluelessness of the actresses (I think, well, hope, largely hammed up!). In the end, it was a lighter piece than last year, but ended up not quite so powerful and thought-provoking. Still great stuff though, 4*

Hamlet! The Musical - You'd probably expect this to be dreadful, but it actually turns out to be silly and quite good fun! 3*

NewsRevue were on fairly good form once again. A few of the tory jokes seemed a bit rehashed from the 80s, but the Nick Clegg puppet worked well! Throw in some good characatures, and several Glee related songs, and you have a fun hour. 3*

Finally the last show of the Fringe - Shadow Boxing. This was a one man show, about not only being a boxer, but the personal growth and discovery that lay around it, and with some good twists as it went along. Not as good as Beautiful Burnout, but a solid 4* none the less.


And after 25 shows, that's it! During the course of the fringe, I tweeted short reviews, which seemed to go well (based on in-person feedback from many of my friends, and from twitter comments), so I'll probably do that again next year. The above are hopefully longer and more thought out reviews, though as they vary in being written between 1 hour and 2 weeks after the event, they do vary somewhat...!
link

Playing BBC HD and ITV HD on a DVBWorld DW2104 [Jun. 12th, 2010|06:07 pm]
Having got fed up with the ropey reception on Freeview, due to ongoing problems with my local transmitter (engineering works, fires, too windy for helicopters, the list of excuses is impressive...), I decided to pick up a DVB-S adapter for my mythtv box.

The snag with having a very small, low power mythtv machine is that all the adapters need to be USB, which does limit the choices of linux compatible DVB-S adapters. However, a bit of browsing of the Linux TV wiki and some patience with ebay searches paid off, and I was able to pick up a DVBWorld HD 2104.

With the help of this site, I was able to get the firmware for it, and it was quickly up and running. I followed this guide to get things running, which largely worked for the SD channels.

However, despite the scan of the Astra 28.2E and Eurobird 1 satellites showing me both BBC HD and ITV HD, I was unable to get either working with MythTV or mplayer. Trying in mplayer I saw:
nick@minimyth:/dev/dvb/adapter1$ mplayer dvb://2@"BBC HD"
MPlayer UNKNOWN-4.4.3 (C) 2000-2010 MPlayer Team
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dvb://2@BBC HD.
dvb_tune Freq: 10847000
Cache fill: 18.85% (1581056 bytes)   
TS file format detected.
VIDEO MPEG2(pid=5500) AUDIO MPA(pid=5502) NO SUBS (yet)!  PROGRAM N. 0

But nothing played. Using szap myself to capture a bit of the stream myself, and trying with that, I got sound but no picture:
mplayer /tmp/HD
MPlayer UNKNOWN-4.4.3 (C) 2000-2010 MPlayer Team
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /tmp/HD.
Cache fill:  0.00% (0 bytes)   
TS file format detected.
VIDEO MPEG2(pid=5500) AUDIO MPA(pid=5502) NO SUBS (yet)!  PROGRAM N. 0
MPEG: FATAL: EOF while searching for sequence header.
Video: Cannot read properties.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...


The key thing to spot here is that mplayer thinks it has MPEG2 video. However, both BBC HD and ITV HD are H264 when broadcast over Freesat! After some googling, it turns out that there's something up with how the dvb-s scan program outputs the channel lines. The easy option is to tell mplayer to use a workaround for this, by passing in an extra option to mplayer - -demuxer lavf

Thus, the easy way to play BBC HD on the DVBWorld card (my 2nd DVB adapter), the command is:
mplayer -demuxer lavf dvb://2@"BBC HD"

This largely seems to work fine, though the sound sometimes drifts which needs a quit and restart to work.

However, it is possible to also hack channels.conf to contain the correct details to "just work(TM)". This seems a bit black magic, but you need to run mplayer with "-identify", pick the PMT_PID (via trial and error...), and add this into the channels.conf video entry with a plus. Thus, my channels.conf entries for the HD freesat channels are:
BBC HD:10847:v:0:22000:5500+259:5502:6940
ITV1 HD:10832:h:0:22000:2362+288:2369:10000
ITV1 HD:10935:v:0:22000:513+289:641:3851

By adding in the correct PMT PIDs, I can then just do mplayer dvb://2@"BBC HD" and it picks the correct video and starts playing! Still has sound drifts though, which I think might be slightly worse than with lavf but I've yet to double-blind test...

Next up, time to make MythTV believe the stream is H264 too!
linkpost comment

Mentoring and Incubation at the Apache Software Foundation [May. 25th, 2010|03:54 pm]
I'd like to give my personal view on the Apache Incubator, and how I see my role as a mentor of an incubating project with that. This post explains my views, and while it ought to chime nicely with official policy, there might be the odd error, and so this isn't official foundation policy. But first, a bit of history on how I ended up mentoring a project.


I've been using Apache software for a very long time now, and I'd guess I first played with the webserver back in something like 1996 or 1997, which seems a very long time ago.... I'd say I first properly got involved in Apache with POI when I started with Torchbox. A check of the archives shows I first started contributing patches back in 2003. I stayed around on the POI list after that, contributing more patches and helping out with user questions, and then in 2005 everyone had got fed up of committing my patches without changes, and I was granted committership.

In 2006, I attended my first ApacheCon, and had a great time whilst learning lots. In late 2006, I was elected to the Jakarta PMC, and discovered a whole new world as I learnt about PMCs, the board, how the ASF works and so on. This didn't put me off, and in May 2007 I helped POI leave the Jakarta umbrella, becoming PMC chair. At the 2007 ApacheCon, I'd gone to lots of foundation related talks, and began to learn in detail about "The Apache Way", which is partly how I ended up as the new POI chair. Roll forward to 2009 and I found myself giving talks on "The Apache Way", having in the mean time made member. Late last year I also joined the new Apache Community Development project, helping out with mentoring, outreach and so on.


It's been quite a long journey, from my first involements in apache, through my first commits and on to today. It has taken me a long time to learn about "The Apache Way", to really understand what it means, and get to a position where I'm able to try to help others to learn about it. It's really great to be able to stand up in front of an audience, and talk to them about open source, open development, and apache-style open development, and see that moment when someone gets it, understands part of why it's so powerful. Well, I say stand in front, but quite often it could just be sat in a pub, or even on the grass in a circle, enjoying the Irish sunshine!

Since starting at Alfresco, I've also become involved in the Apache Incubator, and I'm currently a mentor of the Apache Chemistry incubating project. Having explained how I got here, I'd like to look at what I think this role of mentor involves, and using Chemistry as an example.


Firstly, what isn't it? Well, I'd say a mentor isn't a committer. Sure, a mentor can also be a committer, and it's great when that's the case. However, I'd see those as two distinct roles, and you may sometimes need to switch hats. It's great if mentors can commit code, since it helps ensure that if there is any pain from the incubation process, one of the mentors quickly feels it too, but I don't think it's in any way required.

What is in the role of mentor then? I'd say the most important, and over-arching role is to teach the podling (incubating project) about The Apache Way. You can't do this in one go though (see above - it took me at least 4 years to get to the point that I was happy enough with my understanding that I could pass it on!), but you need to be trying to pass it on as and when you can. Partly this means watching the mailing lists, and offering insight and advice when things happen. Or don't happen. Possibly especially when the don't happen...

Within the incubator, various things need to happen whilst the project is there, and others before graduation can occur. As a mentor, you need to help everyone understand why they need to do something, as well as helping them do it. For example, the requirement that as much as possible of the project's communications should be on-list, and off-list things should be relayed back. It's no good just saying "no", you need to explain why, explain what gets missed if you don't, explain the benefits of doing it The Apache Way. With Chemistry, the big test for this was with in-person meetup in Munich back in March. Many of the committers were there, but certainly not all. I explained on-list beforehand why it was important to keep the list updated, then spoke again about it at the meeting. During and after the meeting, everyone who couldn't make it seemed very happy with how it had worked out, and how their views had been included. We also now have a record of those discussions to check back on if an architecture question surfaces again in future. Overall, it seemed to work well!

Three things that often cause issues within the incubator are IP clearance, releases and new committers. With all of these, the podling needs to do some work, and then the incubator PMC needs to sign off on this. Firstly in this then, the role of the mentor is to help the podling do the thing right, pointing that at documentation as needed, advising them on their process, and reviewing what they've done. When everything is fine, you then need to put on your IPMC hat, and approve it. Next, you need to prod your friends within the IPMC to ensure that a quorum approves the action, so the podling isn't stuck waiting. Finally, you need to ensure that the podling understands why and how to do it, because after graduation they'll need to do the same thing again, but without the oversight, so they need to be able to get it right themselves :)

Where does that leave us for defining the role of the mentor? Overall, you're there to help the project learn the apache way, both in what to do and why they should be doing that. You should be helping them when problems come up, and trying to spot problems and head them off before they develop. You should be helping the project to do the steps needed to run and graduate (clearance, releases etc), giving them guidance, advice and voting. You should be there to answer questions. If it all works, then the closer graduation gets, the less you'll need to do, as the closer the project will be to running itself happily in The Apache Way!


One thing I should probably point out at this juncture is about in-person vs remote mentoring. You sign up to mentor the whole podling project (while ComDev do have a formal 1:1 mentoring program, the incubator is about mentoring the project), so much of that mentoring needs to be remote, using mailing lists. However, with Chemistry, I found it very helpful to also have a chance to meet and advice many of the project committers in person. Much as the ASF is a global organisation with proceedures and a way of working that handles everyone being disparate and remote, some parts of teaching the Apache Way work best in person. That's partly why I've helped set up the Local Mentors Program (aka take a new contributor out for a drink to help explain the whole thing to them). With that in mind, I'm tempted to recommend that where possible, at least one of the mentors meets at least some of the committers at least once, probably ideally at an Apache BarCamp or conference.


There are many different ways to run a project, be that an open source project or a closed one. I'm a big believer that open development is the right way for many projects, but I'm also fairly well aware of the cases where it may not be the best. This isn't a post about project management and methodologies, though buy me a beer and I'll happily talk at length on the subject! Instead, I want to finish off with my view on why the Apache Incubator exists.

Within the ASF, all projects should be running to The Apache Way. Now, the Apache Way doesn't cover everything, just certain key areas, so each project is free to make their own decisions on how to do many things. It's part of the beauty of the ASF that different projects do try out different things, and share what works well, even if sometimes this leads to a week of discussion on members@.... However, most projects outside of the ASF don't run to the Apache Way. So, for a project to join the ASF, we need to ensure that the licensing is correct, the IP is properly cleared, and that the project runs itself The Apache Way. That's where the Apache Incubator steps in.

So, my view of the incubator is that it's somewhere to do the IP clearance, it's somewhere to sort out licensing and dependencies, but mostly it's a place to learn the Apache Way. Projects come in, they learn, and then the choose to either tweak themselves to fit the Apache Way, or they say "no thanks, that's not for us" and leave to go on their own way. Seems simple enough, doesn't it? :)
linkpost comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]