Two weeks ago my venerable iRiver H340 decided that this whole battery powered thing was so passe, and refused to run for more than 5 minutes at a go before declaring that it was done, and should be plugged back in. This is an incredibly unuseful state for a portable digital audio player. My attempts at open heart surgery to replace the battery appeared to go well, but the H340 no longer thinks it has any battery now.
During this digital outage, I posted off to the MHVLUG lists asking for possible opinions on new players. My requirements were:
- Must support UMS (USB Mass Storage). Rsync is the way the universe intended us to move data around, and I'm not interested in using someone else's DRM laced protocols (which may or may not work in Linux) to get access to my player. Hence no iPods or "Plays for Sure" players.
- Relatively large storage. The H340 is a 40 GB HD. I just rsynced everything over to it, and didn't need to decide in advance what I wanted on my player. Small flash drives are nice, but they don't support the way I use a player.
- FM Radio. My H340 had an FM radio in it, which I thought was an odd feature at first. Then I had power issues at the house, and I used it to listen to NPR while I worked from home waiting for the power company to arrive. In the last year I've started to use my player while mowing the lawn (under some really nice ear protectors). If it's Saturday or Sunday morning, I like listening to Morning Edition while I do it. I might be able to live with a player without FM, but I really wanted it there.
- Ogg support. While this is less of a requirement than those above, I have some content ogg only, and I really didn't want to deal with converting or reripping that content. Plus, I haven't sent Thomson my 3 quarters yet.
This very quickly narrowed the field. The winner of my search turned out to be the Cowon A2, which is a 30 GB player that also does movies.
There are so many good things about this player, including the fact that it ships with a GPL notice in the box, and that it does USB host support (so you can transfer data to it from other USB devices). However, a single feature that I didn't even know it had in advance has sold me on this device forever.
One of the items in the top menu is Recent Files. In recent files is the last 10 files that you have stopped viewing/listening to. These files can be of any type the player supports, and the reason for stopping can be anything (power shut off, pause, jump to something else). It stores the files, as well as your position in them, so they can be resumed directly where you were previously. This is bloody brilliant. No more needing to wait to get to the end of a CD in an audio book before I jump to the latest podcast I pulled down, to avoid having to seek for 5 minutes to figure out where I was in the audio book. For this single feature, I would recommend this player.
So here's to at least another week in geek nirvana with my new toy, and now I finally get to see the cover art that is embedded in the drunk and retired podcast episodes. 🙂
The greatest value of vacation is it snaps you out of your normal routine. In the absence of the standard trappings of the 21st (as we were in rural Wisconsin and Minnesota for the entire trip), I brought a stack of books. The two books that actually got some attention were "Serious Creativity" by Edward De Bono, and "The Language Instinct" by Steven Pinker. Both are non fiction.
Serious Creativity is a book that sums up all the Lateral Thinking methodology that I learned last year in my leadership classes. The book largely overlaps with what we learned in the class, concept fan, provocations, random word, etc. While the book is great, I'm honestly not sure how much sense it would make to someone who didn't also do 2 days of training on the techniques. There were a few new interesting bits in the book though, like the introduction of the 6 thinking hats (a much more interesting way to run meetings), and some comparisons of western and japanese biases around putting products into the field (which helps explain why there are so many cool new things coming out of japan all the time).
The first semester of my junior year of college was my death semester. I took the following 4 classes:
- Advanced Quantum Mechanics. Yes, it was as hard as it sounds. This class was by far the most challenging, and rewarding class that I took. The class often produced up to 40 hours of homework a week, and the 24 hr take home final (which was 6 questions) took me 18 hours to complete (21 hours walk clock time, as I slept for 3 hours in the ITS Helpdesk before going back to complete problem 4).
- Radiation and Optics. This was the 3rd and final Electricity and Magnetism class in the Wesleyan Physics Dept E&M sequence. While not nearly as challenging as Quantum, R&O was taught by my favorite instructor at Wesleyan, and was a hefty chunk of work by itself (6 - 8 hours a week).
- 3rd Semester Ancient Greek. A 3 person class (which meant there were some occasions where it was a 1 person class) in which we translated 3 of Plato's works. This represented the end of my ancient greek studies as I didn't put in the work required to really get to the next level (due to Quantum swallowing most of my time).
- My blow off class, Chomsky Linguistic Theory. Learning rules of transformational syntax, applying them to arbitrary English. The optional book for this class was Steven Pinker's Language Instinct, which I bought. However, you may understand why I never actually opened the book while at school.
I had tried digging into the book a few years ago, and gotten about 50 pages in, before it went back on the shelf, though I still can recall much of the discussion on how pidgin languages are formed. I decided to start where my bookmark was an journey on from there. It turned out to be a great idea.
I'm about 3/4 through the book, hoping to finish in the next week or so. Pinker sets out in this book to explain why language can't be a fully learned skill, i.e. there must be some innate structures / skills that let us acquire language. There are a few things that are a bit dated, as he goes to explain why audio transcribing software of the time (1995) fails miserably, however the bulk of the book holds up very well a decade later. It many ways it lays out some pretty reasonable explanations of where the hardware / software boundary of our brains lies, which parts are field programmable when it comes to language, and which parts aren't. I love books like this, as they generate a lot of new random neuron firings, and make you think about all kinds of things in different ways. It's like mountain biking for your brain.
It's funny to think that such a fun and interesting book has been staring at me for 10 years, and it takes a week away to actually pick it up. But that's what vacation is for, to break you out of your routine. 🙂
The good thing about changing technical focus is all the new exciting things to learn. The bad things is... all those new exciting things to learn mean your development output drops to the floor for some period of time. It's always a frustrating window of time, be it a month or two, where you feel like an idiot. Having done these changes enough times in the past, I know this too will pass. That doesn't change the fact that while you may have read 200 pages of developer documentation on a given day, your emacs buffer looks eerily similar at the end of the day as when the day kicked off.
Inevitably, you hit a break through, and now all that example test code that didn't compile, and you didn't know why, starts working, and patterns fall into place. Yesterday I had such a moment of clarity around C# and ADO.NET (which is MS's db interface layer). It turns out that in the function "SqlConnection(string)", Sql doesn't mean "generic sql engine". Sql actually means "MSSQL vendor extension". Some set of compile errors yesterday got me to on a lark change that to SqliteConnection, and stuff worked. A lot of stuff worked, all at once.
I had to step back from the computer and make sure no evil spirits had come or gone in the process. Leave it to microsoft to very clearly muddle the difference between "something generic", and "something only we have", as to them the whole world looks like something only they have. Boo microsoft!
With that set of filters back in hand, the O'Reilly books around C# are now falling into place much more quickly. The persistence engine for OpenSim should have a good first pass by the end of the day, and I'm not feeling so stupid any more.
I also have to give MS some credit on ADO.NET. While C# looks a lot like Java, the patterns and objects they created for database interfacing looks way more like a dynamic language (be it php, perl, or ruby), especially on the read side. Read site, what will take 50 lines of code in C#, would probably be 200 lines in Java. So not boo to microsoft there.
Time to get back to that emacs buffer.
Steve Yegge's OSCON 2007 keynote is up online now. It's a great talk, even if the slides didn't work during it. He also finally lets out what the Next Big Language is, which he's been alluding to for a while in his blog.
I'm really glad this got posted online, as this was one of the talks at OSCON I really wish I'd been there for.