Jarrod Overson

Wanton Hackery, a guide to things you probably shouldn't do

Jarrod Overson - Wanton Hackery, a guide to things you probably shouldn't do

Animated GIFs in Keynote

The Keynote update has blown my mind with its lack of functionality ever since day one, but I’ve finally found out how to get animated gifs working in it now.

Rename your gif’s extension to .mov and drag it into keynote. Keynote will warn you about not being able to play that movie on iPad or iPhones, prompting you to optimize it, which will turn the gif into a legit movie which Keynote will play just fine.

OSX ping & Cannot allocate memory

[09:58:20] 2 $ ping 4.2.2.2
PING 4.2.2.2 (4.2.2.2): 56 data bytes
ping: sendto: Cannot allocate memory
ping: sendto: Cannot allocate memory
Request timeout for icmp_seq 0
ping: sendto: Cannot allocate memory
Request timeout for icmp_seq 1

I’ve been having a pain in the ass time troubleshooting a laptop’s sporadic issue with connecting when waking up after sleep. I narrowed it down to sleeping when on VPN and, previously, only a restart would help.

My routing table looked like this.

[10:10:23] $ netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.1 UGSc 28 4 en1
127 127.0.0.1 UCS 0 1 lo0
127.0.0.1 127.0.0.1 UH 5 1211656 lo0
169.254 link#5 UCS 0 0 en1
192.168.1 link#5 UCS 3 0 en1
192.168.1.1 0:25:9c:67:d1:5c UHLWIir 26 58 en1 1146
192.168.1.255 ff:ff:ff:ff:ff:ff UHLWbI 0 28 en1

I was able to solve this by removing all routes to my local network, then turning off wifi and reconnecting to my home network.

[10:10:40] $ sudo route delete 192.168.1.0

Hope this helps someone else!

Using github pages on github enterprise

Most github enterprise solutions I’ve seen didn’t configure subdomains per-user like github public does, and I didn’t find any obvious documentation as to how to use gh-pages outside of that style.

For anyone in the same boat I was in, the url structure for github pages without using subdomains is :

http://[your github domain]/pages/[username]/[repo]/

Fix for League of Legends not opening on Mac

There are different fixes for different problems. My problem occurred while trying to open league while connected to wireless but behind a hotspot login gate. I got a UserKernel popup and then the launcher never started again.

I still had the .dmg from install, and the fix (after mounting the .dmg) was to copy the UserKernel.app directory from the dmg to the installation dir.

$ mv /Applications/League\ of\ Legends.app/\
Contents/LOL/RADS/system/UserKernel.app \
/Applications/League\ of\ Legends.app/\
Contents/LOL/RADS/system/UserKernel.app.bak
$ cp -R /Volumes/League\ of\ Legends\ NA/League\ of\ Legends.app/\
Contents/LOL/RADS/system/UserKernel.app \
/Applications/League\ of\ Legends.app/\
Contents/LOL/RADS/system/

I sent this off to relevant people, but wanted to post a fix here in case it helps people searching google and avoiding forum posts because of all the noise.

The One Biggest Problem with Google Glass

After months of using Glass for a variety of purposes in a variety of environments I’ve found that I always end up at one situation that has no good solution.

What do you do with Glass when you don’t want to wear it anymore?

Where do you put it?

Glass doesn’t fold and is delicate, so where does it go when it’s not on your head? If you’re using the sunglass accessory then you have two pieces to manage when you want to go Glass-less.

Glass comes with a carrying bag but it is bulky and still can’t be shoved just anywhere lest you want to risk snapping Glass’s frame. If you’re a typical guy you probably don’t have any place to put the Glass bag anyway, women might have a purse big enough to fit it regularly. Even in my laptop back the Glass case barely fits and causes substantial extra bulk.

This is the best solution I’ve been able to come up with. Does this look convenient to you?

This is how I carry Glass and the sunglasses while out.

This is how I carry Glass and the sunglasses while out.

When would you want to take Glass off?

All the time

  1. When you meet someone, it is polite to take off Glass to show you are giving full attention.
  2. When you’re in a sensitive environment, it’s polite to not wear Glass so people know you are not recording.
  3. When the battery dies.
  4. When you can’t use it (sun, noise, no data, etc)
  5. When your phone dies or doesn’t have service, Glass’s usefulness decreases.
  6. When it becomes too uncomfortable to wear.
  7. When you’re doing anything remotely athletic. Sweat and Glass don’t mix.
  8. When your doing anything that could damage Glass (playing with kids, going on theme park rides, wearing hats)
  9. When you don’t want to look like a tool wearing “Google Glasses”
  10. When you’re in a place that bans Glass.
  11. and so much more.

Glass isn’t useful and comfortable enough to want to keep on at all times so that leaves a lot of times that I want to keep Glass off. If it’s not convenient to transport off my head then it sits at home, unused.

Consider Reinventing the Wheel

“Reinventing the wheel” has earned such bad connotations in the software development community that it’s hard to pinpoint when it turned from “if what exists is good enough, use it” to “if somethings exists, don’t think you can do better.” The emotion behind both those statements is wildly different and many people use the saying to push down people trying to do great things. Even if they fail at the immediate task, they might someday succeed. Don’t be the one who contributes to an extinguished passion.

When I was 13 someone said to me, “everything that can be done, has been done.” Engineering is what happens when you tell that person, “Fuck you.”

“Wheels” are invented by people. “Best Practices” are opinions of people at the time they are needed. Both have a very high chance of retaining relevance over time but should always be reconsidered. You can be the one to reconsider them. You don’t need to wait for a Fowler, Crockford, or a Katz to do it. Maybe you’re smarter than each of them.

Languages can stand to be redefined. New languages are important. You could create one today. Existing libraries aren’t the pinnacle of human achievement. You could be the one to make something better. Reinvent the wheel. Right now.

New wheels will always be developed regardless of what anyone says, but the people who are more likely to be able to develop a new wheel that better serves others are also more likely to be damaged by adverse community reaction. See the very real Dunning-Kruger Effect to read about why smart people doubt themselves and less-than-capable people have unbridled confidence.

Stop telling people “Don’t Reinvent the Wheel” as if you know better. Ask them questions.

“Why is this better?”
“What is this solving?”
“What did you learn?”

When you’re done, ask yourself if there’s something you should have “reinvented” by now.

Do You Work at a Technology Company?

I’ve worked at large companies and startups and know dozens of people who’ve done the same. Everyone comes across those companies who, from all outside opinion, should be regarded as “Technology” companies but end up labeling themselves as something different.

The label is important because it highlights a company’s focus. A service company focuses on service. A media company focuses on media. A hospitality company, you guessed it, focuses on hospitality.

For technology enthusiasts, it’s important to work at a company who respects, invests in, and fosters a solid technology foundation and culture.

How do you know if you work in a technology company?

If you could replace all the technology in your company with a purchased, widely available solution, would you and would the company’s value change?

If the company would still be able to provide the same value at the same cost, you are not in a technology company.

If a substantial portion of your company’s value would immediately disappear, you have a technology company on your hands! Congratulations!

This is an important question to ask yourself because it allows you to recognize warning signs earlier and to make sure you are in a job that you can be happy with over the long term.

This is important.

Recognizing a company’s identity allows leadership to recognize where it can compromise and where it can’t. If a company is conflicted on its identity then it suffers from the inside out with competing interests and lack of focus.

What does this mean for you?

If you find that you are not in a technology company and want to be, you need to leave. You are not going to get what you need and you are fighting what is best for the company.

If you are in a technology company and you are reading this post, you probably have some concerns. Does your leadership recognize they are running a technology company? Do you have a technology leader that can make and execute necessary decisions? Is staffing engineering as important as every other department, or is it anemic and overworked? Is engineering the most respected department in the company, or is it labelled as “IT” and ignored?

If your shoulders drooped at any of these questions, you have some important decisions to make. The most beneficial thing you can do for yourself throughout your career is to distill your future into as few easily assessable scenarios as possible.

If you’re happy, keep doing what you’re doing only more so. Make sure you are learning things that can be transferred to other companies.

If you’re not happy, try to change the company so that it’s a place you want to work. If it works, then great! If it doesn’t, then you know you need to go. If you happen to get fired for your efforts then even better, the choice was made for you!

Figure out where you are, figure out where you want to go, and make sure you act when you see things aren’t working out for you.

My First Few Weeks with Google Glass

This is not a review, because I don’t know what I’m reviewing yet. This is my experience so far.

Glass Prelude

I was one of the lucky bastards who was selected to participate in the Glass Explorer program and purchase Google Glass for the bargain price of $1500 + tax. I’m not that notable of a developer or personality so presume I was a random grab in the Google+ application procedure.

My Glass "application"

My Glass “application”

4 months later, I was notified that I was eligible to order Glass and schedule pickup.

The day my wife was notified that we wouldn't be able to afford food for 2 months. Happy Birthday, Honey!

The day my wife was notified that we wouldn’t be able to afford food for 2 months. Happy Birthday, Honey!

I was given the option to schedule my appointment online and, living in San Diego, I opted to head to the LA office. I made the decision to pick up my Glass on the way to Idyllwild, CA with my tired, hot, and cranky family in the car. Note that the only similarity in direction that LA and Idyllwild share is “North” which, being in San Diego, could also be said about Portland, Boston, and Canada. Note to self: Venice Beach is not remotely “on the way” to Idyllwild.

There was a valet sign for Glass Explorers at the Google LA offices surrounded by smiling Google employees all wearing their Glass (“shale” being their color of choice, it seems). I may have been slightly delirious after driving in hot LA traffic for 4 hours, but the sight of a half dozen smiling nerds was a welcome one. At the start everyone was happy and excited and it was easy to buy in to that atmosphere and get prepared for something fun.

My family and I were escorted in by a couple of employees, given a quick tour, offered drinks and food (mimosa and cookies or “breakfast” as I call it at my house), and set in front of a chrome pixel at our station. I was given the opportunity to choose my Glass color even though I had already picked one during the purchase process. I had selected “shale” (grey) but ended up choosing “carbon” (black). The orange and blue colors are really nice shades and, were I a less self conscious person, I would have chosen orange.

My Glass guide moved me through the pairing process, registration, the standard array of commands, and asked questions as to how I wanted or thought I wanted to use Glass. It was pretty basic and I wanted to play more but had a family to tend to. My son was antsy and was finding google an increasingly entertaining facility to explore and I was afraid of him molesting the displays of obscenely expensive glasses.

My loving family, not a one of them appreciating the incredibly nerdery they were a part of.

My first picture #throughglass. If you have kids, you know that look to mean “Holy shit, get us out of here soon, these kids are about to blow.”

Actual Usage

You’ve already read the gist of what Glass is, how it works, and what it does. Hopefully I can give you something new.


Picture: “Good enough”
There is nothing wonderful about the screen projection, other than the feeling that you are living in the future with an LCD projected in front of your eyeball. It works, but is difficult to read in sunlight and when looking at anything bright. It is not too hard to focus on but extended viewing is not too satisfying, easy, or comfortable. This is not usually a big deal because the information presented in your timeline isn’t enough to make you strain, but this may become relevant now with the latest update and the ability to browse actual websites (and play html5 video. Yeah, for real, right in front of your eyeball).

My wish : That it was slightly larger and easier to focus. It always has a “ghosty” feel due to reflection or being partially out of focus.


Audio: “Neat, but poor to useless”
The “bone conduction” technology used to transmit sound seems gimmicky and barely useful in this form. The theory is that a small, hard plate vibrates behind your ear and transmits sound to your inner ear via bone. In a quiet room you can definitely make out the sound and get use out of the text to speech, but other people can hear it as well so “bone conduction” is not really as critical an aspect as it sounds. In any amount of noise the sound becomes difficult to impossible to hear because 1) it’s not very loud to begin with, and 2) there’s no earbud so you have to compete with all ambient noise as well. The only way I know there is something being said half the time is because the vibration tickles my ear.

Unfortunately this is a pretty big deal because it makes using Glass as a bluetooth mic/speaker for your phone nearly impossible. This is doubly important because the idea of Glass benefits when you have more and more reason to keep it on all the time. I understand the need for non-intrusive audio delivery but this technology just doesn’t work well in common usage.

The audio delivery mechanism, which sits behind your right ear.

The audio delivery mechanism, which sits behind your right ear.

My wish : At least provide an audio jack and earbud options for people who find this important. I would even prefer no audio unless an earbud is used, that is how useless “bone conduction” is ending up for me. This is worth a slightly larger profile or dealing with the burden of an additional part to fumble for.


Camera : Awesome, awesome, awesome. Much better than expected.

I was impressed with the camera right away. It doesn’t suffer from the “press-and-wait” of most cell phone cameras; the picture is taken immediately. This camera does a really good job at capturing the picture the way I want the memory to be stored. This is the killer app for me so far and it’s hard to stress how impactful it was upon first use. I have never been a big picture taker and don’t really like having to worry about camera quality or settings when I’m just trying to capture my memory.

As a father, the memory I have of my children is largely dependent on the angle at which I look down at them, the height at which they look up at me, and eye contact. I can get these memories from Glass.

This is *unedited*

This is an unedited picture from Glass.

My Wish : To be able to take a picture via a two finger press or swipe of the touchpad. The physical button takes fumbling to find and requires coordination to press, and saying “Ok, Glass. Take a picture” is neat but gets tired after the 10th time and gets worse once your toddlers start running around the house saying it.


Feel and fit : Pretty good

Glass is much lighter than I expected and fits my head well. The screen is placed just above my right eye and is mostly in focus. Having demoed Glass literally over one hundred times, I’ve seen it just simply not fit on some people’s heads. Nothing is configurable except for the nose pads and the angle of the screen. If your ear doesn’t fit in between the touchpad and the battery, you are out of luck. If you have glasses, you are out of luck. If you can’t focus on the screen, you are out of luck.

That said, it fits me and fits me well. After long periods my right ear will get sore having bore the weight of glass, but that happens with regular sun and eyeglasses too.

There is a slight squeak as the metal and plastic bend while walking. Ok, it’s not much, but it’s my blog and I can post shit like this.

My Wish : Not much, Google did a damn good job. It also looks pretty slick.


Voice Input : Awesome, cumbersome, and awkward

The good: It does work and works well most of the time, even in loud ambient noise.

The Bad: Sometimes it doesn’t pick up anything, and it will also always pick up other people’s voices. This gets fun when you have people who get a kick out of shouting “OK GLASS, TAKE A PICTURE” as soon as you touch your temple.

The Awkward: When you want to google something, your first thought is “Hey, brain, let’s google this thought!” It is not “Hey brain and mouth, within 200 milliseconds, let us construct and enunciate an appropriate voice command followed by a query that will get us what we are looking for.” This leads to initiating the command for search as your brain gets hit with the first impulse followed by “Um, I uh where is uh get directions to, no, map chicken waffles, wait, michael jackson.”

The Reality: This doesn’t scale. If there were a lot of people with voice activated devices in public it would be so effing annoying. It is also difficult to know just what to ask in order to trigger special handling. I can ask “show traffic near me” and it will show me a map with traffic, but something like “How long will it take me to get home” doesn’t hit. “Will I need an umbrella today?” gives me a nice rundown of the weather and chance of rain, but “What will the weather be like tomorrow?” gives me standard google results. I understand this is complicated, but it’s important.

My Wish : Mind control or more gesture control.


Battery Life : Acceptable

The first day the battery life was awful. There is a feature to activate Glass via tilting your head up and down which works great but also seems to suck the battery down. Turning that setting off improved the life and I have been able to get a reliable day out of Glass. Video recording and navigation drain the battery a lot, a 20 minute video takes 40% of the battery (at least).

My Wish : A removable battery, and move the charging port to the very back so that people could conceivably charge Glass discreetly with a cable running down their back (hey, I would do it). Offer a battery addon that completes the wrap around the head and attaches to the left side. Battery life is going to be important. If Glass is expected to be worn often then it is going to need to be reliable. I can see Glass being commonly used for video recording and that is not something that can be done without worry right now.


Overall

Glass is awesome, but a lot of that awesomeness is that it is new, special, rare, and unique. It requires substantial retraining to use a device like this instead of the phone you’ve already grown reliant on. To retrain yourself you need to use it all the time. To use it all the time you need a reason to use it all the time.

What’s that reason? We don’t know yet. I feel like a guinea pig trying to show Google how somebody relatively normal would use their new toy. Right now I’m using it for pictures, video, and navigation. Everything else is icing and an excuse to keep the device on, but it’s not my core usage yet and, if it disappeared, I wouldn’t notice.

One last thing, you have to get used to being pointed at or stared at every time you wear Glass. People commonly criticize or make fun of me or the device from within earshot either because they aren’t aware I can hear them from 4 feet away or they just don’t care. This has been a fun process of self-growth over the past few weeks but it still takes me considerable effort to actually wear them in public. I used to be very introverted and self conscious but have forcefully pushed myself out of that hole over the past few years. Even still, I need to stop and take a breath before stepping out of my car and mentally prepare for questions, criticism, stares, and curiosity. Yes, poor me.