How To Survive The Future Part 1: DRONES!?

Some may tell you the world is getting safer all the time, and although they are right, it makes for an uninteresting blog post.

Instead we shall focus on our feared impending demise from the madness of technological advancement.

The oncoming storm.

The buzzing sound that heralds our doom.

The four spinning rotors of the apocalypse.

They do not know fear.

They do not know conversational english.

They sometimes know their relative position in a 3 dimensional space.

The Drone

Webster’s Online Dictionary defines the word drone as “The greatest threat mankind has ever faced” if you squint and read between the lines. Wink wink nudge nudge, Webster. I’m picking up what you’re laying down: Trust no one.

Drones have been compared to flying grizzly bears by industry experts, their rotors like thin aerodynamic lift producing claws, their plastic shells like matted fur, their stabilizing gyroscopes like a Grizzly Bears inner ear canal.  But, don’t be fooled, unlike Grizzly Bears drones don’t sequester themselves in forests, nor do they mostly torment Canadians.  Drones are a global threat.

As an American I know a global threat requires an immediate misguided show of overwhelming force and large no-bid government contracts for companies owned by my friends.  But, in a diversion from American foreign policy, we will seek to know our enemy first.

The Pack Hunters

No one knows who invented drones, but we do know the depraved lunatics taught some of them to hunt in packs and coordinate their movements.  You can easily spot them if you know the common signs of bee swarms, but instead of bees you imagine drones instead.

The Mules, Wolves, and Mulewolves… or WereMules

To destroy humanity, Drones must first understand humanity. To understand humanity they must master the art of really awkward hopscotch four legged running.  Bad news, friends: They’ve already cracked it.

Already the machines have specialized into weird mule like all terrain forms, as well as smaller more dangerous and equally awkward variants.  Note in this field recon footage that the drones are already mastering the art of hallway traversal, and very light grassy inclines.  Terrifying.

Sea Serpents

Even decades of preventative ocean pollution has not stopped the drones from seeking to claim our waters.  Robotic serpents already train in secretive suburban swimming pools across this great nation, just biding their time.

Sky Jellies

Its always the most innocent looking ones that pose the greatest threat, this friendly and serene drone is no different.  Fear its pleasantness.

Stay Paranoid

This country was built on a strong foundation of paranoia, industrialization of specialized tradecraft, and moon worship, but you’ll only need the former to prepare yourself for what’s to come.  I’ve shown you the enemy, and now its up to you to sit paralyzed in fear in your living rooms, waiting for the sweet embrace of the rotor blades.

Listen for that humming sound, friends… and when it gets close? Just close your door.  They haven’t all mastered that doorknob bit yet.

– Johann Out

Podcast Episode 5: Uber Delivers, Drone Crashes, Car Recalls and warrants for Stingrays

I’m releasing a special [?] short Labor Day episode where we still manage to discuss Stingray devices (Fake cell towers) needing Federal warrants when used by the FBI/DEA and others, Fiat-Chrysler recalling 8k cars for hacking risk, a Drone crash at the US Open that got a New York City teacher arrested, and Uber eyeing the delivery market for jet-setting shopper.

Well Don't Just Stand There 2015-09-07 20-12-10

Or catch it on iTunes here

Podcast Episode 4! Facebook’s Digital Assistant, Uber’s Security Hires, and Twitter’s Diversity push.

Another week, another podcast:

Facebook gets into the virtual assistant game with “M” a new feature of Messenger, Textio tells companies what demographics their job posts actually entice, Uber hires security researchers to beef up their self driving car program, and finally Instagram gets wide and vertical with its images and videos.

All in this weeks episode!

Well Don't Just Stand There 2015-09-02 21-44-18

Or check it out on iTunes.

Something new – A Podcast

I’ve been heads down in so many things lately, a new position at work, many changes at home, but i’ve started work on something i’m excited about: A Podcast. Just me, talking about tech, culture, privacy and security.

I think if you listen you’ll come out more informed, entertained, and probably a little bit more wary of the tumults in tech!

Subscribe on iTunes here or check out the new podcast specific site.

iTunes - Podcasts - Well Don't Just Stand There by Johann Hannesson 2015-08-25 20-11-19

Getting your commit graph to show everything on Github

This is fairly simple, but for the sake of vanity and the motivation that this little time series graph brings I have to mention it.

github commit graph

I set up git with a fresh repo on my local machine after having set up 2 factor auth for github at work and despaired for a little while with the setup.  But I eventually got through that (A helpful page) only to find that my commits weren’t showing up on my graph even though my commits were showing up in github! I’d authenticated and everything. Instead a ghostly avatar with my name showed up in my activity feed.

As it turns out the commit graph is only updated if Github recognizes your git config user.email!

Simply set it with git config user.email "yourgithubaccountemail@example.com" and all should be right in the world on your next git push and you won’t miss any more little green boxes.

Quick Test Automation with CasperJS

I find myself as the sole QA Engineer at a rapidly changing startup needing to automate integration tests.  There are legacy Capybara tests in our large Sinatra app, some javascript unit tests, and a bevy of test suites for the remainder of the stack. But, like any software product, its codebase grows faster than the test suite.

In looking for a quick way to get repeatable manual tests of the web application front end I settled on CasperJS.  Partly because of the speed of implementation, and the familiarity of Javascript and some robust features like great command line tools.

npm install casperjs --devel

And you’re on your way!

A great use i’ve found for casper scripts is to quickly hit all of the accessible dynamic FE page types we have and check for a 200 status to help regression test very quickly.

casper.test.begin('johanncodes.com returns an OK status', 1, function(test) {
    casper.start('https://johanncodes.com/', function() {
        test.assertHttpStatus(200);
    }).run(function() {
        test.done();
    });
});

Another great feature i’ve made use of is CasperJS’ great form fill and submission ability, which lets me easily work through tasks like user account creation, user profile changes, navigation through checkout flows and other fun things.

Even with very rudimentary javascript knowledge you can start to build very powerful tests and scripts almost immediately.  If you’re looking to automate very rote parts of your QA flow that have a binary success/fail state you can check for CasperJS is worth a look.

Check out the docs and installation instructions.

Happy testing!