General Development Archive

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

RPM 5: a Fork in the Linux Packaging

The newest version of the popular RPM package manager is now out with improved performance and functionality. But there's a bit of a catch with RPM version 5.0. Linux vendor Red Hat officially considers RPM 5.0 a project fork. "RPM5 is a fork of RPM, and is not related to RPM.org," Daniel Riek, Product Manager Red Hat Enterprise Linux told InternetNews.com. "Neither Red Hat or Fedora are involved in RPM5, and have no current plans to use it. Red Hat remains committed to the main RPM.org releases and development."

Keystroke Dynamics From Custom Perl Algorithms

Measure the total time of entry and verify the time between keystrokes to help authenticate a user regardless of the data being entered. Learn how to apply the open source tools xev and Perl in keystroke dynamics to measure the more-subtle characteristics of human-computer interaction. This article uses example code to demonstrate keystroke dynamics for enhancing the security of your applications in authentication and continuous data entry contexts.

Valgrind 3.3.0 Released

Valgrind is a tool that helps you find memory management problems in Linux programs. From the 3.3.0 log: Helgrind works again with improved race detection and better error messages. Massif generates better output. Cachegrind has been extended to do branch-misprediction profiling. Both conditional and indirect branches are profiled. Scalability has been improved for very large programs, particularly those with a million or more malloc'd blocks in use at once. These improvements mostly affect Memcheck, which is also up to 10% faster for all programs, with x86 Linux seeing the largest improvement. The documentation has been reorganized. Experimental tools have been added, and more.

Perl 5.10 Released

"Today the Perl Foundation announces the release of Perl 5.10, the first major upgrade to the wildly popular dynamic programming language in over five years. This latest version builds on the successful 5.8.x series by adding powerful new language features and improving the Perl interpreter itself. The Perl development team, called the the Perl Porters, have taken features and inspiration from the ambitious Perl 6 project, as well as from chiefly academic languages and blended them with Perl's pragmatic view to practicality and usefulness."

Symbian & Protothreads

Symbian's introductory training covers Active Objects. Active Objects are a Symbian specific method of providing co-operative multitasking. During the introduction to Active Objects we are all told about how inefficient and bloated multi threaded applications can be. Each thread requires heap and stack space, it requires kernel resources to provide for the context switching, and time slicing. All of this is an overhead on a device with limited resources. Instead Symbian provide Active Objects. We can have many Active Objects within a single process all waiting on different events. This means that we do not need as many threads, and hence we consume less resources. More here.

Red Hat’s Open Source IDE

Six months ago, Linux vendor Red Hat acquired the closed source Exadel Studio Pro IDE and pledged to turn it into a fully open source Red Hat product. On Monday, Red Hat officially released JBoss Developer Studio, based on the Exadel product as a 100 percent open source IDE. The new Eclipse based IDE offering from Red Hat's JBoss division will provide a development environment that will work on both Windows and Linux for Java middleware solutions from JBoss.

Ruby on Rails 2.0 Released

Ruby on Rails 2.0 has been released. "Rails 2.0 is finally finished after about a year in the making. This is a fantastic release that’s absolutely stuffed with great new features, loads of fixes, and an incredible amount of polish. We’ve even taken a fair bit of cruft out to make the whole package more coherent and lean." On Zenbits, they give tips on how to install 2.0.

NetBeans 6.0 Released

NetBeans 6.0 has been released. The 6.0 release includes significant enhancements and new features, including a completely rewritten editor infrastructure, support for additional languages, new productivity features, and a simplified installation process that allows you to easily install and configure the IDE to meet your exact needs.

Kaleidoscope: Implementing a Language with LLVM

The LLVM Compiler System is being used for all sorts of interesting things these days. It basically provides an extremely modular and easy to use set of open source (BSD-licensed) compiler libraries that can be used to build various applications from. Despite this, many people don't really understand it, and are scared away by the breadth of the project or by compilers in general. The Kaleidoscope tutorial starts out from scratch and slowly builds up a simple language to show how LLVM can help out with this. We end up with a JIT compiler for a fairly interesting little language with less than 700 lines of code. Of course, this is just the tip of the iceberg, once you start with LLVM, there are all sorts of things you can do.