Oct 31
JustinSoftware OSX, software, Tic Tac Toe, Windows
I’ve been waiting for this day for a long time. I finally get to release my first Mac app. I’ve been sitting on this for quite some time now, waiting for a time when I’ve got nothing else to post. And in the mean time, I lost the source code for the Mac app, meaning I had to spend the last couple of days rewriting it from the Windows C# version.
A little back story. Way back in June, I released version 1.0 of a tic-tac-toe Windows app. It only supported a two-player mode. At the time of release, I suggested that I may write a version 2.0, that will include support for playing against the computer. I finished that version only a couple of days after releasing the first version, and, as I said, have been waiting to release it.
I’m glad I did. Recently, I’ve learned Objective-C. Meaning now I can release version 2.0 for both Windows and Mac. Both versions support the ability to play against the computer.

The Mac version
I believe it will only run on Lion, but it should be capable of running in 32-bit or 64-bit mode (probably should’ve taken a better look at the build settings).
Download: http://justindaigle.com/files/ttt2mac.zip

The Windows version
Requires .NET Framework 2.0. If you could run the first version, you can run this one.
Download: http://justindaigle.com/files/ttt2win.zip
No, I have no plans to release a Linux version. Ever. Okay, maybe if Linux ever actually attains a decent level of market share… although I guess that’s still never.
I do, however, intend to release an iOS version. It will have features not in the Mac or Windows versions, and will cost $0.99. It’ll be a universal app, and I hope to have it in the App Store by the end of next month.
Sep 06
JustinApple, iOS Apple, iOS, OSX
I apologize in advance for a post that may turn out significantly shorter than usual, but I haven’t posted anything here in awhile, and my thoughts on this topic are too long to express effectively on Twitter, so I guess that mandates a writeup here.
Edit: Apparently I had more to say on this topic than I thought I did.
A few minutes before I began writing this, a person I follow on Twitter (@arkon) suggested that OSX will soon become iOS. And this is by no means an original thought; it’s a fairly widespread rumor, which is why I now feel the need to debunk it.
I’m not saying these rumors have no basis; the incorporation of many iOS-like features into Lion would indeed seem to suggest such a merger of OSX and iOS. I’m simply going to provide the other side of the story, reasoning why such a thing won’t happen.
The conversation went something like this:
@justindaigle: Leopard -> Snow Leopard. Who wants to bet we’ll go from Lion to Mac OS X 10.8, Mountain Lion?
@arkon: @justindaigle More like Lion Cub.
@justindaigle: @arkon Your reasoning behind that is…?
@arkon: @justindaigle I’m kidding, since it doesn’t seem like it’ll be very powerful, but instead move more towards the simple iOS-like stuff.
@justindaigle: @arkon OSX will never “become iOS.” My explanation’s too long for Twitter, but too short for a blog post, unfortunately.
Ultimately, I’m not satisfied with any solutions between a tweet and a blog post, so I’ll go ahead and explain it here.
Why will OSX never become iOS?
Simple. If OSX became iOS, we wouldn’t have a development environment for either.
Consider how iOS development is done. One obtains a developer subscription from Apple, then develops the application in Xcode on a Mac, then installs the application on his developer device(s).
But what if one doesn’t have a developer subscription, and wants to test the waters of iOS development (using an Apple-provided solution; obviously, the better solution is to bypass the need for a developer subscription by jailbreaking)?
The developer (assuming for the purposes of this post that the developer in question does not jailbreak) would then use the iOS Simulator.
Okay, so where are you going with this?
As it stands, the Apple-endorsed solution for testing iOS code without a developer subscription is the iOS Simulator. What would happen if OSX were indeed to merge with iOS, as the rumors in question suggest? There goes the ability to practice Mac development. If you had to purchase a developer subscription to develop Mac apps, how would you try out Mac development first? Using a Mac Simulator? But what would be the point of simulating a device on that very device? My point is that unless Apple radically changes their policies on iOS development (which they probably never will), it would be completely unreasonable to merge OSX and iOS. As long as the iOS development system remains as it is, iOS (along with its development processes) and OSX, while built on the same Darwin core, will remain radically different operating systems.
Developer tools are a requirement for any mainstream operating system. An operating system is only useful if it can run third-party software. If Apple did indeed plan for Macs to run iOS, this would mean that they would have to allow Xcode for iPad, along with the ability to build and run apps created with it on-device. As Macs would be “just another iOS device,” Apple would have no reason not to at that point. As much as I dream of Xcode for iPad (and Apple’s current “PC-free” ethos being promoted with iOS 5 would seem to support this, as they stated that many people are choosing to buy iOS devices without owning any other computer), I just can’t see Apple ever doing this. I don’t think Apple is going to give up the $99/year fee, or the App Store as the sole iOS application distribution platform. Ultimately, merging OSX and iOS would require Apple to allow the execution of unsigned code on both platforms. While this is the way it’s always been on the Mac side, doing so on the iOS side would require that Apple allow what happens on the Mac side (applications distributed by means other than the App Store) to happen on the iOS side. And believe me, if it were allowed to happen, it would happen. At first, I was somewhat perplexed at the lackluster adoption of the Mac App Store. But developers simply don’t want to fork over 30% of their profits to Apple, and if given another option, they generally will take it. I suppose Apple always has the option of requiring a developer subscription to develop and test Mac apps at all, but I highly doubt this will ever happen. First of all, the enterprise would be extremely unhappy. Many firms have thousands of computers, and if a larger one were suddenly required to have provisioning profiles for every Mac in their organization, just to run apps that for any reason must remain in-house (whether because they contain sensitive internal information; or because the application, while absolutely necessary to the organization, would not be approved for the App Store), an incredibly over-complex situation would result. Furthermore, some developers (like Adobe) will never hand over 30% of each sale to Apple, because it would simply be too much of a loss. And no Photoshop on OSX… err, Macs running iOS, would cause a lot of Mac users, myself included, to seek an alternative platform. So ultimately, if Apple would ever merge OSX and iOS, making Macs just another iOS device, they would be faced with two extremely undesirable options: making OSX more closed, or making iOS more open. And while it seems this is where things are headed, Apple has ultimately come as close to this goal as they possibly can without having to make this incredibly difficult choice.
In summary, Macs will always be Macs, and iDevices will always be iDevices. 
Feb 25
JustinApple, Review Apple, desktop, developer preview, Lion, Mac, OSX, review, screenshot
Yesterday, Apple released the developer preview of Mac OS X 10.7 (Lion).
Its intent is to bring features from iOS to the Mac platform.
Packing an updated UI, a new Mail client, Launchpad, full-screen apps, Mission Control, a new FileVault, and more, let’s take a look at how Apple is doing (while the Mac App Store was also promoted as a feature of Lion, I will not be reviewing it since it is readily available for Snow Leopard).

Above is a screenshot of the Lion desktop. Click it to view it in its full size.
Notice how the “light” icon under running apps (Twitter, Safari, and Finder in this case) is not present. Lion no longer exposes the user to the concept of apps that are/are not running.

Next we get to Launchpad, one of Lion’s major new features. Notice how it looks exactly like an iOS home screen, minus the top bar.

Above you can see a folder in Launchpad, once again exactly like its iOS counterpart.
Launchpad can be opened using the icon on the Dock (by default and in my screenshots, the second from the left, right next to Finder), or by using a four-finger pinch gesture on the trackpad, which I find reasonably cumbersome. I wish Apple would enable access of Launchpad via either a more convenient trackpad gesture or a keyboard shortcut.

Speaking of trackpad gestures, they are another key feature of Lion. Among other things, Apple has added an annoying (and default) option that reverses some gestures (it’s the checkbox at the top). They’ve also replaced scrollbars with iOS-like scrollbars that only appear whilst actually scrolling.


Here you can see some of the new user interface elements, along with the About This Mac screen, showing that this is Mac OS X version 10.7. Note the button at the top right of the Safari window. When you click it, Safari is put into full-screen mode, as seen in the second screenshot above. Whilst in this mode, Safari almost exactly resembles Safari on the iPad.

Also new in Lion is a new FileVault. Unfortunately, gone is the option for home directory-only encryption. It has been replaced with an option for full-disk encryption. I found Apple’s implementation of it to be quite impressive. Instead of being asked to log in after the system has booted, you are asked to log in immediately when the system begins booting, therefore allowing your password to be used as the encryption key. I haven’t tested this functionality with multiple users, although I question some of the security implications created by multiple users having access to the encryption keys (which is why I rather the original implementation of FileVault where each user’s home directory is encrypted using his/her own password).


Lion also adds an improved version of Apple’s Mail client, much like the one on the iPad. As with Safari, it too can be placed in a full-screen mode, making it look even more so like Mail on the iPad.

Lion includes a new management view called Mission Control. To be honest, it just seems to be a confusing and buggy replacement for Expose (which was quite useful in its original form).
Random thoughts and opinion:
Lion booted into the 64-bit kernel by default for me. Considering I was unable to make my MacBook boot into the 64-bit kernel at all on Snow Leopard, I’m thinking it may have something to do with the fact that I have Server installed (in Lion, Server is no longer a separate product; it is installable along with the client version).
Mac OS X 10.7 (Lion) offers many new features. Some, like the new UI, are long overdue. Others, like Launchpad, offer innovative new ways to access apps. And the fact that running app management is now far easier makes Lion that much more pleasant to use. However, most likely as a consequence of this, some things have tended to lag a bit. I’ve also found a fair share of bugs, which is one reason why I’m glad I dual-booted Lion with Snow Leopard instead of completely replacing Snow Leopard (if there’s enough demand, I’ll post a guide on this, although sources tell me my method has issues if you’re using Boot Camp). Since Lion is not a final product, I am not going to assign it a rating as is my usual custom in reviews. Nonetheless, if Apple can iron out all the kinks, Lion looks to be quite a promising release.
Feb 10
JustinTutorial, Uncategorized OSX
As I’ve said, nearly the exact same process is used for this as for changing the iPhone OS version, since OSX and iPhone OS are based on the same core, but I’m writing this with more desktop OSX-specific steps and screenshots.
I suppose the question would arise, “Why would one want to do this?” On Leopard, it is incredibly useful in situations where one may wish to install software that claims to require an update that you don’t want to install. I’ll be demonstrating on Snow Leopard, but the procedure is the same on both. In my demonstration, I will be changing the version number from 10.6.2 to 10.7.0. This has no practical use, but will suffice for demonstration purposes.
Before:

Requirements:
1. Mac OS X
2. A basic knowledge of Terminal
Steps:
1. Open Terminal.

2. Type sudo nano -w /System/Library/CoreServices/SystemVersion.plist
Does the file path look familiar from my last tutorial? 

3. Press Enter. You will be prompted for your password. Type it in. You won’t see it on your screen. Press Enter again.

4. Use the arrow keys to navigate to the end of the 10.6.2 under ProductUserVisibleVersion and erase the version number. Enter in a version number of your choice.
5. Repeat for the version number displayed under ProductVersion.

6. Press
X (Control-X) to exit. It will ask you if you wish to “save modified buffer.” Press y. It will then ask for a file name to write. Press Enter to accept the default.
7. Exit Terminal.
After:

Needless to say, to reverse this process, just follow the steps again, changing the version number back to the original system version.
Jan 23
JustinUncategorized Chrome, Firefox, IE, OSX, Safari
Things have been quiet around here lately.
Inspired by this topic on GS, I decided to conduct a study of five major browsers on OSX Snow Leopard (10.6.2, on my hackintosh’d Inspiron 1525
) to determine their RAM usage in comparison to each other.
http://www.geeksmack.net/forums/topic/4006-mozilla-36-and-memory-use/
Before I post the results, some people claim that RAM usage is proportional to the amount of RAM in the PC. My laptop happens to have 3GB RAM (not much, but my desktop has a rather above average 8GB, so it isn’t a big deal).
I had the same three tabs open inside each of them, joejoe.org, geeksmack.net, and twcforums.info.
GS was open to a different page in Safari, since I was using it to post the reply, but besides that, everything was more or less the same.
The images are rather large, so I’m not embedding them. Click the links.
http://justindaigle.com/files/scr/Skitch-20100123-001458.png
Also, notice I had to install IE for Mac to test this.
Why would anyone still be using this? 
http://justindaigle.com/files/scr/GeekSmack_Community-20100123-001847.png
If you look at the first image, memory usage in all five browsers exceeds that of iTunes, which was playing music at the time, and Finder (at first look, Chrome doesn’t, but you have to count it’s helper processes, which are the actual tabs, as well).
By memory usage, the browsers, in order, from most to least:
Safari (226.8MB)
Opera (121.2MB)
Chrome (115.8MB)
Firefox (80.9MB)
Internet Explorer (75.7MB)
My conclusion:
Shame on Apple for making their own Safari the most bloated browser on OSX.
Seems the infamously bloated on Windows Firefox is the least bloated modern browser on OSX.
Yes, IE actually has the least memory usage, but look at the CPU usage. It’s eating up nearly half my processor.
This is because IE is an old PowerPC browser, discontinued ages ago, and emulated by Rosetta.
My suggestion if you’re low on RAM would be to make the switch to Firefox. Since I have 3GB, it’s not so much an issue for me and I’ll stick with Safari or perhaps switch to Chrome.
Also, I find it funny that web browsers, supposedly the lightweight primary application of netbooks, ate up more memory than any other process I had running.
I may do a similar comparison on Windows sometime soon, using the same tabs and the same browsers.