General Development Archive

File System Design Part I: XFS

"Generally, file systems are not considered 'sexy'. When a young programmer wants to do something really cool, his or her first thought is generally not 'dude, two words... File system'. However, I am what is politely termed 'different'. I find file systems very interesting and they have seldom been more so than they are right now. Hans Reiser is working on getting Reiser4 integrated into the Linux kernel, the BSDs are working on getting a journaled file system together, and Sun Microsystems just recently released a beta of ZFS into OpenSolaris. This is an excellent time to be me. This article will be on file system design and specifically the new file systems that are just appearing. We will start with the basics, UFS/FFS, and then proceed to our first modern file system, XFS.

Embrace Eclipse Cheats, Birt Plugin, Eclipse Pearl Applications

"Eclipse is quickly becoming the de facto environment for developers and its popularity is increasing rapidly. Here are three excellent tutorials to expand your Eclipse skills: Help your customers use your Eclipse-based product or plug-in, by developing interactive cheat sheets. Learn the ins and outs of BIRT, a plug-in suite that allows you to extract information, analyze it, then generate report summaries and charts. Make your Perl application development run smoothly with the Eclipse EPIC plug-in, which teaches you how to develop Perl applications quickly, create a perldoc, and more."

Rexx – the Practical Programming Language

"What is it with old languages? I only have to mention REXX while talking about Mumps and someone (the sort of person who remembers that the original, circa 1970-80, MUMPS was actually an O/S, language and integrated DBMS all in one - I can relate to that, perhaps why I like iSeries too) jumps up to say how much they liked it. I liked REXX partly because (like many other much-loved languages), it actually had a personality attached to it - Mike Cowlishaw."

FreeNas 0.52 Released

"FreeNAS is a free NAS server, supporting: CIFS (samba), FTP, NFS protocols, Software RAID (0,1,5) with a Full WEB configuration interface. FreeNAS takes less than 16MB once installed on Ccompact flash, hard drive or USB key. The minimal FreeBSD distribution, Web interface, PHP scripts and documentation are based on M0n0wall."

Make Asynchronous Requests With JavaScript, AJAX

"Most Web applications use a request/response model that gets an entire HTML page from the server. The result is a back-and-forth that usually involves clicking a button, waiting for the server, clicking another button, and then waiting some more. With AJAX and the XMLHttpRequest object, you can use a request/response model that never leaves users waiting for a server to respond. In this article, Brett McLaughlin shows you how to create XMLHttpRequest instances in a cross-browser way, construct and send requests, and respond to the server."

AJAX Design Patterns for Web Services

"This article shows you how to implement a Web browser-based SOAP Web services client using Ajax design patterns. In the Part 1 of this series, the author introduced a simple Web browser-based JavaScript library for invoking SOAP Web services using AJAX. In the discussion that follows, the author expands on functions of that JavaScript library by implementing basic support for the Web Services."

What Is Perl 6?

"Perl 6 is the long-awaited redesign and reimplementation of the popular and venerable Perl programming language. It's not out yet - nor is there an official release date - but the design and implementations make continual progress. Innumerable programmers, hackers, system administrators, hobbyists, and dabblers write Perl 5 quite successfully. The language doesn't have the marketing budget of large consulting companies, hardware manufacturers, or tool vendors pushing it, yet people still use it to get their jobs done. Why argue with that success? Why redesign a language that's working for so many people and in so many domains? Sure, Perl 5 has some warts, but it does a lot of things very well."

’99 Bottles of Beer’

"This time of year, even the most hard-core geek thinks thoughts of festive cheer. And there's nothing like, oh, say, a beer, to enhance the mood of seasonal glee. And after a few beers comes the song. '99 bottles of beer on the wall, 99 bottles of beer'... Oh - sorry - where was I? What, you ask, does such a scurrilous ditty have to do with serious developers? Well, nothing - except that it was the vector for an entertaining and informative experiment in programming."

Partition Images with Partimage, Partimaged

"This is a guide to create or restore images of your partitions using the great open source tool Partimage. It provides information on how to do this locally or across the network, by setting up a Partimaged Server. I guess this info is non distribution specific, since we will work from a Rescue environment. Partimage is a command line tool with a basic ncurses user interface. For information about the supported filesystems, you can check its homepage."

Designing Mobile Web Services

"From when to choose mobile Web services to the overall design guidelines to the value types to use in mobile Web services, this article addresses many of the design considerations you need to ponder when developing Web services for mobile devices. Learn how to decide when to use Web services, what things to consider when you design Web services, and what to keep in mind when planning mobile Web services."

Everything You Ever Wanted to Know About C Types

"The C type system has been adapted to a great number of architectures. As C was adapted to new systems, decisions had to be made. Should the int type be the same size on every new system, or should it be the most convenient size on every system, even if this meant it wasn't always the same size? The first article of the series introduces the type system itself, explaining the basic types and the system of type qualifiers and storage-class specifiers."

Sneek Peek of the Next Version of Standard C++

In this article, Bjarne Stroustrup (the father of C++) talks about the next version of the widely used general-purpose programming language. This next version, called C++0x for now, will most likely be finished by 2009. The article discusses new language features, for example concepts - which specify the properties required of a type and can be used with templates. Stroupstrup also talks about new standard C++ libraries.

Iron Python 1.0 Beta 1 Released

Iron Python 1.0 Beta 1 has been released, this build includes many bug fixes for issues reported to the team by the community, and also has many changes which give it better compatibility with CPython 2.4. From the site: "With this build we've addressed the majority of major design issues for a 1.0 final. We're not sure that you'll agree with all of our answers, so pick it up and let us know what you think".

Methodology Design: the Way We Do Things Around Here

When people talk about "improving" software methodology, they rarely talk about tradeoffs. Requirements freeze, for example, runs the risk of delivering exactly what the customer asked for - and not what he needs. Concrete, detailed estimates take a considerable amount of time to create, and that's time that could be spent writing code or executing tests. M. Heusser discusses the tradeoffs and choices you'll have to make when the goal is improving (or even initially developing) your methodology.

The Web Ain’t Just for 2D Anymore

"Once upon a time, 3D for the Web promised to be as easy as building a Web page. Unfortunately, 3D - even simple 3D - is more complex than displaying scrolling text and pictures. Each VRML vendor implemented a different subset of the spec, and it never gained traction. And so 3D on the Web faded away. Or did it? It turns out that VRML lives on in its XML flavor, X3D, which has grown to encompass VRML's siblings H-Anim (Humanoid Animation) and GeoVRML."