General Development Archive

Dynamically Creating Cocoa Classes

"The new version of F-Script provides syntax for dynamically creating Cocoa classes. This is great for quickly experimenting, prototyping and using Cocoa interactively. You can type a class definition in the F-script console, hit return and immediately start playing with your new class. This article provides a quick introduction to this easy-to-use and powerful feature. You can experiment with it right now by downloading F-Script 2.0 alpha 3 ."

Fedora + Soccer = Ronaldo-Esque Technique

Cnet reports: "Fedora is the operating system of choice for AllemaniACs' winning robot in the RoboCup, a soccer tournament played between robots. Fedora has fueled AllemaniACs' victories in 2006 and 2007, and appears to be poised to raise the cup again in 2008." For anyone interested in using Fedora in robotics, a special interest group for robotics has been started within the Fedora Project to support such efforts.

From Win32 to Cocoa, Part II

A few weeks ago, Ars published part one in a series called "From Win32 to Cocoa: a Windows user's conversion to Mac OS X". In this series, Peter Bright details why he believes "Windows is dying, Windows applications suck, and Microsoft is too blinkered to fix any of it". Part one dealt with the history of both Windows and the Mac OS, and part two deals with .Net, the different types of programmers, and Windows Vista.

From Win32 to Cocoa: a Windows User’s Conversion to Mac OS X

Ars' Peter Bright wrote an article today entitled "From Win32 to Cocoa: a Windows user's conversion to Mac OS X", in which he explains why he believes "Windows is dying, Windows applications suck, and Microsoft is too blinkered to fix any of it". These are rather harsh words, but there is a definitive element of truth in it. The article is part one in a three-part series.

The Cost of Modern Software Development

Geek.com is running an opinion piece on the extensive reliance of programmers today on languages like Java and .NET. The author lambastes the performance penalties that are associated with running code inside virtualised environments, like Java's and .NET's. "It increases the compute burden on the CPU because in order to do something that should only require 1 million instructions (note that on modern CPUs 1 million instructions executes in about one two-thousandths (1/2000) of a second) now takes 200 million instructions. Literally. And while 200 million instructions can execute in about 1/10th of a second, it is still that much slower." The author poses an interesting challenge at the end of his piece - a challenge most OSNews readers will have already taken on. Note: Please note that many OSNews items now have a "read more" where the article in question is discussed in more detail.

Google Summer of Code 2008 Is on

Google announced the participating Open Source Projects this Monday. Following that, students are encouraged to select projects they are interested in and submit their work proposals from March 24 to 31. Among the participating projects are: Debian, DragonFly BSD, ES operating system, FreeBSD, Gentoo, GNU Hurd, Haiku, Linux, NetBSD, and openSuse. Overall, projects range from kernel hacking to web applications. Last year, 900 students were accepted, with Google paying them and their mentoring projects up to USD 4.5 Million.

From BFS to ZFS: Past, Present, and Future of File Systems

"Computer platform advocacy can bubble up in the strangest places. In a recent interview at a conference in Australia, Linux creator Linus Torvalds got the Macintosh community in an uproar when he described Mac OS X's file system as 'complete and utter crap, which is scary'. What did he mean? What is a 'file system' anyway, and why would we care why one is better than another? At first glance, it might seem that file systems are boring technical widgetry that would never impact our lives directly, but in fact, the humble file system has a huge influence on how we use and interact with computers."

Some Nice Features of the Objective-C Language

The Mac and iPhone SDK are based on the Objective-C programming language, a surprising alliance of C and Smalltalk. Features such as meta-classes, message sending, dynamism, C compatibility, etc., contribute to define the development experience on Apple's platforms. Here is a little list of things that, in Philippe Mougin's experience, contribute to make Objective-C a powerful and fun programming language.

Developing Rails Applications on Mac OS X Leopard

"Ruby on Rails is a popular and powerful open source web framework for rapidly creating high-quality web applications to help you keep up with the speed of the Web. Rails is thriving on Mac OS X, and Leopard comes pre-installed with Ruby, Rails, Mongrel, Capistrano, Subversion, and other tools that help to streamline the development and deployment of Rails applications. This article gives you a full tour of Ruby on Rails 2.0 on Leopard - starting with building a web application using the latest Rails features with Xcode 3.0, and finishing with deploying the application to a production server running Leopard Server."

LLVM 2.2 Released

LLVM 2.2 has been released. Wikipedia summarises: "The Low Level Virtual Machine, generally known as LLVM, is a compiler infrastructure, written in C++, which is designed for compile-time, link-time, run-time, and 'idle-time' optimization of programs written in arbitrary imperative programming languages. The LLVM project started in 2000 at the University of Illinois at Urbana-Champaign."

How to Recognize a Good Programmer

How do you recognize good programmers if you're a business guy? It's not as easy as it sounds. CV experience is only of limited use here, because great programmers don’t always have the "official" experience to demonstrate that they're great. In fact, a lot of that CV experience can be misleading. Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone's a great programmer. More here.

‘PHP 4 Is Dead – Long Live PHP 5’

"PHP 4, deployed on tens of millions of servers globally, is among the most successful languages of all time. But its run is coming to an end. Active development for the scripting language has been discontinued and security updates will conclude in August. And for some developers, PHP 4 will be history before Valentine's Day. On February 5, a group of influential Open Source projects will collectively stop all new development on their respectively platforms using PHP 4. However, there are still some holdouts opposing a complete transition to PHP 5 and it's not entirely clear whether or not PHP 4 will ever truly disappear."

Arc Released

"This site is about Arc, a new dialect of Lisp. It's unfinished, but usable, so we decided to release what we have so far. The current version compiles into MzScheme and structurally is as much a skin on MzScheme as a separate language. For example, Arc's read is MzScheme's, and so are Arc's numbers and math operations. But from the average programmer's point of view, Arc is no more similar to Scheme than any two Lisp dialects are to one another. Arc is designed above all for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software."

Fixing ptrace on Mac OS X 10.5 Leopard

PT_DENY_ATTACH is a non-standard ptrace() request type that prevents a debugger from attaching to the calling process. Adam Leventhal recently discovered that Leopard extends PT_DENY_ATTACH to prevent introspection into processes using dtrace. This article will cover disabling PT_DENY_ATTACH for all processes on Mac OS X 10.5. Over the previous few years, I've provided similar hacks for both Mac OS X 10.4, and 10.3.

LV2 Specification Released

"LV2 is a simple but extensible successor of LADSPA, intended to address the limitations of LADSPA which many applications have outgrown. By creating LV2 'extensions' (which can be done independently), virtually any feature is possible for LV2 plugins and hosts."