Thursday, April 08, 2010

The Tech Book Revisited

I used to spend a lot of money on tech books.

As a programmer who is always expanding my horizons and trying out various technologies (and generally trying to keep my skills fresh), I spent exorbitant amounts of money buying fat tomes full of wisdom that would be obsolete, oh, about 15 minutes after I brought them home. Sometimes, they would already be obsolete, by the time the publisher managed to shove them out the door.

The web changed things... up to a point. I no longer need hefty API references, since most API references are published online, and it is considerably faster to search them electronically. If I have some obscure question about how to accomplish something or solve a problem, there is usually a forum or article somewhere that will address my concern. Still, there is usually at least one good "bible" on any given topic that was worth having. What C programmer doesn't have a yellowing copy of K&R on her shelf? What Perl programmer doesn't have the camel book? What webpage will replace our Stroustrup? Our Knuth?

When I was living in Australia, I couldn't take all my books with me from the States. That was when I discovered O'Reilly's Safari. In the beginning, it was most of the O'Reilly library, online, and you could keep a bookshelf, with a few books on it at a time that you could read on the web. Today, the library has expanded to many publishers, and you can buy a yearly subscription that gives you access to the entire library. The subscription is a bit pricey, but if I truly admit to myself how much I was spending on technical books per year before, the price is not unreasonable. It is access to a giant library of the most recent version of nearly every computer book you could ever want. How do you even put a price on that?

However, like all websites containing technical information, Safari presented an interesting usage-pattern problem for me. I can use a physical technical book without taking up any of my precious screen real estate. An electronic technical book, however, uses your computer screen. If I have a second screen up, I am usually already using it for some kind of work. There is a decent mobile version of the Safari site, but I usually only use it when I'm curious about something on-the-go, because my phone screen is just too small to be a practical display for a tech book. So, if I need to refer to something, I often end up with a laptop to my left or right, displaying a book. This is ultimately a waste of space and energy.

A few weeks ago, I won an iPad in a drawing (Thank you, PayPal!). It arrived yesterday. I thought it was pretty cool, but I wasn't sure yet what on earth I was going to use it for. Before the day was out, I was already browsing a tech book on my iPad, while I coded on the desktop. Well, now, there's a perfectly good practical use for my new gadget -- technical book viewer. I wonder what else it will turn out to be good for?

Sunday, December 20, 2009

Save Frequently

I always find reformatting drives to be terrifying.

It's not that it's difficult. I know how to burn an iso, set up my BIOS to boot off of CD, and run the manufacturer's drive re-initialization utility. It's kind of a no-brainer. The thing that truly frightens me is that when I was copying all of my own personal data off of that machine, it's entirely possible I missed a batch of photos, a program, a story, a piece of artwork, or a song. My fear is that I may have created something that will be lost forever. Some little piece of me will be irreparably overwritten by zeros.

I double and triple-check my backups, and then make extra backups. I make sure my stories are all there. I fish around for iTunes songs I won't be able to download again. I marvel about some of the things that were on that drive that I didn't realize were there. There are the photos from Portugal. This wasn't even the same laptop I had in Portugal. How did they end up here?

I make one last check before pulling the trigger. I skim a few lines of one of my stories, just to be sure that this was the copy that had ALL of the text in it, and not an earlier revision. The software warns me several times that I will lose everything -- as though I could possibly need to suffer more anxiety about this maneuver.

Finally, I do it. Gone, gone, gone.

At times like these, I sometimes think I should just start keeping everything in my Subversion repository. Why is my code the only intellectual endeavor worthy of this sort of care? Documents have revisions, too. Music notation is rarely perfect, the first time.

Life is dangerous: Save frequently.

Tuesday, December 15, 2009

Independence Day

I know, I haven't been posting here much. It's hard to post about things when you're, well, busy doing them. But, it's time I spilled the beans in a more public way: I am, at long last, going indie.

I have put up my shingle here: http://pixelsea.biz/

Let me be clear: This does not mean that I am looking for a job. I have a full-time job, working for me. I keep myself very busy, and I would be very cross with myself, if I were off interviewing for other jobs, when I have so much work to do. However, if you have any short contracting gigs, I may be willing to consider having a stab at them, as I am a bit of a scrooge, and don't pay myself very well, yet.

Tuesday, May 20, 2008

Nerd Nation

Every time I hear "Handlebars" on the radio, when I hear the line...
I can make computers survive aquatic conditions.
...I just feel like saying, "Oh yeah? Well so can I. BRING IT!"

Saturday, May 17, 2008

Crime and Punishment

The hypothesis: When we make it more convenient to be a pirate than it is to be a legitimate customer, otherwise legitimate customers will turn to piracy.

We should not be punishing our customers for the actions of those who are not our customers. This makes absolutely no sense. When a legitimate customer has to suffer more inconvenience, frustration, or worse -- degraded content quality -- because of our anti-piracy mechanisms, they will turn to circumvention and non-legitimate sources for our content. The more they have to do this, the more familiar and comfortable they will be with doing so in the future.

We must always strive for a quality user experience at all levels -- including access to our content, installation of our content, and day-to-day use of our content. Remember: Our customers are the ones who paid for our content. We need to take good care of them, and let them know that we appreciate their business.

Wednesday, December 12, 2007

Merriam-Webster 2007 Word of the Year: w00t

In a nod to the power of gaming in modern culture, Merriam-Webster has chosen "w00t" as their 2007 Word of the Year. While I'm not especially fond of l33t (and, in fact, tend to use the number-free spelling of the word), I am thrilled that "w00t" beat out the alleged verb, "facebook." Personally, I feel embarassed for all eight people who submitted (largely differing) definitions for "facebook," and I think that they should be damned to a special hell where they must spend the rest of eternity listening to conference lectures by Web 2.0 evangelists.

Friday, September 21, 2007

Dear Open Source Projects...

If you run the main webpage for a piece of open source software, there should be a very clear, concsise explanation of what that software is on the front page, prominently displayed, where anyone can find it. I appreciate that a lot of open source developers like to maintain a development blog on the front page. That's fine. But, there should be something on that page that immediately indicates to a newcomer what on earth she has found. Release notes aren't of much use to someone who has never touched your software before.

Some Good



The first text on the Firefox webpage is:
"The award-winning Web browser is now faster, more secure, and fully customizable to your online life. With Firefox 2, we’ve added powerful new features that make your online experience even better"

That's not great, because it assumes previous exposure to the product, but at least I can figure out what Firefox is, from that sentence. B

The first text on the GIMP website is:
"GIMP is the GNU Image Manipulation Program. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages."

That's excellent, except it should probably include a link for "GNU," since that assumes knowledge that a naive reader may not have. B+

How about Blender:
"Blender is the free open source 3D content creation suite, available for all major operating systems under the GNU General Public License."

That's great. It concisely explains what the product is, and also links to a FAQ about the GPL specifically tailored to their would-be-users. A.

As for Audacity:
The Free, Cross-Platform Sound Editor
Audacity is free, open source software for recording and editing sounds. It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other operating systems. Learn more about Audacity...

Flawless victory! A+

Some Bad



Bugzilla:
"Bugzilla is server software designed to help you manage software development."

That's pretty damn vague. Luckily, they follow this up with a "More about..." link. C+

What about jMonkeyEngine:
"jMonkeyEngine 1.0 release candidate 1 has been released."

This means absolutely nothing to a new would-be user. I have to hunt around for a "What is jME?" link to figure out what this software is. D

Yafray:
There is nothing but news, here. There are many links to other areas, but none of them link to an "About," or a "What is..." section. If you look up on the title bar, you will see "Free Raytracing for the masses - Y A F R A Y . O R G." Okay, so it's a raytracer. And it's free. But, is that "free" as in Stallman, "free" as in FreeBSD, "free" as in beer, "free" as in free love, or "free" as in Aretha Franklin? (Freedom is so very complicated, these days.) D-


Let's look at GForge:
"GForge helps you manage the entire development life cycle
GForge has tools to help your team collaborate, like message forums and mailing lists; tools to create and control access to Source Code Management repositories like CVS and Subversion. GForge automatically creates a repository and controls access to it depending on the role settings of the project."

It slices, it dices, it even purees! But, what IS it? Maybe you can figure out what it is from the feature soup (It's a, uh, development lifecycle, uh, manager, uh, thingee, with, um, meta-revision-control management stuff. Or something.). Ah-hah, the title bar says that it's a "Collaborative Development Environment (CDE)." If only that were on the page! But, still, that doesn't quite express what it is very well. It's a software project-focused collaborative development environment, like SourceForge. (In fact, it was built upon a branch of the SourceForge codebase.) C+

Xfig:
"The purpose of this site is to provide a central Xfig repository for the diverse documentation and programs available on the web. All the components and libraries will be available at this site, in addition to Xfig drawings."

So, that's what the website is for. But what about the program? D-