General Development Archive

LLVM Gets Its Own C++ Standard Library

The LLVM developers seem to be driven to replace all parts of the GCC toolchain and libraries with home-grown alternatives under BSD-style licenses. The latest addition to the project is libc++, an implementation of the C++ standard library which is faster and uses less memory than the GCC libstdc++. The developers also intend to support standard library debugging which is ABI compatible to the release version, which should help developers cut down on lengthy recompile-and-debug cycles. The project is still in an early state but it already implements 85% of the C++0x standard library. As with the rest of the LLVM project, the development of libc++ is being supported by Apple.

Adobe Implement H264 Acceleration for Flash on Mac OS X

I think it's about time we got an Adobe category. Apple recently made public an API to allow OS X software access to hardware H.264 acceleration (albeit such acceleration is only available on chipsets since the Nvidia 9400M--early 2008) and Adobe have already baked this in to a beta preview of Flash 10.1 "Gala"! Update: Steve Jobs himself weighs in on Flash (via Engadget): "New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind."

LLVM/Clang 2.7 Released

The LLVM Compiler Infrastructure version 2.7 has just been released. It includes a new open source BSD licensed C/C++ compiler, clang. "This includes significantly better generated code, improvements to debug information generation and a broad number of new features in the core infrastructure. One exciting feature is that Clang is now able to bootstrap itself, a major milestone in any compiler's development and particularly notable considering the complexity of implementing C++!" LLVM also has a new official blog.

Inside a Migration

Ms. Z. Arsenault is an IT consultant working in the depths of a large North American energy company. She's one of those brave souls who works away in the background, keeping the servers running, making sure all the pieces fall properly into place so when the employees wander in each morning their applications run as expected. It's often a busy job just keeping things on a steady path. But Ms. Arsenault and her team aren't just maintaining the status quo, they're also trying to improve performance and cut costs while maintaining a stable environment for the end user. This week I had the opportunity to talk with Ms. Arsenault about what's she's been up to in the depths of corporate IT.

Intro to the LLVM MC Project

"The LLVM Machine Code sub-project of LLVM was created to solve a number of problems in the realm of assembly, disassembly, object file format handling, and a number of other related areas that CPU instruction-set level tools work in. It is a sub-project of LLVM which provides it with a number of advantages over other compilers that do not have tightly integrated assembly-level tools. This blog post talks about how the MC project evolved, describes a few different aspects of it , talks about the improvements/capabilities it brings to LLVM, and finishes off with the current status of the project."

Disk Imaging with Clonezilla

When you spend a lot of time looking at different Linux distributions you get used to reading the phrase, "... is a general purpose operating system with a focus toward..." Sometimes it's a focus toward ease of use, sometimes it's a focus toward improved package management, other times it's security. There are a lot of general purpose Linux distributions out there, which is good, but one thing I love about Linux is its ability to fill a niche. For instance, it would be difficult for me to get through a work week without having tools such as GParted Live, for partition management; Knoppix, for hardware detection; and Clonezilla, for saving and restoring disk images. This past week I had a chance to talk with Steven Shiau, one of the developers behind Clonezilla.

Code Bubbles: Rethinking the User Interface Paradigm of IDEs

Brown University has developed an IDE for Java called Code Bubbles that takes a pretty radical departure from current IDEs. While most IDEs, such as Eclipse are file-based, Code Bubbles is based on fragments. The system appears to support reading and editing code with fragments, multi-tasking, annotating and sharing, and debugging with bubbles. There's a website with video too.

The iPhone Developer Program License Agreement Leaks

So have you actually read the iPhone Developer Program License Agreement? The EFF, using a freedom of information act to shrewdly get a copy legally off of NASA, look into the details and don't like what they find. As well as trying to prevent anybody from so much as mentioning the existence of these terms, Apple owe you no more than $50 if they sink your company by removing your apps for any reason they so please. It makes for scary reading, that is--if you think the terms are enforceable in court. I hope to see this very thing challenged as soon as possible.

MS Shows Same Game Running on Windows, Phone, Xbox

Dust off your he's-a-Microsoft-fanboy complaints, people, because here's yet another story praising the Redmond software giant (sorry). In case you were wondering what the Xbox Live integration on Windows Phone 7 Series (inhale, signified by a comma), meant, then Eric Rudder (what's in a name), Microsoft's Senior Vice President of Technical Strategy, has the answer for you - and it's pretty impressive.

Fixing Independent Programmers’ No-Win Scenario

Fatal Exception's Neil McAllister writes about the no-win scenario facing today's independent programmers: "In a knowledge economy, programmers rank among our most valuable workers, yet the current legal and regulatory climate makes a career as an independent software developer virtually a dead-end prospect." Section 1706 of the 1986 Tax Reform Act, the hurdles and costs of obtaining health care for one's own family, a hostile legal climate in search of accountability for any defects in code - these harsh realities make it "easy to see why software developers would give up on entrepreneurship. For many, the risks simply don't match the potential rewards. Better to keep their heads down, not rock the boat, and hope they can hang onto their jobs until retirement."

LLVM: Dragonegg Successfully Self-Hosts

"The dragonegg GCC plugin can host itself! Dragonegg lets you use the LLVM optimizers with GCC-4.5, much like llvm-gcc, but unlike llvm-gcc does not involve modifying GCC, thanks to the new GCC plugin infrastructure (currently one small patch is required). We built all of GCC-4.5, LLVM and dragonegg with dragonegg, then used the resulting binaries to build them all again. Why? Because we love to build! And because this was a great way of checking that nothing was miscompiled. The final dragonegg plugin was fully functional, successfully passing the entire dragonegg test suite."

IPFaces: Create an iPhone App Without Client Development

IPfaces is a client-server framework for iPhone (and presumably other platforms soon) that enables developers to create a server-side app using their familiar tools then connect to a generic client that's already downloadable in the App Store. It's dual license, with a GPL Open Source version for free projects and a commercial version for for-profit apps. Unlike other frameworks that allow you to create an iPhone app using non Objective-C tools, this one gives you a real client, not just a wrapper for a web app.