Programming described accurately

The human brain isn’t particularly good at basic logic and now there’s a whole career in doing nothing but really, really complex logic

You immerse yourself in a world of total meaninglessness where all that matters is a little series of numbers bent into a giant labyrinth of symbols and a different series of numbers or a picture of a kitten came out the other end.

Source: Programming Sucks, an essay on the amazing Still Drinking website by Peter Welch.

Fire TV Fun

The Amazon Fire TV is an amazing device. The current app selection might be disappointing, but with a little effort you can get just about any Android app working beautifully on a Fire TV, and some apps designed for tablets feel like they were truly made to be on a TV.

This is basically my guide to everything Fire TV.

The first thing to note is that the Fire TV is compatible with most USB keyboard and mice, but only has a single USB port, so it’s best to have a keyboard and mouse that use a single wireless dongle. The Logitech unifying ones work great for me.

Keyboard/Mouse Usage

The mouse has a pretty simple function, acting as a pointer to use apps as if you had a touch screen, with the primary mouse button acting as a tap/drag. The scroll wheel also works well in most applications, and is particularly nice in web browsers.

The keyboard works pretty much as you’d expect, with a few important things to note:

  • F12 acts as the Home button
  • Tab is the same as the Play/Pause button on the remote
  • Alt+Tab opens the Recent Apps overlay for quickly switching applications

Don’t touch the volume keys. If you do, you might need to install a volume control app with ADB to get your sound back.

Installing Apps

Unlike a Chromecast, Apple TV, or Roku, the Fire TV is left very open, with ADB over the local network easily enabled from Settings. ADB allows you to access the filesystem and install applications from APK packages, which can be extracted from other Android devices or found the app developer’s website.

Install ADB and add it to your path, there are tons of guides for this, so I won’t detail it here. Next, find your Fire TV’s IP address in Settings > System > About > Network. You can then connect to your Fire TV by running the following commands:

  • adb connect <ip address> Connects ADB to your Fire TV
  • adb install <apk filename> Installs the specified application
  • adb shell Opens an interactive shell on the Fire TV (Advanced users)

Applications installed through ADB won’t be shown on the launcher, but are accessible through Settings > Applications.

These are the apps I’ve tried that work well:

Awesome apps that work all right, but have some broken features:

  • Play Music
  • …I’ll add more later as I test them

I also tried installing the stock Play Store app, but it has a lot of other requirements that I wasn’t willing to take the time to find. When launching the app without those requirements, it crashes, then causes the Fire TV to do a hard reboot. Not exactly usable. :P

Screenshots

A photo of my Fire TV running CPU-Z, showing some system specs: CPU-Z Photo

My personal favorite App on my Fire TV so far, Microsoft Remote Desktop: Microsoft Remote Desktop Amazingly, the keyboard works almost seamlessly on Remote Desktop, and as long as your LAN is fast enough, it works great for streaming media that isn’t supported another way.


Once the Fire TV is a bit easier to root, I’ll probably write a thorough guide on that, and the things you can do after rooting, because seriously these things are just awesome.

If I’m missing something or something is incorrect, please let me know, I’m @alanaktion on Twitter.

IT Bread - Day 2

Our bread yesterday was good, but we’d messed up a bit on the recipe. Today’s was amazing.

IT Bread

We made bread! THRIVE Country White Dough Mix and a bread maker resulted in happiness.

PHP Insanity

It was a cold day, Gustav arrived for his first day at work clutching his laptop and some books on the Zend framework. His past nights had been disturbed by the ‘Tetris effect’, lines of pure code produced by his unconscious mind in his sleep, dropping down, one atop the other, leaving him in somewhat of a half awake, half asleep state throughout the nights. His world view was formed through code, indeed giving him great insight, yet leaving him somewhat distant from those around him.

He was starting to question his sanity. A formidable PHP Zend coder, instead of taking rest in its conventional sense, his mind would be occupied with thoughts on RESTful services, instead of using soap in the bath, he would be comparing SOAP with RESTful services. He took a single bite on a pear, the only food he had eaten in two weeks, and instantly started thinkng of PEAR and PECL extensions. Instead of eating, he would usually be coding, his natural hunger instinct shut off from the deep levels of focus that he sustained during coding sessions. Am I human? he asked himself one day, clearly feeling that his very existence had merged with the technology with which he was engaged on a day to day basis.

His family life remained intact, a bright wife who understood his predicament serving as a buffer between his internal world and the world around him. Even when talking with her, his mind would drift onto coding, sometimes so much so, that he lost awareness of her very presence.

As he calmly, as if programmed, walked through the porte-cochère leading to the entrance of the office, he felt totally in control, as if on a mission to take charge of his young colleagues and guide them in the right direction on the greenfield LAMP platform-build that he was to be in charge of. He knew that this would be no easy feat, but felt reassured that he would be able to get on with producing a large amount of the purest code himself, whilst overseeing the 4 strong team of fastidious developers that already worked at the company, rather than being a mere hands off development manager.

As he arrived at his desk, he was astounded by the office environment, a wondrous place, void of unnecessary ornementation, fine desks sculpted from burr walnut. A minimalistic, clutter free environment seemed exactly what young Gustav needed to allow his coding to flourish. The air was as clean, a distant memory pervaded his mind, reminding him of the clean childhod air of the Matterhorn foothills in which he was raised. He mused on the brilliance of the architecture holding him, a hybrid blend of Le Corbusier and Ahrends Burton Koralek he decided….. indeed he had many other interests in addition to his coding…….

Source