This version of the site is now archived. See the next iteration at v4.chriskrycho.com.

JIRA, Confluence, Intranets and Windows Firewall

For my work with Quest Consultants, I've been working on setting up version control, issue tracking, and document control. After doing quite a bit of research, I settled on a few Atlassian products, integrating JIRA and Confluence with Subversion (you just can't beat TortoiseSVN for a Subversion client).

Installation goes off without a hitch, generally speaking, but I started to run into a singular, most annoying problem: I couldn't access the site on the intranet. Read on, intrepid explorer →

Starting to look more closely at the code I’m going to spend the next few months with. Oh, my…

My new favorite font for writing: Bitstream Vera Sans, discovered via Jesse Grosjean’s fantastic WriteRoom app – which all Mac-using writers should look into. The font is free for everyone; go get it!

Platforms and data: or, why Google+ needs Hootsuite

We’re quickly approaching Google+‘s first birthday, and the search giant’s social media platform has found a core audience, but it has never caught on to the extent that Google hoped or the tech media hyped early on. That core group of tech enthusiasts has certainly put it to good use, with voices like Tim O’Reilly finding an even broader audience and a medium that suits him well.

For most of the population, though, Google+ was a novelty that never went anywhere. Read on, intrepid explorer →

User Agent Detection Will Get You In Trouble

One of the joys of corporate IT policies is seeing how things break when you’re in an unusual configuration on the web. Like, say, running Firefox behind a corporate proxy that tells every site out there that you’re actually running IE7. This morning, I paused from other tasks to read an article on a well-known religious commentary website, and saw a message at the top alerting me that I’m using an out-of-date version of Internet Explorer (which I would be if I were running IE… but this is on a relatively up-to-date version of Firefox).

Bad enough that for whatever reason our corporate IT has taken to spoofing outgoing traffic this way when routing through their proxies. (One wonders just how much of the reported IE6 or IE7 traffic on the web comes from this sort of thing.) But the real problem is that the site I visited was broken. Horribly, horribly broken.

That message – “You’re using an outdated version of Internet Explorer” – told me why. Read on, intrepid explorer →

You’ll pay more tomorrow

I’ve spent a fair bit of time recently working on a project that, all things considered, really shouldn’t be that difficult. A client wanted a change made to his web application, a change that is simple in concept and – in theory, at least – should be equally simple in execution.

But it isn’t, and it’s not because of any hidden complexity in the task itself. Rather, the problem is that the code base for the web application is, to put it bluntly and without a hint of hyperbole, awful. I’ve worked on a fair amount of legacy code on various projects, in various languages, over the last few years. This one is the worst.

Individual functions hundreds (perhaps thousands) of lines long. No comments. No object orientation to speak of. Hackish solutions to problems all over the place.

But this isn’t a complaint post. It’s a request to the thousands of people in the world who are tempted to say, “Well, this will work for now…” Some of you are developers yourselves; others are simply dabblers. Whoever you are, whatever your context, whatever your project: there is a problem with “This will work for now,” and that problem is called tomorrow. Read on, intrepid explorer →