I was having a conversation with a colleague of mine and we got on the topic of having to switch gears during the course of a work day, and how disruptive it can be. Many programmers, once focused, get into a “groove” while coding where everything else just fades away and the code becomes the main focus, and many bugs and features can get done in a short amount of time. Any programmer can tell you about this groove and how awesome they feel when they come out of it, finishing everything they had on their todo list.
There is the disrupt, however. The disrupt happens whenever you are in your groove and are pulled out right in the middle of your focus. I likened it to being a mack truck cruising along at full speed only to have your entire engine cease up on you, stopping you dead in your tracks:
how i feel when i have to immediately switch gears to a different project.
Disrupt is almost unavoidable when you work in a team on multiple projects, what really matters is how you handle it. Its really easy to get aggravated but you have to remember that your boss is just doing their job as well. The problem with a disrupt is that once it happens, it cannot be undone. There are a few things I’ve done to handle the disrupt in the best way possible:
Question the urgency: This requires a bit of finesse, but ask the person with the urgent issue how urgent the issue really is. Sometimes just talking it out for a few minutes can actually get you back to the task you were previously on.
Finish up current task: Since you’re a good programmer and break all of your work into a todo list, you should have very defined breaking points to your work. Ask your superior for a little bit of time to finish your current task and then you can get to their issue.
Wear headphones: Probably the most anti-social thing to do on this list but it will help you maintain focus, and most of the time people are less likely to walk right up to someone with headphones on. Funnily enough, this is the top response I got from my developer friends as to what they do when they get disrupted.
I think the paramount thing to remember after getting hit with a disrupt, is to keep your cool, and remain collected. All too often our first reaction to being disrupted is frustration and anger at being pulled out of such a blissful place. It’s good to keep in mind that while you are doing your job, your manager is just doing theirs. If you know you are going to try and tackle a lot of issues and really don’t want to be bothered, take a moment and tell your managers that you will be very focused that day and to try to keep the distractions to a minimum. 37 signals’ book Getting Real has a great section on talking about just this.
Facebook has updated its iOS SDK to 3.0. This adds a TON of awesome features, and add this with the 6.0 integration, and theres gonna be a lot you can do with it.
A interesting article that calls for people to stop blaming IE and older browsers for holding the web back, when methodologies exist to handle them. Make sure to read the comments as well, some good points are made in there as well.
This past weekend, AWS suffered a huge outage on its east coast data center located in Virginia, which resulted in a multitude of sites, such as Instagram and Pinterest, going down or becoming unresponsive. The main cause of this outage is simply known as a single point of failure which means that because one data center lost power, the entire site went down. With all of these major sites going down, I think this is one of the best times to explain to clients, at a very abstract level, about load balancing their servers.
To put it in easy to understand terms, think of the old time Christmas lights; as long as all of light bulbs are intact and working, the entire strand works perfectly. If you take one light bulb, or if one were to break, the rest of the strand goes dark and you’re stuck with a pretty sad looking tree. This is known as a “series” wiring scheme and is very susceptible to a single point of failure. Most servers hosted outside of a cloud setup can be victim of this kind of failure.
Some of you may say to yourselves, “but I have strands that don’t go out with a single light break!” This is true, and those strands are using a “parallel” wiring scheme in which all of the lights are connected, but there is a secondary wire that connects the strand together in case of a failure. Many cloud hosting providers offer this secondary “wire” for your servers on the cloud, although most of the time this wire is never created.
Amazon does offer something similar to this thinking, called Elastic Load Balancing, which will automatically route your users to the best instance available. It seems to me that while it should be a no-brainer to get a segmented sever solution, it seems many clients choose not to spend the extra money. Perhaps explaining to our clients in simple terms exactly what happened and how to prevent it, we can all avoid any headaches that these outages may cause.
While working on ImGame, we wanted to do a different type of animation for our refresh bar. We had a cool loader designed, but it was quite hard to get it executed. I initially created a subclass of UIImageview that had a timer set to it to cycle through images, which kind of worked, but seemed very….wrong. Luckily i had a stroke of genius, and decided to RTFM about UIImageView and lo and behold there was UIImageViews’ animationImages property.
Basically you set an array of images to the ImageView, set a few properties (shown below) and have it run.
I was browsing around the net and I happened across a pretty cool ad that ford put together. This really was interesting to me seeing that I lived in the keys for ten years. I think it was a great idea and a pretty cool looking execution.
Basically its just two ford focuses (focii?) running a route through Key West from one end of duval street to mallory square. The really cool part about the video is that they gathered video from all the people on the streets and made their commercial from that. Heres the teaser commercial:
The ad leads users to http://ford.com/focusST to view the full fan made video but unfortunately the video is an error, so I can’t really comment on the final product.
As the work on ImGame came to a spot where we wanted more tester, we decided to look into ways of having a beta program. The most commonly used way is to use TestFlight, an awesome framework that helps iOS developers doing just that. Unfortunately i’ve used this service before, and wasn’t a fan of having to make my possible users sign up for a third party app before signing up for ours. I began to scour the internet for a better way, and luckily there is one.
Its a rather simple process but i was surprised how many of my iOS dev friends weren’t aware of it.
I definitely think this is a much easier, although you don’t get all of the nifty features that test flight offers.
The post i linked above is a bit outdated so ill do a quick updated refresher, assuming you’ve read the above post.
Stack overflow is running out of room – Another stack exchange related article, but this one explaining the issue of running out of room on their current servers. Love the transparency of the company here. If all companies were this transparent!
Path is sending more than just your info – This is a big whoopsie, which im sure they’ll fix asap. I understand the logic behind it, and sometimes in crunch mode, you’ll make a decision like this. The best part of this is that a representative answered immediately to it.
I’m going to start doing an installment here on videogame bosses I fondly remember getting my ass handed to me time over time. I hope you enjoy!
If you’re familiar with this image then you’ve gotten relatively far in a pretty popular game, Final Fantasy X and had to battle this asshole, Seymour Flux. I remembered this point as a very pivotal location in the game, as its where I just. couldn’t. beat. him. I could have gone back and grinded my characters up but this location is so late in the game, going backwards would take more time than possibly it could be worth. I happened to come across this thread on reddit where other gamers expressed the same frustration, at the same location. I shelved the game for well over a year before starting over from scratch, bulking up my characters, with the sole purpose of wiping the mountain side with his corpse. When i did, it was glorious.