November 10th, 2005
I’m excited to see Xcode 2.2 unleashed for the world to enjoy. I’ve been using a pre-release of it for a week or two, and have been itching to share some of the less obvious improvements I’ve noticed in this release.
GDB’s Info Shared Command
Yee haw! How cool is this? The bug I described in this blog entry a while back is fixed! You can now use the powerful “info shared” command on variable arguments, for instance “info shared $pc” to see which library you’re currently stepping through.
Xcode’s Object File Targets
Xcode now supports a very convenient target type that bridges the gap between static libraries and dynamic libraries. With an “object file” target, you get all the export encapsulation offered by a framework, with the flexibility of compiling and linking afforded to static libraries.
For example, if somebody throws a pile of code your way that needs to be statically linked against your project, you can use the object file target to safely sequester all the symbols from that set of files into a single module that is linked with your existing code base. This is a real boon to avoiding conflicting symbols that may have otherwise needed to be marked as “exports” in a static library, in order to keep inter-module linkage working.
CHUD Tools “hwprefs” Permissions
On a less ecstatic note, the latest version of CHUD Tools includes a change in the security model surrounding the “hwprefs” command. In the past, anybody could use this command to, say, turn off CPU napping. If you’ve got a chirpy G5, you’re no doubt familiar with using this technique to work around the noise problems. Starting with this edition of CHUD Tools, if you’ve got a startup script designed to perform this task after every reboot, you’ll notice that it fails with a permission error.
A very helpful Apple employee pointed out that I can get the old behavior back by simply setting the sticky bit on the (root owned) hwprefs command:
sudo chmod ug+s /usr/bin/hwprefs.
Summary
Lots of great working coming out of the Xcode group. They are responsive and seem to be sensitive to the issues that really affect us developers. I’m looking forward to finding more happy (and hopefully no unhappy) surprises in the weeks to come.
Posted in Xcode | Comments Off on Xcode 2.2 Quickies
November 8th, 2005
I’m disappointed to see that Buzz Andersen has decided not to go through with a CocoaRadio interview he was slated for.
He’s entitled to make his own choices, but I just think this is ridiculous. Apple is not an oppressive authoritarian regime. It’s a company. A place you work for. A place that pays you to be there for part of your life.
California has some of the best laws in the country, by my understanding, for protecting the rights of employees to pursue endeavors freely outside of their employer’s control.
There only real restrictions on Buzz’s right to participate in a friendly developer community interview are that he:
- Can’t do it at work, or via work’s equipment.
- Can’t discuss information covered explicitly or implicitly by his NDA with Apple.
- Can’t directly compete with Apple.
He also has the right to just plain not feel like doing it anymore because he’ll feel embarrassed, uncomfortable at work, whatever. These are all legitimate reasons for not wanting to do an interview – just wish he’d decided so before agreeing to do the show.
The way it has been presented on his blog make it sound like Apple employees are prevented from having public lives. This is obviously not true: just look at all the Apple employee blogs! It’s too bad Buzz is letting the flawed notion get to him as strongly as it apparently is.
For some historical perspective, the spirit of CocoaRadio is very much in line with the old “Factory Floor” articles done by MacTech, which *frequently* featured Apple insiders. These interviews spanned the ranks from Nick Kledzik down in the ditches working on Interfacer to Avie Tevanian shortly after he was brought in with NeXT.
This google search for MacTech “Factory Floor” articles featuring the phrase “at apple” yields a large number of these articles. While we’re suffering a drought of public representation from current Apple employees, at least we can still go back and browse these interesting developers from the past.
Posted in Cocoa, General | 12 Comments »
November 6th, 2005
I like the Search-Fieldy kind of thing in Xcode. If you select the top-level project item in the “Groups and Files”, and then enter something in the search box, it makes it really easy to pinpoint a particular file that is contained by your project.
Apple even gave this search box thingy a keyboard shortcut, and include a menu item in the View menu for accessing it: “Detail”. I don’t really get the name of that menu, but needless to say it will switch you over to the search box thingy whenever you invoke it.
Problem is, I am almost 100% likely to want to search my entire project when I switch to it, but Xcode doesn’t do this for me. I hit shortcut and then I inevitably have to go click the project icon in the outline view before switching back to the search box to enter text.
Using GUI Scripting, I was able to solve this dilemma by writing a small script that simply clicks the project item for me before switching to the search field. The script asks the “Groups and Files” outline view for the “first top level item whose name is the same as the name of the project.” I’m pretty sure this will always be the desired row of the column, even if you’ve done some funky reordering of items.
Click here to download: Find Project File
I used FastScripts to assign an Xcode-specific shortcut override. Now when I hit the Cmd-Opt-F shortcut for “Detail” it behaves as usual, but clicks the project icon for me on the way.
Update: Xcode’s “whose clause resolution” started flaking out and giving me false hits, so I decided to just rely on the Project item being the first item in the Files and Groups list. This has the added benefit of making the script a lot faster, but it means it won’t work if your Files and Groups list is customized with the project not at the top.
Posted in AppleScript, FastScripts, Xcode | Comments Off on Quickly Find Project Files in Xcode
November 3rd, 2005
A few weeks ago, a relatively low-key, one day convention took place in Cambridge, MA. The event, put on by the unconventional Y Combinator venture group, was dubbed “Startup School.” Essentially a one-day lecture series in which a number of high-caliber computer and business industry players gave short speeches and answered Q&A from an audience filled with aspiring startup founders.
Though I missed the event, I was lucky enough to meet up afterwards with some folks who attended, and got a sense for what the scene was like. It sounds like a lot of really ambitious and talented people were inspired to put their innovation caps on. What will come of this firebrand occasion? Only time will tell.
Luckily for the rest of us, the folks at Y Combinator have made audio recordings of all the speeches available in podcast format. The recording quality is good, though one major shortcoming is that most questions from the audience are not audible. This means you’ll experience moments of silence followed by a response from the speaker. Some of the speakers are kind enough to rephrase the questions before answering them.
I like these recordings not only because the collective wisdom of the speakers is easy to respect, but because the nature of the event seems to have lent a bit of an informal nature to the proceedings. I almost get the sense that the speakers had no idea that what they were saying was being recorded for eventual international broadcast. You get a sense of these speakers on a pretty social, everyday level. Check it out:
Startup School Podcast
Several hours of interesting computer-industry banter to help you while away those miles on the treadmill.
Thanks to Beau Hartshorne for the link!
Posted in General | Comments Off on Startup School Podcast