Eugenia Loli Archive

Introduction to OpenBinder and Interview with Dianne Hackborn

OpenBinder is the core technology that ex-Be engineers started at Be, Inc. as the "next generation BeOS", finished implementing at PalmSource as one of the key foundations of the Cobalt system, and is now being open-sourced running for Linux. Dianne Hackborn, a legendary engineer throughout the BeOS history and later a key engineer in the creation of PalmOS Cobalt, is describing OpenBinder below and then a mini-interview follows.

C++ Chain of Responsibility Pattern: Network Events

Should you make your C++ classes more intelligent or centralize the intelligence and use dumbed-down surrounding classes? The natural world tends to prefer a pass-the-parcel style of distributed intelligence, which reduces single points of failure and potentially leads to more stable systems. In this article, Stephen Morris shows you how to raise the IQ of your classes while simultaneously allowing other (possibly) more-qualified classes to handle specific problems. The chain of responsibility pattern provides an elegant model for facilitating this behavior.

Use Apple Remote Desktop and Never Do Inventory Again

You probably know that Apple Remote Desktop lets you observe and control Macs across your network, but did you know that it can also count, inventory, and keep track of them for you? In this first of three articles covering the often untapped possibilities of Remote Desktop, Ryan Faas shows you the ways you can use it to significantly improve inventory processes, monitor network performance, remain alert to changes in workstations that might be signs of theft, and prepare customized reports easily on the state of the Macs in your network in preparation for an upgrade.

Linux-based Motorola Cell Phones Frustrate Third-Party Devs

Motorola first announced its intention to migrate its mobile "smart" phones to embedded Linux in 2003. The first such phone to reach the market was the A760 in the fourth quarter of that year. Today there are a dozen or so models (differing product numbers in different markets and minor hardware variations lead to different counts), but there are still no significant ecosystems for third-party applications or developers. Is Motorola's switch to Linux a hit for the company but a miss for end users?

The Art of Metaprogramming Using Scheme

One of the most under-used programming techniques -- Metaprogramming -- programming with code generators or writing programs that themselves write code, has many uses in large-scale computer programming. This article shows you some tools needed to do Metaprogramming in Scheme, as well as provide several metaprogramming examples. To determine which problems are best solved with a code-generating programs, take a look at this introduction to Metaprogramming article, which teaches you why metaprogramming is necessary.

DTrace in ACM Queue

This article goes into the motivation and architecture for DTrace -- and describes some of the problems that remain to be solved in system observability. The article also includes a short case-study on using DTrace to find a real problem -- a problem that was ultimately due to some seriously fugly code in a monitoring app.

Reconsidering gcjx

Tom Tromey (Red Hat) who wrote the GCJx as a extension to GCC to support Java 1.5 features among other changes has proposed a merge with ECJ, the Eclipse compiler from the Eclipse Foundation. The ramifications of this change are rather interesting.

How to Achieve Sustainable Software Development

Very little software is written once, installed, and then never changed over the course of its lifetime. And yet, the most prevalent development practices used in the industry treat change as an afterthought. This chapter will teach you to not only anticipate change in your software but develop specifically with change in mind. Also, this chapter provides a set of guidelines and formulas to think about when preparing large product teams for the large meetings that move their work forward.

Visopsys 0.61 Released

This Visopsys 0.61 maintenance release adds Disk Manager support for resizing NTFS filesystems and arbitrary partitions, purely unprivileged user-space processes, I/O port permissions and protection, IDE block mode I/O, Linux swap detection and clobber, improved atomic kernel locks, many C library additions, a calendar program, and bugfixes.

Introduction to Phone Web Browsers

Times change. If Internet was the main tech revolution of 1990's, mobile communications is the revolution of our time. The next step will be to fully merge these two concepts and allow users to browse the web via their phone at very cheap rates. Today, we look at the various offerings found on most phones. Our hope is that we will familiarize you with some of these solutions and so the next time you buy a phone, you actually also check what browser it's using. That will be a good step towards making carriers and phone manufacturers aware that the mobile web users exist!