John Kary

Who is to blame when the magic runs out?

Amazon S3 experienced an outage yesterday, making some SaaS products appear broken while others downright unusable.

When they breakdown, the technologies that empowered us so effortlessly now limit us. We become demoted from value-add to net negative. And it’s all beyond our control because we don’t understand the magic behind that technology’s curtain. We look to project failure onto someone else–onto the real reason we can’t do more.

But when it’s broken, who is to blame?

Read more…


How I almost died in Costa Rica

The sun is plunging into the ocean. This might be the most beautiful sunset I’ve ever seen. Because an hour ago that was me, awash in the ocean, in danger of going under.

I almost died today.

I’m fortunate to tell this story instead of being its subject. What happened?

Read more…


My favorite albums of 2016

I’m a little old school. In an age of purchasing tracks I still prefer listening to albums start to finish. Appreciating how tracks are arranged one after another and how they transition from one to the next is very important.

Music and coffee are my lifeblood. Coffee is difficult to share, so please accept my favorite albums released in 2016, including statistics on all music fed into my ears.

Read more…


Metallica, Hardwired… To Self-Destruct - Album Review

Look. “Hardwired… To Self-Destruct” is to Metallica as “The Force Awakens” is to Star Wars. “New” can never top “old.” The best “new” can only ever co-exist with the “old” by simply not fucking up its reputation. With me so far?

Read more…


Attending and speaking at DrupalCon, May 2016

Last week I spoke at DrupalCon 2016 in New Orleans. While I anticipated a fun conference with great talks, I came away more impressed with the Drupal community as a whole. Their tireless effort to include anyone and everyone was refreshing in a way I can only describe as “human.” There’s no question that the future of the Drupal ecosystem is bright, mainly thanks to the amazing people surrounding it.

Read more…


The Cosmos series reinvented, Cosmos: A Spacetime Odyssey

Carl Sagan’s original series The Cosmos is inspiring a reinvented series with the same mission: amaze people with the truths of science.

Read more…


Introducing SpeedTrap: Finding slow tests in your PHPUnit test suite

As your test suite grows, you can expect it to run longer. But if you’re not careful, some slower tests can creep in and disproportionately increase your suite’s total execution time.

Introducing SpeedTrap: a lightweight PHPUnit listener that reports on slow-running tests right in your console.

Read more…


Stop building broken password inputs (and how to work around the offenders)

I have run into some sites (usually within a security-focused domain like banking or health care) that use misleading or downright bad security practices during their user registration process. Overall these practices decrease the user experience, and at worst encourage their users to succumb to poor security practices.

Why might these sites choose to do this? What are the side effects? And how can savvy developers work around them?

Read more…


Review: Tom Bihn - Buzz Sling Bag

I am fairly picky when it comes to bags. As one piece of equipment I use daily, it must feel like an extension of myself. I won’t put up with a sub-par bag with lots of bulk and extra features I won’t use.

When I first heard about the Buzz bag by Tom Bihn it sounded great, even if it cost more than any bad I had ever owned, so I ordered it. After a solid 18 months of use I can detail the great, good and my wish list for its next version.

Read more…


Useful Commands For Efficient Symfony2 Development

These commands allow me, and hopefully you, to work faster and more efficiently with the Symfony2 framework.

Read more…


Deserializing XML with JMSSerializerBundle in Symfony2

Serializing existing objects with the Symfony2 JMS Serializer Bundle is pretty easy, but deserializing a third-party XML response is a bit more work.

Read more…


Now Powered By Jekyll

A few of my previous posts have been fortunate enough to become front-page worthy on Hacker News and /r/programming. But the rush of traffic toppled my WordPress blog. So I toppled WordPress and replaced it with Jekyll.

Read more…


git add -p: The most powerful git feature you're not using yet

The Pragmatic Programmer advocates you should know your editor inside and out. So why don’t you know your version control system just as well? Discover git add “patch mode” and learn how to make more concisely crafted commits leading to a cleaner git history and more friends.

Read more…


Developers: We are no longer Apple's target market

Over the last few years, especially since the release of Lion in July 2011, there is an air of neglect floating amongst the development community that use Apple hardware running OS X as their primary workstation. Many developers feel Apple is not focused on their best interests as developers and are frustrated with new Apple products.

When Apple released their Q3 Financial Report yesterday, I was finally able to put statistics to backup the feeling of neglect.

Read more…


I Am Replaceable: Leaving my job at KU

I’m not good at quitting things. But I knew someday I would have to quit a job for reasons beyond, “I’m moving to go to school” or “I graduated and am taking a job in my new profession” or some other natural progression from one life stage to another.

But Friday, July 20, 2012 was my last official day as an employee of Information Technology at the University of Kansas.

Read more…


Color temperature and why I don't yet own an iPad

Like some of you, I have not yet caved and bought an iPad. Or any other tablet device, for that matter. But given that “the new” third-generation iPad was officially made available at 8:00AM this morning, that might change soon.

But even with its revolutionary display panel, I’m still reluctant to buy for one small, but very significant feature that’s still lacking: color temperature control.

Read more…


git 1.7.8 changes for the everyday developer

git 1.7.8 was released a little over a week ago. Most changes will probably not affect your every day use of git, but a few new features should be useful.

Read more…


I didn't know it couldn't be done, so I did it

Steve Jobs visited Xerox in 1979 to see the Xerox Star: a computer promoting a revolutionary graphical user interface.

Jobs loved what he saw. Xerox had developed one of the first GUI’s, one that would ultimately lay the foundation for the concept of “windows” (small W) and the “desktop” we know in modern operating systems.

When he tasked Bill Atkinson, Atkinson created something even more revolutionary…

Read more…


Getting into The Zone: Music

I want to talk about how Music affects my ability to be in The Zone: that “deeply creative space where inspiration is built”, as Rands puts it. That mental place where you’re so focused that nothing else matters except the bug you’re hunting, the feature you’re cranking out or the blog post you’re writing.

By the end of this article I hope you have a better sense of how you choose what to listen to, and that I introduce you to some new artists to increase your productivity when working.

Read more…


git 1.7.7 changes affecting the everyday developer

git 1.7.7 was released within the last few weeks. You can view the 1.7.7 release notes for a full list of changes.

Most changes will probably not affect your every day use of git, but two new additions should prove very useful for many developers.

Read more…


Thoughts on Carl Sagan's "Pale Blue Dot"

Carl Sagan’s book “Pale Blue Dot” is a truly inspirational book. It has given me a new outlook on the fragility of life on Earth, and cultured new thoughts on what interplanetary travel might mean for the future of the human species.

Here, I detail some of my thoughts on the ideas expressed in the book.

Read more…


JavaScript Effects: Knowing "when" is more important than "how"

You have undoubtedly seen many tutorial sites showing off how to implement the newest whiz-bang features of modern JavaScript libraries. While most of these sites do an adequate job of showing users “how to” implement features, they almost always neglect teaching when to use these techniques, and more importantly, when to forgo them.

Read more…


Who Cares? Crowdsourcing Your News Intake

Looking at some generic news aggregate site, it seems there’s a lot of important things going on in the news. Some radical pastor wants to burn Korans. Huge fires are engulfing a San Francisco neighborhood. “Evil” zombies are now back. In 3D.

Does any of that really affect you? No, really… does it?

NO! And if you think it does, it doesn’t. Want proof?

Read more…


MediaTemple "WordPress Redirect Exploit" exposes weakness in GridServer security

Instances of WordPress installed on certain clusters of MediaTemple’s GridServer were recently hit with an exploit that appended an external JavaScript to each post’s content field, ultimately redirecting to redirecting to a TinyURL address, resolving to the domain qooglesearch.com.

MediaTemple asserts in a July 16, 2010 blog entry, “We do not believe that this is an infrastructure issue, but we are still investigating the root cause(s).”

I believe I have evidence to the contrary.

Read more…


I May Be Doing it Wrong, But I Have My Sanity

Marco Tabini recently wrote on the php|architect blog that “programmers are doing it wrong.” He argues that many programmers have become hung up on writing mythical perfect code that abides by all modern best practices instead of doing what we are hired to do: solve problems quickly and efficiently. But if you spend time writing it well the first time, you too can save your sanity.

Read more…


Nominating Lawrence, Kansas for Google's fiber network experiment

Google announced yesterday on their blog that they are venturing into installing fiber-to-the-curb for residential users, essentially as an alternative ISP. Their goals include not only delivering faster Internet to more people, but also giving developers and users a wealth of bandwidth at their disposal and see what they can do with it.

Google asked for nominations of cities that might be a good fit for the project, so I wrote a recommendation letter for where I live in Lawrence, Kansas.

Read more…


Ditch Outlook/Entourage for managing your Exchange calendar using DavMail and iCal

Using a little app called DavMail, you use any CalDEV-enabled calendar app to manager your Exchange calendar, including Apple’s iCal. From their site, “DavMail is a POP/IMAP/SMTP/Caldav/LDAP exchange gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or Apple iCal) with an Exchange server, even from the internet or behind a firewall through Outlook Web Access.” So assuming your company has OWA setup, keep reading.

Read more…


Keeping your users' trust in web applications

Trust is priceless. Breaking the trust bond in a relationship, whether friendly, emotional or vendor-to-end-user, is a serious breach of social contract. As web app developers and content creators, we must instill trust in our users with the goal of making them feel comfortable using our applications and ultimately giving up some of their personal info.

Read more…


How to upgrade a Symfony project from 1.2 to 1.3/1.4

Today, the Symfony crew has released Symfony 1.3 and 1.4. I recently deployed a pretty basic 1.2 app, and decided to try upgrading it to 1.3, and then on to 1.4, just to see if these “easy upgrade” claims were as advertised.

I will be following the 1.2 to 1.3/1.4 Upgrade Instructions below, so you should read over them before we get started.

Read more…


Fixing Evernote Error "The file Evernote.sql could not be opened."

I’ve been having a battery/power issue with my MacBook Pro recently where it will turn off if the battery power has much less than 0:10 minutes left. You know, after the “You are running on Reserve Power” message comes up, but before it fully drains and (normally) puts itself to sleep using SafeSleep. So what do these power issues have to do with Evernote? A lot if your notes database becomes corrupted.

Read more…