All posts by cs

office chair historian

It is a personal mission to discover and understand, validate and maintain family heritage.  A family tree is an obvious means and method. Civic ledger books and Church records are commonly used to validate the verbal recall of relatives during generational passdown. This printed historical documentation has been digitized and access enabled through personal computing.

An example is the military experience of family members who were engaged by World War. There are those who kept memories alive and told all; going so far as to write memoirs,  books, and reminisce at social reunion with others who also shared in the experience. They re-live those years which they consider to be an important part  (if not the highlight) of their lifetime.

Those family members that I knew who served, had vivid memories as well but there was a difference. They didn’t wish their lives to be defined by this particular event and in an effort to move on, their war stories were seldom a topic of casual conversation. Those of us eager to know “what it was like” gathered the anecdotal tidbits over time.

With the internet and the availability of declassified military reports it is now possible to the retrace events as a virtual itinerary.  This timeline validates the first person recount and adds clarification to bigger picture understanding.

yorktown war diary

Browsable portals such as the WWII Archives Foundation and this enthusiast collection contain reams of raw data.  The above view is a snapshot sample of a war diary of a naval warship observing the hour to hour defensive or offensive exploits in the Pacific Theatre.  Another example illustrates an Army Air Force sortie in Europe. This becomes especially interesting knowing that family relatives were involved during these recordings. Putting it altogether as a retelling the memory can be preserved.

charging etiquette

The more cars at the gas pumps in a filling station the lower the pressure. i.e. unleaded may flow more slowly due to reduced pressure.  A Tesla Supercharger station is similar but first — how the Supercharger Station is engineered:

  1. The utility transformers...
  2. The 480 Volt disconnect switches and circuit breakers...
  3. The charge controller cabinets. Each of these is as light beige in color, is about 24 inches wide, and has a large hooded cooling air duct in the back. Each Supercharger Cabinet contains 12, identical, modular chargers that are the same as the one or two chargers in an MS [model S]. The ones being installed currently can put out a total of 120 kW DC, shared between 2 charging stalls…
  4. The pedestals (arches) at each charging stall.The pedestals at each charging stall are fed by the Supercharger cabinets and are where you find that nice, big cable and connector to plug into your MS. They are usually numbered 1A/1B, 2A/2B, etc. The numbers indicate the Supercharger Cabinet used, and the letters denote the pair of stalls serviced by each cabinet. The usual layout is 1A, 2A, … 1B, 2B, … This means that adjacent stalls are on different Supercharger Cabinets. If you want to make sure that you are getting maximum charging power, try to make sure that the paired stall (e.g. 1A paired with 1B) is not in use. If both charging stalls are in use, then priority is given to the first car to arrive, and the second car to arrive gets what’s left over.

The takeaway here is that the 120kW charge rate is a perfect case situation. If others are on the same Teat your rate of flow will vary [lower].

the early adopters

Tesla Model S has a mid year production update which means that if you took delivery before X date your unit has been superseded by something better. This can be expected with any leading edge technology but has the tendency to upset the early adopters. Remember ordering your first Pentium PC only to see the Pentium II intro mere months later rendering your box obsolete? Or smart phone, or tablet or…

First production vehicles are limited to a 90kW rate of charge. These cars have “A” batteries. Word gets out that updated “B” batteries, with the bragging rights of a 120kW hour charging rate have been incorporated into production. Somewhat unfairly, Tesla led folks to misunderstand that the higher charge rate would be enjoyed by everyone after a routine Firmware Upgrade which turned out not to be the case. Suddenly everyone is on their knees to look at the underbelly of their pride and joy to glimpse a factory VIN label battery_model_VIN_example proclaiming which batteries are installed with hopes that it will say “B”. Some are disappointed. Others find both letters mix and matched. Evidently there may have been a 4 month span when the new batter was ready but there were plenty of the “A” batteries still in inventory. Unfortunately those folks are also limited to the lower standard. Some people have newer car VINs with older style and some owners older VINs with the newer type leading to additional bewilderment.

This charge rate thing is meaningful. If you’ve spent luxury car money and your available time has considerable value, your wait at the charging station is measurable. The higher charge rate ability will get you back on the road perhaps 5-10 minutes before the Tesla owner with the lower limit. He might be left grumbling as you both pit stop and you are able to speed away first. This is a new world to understand. Those of us still consuming petrol don’t give a second thought to refueling. The Tesla owner when away from home base will strive to locate and use a Tesla SuperCharger location and by the way, Tesla’s deal is to provide a network of stations and make the energy available without cost to driver (as in FREE).

It becomes an interesting study in behavior as those first in line to buy the new car must have known that the original design, as wonderful as it is, was bound to be improved upon and enhanced over time.

episode with git

A key piece to web developer modernization is a scheme called GIT which allows synchronization of files and versioning control. Further, one can easily invite collaborators to join in on a project or fork to their own. FTP gone social.

There is a learning curve. There isn’t a user friendly face on GIT. All interaction is via the command line. A new language with artful terms such as Branch, Merge, Add, Commit, Push, and Pull to understand along with esoteric switch options: e.g. -a -u -m

It can be simple or complex. Unfortunately I blundered into the latter by creating several local repositories. One of which was innocently placed downstream of a root repository thereby creating a submodule. I had no idea what I had done apart from the realization that I was no longer able to modify the contents of this submodule from within the main project. In laymans terms; it was screwed up. Simple to implement but so difficult to undo.

A search result offered instructions to eliminate a submodule reference with all sorts of caveats and cautions.

I eventually made a draconian choice and abandoned my local directory tree structure by emptying the files. The submodule became its own repository after I split it off from the root but kept the original files. Its git tracking was undisturbed. In the root repository it was hoped that a simple Clone from the remote would restore all but this didn’t pan out. The remote was linked to deleted files in the old structure and *new* copied files refused to be tracked. A fresh local directory with a new name was established in order to begin again.

While learning the complexities (the hard way), I plan to “keep it simple” going forward.

Heroku and mysqli

Giving Heroku another try, it was straight forward to deploy a php app / mysql database. The routine is similar to the OpenShift PaaS and Heroku is not much different using the CLI as well. Console functionality is barebones.

My test app bombed during its maiden run however with a fatal error: Class ‘mysqli’ not found in /app/www/db.php on line 5. I learn that the mysql_connect() syntax in php is old hat and myslqi is to be encouraged instead. The old way works fine on Heroku but for some reason mysqli syntax has not been configured — and my app is peppered with mysqli.

Thanks to this search result, what one does  is to configure Heroku to use a custom buildpack (see below).

1
heroku config:set BUILDPACK_URL=https://github.com/travstoll/heroku-buildpack-php

Then create an empty commit and push the app again to force heroku to recompile the runtime:

1
2
3
git commit --allow-empty -m "empty commit"
git push heroku master

That worked and my app is restored without recoding.

Modernization

S’man advises that using a traditional hosting service to render web pages is passe. Not wanting to be eclipsed by new technology I followed his encouraging to advance. Aided by online postings, hints, and narratives one can learn the new jargon and implement the latest in cloud computing methods.

OUT

IN

There are many solutions offerings. I discounted Google App Engine off the bat because their implementation is a bit arcane. Ditto the Amazon Elastic Compute Cloud. Heroku was limited in their programing language offerings. AppFog looked promising with a generous CPU allotment but their console system behavior was discouraging. OpenShift by Red Hat however, seems like a winner with excellent documentation and performance. Beware: Most PaaS(s) rely on the Command Line Interface but as the concept matures; user friendly interfaces will develop.  App templates are currently provided for common setups but fine tuning requires knowledge of the command line.

A domain name is furnished with each app that you build on OpenShift. The domain that you are viewing currently is actually: wordpress-strombotne.rhcloud.com/ It is possible to use a CNAME record to point to that URL with one more personalized i.e. the sub-domain  blog.strombotne.com One uses their domain name registrar for this purpose and this is fine. However, a weakness that I’ve discovered is in using a naked domain, e.g. strombotne.com for an OpenShift app. Here’s where it becomes a bit wonky.  You can’t use CNAME with a domain name but typically use an A record resource with an IP number. The OpenShift DNS is limited as one isn’t provided. The fix is to try Domain Forwarding and Masking — a band-aid.

 

 

… and after

1-IMG_6165The fuel sending unit cleaned up nicely. An overnight solvent bath dissolved away the crud and freed the shaft. Unfortunately, the acetone melted the insulator spacers on the terminal posts. I sourced substitutes made of nylon to replace them.

A partial disassembly revealed  the innards and some fine wire too delicate to probe further. But it is interesting to see how it operates. I borrowed a multi-meter for an operational check and it appears serviceable.  The cork gasket which seals the underside of the sending unit attachment flange to the tank is too far gone to serve as a template so I will trace a pattern on paper. Hopefully all of this will seal properly without seepage or weepage when installed.

Fuel Sending Unit

1-IMG_6157Unearthed from the fuel tank, this piece looks like it has been salvaged from the sea floor. It is (or was) the business end of the fuel sending unit. The metal rod, partially in view, is connected to a plastic float at the extreme end. This float will bob up or down and mechanically position the arm as the fuel level changes. That pivot point, behind the gruesome mess, is locked up solid. I will attempt to chip away the corrosion and free the shaft.  Peering into the tank itself revealed no similar horrors.  Plenty of debris and rust but no stalactites or stalagmites artefacts.  It will need to be boiled out.

Value Added

20130921-141315.jpg A professional restorer would be delighted to find these markings. Scribbled  50 years ago by a factory worker; they served as a production note during assembly. The markings have been accidentally preserved by a patina of dirt and petroleum grime. Best I can tell the red painted notation was applied when the tank was stockpiled as it displays upside down as installed. There are other remnant yellow dabs of paint here or there.  A simple brush stroke that indicates that a fitting was checked for tightness or inspected in some way. These original markings will be lost when the tank is rejuvenated with a fresh black protective coat and that is one of the issues with restoration: originality is lost.  It sounds anal, but a dedicated restorer would document these glyphics* and, following the refurbish ,  take steps to re-create them just as they were, thus preserving authenticity.

* guess translation is that ” 128 CA” meant that this fuel tank was intended for a particular application and is shorthand for W128 an internal factory designator for this production series. I can speculate that “CA” is short for Cabriolet.

Progress means stamped numbers and barcodes are applied which can be  scanned and tracked like a parcel  or airline luggage. Just as well — in case we can’t read his writing.

A Smoking Gun

20130920-154745.jpgTank Drain Plug: fuel screen clogged with varnish

20130920-154759.jpgTank Drain Plug: fuel screen cleaned and restored

This is a pre-filter. It is intended to protect the fuel pump and fuel lines from large debris — trash that might have fallen into the tank during refueling. There is a baffle in the lower part of the tank, a false floor, creating a collector. The plug has dual threads. The top set of threads seals against the bottom of the main container. Fuel enters the screen and exits an orifice (below the top set of threads) and into the collector area. Fuel is drawn from the collector by pump.

Ageing gasoline eventually  blocked this screen effectively choking any and all fuel flow. And, this is the reason why the engine ceased running. Its discovery was an ah hah moment.