rulururu

post Bootcamp: Day 4

December 5th, 2007

Filed under: Big Nerd Ranch — jd @ 8:32 pm

Let me just say: Cocoa Rules! OK, I know, I drank the Kool-Aid. But seriously, I’m loving this stuff.

Between yesterday and today my brain is just overflowing with new information. And I’m just taking it all in the best I can. I know it’ll take a while to really internalize all this, but I have plenty of examples and the book to work from. I’ve also gone back and started looking at code I’d looked at before. It’s much more understandable to me now.

Aaron’s very accommodating with all kinds of questions. And willing to help explore areas of Cocoa development that are of interest and not exactly on the syllabus.

As tired as I was just before dinner today, I was ready to get back to it right after dinner.

post Bootcamp: Day 3

December 4th, 2007

Filed under: Big Nerd Ranch — jd @ 5:36 am

Day 3 was our first day with Aaron teaching. He intended to get us through a lot of information and he did. It was evident that he’s done this many times before. He started us off with immediately writing a small Cocoa app before reviewing the Objective-C from the last 2 days. And after lunch he used familiarizing us with all kinds of fun controls to get us back into the thought space. I was impressed with his attention to presenting the materials in such a way as to fit the student at that point in the day.

The mid-afternoon walks really help with this also. Yesterday’s walk was a bit fast-paced. Aaron’s a tall, thin man with long legs and he set a brisk pace yesterday. El Chubbo (me) was doing a little puffing. :)

Day 3’s topics included: reviewing Objective-C classes, Memory Management, Target/Action, Helper Objects, and Key/Value Coding. And along the way we learned more about Xcode and debugging.

By evening time I was tired but, enthused. I spent my evening finishing up one assignment and completing one of the “challenge” exercises. I’m looking forward to today.

post More Stupid Xcode 3.0 tricks

December 3rd, 2007

Filed under: Big Nerd Ranch, XCode — jd @ 10:19 am

So I’m a BIG fan of keyboard shortcuts.

I thought I’d share the ones I’ve learned so far that make Xcode usable to me.

1. Ctrl+Tab rotates focus between the file list, search bar and text edit area.

2. Cmd+Opt+UpArrow toggles between the .h and .m files of the class you are working on.

3. Cmd+DoubleClick on a highlighted object or method takes you to the documentation for that object or method.

4. Opt+DoubleClick on a highlighted object or method takes you to the header file for that object where the method is defined.

5. Cmd+Click the .h files in your project and then go to menu: Design -> Class Model -> Quick Model. This generates a really nice class diagram of the classes in your project. Of course the next logical step here is to be able to export to Omnigraffle, but alas that doesn’t seem to be implemented yet.

post Stupid Xcode 3.0 tricks

December 3rd, 2007

Filed under: Big Nerd Ranch, XCode — jd @ 10:02 am

Part of getting comfortable with Cocoa development is getting cozy with Xcode 3.0.

As soon as I saw the template created for a new class I immediately wanted to control and change it. Sorry folks, I’m just one of those people. And it turns out it took quite a bit of digging to find out how. Apple should fix that. No reason for it to be that hard to do. There really should be a GUI.

So to change the “__MyCompanyName__” that is in your templated class you need to edit the plist in

"~/Library/Preference/com.apple.Xcode.plist"

But of course it turns out that the key/value pair your need,

PBXCustomTemplateMacroDefinitions

doesn’t exist in there yet. So you can add a sibling and then add a child that has

""ORGANIZATIONNAME"

as its key and whatever text string for its value.

OR… you can use this command from the terminal:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions "{ \"ORGANIZATIONNAME\" = \"mycompanyname\"; }"

catchy isn’t it? Turns out you can override or make your own values in here. I couldn’t find a list of existing values anywhere, but I could see the ones already used in the templates.

BTW, the templates reside in:

"/Developer/Library/XCode/File Templates/"

I tried to find a way to create new templates in my home directory, but I could only get it to work in the main Developer directory.

And as always, if anyone has any corrections or additions to what I’ve said, I’ve love to hear about it.

post Bootcamp: Day 2

December 3rd, 2007

Filed under: Big Nerd Ranch, Objective-C — jd @ 9:44 am

We’ve finished Objective-C 2.0. We’ve gotten what we need to start doing Cocoa tomorrow.

So here are a few of my observations so far:

- It’s kind of weird that there is no public/private setting in objects. I don’t have a good reason for feeling this way, just a Java-ism I’m hanging onto I guess.

- You can also have methods that aren’t in the interface. This effectively keeps them “secret” unless you read the implementation code or are “in the know.” Not sure how I feel about this. I understand wanting to try out new functionality that isn’t officially released, but it also sounds like a maintenance nightmare on a large project to make sure all your methods that you intend to make available are listed in the interface.

- I’m still finding the syntax funky, but it’s getting better. Right now it just doesn’t seem scannable to me. But I realize I’m still learning and seeing various styles of spacing and indentation.

- Maybe the scariest of all so far is not checking that an object exists before sending it a message. Checking existence has been drilled in my brain from the beginning, so I’m a little nervous about this one. I’ve decided to close my eyes and let my body go limp. Just seems like sending a message to a nil object and that doesn’t generate an error could create a really nasty bug. However, it seems to be part of the dynamic typing you kids think is all the rage these days. ;)

post Bootcamp: Day 1

December 1st, 2007

Filed under: Big Nerd Ranch — jd @ 7:29 pm



Day One: Objective-C 2.0. Today was pretty basic. I have a computer science degree and work as a Java Developer. I’m also familiar with C. So today was pretty basic. But that’s OK. I did all the exercises. And explored XCode 3.0. After spending time with Java and Eclipse, it’s great to be in a well thought out, clean programming environment. Eclipse is like a trailer with just one too many rooms tacked onto it. ;)

So today Mark Fenoglio, our instructor (see above), covered the foundations of syntax and functionality that we’d need to work with Cocoa. By the end of the day we made it into OOP and started exploring the extensions to C that are the “objective” in Objective-C. The syntax is a little funky at first, but I get it.

I also spent some time trying to set up SVN in XCode. I’m still working on that. Got a repository set up on my host and successfully created an entry for it in Xcode. Now I just need to figure out how to connect it with the project. It’s grayed out. So I’m missing something. Plenty of time to figure that out tonight. Tomorrow while we finish Objective-C, I’m going to try and write a unit test as well. Big fan of test-driven development.

Every day we take a mid-afternoon break and go on a small hike around the area. We walked around the farm. There are cows, sheep, goats, chickens, mules and horses. Then I saw the Llamas! Hadn’t seen one of those before. I started looking around for Janet Jackson. :) Then I realized it wasn’t the early 90’s anymore… But it’s a very scenic area and I enjoyed walking around. And it was a great idea for breaking up an afternoon of mental activity.

post Arrival Day

November 30th, 2007

Filed under: Big Nerd Ranch — jd @ 8:38 pm

So I flew down to Atlanta today. Smooth flight, no major issues. Slept most of the way down. I made my way through the huge Atlanta airport to baggage claim. We had an assigned meeting place at carousel 4. I was there early. So I sat down and waited. What happened next was fun. I started watching the people around me to see if I could pick out the other Mac nerds there for the class. I couldn’t quite figure out what the defining characteristic was, but I got a fair number of them.

And then I spotted Jaye. Poor thing has to stand in the airport holding this sign. Brave woman. She was very pleasant and told us a ton of information and then got us on the bus. Nerd Herder. What a job. ;)

We arrived at The Inn at Serenbe shortly thereafter. It’s about 20 mins. outside of Atlanta. It’s a very nice place on what appears to be a sprawling farm with lots of trails for hiking. Now it’s no secret I’m a city boy. But it is a nice place. And I’m trying to adjust to not being able to walk down the street to a 7-Eleven.

This evening we had a nice dinner and met our instructor for the first two days of class. I enjoyed talking with him and the other attendees this evening. Seems like a nice group of people from many different backgrounds.

So tomorrow the fun begins. I’m looking forward to it. Ready to crank some code.

post I’m going to the Big Nerd Ranch!

November 28th, 2007

Filed under: Big Nerd Ranch — jd @ 11:11 am

So I coughed up the cash and I’m ready to go. I’m actually pretty excited about going to a seven day programming bootcamp. There has to be something wrong with me. :)

I think as much as anything it’ll be nice to spend 7 days focused on just the topic at hand. Totally focused on learning Objective-C and Cocoa.

Here’s the link to the class I’m taking.

I’ll be blogging about it. So stay tuned!

post I think I just had my first Mac ISV “learning” experience

August 14th, 2007

Filed under: General — jd @ 7:27 pm

I’ve been working recently on the design of the first Mac application that I plan on making commerically available. It’s something that I’m really into and feel like I know something about. The bar for similar applications in this space has also been quite low to date. This was another reason I picked this idea. I thought that a reasonably competent effort would be sufficient for a reasonable amount of success. (Ever the optimist, huh?)

However, all that changed today.

One of the other apps in this space issued a sneak preview of their upcoming release. It looked a lot like what I was currently designing. I’ve gone through a range of emotions this evening. It really took the air out of my sails for a while. But I’m dusting myself off now and formulating a plan B.

I may still write my app later. But I think I’ll let this other app do it’s thing first.

post C4[1] And then there was.. DrunkenBatman

August 14th, 2007

Filed under: C4 2007 — jd @ 7:07 pm

There’s a lot of talk going on about the panel discussion at C4. So for what it’s worth I thought I’d add my voice into the mix.

First off, I’d like to say that my two main problems with the panel discussion were the lack of structure and focus. A panel discussion moderator needs to be adept at keeping the panelists on topic and fairly timely in their responses. DrunkenBatman (or DB as I’ll now refer to him) was not particularly good at either of these last Saturday night. I’ve been told based on the “Evening At Adler” video (which I am now downloading) that DB did an excellent job there. However, I didn’t see any signs of ability on this occasion.

Secondly, I was hugely disappointed in his choice of topics. Now this is the main point that I believe many are screaming about. He chose to title one of the topics, “Black People Don’t Use Macs.” And I will admit I was borderline angry at this choice of topics while in the audience that night. But on reflection I believe that his topic was a good one that was very poorly presented. Further, I am of the opinion that his topic was not of the most interest to the audience, given the panel of talent available to us. The “Digital Divide” and other technological socio-economic issues are important and worthy of discussion. But DB’s spin on those issues and his failed attempts at humor came across as somewhere between inappropriate to offensive. I do not believe DB to be racist as I’ve seen exploitive posts malign him. But I do believe he was guilty of not taking his audience into account when choosing his topics.

I also have to admit that I didn’t really know who DB was. I’m new to the Cocoa development world and hadn’t managed to run across his blog. Evidently he was quite the provocative blogger a while back. It doesn’t look like he has blogged anytime recently, which is no crime, but as I tried to figure out why he was there to begin with, I was confused at his presence based on current performance.

So my lasting feeling from that panel discussion is the disappointment at the loss of information that could have been shared by all had we only had someone really leading the discussion.

Next Page »
ruldrurd
© Big Sparky , Desinged by Stealth Settings
Entries (RSS) and Comments (RSS)