Monday, February 25, 2008

Complete Xcode Keyboard Shortcut List (UPDATED)

Update: This document is for Xcode on Mac OS X 10.5 Leopard. If you are using the latest Xcode 3.2 on Mac OS X 10.6 Snow Leopard then you should instead go to the Xcode Shortcuts for 3.2 on Mac OS X 10.6 Snow Leopard instead.
Xcode Shortcuts (PNG) Xcode Shortcuts (PDF) Xcode Shortcuts (Black & White PNG) Xcode Shortcuts (Black & White PDF) Inspired by the Des Moines Cocoaheads Group discussion on keyboard shortcuts for Xcode that we weren't aware of, I decided that I had had enough of not having a simple reference sheet with all the shortcuts on it. Sure you can find listings of Xcode keyboard shortcuts if you know where to look, but nothing concise on an all in 1 reference sheet. So Over a couple weeks I made one with all (i believe) 206 keyboard shortcuts on it... yeah I've been using Xcode for a while an I wasn't aware there were so f'ing many shortcuts. Click on the link above and download and share to your hearts content. Also I apologize in advance for the slight misalignment of the text descriptions in the text shortcut box, Pages slightly starts changing the line width for lines that have the command,option,etc symbols in them which made it difficult to create a companion text box where the text was properly aligned up like it is everywhere else. I also have this in PDF form, but Blogger says it only accepts jpg, gif, bmp and png images and movies but no general documents, but if someone knows a good hosting site for that and really wants it in PDF form and posts a link in the comments I'll try and get a PDF version up as soon as I can. I tried to post the PDF in pownce and it wouldn't let me post a file to the public :( If you find any errors please let me know (E-Mail linky to the right) and i'll post an update on this article as soon as I can. Thanks! UPDATE: Whew just got back from morning class and thank you everybody for the comments and help. Scott thanks for your assistance you can host the PDF's if you want to. I found the "Enable Breakpoints at Line" shortcut is wrong (I swear I thought I fixed that last week.) I've fixed it and have a Black & White version available as well (I'll try and make a version that spans 8.5 x 11 pages soon, but im swamped in homework I have to do right now.) I've temporarily put it up on my own hosting because Blogger is spaz'ing out right now and won't let me upload images. Sorry John I didn't put it up on my/your hosting initially because I didn't wanna suck up your bandwidth without your permission. Thanks everybody! Xcode Shortcuts (PNG) Xcode Shortcuts (PDF) Xcode Shortcuts (Black & White PNG) Xcode Shortcuts (Black & White PDF)

Thursday, January 31, 2008

Threads on Late Night Cocoa

I saw that Mark Dalrymple made an appearance on the Late Night Cocoa Podcast discussing threading and just now had a chance to listen to it on my MBP and I must say it was a really nice to finally hear someone (other than MacResearch) give some time to discussion on NSOperation, plus I was just curious what he thought about it. Mark is one of my heros because his book Advanced Mac OS X Programming was the first mac dev book I read to treat me like an experienced developer and not someone who had never heard of Cocoa, that and the content was excellent. Im sure the next edition will be great as well whenever that comes out. Additionally he has a great mini blog and there is the occasional gold nugget in his quickies section.

Monday, December 03, 2007

Thank you Developers from a Student

As finals are next week for me and I've finished all my work for 1 of my 5 classes this term and I am finally beginning to get some free time as I try and get my work done early, I thought I'd take some time out of my day quickly and express thanks to those developers who have made my life as a student on a Mac much easier. A BIG thank you goes out to Parallels who makes it possible for me to use Windows only when I absolutely have to ( my teachers haven't discovered I am using Pages or Textmate insead of Microsoft Word on Windows for most of my assignments yet ;) Thank you to Flying Meat! I had heard of VooDooPad but never really thought of using it till I had many classes this term all requiring a lot of note taking, so being the smart person I am I went right away to Flying meat and bought a copy to organize all my notes like so (and yes I misspelled Intro to Psychology I know, it was Day 1 and I had been up since 5AM) I can't count all the times I did group projects and I was the one who could always search through all my notes and always find that bit of info we needed to get our project done before the rest of class :D Another Thank you goes out to the OmniGroup for doing OmniFocus! Since I adopted GTD (Getting Things Done) and started testing the early Alphas and then bought an Educational OmniFocus license at the first chance I could, I've never been more organized and productive in my life! Turning anything that involves more than 1 action into a project and setting goals and due dates, as well as being able to add items into OmniFocus without actually having OmniFocus as the active app ( QuickEntry ) has probably saved me hours and hours of time. Thank you to the Vienna developers for making an RSS reader that's allows me to keep up to date on all my sites for tech news especially in my E-Commerce course. Thanks for Quicksilver! Probably my biggest productivity app period. This is the first app that I've used that I just have to have to multitask. Now every mac I touch I expect Quicksilver to be on there, and moan slightly if I discover it's not Thanks to TextMate and Apple (Xcode) for making my C/C++/Java classes much easier and more productive Thanks to Inquisitor (yes even on Leopard) for making my searching faster Thanks to Blizzard for World of Warcaft for giving me something to unwind from my homework on. Thanks to Unreal Tournament 2004 for another method of unwinding as well especially when Im on restrictive networks that won't allow me to run WoW Finally the biggest thank you to Apple for Mac OS X of course and everything from Spaces, Mail, Address Book, Time Machine, iCal, Safari, iTunes, iPhoto, Pages, Numbers, Keynote, Xcode, Instruments, Terminal, etc. Thanks for giving us developers a great platform & developer tools to develop these apps on! I never realized how heavily I depend on Apple and the various indie developers out there to make me productive till I looked back on this and past terms to see how much time I've saved in the process of using your apps. If I didn't have all this I'd probably be going raving mad right now or even worse... I'd be developing apps on Windows THANK YOU!!!

Monday, October 15, 2007

An Intro to Quartz and the Core Graphics API's (Updated Links)

Last week I gave a talk at the Des Moines CocoaHeads (Google Groups link) on how Quartz works in Cocoa and an intro to the C Based Core Graphics API's. Some of the topics I got started on was based off of Scott Stevenson's topics raised on Intro to Quartz Part I and II on Cocoa Dev Central and a couple of the Core Graphics examples were based off of samples from the Quartz book written by people in Apple. All in all the meeting covered the following * How Quartz does hardware accelerated drawing * When you would use Core Graphics API's over Cocoa's route to Quartz * A basic intro on to how views work * Basic Cocoa/Quartz Data Structures * Basic Core Graphics Data Structures * How coordinates in Views work * Cocoa Convenience Methods * How to draw Alpha (Transparency) * How paths, strokes and filling works * Using Images in your views * Using PDF's in your views * How to scale images/pdf's non/uniformly * A brief discussion on the Cocoa/Core Foundation Bridge * Places to learn about Quartz Additionally at the meeting we got into some small discussions on how Quartz works on a much deeper level, problems that arise during drawing with floating point widths, etc. The Keynote file from the presentation (for iWork 08) as well as a pdf from the keynote and all the source code examples are available for download below from the Des Moines CocoaHeads Google Groups page: Intro to Quartz Keynote Presentation Intro to Quartz Presentation (Compressed PDF form) Source code from projects demoed Update Updated links from Google Groups Page - if you can't download the files here they are located on the Des Moines Cocoaheads page @ http://groups.google.com/group/des-moines-cocoaheads

Wednesday, October 03, 2007

Des Moines CocoaHeads: All about Quartz

The next CocoaHeads meeting will be close to home in Ames @ Iowa State University. I will be giving a presentation about Quartz and specifically using it with Cocoa. Once the meeting is up I will post the Keynote presentation and source code so you can download it. Reposted from http://cocoaheads.org/us/DesMoinesIowa/index.html

The next CocoaHeads: Thursday October 11, 2007 07:00 PM CST at Howe Hall, Room 1246 - Iowa State University Campus. Directions: Howe Hall is located on the north-west corner of Bissell Rd and Marston Ct Ames, IA 50014 [map] "[Howe] is a big building, glass front, you can't miss it". Parking is available in lots north or south of Howe. [parking options] Agenda: Intro to Quartz: a discussion of the more advanced drawing routines available in Cocoa. And as always, general Cocoa geekyness.

Monday, September 10, 2007

Des Moines CocoaHeads in Ankeny & Contact Info

Info reposted from http://cocoaheads.org/us/DesMoinesIowa/index.html Schedule: The next CocoaHeads: Thursday September 13, 2007 07:00 PM CST at Kirkendall Public Library. Directions: 1210 NW Prairie Ridge Dr Ankeny, IA 50023 [map] Note that this is a new location as Panera was a bit noisy. Internet access is available, but the librarians tell me it can be "spotty" in the room we'll be in. Agenda: We'll be building a very basic app with XCode and Project Builder to get those who are a little green to the process some idea on how to start. This will undoubtedly progress into Advance tips and tricks as well as a discussion on Objective-C's finer points. We should also have time to discuss any issues people may be having or have overcome (I'm looking at you, Colin:) And as always, general Cocoa geekyness. You can also find the Des Moines CocoaHeads @ http://groups.google.com/group/des-moines-cocoaheads ============== Also wanted to let you know that i've setup a GMail account for e-mail regarding questions of things on this blog, general cocoa topics,etc. The address is on the sidebar to the right. You can email me at cocoasamurai@gmail.com.

Wednesday, August 22, 2007

An Open Letter to Apple

Every time Apple releases a new version of Mac OS X, Developers get shafted a little bit. We develop the apps that complement and enhance Mac OS X and make it great and what do we get for this? Releases of Mac OS X about a month after everybody else. It’s no secret that with paid ADC accounts we get a free copy of Mac OS X as it’s stated clearly on the ADC Site ( http://developer.apple.com/products/ ), which is why anybody who knows they are getting a free copy wouldn’t buy one. Well I am not here to endlessly bitch about it, I am here to provide an easy to implement solution... certificates. I propose instead of letting developers sit by waiting for Leopard to come a month late and let everybody else get a copy of Mac OS X Leopard when it comes out right away, let developers sign up on the ADC site for certificates for a specific Apple store if you want it. Instead of mass mailing out these certificates to every developer (wether they will be at a Apple store or not, thus potentially leading to some abuse of the system) open a form on the ADC site that checks our credentials (knowing if we have an account with a free copy of Mac OS X (Select, Premier or Student ) or not), and then lets say the form can contain the Apple Store we plan to go to and then give us a printable (or mailed to us) certificate that when we go to the Apple store on Leopards launch date we can redeem for a copy of Leopard. I am guessing that due to the close time frame of Leopard in October it’s probably too late to create this so that certificates are mailed to us. So I suggest this

  1. Create a Section on the ADC site that lets developers sign up for a printable certificate (optionally with a serial code pattern unique to the particular apple store) to be redeemed at a specific Apple Store for Mac OS X Leopard
  2. This form validates our ADC account and when it’s all submitted sends this information to the specific Apple store. 
  3. When Mac OS X Leopard launches developers print this certificate out and go to the Apple store
  4. When at the apple store the employees scan a barcode on the certificate or enter in some unique serial number/code and in combination with a simple thing like our drivers license for ID, validates us and takes the full price off of leopard and thus developers get a copy of Mac OS X 10.5 Leopard! :D
Thus Developers are happy! We get Mac OS X Leopard at the same time as everybody else, like it should be, and don’t have to wait a month to get it in the mail. Everybody wins! I realize that perhaps I haven’t thought every detail of this out, but it seems entirely plausible to me to have some system in place so developers who are genuinely entitled to a free copy of Mac OS X because of their paid ADC account can go to the Apple Store and pick up a copy the same day as everybody else. Heck I’d pay a small fee for the convenience of picking it up the same day as everybody else. Like I said this is just a suggestion, but I think as a developer instead of endlessly complaining about it we should put forward solutions to this problem and appropriately communicate them to Apple. The main reason I post this here is because I think there needs to be some open debate about this long before Apple publishes Leopard and we hear the moans of developers waiting for their copy of Mac OS X to arrive, the only alternative to this that I can see at the moment is for Apple to mail our copies of Mac OS X to us early (but then they could not really ensure AFAIK that the mail system only delivers them to us on the appropriate date all at once.) What does everybody else think about this?

 
...