Back to the drawing board

I’m finding Cocoa very hard. A few months ago, Aidan spent some time to coach me through the basics and while that went on I managed to get a lot of ‘relatively’ advanced things done. Going back to the code I wrote, even with the benefit of several weeks of writing out the examples in … Continue reading “Back to the drawing board”

I’m finding Cocoa very hard. A few months ago, Aidan spent some time to coach me through the basics and while that went on I managed to get a lot of ‘relatively’ advanced things done. Going back to the code I wrote, even with the benefit of several weeks of writing out the examples in the book I bought and I’m lost. So it’s very much back to the drawing board.

this highlights some things to me.

  1. Programming is hard. There’s no escaping it. It’s not something that everyone will pick up.
  2. Programming requires focus. You need to pay attention to it. Otherwise you won’t learn.
  3. Programming takes time. You’re not going to learn overnight. You need to look at it daily.

Cocoaing with the JesusPhone

My copy of “iPhone Open Application Development” arrived in my hands today after spending a couple of weeks in the Mac-Sys office. It’s a slim tome compared to the other Cocoa books I have but I understand where it fits in and it’s a nice little addition to the collection. Why is this book relevant … Continue reading “Cocoaing with the JesusPhone”

My copy of “iPhone Open Application Development” arrived in my hands today after spending a couple of weeks in the Mac-Sys office. It’s a slim tome compared to the other Cocoa books I have but I understand where it fits in and it’s a nice little addition to the collection.

Why is this book relevant when we have a proper (beta) SDK available from Apple’s Developer Site. Because, gentle reader, it looks at the system from a different angle and I think it will help me better understand how things fit together. It goes into a lot of detail in the construction of an application and the bits and pieces that are needed. This reinforces that there’s no ‘magic’ here. It’s a system with components.

I’ve only got a couple more chapters to go through in the Cocoa book I’m working on. Then I’ll attack the iPhone book as well as the BigNerdRanch Cocoa book.

ADBE: Nearly there

The recent news that Adobe Creative Suite 4 will not be 64-bit for the Mac is taken as a blow to the Mac. It will be 64-bit for Windows on 64-bit machines running a 64-bit Windows OS (which is a surprisingly small number of people). 64-bit Windows XP runs slower than 32-bit Windows XP so … Continue reading “ADBE: Nearly there”

The recent news that Adobe Creative Suite 4 will not be 64-bit for the Mac is taken as a blow to the Mac. It will be 64-bit for Windows on 64-bit machines running a 64-bit Windows OS (which is a surprisingly small number of people).

64-bit Windows XP runs slower than 32-bit Windows XP so the benefits are not likely to be seen there and the number of people running (or able to obtain XP-64) is a rounding error on the Windows sales market. In truth, the only advantage to running XP-64 was to be able to address more than 4 GB of memory with a single process but for many the disadvantages with DirectX and .NET outweighted the advantages.

With Windows Vista, every Vista DVD (with the exception of Starter) ships with 32-bit and 64-bit versions – and if it’s not there, you can buy it from Microsoft for a small additional fee. This means, in theory, if you install with a 64-bit processor, you’re going to get a 64-bit operating system. For home users, this means being able to address between 8 and 16 GB of RAM. For the “Pro” versions of Vista it means being able to support more than 128 GB (not that there are many machines that can fit that amount of RAM in their cases!) The 64-bit version of Vista still has compatibility issues with hardware and software but in the next few years it will be standard. What this means for most people is that when they buy a new PC, they’ll get the benefits of 64-bit software.

Adobe’s problem with CS4 is that it’s 32-bit software written using the Carbon APIs. Apple has been shopping Cocoa as their next-generation framework around for a decade now and still Adobe (and Microsoft) laboured on with the Carbon ‘compatibility’ API because it represented the least amount of work for them. The plan originally was to make Carbon 64-bit compliant but in WWDC in 2007, this plan was trashed. Carbon is old, archaic and it’s too much work to get it to 64 bit when they could keep it at 32 bit and put extra work into Cocoa to make it fabulous. But this buggered up the plans of Adobe and Microsoft and as a a result, Officd will likely remain 32 bit and Adobe’s Creative Suite will not be 64-bit until version 5 which is a long time away.

Is this a big deal

First, lets dispel the idea that 64-bit software is considerably quicker than 32-bit software. In many cases it is slower. But being able to address a lot more RAM – or even being able to reduce the reliance of disk at all and keep entire apps, especially those regularly used, in RAM, is a bit step forwards. Heavy Photoshop users routinely throw around images that are multi-gigabyte in size and being able to load the whole thing into RAM is a huge potential speed boost (never mind having Photoshops own Virtual Memory system eclipsed by fast RAM rather than slow disk).

The gains enjoyed by moving to 64-bit Photoshop on Windows may be reduced by the fact that Vista is a dog (link, link ) and will already reduce performance (though you can turn off the eye candy in Vista and it improves performance considerably). And the fact that, well, it’s Windows which brings along with it an entire world of suck. (This is my opinion). Having to use Windows every day saps my enthusiasm for computing as a whole (and I can say this after using Windows every day for the last 9 months in the day job going from using Mac OS X for years in the day job). Windows just isn’t a lot of fun.

So my opinion is that, performance wise, this won’t make a lot of difference.

Who’s to blame here?

I think that miscommunication between Apple and Adobe is to blame. Adobe knew about Cocoa and how it was the future. Apple should have communicated earlier that it saw no future for Carbon beyond the first 10 years. It’s a stupid mistake to make for two companies who have so much in common and who could be great together and this brings me to a point which has been laboured a few times in past years.

Apple and Adobe could do with working closer together for the benefit of both. It would help to reduce the frustration of everyone who’s had to work with Adobe’s implementation of Acrobat on the Mac platform. It might even bring Flash/AIR to the iPhone/iPod touch platform.

I lay the blame at both their feet for not working together. There’s definitely issues with the companies as they both seem to be angling to be a forerunner in the online application space. Apple is trumpeting HTML, Javascript, AJAX and their own media types. Adobe is trying to get Air, Flash and PDF everywhere. But there should be enough crossover that these companies, which have a long and chequered history, to work together. The adage “The enemy of my enemy is my friend” is certainly true when both companies consider Microsoft. Microsoft is attacking Apple in operating systems (mobile, portable, desktop, server) and media (Windows Media versus Quicktime) and attacking Adobe with Silverlight (as an alternative to AIR/Flash) and their online document formats (which challenge PDF).

Adobe is a relatively small company. They have under 7000 employees They had enough clout to buy Macromedia and gain control of Flash. Adobe’s market cap (the market value of their corporation) is just over 20 Billion this morning.

Why is this relevant?

Apple has about 20000 employees. They’ve got a lot of cash in the bank ($18 billion at last count) and will likely pull in another billion profit at the end of this quarter. With Cash and stock, they could buy Adobe and still leave themselves with a few billions dollars as a buffer against hard times.

What would this mean?

Look at Apple’s recent acquisitions? They bought Macromedia’s Final Cut product pre-1999 and killed the Windows version, releasing the code eventually as Final Cut Pro and iMovie. They bought Astarte in 2000 and released iDVD and DVD Studio Pro. They bought eMagic in 2002 to get Logic and killed the Windows versions. They bought Nothing Real to get Tremor and Shake and killed the Windows versions. Apple isn’t afraid to spend some money to get strategic technology and then kill off a product or three in order to retain loyalty. There were a lot of Logic users who were pissed at Apple’s decision to kill Logic for Windows and I’m sure there were a few who were annoyed about Shake (though decidedly less due to the eminence of Linux in that space).

Wouldn’t an Apple acquisition of Adobe seem to make some sense?

It would give Adobe access to hundreds of Cocoa-proficient engineers with access to the bowels of CoreImage. It would accelerate the development of Mac compatible software development within that company. It would mean that Flash on Mac might not suck as much. And it would likely mean that not only would Adobe stop making Craprobat Reader for Mac, they may rethink the PDF strategy of the company and make it less of a second class citizen on the Mac. Yeah, it’s my opinion.

It would aggravate a lot of Windows users who use/pirate Photoshop on Windows and that market is very large but considering the roadmap they could present, it would then make sense for Apple to do a license trade-in for the Mac-only version. Buy a Mac and trade in your Adobe CS for Windows license for a free Adobe CS for Mac. That would nearly halve the cost of moving to the Mac and get Apple a load of good kudos in that space at relatively small amounts of lost revenue.

This is not a time to be meek.

Code Signing. And me.

‘Perry’ wrote (on the RogueAmoeba blog post “Code Signing and You”): “…the case for Code Signing on a Mac – in the service of its administrator/owner – is very compelling. In a sense, the Mac is living on borrowed time – viruses and worms and other nasty bit-critters will surely come our way, and going … Continue reading “Code Signing. And me.”

‘Perry’ wrote (on the RogueAmoeba blog post “Code Signing and You”):

“…the case for Code Signing on a Mac – in the service of its administrator/owner – is very compelling. In a sense, the Mac is living on borrowed time – viruses and worms and other nasty bit-critters will surely come our way, and going to an all-signed environment is one the most potent weapons we have to keep your systems from being overrun. I realize this capability *could* eventually be abused in various ways, and I trust you’ll all keep Apple honest about it. But it can also be a powerful force *for* you.

Oh, and to put that to rest: I do work for Apple, and I designed and implemented Code Signing in Leopard. If you think it’s going to usher in a black wave of OS fascism, you have every right to blame me – it was, pretty much, my idea.”

Like some, I see code-signing as a necessary neutral. It’s neither good nor evil but it could be used for evil purposes (where evil is really just a shade of ‘not good’).

It’s all about trust again. When we first heard of Intel’s Palladium, there was an uproar. When we heard about processor serial numbers on the Intel platform, there was an uproar (despite the fact they had been quietly present for years on PowerPC).

The other commenters on the blog put forward scenarios where corporations will use this facility for evil and point to Apple’s DRM’ed music (using FairPlay) and also Apple’s odd restrictions within DVD Player.app on Mac OS X as an example of how the company is ‘evil’.

Of course it’s bollocks.

It took FairPlay to get the media owners (record labels) to start to play ball. Now we have DRM-free music available from multiple sources. Similar Apple’s DVD Player is compliant with the law because they want to avoid litigation. You can get round it by using other DVD-playing applications but Apple plays it safe. They’re not interfering with other third party apps.

It may be blind and stupid faith but I know enough people within Apple and I’ve read enough accounts of people working there that I trust them to do the right thing. Individual end users do need help in discovering which applications are bad and which are good and Apple, in order to reduce the amount of legwork required, is bound to have a review process where they solicit information from users of iPhone applications. This will have the dual effect of speeding up the eventual distribution of applications and also making sure there’s a peer review process.

I’d like to hear more from Perry on this debate as individual security on computing devices is important to me from the point of view of working in the IT business. There’s always a considerable difference in working with Macs and PCs – the latter is always slower in my experience (considering that my day job gives me a Core Duo machine running XP and my home machine is a Core Duo machine running Leopard) due to the need to perpetually run AV and firewall software and if not running them, due to the amount of malware that has been picked up.

Not enough people hear the reasons for design decisions and this is an Apple fault. They don’t make individuals publicly known. Every time there has been an outcry, I’ve always managed to speak to someone within Apple and they’ve given me the reasons for this and that. And yeah, in the wake of their spin doctoring I’ve always agreed.

For the average end user there needs to be a helping hand, an additional way to reduce the contact they have with malware. It’s something that will piss off some people who for political reasons want to have 100% access to their devices but I’m confident that the jailbreaking crowd will cater for them adequately.

A light went on somewhere…

After each section of the name, there is a colon, which is actually considered part of the name itself and then a parameter. The type of the parameter is given in parentheses, followed by the parameter name. After reading this short section, seriously I felt a light switch on in my brain. I’ve seriously started … Continue reading “A light went on somewhere…”

After each section of the name, there is a colon, which is actually considered part of the name itself and then a parameter. The type of the parameter is given in parentheses, followed by the parameter name.

After reading this short section, seriously I felt a light switch on in my brain.

I’ve seriously started reading about programming on the Mac and like in previous centuries I’ve had issues with trying to jump in and do things because I don’t know head from tail.

It’s like being instructed how to extract DNA
from a tissue sample by being told:
“Here’s a tissue sample, extract the DNA”

My experience with writing code started in about 1982 when I got a Sinclair ZX Spectrum for Christmas. I didn’t know anyone else with a computer and struggled along with Sinclair BASIC in isolation for about a year until I decided (at the tender age of 11 or so) that computers were crap and it would be a few years until they got “good”. (Even then I was prescient). The Spectrums had issues with dust or heat or something and the recommendation we got from Sinclair was to blow a hairdryer on ‘cool’ in the port at the back to prevent the . It didn’t help that half of the sample code examples were printed incorrectly (in manuals and magazines) and I had insufficient understanding of what was going on to even guess what might be wrong with the code I’d painstakingly typed in (and with no persistent storage, turning off the machine meant starting again). It brought many tears to my eyes at the time and even playing The Hobbit ‘adventure’ game didn’t help because I’d not read the book and had no idea what to do when I met the trolls other than get eaten. I let computers pass me by for a few years, dallying only with playing a few head-to-head games of Falcon at a friends house (two friends, one had an Amiga, the other an Atari ST and using a cable you could hook them up for dogfights). I knew then that multiplayer games were a hundred times more fun than playing solo and a million times better than being constantly eaten by trolls. But there wasn’t a medium for ‘playing’ over at the time and I was soon working towards my A-levels planning for a career in Biology and, for the most part, forgetting all about computers.

Back when CD-ROM was an acronym used
with “inverted commas” when speaking.

Mac Plus SE from the Psychology Department. We would sit up playing with stuff like fonts, games and clip-art until dawn broke, fueled by coffee and we’d grab a couple of hours sleep before I had to go to grueling 9 am – 5 pm lectures and lab practicals. Throughout university I had no exposure to Windows – just UNIX and Macintosh. And I didn’t think for a second about writing any code to take better advantage of them. I was more interested in talking using a computer, even just sending text between machines.

After graduation, the market for genetic engineers was pretty poor and though I had a placement guaranteed in the City Hospital labs (I’m not just a pretty face), I gave it up for a lesser job which paid better and would give me time to go back to college to study something about computers.

What the hell is this crap?


At the University of Ulster, we were introduced to Modula-2 and, to be honest, I foundered. I couldn’t see anything exciting about it and we were interacting with it using Windows, which interfaced with the VAX using some sort of terminal application. I am not kidding that when presented with Windows and VAX/VMS after coming from UNIX and Macintosh, I was less than enthralled. I did my best with Modula-2 and even stayed up all night one evening i the labs trying to get the main assignment to compile. I’d have gone mad if the guy next to me hadn’t left a copy of Lemmings running. I passed that course but I hated it. And because I didn’t seem to be a star in Modula-2, I didn’t get onto the C-course in the second semester and instead had to learn all about COBOL. Needless to say, code didn’t seem very attractive. Mainly because I was apparently shit at it.

Code is sexy. So are boobs


It did help cement my interest in networked environments and through a series of trials and tribulations I managed to wangle myself onto another course (AVTIT), which allowed me to piss about with ethernet and TCP/IP. This actual ‘practical’ knowledge of TCP/IP served me well, as did my Mac background, in getting me a placement with Nortel which really served as my introduction to I.T. as a career. My job was mostly looking after the Mac people there so I devoured a copy of the Mac Bible and learned quickly (and eventually didn’t need to call my girlfriend as often to Mac advice). From there I went on to just networking as a career and to be honest have not looked back. I did have to touch C code once while there – and that was because we used an in-house ‘clocking’ system called flexi which had been hardcoded with s 250 person limit. As NITEC grew, we hit 250 and the system fell over. Changing the limit to 499 worked but required me trawling through the code, figuring out what needed changed and then getting a student to help me compile it and get it running. I developed a little crush on her it has to be said (well, she was smart, good-looking and had a great rack…)

Liars, thieves and businessmen


After that it was more networking work, then headhunted to run the technical side of Macinni by their Commercial Director (Gerry) and when that failed due to horrendous mismanagement of the sales/retail side. A startup losing half a million pounds in six months is something unheard of these days – but what can I say – Caveat Emptor. It was a humbling experience being made redundant by a couple of crooks but I came out of the experience with some new friends, my savings and a lot of righteous anger about how a Apple Authorised Service Provider should be run. And decided to do it myself, pulling in every favour I could ever have made and dragging the technical guys from Macinni with me (I kinda figured the Admin and Sales guys could fend for themselves). We applied to Apple and it took a long phone call to the UK MD to get them to give us a chance as an AASP considering the disaster that was Macinni.

I will learn to code.
If it kills me


This year Mac-Sys is five years old (it seems like ten) and it has had ups and downs to be honest. People come and people go. And I still can’t write more than a few lines of code because, frankly, it was never the day job. I’m trying to change that and maybe at the same start to bring some value other than my boyish good looks (which have long faded) and charm (which I never had). Writing Cocoa code is hard but realistically no harder than PHP or any other code I’ve touched and not been able to get the hang of.

To this end I’ve started working though a book of code which is getting me started. Philip and Aidan have pledged some time to help me through some examples and I’m trying to get some guys in $BIG_COMPANY who are interested in Mac/iPhone development to come out at lunchtime to NISP and talk Cocoa for a bit. We also mooted the idea of reviving Cocoaheads but I’m not sure how this would pan out considering I’m out in the evenings a lot as it is (with gaming once a week and OpenCoffee and NiMUG once a month. Add in Cocoaheads….)

I’ll keep y’all informed.

XCode is hurting my patience

So how am I meant to deal with the light blue blobs. I can’t ‘edit’ that text in any sensible fashion when what I really want to do is remove the space just after the * character. I end up just typing the whole thing which removes the point of autocomplete. Related posts: iPad All … Continue reading “XCode is hurting my patience”

So how am I meant to deal with the light blue blobs. I can’t ‘edit’ that text in any sensible fashion when what I really want to do is remove the space just after the * character. I end up just typing the whole thing which removes the point of autocomplete.

Content Theft, alive and well. (One for the Cocoa fans)

Cool, I didn’t know you could just grab entire articles from the IntarWeb and publish them wholesale without even giving an attribution link! That’s what Rixstep has done? Scott Anguish, one of the nicest guys on the Intarweb is more than a little upset because Rixstep has repeatedly refused to remove his content which has … Continue reading “Content Theft, alive and well. (One for the Cocoa fans)”

Cool, I didn’t know you could just grab entire articles from the IntarWeb and publish them wholesale without even giving an attribution link!

That’s what Rixstep has done?

Scott Anguish, one of the nicest guys on the Intarweb is more than a little upset because Rixstep has repeatedly refused to remove his content which has been ripped of wholesale. What’s worse…

Scott writes

My copyright has been violated by his reproduction. Yes, the DMCA would allow me to get it taken down, and I am exploring that route. But given his track record, I see no way to stop him from doing this. He’s published incorrect and horrible stuff about me, Aaron Hillegass, and others, before.

It is imperative (and the reason I temporarily pulled things down) that long-time readers of Stepwise know RIX stole this.. I do not approve of his doing so. His use does not fall under fair-use, or commentary. He’s simple theft.

I’ve worked 13+ years on supporting developers by maintaining Stepwise (which truly is a labor of love) and I don’t want this theft and misrepresentation to damage that effort.

Rixstep gets traffic by stealing content, misrepresenting the opinions of the authors and doing the whole “keeping it real” thing in the face of millions of new Apple converts.

I must say it’s an interesting marketing step, calling Apple’s customers idiot fanboys while trying to flog them a replacement file manager. It really motivates me to buy it.

Scott Anguish is a pillar of the NeXTStep community. Anything that offends him and, in his own words “makes him sick” should motivate everyone interested in the Mac and especially Cocoa.