Search This Blog


Tuesday, April 12, 2016

CASAA: Vaping On a Plane...

From the "Call to Action"
[I am writing this in part because of the juxtaposition of being hammered in the CASAA Facebook forum for complaining about a commercial vaping ban while in the very same thread reading this call to action... but more on this in another post.  The other part of this is based on some conversations with vaperatti regarding how the vaping industry is ignoring the dangers of lithium ion batteries.]

In the link and image to the right we see CASAA pursuing the notion that, basically, vapes on planes are okay.

So let’s take a look at the technical aspects of this.

First off, as background I have spent the last several years involved professionally with the use of these very same types of batteries and corresponding electrical and software systems.  My background is in both electronics and software with a total of more than forty years of professional experience.

For part (a few years ago) of this I worked on the PrimusZ mod - a wireless bluetooth 60W box mod.  I also work professionally in other industries with these same batteries in a similar capacity.

I have designed and built successful charging systems as well as high output systems power systems (600W).

I have also been involved in vape shops and vaping both in retail and wholesale for the last several years.

Say what you want, criticize, make fun and laugh if you will but I know my around these types of batteries and the systems that use them (basically I’ve insured myself without a claim, designed built and sold systems (often to people who didn't possess the ability to understand what they were doing) without incident over the last several years - both on my own and with others in various organizations).

What follows is the short background of vaping, batteries and mods so that we can get to the real issue…

#1 - Vaping is very different than most lithium ion battery applications.  Why?  For one, generally these devices are looking to discharge the batteries at their maximal rate irrespective of battery safety while being fired.  In general most other types of systems are looking to have a longer-term, low rate battery discharge, e.g., a flashlight or robot.

Batteries are typically rated with a “C” indicating the maximum safe discharge rate for the battery - safe being the operative word here.  Typically this rating is something provided by a manufacturer.  

Vaping, particularly mechanical mods, basically looks to discharge a battery into the smallest possible load (very low ohms) in order to create the maximum amount of heat and hence vapor.  Typical coils may be rated at a .2 ohm value or less.

Ohms law says current (amps) is proportional to volts divided by ohms.  Thus a 7.2V dual 18650 battery set up yields about 36 amps into a .2 ohm load.  Watts, which is volts time amps, represents the apparent electrical power of a given circuit.  In this example 7.2 V x 36 amps = 259.2 watts.

A typical high powered LED (light emitting diode) application, as comparison, might consume one (1) amp for the same 7.2V and represents about 7.2 watts of power.

The difference here is that the LED device will burn much, much longer than the vape - less load, longer life.  This is because in this example the batteries are draining roughly 36 times slower for the LED application.

#2 - Lithium ion batteries are sensitive to discharge rate and temperature.  If I use a much lower ohm coil value, say  .05 ohms, I enter the territory where the battery is effectively shorted.  When this happens the batteries can do any number of bad things such as burn, explode, vent or over heat.  Similarly, heating a lithium ion battery above about 60C creates a similar internal state to a short - also resulting in a potential fire.

Batteries in a sealed compartment, e.g., mechanical mod, face a compounding of these problems.  The venting may increase pressure and temperature in the enclosed space of the mod's metal jacket creating a cascade of heating, additional venting,  and more pressure which in turn generates more heating, etc.

#3 - Most commercial mods have flawed or no safety systems.

In general all mechanical mods, from a battery perspective, are outright dangerous.  The reasons for this are many fold:  poor or no safety mechanism to prevent accidental discharge, non-vented tubes to hold batteries, and cases which efficiently transfer heat from the atomizer directly to the battery.

“Series” and “parallel” box mods with direct wiring and/or a MOSFET-style switch are basically the same as mechanicals in terms of battery safety with the possible exception of nonmetallic cases (which can melt instead of explode).

Neither mechanical or box mods generally support “short circuit” protection.

Most “closed” systems such as a Tesla Spyder or “Ego-type” battery rely on a sequence of button presses to turn the unit on and off.  In fact, the unit is always “on” and just draws a few micro amps (1/100,000ths of a amp) while waiting for you to pretend to turn it on.  The button pressing merely enables the devices ability to actually fire an atomizer.  Some of these systems can shut off on their own - but not all do.

Modern manufactured box mods typically have safety systems to prevent dead shorts for destroying the mod.  Those with internal computer chips typically support a sequence of button presses to turn the device on and off.

In general if you want to ensure a mod is actually powered off you must physically remove the batteries.

Most importantly nearly all mods require some active steps on the part of the user to ensure they cannot firing.  Usually by removing the atomizer and/or batteries.  In general users “forget” these steps.  Nearly every vaper I know has had, at least once, an bad mod/battery experience regardless of how careful they might be: smoking purse, smoking car, melting box mod, etc.

“Naked” 18650-style batteries can also be shorted out by metallic objects such as keys in a purse or pocket.

There are classes of batteries with safety systems to prevent shorts and fires but in general these are not favored by moders and vapers because the safety devices limit the power of the batteries.

#4 - Stored Energy 

So if you check wikipedia you will see that lithium ion batteries rate about equal to wood in terms of stored energy - gasoline, on the other hand, stores about fifty times more energy.

Wood's not dangerous?  So why are vape batteries?

Because the entire quantity of energy in the battery can be discharged in a very short time.  If you through an equal amount of wood into a very hot fire its energy will also be expended quickly - but only if you through it into a fire.  On its own or touching your keys in your pocket or purse it won't do anything - and that's the critical difference.

So what’s the bottom line?

Lithium ion batteries as used in vaping are, for the most part, accidents waiting to happen.  Items in a purse push the fire button on the Tesla Spider and the atomizer turns on and stays on until smoke starts coming out of the purse.  A mechanical thrown careless on a car seat turns on and burns the fabric. And so on…

My guess is that vapers, being former smokers, have an innate feel for things “catching fire.”  Certainly I do - my wife smoked for 40 years through four children - so you tend to catch things before they become problems.

Unfortunately, though, nothing I wrote above gives me or many others in the world faith that vaping devices and batteries are “safe” in the context of something like an airplane cargo compartment.

On the commercial side there are various processes and standards for lithium ion battery testing and safety.  Large shipping companies (like a UPS) have no problem shipping commercially certified batteries because such batteries have been reasonably tested to ensure A) there won’t be any accidental firing and B) are generally handled by a professional who knows to pack the batteries the right way, i.e., out of the device.  Generally batteries are removed from devices for shipping save for cell phones - in the case of cell phones enormous amounts of QA and testing address the general safety issue.

This is not true as far as any vaping devices I know of are concerned (except for some 18650-style mods).

So let’s now think about this from a safety perspective and not a vaping perspective.

If “Joe Random” puts his e-cig or mod in his checked baggage there is a significant chance that this device could fire unexpectedly - whether through jostling, vibration, coincidence, etc.  (This of course excludes physical damage during luggage handling, etc. which adds a whole additional dimension of potential problems.)

My professional view is that uncontrolled packing of vaping devices in airline, or for that matter any form of closed shipping container, luggage, baggage, container, or cargo hold is a very, very bad idea from the perspective of human safety.

When we built the PrimusZ - a system with two internal lithium ion batteries - we provided a mechanical pin/switch combination that physically disconnected the batteries from the rest of the device via a mechanical switch during shipping (remember, I am paying the insurance bills).  We shipped a few hundred around the country without incident.  Similarly, we never shipped a PrimusZ with an attached atomizer because we knew better.

All this for exactly the reasons outlined above: safety.

Can vaping devices be shipped safely?

In checked baggage where we rely on the “user” to do the right thing, i.e., pack it safely, I would say absolutely not.  I have seen far to many “near misses” in cars much less areas where a mistake would cause significant danger.

(This is not to say someone knowledgable couldn’t make things safe: removing batteries and placing them in “battery protector” separated from all metal, removing the atomizer, etc.)

Long ago I worked on flight systems and when you are involved with things like that you take safety far more seriously than your average vaper - particularly when you start to think about what might happen to your family if you make a mistake on the safety side and your family is riding on that plane.

Personally I don’t have a problem with empty (as in no batteries) mechanicals or box mods in checked baggage provided there is an independent (for example, a scanner at the airport) safety check to ensure that there are no batteries present in the baggage.  All batteries should, I think, be allowed in carry on where any evidence of smoke or heat can easily be detected and TSA folks can ensure they are package safely - that is on the floor and not in the overhead compartments.

But again, can we rely on “Joe Random” to take this seriously?

I doubt it.

So, at least in my professional opinion, this “Call to Action” is a very, very bad idea.

Safety in the sense of a battery fire on an airplane, ship or train is a far different matter than somebody annoying someone with their vape or “disrespecting” their right to ban them.

Given what I know I wouldn't want to be on a airplane with one these things in the cargo hold - not me, not my family, and not you.

Sunday, April 10, 2016

No More Chili's...

Yesterday "Vape" and I went to the local Chili's restaurant.  "Vape" has been vaping in this particular restaurant for over five years along with others.

But things have apparently changed.

A manager approached us and asked that we no longer vape inside the facility.  A sign had been posted out front (see image).

The sign is patently ridiculous.  There is a road and another parking lot within 50ft of this door.

In protest I submitted the following comment:

"Yesterday we were told we may no longer use or carry our vaping products in or within 50ft of your Chili’s restaurant in Pittsburgh, PA. The sign out front says “No Smoking or vapor cigarettes within 50ft of Entrance.”

Vaping uses these exact ingredients (propylene glycol, vegetable glycerin, food flavorings and nicotine) found virtually all food (nicotine, for example, is found in tomatoes).

Further, in your kitchens these same ingredients are heated, just like in “vapor cigarettes,” to create the smells which fill your facilities.

We are not smoking.  “Vapor cigarettes” are fully legal here and not restricted by law in any way here.  You cannot ban us from doing what you do utilizing these same ingredients similarly (by heating).

This is discrimination and an attack on our Constitutional rights of “liberty” and the “pursuit of happiness.”

We have been weekly customers for more than 30 years and spent $50,000 in that time for business and pleasure.  We will lose our rewards points.

I am very sad that your company has chosen this route and I plan to challenge what you have done and to make a public matter of this issue."

I generally don't even vape nicotine which makes this even more frustrating.

Sadly, we are no longer going to return.  We have many friends there including on the staff but there is little we can do.

We have noticed a disturbing pattern in other "chain" restaurants lately along these same lines.

I plan on pursuing the matter as best I can...

Thursday, April 7, 2016

Happy Birthday Honey, You’ve Been Sued!

(Why this is no longer the Facebook Page you thought it was…)

More than five years ago my wife Donna quit smoking and began vaping exclusively.  Soon after people started asking her what that “thing” was she was putting in her mouth and, not long after that, Donna started selling the old 808-style e-cigarettes out of her purse in bars.  Not to make money but to help other people stop smoking as well.

A few years later a company was born, a company which many thousands of you used to stop or keep from smoking cigarettes. During these same years I spent an enormous amount of time working on what was to become Vaping Advocacy - writing articles, blogging, attending meetings, and so on.  Many of you still see these things on Facebook today.

Donna and I invested a fortune in time and money.

Why?  My entire household (children, children’s spouses, friends, family) no longer smoked cigarettes: where there had been five or six smokers at the table for Sunday night dinner every week now there were none.

Thousands of customers stopped smoking, too.

Why invest a fortune?  Wouldn’t you to save the lives of the people you loved?

What’s the price of not seeing someone you love die of cancer?

In early January of this year, though, everything changed and the company our customers came to rely on was irrevocably changed…  We were closed for several days, products dwindled, things tumbled out of control.

And finally, as something you came to rely on that kept you from smoking was down for the count, came a lawsuit.  

We all know lawsuits are about one thing and one thing only: money.

Not about saving lives, not about seeing family members smoke free, not about any of that.

But Donna never gives up and from the ashes of what had gone before her new company has risen like a Phoenix from the ashes of the old.

This time around things are much, much harder, though.  The market has changed, the products have changed, the world has changed, we’ve lost inertia, regulations loom.

I don’t know what will happen or what the future will be.

We will struggle…

Maybe the FDA will win, or the State of Pennsylvania will tax vaping to death.

We’ll have to invest more to keep things going so I hope that you out there will come to Donna’s new shop and buy some of her products like her new e-juice.

As for me, I’ve been somewhat AWOL from the vaping and advocacy scenes for the last several months - mostly to take on a job to keep things going.

Now I am back and I hope to contribute much more on the Vaping Advocacy front.

Perhaps to release a Primus II.

In any case and whatever happens, Happy Birthday dear… I’m still here and I still love you!

Sunday, March 13, 2016

Sedol vs. AlphaGo - Is this really "fair" or an "AI"...?

Sedol is beaten multiple times by AlphaGo.

Is this really a fair contest?

Looking here we see that twenty or more people worked on AlphaGo (or at least got their name on the paper).

Sedol is an early-thirties profession Go player with a wife and child.  Even if he spent full time on Go for twenty years that would only be 40,000 or so hours of "learning" to become the (or one of the) best Go players in the world.

If each person on the AlphaGo paper spent two years working on the project (which has been around for at least three years) the would have at least as much time into it.  Plus they have presumably a nearly unlimited amount of compute and historical Go information to work from.

Despite all the hype AlphaGo can't do anything else.  Much like a mechanical baseball throwing device you find at a batting cage.  Neither can really do anything but what they were designed for.

Are they "intelligent?"

I don't think so... I recently got a new dog from the pet store perhaps nine months ago.  The dog has learned a lot: like how to go in and out the dog door, run around the property and come home, where and from whence the food comes from, many things.

While you could argue this is merely "mimicry" of what the other dogs do I think you'd be wrong.

The dog only consumes about 1/2 cup of food per day - no team of scientists to shepherd her along, no giant bay of cheap PC clones to process what other dogs have done over the years.  Nothing like that.

Then there is the question of "insight."  If we attached a logger to the AlphaGo processor we can record every single step in the processing it used to beat Sedol (except if the Monte Carlo sampling choice were truly random).  While there might be many computations involved its certainly a finite, closed list of steps.

Will we find "insight" there?


Perhaps there is insight on the part of the people who wrote the code - but the code is not writing itself.  AlphaGo is a simple machine programmed by clever individuals to accomplish one thing - beating the best human Go player.

The human coders also have decades of research to build upon - DeepBlue, Watson, and so forth.

Today Google and its might search engines are still fundamentally flawed: If I spend a lot of time searching for things I find dangerous or that I hate or never want to see again Google Ads happily displays these items to me every there is an opportunity.

On the other hand the dog generally knows if I am mad at her or just mad in general.

I think this is all really about sales: make it sound impressive and mysterious and people will buy it.

About thirty years ago I came up with the ultimate test for "AI."

At the time there was a program called "Prospector" often touted as "AI."

My thought was "ProctSpector" - an "AI" based proctologist that would perform a colonoscopy.

My gold standard of "turing test equivalent AI" was an AI researcher allowing him or her self to be examined (given a colonoscopy) by "ProctSpector."

(Of course, that would not necessarily really be "AI" either - but its certainly a lot more interesting than Go or chess.)

EDIT: QuantaMagazine:

Sunday, February 28, 2016

Debugging... (Part 1)

For a long time I have wondered why no one gives the process of debugging any serious academic credence.  Sure, there are lots of "proof" types around trying to prove that programs might be correct (if in fact the criteria for designing the program has no bugs), but really nothing I have seen in the last decade comes close to addressing "debugging."

By "debugging" I mean the process of correcting a program which performs in some way incorrectly.

So let's break this down:

For something to debug let's consider a basic Turing machine (see this for the Wikipedia description which works well for what I am about to describe).

The details, I think, are really not very important so long as the machine is logically consistent.

The key for this is the representation of a program (in this case a Turing machine program) as a set of tuples.  We can use the Wikipedia state table as an example (from Wikipedia):
Example: state table for the 3-state 2-symbol busy beaver reduced to 5-tuples
Current stateScanned symbolPrint symbolMove tapeFinal (i.e. next) state5-tuples
A01RB(A, 0, 1, R, B)
A11LC(A, 1, 1, L, C)
B01LA(B, 0, 1, L, A)
B11RB(B, 1, 1, R, B)
C01LB(C, 0, 1, L, B)
C11NH(C, 1, 1, N, H)
So what does this give us?

Really a simple set of data representing the operation of the Busy Beaver program (I don't think, at least for the moment, we really even care here what the program actually does):

{ S1, A, 0, 1, R, B }
{ S2, A, 1, 1, L, C}
{ S3, B, 0, 1, L , A }
{ S4, B, 1, 1, R, B }
{ S5, C, 0, 1, L, B }
{ S6, C, 1, 1, N, H }

S here uniquely identifies the row as a state.  Of course, we still need more:

Some kind of tape and head, for example.  Here we can consider a simple, infinitely extensible (in both directions) array of tuples:

{ H, Header n }
{ T1, Vn-1 }
{ T2, Vn }
{ T3, Vn + 1 }

In this case the location of the Turing machine head (tagged with H) is represented by tuple n (T tags tuple rows, V is the specific tape value).  We can insert new tuples as needed or move the "Header" by changing its value.  I think we really only care that the implementation is logically consistent with what Turing machines are supposed to do.

We also need to know the current state:

{ S, s }

Where s is the current state.

So given a description as above we can construct a representation of the operation of the Turing machine:

The Program part does not change:

Program = {
  { S1, A, 0, 1, R, B },
  { S2, A, 1, 1, L, C},
  { S3, B, 0, 1, L , A },
  { S4, B, 1, 1, R, B },
  { S5, C, 0, 1, L, B },
  { S6, C, 1, 1, N, H },

Operationally we only care about what things look like at each given step, or cycle.  So we can imagine a representation that looks something like this:

Operation = {
  { Cycle, 1,
    { S, s },
    { H, n },
    { T1, Vn-1 },
    { T2, Vn },
    { T3, Vn + 1 } },
  { Cycle, 2,
    { S, s },
    ... }

Each cycle of the machine appends new information to Operation.

Again, exactly how we represent this is unimportant.

So finally, when I say we are going to talk about debugging I am going to represent the problem of "debugging" as follows:

First, I have the expectation that there is some agreed and correct representation of Operation.  I may only be interested in some specific Cycle or Cycles that represent an "answer", I may be interested in an entire set of Operation Cycles, or I may be interested in whatever the pattern is so long as the machine does not Halt.

I require that I can represent the Cycle or Cycles with specific patterns, e.g., something like the following if I have a specific structure in mind.

 { Cycle, c,
    { S, s },
    { H, n },
    { T1, Vn-1 },
    { T2, Vn },
    { T3, Vn + 1 } },
   ... }

In this case I have an expected answer, say adding 2 + 2 so I would expect to see a specific pattern representing 4.  What that pattern is is not important.  What is important is that I can describe the resultant pattern unambiguously.

The pattern might represent all the Cycles, or only a subset (for example a program that repeats an answer over and over could potentially also be correct if I am only looking for the specific value represented by a pattern of Cycles.  The pattern might also be Operation = .  Here we use ∅ to represent unknown content, in this case Cycles, i.e., we don't know what the output of the program will be.

If I don't have a representation for Operation then I will say that instead of debugging a program I am writing (or creating a program).

We can think of writing a program as "debugging"  an empty Program = (equal to) ∅ if Operation =/= (not equal to)  ∅.  For Program we use ∅ to represent an unknown set states.

So to summarize there are four cases:

Program = ∅, Operation =  ∅ - We don't know what we are doing.

Program = ∅, Operation =/=  ∅ - We know what we want to see as output (at least at some point) but don't have a means to get there, i.e., we are writing a program from scratch.

Program =/= ∅, Operation =  ∅ - We don't know what the program we have will do.  We can likely enter the next case (below) by operating the program to create the situation where Operation =/=  ∅.

Program =/= ∅, Operation =/=  ∅ - We have a program and some data but we don't know if the two are coherent.  We use coherent to describe a state where we must, if we can, perform or check the operations to determine if what we see in Operation is actually the result of the Program.

We define "debugging" as aligning Program with Operation such that there is coherence between the two.

Note that if Operation is invalid or inconsistent we are no longer debugging the program but instead constructing a description of a programming result, i.e., effectively creating or repairing a specification for a Program.

Monday, December 28, 2015

Are Theranos and Holmes Really That "Out There?"

In the 1970's some quack from a company called RSI called me in my office at One Chase Manhattan Plaza.  I was involved in using Unix (from Bell Labs) for data and word processing work and we needed a database.

This "quack" had some "relational database" program for sale he'd written himself that ran under PDP-11 Unix that was based on a a document he had seen from IBM Research in San Jose about something called "System R."

Meanwhile I was taking a class in San Jose from two guys (Bob Epstein and Mark Hoffman) who worked for a company called Britton Lee that sold a relational database database machine.  I liked Hoffman and had some discussions about working with him and Epstein but I wasn't interested in living in California.

(In the 1970's IBM dominated the database world and there were only non-relational network "mainframe" databases.  They cost tens or hundreds of thousands of dollars and were intense, complex OS-360-based tools.  The database market was huge and totally non-relational.  No one, and I mean no one, believed that "relational" database operations could ever be as fast as network database operations.  It was considered heresy to even suggest it.)

The "quack" turned out to be Larry Elison.  

Hoffman and Epstein quit Britton Lee and started Sybase which contributed source code to Microsoft's (presumably for their SQL) and reached a billion in sales on its own.

Was this crew any different than Theranos and Holmes?

I think not... 

IBM was one of the biggest companies on the planet in the 1970's, network databases were all that there would ever be, OS 360 was the best operating system there ever would be (probably using CICS).

Would relational databases ever take over?

No way!!!!!

How would UNIX ever replace IBM?

We used to joke about it at Usenix conferences in Toronto Canada. 

"Ha ha, someday mainframes would run Unix" I remember joking with a guy named Mark Kreiger from a company called UniPress around 1978 or '79.  I eventually had a job working on fixing code Gosling had left behind at CMU.

But apparently some venture capitalists did believe.

And these companies where a great success.

How many failed along the way?  Probably too many to count.

How many billions of 2015 dollars were lost?


But in those days no one cried and blubbered like they do now.

The market decided who was a winner and who was not.

Instead the socialist WSJ tells us how bad Theranos is...

But, in fact, if their ideas are really good, they will win...

If not, someone will buy up the used junk, equipment and technology and use it for something else.