27 October 2010

Stuck

I am stuck. I'm paralyzed, by not knowing where to begin (and by wanting this project to be over before I've even started it). I need to work myself up to get myself working, to get something (anything) accomplished. I know I can do this. I have a great idea. (At least, I think it's a great idea.) But I don't know how to get started.

I told myself I couldn't keep throwing $50 books at this problem (and I can't), but in looking through the information and the various tutorials I could find, I still felt hopelessly lost. So I've turned to Beginning iPhone 3 Development with the hope that I'll find the encouragement and hand-holding I think I still need. (I almost bought iPhone Programming: The Big Nerd Ranch Guide, instead, but it looked far too intimidating.)

19 September 2010

Who Said What Now?

I dunno, I don't think I ever used to have to read something twice, or three times (or more) for it to begin to make sense. Maybe that's just the way it works when you get into your 40s.

07 September 2010

Transcendental

I woke up in the middle of the night last night, not quite half awake, yet absolutely convinced I could program the TARDIS in Objective-C.

06 September 2010

Devour

The past two days have been intense, but tremendously satisfying.

I want to push everything else aside, all of the work that needs to be done, all of the phone calls to be made, bills to be paid — I just want to concentrate on learning. I can't, of course. I get this way when I've discovered something new and compelling, a book or film, or a lover — I want time to stand still, and I want that forever to learn everything, all at once. I want to devour.

05 September 2010

Error

If there's anything worse than a book with typographical errors it's a programming book with typographical errors.

04 September 2010

Bowl-O-Rama

I really don't want to keep throwing $30 and $40 books at the problem — I can't afford to! — but I still feel as though I don't have a firm enough grasp of the very basic stuff to make the less-very basic stuff less baffling.

(Remember that episode of The Simpsons, where Homer's only hope to keep his dream job at the Bowl-O-Rama is to come up with a plan to increase business? He starts out consulting "Advanced Marketing," the next scene has that book in the trash as he reads "Basic Marketing," and the scene that follows has both books in the trash as he's reading the Dictionary. That's kinda how I feel.)

So this afternoon, I'm reading Objective-C for Absolute Beginners. I also bought iPhone and iPad Apps for Absolute Beginners, which probably wasn't necessary, but better safe than sorry.

Distractible

I can't listen to podcasts while reading this stuff — I can't even listen to music.

Novice

One of the problems I find with the books I've been studying is that, much as they've been (mostly) designed with the novice in mind, I'm still feeling the presumption that there are very basic concepts I should understand — and confusion and frustration when I don't. (I read today that just about everyone is confused and frustrated by this stuff at the start.)

So off I go, in search of something more simple.

I've had the good fortune to find BecomeAnXcoder, a free PDF book that's meant to serve as an introduction for non-programmers. It'd probably make a great eBook (if I had a great eBook reader), but instead, I've printed all 60-odd pages, and put them in a bright red binder. (I've discovered that when I scribble notes in the margins it helps to reinforce what I've learned.) It really is beginning to clear up some of the mystery about some very basic stuff, and how that all relates to other very basic stuff.

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.

21 May 2010

If This then That

Despite appearances to the contrary (and the turbulence and that chaos that often lingers beneath the surface) I tend to be an organized, even methodical person.

I spent a day or two this week setting up some automated functions for InDesign, repetitive tasks that could be done for me, much more quickly. (I don't know why I didn't do this ages ago.) This involves writing what amounts to rudimentary computer programs in AppleScript, though not so much with computer code as a series of mostly familiar words and phrases (tell, repeat, if, then, of, else, end, that sort of thing). The phrasing is key, though, and the pieces do need to be organized in a specific way for the scripts to do anything useful.

I've dabbled in AppleScript off and on through the years — enough to be familiar with the structure, less so with the details. But I understand enough to get by, and I know enough to be able to pull bits of code from here and there to build what I want.

Many people would find it all maddening, even though AppleScript is designed to be as accessible as possible. I enjoy the complexity. It's all just the pieces of a puzzle, everything has to fit together in a particular way, or none of it makes sense.

I've often thought of trying my hand at more complex programming projects. I started reading up on C many, many years ago, but I never found the time to pursue it (and I've long since forgotten anything I might have learned). It's been on my mind off and on for several months, and I want to try again — if for no other reason than to convince myself that my mind is still dexterous at 45.