29 August 2010

Abstract

It's all just a series of statements to me. It really hasn't taken on any depth or purpose yet (which is frustrating), because I'm not really doing anything with it. I think once I discover how it all might be put to actual use — that's the point when it will all begin to mean something.

Thinking

One or the other books I've been reading say I have to learn to think like a programmer.

I was thinking, idly, about how Adobe Photoshop does what it does. One of the functions I rely upon is the Clone Stamp tool, a brush that allows you to clone a part of an image and paint with it, or even paint with part of an image as the selection travels over it, in relation to the tool. The brush can be small or large (or even enormous); the edge of the brush can be soft or hard or somewhere inbetween. So I'm thinking to myself, the part of the image to be reproduced has to be loaded into a specific address in memory, and then accessed and drawn onto the document‚ over and over again. The brush must use some sort of alpha channels to soften the edge (and to change the shape, as well)...

Mind you, I wouldn't know where to begin to understand how that's all done (much less how it's done along with any of the hundreds of other tools and functions in the program), but it's kinda interesting to consider in these terms.

Exercises

I finally found the time to try out some of the exercises in iPhone App Development: The Missing Manual, with Interface Builder and the iPhone Simulator. (For some unknown reason if I try to select an iPhone 4 as the imaginary device, I get this enormous screen, taller than the height of my iMac's monitor, with a tiny little Home Button! Must be something to do with the resolution of the iPhone 4's display.) It's all following step-by-step directions, of course, but after that I started tinkering with the code for the project, just to see what would happen, and it seems I might just have picked up enough to kind-of, sort-of get by.

At least, I knew enough to get stuck on was why it was necessary to do this...

float midValue = mySlider.minimumValue + ((mySlider.maximumValue - mySlider.minimumValue) / 2.0f);
mySlider.value = midValue;


...to set the Slider at the halfway point at startup. I dunno, it seemed redundant not to take the Maximum Value and just, you know, divide it in half. But then I started plugging in other combinations of numbers, and it all began to make sense as a more foolproof method of arriving at the middle.

I tinkered with the Interface Elements, too, changing sizes and colors and elements, moving stuff around, and whatnot. I'm not sure why anyone would want to do most of what you're able to do — but it's early days yet.

20 August 2010

Friday

So I had this great idea, that one day each week I'd put aside all other work and completely immerse myself in this stuff. Friday seemed as good a day as any. So I pushed myself to wrap up an outstanding book project during the latter part of the week, even staying up late to finish (when I discovered something very important I'd missed).

Maybe next Friday will be better.

15 August 2010

Full

I have discovered that there's only so much of this detail my brain will hold before I have to close the book for awhile and just let my mind rest.

Small Steps

So I understand that I can manipulate data — I'm kind of, sort of, almost beginning to understand how to do it — but I still haven't made the enormous conceptual leap to understanding how this will enable me to do the sort of stuff I have in mind.

14 August 2010

Less Not Overwhelmed

As I get further in, I'm feeling somewhat less not overwhelmed than I was. So tonight I'll peer into my second book, Cocoa and Objective C: Up and Running. This is (I think) something that will get me more familiar with the fundamentals.

(Or, failing that, it will help me find another book I ought to buy.)

13 August 2010

Where to Begin

I finally had the chance to start reading my first book, iPhone App Development: The Missing Manual last night. (I bought it on Saturday. It's been that kind of week.) I'm not entirely sure why I thought this would be a good place to start, but I have to start somewhere, and this was one of three or four books I had come across and taken note of over the past several months. As an overview, rather than a book focused solely on programming, I thought it might be a good way to wander in without being completely overwhelmed.

And it has been. I'm just into Chapter Two (a brief introduction to Objective-C), and it's not something I know anything about, but I'm surprised at how easy it is to get my mind around the basic concepts — and how similar many of those concepts are to AppleScript. It's very encouraging.