John Kary

Picks: March 23, 2014 - Cosmos: A Spacetime Odyssey

Only one pick this week, and it deserves its own post.

Continue reading…

Picks: March 10, 2014

This first installment of Picks focuses on ways to stay alert and informed about severe weather and tornadoes.

Continue reading…

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.

Continue reading…

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?

Continue reading…

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.

Continue reading…

Useful Commands For Efficient Symfony2 Development

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

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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…

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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 forego them.

Continue reading…

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?

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…

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.

Continue reading…