Archive for the 'Programming' Category

29
Jun

Apple buys Coherent

I’m sure you all remember back on May 1st we posted here about Coherent, a JavaScript effort to bring Cocoa Bindings to the web? In a post that Coherent’s author showed up to comment on no less? And no doubt you headed over to check it out immediately?

Well, if you didn’t … now it’s too late.

If you go to the Coherent site now, you will see:

I’ve long felt Apple would provide the best environment for Coherent, and since I joined the company last year, I’ve been thrilled that we’ve been able to use Coherent in a number of projects.

Today, I am delighted to announce that I have assigned ownership of the Coherent library to Apple. Naturally, I can’t speak for my employer regarding what future products might include this library, but I can say my hope is that this will ultimately make Coherent a better tool for Web developers.

Or, is it not too late at all, perhaps? There’s some speculation over on Ajaxian that this is something deeper than Apple simply picking up a piece of useful code for themselves:

I heard from a little birdy that Apple is going to be doing some interesting things with respect to JavaScript libraries.

Recently there has been a lot of buzz around SproutCore / Mobile MeObjective-J / 280 Slides and remember the Coherent Cocoa Databinding framework?

I think that Apple took note of the recent buzz, and it was at that point (not before) that execs suddenly saw that they really had. They have taken control of Coherent where “it could become the Cocoa library for JavaScript and is made available under a similar license to Cocoa and Cocoa-Touch…”

Interesting, no?

26
Jun

Home stretch!

w00t! Eighth AND FINAL-TESTING QUALIFIED iPhone SDK is out now! Grab it, polish up, and list your goodies on the Apps Store!

24
Jun

Jobs: MacProVideo.com!

Here’s another heads up for all of you whom might be looking for a job in Vancouver, The Best Place In The World To Live™  – five years running now! — the good folks at macProVideo.com apparently are on a roll, and are looking for inhouse programmers for both Mac and Windows that have experience creating multimedia applications.

If you’re still old school enough to not be solely devoted to the iPhone yet, we definitely recommend you consider them seriously; hey, we would if we still did desktop stuff — the publisher there is the fellow who had the stunningly great idea to write the book on LiveStage back in the day, which struck us as pretty seriously cool, as there’d never been a book written about a program we’d designed ever before. A rather flattering development, that!

There’s no official posting, but anyone with the good sense to be reading this blog counts as a personal referral no doubt, so fill in the contact form here, and good luck!

16
Jun

Sproutcore Grows!

So, if you’ve been following the last few posts, you’ve no doubt got the idea that SproutCore is intended to fulfill the destiny of the YellowBox APIs in bringing Mac development to the rest of the world. Here’s a supporting link to demonstrate that emerging realization:

Apple formally adopted a new web design framework at the end of last week’s WWDC conference, accounts say … The technology is in fact said to form a key component of its MobileMe service, allowing basic online apps that function across multiple platforms. This may eventually expand to more complex programs, however, including iWork software that would substitute for local copies. It is speculated that third-party companies may be invited to build their own MobileMe apps, whether as a default part of the service, or for a separate fee.

Interesting, no?

h/t: MacNN!

14
Jun

WWDC Reflections

So, after going through WWDC this year, it’s quite clear that my wild speculations that “Snow Leopard” might actually refer to the return of Yellow Box for Windows were completely wrong. Moreover, it’s pretty much certain that there will never ever be a Yellow Box in its historical form as a Windows-hosted runtime, for a variety of reasons.

However, we weren’t completely nonsensical in our thinking; it looks like we did, in our fumbling way, correctly identify Apple’s interests and goals — we just weren’t thinking outside the box enough in figuring that the resurrection of Yellow Box was the way Apple would choose to achieve them.

Unfortunately, the direct evidence that we have to support this new thinking is all under NDA, although most of it can be pieced together from publicly available tidbits; however, the basic reasoning can all be found in the latest piece up at the always-invaluable RoughlyDrafted Magazine. Money quotes:

Instead, Apple is refining Cocoa for deployment within the web browser to enable developers to build those so called “Rich Internet Applications” that Adobe wants users to build in Flash/Flex/AIR, Microsoft in Silverlight, Sun in Java, and so on…

If you were waiting for the resurrection of Yellow Box or Cocoa for Windows, stop waiting and start coding. SproutCore brings the values of Leopard’s Cocoa to the web, domesticating JavaScript into a functional application platform with lots of free built-in support for desktop features…

Yep … I think Messr. Dilger is pretty much spot on with his various prognostications and recommendations in this article, and when I casually dismissed the idea that MobileMe was the Big Unexpected Thing™ I’d heard hints would be announced, I was completely overlooking the possibility (and most people still are!) that it wasn’t just a rebranding of the .mac web services, it actually does presage a fundamental shift in the capabilities of cloud computing paired with a blurring of the line between native and web applications.

The next couple of years are going to be very interesting indeed!

11
Jun

iPhone developer demographics

There’s something really quite interesting about the iPhone-focused sessions we’ve attended here at WWDC; they have a demographic distribution which we have never, ever, seen anything even remotely akin to in over 20 years in  professional programming.

Specifically, as we write this, we’re sitting on the side platform at “Controls, Views, and Animation on iPhone”, which is a pretty solidly geeky session even as the general run here goes, and of the four people immediately adjacent, two, that’s 50%, are women.

Those of you who have never been to a programming conference are, perhaps, thinking “yeah, women are 50% of the population, so they’re 50% of your neighbours, and why would that merit a post?”

On the other hand, those of you who have actually been to a programming conference before — well, you probably just figure we’re flat out lying. That would indeed be the rational response, as normally at these conferences, well, let’s put it this way, the pretend women — not that there’s anything wrong with that! — outnumber the biological women by a significant multiple. WWDC is noticeably less imbalanced than your typical Microsoft conference in that regard, and way less imbalanced than any Linux conference in that regard, but even in our comparatively-enlightened Apple world, the number of women in any engineering session could historically be most accurately quantified as “rounding error”. But here in the iPhone programming sessions, there’s an utterly unprecedented number of women. And generally attractive women, no less.

Looks like The Babe Theory of Political Movements applies to programming platforms as well … it’s just that until the iPhone came along, there never was a platform that qualified. Be interesting to see if these anecdotal observations of ours turn out to portend a statistically significant difference in iPhone programmer demographics from the general industry, won’t it now?

 

09
Jun

Keynote lineup report

So it’s 60 minutes or so to show time. And the tension is can you feel it? palpable in the air over the feverishly enraptured lineup!

Well, ok, it’s more like a collective “I can’t believe that many people got up before I did” bemusement.

At least, unlike most here, we took the time for a good hearty breakfast, so we’re not knifing the others for scraps of Danish over at the snacks table. (Well, ok, I exaggerate, there’s no actual knifings so far, but that’s probably only because the knives are plastic.) And providing further evidence of my long standing theory that if you take a seat at the counter at Mel’s Drive-in the entire Mac community will eventually drop by for a chat, this morning our neighbour was the renowned Aaron Hillegass who, as you really should know already, is the/an author of the two most essential books on OS X programming, Cocoa Programming for Mac OS X and Advanced Mac OS X Programming. Which, if you don’t have the 3rd and 2nd editions of respectively, you should click those links and order, RIGHT NOW. We were planning to get around to doing an actual review of Cocoa 3 Ed. at some point, but we’ll settle for “Yeah, get it now” as being adequate. If you program in Cocoa, you should have it, simple as that. And while we’re on the topic, these books apparently are more or less the course notes from Messr. Hillegass’ Big Nerd Ranch in person training courses. We’re really much more book people than course people ourselves, but different strokes and all that, and if you are you should probably look into those!

02
Jun

SquirrelFish!

What is a “squirrelfish”? Why, this is a squirrelfish!

I’m sure there must be an interesting story as to where that came from, but “SquirrelFish” is the code name of the new WebKit JavaScript interpreter that was just announced. A 1.6 performance improvement over WebKit 3.1, they claim, and over four-fold from WebKit 3.0. And, no doubt, whatever performance improvements are in the WebKit nightlies now will make it to the iPhone sooner or later … and probably sooner.

There’s a good bit of background info in the announcement post which is probably worth reading if you’re the sort that has any more interest in interpreter implementation than the absolute minimum you could squeeze through your required degree courses without avoiding. And even if you are one of those sorts, there’s some pointers to contemporary introductory material that’s probably worth a gander just for general breadth of knowledge. So here’s the money quotes there:

SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.

SquirrelFish owes a lot of its design to some of the latest research in the field of efficient virtual machines, including research done by Professor M. Anton Ertl, et al, Professor David Gregg, et al, and the developers of the Lua programming language.

Some great introductory reading on these topics includes:

Read and enjoy!

01
Jun

All about C99

Yep, we’re always on the cutting edge of the latest news and breaking developments here Under The Bridge, so today we’re going to talk about — wait for it — the C99 standard for the C programming language!

Um, you may understandably be thinking, how does ISO/IEC 9899:1999, published 1999-12-01, qualify as a breaking development now exactly?

Well, grasshopper, it’s a breaking development because it has recently come to public light on the xcode-users list that recent versions of Xcode have changed the default C language dialect to C99, apparently deciding that GCC 4.0’s C99 feature support can now be deemed complete. So that means that if you’re using Xcode to target Any New Device Currently Under NDA™, it would behoove you to clue into just what’s changed and different in this “new” version of C. And, conveniently, this fine fellow David Hoerl has put together a reading list for us:

It took a while but I finally did uncover a really good series of articles written by Randy Meyers for the C/C++ Users Journal several years ago. Posting these here in case you have been thinking of doing the same in the near future:

The New C: Introducing C99

The New C: It All Began with FORTRAN

The New C: Integers, Part 1

The New C: Integers, Part 2

The New C: Integers, Part 3

The New C: Declarations & Initializations

The New C: X Macros

The New C: Compound Literals

The New C: Why Variable Length Arrays

The New C: Variable Length Arrays, Part 2

The New C: Variable Length Arrays, Part 3

The New C: Variable Length Arrays, Part 4

The New C: bool, Advice to C and C++ Programmers

The New C: Inline Functions

Statements and Loops

Floating-Point Math

About // Comments

And if you’re not satisfied by all that, there is also available The New C Standard: An Economic and Cultural Commentary, a 1615-page book which annotates the entire standard, sentence by sentence. And it’s completely free, as Addison-Wesley backed out of publishing it once they got a look at it. Probably not a wholly indefensible decision on their part, as it’s not exactly what most people would consider a gripping page-turner, but it is remarkably exhaustive in its coverage. 

h/t: xcode-users!

28
May

iPhone SDK beta 6!

So, start up Software Update and get on board with 10.5.3 if you haven’t already — then go grab that SDK beta 6 goodness!