The missing in action editor for OS X.
-
Recent Posts
Recent Comments
Archives
Categories
Meta
LWN runs a story about “sexual harassment” in open source conferences.
Now, we all know using some OSS software amounts to sexual harassment, but apparently the problem is more widespread in OSS culture in general. And not only because someone made a pass to a woman at a conference, and another guy made a sexual joke at another (things that never, ever, happen outside OSS conferences). For some women it has been a truly frightening experience. This first person account, for example, reminds me of the time I have strayed into this Blue Oyster bar, in Castro:
She says of a conference in the mid-1980s: “Male attendees would walk up to you – even if you were in a group – and ask ‘How much for a (sex act)?’ You tried hard not get in an elevator in the convention center alone.”
Admittedly, staging that particular conference in a hostel in the middle of Amsterdam’s Red Light District probably gave some people the wrong signals. That, and naming it “touch”, from the GNU command line tool of the same name.
And, let’s not forget this horrible, horrible, incident:
Mackenzie Morgan says: “a presenter had a title slide followed by a slide of bikini-clad women holding laptops, which he said was just to get people to pay attention. I’m not sure if we were supposed to pay attention to the women or to what he was saying though”.
(Morgan probably never heard of the “bait-and-switch” technique).
Read the article, for more white people problems…
You can scout the whole of the intertubes, but you’ll be hard pressed to find a biggest sense of entitlement than that of a certain “David S.”, Dropbox customer.
In a tedious, autistic, monotone, comment after comment, the guy rants against the Dropbox team for not launching a “release” version of their client.
Mind you, he raises no specific quality issues with the development builds, except of the fact that they are not “release builds”, as if an arbitrary version tag makes all the difference for the user of a software.
If you are easily amused, and have 10 minutes to spare, go through the thread, it’s quite entertaining.
The Blackberry guys posted a video comparing the iPad to the Blackberry Playbook.
According to the video, the Blackberry Playbook “renders web pages faster”, has “richer content” and “supports web standards better”.
Besides the “richer content” angle, which basically translates to “we do this Flash junk”, the other stuff is complete marketing BS.
The Playbook will be released somewhere around early 2011 ― around the same time everyone expects Apple to launch the iPad 2.0. Still, they compare the performance of the *demo* version of the Playbook to the eight month old version of the original iPad, as if this will mean something for the future consumer.
For example, the only reason the Playbook is faster, is because it uses a newer CPU. Well, the next iPad will also use a newer CPU. Problem solved (and they will probably add some more hardware features to keep RIM engineers and Android tablet makers busy for another year copying them).
As for the “better supporting web standards” part, they base this on a single glitch the iPad has with the Acid test (on which both machines score 100/100). Well, iPad’s webkit version is not the latest one the Playbook uses. It takes some marketing spin to present using a slightly newer version of Webkit, a project started and primarily maintained by your competitor, as your device’s “advantage”.
Hey, RIM, how about comparing the Playbook to the iPad available when it *does* comes out?
If you are building RESTful services or even small web apps, you could do a lot worse than check out Sinatra, a Ruby based web framework written in under 1500 lines of code.
Sinatra is utterly simple and doesn’t get in the way. Not so many conventions imposed on you either, not even MVC: you can work in any way you like. You can also use Rack middleware with Sinatra, and extend it with, (duh!), extensions.
Here’s a “hello world”:
require 'sinatra' get '/hi' do "Hello World!" end
It has a fairly complete documentation (here’s a small condensed version) and is used in several big professional projects already, including the GitHub API.
As if anyone even remotely interested in the Beatles doesn’t already have those albums in several formats already, digital included.
Marco Arment, on an entirely unrelated topic:
Removing choice is often beneficial for everyone if those making the choice are likely to choose against their best interests.
It’s funny how this could also be applied to Apple’s product line.

How exactly is this useful to me, the reader of the blog post?
Leopard and Snow Leopard brought a lot of enhancements, new features and under the hood goodies for Cocoa development. From garbage collected Objective-C 2.0 to Grand Central Dispatch and blocks, programmers sure got a lot of shiny new toys to play with. We also know since WWDC that they are working on a revamped version of the XCode IDE, probably scheduled for release along with OS X 10.7, Lion.
Well, according to well informed sources inside 1 infinite loop, that might not be all. Apple has been secretly (duh!) working on a next generation computer language, code-named “Chocolate”, with the intension to bring OS X development well into the 21st Century.
Mac pundits have been asking for just such a thing for years ― and Jesper nearly spilled the beans. After all, powerful as Objective-C is, it is still essentially a 30 year old technology from the glory days of NeXT. Even though it holds up wonderfully, the C heritage constraints it a great deal, not so much in power (C can do anything) but in convenience, expressiveness and safety. Now that the kids are used to all the fancy stuff that languages like C#, Ruby, Scala, et al provide, Objective-C seems a little stale. Not the best foundation for the next 25 years of OS X coding.
Enter Chocolate.
(Chocolate, btw, is the internal codename of the project, obviously a pun on “Cocoa”. My sources don’t know whether Apple plans to keep it for the public launch of the language, but it sure sounds nice and friendly).
Chocolate is a modern, high performance, object oriented language primarily targeting OS X. The aim of the Chocolate project was to rethink Objective-C in terms of contemporary programming languages and idioms.
The main goals of the project are:
- Chocolate should be compatible with Objective-C frameworks (such as Cocoa). This includes calling and subclassing Objective-C code.
― Chocolate utilizes the Objective-C 2.0 runtime for messaging, garbage collection, etc.
- Chocolate should provide automatic memory management.
- Chocolate should support major Objective-C features such as Messaging, Protocols, Categories.
- Chocolate should streamline Objective-C’s syntax dropping the C compatibility requirement.
- Chocolate should support reflective and dynamic programming and provide modern language facilities.
- Chocolate is designed to be compiled into native code but can also run in a VM with JIT compilation (though no such VM currently exists).
So it’s not an evolutionary step to the unknown, but mainly a pragmatic building upon the strengths of the existing infrastructure. I’m told that Chocolate leverages LLVM heavily.
Among the exciting new features is first class support for namespaces (finally!), annotations, blocks, generators, out parameters, and a whole lot more. In Chocolate, everything is a pointer ―and garbage collected. (There are provisions, though, for writing “unsafe” code, either by dropping to Objective-C/C or by marking a specific code segment, a la C#. The new language keeps the familiar selector naming scheme and data types such as String are compatible and interoperable with their NS counterparts. Chocolate, btw, also does away with header files.
Apple does not seem to want to deprecate Objective-C (at least not for a couple of years), so the lineup of languages for OS X development should probably read like this:
ObjectiveC (generic programming, legacy codebases)
Chocolate (generic programming, new codebases)
C (systems programming, base frameworks)
C++ (systems programming, base frameworks)
MacRuby (scripting)
As of yet, there is no information about whether Chocolate will run on the iOS, but I think it’s a no-brainer that it will.
For a small taste of the language’s syntax, consider the following snippet:
import Foundation; import NSDate; public class CustomObject extends MyCompany.Writable { public CustomObject(){ } public static hello(){ NSLog(@"Hello World. The date is {0}", NSDate.date()); } public writeMessage(string msg, times:int times){ times.repeat{ NSLog(@"{1}", msg); }; } } CustomObject o = new CustomObject(); CustomObject.hello(); o.writeMessage("This text will be repeated", times: 3);
Other stuff or interest is the inclusion of the elvis operator (a curiosity adopted from Groovy), and a LINQ like language that can be used to work with Core Data or any Chocolate collection. There’s also first class support for debugging statements (no need to use preprocessing commands to turn them on or off), assignments that not yield boolean results, the “and”, “or” and “unless” operators (!) and indexed properties (classes that work like an array).
For another basic insight into the language, take a look at the category this post is assigned to.
There are many nominations, but Rémi Denis-Courmont wins hands down.
This french VLC “contributor” has filed a copyright complaint with Apple over the VLC’s iOS port, with the hope of having the application removed from the App Store. Apparently he believes that VLC’s GPL licence is too good for the App Store, despite the code of the app being open (and the app itself being free as in beer).
This weeks’ douche has managed to singlehandedly piss on the free volunteer work of the VLC team and of the porting company, on the wishes of the majority of VLC contributors (including VideoLAN’s association president Jean-Baptiste Kempf) and on iOS users. And all that over some misguided sense of entitlement over the project and with the worst aspects of OSS zealotry in mind. VLC people better rewrite away his contributions as soon as possible and revoke his cvs access.
Ars has a nice write-up.