Apr 18

Status on theme changer

Posted by Colin

After some updating our theme changer is compiling and running. One issue has been much of the theme changer gui code was based off of Triage Group’s frameworks, which I have been told will stay closed source. As such I’ve been going through and removing use of the frameworks.

The good news is Martin Monz of Triage Group has offered to contribute to our theme changer. He will be re-writing our pxm parser, providing the ability to create pxms from scratch and adding altivec and hopefully SSE acceleration. He is also the author of the patcher our theme changer uses (to give credit where it is due, we do use Mach_* as a base).

Apr 17

I’ve had quite a few programming jobs, taken quite a few CS classes, and worked on quite a few platforms, so I just thought I’d share my thoughts on what programming languages I enjoyed working in and those I didn’t. (Catalyst 0.8 is coming together, the host was down on Thursday, otherwise I would have posted before Easter weekend, apologies.)

I learnt programming on a dual floppy SE with HyperCard when I was in 3rd. I watched a 6th grader making one of those Myst-like games and he was using the flash command to make the screen flash. At this point it was pretty easy to figure out what he was doing. I watched him change the number after the flash command, and the flashes changed correspondingly. (For those who have never worked in HyperTalk, the syntax is literally “flash 5 times” or “flash 5″ for short.) I ran off and tried playing with the flash command on another school Mac, and when I went home I uncovered a copy of Hypercard, installed it, and flashed away. Eventually by trial and error I figured out more commands. Trips to the library were spend seeking out a HyperTalk book and gleaning it for new commands. Eventually my parents bought me HyperCard 2.3, which came with manuals. I still have the software and manuals to this day.

From there I moved to RealBasic when the OS X transition came. It seemed to be the best way to bridge the gap between OS 9 and OS X. I had learnt C in 6th grade, but never messed with Carbon. In my line of work, I did eventually mess with Carbon. I’ve also learnt ASP, PHP, Objective C, C, C++ and Java to name a few.

First, I hate Java. The language itself is ok. It’s C like. It’s object oriented. I passed my Java AP Computer Science test (they moved from C a few years ago.) My problem with Java is the forms API’s. Whether AWT or Swing, I just don’t like the form API’s.

To illustrate my hate for Swing/AWT, I submit the following story. Once we were assigned to program a game in Java in an introductory CS class at the University of Portland. I was put in charge of the GUI. Rather than code in Swing or AWT, I simply filled the window with a 3D view and proceeded to code the whole GUI in OpenGL. We had the nicest looking GUI (I don’t think anyone else had a 3D game board), and I had avoided AWT/Swing, and probably saved myself time in the process. I was happy.

While I was coding the GUI I made use of the Java Media Framework’s box class. Anyone who knows their Java also knows there is a Swing class called box. I happened to be displaying my OpenGL view inside a swing box, and trying to insert a JMF box inside of said 3D view. Needless to say these conflicting class names made Java angry. It wasn’t a hard bug to fix, but it was just another “What were they thinking?” moment. Why would the JMF people use a class name shared by the box class in the Swing framework, which just happened to be a commonly used class by programmers?

My other hated language is C++. Well, hated might be too strong a work. The idea of the language is good. Object oriented? That’s nifty. The Standard Template Library? That’s a great idea. But something just makes me feel dirty when I code in C++. And I can’t even quite put my finger on it. There is a quote that best sums it up for me:

“C++: an octopus made by nailing extra legs onto a dog.” - Steve Taylor

Maybe I’ve just been spoiled by Objective C. But C++ just looks ugly. Frequently when working in C++ it seems like C++’s syntax is fighting the natural flow of the code. The language is full of good ideas, but it just lacks elegance. C++ is like trying to pound nails with a flathead screwdriver.

Languages I do like? I like MIPS and PowerPC assembly. I like Objective C (No… really?). I like flat C. These are elegant languages. They are simple, streamlined, and built to do their jobs. Objective C can be a little slow, but it makes it easy to code applications. I’m of the belief it’s better an application gets coded rather than the application being forever in production in a language simply chosen for it’s speed benefits, but that’s just me.

The other reason I’ve taken a liking to Cocoa and C is because (Cocoa at least) keeps your code pretty separate from the actual interface itself. Change the interface in RealBasic and you risked breaking some of your code due to the lack of segregation. Well coded Cocoa code stays fairly independent of the interface.

Apr 11

Bug Fixing

Posted by Colin

New build of Catalyst is almost ready:

Notice the preview button has made an appearance. That’s right, this build will let you preview your theme using our theme changing engine on either PowerPC or Intel Mac OS X, no Rosetta required.

Also of note I’ve fixed a huge bunch of bugs with the image editor. I’ve removed a lot of extraneous code, making the whole thing overall faster and not flaky. Non destructive Core Imaging now is extremely reliable, and you no longer can destroy the original by importing an image. Yay!

Currently I’m being held up by a bug in the Carpe Stellarem pxm code. It’s trying to write a 32 bit image into 16 bit pxms. When I fix this it should fix the pxm corruption bug that’s been occurring.

Apr 10

Theme Preview Unibin

Posted by Colin

I’m releasing our theme preview for Catalyst 0.8 for testing. We use this program internally for testing rsrc files without applying them to the system. Theme Preview is a program which has a built in theme changer. Basically, it opens a little test environment using a custom theme. I’ve left out the code that lets the built in theme changer change the theme of other applications, so don’t expect it’ll make all your applications look fancy. In order to use Theme Preview, drop the Extras.rsrc file you want to preview on the root of your hard drive and name it Extras2.rsrc (name it this whether you are on an Intel or PowerPC based Mac). If there is no Extras2.rsrc file at the root of your boot drive, or the Extras2.rsrc file is built for the wrong platform, Theme Preview will simply crash.

http://whitemagiclabs.com/Downloads/ThemePreview/ThemePreview.zip

This program will be nicely wrapped inside Catalyst 0.8.

Edit: Link fixed now. Sorry, I forgot to tell GoLive to upload my changes.

Apr 9

Robert X Cringley predicted over the weekend that Apple would release OS X for normal PC’s. I think he’s right… with a few exceptions. The following may seem to some people to be insane banter, but hey, what else is new?

First, Apple would never release a retail version of OS X for everyone to just load on their machines. The result would be a tailspin in Apple’s market share.

Instead, Apple would partner with a company like Dell. Under the terms of such an agreement, Apple would probably only allow Dell to sell OS X based machines to business users, and it would dictate the hardware that OS X could be loaded on (read as pretty low end). Dell would be supplied with TPM chips that it could put on it’s boards for those machines only. This way OS X couldn’t simply be copied off these machines and run on a non-licensed box. The Dell OS X boxes would come loaded with either Mac OS X or Windows, or both. They would also be powered by Boot Camp.

Why would Apple do this? Many businesses have contracts with Dell that state that said businesses can only buy computers from Dell. Also, many businesses only trust the Dell name. To many IT departments, Apple’s are home computers that have no place in business. In addition, they don’t need fancy hardware. They need something for email and word. With Dell shipping Mac OS X based machines, OS X could become a viable and affordable option in business. Machines could also be deployed and switched between OS X and Windows based on employee preference.

Apple wouldn’t sacrifice their image. The machines would only be available to businesses. Sure, you’d have home users trying to buy these Dell Macs, but the hardware shipped on these machines would be so bad that by the time these users had upgraded the machines to something decent for not business use they’d have spent the same amount that a new Mac would have cost them. Apple gains an entire new audience for OS X at the same time. People who’d use Dell Macs at work might buy Apple Macs for home.

Apr 6

Previous Panics

Posted by Colin

Apple introduces the Macintosh - Apple II users panic, declare end of Apple and the Mac
Apple switches to the IBM PowerPC - Anti-IBM Macintosh users panic, declare end of Apple and the Mac
Apple axes the Newton - Newton users panic, declare end of Apple and the Mac
Apple releases the iMac - Anti-colored computer, ADB and SCSI using users panic and declare end of Apple and the Mac
Apple announces OS X - Anti UNIX Apple users panic and declare end of Apple and the Mac (ok, so I was in this crowd…)
Apple announces switch to Intel processors - Anti Intel Mac users panic and declare end of Apple and the Mac
Apple releases Boot Camp - Anti Windows Macs users panic and declare end of Apple and the Mac

Number of times Apple or the Mac has died: 0

Apr 5

Why I like Boot Camp

Posted by Colin

I don’t think Boot Camp is the end of the Mac or OS X, I really think it’s the beginning of a new era of OS X.

Let’s face it. Mac users buy Macs for Mac OS X. If you didn’t want to use Mac OS X, you would have bought a PC. Apple releasing Boot Camp isn’t going to suddenly cause Mac users to convert to Windows.

As of now Apple doesn’t sell any Macs to all Windows shops. The worst that could happen to Apple is they sell the same number of Macs to current Mac users, and all Mac’s they sell to Windows users are used only for Windows. The net result? OS X’s market share doesn’t change, and neither does Windows’, yet Apple has sold more hardware and made more profit. This is assuming no one who bought a Mac to run Windows isn’t eventually converted.

But now everyone is worried companies will stop producing Mac software. The question is really… why would they do that? Again, OS X’s market share isn’t going to be changing. People who find it profitable to continue doing Mac versions of their software will continue doing so. People who don’t find Mac software because it’s not profitable for them most likely weren’t making software for the Mac in the first place and will continue not making software for the Mac. At worst, we’re again at the status quo. Any company who decides to can the Mac version of their software in favor of having everyone run it via Boot Camp was probably looking for an excuse to cancel the Mac version anyway. But, if dual booting attracts any converts, the Mac OS X market gets boosted and we get more software for Mac OS X. Front Row can’t really damage the Mac platform.

The other worry is game developers. The above probably still generally applies to them. I think, however, game developers need to can PowerPC versions of their software and go Intel only sooner than later. It’s pretty likely doing the port to PowerPC takes the most time, and the Intel port probably not so much. By no longer porting to PowerPC, game developers and porting houses can reduce the time needed to get a Mac version of a game to market, hopefully extremely close to the Windows version, and combat end users using Boot Camp to run Windows games that aren’t out for Mac yet. I think the games market is a special case in this Boot Camp debacle because buying Windows and running it on your Mac could save you money if you’re a gamer. It’s cheaper to buy Windows XP, the PC version of your favorite when it hits the bargain bin, then buy the Mac version when said game hits the bargain bin. The porting houses just need to release closer to the PC version.

Myself, I’ll be using Boot Camp when I get my Macbook Pro. In all seriousness I’m also selling my PC. It’s a 3.2 ghz Pentium 4 (overclocked to 3.6 ghz, goes as high as 3.8). Has PCI Express, AGP, Firewire, USB 2, 5.1 audio, tons of stuff. I’ve got an X700 PCI Express graphics card in there… Anyway, if you’d like to buy it, send me an offer.

Apr 5

Boot Camp

Posted by Colin

Excuse me, I have to go break out the I-told-you-so dance mix I put together…

Apple today released Boot Camp, software that lets you run Windows on your Intel Macintosh.

One of my predictions for the Intel switch was that Apple would use it for Windows compatibility to attract switchers. Of course no one ever listens… :)

Apr 4

Extras2Extras2

Posted by Colin

I’ve had a few requests for this, so…

Extras2Extras2 is a program that converts an PowerPC Extras.rsrc to an Intel Extras.rsrc. Still only pxm’s at this point, but I’ll work in a fix for this around schoolwork and coding for other projects.

This program only works on Intel based Macintoshes. Because the Extras2.rsrc is not present on a PowerPC Mac, it won’t work on a PowerPC Mac. Sorry.

As an added bonus I’ve released the source to this app! It shows just how easy it is to convert a resource file using ThemeKit, our framework of theme related code.

Application:
http://whitemagiclabs.com/Downloads/Extras2Extras2/1.0/Extras2Extras2.zip

Source:
http://whitemagiclabs.com/Downloads/Extras2Extras2/1.0/Extras2Extras2Project.zip

The application is a bit rough, but if someone wants to be enterprising they’re welcome to mess with the source. ThemeKit still hasn’t been finalized, but when it has been, I will release the source for it as well.

Apr 3

Moving In

Posted by Colin

Hm. It seems my web host upgraded WordPress for me. Either that or someone hacked in and changed the skin on my admin page.

Oh well. I’ll start to worry when things start blowing up. That’s always a good plan.

You might notice that the homepage for White Magic Labs is well… white. Very white in fact. This is due to politics, like most things in life actually. When it looked like Carpe Stellarem would launch a new page and a proper web store and ProToys and Catalyst and other programs, I had a web design commissioned in exchange for a favor. This design was never used. Instead they still use my old design (well… it’s not entirely my design… that’s… another story…) So, I’m trying to free the design I had done up, change a few logos, and move it over here. I’m not officially part of Carpe Stellarem anymore, and I thought it would be rude just to pull it off the server and throw it up on my homepage. So I asked them if I could use the design.

I’ll let you know when I get a straight answer.

Edit: I’m also playing with new themes for the blog. This one has the s cut off. Hm. Oh, also I told you I’d release a new Catalyst. Don’t have it yet, but I do have a treat to hold people over instead… I’ve been taking a break being… you know… social… and working on another most likely more profitable program. :)

Edit 2: I’m thinking I’ll sit on this theme for a while. The rest are pretty cluttered and busy. This one is simple yet colorful.