Blog
Page: 0 1
I have no words...
Date: 16/10/2018
Tags: mac
(0) Comments | Add Comment

Apple and the curse of VNC
Date: 8/9/2017
Tags: mac vnc
For many years now it's annoyed me greatly that trying to connect a Windows VNC client to a MacOSX VNC server has resulted in terrible horrible slow and glitchy performance. Mac to Mac is fine, Windows to Windows is fine, but cross platform? Nope. In fact the Mac to Mac performance is better than any of the Windows or Linux implementations. The reason being that Apple has added a range of proprietary extensions to make that use case better than normal VNC. This is also why the Windows -> Mac case is sub-optimal. It seems that the fast VNC modes that everyone else talks aren't spoken by the Apple VNC server implementation. So what to do? Well the solution that I'm employing at the moment is to... not use the Apple VNC server implementation! Turn off screen sharing in the options and install VNC connect. The cross platform performance is quite decent, running the server and client from the same vendor. Maybe 90% as fast as the all Apple case?

Embrace, extend, extinguish am I right?

You either die a hero or you live long enough to see yourself become the villain.

(I will try and find a free solution in the medium term, and will update this post if/when I do)
(0) Comments | Add Comment

The week of Mac bugs
Date: 7/7/2016
Tags: mac carbon
This week has been mostly about making the Mac build of Scribe more polished. It's always lagged behind the Windows build. And now it's catching up fast:

1) HIViewSetFrame inside kEventControlDraw is bad

For many years I couldn't work out why some calls to HIViewSetFrame wouldn't work inside some application I was writing. It turns out that called that inside the kEventControlDraw callback is actually bad. It leaves lots of the controls half painted of showing the previous contents of the screen. And no amount of calling HIViewSetNeedsDisplay is going fix it. The compositor thinks the old position of the control is up to date and won't repaint it.

Ultimately if you find you need to move a control during the re-paint you have to send a message to yourself and do it after that particular repaint has finished.

2) Apple Event handling

After 4 years I finally found the reason why Lgi apps wouldn't respond to AppleEvents that were passed to them on startup. I answered my own stack overflow question today.

3) Editing the Application Menu

The Scribe Application menu, that sits between the Apple menu and File menu has never had the normal "About" and "Preferences" items. And while there is a lot of discussion on how to do that for Cocoa apps, there is little to no information for Carbon apps. And yes, Scribe is still a Carbon app, although it does use a bunch of modern APIs for text and so on. I tried mixing some Cocoa calls to get at the right menu, but that didn't work. Then after hours of searching the internet I finally stumbled on to a mailing list post that describes how to do it. So it seems it's possible, just really obscure.
(0) Comments | Add Comment

XCode: error from debugger: the program being debugged is not being run.
Date: 14/4/2012
Tags: mac xcode
If you are getting this in your XCode run log:
Running...
No executable file specified.
Use the "file" or "exec-file" command.
No executable file specified.
Use the "file" or "exec-file" command.
The program being debugged is not being run.
The program being debugged is not being run.
After copying a project and renaming everything... then you missed the "executable name" on the target. Click your Target, and "Get Info", then click the Properties tab, and rename the Executable to the same name as the Product Name in the Build settings.
(0) Comments | Add Comment

Mac OS X Software Update fails to update installed application.
Date: 20/2/2012
Tags: macosx
I've just managed to "fix" an issue that I was seeing on 10.6 where Software Update would not update Logic Express. According to Software Update, Logic wasn't even installed, however the app was there in /Applications and would run fine.

It seems that getting Software Update to re-scan that app is as simple as renaming the app. I changed the name of Logic Express from "Logic Express 9.0.1" to just "Logic Express", ran Software Update again and the latest release for Logic magically appeared. Hmmm.

So the next time Software Update is ignoring your installed apps you know what to do!
(0) Comments | Add Comment

Mac Mini RAM Upgrade
Date: 19/5/2011
Tags: mac upgrade
I found this guide nailed upgrading the RAM in a Mac mini. Tonight I took out the paltry 1GB and replaced it with 4GB for about $33 AUD. Not bad... not bad ;) The mini runs all the servers (imap, svn, http) in the house, because at 14w it's the cheapest computer to run 24/7. The iMac is 70w at idle, and the PC up around 110w. Yay for minis!
(0) Comments | Add Comment

Scribe/Mac unified toolbar
Date: 18/8/2010
Tags: mac code
I got this working today:
Looks a little more native eh? I think the icons are still a little blurry, but to fix that I'll have to create full resolution source icons, which are 128x128. Currently they are 24x24, and they are getting scaled somewhat for display on the toolbar. First x4 to fill the 128x128 source image and then down to whatever size the HIToolbar wants to display them as.

I've been playing for years now with getting native scrollbars working. But thats proven too difficult so far for this little black duck.
(0) Comments | Add Comment