BrainOut!
The mumblings of a Christian autistic husband, dad, IT guy and amateur radio operator - Will Brokenbourgh / AF7EC
The Old Mac Encounter
First of all...a belated Happy New Year!
Sorry about not writing for nearly a year...things have been busy. A close family member suffered a rough injury last year and the going was tough for a while. They are on the mend now, so praise be to an awesome God!
For almost ten years I've been a solid Linux and BSD user. I've written open-source projects for Linux and BSD and during conversations with friends and some customers, I have often poo-poo'd Windows and Mac OS X (currently called 'macOS'). I have quite a bit of experience with Windows, Macs, Linux and BSD, so I felt like I had enough knowledge to speak accurately about each. However, a recent experience has changed my mind about Macs.
A couple of weeks ago a local business was closing up shop, and they were selling most of their computer assets. Among these assets were several top-end Mac Pros (the big aluminum ones, not the 'trash can' style). They also had several older white plastic Intel iMacs. The iMacs were decently priced and in good condition, so I grabbed the best one they had on display. I got it home, and suddenly I was taken back to my Mac-using days...and to my surprise, I liked it!
Here is a (stock) picture of the beastie...
In the mid-1990's I was a fanatical Mac snob. When people would mention all of the problems they were having with their DOS or Windows PC, I'd snobbishly state "Well, I don't have those kinds of problems with my Mac!" Man, what a jerk I was back then! Thing is, I did have problems with my Mac, so I was a liar and a jerk! My GeoPort modem would constantly disconnect or otherwise had connection problems, and I was about to throw the whole mess out the window when Apple finally came out with an update that thankfully fixed the GeoPort modem issues.
In 2008 a brother in Christ, and also beta-tester of my now-defunct Visual Basic 6 to REALbasic code converter blessed me with a shiny new aluminum iMac. It had a huge screen and was a wonderful computer. I was still a bit wet behind the ears when it came to OS X, so I didn't know how to use that iMac to its full potential. I also was a part-time user of Linux, but didn't like the terminal back then. So I installed Windows using Boot Camp and mostly used it for programming and supporting my customers. In 2011 or so, the hard disk started acting goofy and the computer couldn't be trusted for day-to-day operations, so my kids got it to watch Netflix with, and I transitioned to PCs running Linux or FreeBSD.
After recently acquiring this old white iMac, I suddenly realized that through all of these years, I've been missing OS X's interface and behaviors. The only thing that I still don't like about the Finder is that you can't really make it display folders before files, but maybe the modern macOS can do that now...? This old iMac is running 10.6.8, and that's the highest I'm willing to take it. I've heard that OS X Lion will run on it, but I'll stick with Snow Leopard for now. Which brings me to a challenging situation...
When you're running OS X 10.6.8, this quickly becomes
a common sight!
Hanging with an old (tired) friend
Time has passed by for OS X 10.6.8, and it shows. The UI elements are very
Aqua-ish. Other elements look a bit dated compared to today's macOS. Aesthetics
don't matter a huge amount when it comes to getting work done, though. And how
is working on a twelve-year-old system with an eight-year-old operating system?
It's surprisingly good, but also sometimes frustrating. As you can see from the above
image, most of today's modern software requires a much newer version of macOS than
what I have. So I either have to compromise and use older versions (like Firefox)
or I build my own stuff.
At first I didn't plan on using this ancient iMac for day-to-day work, but I've already started this week with that goal in mind. If I couldn't find apps that worked, I built them myself. I spent several hours downloading, configuring and building open-source software so I could have at least some decent apps available. Instead of using the Mac-centric Adium chat app, I opted for my usual Pidgin. That requires glib, Gtk, gdk-pixmap, Pango, Cairo and a few others. So I had to build from the bottom-up. That's fine because I also like the programming text-editor Geany over the for-pay things available for OS X. And the nice thing is, Gtk can be built for the Quartz system instead of having to use Snow Leopard's built-in X11 support.
My open-source VNC viewer project, SpiritVNC - FLTK compiled okay on OS X after some tweaks and overcoming a temporary stumbling block. It turns out that stumbling block helped me make a change in how I draw remote hosts on the screen and as a result, makes the app more portable. So yay, an old OS X version helped me write better code!
Developing software for the Mac - Xcode style
If you really want to completely immerse yourself in the Mac app development experience
then you work with Xcode. Xcode 3 on this OS X version is pretty old compared to
today's Xcode environment. I don't have access to a new version of macOS or Xcode, so I'm
writing about my Xcode 3 experiences.
Xcode and the Interface Builder are a difficult beast for me personally to master. I come from a past filled with dragging/dropping controls onto a form, adding an event then writing the code for that event. You drag/drop controls in Interface Builder, but responding to events or changing controls at run time are much different. Mac software development uses the M-V-C (model-view-controller) scheme. Because of my brain damage, MVC just does not mesh well with my abilities and the way I think. I'm more comfortable writing callbacks then binding or connecting controls in code. That's just how my brain works, and what I'm best at. If I stay with OS X / macOS, I'm really going to have lots of hair-pulling until I can grasp Xcode better. For now, I have Python3 + Tkinter, FLTK and Lazarus as development backups (although FLTK and Lazarus don't present a fully native-looking UI on OS X).
There's just something about it...
As mentioned briefly earlier, during my Linux and FreeBSD times, I would give folks a
pretty negative view of OS X / macOS and Macs in general. I would state that OS X / macOS
was just a pretty veneer on top of a FreeBSD derivative. I would say that Macs were
not really worth the trouble because they are overpriced PCs with macOS and Apple logos
on them. When people discussed new computers, I would always steer them away from Macs and
OS X / macOS. As I've used this old Mac for a couple of weeks now, I see how wrong I was
about OS X / macOS, although yes, Macs are overpriced.
It's almost like that oldies song that goes "I've got two lovers, and I'm not ashamed. Two lovers and I love them both the same". Today's Macs are still very expensive, and that's a problem for people who are on very tight budgets. Yes, you can buy a very low-spec'd Mac Mini and hope it gets you by, but even then it's more expensive than comparable PCs. That's the ugly part of Macs. The desirable part of Macs is OS X / macOS. I have found that I've missed working in OS X -- a great deal. And now that I've had years of Linux and FreeBSD experience under my belt, using OS X is even that much more enjoyable!
Don't get me wrong, I still really enjoy Linux and FreeBSD, but there's just something about OS X that is 'best of all worlds'. You have the FreeBSD system lurking below, and you can use the terminal to build software and configure stuff when you don't feel like using the GUI. Compared to my desktop experience on Linux, though, OS X is superior. No longer do I have to tinker with Gtk settings to get my interface looking right, no more setting options in .Xresources or .xinitrc. I don't have to tweak xserver to actually work as a normal user. OS X is a GUI first and Unix-like system second, so everything is pretty integrated, and I don't have to constantly tinker with things every time I update the computer. OS X / macOS also has nice tools that other OSs don't have out of the box, such as the ability to create an online image of your hard-disk and back it up to a server or external hard disk. Restoring that image is almost dead simple too.
Maybe none of these things make any sense to you. That's okay. Each of us are so different ... there are always going to be differing tastes, differing opinions and differing preferences. As much as I hate to admit it, it looks like I was a dyed-in-the-wool OS X user masquerading as a Linux / FreeBSD user. To my brain, OS X / macOS just works better. It provides me personally a more comfortable and usable environment to work and get things done. Is OS X / macOS better than Linux, FreeBSD or Windows? For me personally, yes, but I cannot make that judgement for anyone else.
Will it last?
I'm now three days into using this old iMac for running my business and doing my day-to-day
stuff. There have been some bumps along the way, but they have been caused by me and
not the OS. I am limited by what I can run on here, though, both because of the age
of the OS and also because this Mac only supports a maximum addressable 3 GB of RAM.
Because of these limitations, I'm considering the purchase of a used 2012 Mac
Mini. It would need to have 16 GB of RAM and I will try to get the i7 four-core model.
It's a bit irritating that today's new Mac Minis are all dual-core and are overall less
powerful than some Mac Minis of 2012! I really think Apple needs to give the Minis some
love -- they may get more purchases if the price is right.
So, truthfully -- will this last? Will I continue to use Macs from this point on? I think so, unless something horrific happens and I'm unable, or unwilling to. While I'm not a huge fan of Apple products, I've got to say that OS X / macOS and some of their Macs are great examples of what is right at Apple. Let's hope they can improve from there!
Oh, and yes, this post was 'Made on a Mac' ;-)
God bless you, and thank you for reading!
Comments