Older blog entries for mikal (starting at number 860)

Old Man's War (2)




ISBN: 0765348276
Tor Science Fiction (2007), Mass Market Paperback, 320 pages
LibraryThing
I've been in a rut recently where I haven't really been enjoying the books I've been reading. The number of books I read has also dropped off a lot since I moved back to Australia. Some of the drop off is associated with living in a house instead of an apartment -- there is constant maintenance work to be done, and I might never finish painting this place. However, I was worried that perhaps I simply wasn't as into reading as I was a couple of years ago. So, I decided to go back and read a book I enjoyed before, and see if I still liked it. This was that book.

The answer is hells yes. This book is still fantastic, and I really enjoyed it. I also knocked it over in a time similar to when I was in the US. So, its not me that's broken -- its the books I'm reading. I need to find more books to be enthused about, instead of letting reading be a chore.

Original post about this book.

Tags for this post: book john_scalzi combat aliens engineered_human old_mans_war age colonization hugo award human_backup cranial_computer personal_ai npr_top_100_sf
Related posts: The Last Colony ; The Ghost Brigades ; Ender's Game; The Diamond Age ; Caves of Steel; Cyteen: The Vindication; Battlefields Beyond Tomorrow ; Zoe's Tale; Down and Out in the Magic Kingdom; Cyteen: The Betrayal; Rendezvous With Rama; The Forever War; Speaker For The Dead; Red Mars; Broken Angels; Cyteen: The Rebirth; Friday ; The Sagan Diary; Cryptonomicon; Saturn's Children; Woken Furies


Comment

Syndicated 2011-12-23 15:48:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

Red Mars




ISBN: 0553560735
Spectra (1993), Mass Market Paperback, 592 pages
LibraryThing
This is another book on colonization. To be totally honest I enjoyed the first half of the book more than the second, and I rather thought the book dragged on and could have done with a more vigorous editing. There are sections which are deeply descriptive, but it doesn't progress the story. Overall, I was a little disappointed.

Tags for this post: book kim_stanley_robinson colonization nebula hugo award mars space_travel combat
Related posts: Ender's Game; Rendezvous With Rama; Speaker For The Dead; Cyteen: The Vindication; Foundation's Edge ; Battlefields Beyond Tomorrow ; Mona Lisa Overdrive; The Last Colony ; Forever Peace; The Ship Who Sang ; The Diamond Age ; Cyteen: The Betrayal; Count Zero; The Forever War; Marsbound; Old Man's War ; Mars: A Survival Guide; Cyteen: The Rebirth; Friday ; Saturn's Children; Neuromancer


Comment

Syndicated 2011-12-19 23:41:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

Openstack compute node cleanup

I've never used openstack before, which I imagine is similar to many other people out there. Its actually pretty cool, although I encountered a problem the other day that I think is worthy of some more documentation. Openstack runs virtual machines for users, in much the same manner as Amazon's EC2 system. These instances are started with a base image, and then copy on write is used to write differences for the instance as it changes stuff. This makes sense in a world where a given machine might be running more than one copy of the instance.

However, I encountered a compute node which was running low on disk. This is because there is currently nothing which cleans up these base images, so even if none of the instances on a machine require that image, and even if the machine is experiencing disk stress, the images still hang around. There are a few blog posts out there about this, but nothing really definitive that I could find. I've filed a bug asking for the Ubuntu package to include some sort of cleanup script, and interestingly that led me to learn that there are plans for a pretty comprehensive image management system. Unfortunately, it doesn't seem that anyone is working on this at the moment. I would offer to lend a hand, but its not clear to me as an openstack n00b where I should start. If you read this and have some pointers, feel free to contact me.

Anyways, we still need to cleanup that node experiencing disk stress. It turns out that nova uses qemu for its copy on write disk images. We can therefore ask qemu which are in use. It goes something like this:

On syncing with Google Contacts

So, I started with a new company a few weeks ago, and one of the things I missed from my previous company was having the entire corporate directory synced onto my phone. Its really handy as an on caller to be able to give people a call when something goes wrong, without having to dig around and find their details.

Back in the good old days at Google the way you got this sort of data onto your phone was to run a script written by one of the guys on the gmail team. The script grabbed the LDAP directory, and pushed it into Google contacts, which you could then sync with your phone. Now I wanted something very similar -- especially as the contacts sync stuff with Android is pretty reasonable.

However, I'd never coded with the Google public APIs before, and that turned out to be the hardest part of the problem.

First off I wrote a little script which dumped the corporate directory into a text file. I mostly did this because I wanted other people to be able to run the script in as light weight a manner as possible -- for example, if we wanted to roll this out for hundreds of people, then you wouldn't want to run the LDAP query hundreds of times. The format for my text file is kinda lame to be honest:

Setting up Cisco 7961 IP phones with asterisk



This blog post is just my notes on the installation process I followed. There is lots of documentation out there, but a lot of it is contradictory or incomplete. These notes are mostly about the configuration in my house, and might not work for you. Sorry about that.

The first step is that you need to be running your own DHCP server. Running a simple embedded one in something like your DSL modem wont cut it, as you need to hand out non-standard options in your responses in order for the Cisco firmware on the phone to find the TFTP server you'll set up in a bit. I'm not going to document installing DHCP here, as the Ubuntu packages are reasonable. In fact, the only annoying bit about the packages is that all the config et cetera is in a directory named /etc/dhcp, but for some reason I can't explain the init script is /etc/init.d/isc-dhcp-server. That throws me every time.

You also need to know the MAC address of the phone. This is probably on a sticker on the bottom, failing that it is on the screen during the phone boot process. Absolute worst case, it is in the DHCP logs once the phone starts to boot. The DHCP config for my phones looks like this:

    option domain-name "home.stillhq.com";
    option domain-search "home.stillhq.com", "stillhq.com";
    option domain-name-servers 192.168.1.14;
    
    option routers 192.168.1.254;
    option broadcast-address 192.168.1.255;
    
    option ntp-servers 192.168.1.14;
    option smtp-server 192.168.1.14;
    option time-servers 192.168.1.14;
    
    default-lease-time 600;
    max-lease-time 7200;
    
    option cisco-etherboot-server code 150 = ip-address;
    
    ...
    
    # IP Phones
    group {
      option tftp-server-name "192.168.1.14";
      option cisco-etherboot-server 192.168.1.14;
      option arp-cache-timeout 600;
    
      host cisco-7961-1 {
        hardware ethernet 00:1a:a1:ca:04:5b;
        fixed-address 192.168.1.50;
        option host-name "cisco-7961-1";
      }
    }
    


    I also added the phone to DNS with a reverse entry, but I don't think that is actually required for the phone to work. Next I needed a TFTP server, which is something I haven't bothered to run for years. I used HPA's TFTP server, which again has reasonable-ish packages. One gotcha is that you need to install xinetd as well, and then disable the init script for the HPA TFTP server. As best as I could tell the default non-xinetd configuration simply didn't work, so I don't know why they package it like that.

    Now for the really hard bit. You need to find the right firmware for the phone. I have my suspicions this is a lot easier for the modern Cisco phones, which have a web server by default and can be configured without TFTP. I say this as someone who doesn't actually have one of these phones, but who has read some stuff online about them. These older phones are really TFTP happy, and seem to be constantly chatting to the TFTP server, even if they're healthy. That might be an issue if you're deploying thousands of these phones -- you'd have to monitor TFTP server load and be aware of the extra IO during global phone firmware updates.

    There are two ways to get the firmware for the phones. You can buy a support contract from Cisco for not very much money (around $20 a year), or you can find dodgy copies cached on the internet. If you choose to go the dodgy route, this this Whirlpool thread has some useful advice.

    Next we need to do a factory reset on the phone. This might not be needed in absolutely all cases, but its just safer. To reset the phone, hold down the # key and power cycle the phone. The lights at the side of the screen will start flashing in sequence after a while (nearly a minute). You now press 123456789*0# within 60 seconds of releasing the # key you were holding down. Note as well that the Cisco documentation for what lights flash is wrong, but it didn't seem to affect the outcome.

    The phone is really slow to boot up (several minutes). Once it has booted, it grabs network configuration for DHCP as shown above, and then starts requesting files from the TFTP server. Here's a log of all the requests from my phone booting when its happy:

      $ tail -f syslog | grep RRQ
      Nov 11 06:24:53 molokai in.tftpd[8221]: RRQ from 192.168.1.50 filename term61.default.loads
      Nov 11 06:24:54 molokai in.tftpd[8222]: RRQ from 192.168.1.50 filename Jar41sip.8-3-0-50.sbn
      Nov 11 06:24:57 molokai in.tftpd[8223]: RRQ from 192.168.1.50 filename cnu41.8-3-0-50.sbn
      Nov 11 06:25:00 molokai in.tftpd[8224]: RRQ from 192.168.1.50 filename apps41.8-3-0-50.sbn
      Nov 11 06:25:11 molokai in.tftpd[8235]: RRQ from 192.168.1.50 filename dsp41.8-3-0-50.sbn
      Nov 11 06:25:15 molokai in.tftpd[8236]: RRQ from 192.168.1.50 filename cvm41sip.8-3-0-50.sbn
      Nov 11 06:26:33 molokai in.tftpd[8242]: RRQ from 192.168.1.50 filename CTLSEP001AA1CA045B.tlv
      Nov 11 06:26:33 molokai in.tftpd[8243]: RRQ from 192.168.1.50 filename SEP001AA1CA045B.cnf.xml
      Nov 11 06:26:41 molokai in.tftpd[8244]: RRQ from 192.168.1.50 filename SIP41.8-3-1S.loads
      Nov 11 06:26:42 molokai in.tftpd[8245]: RRQ from 192.168.1.50 filename Jar41sip.8-3-0-50.sbn
      Nov 11 06:26:44 molokai in.tftpd[8246]: RRQ from 192.168.1.50 filename cnu41.8-3-0-50.sbn
      Nov 11 06:26:47 molokai in.tftpd[8247]: RRQ from 192.168.1.50 filename apps41.8-3-0-50.sbn
      Nov 11 06:26:59 molokai in.tftpd[8249]: RRQ from 192.168.1.50 filename dsp41.8-3-0-50.sbn
      Nov 11 06:27:02 molokai in.tftpd[8253]: RRQ from 192.168.1.50 filename cvm41sip.8-3-0-50.sbn
      Nov 11 06:27:59 molokai in.tftpd[8256]: RRQ from 192.168.1.50 filename CTLSEP001AA1CA045B.tlv
      Nov 11 06:27:59 molokai in.tftpd[8257]: RRQ from 192.168.1.50 filename SEP001AA1CA045B.cnf.xml
      Nov 11 06:28:14 molokai in.tftpd[8261]: RRQ from 192.168.1.50 filename /mk-sip.jar
      Nov 11 06:28:15 molokai in.tftpd[8262]: RRQ from 192.168.1.50 filename US/g3-tones.xml
      Nov 11 06:28:18 molokai in.tftpd[8263]: RRQ from 192.168.1.50 filename dialplan.xml
      


      No, I don't know why it requests those files at the start twice either, but it does it across multiple test factory resets. There are two files there which embed the MAC address of the phone into the filename, so you'll have different names for those files in your setup. Note that the file CTLSEP001AA1CA045B doesn't exist in my configuration, and that doesn't seem to have caused anything bad to have happened. Filenames are also case sensitive, so that might make things more exciting for you. Almost all of the other files are firmware.

      I recall creating a file named XMLDefault.cnf.xml which has a bunch of stuff in it, but I can't see any evidence that it is used during the book process, so I think that might have been a dead end that I didn't need to go down.

      The format for SEP001AA1CA045B.cnf.xml is well documented in the links below, so I will leave that as an exercise for the reader. Feel free to ask questions in the comments to this post, and I'll do my best to be helpful, bearing in mind that I am absolutely not an expert at this stuff.

      Here's a list of the web pages I thought were most helpful during my adventure:

      Tags for this post: blog asterisk voip sip cisco 7961 tftp dhcp system_admin
      Related posts: Configuring Asterisk; Using an Intel PCI modem as a FXO card; Worst timing evar!; Building an answering machine using a $10 winmodem

      Comment

      Syndicated 2011-11-10 23:36:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

Leaving Google

Yesterday was my last day at Google. For reference, I figured I'd put an up to date resume online. I'm going to spend a couple of weeks bumming around the house and generally being a nuisance to my family, and then I'll move onto the next thing. I haven't had a vacation where work can't call me in six years, so I'm rather looking forward to the break.

Tags for this post: resume google resume employment work
Related posts: Two more weeks to go; Resume update; Microsoft recruiter makes a good point; Bye Grant and Lindsay; Lindsay googles for herself; Googling for job candidates

Comment

Syndicated 2011-11-07 14:04:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

Speaker For The Dead




ISBN: 1857238575
Orbit (1987), Paperback, 416 pages
LibraryThing
This is the second book in the Ender's Game series, and is better than the novelized Ender's Game, although it is impossible to beat the short story version. Ender has grown a lot over the time between this book and the last, and the story is compelling and believable. I really enjoyed this book.

Tags for this post: book orson_scott_card aliens colonization enders_game time_dilation nebula hugo locus award alien
Related posts: Ender's Game; Forever Peace; The Forever War; Battlefields Beyond Tomorrow ; Old Man's War ; The Last Colony ; Rendezvous With Rama; Marsbound; Cyteen: The Vindication; Foundation's Edge ; Mona Lisa Overdrive; The Ghost Brigades ; Cyteen: The Rebirth; Friday ; The Diamond Age ; Cyteen: The Betrayal; Count Zero; Saturn's Children; Neuromancer; Caves of Steel; Polar City Blues


Comment

Syndicated 2011-10-12 22:40:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

By Blood Alone




ISBN: 9780441006311
LibraryThing
Maybe I've been reading too much combat fiction recently and need a change of scenery. Or perhaps its just that this book isn't as good as the last two (Legion of the Damned and The Final Battle). The characters aren't the strongest, and the plot is weaker than the previous two books. On the other hand, I did finish the book, and don't regret reading it. Oh, the cliff hanger ending is annoying too.

Tags for this post: book william_c_dietz aliens combat combat_suit cyborg bad_commanders legion_of_the_damned
Related posts: Legion of the Damned; The Final Battle; A Hymn Before Battle; Gust Front; Hell's Faire; The Forever War; When the Devil Dances; Isaac Asimov's Robot City: Cyborg; The Fifth Element; Dirk Gentley's Holistic Detective Agency; Marsbound; Life, the Universe and Everything; Polar City Blues; Ender's Game; The Restaurant at the End of the Universe; Anathem; Old Man's War ; So Long, and Thanks For All the Fish; There Is No Darkness; Triplanetary; Destinies Volume 1 Number 1


Comment

Syndicated 2011-10-06 18:22:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

The Final Battle




ISBN: 9780441002177
LibraryThing
I somehow forgot to make a note about this book when I read it, I suspect because I was travelling at the time. This book was as good as Legion of the Damned and an enjoyable read. The book continues straight on from the previous one, and possibly should have been inside the same volume. A fun read.

Tags for this post: book william_c_dietz aliens combat combat_suit cyborg bad_commanders legion_of_the_damned
Related posts: By Blood Alone; Legion of the Damned; A Hymn Before Battle; Gust Front; Hell's Faire; The Forever War; When the Devil Dances; Isaac Asimov's Robot City: Cyborg; The Fifth Element; Dirk Gentley's Holistic Detective Agency; Marsbound; Life, the Universe and Everything; Polar City Blues; Ender's Game; The Restaurant at the End of the Universe; Anathem; Old Man's War ; So Long, and Thanks For All the Fish; There Is No Darkness; Triplanetary; Destinies Volume 1 Number 1


Comment

Syndicated 2011-10-06 18:14:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

The Difference Engine




ISBN: 055329461X
LibraryThing
This is my first steam punk book, and I am not really sure that the genre is my thing. However, the book is clever and interesting and certainly explores an interesting alternate history. The book sort of lost its way in the middle, but picked up again towards the end. Overall, an ok but not stellar read.

Tags for this post: book william_gibson steam_punk england lovelace bruce_sterling
Related posts: The Exterminator's Want Ad


Comment

Syndicated 2011-10-04 00:04:00 from stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

851 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!