Archive for November, 2009

It’s not just me trying to make sense of wx data

Tuesday, November 24th, 2009

A bit over ten years ago I was pulling weather station data from the web along with satellite pictures and sounding data to support fog research at SFO. I also needed historical data for pattern analysis. It was a good exercise in gaining familiarity with Java but finding good data and translating that into some usable structure was a challenge. The recent escape of a lot of stuff about climate research in England tells me that others encountered similar headaches. See Charlie Martins note about how Climategate Computer Codes Are the Real Story.

“Harry” is starting off with two large collections of data on a UNIX or UNIX-like system (forward slashes, the word “filesystem”) and only knows very generally what the data might be. He has copied it from where it was to a new location and started to work on it. Almost immediately, he notices a problem:

Poor Harry is in the first circle of programmer hell: the program runs fine; the output is wrong.

At least he had a means to tell if his program was working as intended or not. All I had to go on was spurious results, or what looked strange. Of course, if the idea is to find things out, not knowing what the result is to be is what it is all about.

Chemistry in service: refrigeration

Thursday, November 19th, 2009

On Zephyrs, I described the operating principles of The RV ammonia based refrigerator. The key to understanding this is getting a handle on partial pressure in gases. It is this behavior of gases that is being manipulated to provide cooling.

Compressor driven refrigeration uses physical pressure differences with an valve on one side and a compressor on the other to transfer heat. The absorption refrigerator keeps the overall pressure in the loop constant and manipulates concentrations to transfer heat. That requires a careful control of environment by using tubing sizes and shapes that are optimized to the stage of the cycle.

The partial pressure idea means that you have compounds in multiple states at one time. This is just like having humidity in the air above a body of water, for example. When a gas dissolves in water, there is a natural balance between how much is in the water and how much is in the atmosphere above it. The refrigerator case depends upon the fact that ammonia readily dissolves in water but the balance between how much is in the water and how much in the atmosphere above it is highly temperature sensitive. That is utilized to have cooler water in the absorption tank picking up ammonia dropping down out of the evaporator and warmer water in the percolation tube giving up gas going to the condenser.

As for tubing, consider that the condenser needs to cool gas to a liquid at about the same rate as it drips down to the evaporator. That means a big tube coming in to bring the gas from the perc tube and a small tube going to the evaporator to drip a liquid. The evaporator needs to spread that liquid out to help encourage it to evaporate again in the hydrogen atmosphere much like sweat on your skin will evaporate into the air to cool you off on a hot afternoon. In the desert, you get a lot of cooling because the air is dry and your sweat evaporates so fast you don’t notice your sweating. In humid environments it is more difficult to evaporate the sweat so you drip and don’t get as much cooling benefit. The refrigerator uses hydrogen to provide ‘dry’ air for ammonia to evaporate into. The hydrogen is ‘dried’ of ammonia by passing it over water in the absorber where the water has less ammonia in it than needed to balance the amount of ammonia mixed with the hydrogen above it.

Simple concepts carefully integrated together to provide an amazing result that is often take for granted – just how wonderful is that?

Josephine, a 76 Airstream Overlander

Thursday, November 19th, 2009

Vaughn’s brother was upgrading from 27′ trailer to a class A and the price was right so Jo was added to the yard as a better place to invest a few bucks. It was a bit well used but had a number of features to examine for ideas.

The Onan Microlite was a nice idea but the Jerry can on the back bumper for fuel and a battery in the rear compartment to start it were somewhat troublesome. The genset also had some loose insulation getting into the air path which contributed to overheat conditions.

The solar system was ten years old but used a decent MPPT controller. The interesting item there was an RV Power Products electron counter, intelligent charger, and converter. It looks like the converter had failed and been replaced by an IntelliPower with Charge Wizard. That was a good upgrade but: The battery charging automatic shutdown on inverter power was disabled and the converter was back behind the water pump and range so access was difficult meaning unplugging for inverter use was impractical. Nothing like having an inverter run a battery charger on the battery whose power it is drawing!

That water pump location was also a problem. The line from it to the main line had leaked on the furnace casing so that casing will need to be removed, cleaned and repainted.

I also looks like there is a gap between the wheel well and the outside skin under the sink.

That’s the way it is when you get to fixing things on a new acquisition. One thing leads to another which then requires some other fix. — plenty to do!

CouchDB

Thursday, November 19th, 2009

The Ars review of Ubuntu Karmic describes what they think is a cornerstone strategy for Ubuntu One that might also have implications for the desktop. Amidst all the usual drek, this was a new one for me.

CouchDB is an open source database system that is developed in the Erlang programming language. Unlike conventional relational databases which are designed around the concept of tables with columns and rows, CouchDB is a document-oriented database that stores structured JSON blobs with nested key/value pairs. CouchDB has a built-in Web server that is used to communicate with the database. Queries are sent as HTTP requests through CouchDB’s REST API.

With technobabble like that, it has to be worth some investigating. For instance, JSON is short for JavaScript Object Notation so that fits right in with web browser scripting. Wikipedia calls is a lightweight computer data interchange format. The change is from SQL and tables connected by relations to structures connected by key:value associations.

CouchDB is an Apache Project – I saw an article recently that discussed the management at Apache for projects like this that was a fascinating description of an invention factory.

There are so many new ideas out there it is tough to keep up with them.

Ubuntu 9.10 Karmic Adjustments

Monday, November 16th, 2009

Every release of Ubuntu means a flury of ‘tips and tricks’ and guides to tweaking the system and adding useful utilities. There are three major reasons for this. One is that Ubuntu is sized to fit on a CD so it only includes the most commonly used applications. Second is that the release is totally FOSS so it doesn’t include things that have license or source code restrictions. Third is that of a common denominator as a base for user customization. If you make a list of your own favorite tweaks, you’ll likely find it itself needs tweaking to fit the next release.

Eva’s Useful Guide to Ubuntu 9.10 is a good example. It doesn’t get into those awful screen shots some folks seem to think are necessary but just dishes out the red meat.

The Medibuntu Repository item comes right off the source. What is interesting to note is the use of the ‘lsb_release -cs’ command to match the repository to the current release. It also provides a good example of chained commands into one long line.

sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list; sudo apt-get -q update; sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring; sudo apt-get -q update

Eva suggests installing ‘non-free-codecs‘ as a superset of the usual ‘ubuntu-restricted-extras‘.

Eva’s more unusual tips include replacing the main menu system preferences and administration entries with the Gnome Control Center. That is done by ‘system->preferences->main menu’ and selecting the control center. Deselect preferences and administration so they don’t show in the menu.

There is a suggestion to install thunderbird-gnome-support for better desktop integration.

To use the windows meta-key on the keyboard to pop up the main desktop menu:
gconftool-2 --set /apps/metacity/global_keybindings/panel_main_menu --type string "Super_L"

In the last release, you could use properties to avoid the shutdown countdown. Now you need this command to change that
gconftool-2 -s '/apps/indicator-session/suppress_logout_restart_shutdown' --type bool true

Eva even describes sources so you can put Ubuntu branding stickers on your case. Check it out and see if she’s got a solution to something bugging you.

Dirt pics. Yeah, I was going to do that, too.

Saturday, November 14th, 2009

A friend needed an upgrade from a Windows 95 era machine and another had an old Windows ME Dell with a P III, 512 MB memory, and 20 GB hard drive to get rid of, so it was time to do some machine swapping. The Dell had original papers – it cost near $2k in 2001 – but had lived in a smoking environment and had not suffered any physical maintenance. I was going to post pictures of the humongous dust bunny that inhabited it. Usually there’s a family of dust bunnies in neglected computers but this one had just one big monster.

It turns out Neatorama was ahead of me. Today’s post is about Dirty Computer Pictures.

Some people eat at their computers. Some smoke while computing. And some don’t change the filter on their heating and air system as often as they should. Many of us never open up our computers to see what’s inside, but that’s the first thing your computer repair expert will do. If your PC is anything like these computers, the next thing he/she will do is take a picture. The Register has six pages of these dirty, filthy pictures.

OK. There’s no need to start a “my dust bunny is uglier than yours” contest but there’s no need for that. Just keep in mind that you should remove the cover, especially the front cover which can be a bit harder to remove, every year or so and blow out the dust bunnies. I had to take this one out to the shop and use the blower nozzle for the big air compressor along with some judicious use of soap and water on a few parts. The zip drive and CD RW were removed and set aside rather than try to clean them.

If you smoke, keep in mind that the tars build up on everything and are near impossible to clean. That means anyone trying to use your computer is a non-smoking environment is going to suffer the smell as it lingers, it really does.

The Dell, while a bit odiferous, now runs Ubuntu Karmic Koala 9.10. A 4 port USB 2.0 board and a Linksys wifi were added to the video and sound cards. The 2 GB drive from the old machine was copied to a folder on the user’s home directory, It will make quite a change as it represents a more than ten year jump in software environments.

NAS share setup

Friday, November 13th, 2009

To set up a CIFS share On the Netgear ReadyNAS DUO so it requires a login as a user who is a member of a group:
On the Share Listing CIFS TAB
Default access: DISABLED
Write-enabled users [checked]
groups:[group name]
enable recyle bin
automatically set permissions on new files and folders
Advanced Options tab
folder owner – [share name]
group – [group name]
group rights rw
everyone rights rw
grant rename and delete privileges to non-owner

The automatically set permissions is needed so the members of the group can share rw access to files on the share. This is supplemented by the “grant rename …” – that allows a lot of flexibility to anyone who logs in as a user who is member of the group identified as the write enabled listed group.

The login user and the group need to be defined before setting up the share. The share owner is defined by the system when the share is named.

Google Go

Wednesday, November 11th, 2009

Java was the groundbreaker a bit more than ten years ago. It looked to consolidate much that had been learned about programming languages. Advances since then have been signficiant and that has led to a lot of cruft in Java, many followers-on, and significant distractions in the many scripting languages that have popped up with new ideas trying to meet demand.

Google has joined the fray. Ostatic describes the effort in Google Unleashes Go: A Brand New Systems Programming Language.

If its pedigree is any indication, Go is in good shape. The initial design for Go was scoped out by Rob Pike, Ken Thompson, and Robert Griesemer. You might remember some of those names from such projects as Unix, C, and Plan 9.

At the Go website, there is a Language Design FAQ that describes the stimulus for yet another computer language

Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.

I like this guiding principle comment

Programming today involves too much bookkeeping, repetition, and clerical work. As Dick Gabriel says, “Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who’d have guessed sophistication bought such noise?” The sophistication is worthwhile—no one wants to go back to the old languages—but can it be more quietly achieved?

Over on Slashdot, someone noted that there isn’t a big library defined for Go (yet). Responses indicated how this sort of gap could be provided using examples such as CPAN or a JVM translator. The key, though, is to keep it simple. Make a lean, mean, efficient, modern programming language and the rest will come.

This effort has a small team with undisputed pedigree in an environment that at the top of the heap in the modern software paradigm. The values are appealing, at least to me. It will be worth keeping track of this one.

Common values – Finding FOSS

Wednesday, November 11th, 2009

Hey, someone who has selected 4DOS and OS/2 and then found FOSS is right up with me! Bruse Byfield describes Why FOSS Matters to Me (But Maybe Not to You).

IBM’s abandonment of OS/2 under pressure from Microsoft taught me the even more important lesson that I couldn’t count on corporations to protect my interests as a consumer. When I discovered free software, I realized immediately that my interests as a computer user were more likely to be protected by a community. At the very least, the availability of the source code made it less likely that my interests would be abandoned.

The sad saga of DeScribe provides another case to examine. It was not able to compete despite having many attributes that made it competitive. It does follow Bruce’s comment about the imbedded solution that is how Microsoft managed to take over from Lotus or WordPerfect and squash DeScribe. But then, the entrepreneurial shenanigan’s of DeScribe’s business didn’t help either. Star Office, now OpenOffice.org ended up FOSS thanks to SUN and it is now a ‘safer’ option for an office suite that is community supported and without license encumberances. But I, and some of my clients, still pine for DeScribe. Thank goodness it runs well in Wine so we can at least recover our ancient documents.

Ship traffic and tracking

Sunday, November 8th, 2009

The Department of Product & Systems Design Engineering – University of the Aegean has a maritime tracking web site that is a Google mashup of ship collision avoidance data. This is AIS data (What is AIS?) That is collected by VHF receivers feeding a PC connected to the I’net. The software used is FOSS and handles the NMEA (same as often used for a GPS to PC connection) reports.

Since receivers connected to the I’net are rather difficult to arrange mid-ocean, the mashup is best for coastlines and port areas. The website has a lot of pictures to go with ship names and course or position information.

The Wikipedia entry on the Automatic Identification System notes that the International Maritime Organization has condemned the irresponsible publication of AIS data as a safety issue.