Liked https://tantek.com/2019/306/t1/thank-you-wordcampus-take-back-your-web by Tantek ÇelikTantek Çelik (tantek.com)

Thank you @WordCampUS and thanks @photomatt for the invitation to speak on “Take Back Your Web”! Huge thanks to @dshanske for all his help!

Great questions & seeing so many with their own sites. Follow @dshanske’s awesome posts and progress on his own site e.g. https://da…

Indieweb Thoughts Post State of the Word

It has been a while since I wrote out some thoughts on where the Indieweb is on WordPress. Sitting here, after hearing Matt Mullenweg gave the State of the Word at WordCamp US, and after I assisting Tantek Çelik in his talk on Taking Back the Web, which was one of the contributing factors to my being at WordCamp US.

I joined the Indieweb community in 2014, and I feel after 5 years of work, things started to come together. We have a robust collection of plugins and opportunities. But over the coming months, there are some long term goals that need to be achieved.

  • The WordPress Block Editor – It is, whether I like it or not, the editor for WordPress is now Gutenberg. The Indieweb plugins currently avoid that reality. I made an effort to make sure that several of them would work with Gutenberg, despite not being Gutenberg ready, but I will have to bite the bullet and learn how to think in blocks.
  • The Webmention and Semantic Linkbacks plugin merge – This has been a slow process. It is holding up or delaying further iteration on the feature set…including things such as improved display.
  • IndieAuth – Improving and hardening the security of the IndieAuth plugin to prepare for AutoAuth and private post support. This requires some additional refactoring.
  • Indieweb Site Health Checker in the Indieweb Plugin – This would parse a site and check its MF2, similar to indiewebify.me

There are obviously other things I’d like to do…improve Micropub for one. but the above are the ones that I think would push things forward the most.

Airplane Wifi Location Tracking to Tasker to Compass

On my recent trip, I took Southwest Airlines for the first time in many years. At Indiewebcamp New Haven, I set up Aaron Parecki’s compass project to send my location data to. I have 59MB of location data since March 3oth, 2019.

The problem is transforming the input from Southwest into the format another system can accept. I did not want to write an Android app for this…I wish there was one.

So, instead I used Tasker,  an automation app for Android that does have scripting in it.

So, if you retrieve http://getconnected.southwestwifi.com/current.json, you get the following JSON data.

 {
  "pcent_flt_complete": 0,
  "altVal": "-24",
  "lon": "-73.867",
  "satcomm_status": {
    "commlink": "active",
    "linkparams": "not-stale"
  },
  "dtzone": "CDT",
  "within_us": true,
  "etad": "09:20 AM",
  "lat": "40.775",
  "gspdVal": "10",
  "ttgc": "2h 15m",
  "dist_remain": "888",
  "actime24": "07:05"
}

The Task I created consists of three actions. It uses the HTTP Request action to get the above JSON. Then it uses the below JavaScriptlet(Tasker allows you to write JavaScript, to convert the data into the GeoJSON that Compass expects. The third action posts that to Compass.

var parsed = JSON.parse( http_data );
var gmt = new Date().toISOString();
var alt = Math.round( parsed.altVal * 0.305 );
var feature = {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [parsed.lon, parsed.lat, alt]
      },
      "properties": {
        "timestamp": gmt,
        "percent_complete": parsed.pcent_flt_complete,
         "dist_remain": parsed.dist_remain,
         "source": "flight",
         "airline": "wn"
      }
    };
var compass = { "locations": [feature] };
var featurejson = JSON.stringify( compass );

Now, I am known for not doing much JavaScript work, preferring PHP. But this was simple enough. I could have added more of their parameters, or, since Southwest does not put the flight number into their JSON, allow it to be set.

It is triggered when I am connected to SouthwestWifi, in Airplane Mode, and every 5 minutes. I wasn’t sure if I should poll more often, but 5 minute intervals seemed reasonable. Regrettably, Southwest does not provide more parameters like speed.

I wish some developer would write an app that would do this, partially because, if the wifi goes down, the request will fail and I’ll lose it. I’d rather cache and retry. Also, GPS Logger has some limitations. I wish there was an Android version of Aaron Parecki’s Overland app. Being as he wrote Compass, it works well with that and has those caching features.

I have two flights on two different airlines in the next month, and will see if I can write similar scripts. I enjoy the challenge of trying to write and test it on my phone live.

Next, I need something to display a visualization of this with altitude.