Airbus A330 Unsafe to Fly

June 29th, 2009

The NTSB is investigating 2 more recent Airbus A330 incidents similar to that of the Air France A330 that crashed on June 1. And there will be a lot more as they go back in time to other incidents.

Looks like the Airbus A330 needs to be decertified until Airbus can demonstrate:

  1. that the flight computer system works reliably in various meteorological conditions, including icing and rain. Also, an independent, electrically-powered, non-software-based attitude indicator should be required if it isn’t already.
  2. that a reset of the flight computer system can be performed in a bounded amount of time both on the ground and in the air (like 2 minutes). Currently rebooting the computers takes around 5 minutes on the ground from what I’ve read, and that or longer in the air (if even possible - it was not in the Northwest flight.)
  3. that human pilots can actually regain control of the aircraft in an instantaneous and positive way without being locked out and asking, “What is the flight computer doing now?”

Why decertification? Because the paying and mostly uninformed passenger relies on the airlines to provide safe airliners, which the A330 is not if there’s anything but blue skies.

I have recommended to my friends not to fly the A330 until is fixed.

On the West Coast, Southwest Airlines only operates 737s, so that is a good choice.

NTSB Chases New Leads in Air France Flight 447 Crash Probe
timesonline.com: Airbus could be asked to ground all long-range airliners

Indonesia Craves the Blackberry

June 8th, 2009

BlackberryThe Blackberry cell phone has rocketed in popularity in Indonesia in the past few months, from fairly obscure to a “must have.”

The 4 reasons are: new, affordable data plans, Yahoo Messenger and FaceBook support, and a camera.

GSM/Edge data plans have been available for years in Indonesia, though somewhat expensive per KB, flaky and with an odd signup process (find out the right sms address and send a couple requests to it and wait.)

Now cell providers are promoting all-you-can-eat data plans at 5000 Rp/day (50 cents per day).

Indonesia is a huge cell phone market, about the same population as the USA. Less than 1% of households have Internet access, although many employees now have it at work.

The only thing holding back Blackberry penetration is purchase price. Phones are not subsidized with long-term contracts as in the West, so they’re retail priced at $350-$600 each.

All of my friends there have asked me how much a Blackberry is in the USA. It’s priceless to see their expression when I say, “free with a service contract.” :)

cnet.com: A more streamlined Facebook for BlackBerry
CHART OF THE DAY: Apple, RIM Swallow Mobile Industry Profits (AAPL, RIMM)

SVLUG: The Parrot Virtual Machine, Allison Randal

June 3rd, 2009

Allison Randal gave an overview of the Parrot Virtual Machine, plus delved into the syntactic details of the PIR assembly language for the virtual machine. (around 1200 opcodes.)

Parrot is a virtual machine aimed at running all dynamic languages.

She’s the chief architect for the Parrot project, and is also the author of the Python port to Parrot, Pynie. Apparently the Python maintainers are happy to have help with language backend support.

Allison said that perhaps 50 dynamic languages are in some process of being ported to Parrot. Often they run up to 10x faster on Parrot than the original implementation.

One member said he knew of a commercial project that used Parrot as the language VM when the underlying chip or OS became obsolete and they needed to port to a more modern system.

PIR source is actually run through flex and yacc.

This was her third talk on Parrot in the Bay Area recently. They’re organized around her business meetings for the O’Reilly Open Source Convention, to be held in July in San Jose.

Besides working for O’Reilly Media, she is also working on her Ph.D. computer science at Bristol University in the UK.

Thanks again to Symantec for hosting SVLUG meetings.

Long Weekend in Hawaii

May 25th, 2009

I had a relaxing long weekend in Honolulu. It’s nice to have a change of scenery periodically.

It was fairly quiet in Waikiki, as Japanese tourists are still afraid of the swine flu and mainland Americans do the “staycation”. Both the flight on Hawaiian Airlines and the room at the Continental Surf Hotel were quite inexpensive.

I went on a short airplane flight with a female instructor at Flight School Hawaii in a Cessna 172SP.

Blue skies, Kona winds, practise area, a couple landings at Kalaeloa Airport (formerly called Barbers Point), back to HNL 22L.

The 172SP was beautiful except for 1 interesting problem. The magnetic compass had leaked into the Garmin 430 GPS, ruining most of the LCD display. D’oh!

Otherwise I hung out in the hotel or walked on Waikiki beach (quite humid even at night.)

The huge abandoned CompUSA superstore on Ala Moana is still empty, 2 years later.

Duke’s Waikiki was 100% full at dinner time, prolly the only crowded place I saw.

The street performers were even more varied than last time. I hadn’t seen the steel drums performer or magician before.

The Continental Surf Hotel is pretty basic. It has medium-sized rooms with AC and basic cable, coin laundry, a cursory gym (3 cardio machines and a universal machine, no free weights, in a too-small room), and a jumbo flat screen TV in the lobby tuned to a sports channel. Some people rent rooms monthly. There are only 2 small elevators, so if one broke, that could be a problem. Nice view on the roof of Waikiki and Diamondhead.

cessnaowner.org: Rebuilding a Compass

Congrats on Yahoo Messenger Improvements

May 16th, 2009

Yahoo! LogoCongratulations to the Yahoo! Messenger programmers on the major improvements to the Windows and Blackberry client chat programs.

The Windows messenger client Build 9.0.0.2152 no longer leaks handles, although it still uses about 3x the memory and handles (User and GDI objects) of the Skype chat client. (I wonder if the Yahoo! programmers just fixed the old leaks, or used a new framework that doesn’t leak?)

The Blackberry messenger client (the official RIM download) has a lot more features, and remembers previous sessions when disconnected.

It is still missing a way to email or cut-and-paste a full chat session, and still doesn’t try hard enough to reconnect after entering a tunnel, for example. I used to have to pull the battery from my phone weekly to do a hard reset, but not any more.

Yahoo Messenger Emoticons Leak Like a Sieve (2006)

useful memcached patches and links

May 7th, 2009

Various memcached links …

Facebook memcached
waffle: raise MEMCACHED_MAX_BUFFER to 16500
Memcached as a L2 Cache for Innodb - The Waffle Grid Project
Perrin on memcached vs. local files or mmap
Microsoft Velocity cache (memcached clone)

Using oprofile with the MySQL Server

April 29th, 2009

Monty Taylor from MySQL Consulting gave a Percona Performance Conference talk on using oprofile, the linux kernel profiler, to diagnose MySQL server performance issues.

Installing oprofile requires the oprofile package (yum install oprofile), and optionally /boot/vmlinux for kernel symbols.

I was surprised at how useful and easy it was to get useful info out of oprofile, in his examples regarding memory allocation and type conversion performance problems (typical with newbie PHP applications.)

You can do near real-time mysqld library profiling with commands like:

# opcontrol --start --no-vmlinux
# watch -n 1 "opcontrol --dump && opreport -l mysqld | head -30 ; opcontrol --reset"
# opcontrol -h

Here is an example of a table scan on a MyISAM table on a busy production box, with the terminal display updated once per second:

samples % symbol name
1182 15.4753 _mi_rec_unpack
795 10.4085 my_hash_sort_simple
671 8.7850 my_strnncollsp_simple

Note that was 1,182 calls to _mi_rec_unpack per second!

oprofile does add load to a server, but that should be ok even on a fairly busy server. opcontrol loads a kernel module, so there is a small possibility it could crash the kernel.

Below are two useful IBM Developerworks links to advanced oprofile techniques related to scheduling performance:

IBM Developerworks: Using oprofile to profile L2 data cache misses
IBM Developerworks: OProfile analysis: Branch misprediction

Another powerful profiling tool is Sun’s DTrace. Most MySQL DTrace users are using Apple Mac OS X 10.5, less so Solaris. MySQL 5.4 and MySQL 6.0 include about 60 pre-defined static DTrace probes in the source.

wikipedia: DTrace

User Group: BayPIGgies (Python)

March 26th, 2009

A handful of speakers gave very interesting presentations at BayPIGgies (Silicon Valley-San Francisco Bay Area Python Interest Group).

It was like a set of lightning talks - only longer.

There was a quick talk on Big O notation, and how to characterize python arrays and sets. I am suspicious of performance talks without benchmarks, though.

Sandrine Ribeau gave a talk on pylint, which is a lint/coding standards checker for python source code.

Although PyChecker still does a better job of general python lint checking, pylint can be used to check for things like function naming conventions, etc. using a site-specific checker module.

pylint can be configured to ignore specified warnings or errors, and also overridden from the command line.

Somebody gave a talk on doing log and log-like processing using Unix pipes, similar to how Yahoo does it. Generally they are faster and have more predictable resource requirements than MySQL, for example.

One interesting technique is to use the sort -T option to assign temporary files to different drives than your input data or output file.

Drew Perttula gave a talk and demo about kcachegrind, as well as supporting tools for measuring performance of python code, including a module call graph display tool that creates png graphs using the dot program.

It was an impressive demo, and though kcachegrind was not written with python in mind, the display still made sense.

Simeon Franklin talked about his environment setup to improve web development and release workflow using virtualenv (managing python development environments), pip (an easy_install replacement that works with virtualenv environments), and fabric (a python tool for scripting server deployment tasks).

It was very slick.

In a nutshell, the practical problem that web developers face nowadays is how to create sandboxes for multiple versions of python and web CMS systems, then periodically install them on remote servers.

Sandboxes are needed because by default, python modules are installed silently and globally. By installing instead to a sandbox, you can isolate which modules got installed, and where.

fabric, the remote installation tool, is kind of like a cross between make and Expect, except written in python and focused on installation.

fabric has 15 statements to allow running local and remote commands, authentication and copying of files. So you can build a local distro, login to a remote server, upload the distro, and run installation commands, all automatically.

Commonly fabric is used to install static and program files, do database schema updates, and restart web servers.

Thanks to Symantec for hosting the event tonite.

While passing Moffett Airfield I happened to see a big, white zeppelin owned by Airship Ventures.

cnet.com: A 21st-century zeppelin flies to San Francisco
avweb.com: Zeppelin Startup Struggles As Economy Sinks