20071030

Restore-Points in Gentoo Linux

Today I was very tempted to upgrade my Gnome desktop to version 2.20, which is in the Portage tree, but not yet marked stable. Then I thought to myself - remember what happened the last time you attempted something like this? I spent the entire day simply trying to figure out which packages to downgrade.

Gentoo's Portage package management system is excellent because of the fine-grained control provided to the administrator over which packages and which options (USE flags) are installed. Again, on the plus side, a local repository of binary packages can be created (with FEATURES=buildpkg) so that packages need only to be compiled from source at least once. I write 'at least once' is because a package will need to be recompiled whenever a version number changes (obviously) or whenever the USE flags are changed. None of us really like that, but it's a fact of life.

Now, taking a slightly deeper perspective into the concept of a local repository, there are a few different ways of organizing this. If you think of all of the variables involved with the instantaneous state of a portage-based system, ignoring overlays for now, the collection of all installed packages becomes a (lengthy) one-dimensional 'tuple' at any particular point in time.

Now, lets say that each binary package stores all of its dependency and USE flags when it is created. Then, theoretically, we could do a complete re-installation of all of the packages on a system with the binary packages alone.

In this repository, for the sake of sparing disk-space, we would likely just dump unique binary packages in a position that would be written down in a massive table. From the simplest perspective, we could simply duplicate the entire table (actually, a look up table) whenever a package or USE flag had changed.

That would probably end up being a horribly inefficient waste of space. But on the completely opposite end of the spectrum, if one was to account for each package, and create variable, off-shooting dimensions of each tuple element whenever a new version was introduced, or when a USE flag was changed,

When a USE flag is changed, then so do the dimensions of each of the elements in those tuples. In fact, what we would observe is a hyper-volume of data pointers where each element is of varying dimension and size. If one was to attempt to visualize this, it would look something like a fractal hyper-image, where the residuals of each change dieing off after some amount of forking.

The obvious trade-off is complexity versus storage space... although, think since this repository would only be storing tuples of locations on disk, then the storage space might not be so high. Although, the size of the hyper-volume would increase exponentially with each new package added. On the other hand, the 'fractal' approach would be much harder to navigate (there might be some way to organize it in a hashing system). I'm not sure if it would be faster or slower.

In any event, one would need to call a tuple out of this repository and then re-install the binary files. The recorded tuple would then be a restore point.

20071020

My Ideal Laptop

It's come to the point that I'm considering upgrading my laptop - but I haven't seen anything on the market that's ideal for me. If you know me personally, you would know that I have been a bit of an environmental nut since I was 10 years old, and that I am also an electrical engineer, embedded systems engineer, and completely obsessed with Linux. As such, I have some pretty interesting ideas of what the 'ideal laptop' would mean to me.

My ideal laptop would be one that is highly portable, environmentally friendly, and energy efficient but with a fair bit of number-crunching and graphics processing power. It should not be assembled or manufactured by poorly treated employees either. My final and least-likely-to-be-realized preference is that my ideal laptop would also be one that could be tracked if stolen[2]. It also goes without saying, that my ideal laptop would utilize hardware with open-source drivers so that one would not be stuck with any inferior, proprietary operating systems.

Throwing all of those ingredients into one pot makes for a fairly difficult main course. The question is, which company will possess the techno-culinary expertise to prepare the appetizers?

There has been much more debate and demand for environmentally friendly computing products than someone from an older generation would think[1]. However, many of the Y-Generation were brought up during the 80's when the environmental movements really began to boom and, therefore, have a much more intrinsic concern about environmental impacts.

On the other hand, the anti-theft system (ATS) is still a relatively new concept. I have personally taken it opon myself to design an personal area network (PAN) ATS for valuables such as electronics or cycles, but between my engineering job, my master's education, and now my baby on the way, I no longer have a plethora of free time for dreaming up gadgets and new designs.

If you can suggest a laptop that is currently on the market today that has similar specifications to those below, please let me know.
If you would like to see a company producing laptops with the specifications below, let your voice be heard & submit a comment.

Mechanical Specs:
  • 12 or 13" Display, ACPI-compliant, with multi-level dimming capabilities
  • Light-weight, aluminum chassis
  • Very quiet, as quite as a MacBook
  • Overall maximum weight of 3.5 lbs ( without AC adapter)
  • Magnetic AC power connector
  • Light-weight, biodegradeable, non-plastic casing.
Core Features:
  • Dual-Core Processor ~ anywhere from 1 to 2 GHz (frequency stepping is a must)
  • 1GB of DDR SDRAM, expandable to perhaps 4GB
  • A graphics chip w/ 64 MB of dedicated DDR SDRAM
Storage:
Networking:
  • 802.11 a/g Wireless
  • 2.1 Bluetooth
  • 10/100 Mbit or Gigabit Ethernet
Peripheral Ports:
  • 4 USB 2.0 connections, with 2 having power distribution capabilities
  • s-video (or something similar) for input / output
  • audio input / output connections
Sensors:
  • Built-in microphone
  • Built-in 2 mega pixel camera
  • GPS receiver
Green Characteristics:
  • Full ACPI Compliance and sleep states for all devices
  • Longer battery life ( please, no optical or magnetic drives )
  • Biodegradeable, non-plastic casing ( corn-based ?)
  • Lead-free chipsets ( possibly free of other toxins as well )
  • AC power adapter with auto-off capabilities and magnetic connector
  • Built-in RFID chip for easy component identification during recycling
Security Features:
  • Built-in biometric sensor (BMS) for secure user authentication (i.e. thumb print)
  • Built-in RFID chip, for anti-theft-system (ATS) / tracking
  • Built-in GPS receiver, for ATS and user application
  • Built-in GPRS data-only transceiver for ATS and user application
  • Secure-bus lines (internal PCB layer, covered vias) for ATS, DRM[3], BMS

If you have any suggestions of something that is currently on the market that closely matches these specifications, aside from the OLPC[4], please submit a comment.

Alternatively, if you would like to hire me as an engineer to design such a laptop please let me know.

[ Update: 20071118 ]
Here is some info from the IEEE regarding standards for greener consumer electronic devices.

List of Similar Laptops & Shortcomings

Dell Latitude D430:

If one navigates to the Dell site and selects the small business / notebook links, one would notice that there is a small image that says 'Windows XP Optional'. When the visitor proceeds to customize the notebook, Windows XP is, in fact, non-optional. Dell, take off whatever the price is of Windoze these days and offer an operating system free and / or Linux installation. Then I might consider buying this notebook.

Dell, I do very much respect the step forward by offering solid-state media instead of magnetic storage. Although the $1000 jack in price seems unfounded, especially when
Transcend has such excellent deals on a solid state disk at the moment, like the ones here and here. At any rate, if I could purchase this notebook without Windows and without an internal optical drive, then it would be a done deal, and I would just buy the flash disk from Transcend.

Apple MacBook:

I really like the MacBook, although the case material is plastic and I've heard horrible things about the Nazi-esque factories where Apple assembles the iPods in China... of course that hasn't stopped thousands upon thousands of people from buying Apple products in the past. I bought my iPod used ;-)

The MacBook is good because it has a dual-core Intel chip running at 2GHz. The screen-size is also a modest 13", which makes for a very portable notebook computer. A few friends of mine have one of these babies, and I very rarely ever feel the machine get hot, and the fan is as quiet as a mouse. The MacBook has a very decent battery life and also has great power management.

Putting Gentoo Linux on a MacBook is also very possible, but can cause conflicts with the Mac OS X. What I would most likely do, is completely remove the Mac Hard disk, and add a Trancend SATA solid-state-disk of 32 GB in size instead. Then I would have the original Mac disk image available if I ever needed to use it and I could format the original magnetic SATA disk and use it externally.
I think that I remember reading a rumor about Apple launching a product targeting at the Japanese market with an SDD and no optical drive. Hopefully that happens soon and they decide to expand to western markets as well.

Since I am attending a university in Germany, I would receive a 10% discount at the Apple.de Educational Store. The student discount in Germany is even more of a deal than that in Canada, after considering taxes.


[1] Some articles about environmentally friendly computing, going as far back as 1998:
Toshiba Satellite 2510, Asus U5, Wal-Mart & Toshiba, OLPC, Consumer Demands

[2] I claim prior art to some of these device specifications going back for several years if a patent lawsuit ever arises.

[3] In full awareness of the current anti-DRM movement, I still feel that artists should be able to protect their works in an open, but still technologically secure manner. My position on DRM is that publically free media should still function on a system that is DRM-compatible, as should DRM-impaired media.

[4] I am in no way knocking the OLPC project, and feel that it's a pioneering endeavor that all manufacturers should strive to match, in terms of energy efficiency. The plastic casing, on the other hand, is a bit of a minus.