The year I was born

  • 0103 Apple incorporated
  • 0104 Pilot of BBC's »The News Quiz« recorded
  • 0525 First Star Wars movie, »A New Hope«, released
  • 0526 »Stop«-Schild introduced in DDR
  • 1005 Inbetriebnahme U8 Osloer Str.
  • 1013 Landshut (Lufthansa flight 181)
  • 1216 Queen opens tube to Heathrow airport
  • Donald E. Knuth starts work on TeX (summer)
  • Lion's commentary on UNIX completed
  • Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan release awk as part of AT&T UNIX V7
  • Commodore PET released
  • Planetarium Stuttgart opened
  • Death of Schleyer, Baader, Meinhof and Ensslin
  • Innisfree meteorite recovered in Canada
  • »Der Aufmacher« by Günter Wallraff published

And now Berlin

Places I've lived, in near-alphabetical order:

  1. Adelaide (10m)
  2. Bristol (10m)
  3. Blaustein (6y)
  4. Stuttgart
  5. Oxford (4y)
  6. Canberra (3m)

If anyone spots a pattern please let me know...

Leaving England

10 things I think I'll miss... in no particular order at all...

  1. Smoke-free pubs serving Real ale and nuts(!)
  2. Supermarkets with online delivery and automatic checkouts to avoid queues, and Post Office queues everywhere else
  3. Great Asian food from take-aways, restaurants and supermarkets
  4. Chocolate Fudge Cakes, Millionaire's Shortbread, Flapjacks, Banoffee Pies
  5. Breakfast rolls!
  6. Frozen croissants for home baking from Redland Village Bakery
  7. Trips to London
  8. Relaxed, casually dressed people
  9. 3's PAYG 3G that doesn't robinson all the time (like Tchibo's) or expire (like O2's)
  10. BBC iPlayer
  11. Scottish call centres (and waiting for things to go wrong just to hear the accent)

Food from Chinese Takeaways in Berlin is appalling, and I can't even find one that serves yellow bean sauce... nor can I find a greasy spoon to satisfy my breakfast cravings. :(

And the English countryside is amazing for cycling! The most beautiful little villages dotted everywhere and rolling hills with hedges and dry stone walls between them.

JavaScript debugging

In order to simplify JavaScript debugging, it's useful to have the following code in the [Visualizer] section of Common7\Packages\Debugger\autoexp.dat:

;------------------------------------------------------------------------------
;  JSString
;------------------------------------------------------------------------------
JSString{
 preview ( [$e.mChars,su] )
 stringview ( [$e.mChars,sub] )
 children
 (
  #if(!($e.mLength & JSString::DEPENDENT))
  (
   #(
    [actual members]: [$e,!] ,
    #array
    (
     expr: $e.mChars[$i],
     size: $e.mLength & JSString::LENGTH_MASK
    )
   )
  )
  #else
  (
   ; Dependent strings aren't done yet
   #(
    [actual members]: [$e,!],
    #array
    (
     expr: $e.mChars[$i],
     size: $e.mLength & JSString::LENGTH_MASK
    )
   )
  )
 )
}
;------------------------------------------------------------------------------
;  JSObject
;------------------------------------------------------------------------------
JSObject{
 preview (
  #(
   (void *)&$e,
   " [object ",
   [((JSClass *)($e.classword & ~3))->name,s],
   "]"
  )
 )
 children (
  #(
   #(#(#(
   [actual members]: [$e,!],
   #if ($e.fslots[0])
   (
    #(prototype : (JSObject *)($e.fslots[0] & ~7))
   )),
   #if ($e.fslots[1])
   (
    #(parent : (JSObject *)($e.fslots[1] & ~7))
   )),
   #if (((JSClass *)($e.classword & ~3))->flags & 1)
   (
    #(private : (void *)($e.fslots[2]))
   )),
   #(class : (JSClass *)($e.classword & ~3))
  )
 )
}