Developing asychronously

Why it works for Github, but maybe not for the rest of us

These days, it’s not hard to find a Silicon Valley startup that claims, not so modestly, that it’s changing the world. And while it’s true that some startups are doing just that, the not-well-kept secret is that most of them aren’t doing anything productive, much less profitable, but still somehow find ways to get funding. But one startup, Github, is unique: not only is it changing the world, but it’s changing the way startups change the world. Github’s about page claims it hosts over two million repositories, which include the likes of the Facebook SDKs, the popular JavaScript framework jQuery, and the open-source release of Doom 3. It was even the primary home to arguably the most important open-source project ever, the Linux kernel, when its usual home was compromised earlier this summer.

And while Github is making a huge difference in how people write, store and track their source code, it’s also starting to affect how people develop software. This is an important distinction, and failing to optimize the processes and philosophies that you and your team take while developing software can lead to productivity losses just as severe as bad developers or bad bugs.

LESS is more

How you can have fun writing CSS by writing LESS

We recently finished up the latest major version of a project at work, a web application that allows our clients to view Facebook Page analytics that we generate and empower them to craft their future social media strategy. The project has seen a couple iterations, but for this one, in an effort to make the whole thing simpler, we reworked most of it from the ground up, including a brand new user interface.

But while CSS is a very powerful tool, this web app was going to require a lot of it, using features from every version of CSS. And while “graceful degradation” was our methodology to some degree, the last version of this product didn’t support any browser except Chrome (because of time constraints) and it was made clear that this time, we would need to support all major browsers. This would mean hundreds of rules, nested rules, exceptions to rules, and fixes for The Browser That Shall Not Be Named.

So in an effort to simplify our CSS develop/test/deploy cycle, we decided to employ LESS, an extended CSS with support for nesting, variables, imports, and expressions.

Learn the code. Love the code. Be the code.

Just another day at the office.

When I was born, my Uncle Jim (who has since passed away), who was a newspaper columnist, wrote me a letter welcoming me to the world and introducing me to my family. It was a neat idea (and a tradition I plan to continue), and in the letter, he predicted that because of my genetic makeup, I’d be an All-American, All-Academic starting linebacker for the Ohio State Buckeyes.

My parents, who probably read the letter the night it was written as opposed to discovering it buried in family photos years later, probably read the letter and chuckled. Given the fact that my parents are both computer programmers, I can imagine one of them saying, “there’s no way that kid’s not a programmer.” (I’m not sure what this says about my sister, who will probably cure cancer one day but can’t defragment a hard drive to save her life.)

And if one of them said that, they were right. I’ve been fascinated with computers since I was in elementary school, launched my first website back when Albert Belle was slugging home runs for the Indians, started writing programs in middle school, wrote a full web app in high school, and never looked back.

Well, kind of. Because there was definitely a time over a period of the last few months and years where my computer science knowledge stagnated, where my interest in the field was at a low point, and where I just felt burnt out. But lately I’ve felt that drive again, that addiction to building awesome things that only software engineering can deliver.

It’s been such a long time…

So it’s been a while (12 days) since I last blogged, and I thought I would tell you, my faithful readers, why.

It’s not that there isn’t much to blog about. I could talk about the new iPhone, I could talk about Hillbama, I could talk about gas prices, and I could talk about the Indians, among other things. I think the main problem is that my favorite time to blog is the morning – between the hours of 8 AM and 11 AM. In the summertime, I’m working during those hours, and thus can’t really blog (although I do take a break around 10 to read the news and such).

But another issue with my lack of blogging is that sometimes you just need a break. Typing all that stuff, especially after a long day of coding at work, isn’t easy, and recently when I get home I’ve been spacing out for a while before resuming work on some projects which maybe I’ll get to share with you soon.

But anyway. As always, thank you for your patience as I take a little summer vacation. I’ll be updating less frequently this summer but I imagine I’ll be back to my normal frequency in a few months. Thanks, as always, for reading – I’ll be writing again soon.