General Development Archive

LLVM 1.3 is released

Version 1.3 of the LLVM Compiler Infrastructure is now available. LLVM is a open-source system that focuses on providing compiler components to build all kinds of compiler-related programs, including traditional static compilers, JIT compilers, profile systems, debuggers, script engines, etc. Release 1.3 provides many new features, including new beta support for PowerPC code generation and improvements to the C/C++ compiler's optimizer.

Development: PHP, FOX, Gambas Releases

PHP 5.0.1 is a maintenance release which adds many non-critical bugfixes and new Unix and Windows installation documentation which is auto-generated from the PHP Manual. Gambas 0.97 is now compiled with gcc 3.4. A new class, Settings, allows you to manage configuration files. The divide operator now behaves exactly as in other BASIC languages; it returns the whole floating point result, and not the integer part only. FOX 1.2.9 back-ports an FXTopWindow placement patch and fixes a bug in inquireDNDTypes(). FOX 1.3.8 (development) adds an FXSplashWindow class, an FXMemMap class for memory mapped files, and some missing APIs to FXFileSelector and FXFileDialog.

C++/CLI Language Specification Standard

In September, 2003, Ecma Technical Committee TC39 created Task Group 5 (TG5) to create a standard for the language C++/CLI, based on a submission from Microsoft. When TG5 has completed this specification, it will be submitted to the Ecma General Assembly (GA) for consideration as an Ecma standard. Once it has been adopted as such, the specification will be submitted to ISO/IEC JTC 1 via the latter's Fast-Track process.

Absoft Announces Pro Fortran Compiler Suite 9.0 for Macintosh OS X

Absoft Corporation has announced immediate availability of its new high performance Pro Fortran tool kit version 9.0 for Macintosh OS X. Absoft’s Pro Fortran Compiler Suite is the most complete Macintosh Fortran tool kit available from any vendor and includes: Fortran 95 and C/C++ compilers, a powerful Integrated Development Environment, the market-leading Fx2™ Debugger, and free graphics libraries.

Writing Arbitrary Executable Code for x86 Linux Systems

The ability to run arbitrary code is very useful, especially for exploits like buffer overflows. The way to run such arbitrary code is by using what is called shellcode. Shellcode is machine language written in Hexadecimal format and is usually derived from disassembled flat binaries. Since shellcode is machine code, it is not portable and varies between Operating Systems and CPU architectures.

Secure programming with the OpenSSL API

Learning how to use the API for OpenSSL -- the best-known open library for secure communication -- can be intimidating, because the documentation is incomplete. Fill in the gaps, and tame the API, with the tips in this article. After setting up a basic connection, see how to use OpenSSL's BIO library to set up both a secured and unsecured connection. And learn a bit about error detection as well.

Programming Tools for the Hobbyist

Most of us that work in the IT industry have been around for a long time. We started out in our parents basement writing code in some BASIC environment, ussually Commodore BASIC or QBASIC. Do you remember how thrilling it was? Your first program and it was something extremely basic but the point was it worked. Some of us got hooked right away and kept trying to solve problems and added more and more pushing the capabilities of whatever language we used. As we got older the environments progressed and the programming tools progressed and got more complicated.

Komodo 3.0 Released

For many developers, there's usually more than one dynamic language that they use to do their jobs. It's also ActiveState's job with its latest IDE release for professional developers using open source dynamic languages, Komodo 3.0. Dynamic languages such as Perl, PHP, Python, Tcl and XLST are all part of the Komodo IDE, which strives to make developers lives easier by offering a common interface and toolset to develop in multiple languages.