Calibrating a 17-inch Apple MacBook Pro Display – Impressive

January 6th, 2009

product-15in.jpg

As long as the display looks nice, and in my case, my 17-inch MacBook Pro looks very nice, I haven't spent a lot of time worrying about the correct rendition of colors on the screen. You know, is it calibrated for the correct Pantone colors, etc. Well, yesterday evening an old friend twittered that he'd calibrated his display, and it was an amazing difference. Having never done this, I got to thinking: Was I missing something important? So I decided to look into it.

In the System Preferences, Display pane, 'Colors' tab, there's a button to calibrate the screen by a simple process that almost anyone can do. You start by clicking on the 'Calibrate' button:

Color LCD System Prefs

from there, you'll see a new window pop up - you need to make sure that you have selected the "Expert Mode" and then click 'Continue'.

Display Calibrator Assistant

What you'll see is a series of Apple logos within a field of horizontal lines. The goal of each screen is to make the logo "disappear" by matching first it's intensity and then it's shade. After five of these screens, the assistant has all the details it needs to correctly set up the display for the best representations possible.

What I found was that the first time I did this I was a little off. The second time was a lot better. I'm guessing if I did this a few more times I'd be pretty darn good at it. It's a question of know how to move the cursor in the boxes to make the logo disappear. Clever idea, really.

So now I have my laptop's display calibrated, and I have to say, it's different. A little closer to reality, I think. The original "Color LCD" was a little brown (dirty) in comparison to what I have now. Not exactly night and day, but nice.

Acorn 1.5.1 is Out!

January 6th, 2009

acorn.png

The guys at Flying Meat have updated Acorn to version 1.5 and added a ton of new stuff. Chief among the new features is the Brush Tool and it's pretty impressive what it can do. I've watched Gus' demos of the Brush Tool and I have to say, it'll make a tablet buyer out of you. I'm sure Marie is going to love this as we got her a decent tablet for Christmas and she's already loving what it can do in Acorn.

There's a ton of other nice features as well, and a raft of bug fixes. It's really a significant upgrade, and I'm excited about seeing what I can do more easily, etc.

The one thing that's a little odd... v1.5 was released and then v1.5.1 with a test of the updater. But so far, I haven't been able to update to v1.5.1, and on the Flying Meat website, the only downloadable version is v1.5 - so it seems that there's something he has to do to get the v1.5.1 on the update server, or something. I'm sure it's getting worked on.

MacWorld 2009 Rumors

January 5th, 2009

keynote_sm.png

Even without Steve, it's clear that something is going to be shown at MacWorld tomorrow. The most likely ones seem to be about Snow Leopard - due out the first part of this year. There's also the possible update to the Mac mini. There's the news that the updated 17-inch MacBook Pro will not have a removable battery like the current 17-inch has, the word being that the new battery has a significantly increased energy storage - upwards of 50% more.

Now this last bit makes me hopeful for a quad-core 17-inch MacBook Pro. The new battery may be necessary to keep the 'lifetimes' of the machine in the same ballpark as the existing machines. It's certainly possible with Intel's recent announcements about more mobile quad-core CPUs available - and Acer's announcement that they will be shipping a quad-core laptop.

Thankfully, with Twitter so common this time around, it'll be easy to listen to the updates from the keynote. I would surely like to see the quad-core MacBook Pro... but I have my doubts.

Entering the Land of XML and C++ – Xerces-C

January 5th, 2009

cplusplus.jpg

Today I started looking at the XML tools available to me in C++ as I have a project coming up that is going to need to have XML document creation and accessible from C++. There are certainly several libraries to choose from, but after talking to friends about it (at some length) I think the best thing is to use Xerces-C from the Apache Project.

It seems complete, feature-rich, and as with all Apache projects, it's got to have been hammered on for a long time to make sure there are so few bugs it's as good as fool-proof. There was one issue, however, and that was with the documentation.

In the package for Mac OS X (version 2.7.0, 32-bit) the formatting of the DOxygen comments is not very nice. In fact, after looking at the web pages on the Xerces web site and the docs I downloaded, the difference was two little CSS includes:

    <link href="doxygen.css" rel="stylesheet" type="text/css">
    <link href="tabs.css" rel="stylesheet" type="text/css">

I was fixing up the HTML files in the doc/ folder, but then realized there were a ton of them and needed an easier solution. So I did a little digging, and noticed that the one CSS file that was properly imported was XercesApi.css in the same directory. So to that file I simply added the two lines:

    @import url(doxygen.css);
    @import url(tabs.css);

With this, and a few other well-placed <br> entries before the <h1> tags, things are looking much better. Now I can build this on my Mac as well as linux and things should be fine. I really needed the docs online, and this does the trick.

An Interesting Statement from Steve Jobs on MacWorld

January 5th, 2009

keynote_sm.png

This is an interesting note from Steve on his reasons for not attending MacWorld for the keynote. His reasons are purely selfish, and I understand every one. Seems very reasonable, and unfortunate that he has to defend his health every time he's not looking and acting like the Steve of a decade ago.

Alas, that is the cost of having told the world you have cancer. Sad, but true.

I really enjoy his parting comments to the continued cycle of rumors - addressing this not to the analysts, as they are always going to do what they do, but instead, to the Apple faithful:

I have given more than my all to Apple for the past 11 years now. I will be the first one to step up and tell our Board of Directors if I can no longer continue to fulfill my duties as Apple’s CEO. I hope the Apple community will support me in my recovery and know that I will always put what is best for Apple first.

Go ahead, Steve, have the Holidays off. You deserve it.

Perl 5 Moves to Git – Impressive Change

January 5th, 2009

gitLogo_vert.gif

I read this article this morning and I have to say that I'm very impressed. To get all the changes and version control from the entire Perl 5 project into Git is clearly a significant body of work. Additionally, I have to say that I'm really pleased that they chose Git, as I did a few months ago, as I believe it's really the future of source control for non-institutional developers.

There's no way a big place is going to allow developers to control their own repositories, but that's really only a small part of all the development that's being done. Several small to medium shops don't want the overhead, and all the open source software is perfectly suited to this tool. I'm glad to have gone through the curve and seen what I needed to do. Don't get me wrong, I'll still have CVS for a long time to come as I don't feel the need to convert off it yet, but it's nice to know could, if I needed to.

Interesting SQLite3 Wrapper from Gus Mueller

December 31st, 2008

SQLite3.gif

In keeping with the digging I've been doing with SQLite3 this morning, I found this link on a web site discussing Objective-C SQLite3 wrappers. I happen to think Gus' work at Flying Meat is really nice, and given that, it's probably a pretty solid piece of code. I like the fact that it complements CoreData in that it deals with the data in the database as just that - data in a database. The object-level abstractions are great for CoreData, but if I have data that I need to store in a database that's not an object representation, for some reason, then I want this kind of access to make it easier to get to.

I'll hang onto this link just in case, as SQLAPI++ doesn't have SQLite3 bindings and I know that I might very well need them sooner or later.

Fun with SQLite3 and Base v1.1

December 31st, 2008

Base.jpg

This morning I decided to do a little digging into SQLite3 after thinking about CoreData more and talking to a friend who uses it a lot at his Shop. Interestingly, it's a file-based database system, much like MySQL, but in this case, they update the database only once - at night, and then it's read-only all day long. Because it's a file-based database, it's going to be very fast to get the data out of it. Sure, there will be limitations - like I can't really do foreign keys - yet, but they say they are working on it.

But it's got stored procedures, triggers, and C/C++ extensibility. So there's a lot there to like - considering it's the basis of CoreData. So the engineers at Apple must have seen something in it, and my friend says it's rock-solid and "just works". So I started digging.

The command-line interface, sqlite3 is nice - very similar to other tools in this genre, but I have to say that the output of simple requests like select * from person are a lot nicer in PostgreSQL than SQLite3, but there's a ton of flexibility in the output format in SQLite3, I could just be missing it.

I happened across a neat tool - Base, that is a Mac GUI to SQLite3 databases. It's clean, fast, and at v1.1, it's got a lot of room for improvement. I'm hoping that they add a few things - like preferences for the fonts in the table views, and the ability to re-arrange the columns on the data and SQL output panes. It's got a lot of promise, so I registered it to at least support them in their efforts.

So I'll see what I can do with SQLite3 - I'm thinking there's an app in here waiting for me to write. Not sure yet, but it is nice and fast, and dovetails with CoreData so nicely... it seems a waste to miss this opportunity. Feels right... we'll see what I dig up.

My 47th Birthday

December 31st, 2008

Cake.jpg

Well... another day, another month, another year and my birthday is here. It's been an interesting year, full of a lot of surprises and unexpected moments. Work was not what I'd have hoped, but in the end it payed the bills. The kids are doing well, Liza is fantastic. In the end, it's a year a lot like the last, and I'm guessing a lot like the next.

So here's to a new year and a fun birthday!

I’m a Sucker for Rules, and I Pay for it Every Day

December 30th, 2008

cubeLifeView.gif

I'm sitting here thinking how much I dislike the situation I find myself in and I realized that I'm as mad at myself as anyone else. Face it - they're doing everything they can get away with, and I'm the idiot playing by the rules. Who's the smart one? Not me.

I work with some people that I have to wonder what their motivations really are. They are a lot like people on the interstate - they push the rules until they think they can't get away with anything more, or they see people getting in trouble for similar actions. They are realizing that the "rules" aren't really rules, but just guidelines in case someone asks so it seems to be a level playing field.

But it's not. Not even close.

If I were a little smarter I'd see this daily and simply push back. I'd say "Hey, yeah, I'd love to, but I'm a bit busy now. You can do it." and then be done with it. Or I could tell people that I needed something today when I don't need it for a week and then when they give it to me tomorrow I still have it in plenty of time to meet my deadlines.

But silly me... I tell the truth.

So I get to do all this crap work, and I do it. I don't say "No." I don't think what I can get away with - I think what's the right thing to do. I'm going to pay for that every time in this environment. No question about it. There's always someone willing to undercut an honest person when there's no real cost to it. It might even been seen as clever by some.

The question is not if things will change - I know they won't. The question is when will I learn that it's time for me to leave. That's the only real solution. I'm not going to be someone that competes with them on their own level - I'm no good at it, and I don't want to.