Thursday, September 22, 2011

So I Upgraded to Lion

At the moment I'm not so sure Lion is better. Snow Leopard was clearly better than Leopard, and Leopard was clearly better than Tiger. Some things are snazzier, but just use extra CPU cycles and batteries. There are some nice features such as just close the lid of your laptop with an external display doesn't sleep the computer. But there are a lot of little problems. iCal doesn't connect which is odd. The new look of iCal, Address Book and Mail is interesting. Apparently they are phasing out iChat because it wasn't in the dock but rather replaced with FaceTime. Why are FaceTime and iChat different apps? Boot time actually seems to be longer. With Windows 8 boot time bloody fast I can't imagine

There are two reasons I upgraded:

1. I got a new MacBook Pro that I loaded to the gills with memory and swapped out the default HD for the fastest thing I could find so I wanted to run the OS that it shipped with.

2. It's usually better to stay up to date rather than lag behind. I typically lag behind if the OS bad or adopt it rather quick if it's good. I held off with Leopard because my printer wasn't supported for 6 months.

Does anyone have any input that I'm missing? Is anything really way better? Is your boot time different than mine?

Update: I upgraded to an SSD drive and maxed the RAM out and now it boots instantly. It's pretty awesome actually.

Wednesday, September 14, 2011

Windows 8 Developer Preview

The Windows 8 Developer Preview is worth a look.

Friday, September 9, 2011

.NET Gadgeteer

Creating little gizmos has always intrigued me. I picked up a Lego Mindstorm on a whim years ago but I always struggled with the Windows 98 requirement. I've had my eye on an Adruino for some time but the .NET Gadgeteer looks pretty interesting. Check out this article:

.NET Gadgeteer - an alternative to Arduino?

Thursday, September 8, 2011

Delphi XE2

Congratulations to my the Delphi team (my old team) for getting this monster of a product out the door. I had lunch with a bunch of the engineers and got to hear some of the war stories. I worked on a lot of the Mac bits so it's nice to finally see that ship. I have some posts written somewhere on some of the RTL functionality that was written over a year ago so I'll have to dig them up, download the trial and see if they are still relevant and post them so everyone can benefit.

You Want to Write Good Software

Before you do anything else promote all warnings as errors.

Do static code analysis. There is software for this, use it.

Try and optimize for readability but understand what is going on underneath. In other words, don't just write code that works, write code that is efficient. Every bit of extra overhead is extra clock cycles or memory that could be used for something else. Everything is going to mobile and extra CPU cycles is battery life.

Expect that your code will last a long time. Someone else will need to maintain the code. So write good clean readable code.

Only document the things that are difficult to understand. All too often I see comments such as "\\ copy this to that". Seriously this is a lame comment. If it is necessary explain why the copy is necessary, otherwise leave the comment out because the copy will be self documenting.

Format your code correctly for the project so someone else doesn't have to do it later which will make all the blames go to that person.

Just take some pride in your code. At the end of the day you'd rather people say "damn that's some nice formatted elegant clean code, I'd love to work with them again." Think of your code as your legacy.

Wednesday, August 31, 2011

Netflix

I went with 1 DVD out at a time. How about you?

Tuesday, August 9, 2011

John Carmack At QuakeCon 2011

At some point toward the second half of the video (it's a really long video) Carmack talks about writing good code which is something I'm always interested in.

Monday, August 8, 2011

Simple Git Usage

To update your repository type:

git pull

To commit your changes type:

git add .
git commit -m "your comment"
git push origin

But there are some pretty good clients out there. For Windows the Tortoise Explorer shell integration is pretty good. And free! For Mac I've found that SourceTree is my current favorite. It works with Git, Mercurial and Subversion. But it isn't free.

Wednesday, August 3, 2011

Making Icons for Mac Apps

The easiest tool I've run across for building icons for your Mac or iOS apps is Icon Composer. It ships with every set of developer tools on the Mac in the folder "\Developer\Applications\Utilities\Icon Composer". You will need 512x512, 256x256, 128x128, 32x32 ad 16x16 images. But it's pretty simple, drag drop images to their respective sizes, save as, done.

Thursday, July 28, 2011

Git Version Control System

There are quite a few version control systems. My favorite for many years has been Subversion. It's still a great version control system but it has some limitations such as every operation requires a server. The latest round of version control systems are distributed and need no server interaction until you want to commit your changes to the central repository. Git, Mecurial and Bazzar are of these latest bread of distributed version control systems. I had some dealings with Mecurial when working on some JavaFX code recently and decided to use Git for my latest project. Others have written great articles about the difference between the two version control systems:

Git vs. Mercurial: Please Relax (Git is MacGyver and Mercurial is James Bond)
The Differences Between Mercurial and Git
Mercurial for Git users

I choose Git because of it's flexibility, branch performance and ability to destroy branches fast and easily. Although Mecurial is easier to use and has way better documentation.

A good Git cheat sheet can be found here.

Friday, July 8, 2011

Google+

And here I was all excited to check out Google+ only to get the error:

"This feature is not available for your account
You must be over a certain age to use this feature."

Apparently I'm too young according to the records that I've never given them. I did a quick search and found that a lot of people are in the same boat. Google, let me know if you fix this. Thanks.

Wednesday, June 8, 2011

Watch The International Space Station Assembly Diagram

Click here to watch the International Space Station (ISS) assembly diagram over the years.