A Time of Exile

Share

This book is the fifth in the Deverry series, but focusses on a different set of characters than the other books. However, the new plot line is tied in nicely with the previous stories, so there is a nice combination of furthering the overall plot without bogging down in territory which has been covered by the previous books. I liked this book, especially the way it starts out like a sequel to the third book, and then something which feels like an aside becomes the major plot line for the book. Its a great way of introducing a new sub plot without the reader realizing until its well under way, and I enjoyed it a lot. This is a a great book, and probably the best in the series after Daggerspell.

[isbn: 0553298135;0586207880]

Share

Bio of a Space Tyrant: Mercenary

Share

This book continues the story of a poor Hispanic immigrant made good that started with Bio of a Space Tyrant: Refugee. This book is overall much more positive than the previous one, with hardly any of Hope’s friends being killed. The book revolves around Hope’s military career, and the leadership team he builds. Its basically a story of personal magnetism, love, sex, and team work. The technical aspects of this book are a little weak, in a similar manner to the first one — specifically some of the science fiction is hard to believe. Then again if you’re willing to suspend disbelief, this is a good book.

[isbn: 0380872218]

Share

The Dragon Revenant

Share

I knew what happens at the end of this book before I read it, and I thought I’d be upset about it. Funnily enough, by the time we got there the progression of the story made it seem kind of natural. This is a good book, and a worthy addition to the series, however Salamander’s habit of including three words all meaning the same thing in ever sentence gets really annoying. I think I would have punched him in the face if I was one of the characters in the book.

[isbn: 0553289098]

Share

I love my intern

Share

Will Nowak rocks. I have no other way of saying it… He’s been interning with me at work for a few months now (although this is something like his third internship with the company), and he has this amazing ability to dive right into a project and make it fantastic. I say this not only because he’s doing a great job on the project he was handed at work, but also because he’s taken the code for my iTunes replacement (which was always a quick and dirty hack), and done awesome things with it as well. We should hire this guy.

Why am I saying this here? Because I couldn’t contain my delight any longer.

Share

iTunes replacement part three

Share

The iTunes replacement progresses, as a combination of obsession and hobby. Its now good enough that I am using it at my desk at work instead of an iPod (I’m using the HTML interface from home via a SSH port forward, but have a local cache of the MP3s themselves), and the MP101 just works. The MP101 support is pretty basic though, and needs some polish. Overall I’m please with how well it works at the moment though — pleased enough to have just bought a second MP101 off ebay.

I bought the second MP101 because I couldn’t find any good modern uPnP audio hardware clients. Any suggestions?

Share

iTunes replacement progress

Share

I got dug into the iTunes replacement again today. It now has uPnP support, which means that the MP101 I’ve never got to work before finally is a useful device. It only took three years of it gathering dust. I haven’t tested the uPnP support on any other devices yet, so no guarantees there. I will note that my MP101 doesn’t work with MythTV though…

I’m quite happy with my progress… I thought this would be a much harder project. Next stop: iPod syncing.

Share

iTunes replacement

Share

A relatively simple request from Catherine (please sync my iTunes library with reality) caused me to go off in an orgy of python development yesterday. Basically I’m fed up with fighting iTunes every time I want to do something trivial sounding (merge duplicates, rescan a directory for new songs, update ID3 tags from disk, etc). I spent most of yesterday writing hacky python code, and I am most of the way to a solution I prefer.

I’ve got a script which imports my playback history from iTunes (that XML file iTunes exports) into MySQL. I also have a python web server which serves songs over HTTP and uses a flash player and some javascript to record which songs are played fully, versus which songs are skipped. I use that information to decide which songs I like and should therefore be synced to my iPods.

Next steps — iPod syncing, play lists, some sort of business logic for song selection.

The code is at http://www.stillhq.com/svn/trunk/mp3server/.

Share

How Amazon lost the sale

Share

I wanted to buy a couple of hundred dollars worth of stuff this week (some DVDs and a iRobot dirt dog). I added them to my Amazon cart, and went to make sure my wife was cool with the purchases. I forgot about the whole thing until the next day, at which point Amazon had raised the price on those items by over $50! Fine, I didn’t buy them. Today I found the DVDs random in Target for less than the original price on Amazon, and I’ll buy the iRobot thing from Fry’s for a tiny bit more than Amazon originally had it for.

So, Amazon lost the sale by having volatile pricing, and they taught me to go to Target for DVDs instead of buying them online. Nice job Amazon.

Share