Fridays again

As I have mentioned before, one of the loveliest things about London (possibly England (possibly Britain (possibly Europe))) is the “after work drink”, especially on a Friday. In this job, my 12,000th since moving to America, I am very lucky to not only have a bunch of people who enjoy the same semi-religious ritual, but we also have a de-facto place to worship.
Nothing dramatic, gossip-worthy, or significant, needs to happen; we just need to talk and laugh. It sounds like such a simple recipe doesn’t it? But it’s surprisingly difficult to find. You need people with whom you can communicate in a way that doesn’t involve sport, and also who aren’t affected negatively by someone with a foreign accent, and who says a lot of stuff that doesn’t make a lot of sense. You also need people who don’t drive to work. How fortunate to have found such people! And tonight, after my old team-mates had left to pursue their commutes and domestic duties, how extra-lucky was I to be invited into a new cabal of people who work in a related team and share this odd collection of values?

It has been a while since I last blogged, and a lot has happened. The last couple of weeks have been genuinely enjoyable and that probably has something to do with why it’s easy to write again.

Some cryptic stuff to remind myself about why life has been enjoyable:

  • Working with Homehub CPE on TLS1.2.
  • Nick and his team are delightful to work with.
  • Pub quiz with Matt, RJ et al
  • Birds…including Russ.

The Smug Train

Sometimes – rarely – the unreliability of the public transport operator can work in your favour. This morning provided me with a great working example of the phenomenon. After a particularly good night’s sleep, I prized myself out of bed at an unusually early hour and consequently arrived at the station with ample time to wait for the “early-train”. To my surprise the station was packed to capacity, which made very little sense as the even-eariler-train was much earlier – really quite a lot earlier – and by dint of the hour, none of the early early trains are ever that crowded.
The SEPTA app (so much better than it was btw) revealed the solution to this paradox: not only was the even-earlier-train severely delayed, but the unfeasibly-early-train was even more delayed!
Now that we all have supercomputers in our pockets we can find this stuff out on the platform, and then look at a map to show us where the actual trains are in real time!
A crowded train arrived, and the crowds of people all forcefully piled-in, delaying the train further, and will have spent a miserable 25 minutes standing up as the train slowly joggled its way into Center City.
Obviously I did not join the throng, aware as I was that literally around the bend was another train – presumably empty.
An older lady at the station approached me as the crowded train was departing, seeking support for two conjectures:

  1. There was another empty train on the way.
  2. These younger people are so regimented that they can’t handle the idea of not following their daily routines as closely as possible.

It was an instant bond formed from an overwhelming feeling of smugness that we had outwitted the youth. She apologised for including me in the non-youth side of the scenario but suggested that, despite my obviously youthful aspect, the others may have been younger. She also asked me how I got real-time train info on my phone; outlining that here and referring to her as an “older lady” as I did above more than cancels the debt as far as I’m concerned.
Less than a minute later, a completely empty train arrived and took me to work. As it progressed through the inner cities, it became evident that the same scenario had occurred all the way down the line: the few passengers that did get on were also overflowing with smugness and we all got to appreciate what I can only describe as a luxurious commute.


What makes a really good day?

Today was a really good day, but the reasons for saying so should make a lot of normal people, including me, cringe. Nonetheless bedtime this evening fills me with a smug, warm, feeling of retrospective joy.
Today was the the day that the local sportsball team was celebrating victory in a sports ball competition. For reasons I genuinely don’t understand this resulted in the largest public turn-out in history for Center City Philadelphia. Obviously this alone would be, at best, a source of misery for me – a sports-hating depressive who despairs at the lack of concern shown by the general public for the far-right direction the world seems to have taken – but as a result of the brokenness of society this resulted in all employees at my company being given a paid day off! Those of us with any knowledge of the labor movement in this country may find this amusing; that is another blog.

An unexpected day off really means a lot to we proles. In particular it meant that my wife and I could spend an extra day together with absolutely no pressure to be doing something productive; planned days off usually come with the burden of feeling like you have to make the most of them by “achieving” something. Peculiarly, the freebie nature of today’s liberation did not seem to invoke this dark guilty feeling; we therefore did whatever we wanted and ended up achieving more than we would normally manage on any weekend. Here’s a list (because I like lists):

  • We went out to brunch at a local diner. In this endeavor we achieved both the consumption of delicious food and plenty of laughter.
  • When we got back home I achieved an hour long nap!
  • We decided to have a crack at tidying one of the darker regions of our house and by some miracle we worked together, got it done, and both enjoyed it!
  • By all means call me a scab, but I had arranged to have a tutorial with someone in Gigacorp about a brand new company wide Kubernetes-as-a-service [ignore this bit if you don’t understand it – it’ll soon be over] project. Working on a day off is a no-no I understand, but this is not only a topic that interests me, the guy seemed like he may be nice… he had a TARDIS as his Slack status icon. (It’s probably worth mentioning that my status icon is K9. Nerds will understand.) His personal tutorial was brilliant and inspiring. He also seemed to be every bit the lovely bloke I’d imagined.[There. Over.]
  • I got to spend a lot of time hanging out with the parrots and the chickens… yeah we have a bunch of chickens living in our garden temporarily.
  • After becoming inspired by my chat, I revisited a problem I’d had at work with my own experimental Kubernetes cluster [ok, it came back. see above for advice]. This time I fixed it by trying something that was more intuition than a result of information on the Internet. This made me feel very happy.
  • We watched Kingpin for the umpteenth time and had a really good dinner!

So work and industry, on a day off, cheered me up. This is not what I, or anyone that knows me, would expect, but there you have it.

Quote of the day:

“What’s a Cabernetti? It sounds like an Italian pastry”

— my wife after overhearing my Kubernetes tutorial.


LoRealAle

lora dev board

LoRa Dev Board

There’s a catch-22 involved in feeling uninspired: you need a seed of inspiration, but in order to find it you have to go out and experience things – and that seems like a huge amount of effort when you’re feeling uninspired.
In the fug of a long-term grey period of un-inspiration, some of the fine hairs on the edge of my inspiration-gland were inadvertently stimulated during a DevOps conference (yes I know… more later). Someone started talking about a thing called “LoRa” which it turns out is a low power long range digital radio standard.
Several months later, it was last night.
Last night was great. After work I went to a “pre-hackathon meetup” focussed on this LoRa thing which was being held by phLoRa in advance of a big Hackathon effort next weekend. This is the first time I’ve ever been involved with a Hackathon and it was a tad nerve-racking, right up until the point of entry into the venue: a sort of incubator thing called WeWork. It was lovely for so many reasons; suffice it to say there was free beer. Also there was a bunch of very friendly, excitable and knowledgeable geeks who were there for much the same reasons as I.
We got given some hardware to play with and, thanks to the skillful presenter’s abilities, we were all able to hook the hardware up to a local Philadelphia LoRa network by the end of the night. We, probably like you dear reader, also became aware that there was such a thing as a local LoRa network!
It was a great experience on a technical and social level. I met some lovely people from as far away as Italy, Georgia (the country) and even Kensington (the Philadelphia one). The guy from Kensington turned out to be an ex-employee of my current employer and used to work with a lovely guy I have known for a few years now: Nick.
Anyway, we all had and the inspiration level indicator on my tank was back into the “F” region. That’s “F” for “Full”. You knew that.

After the meetup, whilst waiting at the familiar bus-stop on Walnut St, I received a text message alerting me to the notional existence of a pint of beer that would be mine providing I attended the Dawson St. Pub in Manayunk; it was from Nick [q.v. above]. It was also clearly a message from the Gods, as was the severely delayed bus that arrived at my stop just when I needed it.

So, after the usual unpleasantness of I76 I spent an unreasonably pleasant experience at Dawson with Nick, his friend, and a couple of pints of beautifully kept British-style real-ale: Yards ESB.

The cherry on the cake was that I had taken Friday off of work, as a result of the ludicrous “use it or lose it” policy, and so had the freedom of not worrying about getting up in the morning.

Sometimes things just come together.


Scotch Eggs

Around seven or eight years ago a Venezuelan friend of mine asked me if I’d ever heard of a “Scotch Egg”. Obviously I explained how common they were in the UK, and asked how he could have possibly encountered them.
Anyone not from the UK needs to understand Scotch Eggs and the part they play, or rather the part they used to play, in British culture; we tend not to think about them unless we’re actually eating one. If you ended up eating one during the course of your day it would be forgotten about almost immediately, and only brought to mind with an accompanying thought along the lines of “oh dear, I shouldn’t have eaten that scotch egg!”
Consequently very few Brits ever spend time wondering where Scotch eggs come from. I suppose there are places where people do actually make them by hand and serve them to their families, but I’ve never seen anything like that. Generally Scotch Eggs are just there in your mouth at some point. You don’t deliberately go out and buy them, and you certainly couldn’t order them in a restaurant. Also, never in my entire life had I imagined they were possibly edible while hot!
scotch eggIf you’d asked me where to get one I’d have probably suggested a service station or maybe the remaindered section of a low end supermarket like Iceland. Actually the front seat of a car parked in a motorway service station is probably the most appropriate place to eat one. It’ll be cold, stuffed down to suppress hunger, and immediately forgotten.
At this point it’s important to know that I have always liked them despite my general indifference. They were useful guilty pleasures made more enjoyable by the rarity of their appearance in my life.
But things have changed. The idea of a deep-fried egg wrapped in sausage meat and breadcrumbs seems to have triggered a level of excitement in those unfamiliar with the general concept and as a result they have been adopted by poncy restaurants in the US! You can frequently spend the best part of 10 bucks on a hot Scotch Egg in a posh eatery, and it will arrive with some gourmet dipping sauce, a rocket (arugula?) garnish, on a piece of distressed roofing material.
I used to chuckle in an inexcusably patronising way when I saw this happen in high end restaurants here: these Americans think Scotch Eggs are proper food!
Earlier this year I visited London and was shocked to discover that high-end Gastropubs were now serving gourmet hot Scotch Eggs (dip/leaves/slate etc) for the best part of 10 quid! How did this happen?
I had to try one. It was bloody gorgeous.


Inventing Sex and Tech – part one

It has always frustrated older people when the next generation thinks they’ve discovered something new, because it’s invariably something that has been around forever. Sex is the classic example: no matter how naughty, new, or wild you think you’re being, humanity and the species that predated us have been doing it before. As Bill Hicks observed: look at your family tree and remember that every time the line splits, there’s fucking. And if you ever had any suspicion that Internet porn was responsible for inventing some of the extraordinary perversions that have now become commonplace, just see if you can find some uncensored historical texts. No matter what debasing act you think you’ve discovered, I guarantee that as long as it doesn’t rely on modern engineering techniques, it was done thousands of years ago.
It’s not just sex. In my accidental career of, what is now called, “software engineer” the atmosphere is riddled with the hormones of excitable youthful pricks who believe they have discovered a whole new area of computing. Spending time in an office full of millennial “programmers” (what we used to call ourselves) is the equivalent of walking through the fetid stench of a school gym changing room. They spend their time going to conferences and listening to their peers describing white-hot, bleeding-edge, paradigm-shifting technologies that were actually discovered decades ago. Armed with their new knowledge they return to their jobs and look down on everyone else who doesn’t know the new names for the old technologies they’ve discovered.
One of the tragedies of this situation is that in twenty years time they will feel the same miserable exhaustion that I feel now, but if they have any sense they will have departed the technical path and moved into management by then.
My personal curse is that I have eschewed any kind of management track, or “management bollocks” as I prefer to call it, which means I’m surrounded by these little gits who know everything.

By the way, it’s safe to say they are “little gits” because I was one. In my twenties my brain was faster than now and I thought I knew everything. In fairness I knew a lot more about the technology of the period than some of my peers, but looking back I was an ignorant nobhead. It’s hard to feel I was more ignorant then than I know myself to be now, but it’s surely true; it didn’t take long to learn the vastness of the universe of stuff I don’t know about; a universe that seems to expand exponentially with every article read. This is another significant problem: after twenty or so years of learning how little one knows, one tends to feel beaten down.
The only benefit of this awful, miserable realisation is that stamina combined with a vague interest in new technology is all that’s needed to hang on to your career. If you wait five years, the genuinely good technologies become fashionable again and you can ignore all the nonsense until then. NOSQL is a classic example of this. NOSQL was not originally “NoSQL”, it really meant “Not Only SQL”. This was an interesting development based on the real need for fast, scaleable key-value stores without the complexity of a SQL cluster. The world could have taken two paths at this point:
1) Reinvent database technology.
2) spend more time making SQL databases more scalable.
3) Use both.

Obviously they all happened, but the youthful excitement of new, hot, technology caused the young pioneers to throw away all trace of 2). That was old fart technology!

A few years down the line, the brilliant work of the forefathers is recognised once more as being pretty bloody useful and so relational databases, together with their trusted underlying technology, are about to take over again. Good.

Now, I hate Oracle as much any anyone else on this planet but don’t tell me it can’t outperform MongoDB with billions of rows of data because I’ve done it. Admittedly getting the queries right is an absolute bastard if they’re going to perform well – but compared to the alternatives it’s a piece of piss!

Yeah, there’s a lot more to say here. But it’s time to shut up.


You fool!

As I left the shower this morning I was shocked to see this on the kitchen floor – the dog had recently seemed pretty lethargic and they do get tummy troubles from time to time. Being completely unable to handle this kind of thing, I remained glued to the spot and yelled for Michele; after all, dealing with animal dejecta is her specialty. “Something really horrible has happened!” She came running in and looked pretty confused. Her immediate reaction was to try to diagnose the problem before even trying to clear it up. She knelt down and to my horror dipped two fingers into the horrific mess. There is a limit to my admiration for her professional interest in animal health and I thought I’d reached it with her sniffing the dog’s diarrhea when she upped the ante by putting both fingers into her mouth and licking them.

There were a good few seconds of stunned silence as my brain tried to come up with every possible explanation for what I’d just seen. It was only when she collapsed laughing that I remember the date…
OK, you really got me.
For the record, chocolate pudding, plasticine and brown leather paint are very, very convincing.


Welcome to London Heathrow

“The local time is 7:02 AM, and your internal clock time is 2:02 AM. We hope you managed to get a couple of minutes sleep despite our concerted efforts to make the journey as uncomfortable and cramped as legally possible. The weather in London is traditional English: grey, mild, with a chance of showers. UK and EU passengers should join the ludicrously long line for the newly improved rapid, automated passport control system. Simply walk into the slaughterhouse-style enclosure, place your passport on the glass and stare at the screen until the flashing sign asks you to seek assistance. Once the “Border Force” employee has attended to all of the other gates she will ask you to step out and back in again. The whole process should take no more than a couple of hours.
Passengers with checked baggage should wait by carousel number 3 for approximately an hour while a selection of mysteriously unclaimed suitcases are displayed for your entertainment.
Once passengers have negotiated the bewildering maze of customs passages, interconnection with London Underground is a short 45 minute walk along corridors decorated with beautiful murals depicting the wondrous experience you would bloody well hope to expect if you forked out 25 quid for the Heathrow Express. Passengers should be aware that by the time they reach the London Underground it will be rush-hour and consequently should prepare themselves for a hellish journey of about an hour and a half, packed in with commuters who want to kill them for bringing a large quantity of encumbrances and obstacles in the shape of suitcases and backpacks onto an already impossibly overcrowded train.
Thank you for flying Air Airways – we hope you choose to fly with us again, even though we are fully aware you didn’t actually choose us.”


Balls of the base variety

The company paid for us to have a day in the sun and even provided some food and beer – all while we should have been at work. Who could object to such a good deal? Me.
Without wanting to sound ungrateful, I feel the need to comment on my first baseball experience. The TL;DR version is:

  • Tailgating is a depressing testament to the failure of America to live up to its own hype.
  • The Phillies played like crap
  • Baseball is a stupid and boring game. Stupider than Cricket. Stupider than American Football (and that’s saying something).
  • It was 92F and there is no shade in the vast majority of the ground. But that doesn’t put people off for some reason.
  • Fans of the Phillies (pretty much everyone in Philadelphia) absolutely do not understand how anyone could not be thrilled by the experience let alone understand my view on it.

So, for the uninitiated, the start of a day of serious sportsfanship in this colony involves “tailgating” which means starting the day’s celebrations in the parking lot [car park] where people “party” by drinking beer, throwing things around and sometimes grill food.
Now, like every other human being on the planet, there’s nowhere I’d rather be on a hot sunny day than a massive concrete parking lot together with a bunch of people I don’t know from work who are all wearing the same clothes. Drinking a beer, having a sandwich and watching everyone thrill to the excitement of playing “cornhole” (they really do call it that) is indisputably fun of course. But doing so in a massive concrete car park, with all of the romantic and sensual sights and smells that go with it creates a truly memorable experience.
Wiley enterprising patriots set up stands near by where you can purchase bottles of overpriced water and “Trump for President” T-shirts; proud murcans all.

But of course, this rich cultural experience was just the hors d’Oeuvres – the main course (which is inexplicably known as “entree” in the U.S.) was yet to come.

A few of us were unable to suspend our excitement and so left the parking lot before all of the beer had been quaffed and headed over to the stadium. The obscene heat punished us for daring to leave the shady serenity of the concrete but we persevered in the knowledge that excitement, refreshment and seating awaited us in the cathedral of sports that was only an agonizing few minutes walk away in the 92F heat and 90% humidity.
We eagerly presented our company-bought tickets and were permitted entry to the ruby city of the Phillies stadium. It was everything I imagined it would be! A vast amphitheater packed with armies of identically dressed people sampling the gastronomic delights and audaciously over priced beer before returning to their seats where the non-stop action can be enjoyed.

There was some initial confusion regarding the location of our seats, but after a long and tiring slog through the labyrinthine stadium village we eventually found the oddly shaped grill that was our alloyed seating: the Budweiser Rooftop! Imagine the top shelf of the oven but with a good view of the lush green sportsball field.

I started writing this over a year ago but ran out of inspiration, though you can pretty much imagine the rest – especially if you’ve seen a baseball game.


A Phoenix and a Magic Carpet: rights and wrongs

TL;DR. Phoenix and ChildrenIn the 1970s the BBC produced a TV adaption of “The Phoenix and the Carpet” by E.Nesbit. The images stuck with me and it was probably my first introduction to the concept of a magic carpet – something that I’ve been intrigued by ever since.
On a whim, I decided to see if the Internet could provide me with a way to watch it again, but all I could find was a 15 minute clip on YouTube that served only to whet my appetite even further. So I kept searching. It transpires that the BBC remade the series in 1997, and I did manage to find a torrent of this, but it just didn’t suffice: I’ll explain why further down.
On further searching I discovered a tantalizing link to a BBC site with the title “The Phoenix and the Carpet | Watch Online | BBC Store” and a summary containing the magic date 1977. Of course, disappointment was only a click away and came in the form of the only-too familiar “BBC Store.com is not available in the US and Canada.” together with a page explaining why you may be seeing that page even if you’re not in the US or Canada.
Now, it’s not necessarily the BBC’s fault that they have to enforce this ludicrous restriction, but it still irritates me in the extreme when archaic legal restrictions based on national boundaries attempt to apply themselves on the Internet: apart from being illogical, it doesn’t work.
So after trivially bypassing the comical IP address restriction I am delighted to discover the BBC are selling the original 1977 series either per episode or for 12 quid all in! Now that’s more like it! I don’t want to end up watching this on my laptop though, I thought, so it better be downloadable. It is! Whoopee! A quick financial transaction later and I was able to start viewing the episodes right then and there, and under each episode was a button that said “Download”.
Now this is what it’s supposed to be like in 2016. This is what all the fuss was about. Technically there’s no reason why this wasn’t possible a decade ago but it has taken a while for the provders to realise they can open up their archives and even make money from it! Everyone wins!
I excitedly clicked the download link so that I can watch it on my TV and was interrupted by a bolt of misery that was a big modal pop-up informing me that I had to install a download app. Gaaaah! This is another menace that seems to proliferate on the modern web. There is absolutely no need to install some potentially insecure downloader/uploaded spyware solely for the purpose of getting stuff from, and putting stuff to the web. Seriously, browsers can do this stuff now!
This wasn’t the first time I’ve capitulated and sold my soul – Amazon, Google and now the BBC had got me beaten down. I reluctantly ran the package installer and instantly froze in fearful shock and terror when the dread phrase that no ordinary sinner should ever have to read, appeared on my screen:

You must install Silverlight.

I cried out in anguish as the terrible truth had begun to dawn on me: the BBC have turned to the dark side and by my foolish eagerness I had followed them along the fetid path to eternal misery and damnation. Silverlight? Why? WHY? DRM is bad enough but the added insult of a moribund, failed Microsoft exercise in power-mongery was too much to bear. My laptop has already been compromised enough by my greed and bad judgement in the past – I couldn’t do this to it. So I had a choice: give up on watching The Phoenix and the Carpet and demand my Monday back from Aunty Beeb, or…resort to…methods.

It’s been a while since I was motivated to dabble, and this was the perfect opportunity.

They allow streaming of the media to your web browser. This means there is a way to get the media from them to me and watch it. No matter how much clever encraption and obfuscation they shroud the process in, it’s possible. Not only that, but they support iPads which means there is almost certainly a high quality stream available that doesn’t rely on ropey old flash.

After a bit of probing with Firebug, and some judicious Googling I learned that they were streaming the video using Adobe’s HDS: sending it in 4 second chunks of MP4 video, each with a MIME type of “video/f4f”. Your browser does an HTTP request for each one and seamlessly stitches them together in realish time for your entertainment.
So, with this knowledge, and the observation that the download file names were predictable (identical except for an incrementing decimal number at the end of the file name), I could now get hold of entire episodes by writing a simple little shell script.

After about 20 minutes my script had pulled down all of the 500 or so chunks of video that form episode 1. But now what? How do I join these things together and tune them into something I can play on my telly? A quick google provided the answer: some lovely soul has written a little tool called AdobeHDS.php that does exactly what I want: it looks for downloaded chunks of f4f and combines them into a nice playable FLV file as easy as typing:
php AdobeHDS.php --fragments episode1
BOOM! I have my own copy of the episode that plays on my FMT and that I can keep forever to play at will – long after Silverlight is a piece of historical comedy. Which is fair enough considering I paid for it!

Actually, AdobeHDS.php can even do the downloading of the file pieces and decrypting for you as it turns out. The author deserves a lot of love.

Of course I watched all eight episodes back to back and reveled in nostalgia and wonder at the magic of it all. I’m not sure whether the 1977 version was actually better or whether it was just because of my attachment to it but one thing I can say is that the 1977 Phoenix was far superior, and the crappy 1977 low budget SFX were no worse than the crappy 1997 low budget SFX. The other main difference between the two was the replacement of the 1970s mandatory white actors blacked-up and put in grass skirts, with black actors. I don’t know what was up with people back then that they didn’t consider this to be bizarre and ridiculous behavior but I’m grown up enough to write it off as stupidity from the past so it didn’t mar my enjoyment of the show too much. People did stupid things in the 70s such as enjoying Bernard Manning.

So what have we learned?

  • Copyright is broken and ruins everything. Surely it’s better that works of art are made available, even for money, than being hidden away for nebulous reasons of “rights”. Especially if the owners and creators of the work get paid!
  • Trying to impose national laws on the Internet is a foolish waste of money and is technically unenforceable.
  • DRM only serves to punish people who try to pay legitimately. If you are foolish enough to buy DRM encumbered media you are buying damaged goods. Something you “own” may cease to exist or be rendered unplayable over time.
  • Breaking DRM only needs to be done once. After that the genie is out of the bottle and the media is liberated. Spend money on trying to copy-protect media at your peril.