Wednesday, September 20, 2006
GAH!
Friday, September 15, 2006
WikityWebsite
You may be interested in some source code.
Wednesday, September 13, 2006
Parallels may, in fact, be completely dumb
tyr:/Library/Parallels root# ls -l
total 16
-rw-rw-rw- 1 root wheel 40 Sep 12 15:52 .dhcp.en2
-rw-rw-rw- 1 root wheel 0 Jul 4 17:10 .dhcpd_configuration
-rw-rw-rw- 1 root wheel 0 Jul 4 17:10 .parallels_common_options
-rw-rw-rw- 1 root wheel 100 Jul 4 22:44 .parallels_license_2.2
Sunday, September 10, 2006
switching CPUs
I can waste a lot of time if an interesting question gets posed. The most recent culprit was Chris Ridd in uk.comp.sys.mac, wondering aloud if threads ever got shuttled between CPUs on a Mac. Here we go...
It certainly looks like the conditions for doing this through the API can never be met on a real Mac running xnu. All you can do is assign a thread or a task to a processor set, but not a single processor. Unless that processor happens to be the only member of a processor set. Thing is, on xnu there is only one processor set, which encompasses all of the processors. So there's no way to force your threads onto a particular processor in Mac OS X. The lack of multiple processor sets means that you couldn't have a box with, for instance, both a G5 and a Xeon running a single kernel, which is kindof sad in a way. It won't get missed, though.
It doesn't even look like there's an API to work out which CPU you're currently on. What you can do is get the port for the default processor set (the only processor set), then by manually furtling with the structs you can iterate through the CPUs (or you can ask your own mach_host_port for an array of the CPU ports). For each CPU you can get the thread queue, which you could compare with your own thread to see if it's the same. That'd be tedious, but would get the required information. Once there though, I don't see any way for the thread to move between any queues except the idle and run queues on its 'native' processor; so I think the answer is that no thread ever migrates between CPUs. I may be wrong, and am happy to entertain any information to the contrary.
Unsurprisingly with no API to do what I want, little useful code came out of this exercise. I found out how many cpus the system has, but that's it really.
Update 2006-09-10 16:25 GMT - I hate this not knowing, so I decided to play the Ask Amit card ;-).
Monday, September 04, 2006
OPENSTEP/Parallels/VirtualPC/Spam
I've been trying to reply to bbum's post, firstly my comments were removed as spam, then he approved them by hand, now they're gone again. So here they are again.
I wrote [in this blog] much about my experiences getting OPENSTEP/Parallels working. Networking's fine but slow, graphics is good, mouse is a bit jumpy. I was talking at WWDC with people who say that Microsoft VPC no longer supports OPENSTEP/Mach. You definitely can't boot native on a new Intel Mac, as there's no SATA driver (and no way to use a boot floppy).
BTW, the floppy images are available over HTTP from Apple: OPENSTEP floppyimages
Sunday, September 03, 2006
ObjC FAQ update
Thursday, August 31, 2006
Comment word verification
Wednesday, August 23, 2006
Better clear the office out, can't remember what the carpet looks like
Of course this has been brewing for a few weeks, but I wanted to make sure my eyes were crossed and my teas dotted before letting anyone else know. Especially on the big scary intarwebs.
New website
Saturday, August 19, 2006
Hell hath frozen over
Tuesday, August 15, 2006
WTF is a Veo?
Saturday, August 12, 2006
NeXT Luminaries
Here I am, trying to look as important as the bunch of people around me. Right bunch of luminaries they are too, but I won't spoil the surprise of trying to guess who everyone is. If you know, comment ahead. Points for recognising someone's hat without recognising the person themselves will not be awarded. All quite large, 2016x1512 JPEGs. Thanks to Ken Tabb for snapping the button.
Friday, August 11, 2006
Report from WWDC
You're not going to see many discussions of talks from the conference, and this is no exception. Beyond the keynote, the only talk I can discuss is one I went to today, which was a public talk by Amit Singh (author of the most excellent Mac OS X Internals, which I didn't bring with me in case the plane tipped over in flight) in the Apple Store across Market Street from the conference.
Amit's presentation style is as engaging as his writing, and he didn't let the wrath of the demo gods spoil what was an engaging talk. While he was necessarily light on substance (he couldn't just read the book out, or we'd all still be in there) the demos gave indication of what is possible with Mac OS X and the material discussed in Internals. In terms of OS X mentality we're of the same stable, although he clearly knows much more about the system than I could ever lay claim to.
I got to ask him what the best and worst features of Darwin are in comparison with other UNIX. His answers were interesting and enlightening; best is the pragmatism Apple engineers use in generating new API or taking from existing code; worst is the poor approach to open source taken by Darwin. I couldn't agree more.
Tuesday, August 08, 2006
Greetings, Jobs-pickers
It seems to be de rigeur to provide a rundown of the top 10 Leopard features from yesterday's Stevenote, and as I can neither sleep nor be bothered to read sample code, it's a bandwagon I'm happy to jump on, albeit in my own cynical style. Cue the Fluff Freeman voice effects...but first, let's look at the hardware. Amazing. The amount of space they've freed up in the cases is stonking, so both the Xserve and the Mac Pro now actually have Pro-level expandability.
- 64-bit top to bottom. What, you mean there are programmers out there too lazy to separate their workhorse from their presentation? Apart from convenience, and a bigger OS+app footprint, I don't see that we gain much here. Now we have four Mach-O architectures, and the system libraries have to implement all four.
- Time Machine. I'm assuming that the BBC wouldn't let Apple license the Doctor Who theme music. Because that time vortex looks just like, well, the time vortex, and every time I saw that UI I wanted to sing the theme (sorry, Back To The Future, you lose). On the other hand, this is a sweet sweet feature and I can't wait for Leopard GM so I can dare to switch it on...
- Ship the whole package. I can't remember nor be bothered to look up what Steve said but it was something along the lines of you now get all the apps with the OS. I for one cannot wait to pay £69 for Leopard and receive my free copy of Shake.
- Spaces. About. Blinking. Time.
- Spotlight enhancements. See my comments on Spaces ;-). Spotlight in Tiger was just plain broken, hopefully they've sorted this out properly. After gratuitously faffing about with the Mail UI in Tiger, only to make searching even worse than before, hopefully Maileopard will actually be able to find a mail I write. Networked spotlight definitely is most welcome.
- Universal Access. The new voiceover capability is indeed much better than anything available in a current mainstream OS, sounding less like Steven Hawking (which is I think the same synthesised voice as the Amiga) and more like Davros. But making this a Top 10 keynote feature? I smell government contract compliance...
- Mail features: stationery, notes, to dos. Oh. My. Gods. Would someone please build a partition wall between Steve's office and the UI team, he keeps suggesting stuff to them. Why would I want this? Why would I have an OS on which I can stably run multiple apps, and write myself little notes on Stickies widgets, if I'm then going to fold all of the functionality into the Mail application? Can't I use iCal or OmniPlan for my ToDos, like they're designed for? And stationery; I hate to shout, but HTML MAIL MUST BE BANNINATED FROM THE INTARWEBS.
- Core Animation. As my good bud Ken pointed out, this doesn't seem to be anything you couldn't previously do with Tiger classes such as NSAnimation or NSViewAnimation, but maybe it's a snatch easier. The thing is, judging by the reactions of the Americans in the crowd, I've got a feeling this is going to be the "Web 2.0" of the Mac UI. I feel violated.
- Dashboard features: dashcode, web clip. Oh great, now we get to see thousands upon thousands of derivative widgets. And web clip could've been so much cooler; it looks to me like it's "render this whole web page, and display a punch-out with the following CGRect". What it should be is "load this web page, and render this section of the DOM".
- iChat++. I don't really like tabs in Mac apps (AppKit does multiple windows per document, not multiple documents per window, as I said to John Gruber in response to his predictions, and the HIG deprecates trying) but I'm glad they went with OmniWeb-style tabs instead of Safari-style tabs. The ability to stream an app's view over iChat is absolutely fantastic though, this really is enterprise-level IM (regardless of the Photo Booth-style effects). I'm looking forward to taking a photo of my office to use as my iChat backdrop wherever I am, too :-)
So there we go. Sorry to sound incredibly underwhelmed, but there it is. There's been plenty of juice in the WWDC but not much of it came from the Stevenote.
Friday, August 04, 2006
See you at WWDC...?
Fellow attendees: don't know what my movements will be, except that I'll be at the Thirsty Bear on Monday with some WebObjects people, but I'd like to meet as many of you as possible so please add onetrueleeg at mac dot com to your iChat list! :-)
Sunday, July 23, 2006
Hidden gem
Tuesday, July 11, 2006
Irritating annoying irritationnoyance of the day
public Main(WOContext context) {But if you add a key using WOBuilder, then its accessors use the following style:
super(context);
}
public String username()Mmm...you can almost smell the consistency.
{
return username;
}