Marketing Genius

Over the past couple of months, in stolen moments and late night coding sessions, I’ve quietly been inventing a little piece of ham radio gear intended to facilitate using one’s radio remotely.

I thought it would be a good way to try my hand at designing a useful product, from start to finish, including complete documentation, packaging, etc.

I posted about it to a few ham radio forums and it turned out nobody was interested, so instead of making a product, I’m just throwing it up on github for people to ignore forever.

I’m no marketing genius.



Rigminder 2017-2017 RIP

Cold Turkey

This morning, I started my regular morning ritual as usual. I got up, complained about my back, put bread in the toaster, water in the kettle, and then went to my phone to see what’s happening.

Except that last thing didn’t work. Facebook wouldn’t load.

Why? Because my better half convinced me that it was time to take a Face-cation. Last night we logged into our accounts and let each other change our passwords. As a result, we are unable to access our own accounts, locked in a pact of mutual Facebook stasis.

I can say, that several times already today I have pretty much instinctually opened a tab to read FB. In my browser, just typing the first letter ‘f’ is all it takes to open that page. Each time I’ve been greeted by a password prompt. Poor me.

Well, if FB is my heroin, let this plug be my methadone. We’ll see how that goes.

How long until this nightmare is over?

I’m tired of this president already. What an awful combination of idiocy and cunning. To wit, just today from the Moron in Chief’s mouth:

This is more work than in my previous life. I thought it would be easier.


Anyway, in anticipation of never having to hear about Trump every again, I wrote another little Chrome plugin yesterday. It tells you how many days until this is all over.

You can get it here: Trump Time Remaining

Normally, it’s just a little icon that tells you how much of Trump’s term remains. Here is it set to percent:

If you click on that icon, you get some more information:

That’s really all there is to it. You can change your reference date (election or inauguration) and you can adjust the expected number of terms (please, G-d, let it be just one), and you can change what is shown in the icon: days remaining, days passed, etc. Note that icons can only reliably show three digits, and we have more than 1300 days left, so days remaining may not work nicely in the icon on your computer.

So, how long until this nightmare ends? Well, 1362 days, give or day. Now you know.


Musings on success

Traveling back to my native New Jersey usually casts me into a bit of melancholia, and this trip was no different. I guess it’s cliche, but visiting the place of my boyhood makes me want to mark my actual life against the plans I had for it back then. Unsurprisingly, they’re not very similar.

That caused me to further ponder my working definition of “success,” which, perhaps due to an extended soak in Silicon Valley, involves a lot of career advancement and lots of money (or at least a house with an upstairs), maybe inventing something appreciated by millions. However, I left SV because I wanted to work on energy policy be able to say that when it mattered I did something to measurably reduce climate change. So far at least, so much for any of that.

While doing this pondering, two people I knew while growing up kept persistently popping into mind. Both were Scoutmasters from my Boy Scouting days. David Millison was my Scoutmaster when I started Scouting in Troop 7 in Fairfield, NJ. George Berisso was my Scoutmaster in Troop 9 in Caldwell.

I met Dave when I was a wee one, just starting in Scouting. As he told the story, his initial involvement in Scouting leadership was pure coincidence. The local troop was looking to borrow a canoe and he had one. That somehow snowballed into running Troop 7 for 46 years and influencing the lives of hundreds of boys. Dave was the person who first planted in me the seeds of outdoor adventure. He talked in excited tones about Philmont, the scout ranch in the Sangre De Cristo mountains of New Mexico. One of the most profound things I learned from Dave is that discomfort can simply be set aside when necessary. You might be camping in the rain, your tent and sleeping bag soggy, eating cold oatmeal with no fire to warm you. No matter — you can still enjoy fellowship and adventure in such circumstances. You’ll be home to a hot shower in a day or two, so why not decide to carry on and have fun? I can’t say I always live that way, but I try to. Dave also was the master of situational ethics, encouraging us to carefully consider the ethical implications of the most trivial decisions. Are you going to tell the waiter he forgot to put your soda on the bill? Should you let your friend hold your place in line? I still wonder about some of these questions 30 years later.

Mr. Berisso taught AP Biology in my high school and sponsored our Environmental Protection Club. He also ran the troop I was in when I completed my Eagle. He was a demanding teacher and expected students to think carefully and to be skeptical and analytical. As an adult now, I am not quite certain how he could devote so much energy to his day job (science education) and still have energy left over for his family and extracurriculars like scouting. Mr. Berisso was the Scoutmaster who eventually took me to Philmont. Once, when was 17, I think, and rather advanced in Scouting, I did something that should have gotten me kicked out of Boy Scouts for good. Mr. Berisso did kick me out, but provided a path for me to be reinstated. He turned my stupidity into a character building lesson.

I don’t think either of these men were huge successes by the measures mentioned above. They didn’t have fancy cars or big houses or powerful positions. But they were exceedingly successful in other ways, which I now see are just as important, if not more so. They were well respected and appreciated by their communities and loved by their families. Furthermore, they both made indelible marks on hundreds, maybe thousands of young people. I don’t think anyone who knew either man will ever forget him.

It is very sad that both Dave and Mr. Berisso have passed away. I want to introduce them to my family, and to tell them what profound impacts they had on me as examples of character and service. It angers me that I cannot do this. Nevertheless, remembering them helps me to recalibrate my notion of success. I hope I can one day be half as successful as either of them.

Nostalgia: Airspace Edition. The end of the road for VORs

The FAA is in the process of redesigning the Class B airspace around SFO airport, and it signals an interesting  shift in air navigation: the requirement that everyone in the airspace be able to navigate by means of GPS.

They are undertaking the redesign primarily to make flying around SFO quieter and more fuel efficient. The new shape will allow steeper descents at or near “flight idle” — meaning the planes can just sort of glide in, burning less gas and making less noise. As a side benefit, they will be able to raise the bottom of the airspace in certain places so that it is easier for aircraft not going to SFO to operate underneath.

As far as I’m concerned, that’s all good, but I noticed something interesting about the new and old design. Here’s the old design:

This picture, or one like it, will be familiar to most pilots. It’s a bunch of concentric circles with lines radiating out from it, dividing it into sectored rings. The numbers represent the top and bottom of those sections, in hundreds of feet. This is the classic “inverted wedding cake” of a Class B airspace. In 3D, it looks something like this, but more complicated.

This design was based around the VOR, a radio navigation system, that could tell you what azimuth (radial) you are relative to a fixed station, such as the VOR transmitter on the field at SFO. A second system, usually coupled with a VOR, called DME, allows you to know your distance from the station. Together, you can know your exact position, but because of this “polar coordinate” way of knowing your position, designs intended to be flown by VOR+DME tend to be made of slices and sectors of circles.

The new proposed design does away with this entirely.

Basically, they just drew lines any which way, wherever it made sense. This map is almost un-navigable by VOR and DME. It takes a lot of knob twisting and fiddling to establish your exact position if it is not based on an arc or radial. Basically, this map is intended for aircraft with GPS.

All of this is well and good, I guess. GPS has been ubiquitous in every phone, every iPad and every pilot’s flight bag for a long time.

I learned to fly in a transitional era, when GPS existed, but the aircraft mostly had 2 VOR receivers and a DME. My flight instructor would never have let me use a GPS as a mean of primary navigation. Sure, for help, but I needed to be able to steer the plane without it, because the only “legal” navigation system in the plane were the VORs. I still feel a bit guilty when I just punch up “direct to” in my GPS and follow the purple line. It feels like cheating.

But it’s not, I guess. Time marches on. Today, new aircraft all have built-in GPS, but a lot of older ones don’t. And if they’re going to fly under the SFO Class B airspace, they’re going to need to use one of those iPads to know where they are relative to those airspace boundaries. And strictly, speaking, they probably should get panel-mounted GPS as well.



Nixon was right


When the president does it, that means that it’s not illegal.

Like most Americans, I’m familiar with this infamous quote, from a Nixon interview with David Frost in 1977. I always considered it an example of the maniacal hubris of Richard Nixon.

The thing is, I’ve come to understand that, at least from an functional standpoint, it is basically true.

What happens if the president breaks the law? Well, he might use his executive powers to direct law enforcement not to pursue it. But if he didn’t, presumably, he could be brought up on charges and a court could find him guilty. If it were a federal crime, he could just pardon himself, but if not, I guess he could even go to jail.

But, can he lose the presidency over a crime?

It seems, not directly. As far as I can tell — and I hope legal types will educate me — the Constitution contains precisely two ways to get rid of a president:

  • an election
  • impeachment

Both of these are obviously political processes. There’s certainly nothing there saying that if you commit a crime of type “X”, you’re out.

Conventional wisdom expects that if the president does something even moderately unsavory, political pressure will force the House of Representatives to impeach him. I would have taken comfort in that up until a few months ago, but now … not so much.

Today’s House of Representatives is highly polarized, and the party in power (by a ratio of 240 / 193) is poised to make great strides towards realizing its long-held agenda. Would they let a little unlawful presidential activity get in the way of that? I don’t think so.

What if their own constituents don’t care about a president breaking some laws that they think are pointless or unjust? Let’s say Trump’s tax returns show up on Wikileaks, and forensic accountants come up with evidence of tax fraud. Are we sure voters will not see that as a mark of genius?

Congress will move to impeach if and when the pressure from that activity gets in the way of their agenda, and not before. That time could, in theory, never come.

I’m afraid that people holding their breath for an impeachment based on the emoluments clause may pass out waiting.

Donald Trump once said this:

Also, probably one of DT’s more truthful statements. (Though my legal team informs me that murder is not a federal crime, so he would not be able to self-pardon.)


ATIS in your kitchen

One ritual that every pilot observes before launching into the wild blue yonder (or dark gray muck) is tuning in the Automated Terminal Information Service, or ATIS. The ATIS is a recording, usually updated hourly, that contains a very terse version of the current weather and anything else new that pilots need to know.

ATIS is not the first weather information a pilot will hear before flying. In fact, it is more likely to be the last, after she has gotten a complete legal weather briefing (14 CFR 91.103), but before taking off. Pilots also listen to the ATIS at an airport at which they intend to land.

A similar system, called AWOS (Automated Weather Observation System) is like ATIS, except that it usually only carries the weather (no other info) and always sounds like a robot.

As it turns out, I have a doohickey in my home that 1) can connect to the Internet to get the weather and 2) sounds like a robot. I thought, maybe it would be fun to write an app that simulates ATIS on an Amazon Echo.

Well, here it is.

This is a rather straightforward Alexa Skill. A user specifies the airport of interest by using its four-letter ICAO identifier. Standard ICAO phonetics are supported. (alpha, bravo, charlie, …)

For example, Chicago O’Hare’s IATA code is ORD, but its complete ICAO code is KORD. You could say:

Alexa, ask airport weather to get kilo oscar romeo delta.

And it would read you the weather in Chicago. The skill also knows the names of many (but by no means all) airports, too, so you can specify an airport that way, too. And if you give only three letters (like an IATA code rather than an ICAO airport identifier), it will try to fill in that fourth letter if you. For European users, you can get the visibility and altimeter settings in metric format.

A few details of the skill:

  • written in node.js
  • Uses the Alexa Skills Kit API — Amazon handles all the voice stuff
  • Runs as a function in AWS Lambda
  • Accesses weather data from ADDS.
  • Stores user preferences in an AWS DynamoDB (a Mongo-like database thingy)
  • Caches weather info from ADDS for up to 5 minutes to reduce load on ADDS
  • Whole thing runs in the AWS “Free tier” — which is important, as I’m not going to spend money to host a free app.

One of the more fun aspects of the project was getting to maximal verisimilitude. The ADDS weather source actually provides a METAR, which has a lot of the same information as does the ATIS, but it’s not entirely the same in form or content, so I had to do some translation and adjustment. For example, wind directions in METARs are true-north references, but in ATIS, they are magnetic-north referenced. In Northern California, where I live, that’s a 16.5° difference — not trivial. The program makes the adjustment based on the location of the airport and calculations from the World Magnetic Model.

So this METAR


 There is even code there to try to get the pauses and pacing to be realistic.

Anyway, code is not the cleanest thing I ever did. Such is the case when things start as personal hacks and turn into “sofware.” Check it out on github.

More instructions here:

Update: Since coding this skill, I have added the Terminal Area Forecast (TAF) capability as well. Just as for the forecast.

The end of computing as a hobby?

I grew up with computers. We got our first machine, an Atari 800, when I was only 8 or 9. An 8-bitter with hardware sprites. 48 KiB of memory, and a cassette tape trive, this was only one step removed from the Atari 2600 game console. Very nearly useless, this was a machine for enthusiasts and hobbyists.

Over time, computers became less useless, as well as more “user-friendly,” but they — particularly the PC style machines — kept the doors open to hobbyists and tinkerers.

The Bad News

I think, however, that that era has come to an end, and I’m saddened. I see three basic trends that have killed it.

The first is that the network-connected world is dangerous. You can’t just fire up any old executable you find on the Internet in order to see what it does. It might do something Awful.

The second is that the closed ecosystem app stores of the world, aiming for a super smooth experience, have raised the quality bar for participation — particularly for “polish.” You simply cannot publish ugly, but highly functional software today.

The third problem is that you can’t make interesting software today without interacting with several systems in the cloud. Your app, hosted on a server, talks to a database, another app, and a half dozen other APIs: a link shortener, a video encoder, etc. And these APIs change constantly. There is no commitment to backward compatibility — something that was an iron-clad requirement of the PC era.

Trend one is a painful fact of life. Trend two could be reversed if the manufacturers had any incentive to do so. They do not. Trend three, I think is the worse, because it is wholly unnecessary. Say what you want about the “Wintel duopoly,” but they did not punish developers like modern companies do.

Together, these things pretty much lock out the casual developer. I’ve learned this the hard way as I try to push forward in my free time with a few open-source apps in a post PC world. It is one thing for a paid programmer to maintain a piece of software and deal, however grudgingly, with every email that comes from Google telling you that you need to update your code, again. But the hobbyist who wrote something cool for his friends, that worked for six months and then broke, is kind of stuck. Does he want to run a zero-revenue company that “supports” his app in perpetuity?

This makes me sad, because I wonder what we’re missing. As many of your know, I have gotten into ham radio. There’s a lot of cool ham-authored software out there. It’s ugly. It’s clunky. But some of it does amazing things, like implement modems that forward-error-correct a message and then put it into a ridiculously narrow signal that can reach around the world. Today, that software still runs on Windows, usually coded against the old Win32 or even Win16 libraries. It gets passed around in zip files and people run unsigned executables without installers. It’s the last hacky platform standing, but not for long.

The Good News

Of course, if the PC, Mac, i-device, and household gadget becomes more and more locked off, there is an exciting antidote: Arduino, Raspberry Pi, Beaglebone, and the entire maker world. People are building cool stuff. It’s cheap, it’s fun, and the barriers to entry, though intellectually a bit higher than the “PC” are pretty damn low. Furthermore, the ecosystems around these products are refreshingly chaotic and more than slightly anti-corporate.

One of the nice things about this platforms is that they are self-contained and so pose little threat to data other than what you put on them. On the other hand, they are full-fledged computer and are as exploitable as any other.

If you make something cool that runs on a Raspberry Pi, there’s still pretty little chance every kid at school will soon have it and run it, but then again, maybe there never was.


Taking things personally

I’m not thrilled with the outcome of this election. I believe Trump will harm America’s interests, its ideals, its place in the world, and many of its people. Many people who voted for him, who are suffering now, will receive no promised relief, and many new people will likely be immiserated. It’s bad, very bad.

But I’m almost embarrassed to say that there is another, more personal reason I detest Trump: his absolute disdain for professionals, facts, and details, for consideration of others’ interests, for a qualitative and quantitative weighing of costs and benefits to various winners and losers. In short: he is a policy anti-analyst, and people love him for it. I am a policy analyst, and his type are my natural enemy.

I have a degree from an institution who’s motto is “Speaking Truth to Power.” I hold that motto dear, as I do the hope that when presented with “truth,” the powerful, will, in good faith, integrate such information and act on it.

Before Trump there was already ample evidence that policy analysis was not getting much traction. I have even written before about how policy analysis itself has become debased, leading to its total disregardability. Corporate communications departments seem to employ the lion’s share of “policy people,” and anyone with an agenda and a few bucks can generate realistic looking “policy analysis.”

In further evidence of the weakness of policy analysis, I have heard the current and former deans of the policy program where I got my degree wonder out loud why more graduates of our program did not end up in leadership positions. The answer, it seems to me, is rather obvious. First, the pathway to modern political leadership is indifferent to whether you know what you are talking about, or if you work diligently to maintain objectivity and an open mind. Policy skills are simply no help. Worse, the temperament that draws someone to the application page of a policy program (plus a few years of his or her life) is probably negatively correlated with power-seeking and leadership.

But this election was something completely new, at least to my generation. Knowing exactly what Trump stood for, many people voted for him anyway, in what amounts to a stunning rebuke of technocratic analysis in favor decision-making by ideology and “common sense.” It was a vote for George W. Bush’s famous “gut-based” style taken to a level that I suspect would give even W indigestion.

Furthermore, Mr. Trump has been assembling a cabinet comprised almost entirely of yes-men and ideologues. These are not curious people. They are policy anti-analysts as much as Trump himself.

Power, it seems, has a lot to say to Truth, and we’ll be hearing all about it in the coming months and years.

So, now, driven into the wilderness, what is the next move for those who prefer reality-based policy? Practically, speaking, retreating to liberal states and organizations is probably the short-term answer — an unavoidable step if policy analysts want to continue to remain employed. However, in the long term we must advance. How?

I can think of two projects that seem worthwhile to me:

First, policy analysts must somehow, as a group, figure out a way to separate hackery from serious analysis, and to make that separation readily apparent to the most casual observer. I don’t know what form that would take. Professional certification? Peer review? Code of conduct? This will be hard, because the ideologues and their paid spokespeople have become masters at painting anybody who disagrees with them as just as interested as they are, turning every conversation into a “both sides do it.”

Second, policy analysts must put aside their cherished memo-writing skills and deep love of complexity, and learn to convey their results differently to different groups. For the electorate at large, it’s time to master the soundbite, and sadly, the Tweet. This will hurt, because real situations are complex, and soundbites cannot properly convey a complex truth. I’ll admit, I have no idea how to do this, but I fear that is part of our collective problem. Maybe graduate policy training should include not only memo-writing, but all manner of modern “propaganda:” billboard, bumper sticker, lawn sign, protest sign, tweet, Facebook post, newspaper op-ed, blog post, 30 second radio blip, 3 minute TV interview, etc. Policy analysis must learn to fit on a smartphone screen.

Anybody else have some good ideas?

Total War?

Mitch McConnell famously said his party’s “number one priority is to make this president a one-term president.” That was in October of 2010, nearly two years after Obama was elected. However, there is pretty good evidence that Republicans plotted an agenda of obstruction from day one.

They pursued a strategy of “total war,” not yielding or compromising on any of Obama’s agenda. How did that work out for them? Well, with today’s perspective, it looks pretty good. R’s in deep red places were rewarded. R’s in purple places did not too bad, certainly nothing crushing. And of course the presidency speaks for itself. Total war did result in significant collateral damage, though: no compromise, no governance — essentially reduced performance of our institutions and the commensurate reduced faith in them to solve problems.

So far, Democrats have gone along with the standard rhetoric of accepting the will of the people, yadda yadda. Which I think for now is fine.

Should liberals adopt a policy of total war?


  • Will probably be effective in stopping/slowing R agenda
  • Will rally base and, potentially, energize party. Nobody likes a bully, but nobody likes people who let bullies roll over them, either.
  • Negotiating in good faith while your opposition as a total war philosophy results in a “ratcheting” effect, whereby when your in power, you get nowhere, and they’re in power, they somewhere.
  • The R’s have already shown their willingness to pursue this approach, so it’s not like D’s holding back will stop them from doing it the next time D’s are in power.

  • Obstruction generally at odds with Democratic principles of governance. Or maybe blocking bad policy is good enough for a minority party?
  • Compromise is the essence of governance, and by shunning it, we validate the idea that compromise is bad.
  • It encourages the same behavior from your opposition if/when you gain power again.

I seriously am not of one mind on this issue. Everything I know about policy says total war is beyond bad. But what I’m learning of politics makes me think it might be the only path forward. Furthermore, it may be that most of the damage from the total war approach may already have been done, which is tragic, but there may not be much to lose from pursuing such a strategy.

On the other hand, this might be a decent short- and medium-term strategy, but as faith in government to solve problems and improve life is kind of core to D thinking, it might be a very bad long-term strategy.

Really, I dunno.