Keep OSNews alive by becoming a Patreon, by donating through Ko-Fi, or by buying merch!

General Development Archive

Industrial-Strength Python Testing Frameworks

The recent emergence of industrial-strength Python testing frameworks means that Python tests are being written more succinctly, more uniformly, and with better reporting of results than ever before. Adopting one of the new generation of Python testing frameworks will provide concise idioms and uniform testing techniques that, in the past, every Python project had to supply for itself.

Scripting the Vim Editor with Vimscript

Vimscript is a mechanism for reshaping and extending the Vim editor. Scripting allows you to create new tools, simplify common tasks, and even redesign and replace existing editor features. This article introduces the fundamental components of the Vimscript programming language: values, variables, expressions, statements, functions, and commands. These features are demonstrated and explained through a series of simple examples.

Google Experiments with JavaScript

Recently, a new browser war has erupted all over the internet, with various browsers making massive improvements in each release to trumpet those made by others. While Firefox certainly ignited this new browser war, Chrome is the one who started the JavaScript war. The first release of Google's web browser came with a brand new JavaScript engine that was a lot faster than those of its competitors, forcing them to improve their JavaScript performance as well. This whole JS thing has gotten to the heads of the folks at Google, and they've created a site for experiments which show off the power of JS.

‘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.