General Development Archive

Eiffel To Offer Dual Licensing for EiffelStudio

"Eiffel Software today announced that the latest version of its cross-platform IDE EiffelStudio is now available under dual licensing, enabling users to choose between a license for commercial development and a license for open source development. Eiffel Software's dual licensing model is based on the principle of fair exchange. Users who write commercial proprietary software must purchase the corresponding licenses and may freely choose how to distribute their software. Users who donate their source code to the open source community can use the open source version and must distribute their software under the same license." The sourcecode is available via SVN and is licensed under the GNU General Public License.

Secure Programming in GNU/Linux Systems: Part I

"This article is a first in series that deals with secure programming and related issues. Before we begin though, let's first define secure programming. A 'secure program' is an application that sits on a security boundary, taking input from a source that does not have the same access rights as the program. Such programs include application programs used as viewers of remote data, web applications (including CGI scripts), network servers, and setuid/setgid programs."

Thinking Recursively with C++

Algorithms can often be implemented recursively or nonrecursively; the decision rests with the programmer, who might shy away from a recursive solution because the algorithm might not terminate or that performance might be poor. In reality, recursion can allow for very elegant code as well as facilitating an interesting and economical type of code reuse. Software consultant Stephen B. Morris explores this interesting topic with a data-centric application drawn from the field of networking.

Explore Eclipse’s Embedded Rich Client Platform

"Get an introduction to the embedded Rich Client Platform. Learn about the various components that make up eRCP and get some examples on how to use them in your applications. The embedded Rich Client Platform came about as a way to bring the advancements of the Eclipse Rich Client Platform and apply it to the embedded space. The eRCP is made up of the following components: Standard Widget Toolkit, eJFace, eWorkbench, and eUpdate. We will discuss each of these components and use code examples where appropriate."

ROTOR (SSCLI) 2.0 Released

"I'm happy to announce today that ROTOR 2.0 has released to the web. You can download the release here. ROTOR contains most of the CLR and base class libraries found in our commerical product. It is released under the shared source program. There are several new things in this release: generics implementation; Lightweight Code Generation; stub-based dispatch support; new reflection and reflection emit; new C# features like Anonymous Methods, Anonymous Delegates and Generics."

The Speed of Software Halves Every 18 Months?

"Newer software does try to be sexier by doing flashy things such as the talking paperclip. This causes a tendency for the software to bloat to the point of saturation, i.e. until it performs at barely acceptable speeds. But application programming seems to get worse with faster processors. Even with more memory, faster disks and multiple CPUs, your average web application runs slower. Is it possible that the faster hardware has made us worse programmers?"

Reports From PyCON 2006

"Recurring themes at this year's PyCON2006 Python conference, in Dallas, Texas, included quality control techniques for Python, and interoperable content management systems. Guido van Rossum presented some previews of features to be expected in Python 2.5, and Jim Fulton presented the 'State of Zope', with some musings on where to go from here with Zope 2 and Zope 3. Also starring at this conference was the S5 based on the Python docutils package - most of this year's talks were presented with this package, and one of the talks presented the S5 package itself."

Build UNIX Software with Eclipse

"Become more productive with your own code and others by utilizing Eclipse's syntax highlighting, code completion, and other amenities. It runs on any UNIX platform with a JRE (1.4 or newer) and an SWT port, such as Linux, Solaris, AIX, and HP-UX. It's easy enough to start a new project using Eclipse or to import an existing Eclipse project, but how do you bring existing code into the IDE? And what if you need to get an existing project compiling right away without modifying its existing makefile or configure script? Read along for the answer to all of these questions."

Turning the Terminal Into Your Desktop

"There are several possible reasons why you might choose to use the command line interface as your desktop environment. For one thing, it uses less electricity, so you could maximize battery life on your laptop computer. Secondly, it forces you to think about your operating system and directory structure in a totally different way than a GUI does; this could greatly enhance your understanding of GNU/Linux and cause you to be more creative in your technological problem solving. And thirdly, everyone will think you're a supreme computer genius for ditching X11 for the CLI. People passing by your desk will think you're some kind of computer god. Who doesn't want that?"