General Development Archive

‘Golden’ Support for Win Apps, DirectX 10 in Wine, CrossOver

Jeremy White posted the CodeWeavers' Outlook for 2009, explaining what the group has been working fervently on the past eight months as well as plans for the coming months of 2009. CodeWeavers develops and sells CrossOver, an application based upon Wine that can run Windows applications on Mac OS X and Linux, specifically certain games and office applications. They're also the leading corporate backer of the Wine Project. In the road map, White explains that the past eight months have been spent on unattractive, under-the-hood improvements to Wine, particularly "things like .NET support, work on a DIB Engine, Gdiplus, and a lot of Direct X work. We've also spent a lot of energy focusing on issues with Microsoft Office 2003 and 2007, in an effort to bring those applications fully up to 'Gold' level." He goes on to say that DirectX 9 support is coming along nicely for the CrossOver Games project, and DirectX 10 is around the corner. The plans for the upcoming months include shipping CrossOver 8.0 for both Linux and Mac, which will include many improvements, the juiciest of which are centered around Photoshop CS3, Microsoft Office, and Quicken 2009. Aside from adding more and better application support in Wine, the GUI of CrossOver is supposed to get a hefty overhaul by the CodeWeavers team.

The A-Z of Programming Languages: Bourne Shell, or sh

"We speak to Steve Bourne, creator of the Bourne shell, or sh. In the early 1970s Bourne was at the Computer Laboratory in Cambridge, England working on a compiler for ALGOL68 as part of his PhD work in dynamical astronomy. This work paved the way for him to travel to IBM's T.J. Watson Research Center in New York in 1973, in part to undertake research into compilers. Through this work, and a series of connections and circumstance, Bourne got to know people at Bell Labs who then offered him a job in the Unix group in 1975. It was during this time Bourne developed sh."

Defense Company Releases L/GPL Critical Component Framework

Thales, an aerospace, defense and security company (68000 employees), releases MyCCM High Integrity, a software component framework targeting mission- and safety-critical distributed real time embedded software. It integrates components written in C, and generates code for handling inter-component communication, threads (priorities, periods), locks, and mode-based reconfiguration. In addition to the software components, MyCCM-HI takes as input a model of the application in a so-called Component-Oriented Architecture Language. Open licensing policy is seen as a mean to improve industry standards.

The Falcon Programming Language: a brief tutorial

The Falcon Programming Language is a typeless language born for rapid development, prototyping, and ready-made integration. We may also describe Falcon as a "scripting" language with features that enable the programmer to create even complex multi-threaded applications. It mixes several different programming paradigms into an unique blend of constructs, overcoming the limitations and partialities of other languages. The objective of this brief article is to be very practical with code examples as well as step by step simple instructions. Read the full tutorial at Freesoftware Magazine.

Video Demo of OpenCL Functionality on Multi-Core CPUs

"The first public demonstration of OpenCL functionality was given by AMD at Siggraph Asia 2008. OpenCL is the new vendor-independent standard designed to extract high performance parallel computing out of GPUs, DSPs and multicore CPUs. Basically the idea is that you can write your core computational code in OpenCL and voila! - your code scales to whatever processors are available. OpenCL will greatly improve speed and responsiveness for a wide spectrum of applications from entertainment to scientific and 3D visualization."

Python 3 Metaclasses and Other Strange Creatures

Python 3 is the latest version of Guido van Rossum's powerful general-purpose programming language. It breaks backwards compatibility with the 2.x line but has cleaned up some syntax issues. This second article builds on the previous article, which focused on changes that affect the language and backwards compatibility issues. In Part 2 of this two-part series, discover more new Python features and details on more advanced topics such as changes in abstract base classes, metaclasses, and decorators.

Zenity: Shell Script Interaction Via the GUI

"Whilst an increasing number of recent converts are avoiding it (and I don't blame them really), the shell is still a key tool for the majority of GNU/Linux users. Shell scripts are knocked-up, shared and deployed in all sorts of circumstances - some simply time-saving, others life-saving. But even if the shell script has been written by somebody else, running it can be a cumbersome and frightening exercise for users of lesser experience or confidence. How do we bring the flexibility of the shell script to the GUI-only user? Recently faced with just such a quandary, http://www.freesoftwaremagazine.com/columns/saving_my_sanity_zenity_shell_script_interaction_gui">I discovered Zenity: a tool which just might have saved my sanity."

Embed Lua for Scriptable Applications

The Lua programming language is a small scripting language specifically designed to be embedded in other programs. Lua's C API allows exceptionally clean and simple code both to call Lua from C, and to call C from Lua. This allows developers who want a convenient runtime scripting language to easily implement the basic API elements needed by the scripting language, then use Lua code from their applications. This article introduces the Lua language as a possible tool for simplifying common development tasks, and discusses some of the reasons to embed a scripting language in the first place.

Dynamically Create Cocoa Classes with F-Script

F-Script 2.0, now in beta, provides a handy syntax for dynamically creating Cocoa classes on the fly. This is useful for quickly experimenting, prototyping and using Cocoa interactively, as well as for developing sophisticated programs. 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 feature.

The Benefits of Parceling Root Power with POSIX

POSIX file capabilities split root user powers into smaller privileges, such as the ability to read files or to trace processes owned by another user. By assigning capabilities to a file, you can enable an unprivileged user to execute the file with those specified privileges. In this article, learn how programs can make use of POSIX capabilities, how to investigate which capabilities are needed by a program, and how to assign those capabilities to the program.

Introduction: Parallel Programming

"Parallel computing is the use of multiple processors in order to solve a specific task. For quite a few decades now parallelism has been used in the domain of High Performance Computing (HPC) where large, difficult problems are split up into pieces which are solved and then recombined to form the answer. With the emergence of multiple cores per processor this has become more and more important for the everyday user and programmer. In this article I will explain some of the elementry concepts of parallel computing and point the reader to further points of information."

Scripting with Guile

Guile isn't just another extension language: it's the official extension language of the GNU project. Guile makes Scheme embeddable, which makes the interpreter ideal for embedded scripting and more. The days of building and delivering static software and products are over. Today, users expect their products to be dynamic and easily customizable. Learn how, with Guile, you can interpret Scheme scripts, dynamically bind scheme scripts into compiled C programs, and even integrate compiled C functions into Scheme scripts.

What’s New in PHP v5.3 Namespaces

The concept of Namespaces provides a way to help avoid problems with multiple functions, classes, and constants of the same name being defined multiple times. PHP 5.3 borrows much of the syntax and design of Namespaces from other languages — most notably C++. However, it does deal with Namespaces in a somewhat unique way, which may cause problems for those familiar with Namespaces. This article takes a close look at PHP V5.3 namespaces, which is one of the most anticipated and the most debated feature in this release of PHP.

Nokia N810 Internet Tablet Code Unit Testing

Part 1 of this three-part series laid the foundation for building an application targeted at the Nokia N810 Internet Tablet, including choosing a target language (Python), selecting and configuring a development environment (Eclipse with Pluthon), and building a small sample application to make sure everything worked as advertised. Part 2 looks at different options for helper libraries, coding with unit testing in mind, and user interface choices.

A Look at newLISP

In the age of dynamic languages and closures, most of you have probably heard of a mighty dragon called Lisp (which stands for LISt Processing), whose fans look almost with despise at other languages rediscovering it. Invented half a century ago, Lisp went on to become a de facto standard in the world of AI research, and has stood behind a handful of very neat inventions in the 1980s. Nevertheless, the long AI winter and the drift of technology towards other paradigms have almost lead to forgetting Lisp alltogether; IT has only recently started to rediscover parts of what made Lisp so cool back then.