The Perfect Storm: A True Story of Men Against the Sea by Sebastian Junger was an enjoyable read. I understand there’s some controversy about the level of journalism and the accuracy, but if you accept it as a narrative-based interpretation of the events, it’s a fun read. If you’re like me, this book will have you spending hours (during and after reading it) on wikipedia reading about nautical information, fishing practices, weather and meteorology.
There’s enough meteorological, nautical and fishing-industry information to make it an educational read, but enough character and narrative to keep you turning the pages. You’ll definitely start to feel something for the crew of the Andrea Gail, and the tension rises with the storm, the rescue attempts and the aftermath. Even if you’ve seen the movie, this book is still worth reading, definitely more information and breadth.
This book started me on a non-fiction-books-about-fishing kick, and I picked up a couple by Linda Greenlaw that were quite enjoyable, and I’d also recommend.
I was in google reader this morning, and thought it might be fun to go through my massive list of feeds and highlight my favorites. I’ve got 178 feeds total, although a large chunk are inactive or dormant (like mine is most of the time), so I’ll probably break this into series of posts. Based on my blogging record, this will take three years to complete. ;)
Presented in no particular order:
Creator of jQuery and consumate javascript hacker.
Former Sun employee, now Google Android advocate, Tim has some good content. His older posts about the WideFinder project were really neat… trying to find which environments made it easiest to take advantage of multiple cores for simple programming tasks.
Creator of Veggie Tales, his old series of posts about the rise and fall of his company, Big Idea, is a great read.
Dave is smart, opinionated, and always interesting.
Thoughts on Java, XML, Mac and random other topics from time to time. Currently doing a neat series on git.
Great source of news about all of amazon’s aws services.
Joe’s a Googler how posts great tidbits. Funny graphs, info about new google apis, general tech commentary and development advice.
Just what the title says. A blog about cool tools. It’s why I have a Skeletool.
This guy is way too smart for me. I have no idea how it ended up in my list, but I enjoy his data-heavy discussion about optimizing algorithms. I think maybe it was this post about benchmarking markdown processors that first led me there.
Steven Levithan co-wrote an O’Reilly book on regular expressions, and his blog archives are filled with great articles about regex and javascript.
A great blog with varied topics of interest to those running their own freelance business. This site and their forums were of great help to me when I started out on my own.
A core jruby developer, Charles makes some great posts about the ruby, the jvm, and other topics.
Who doesn’t want to know about all the cool new geekery to buy?
This one is a bit narcissistic, a feed of forum posts by the developers of KoL. I like to see if I accidentally said something really stupid yesterday.
Eric regularly has great posts about games, game design and community management. This post, Taming the Forum Tiger, is a great example.
Great comic, great feed (full comic is in the feed.)
Fool’s War by Sarah Zettel started off very strong for me, but I was left a bit disappointed. Initially, I was captivated by the futuristic setting, and the initial main character, Katmer Al Shei. The female muslim engineer, captain and shareholder in the tradeship Pasadena feels very solid, and provides for a unique perspective in a sci-fi novel. When Dobbs, the real main character, a female Jester is brought on board to up the rating of the vessel’s rating, things get interesting as things quickly start to go wrong aboard the vessel (Entertainment is highly valued, to stave of the boredom of interstellar travel.)
Unfortunately, as the realities of the situation are revealed, we quickly leave a hard-feeling sci-fi world and enter into a fluffy emotional-cyber-space world. This is where things went a bit off for me. Had this later portion of the novel kept more of a hard science feel, I’d definitely recommend this book, but as it is, I’d primarily recommend it for the unique point of view… certainly worthwhile, but I feel it was weakened by the softening of the plot.
In Conquest Born
by C. S. Friedman is what I’d call a hardcore space opera. It’s not a quick read. It’s not a simple read. Complex names, concepts and characters fly fast and furious. It also feels like a plot on two levels.
First is the background, which is well enough developed to be a major part of the story. This is the Azean-Braxian war that almost seems to have alway been in progress, and has no end in sight. Azea and Braxi are both spacefaring civilizations of basically human form. They have drastically different views on how to handle conquest, genetics, mating and leadership. War is almost a defining characteristic for both civilizations, but often on the fringes of society… the border zone is far enough in the galaxy that it rarely touches the lives of most.
The other plot is of two people… not surprisingly an Azean and a Braxian. Anzha, born a genetic in Azea struggles to find her place. Zatar, born to the ruling class of Braxia, quickly makes a name for himself, striking a deadly blow to the Azean war machine and getting elevated into the leadership council.
As a far-reaching space opera, this is not your typical sci-fi novel, detailing a single journey or discovery. The scope encompasses nearly a century of current events, and frequently segues off into historical background. The unexpected (for me) ending still has me pondering, two weeks later… always something I love in a book. I was fascinated with the explorations of eugenics, phsycic ability, government and space combat.
If you’re ready for a sci-fi adventure that’s not your average space romp, give this one a try.
Fun presentation that Fred Wilson is going to be giving at The Future of Web Apps Conference.
(This post is pretty old, found it in my tumblr drafts folder, but the code still works.)
So, I was showing Mike Canz my shiny new homepage, and what was his reaction? “How come the list of github projects doesn’t automatically update like twitter and the blog feed?”
“I don’t know,” was my reply.
A bit of reading about the github API and a bit of hacking, and Voila!
<script type="text/javascript">
var nongithub_projects = [
{ "name": "jThrottle",
"homepage": "http://inarow.net/static/jthrottle/",
"description": "Throttled jQuery.each() to prevent locking the browser on huge loops",
"fork": false }
];
var projects_to_skip = {"cdm-s-kol-greasemonkeys": true };
function github(user) {
var repos = user.repositories
.concat(nongithub_projects)
.sort(function (a, b) { return a.name.toLowerCase() > b.name.toLowerCase(); });
$('#projects .loading').replaceWith('<ul/>');
$ul = $('#projects ul:first');
for (var i = 0; i < repos.length; i++) {
var rep = repos[i];
if (rep['fork'] == 1 || projects_to_skip[rep.name]) continue;
var url = rep['homepage'] || rep['url'];
$ul.append('<li><a href="'+url+'">'+rep['name']+'</a> - '+rep['description']+'</li>');
}
}
</script>
I’m not going to claim that this code is beautiful, but it’s a fun snippet for a few minutes work.
Be liberal in what you accept, and conservative in what you send
Software should be written to deal with every conceivable error, no matter how unlikely; sooner or later a packet will come in with that particular combination of errors and attributes, and unless the software is prepared, chaos can ensue. In general, it is best to assume that the network is filled with malevolent entities that will send in packets designed to have the worst possible effect. This assumption will lead to suitable protective design, although the most serious problems in the Internet have been caused by unenvisaged mechanisms triggered by low-probability events; mere human malice would never have taken so devious a course!
Not sure why I’ve never seen this before. I guess I never had a call to read the RFC relating to internet host communication layers.
Well that was fun. I made my first ruby gem, learned Jewelcutter and published my gem to gemcutter.
What does this mean? You can gem install rubyknight and then play chess or write some code using a chess board model and engine.
I believe loose coupling is so critical that it should be a board level issue for web companies. Whenever I now hear something like, “we can’t implement x until we have rewritten y” or “x is slow because y is overloaded” I start to dig in, because it suggests tight coupling is the culprit.
Great article by Albert Wenger of Union Square Ventures. [via Scott Rafer’s Blog].
Tumblr has an easily accessible API which outputs XML, JSON and JSONP. A bit of searching didn’t drum up a cut-and-paste solution, but I was able to roll my own in a few minutes. I’m documenting it here, so perhaps Google will lead the next person who needs this to my solution. Just post the appropriate parts of this script into various parts of your site, and it should just work. See it in action on my site.