Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts tagged Mac

Re: Developments

No comments

The new iMac (27″, i5, 8GB) has arrived and is awesome. Most everything is now transferred to it and working; I had to merge my Home folder from the Time Machine backup I did of the old iMac I sold in September, before our Asia trip, with things I did in the 4 months on the MacBook Air that has been my only machine since then.

Small glitches:

– connecting an external monitor over MiniDP works, but (for me) it flickers distractingly every 5 minutes or so. The dreaded main display flicker is absent, though.

– the enclosed Magic Mouse is great; I loved the scroll-by-touch feature. Alas, after 1 day of click-intensive work, my hand started to hurt, so I’ve gone back to my el cheapo Pleomax mouse. Maybe I’ll try again later; my guess is holding the thing between thumb and little finger is straining some never-used muscle. It also has surprisingly sharp edges at those points.

I’ve also gotten my old Core Solo Mac Mini back and am setting it up. It still runs 10.5.8, so I’ll finally be able to debug running stuff on Leopard again.

Re: Developments

No comments

If any of you still read this after nearly 50 days without posting, I’ve been tempted to do this:

Click on the comic to see the original at (via

In other news, my trusty but overloaded MacBook Air proved unable to cope with serious developing (or even the usual mixture of stuff I do when procrastinating working on other things). Less than half an hour (often much less) after I connect to the Internet over either USB/Ethernet or WiFi, connect an external USB drive, an external monitor, or whatnot – much less all of these at once – the fan turns to full blast and soon thereafter the dreaded “kerneltask” begins to use 99% of both CPU cores, slowing typing and even mousing to a crawl.

Closing the Air for 10 to 20 minutes usually but not always allows resuming work for another short time, but sometimes a reboot is necessary. Must be global warming icon_cry.gif

Anyway, my new iMac 27″ quad-core i5 with 8GB of RAM (squeee!!!) is due to arrive tonight and all should be back to normal Real Soon Now?.

Re: Developments

No comments

Whew, there were even more tons of stuff to do than I’d thought; sorry about that.

To make a long story short, we moved out of our old apartment before the trip and moved in to the new one when we came back. I’ve almost caught up with buying furniture, wiring, plumbing, installing lighting fixtures, bathroom accessories, kitchen shelves and so forth; the main thing still in the queue are wall-to-wall bookshelves in my home office, and they’re a priority as all my books are lying about in boxes.

Also, I sold my main working Mac (a 20″ iMac Intel) before the trip, confident that I’d be able to immediately buy a new one on my return; unfortunately, the new 27″ iMacs have been delayed in Brazil and I now expect my pre-ordered i5 model to be delivered a few days before Christmas. In the meantime, the MacBook Air is somewhat overloaded with stuff, and much juggling will be necessary before I can again use it for coding… still, I hope to get going again this weekend.


No comments

Non-development developments, that is.

We’ve been busy packing for our upcoming trip to China and other Asian countries. Also, moving from our current apartment to a new one – more packing! I also just sold my desktop iMac (more packing, erh, backing-up); by the time we get back in mid-November there should be a new generation of iMacs out. Meanwhile, essentials are being copied to my MacBook Air, and I’ll work based from that for the next two months.

You can tell that I decided to schedule all traumatic experiences at once! Better to get them done and over with…

Anyway, we go off the coming weekend. On the way to Beijing there’ll be a stopover of a few days in Frankfurt, Germany; enough to de-lag a little, and visit with family.

If all goes well, we’ll arrive in Beijing in the early afternoon of Sept. 25, and in the evening I’ll do a small presentation for the local CocoaHeads chapter. (At this time, that page shows Sept. 26 but we’re trying to move it to the 25th.) I gather that all members are rather young, and will be amazed at someone over 40 writing software! icon_wink.gif

At any rate, I plan to talk a little about my professional experience, then move to the main topic – tentatively named “Protect Your Application Against Evil Hackers (or, at least, against the lazy ones)” – and finally showing some pictures from exotic places like Brazil and California. If it comes off well, I’ll post the slides somewhere here for downloading.

After a little more than two weeks in China we’ll depart from Shanghai for a 4-week cruise, going to Japan, Hongkong, Philippines, Malaysia, Brunei, Singapore and Vietnam. On the way back to Brazil there’ll be another few days of stopover in Paris.

Posting updates here from China may not be easy, but I’ll try.

10.6 is early …and circumstances conspired to make me late in checking (or, at least, ensuring) compatibility with it.

I just posted on the Quay support forum about the situation with Quay. Briefly, an interim 1.1.2 version should be out soon.

Klicko installs and runs with no problem on 10.6. However, it being a 32-bit control panel, System Preferences will restart every time it is run. Once you’ve set the preferences, that shouldn’t be too onerous, but I still plan to do a 64-bit version as soon as possible.

XRay will mostly work if you have Rosetta installed, but with the same restrictions as on Leopard: the file browser may crash (though, oddly enough, less than on 10.5); and changing permissions on folder contents will probably fail without warning. XRay is, unfortunately, recommended for 10.4 (Tiger) users only, and most of its functionality will be reincarnated in some form or other in the delayed-but-upcoming Quay 1.2.

Zingg! and Nudge are Finder Contextual Menus, which are not supported by Snow Leopard. Their functionality will also be implemented through plug-ins for Quay 1.2.

My US International keyboard layout has finally been incorporated by Apple into their standard list of layouts, so you won’t need to get it from here anymore. Yay!

Stay tuned for further announcements regarding Snow Leopard…

Re: WWDC 2009

No comments

Ted Landau of MacFixit fame interviewed me last Wednesday and the interview is up now on the Mac Observer. Many thanks to Ted for this opportunity to get word out about the upcoming Quay plug-in SDK.

A few small corrections:

…I also had a job working with the Macs installed at a medical equipment company…

what I said was that, at that company, I designed medical equipment based on a Mac-like architecture (68K processor and all) and used a Mac as a development workstation.

…The staff here at the WWDC have always been helpful, although probably a bit more so back in the 1990’s than now…

I actually was referring to the people at developer relations, not at WWDC, and the situation is reversed; they’re a bit more helpful now, since in the 1990’s they hadn’t quite gotten their international act together, and I depended more on personal acquaintance with some of the Apple folks.

Re: WWDC 2009

No comments

The conference will be over tomorrow and I’m quite satisfied with the outcome. Now for some comments about the announcements and (NDA permitting) about what I learned.

I had some vague idea of going to some iPhone sessions and letting presenters (or friends developing for the iPhone) convince me that I should start developing for it. No such thing happened; session overlap was so severe, and there were so many labs to go to, and people to talk to, that I skipped any non-Mac session or discussion. What little I heard in the corridors confirmed my notion that the current state of iPhone development and the AppStore deviates too far from my preferred position as a utility developer – a niche Apple still keeps closed on the iPhone. Maybe when the tablet comes out… icon_neutral.gif

Speaking of tablets, while everybody agrees that one is in the works, it seems to be a year or so away from announcement. (Ditto for the new CPUs I hinted at, in my last post.)

Snow Leopard is the small new thing. Small for the user in a sense; it’s just refinements and greater speed. For developers, though, it’s the BIG new thing. And, as variously described as early as a year ago (can’t find URLs right now), much of the new stuff is driven behind the scenes by open-source projects Apple is driving: the Clang compiler, the LLVM back end, and the technologies made possible by Grand Central Dispatch, blocks and OpenCL. So, most of the sessions either expanded on this directly or offhandedly mentioned “there’s an API for that now – and it’s fully XYZ-enabled” (insert one of the technologies above).

These things have become possible because CPU chips had run into a clock frequency “sound barrier”; 3GHz is about the maximum current silicon can do without extensive and expensive cooling or exotic technology. So multicore has become the solution du jour: all Apple computers now have at least 2 core, and the top machine has 8 (16 virtual). Expect that number to double every 2 years, at least.

But for years multi-processor machines were hard to program. About 14 years ago, at another WWDC I bought a Genesis MP 528: this Mac clone had 4 PowerPC 604 processors running at a blistering 132MHz. It didn’t have much caching on those chips, and only Photoshop and a few other specialized apps could see more than one CPU, and that only for image filters. In two years the first PowerPC G3 CPU card, with a single processor but caching, running at 300MHz, had about the same Photoshop performance – and that performance was then available to all apps. So why didn’t more apps take advantage of the 4 CPUs? The classic Mac System 7 (to 9) had no easy way to allow for this; there was a very primitive multiprocessing API but the system was pretty much locked out of it.

As said in the keynote, Snow Leopard will support only Intel Macs; PowerPC Macs are, therefore, stuck in the Leopard era, and only some few bug fixes will appear on 10.5, then it’s over. I couldn’t find hard figures comparing the installed base; I’ve seen percentages quoted of between 10 and 35% of Macs Macs still in use being PowerPCs. I personally didn’t think this would dip below 25% before 2011; then again, as a stockholder, I’m glad Apple sold so many new Macs recently… icon_wink.gif

Some people question why PowerPC users will be left out of the Snow Leopard advantages, and I think I know why. While the top 4-CPU PowerPC machines still can hold their own with more modern machines under certain circumstances, the vast majority of PowerPC Macs have only 1 CPU; only a few big desktops have 2, and even fewer have 4. Most advantages of Snow Leopard come into play when you have at least 2 CPU cores, and there’s serious testing and bug fixing to be done for supporting an entire architecture. Apple probably just weighed those factors (with better numbers than I have available) and decided it wouldn’t work out.

Positives of the new Clang/LLVM combo: better compiler speed, better code optimization – both still starting out but they’ve more power in reserve, while the current gcc compiler and backends are pretty much maxed out; way better error messages, the Clang static analyzer is just awesome (a word I usually hesitate to use, but this really is!); lots of goodies to come from tighter integration with Xcode. Negatives: may still generate wrong/inefficient code in some circumstances; no C++ support yet (I don’t care myself about this one).

A sleeper advantage is, also, that the intermediate (LLVM) bytecode generated by Clang could possibly be stored as such inside executables, and be just-in-time compiled for execution on any target CPU. In other words, the same executable could run on a new machine Apple puts out, even if it has a new CPU chip/architecture, as long as the JIT compiler is in place for that; application developers wouldn’t have know (or care).

Regarding blocks (or “closures”, as they’re known in other places), they’re a syntactic convenience for programmers to pass executable code as data. As such, they make programs more readable. What makes them inordinately powerful in Snow Leopard is that they’re also the basic executable units for all of the cool new multiprocessing stuff in Grand Central Dispatch. Therefore, with a little discipline, it becomes easy for developers to chop up tasks into little slices than can be executed in parallel by however many CPU cores (or, with OpenCL, GPU units) are available to do them; and for the first time anywhere I know of, this facility is available throughout the system, even at a quite low level.

So, am I running off to convert all of my code to the new technologies? Well, yes and no. Many things still have to be done in a serial manner, and the system will do others in parallel behind my back. Also, it seems that writing a generic application that runs on both 10.5 and 10.6 (using the new stuff) is tricky; I’m still investigating how to best do it. Stay tuned for developments…


No comments

Well, the nice folks at MacMagazine (thanks Rafael!) have republished a slightly updated version of an interview I gave a few years ago. It’s mostly about the 1985 Unitron Mac512, the very first Mac clone.

It’s in Portuguese, so here’s a translated-by-Google sort-of-English version. Rafael has hunted down some good pictures of an early prototype; I regret not having taken any myself.

Photos licensed by Creative Commons license. Unless otherwise noted, content © 2002-2024 by Rainer Brockerhoff. Iravan child theme by Rainer Brockerhoff, based on Arjuna-X, a WordPress Theme by SRS Solutions. jQuery UI based on Aristo.