Minimal Metal: OpenSolaris 2008.11 on 512MB RAM systems

Since OpenSolaris 2008.05 came out seven months ago, a common problem heard on the opensolaris-help mailing list was about the lack of support for systems with 512MB of memory; 768 MB was the minimum needed to complete a 2008.05 install
Who cares about 512MB RAM systems, you may ask? About three years ago, 512MB was a standard memory size shipped with many laptops and desktops. For people wanting to experiment with OpenSolaris on real metal, some of these systems are being dusted off to kick the tires with OpenSolaris. Now, as mentioned by Dave Miner, the installation RAM requirement has been reduced to 512MB, and happily, OpenSolaris 2008.11 installed successfully on two 512MB RAM systems that I tried: a 64-bit Opteron desktop, and a 32-bit laptop.
First, the Opteron (good to see the top(1) program integrated into OpenSolaris!)

And for the Acer Aspire 3000 laptop with a 32-bit CPU (AMD Mobile Sempron 3000+), circa 2004:
pschow@moultrie:~$ smbios -t 1
ID SIZE TYPE
1 90 SMB_TYPE_SYSTEM (system information)
Manufacturer: Acer, inc.
Product: Aspire 3000
Version: Not Applicable
Serial Number: LXA554601A28751F4FM00
UUID: 20d91515-2edc-d911-90ab-00c09fb4419d
Wake-Up Event: 0x6 (power switch)
SKU Number:
Family:pschow@moultrie:~$ smbios -t 4
ID SIZE TYPE
4 66 SMB_TYPE_PROCESSOR (processor)
Manufacturer: AMD
Version: AMD
Location Tag: Socket A
Family: 31 (K6-2+)
CPUID: 0x78bfbff00010fc0
Type: 3 (central processor)
Socket Upgrade: 6 (none)
Socket Status: Populated
Processor Status: 1 (enabled)
Supported Voltages: 1.6V
External Clock Speed: Unknown
Maximum Speed: 1800MHz
Current Speed: 1800MHz
L1 Cache: 8
L2 Cache: 9
L3 Cache: None

If you've got other ideas on how to reclaim some RAM and CPU, however small, let me know. I'm sure "Don't run GNOME" would be one of the suggestions, which is actually reasonable if all you want is SSH access into a shell.
% pfexec svcadm disable sendmail
As you get more familiar with OpenSolaris 2008.11, adding more RAM and moving to a 64-bit system would be good advice but 512MB RAM can be your starting point now, if that's what you have.Posted at 08:52AM Dec 10, 2008 by Peter Schow in Sun | Comments[2]
Rewriting the History of TCP
A recent statement made in a Cable TV trade publication, from a bandwidth optimization vendor says this about the internet Transmission Control Protocol (TCP):
TCP was designed for Local Area Network (LAN) data transport, not the Wide Area Networks (WANs) used by service providers, and it can consume from 60 to 80 percent of the available bandwidth because of the overhead built into the protocol
This is unfair to the TCP designers, and the history of the internet in general, so let's look at the TCP definition (RFC761) from 1980 to see what it has to say about this. First, in section 1.1 (Motivation):Very few assumptions are made as to the reliability of the communication protocols below the TCP layer. TCP assumes it can obtain a simple, potentially unreliable datagram service from the lower level protocols. In principle, the TCP should be able to operate above a wide spectrum of communication systems ranging from hard-wired connections to packet-switched or circuit-switched networks.
No LAN bias in those words. Then, from section 2.1, where it discusses the underlying network:It is assumed here that the networks may be either local networks (e.g., the ETHERNET) or large networks (e.g., the ARPANET), but in any case are based on packet switching technology.
(ARPANET was a wide area network built mostly of leased lines, many of which were running at 56 Kbps). Again, no explicit design centered on LANs.
I think most would agree that TCP's flexible accommodation of a variety of underlying network types, ranging from slow packet radio networks to 10G ethernet is the reason it is still today's transport of choice. Hopefully, the history of TCP's elegant design and tradeoffs will not be lost to a marketing message.
Note that the internet community also recognized the TCP overhead problem for low-speed networks, and came out with a standard method of compressing TCP headers to a few bytes, in 1990.
Posted at 10:38AM Oct 20, 2008 by Peter Schow in Industry |
xVM VirtualBox is runner-up in 2008 Linux Journal Reader's Choice Awards
As announced in the Linux Journal, June 2008 edition, xVM VirtualBox grabbed the runner-up status in the "Favorite Virtualization Solution" category. VMWare was first at 38% but VirtualBox grabbed second place at 20% with this interesting commentary from LJ's product editor, James Gray:
"Given VMware's meteoric rise during the past few years, it's no surprise to see it win the gold for Favorite Virtualization Solution. More surprising is VirtualBox's showing, the application that a fellow publication called “The best virtualization program you've never heard of” in late 2007. VirtualBox's patron, innotek of Germany, was acquired by Sun Microsystems earlier this year, giving VirtualBox the marketing injection it needed to match its technical prowess. Wine and Xen fared decently in this category too."
Go get it!
Posted at 09:53AM Jun 27, 2008 by Peter Schow in Sun |
Vintage Univac newsreel from the 1950s
Nice 17-minute video from the 1950s showing the inner-workings of a Univac, complete with VU meters, tanks of mercury, 6-bit characters, "clean desk" programming with flowchart templates, and the obligatory whirring tape drives. In the vocabulary of the 50s, the programmer is assumed to be a "he" even though Grace Hopper was one of Remington's chief programmers at the time.
This video was posted by the folks at the Computer History Museum.
Remington Rand Presents the Univac
Posted at 08:37AM Feb 27, 2008 by Peter Schow in Industry |
Ruby integrated into OpenSolaris
As of Nevada build 78, Ruby 1.86 and friends (irb, rdoc, ri,and gem) are first-class citizens of Solaris Nevada, thanks to the PSARC/2007/600 project team. No more needing to go through a lot of this, to get a Solaris Ruby (and Rails) environment up and running. Together with JRuby, NetBeans, and DTrace support for Ruby, the Solaris Ruby infrastructure just got even better.
Although Rails seems to get more than its fair share of the Ruby publicity pie, Ruby itself has all sorts of applications including System Administration, Numerical Analysis, and Desktop programming
The $PATH modification below is a workaround so that your gems can be found after they are installed. Hopefully this step will no longer be needed in a future release.
-bash-3.2$ uname -a
SunOS sopchoppy 5.11 snv_78 sun4u sparc SUNW,Sun-Blade-100
-bash-3.2$ ruby -v
ruby 1.8.6 (2007-09-23 patchlevel 110) [sparc-solaris2.11]
-bash-3.2$ PATH=$PATH:/usr/ruby/1.8/bin
# gem install rake
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rake-0.7.3
Installing ri documentation for rake-0.7.3...
Installing RDoc documentation for rake-0.7.3...
# gem install rails --include-dependencies
Successfully installed rails-1.2.6
Successfully installed activesupport-1.4.4
Successfully installed activerecord-1.15.6
Successfully installed actionpack-1.13.6
Successfully installed actionmailer-1.3.6
Successfully installed actionwebservice-1.2.6
Installing ri documentation for activesupport-1.4.4...
Installing ri documentation for activerecord-1.15.6...
Installing ri documentation for actionpack-1.13.6...
Installing ri documentation for actionmailer-1.3.6...
Installing ri documentation for actionwebservice-1.2.6...
Installing RDoc documentation for activesupport-1.4.4...
Installing RDoc documentation for activerecord-1.15.6...
Installing RDoc documentation for actionpack-1.13.6...
Installing RDoc documentation for actionwebservice-1.2.6...
-bash-3.2$ rails hello-world
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
create db
create doc
.
.
.
Posted at 12:16PM Nov 29, 2007 by Peter Schow in Sun | Comments[2]
Free access to ITU-T Standards
It was interesting to see that the ITU has opened up free access to their standards documents.
Twenty years ago, the ITU documents were only available in expensive printed sets that only large corporate libraries could afford. The document sets were color-coded (I remember yellow, red, and blue), issued every four years, and they took up an entire shelf. Given the scarcity and cost of the ITU documents, if you were a network protocol developer in the telco or (now dead) OSI worlds, part of your regular job involved the necessary sleuth work, bribery, and bartering to get the relevant standards you needed. It was never easy, even if you did work for a company that owned a document set.
In stark contrast, the Internet Engineering Task Force RFC documents and drafts were always open, available via FTP. You never had to worry about someone lifting your printed copy of the SMTP (email exchange) protocol spec, for example, while you were away; if that happened, you just downloaded another. Attempting to build upon the very succesful IETF model, Carl Malumud based an entire book on a worldwide quest in the early nineties to have these ITU standards opened up, including a visit to the then-stodgy ITU headquarters in Switzerland. His trips to emerging countries, most still based on dial-up or low speed leased lines at the time revealed that there was great interest in some of the ITU standards, for implementation and experimenting, but they were just too expensive to acquire. With ITU permission, Malamud and Dr. Michael Schwartz even setup their own ITU document retrieval FTP server at the University of Colorado for a trial period.
17 years later, the ITU documents are freely downloadable. In addition to running code and interoperability testing, free document access is one of the reasons why the IETF protocols are dominant today. Perhaps the ITU decision is 20 years too late?
Posted at 04:43PM Sep 25, 2007 by Peter Schow in Industry | Comments[1]
Electrifying the Porsche again, 107 years later

With the news that some MIT students are electrifying a Porsche 914, it's interesting to look back to the year 1899 where Ferdinand Porsche himself was working on electric cars in Vienna.
According the the book "Small Wonder - The Amazing Story of the Volkswagen" by Walter Henry Nelson, "electromobiles" were all the rage at the turn of the 19th century in Europe with the added benefit that they were quiet and free of fumes. In 1900, Porsche did build the electric Porsche-Lohner Chaise, capable of traveling 50 miles distance (80 kilometers) at a time. A few years later, he built a combination electric/gasoline car, call the "Mixt", in which the internal combustion engine powered the generators that fed the electric motors in the wheels.
Everything does come around again.
Posted at 05:12PM Jul 01, 2007 by Peter Schow in Industry |
Cory Doctorow interviews Hal Stern
Science Fiction author Cory Doctorow interviews Sun VP Hal Stern in the latest ACM Queue magazine, discussing topics like open source, DRM, privacy, and my favorite, the KSR 33 Teletype terminal. The print quality PDF is here.
[Follow on: Looks like this was already posted by Hal but the interview now appears to be online and available to everyone.]
Posted at 04:42PM May 08, 2007 by Peter Schow in Sun |
Telecommuting in 1860 ?
The recent biography of Andrew Carnegie by David Nasaw has a mentioning of an early telecommuting experience in the USA, pre Civil-War, in the year 1860.
Upon getting promoted to the superintendent of the Pittsburgh section of the Pennsylvania Railroad company at the very young age of 25, Andrew Carnegie returned to Pittsburgh from Altoona in 1860 and settled in the Homewood (now Point Breeze) neighborhood, eight miles away from the dark sooty air of downtown. Running the railroad was a 24 hour job, requiring him to stay in constant contact with his work crews, who were always on the job repairing broken rails. Being an experienced telegraph operator from his teens, Carnegie promptly had a telegraph extension wire installed to his house from the East Liberty railroad office which allowed him to run the business from home.
True telecommuting, 16 years before telephones were invented, and at least 110 years before the term itself was coined!
Posted at 03:02PM Apr 01, 2007 by Peter Schow in Industry |
HPC Computing pioneer Neil Lincoln passes away
Eugene Miya reported last week on Usenet that computer architect Neil Lincoln quietly passed away on January 26. If you haven't heard of Neil before, he was a top supercomputer designer of his time and was an architect of the CDC STAR-100 and CYBER 205, and ETA Systems ETA-10 supercomputers. I'm quite surprised that there is no Wikipedia article about him but that will be remedied soon!
Even if you were aware of Neil, some things that you may not have known him:
He eventually joined the STAR-100 team in 1967, being led by well-known CDC architects Jim Thornton and Seymour Cray. As you probably know from history, Cray disagreed with the vector-intensive direction of the STAR-100 and went on to form his own famous computer company. Jim Thornton also left CDC to start Network Systems (the Hyper Channel folks), eventually acquired by StorageTek (nowadays, known as Sun Microsystems, of course). Neil Lincoln stayed with CDC and in 1975, became the architect of the CYBER 203/205 systems.
Four (vector) pipe CYBER 205 at Florida State University Computing Center, 1988.

During two short contracting gigs at ETA Systems in St. Paul, MN, 1986 and 1987, I remember seeing Neil quite a bit in the evenings. In 1986 his office was in the middle of a busy corridor near the center of the building and his walls were plastered with individual pages of a calendar datebook, showing the countdown to the important "run a job" milestone (this was simply abbreviated "RAJ" everywhere in the company). With new hardware and a brand new OS, running a batch job from start to finish was the confidence test that would exercise the entire OS/hardware path, including the compilers, scheduler, I/O, filesystem, and of course, the CPU. RAJ did run late and ETA was forced to ship system #1 without a full OS. Jobs could still be run on this system but they had to be started in "monitor mode" with no scheduler running. To get Fortran programs running on the ETA at FSU in January 1987, we compiled them on the adjacent CYBER 205, and moved the binaries to the ETA Service Unit with none other than the trusty Kermit communications program, which always seemed to "just work", no matter what system it was running on.
In those days of very expensive supercomputers, new generations of hardware had to be marketed long before they were available, to ensure a decent pipeline of customers at FCS time. In fact, it went farther than this: systems were sold before FCS with contracts that had financial penalties if they were not delivered and accepted by the customer by a certain date. As such, Neil was often asked to talk with incoming customer delegations that were visiting the plant. The evenings, I'm guessing, were his time to get away from meetings and concentrate on the engineering issues of the day. As chief engineer of the ETA-10, he was overseeing new hardware, new cooling (the CPU boards were submerged in liquid nitrogen), and a complex new operating system that was being designed to "host" other OS environments, like Unix. Needless to say, there was not a shortage of engineering challenges in any of these areas.
The ETA Systems software development environment was on Apollo Domain workstations running Apollo's DSEE software engineering environment. Workstations were a shared resource back then, and were not on individual desktops but rather were maintained in various communal areas, like along the windows and in various "war" rooms. You could still do development on a VT220 clone terminal back in your cube, but a workstation was the platform of choice, if you could find an available one. Being away from home with usually no other things to do, and very curious about Apollo's Domain OS/DSEE, I tended to hang around in the evenings when workstations were more available, and it was during this time that I saw Neil a lot. Sometimes he would say "Hi" and one time he stopped by and we talked about the stuff I was working on (Service Unit diagnostics). Even when you could tell the deadline pressure was getting to him, he would always manage a smile. During my second stint there in 1987, when the Lachman and Associates SVR4 UNIX port was up and running on ETA hardware, you could see Neil working at a Unix prompt on one of his systems, looking like he was having fun.
Me in 1988 with ETA Systems ETA-10, Serial Number 1, Florida State University Computing Center, Tallahassee, FL.

Rob Peglar's Saga of ETA Systems from 1990 makes great reading for anyone interested in the ETA Systems story, including his assessment of the business and technical reasons for its eventual failure in 1989. I have some opinions and observations about the complex operating system development effort that was happening at ETA, but that's for another blog.
From a Usenet posting I made back in 2001, I still enjoy reading Neil Lincon's honest assessment of his own computer, the STAR-100, in what did work and what didn't. Computer language enthusiasts may be interested in the APL influence on the STAR-100.
With HPC computing making what seems like a strong comeback, it's important to remember the pioneers of HPC. Neil R. Lincoln is certainly a hall-of-fame member of that club.
Posted at 08:19PM Feb 13, 2007 by Peter Schow in Industry | Comments[4]
USA National Cross Country Championships - Boulder, Colorado
An estimated 10,000 spectators showed up today at Flatirons Golf Course in Boulder, Colorado to watch the USA National Cross Country Championships, essentially the annual USA "Super Bowl" of distance running. Also at stake were spots on Team USA that will compete at the IAAF World Cross Country Championships, to be held in Mombasa, Kenya in March.
.

The weather was warm and sunny, which when mixed with a large amount of snow on the ground from a very snowy winter so far, turned a nice golf course into a muddy mess. In other words, great conditions for cross country running! The runners ran on a spectator-friendly, flat course consisting of 2K loops that included two creek jumps.

A sign of the times.

Olympic marathon bronze medalist Deena Kastor took an early lead in the women's open 8K race and never looked back.

Dathan Ritzenhein takes the early lead in the men's open 12K race, near the 2K mark, with Adam Goucher in second. 
Eventual winner Alan Culpepper is sitting comfortably at third, also around 2K.

The stage for the top ten men's open finishers

The top three men's open National Champs for 2007. Left to right: #2 Adam Goucher, #1 Alan Culpepper, and #3 Dathan Ritzenhein.

Check the full results for details.
Posted at 06:25PM Feb 10, 2007 by Peter Schow in Sport |
Ruby on Rails 1.2 on Solaris 10 Howto [Updated]

I've received an amazing amount of feedback the last few months from my original posting in August on how to get Rails up on running on Solaris 10. With the recent release of Rails 1.2.1, it's probably time to tweak the instructions and incorporate some of the comments.
What I describe here is a way for you to get up and running with Rails on Solaris 10 (and later, including Developer Express) systems, which of course also gives you a full Ruby environment. In contrast to a script that does all of this for you, putting the pieces together yourself is a simple exercise and will give you a good understanding of a typical Ruby installation and its components. The major components described here are:

Rails fits right home with Solaris 10 because of the included Postgres database system; there is no need for downloading and installing a database - it's already there! Solaris 10 also includes the GCC compiler which I use here for interoperability with Ruby gems that you'll be pulling from the net, including Rails itself. Finally, you can use Dtrace right out of the box to help you analyze your Postgres and Rails performance issues!
ftp_proxy/http_proxy environment variables to make the wget commands listed here to work correctly. Substitute your proxy accordingly:export ftp_proxy="http://(your web proxy):(your web proxy port)"
export http_proxy=$ftp_proxy
/opt/local. You can change this to your needs by altering the prefix definition below.Postgres. File /etc/release on your Solaris system should say "06/06" or "11/06".Watch a Rubyist at work and you'll see a lot of tinkering and experimenting at the command line. Input recall is a must in this mode, so you'll want to make sure that you have the GNU Readline library installed.
wget ftp://ftp.cwru.edu/pub/bash/readline-5.2.tar.gz
gzcat readline-5.2.tar.gz | tar xf -
cd readline-5.2
configure --prefix=/opt/local
make
su
make install
irb (interactive ruby), ri (ruby doc lookup), and rdoc (documentation generator).wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5-p12.tar.gz
gzcat ruby-1.8.5-p12.tar.gz | tar xf -
cd ruby-1.8.5-p12
configure --prefix=/opt/local --enable-pthread --with-readline-dir=/opt/local
make
make test
su
make install
make install-doc # This takes a while but is worth the wait
wget http://rubyforge.org/frs/download.php/16452/rubygems-0.9.1.tgz
gzcat rubygems-0.9.1.tgz | tar xf -
cd rubygems-0.9.1
su
/opt/local/bin/ruby setup.rb
su
PATH=$PATH:/opt/local/bin
export PATH
gem install rails --include-dependencies
wget http://ruby.scripting.ca/postgres/archive/ruby-postgres-0.7.1.tar.gz
gzcat ruby-postgres-0.7.1.tar.gz | tar xf -
cd ruby-postgres-0.7.1
ruby extconf.rb --with-pgsql-include-dir=/usr/include/pgsql
gmake
su
PATH=$PATH:/usr/sbin
export PATH
gmake install
groupadd postgres
useradd -c "PostgreSQL User" -d /export/home/postgres -g postgres -m -s /bin/bash postgres
chown postgres /var/lib/pgsql/data
chmod 700 /var/lib/pgsql/data
su postgres
initdb -D /var/lib/pgsql/data
su - postgres
pg_ctl -D /var/lib/pgsql/data -l /var/tmp/pglog start
createuser your-login-name # This lets you perform DB operations
mkdir -p src/rails
cd src/rails
rails hello
cd src/rails/hello
ruby script/server
http://localhost:3000
and verify that you see a similar display to this:

MySQL for our database. This is the default for Rails, so we need to change this to use our built-in PostgresQL database instead.
I'm closely following Chapter 6 (first or second edition) from the Agile Development with Rails book by Dave Thomas and Dave Heinemeier-Hansson.
This will create the depot application that the authors use as an example, and will also construct the three Postgres databases:
mkdir src/rails
rails depot
createdb depot_development
createdb depot_test
createdb depot_production
src/rails/depot/db/create.sql that looks like this:create table products (
id SERIAL,
title varchar(100) not null,
description text not null,
image_url varchar(200) not null,
price decimal(10,2) not null,
primary key(id)
);
auto_increment modifier, given in the book, to the PostgreSQL SERIAL type above.
One more change: Modify the src/rails/depot/config/database.yml file to point to your PostgreSQL database. Ignoring the comments, it should look something like this, if hank is your login name:
development:
adapter: postgresql
database: depot_development
username: hank
password:
host: localhost
test:
adapter: postgresql
database: depot_test
username: hank
password:
host: localhost
production:
adapter: postgresql
database: depot_production
username: hank
password:
host: localhost
products table definition:
psql depot_development < db/create.sql
cd src/rails/depot
ruby script/generate scaffold Product Admin
ruby script/server
http://localhost:3000/adminshould show you the scaffolding of your new web app and give you the green light that you've successfully configured your Rails/Postgres on Solaris environment.
Want to learn more? Check out the Top 30 Rails Tutorials
Happy Ruby on Railing, and keep those comments coming.
Posted at 04:02PM Jan 29, 2007 by Peter Schow in Software | Comments[1]
OpenSolaris and Municipal Wifi - It's a Snap
A new municipal Wifi mesh network was just lit up in Longmont, Colorado, USA this week. It is being privately operated by Kite Networks, and it took only 3 months to install citywide from scratch. Ten years ago, it look longer than this to provision a T1 line to a single customer! This network, on the other hand, can address tens of thousands subscribers. The picture above shows how it is installed throughout the city - rabbit ears are mounted on selected street light posts. Other cities along Colorado's Front Range are watching the progress here in Longmont, anticipating their own Wifi networks soon.
Access is free for the first three months so I naturally took my laptop running OpenSolaris down to the park. Using the nifty Inetmenu user interface, I instantly connected to the network with no problems. Just as it should be, I didn't have to mess with drivers, installation CDs, or configuration files - it just worked.


Some simple speed tests showed that I was getting about 2.1 Mbits/sec, faster than the T1 circuit that I mentioned above.
I eventually may become a subscriber but only if they agree to include OpenSolaris in the list with the other first-class supported Operating Systems. Based on my flawless connection experience today, why wouldn't they do this? Stay tuned for a progress report.
Posted at 03:51PM Dec 16, 2006 by Peter Schow in Sun | Comments[1]
R.I.P. VHS Video Tape
Variety published an obituary today on the end of VHS (Vertical Helical Scan first, then Video Home System) video tapes in the USA.
2003 was the crossover point at which DVDs outsold VHS tapes.
The format lasted 30 years from its inception, which included the famous Betamax vs. VHS format war. Since the DVD was invented in the early 1990's, can we assume a similiar lifetime for today's DVD media (not Blu-Ray or HD-DVD) format and that "DVD-classics" will continue to be offered until at least the year 2020, with the next crossover point around 2015?
Posted at 12:23PM Nov 15, 2006 by Peter Schow in Sun |
Linux, Mac, and Solaris Users need not apply
How lame is this?
NBC Sports is offering an online video feed to tomorrow's New York Marathon for US $4.99. It's limited, however, to Windows users because (from their FAQ).
Regrettably at this time, you cannot watch MediaZone's live events or other entertainment using the Macintosh or Linux operating systems due to lack of Windows Media Digital Rights Management (DRM) support for these operating systems.
Why should a subscriber operating system choice limit his/her ability to view some video content that they're actually willing to pay for? Turned around, why in the world would a provider use a video format that limits the number of desktops they can reach, and subsequently reduces the amount of cash they bring in?
Posted at 07:40PM Nov 04, 2006 by Peter Schow in Sport | Comments[5]