Although I’ve been in hiding…

Wellness

Categories: General

I promise to come back. Really. Sorry for the clear lack of posting – school, learning Ruby on Rails, and training for the ACM ICPC competition next fall burlesque costume have had me swamped. To be honest, I was a bit overwhelmed with (although appreciative of) the response to SpryMap, and I truly appreciate all the bugs that you guys have reported about it. I’m hoping for a chance to sit down soon and work out the kinks.

Until then, happy coding!
Charlie

Introducing SpryMap, the easy to use click and drag javascript widget

October 31, 2010

Categories: Javascript, Widgets

SpryMap - click and drag javascript map widget

Over the past few days, I’ve been hard at work on SpryMap. SpryMap is a super lightweight (2.8 KB), dependency free Javascript widget that turns any HTML element into a Google Maps-like click and drag window. I’ve taken the theory behind my jQuery click and drag map here and souped it up, making it better in every way. Let’s look more in depth at the changes made: Read more

Blog Redesign

October 26, 2010

Categories: General, User Interface

Overnight, I made some changes to the blog – I tried to keep the overall look and feel the same, but had to fix a few things that had really been irking me. Here are just some of the things that I’ve altered: Read more

I wonder if I just wasn’t paying attention…

October 20, 2010

Categories: General

Over the past few years at Michigan State, I’ve noticed two main types of majors. On one hand there are the knowledge-centric majors, where most of the emphasis in the curriculum is placed on knowledge. Most liberal arts and natural science majors fall under this category – I’m not even going to try and assert that computer science has as much necessary knowledge as these do (especially natural science majors). Many of these knowledge-centric majors turn into skill-centric professions (law and medicine, as examples). To be honest, this type of studying sends chills down my spine – I’m just not that great at it. On the other hand, I’m certainly glad that a whole, self-loathing segment of the population is good at it. Read more

On account of passing German and algorithms…

October 18, 2010

Categories: General

Happy tiny blog post day!

Which roads lead to greener meadows?

October 17, 2010

Categories: Ethics

I’ve heard a lot of complaints about computers in my life, and most of them are honestly hogwash – anyone who thinks that they are truly saving time by refusing to use technology is setting themselves up for a thwap on the head by an enemy called reality. With that being said though, I’ve heard a few complaints that I believe have some merit:

  • Computers give people new ways to waste their lives. To tell you the truth, I’m not sure what to say about this one – you can give the world some fabulous new technology (the trend started long before computers) and within a week you’ll discover hot lingerie hot lingerie that the earliest adopters were people trying to use it for… well, less than noble causes. (See the fact that the Japanese porn industry was one of the driving causes behind the adoption of Blu-Ray discs over HD-DVD’s – and calm down people, it’s just a link to PC World) I think that this phenomenon isn’t unique enough to the computer industry to justify any sort of complaint.
  • Technology creates a new barrier that causes the world to be less personal. In all honesty, I believe this one can be very true. Now, before you leap out of your seat and throw your computer into your neighbor’s kiddy-pool in protest of what I said, let me explain: computers are good at doing what they’re told very, very quickly. As a result, given the right instructions, they’re capable of creating an environment where the computer is unbelievably responsive, where for every pixel your mouse moves, zillions of tiny pixels light up across the screen (Google ball logo, anyone?). The human brain loves this type of thing for the same reason that it loves knocking down living rooms full of dominoes – we love to see maximum manipulation of our environment for minimum effort. This is great if the programmer is incentivizing a positive act – let’s say, watching a puppy jump around his screen after volunteering at a local puppy shelter. However, it seems that, just as often, things are incentivized that just aren’t that important.

Read more

Greedy realists

October 14, 2010

Categories: Ethics

There’s a certain type of person that just drives me nuts. “You’re a liar!” you say, if you know me well enough, because there are actually a lot of types of people that drive me nuts. But there’s one type of person that drives me really nuts – I call them the “greedy realists”. Read more

The evil in interruptions

October 5, 2010

Categories: Smart work

Last Friday night, I went with my family to see the movie The Social Network. It’s a truly interesting movie, regardless of whether you like Facebook, programming, or even the internet (Aaron Sorkin, the movie’s writer, can be quoted as saying “I’m not a fan”, which is alright because I still love him regardless). One thing that struck me, though, was how the conditions under which Facebook was created were depicted in the movie. According to the movie, it appears that the code behind Facebook mystically took form through some mixture of tequila, sex, and loud music – a combination of things that I’m fairly sure that any programmer can describe as, well, less than ideal working conditions.

Read more

The art of getting things done

October 4, 2010

Categories: Smart work

So, it all starts with an idea.

Some day you happen upon an idea and you say to yourself: “The world would really be a better place if it had <insert your idea here>. I wonder if anyone’s thought of this before? You know what – I could make this!” Let’s say that you really really think that a teflon Slip-and-Slide is going to make everyone in the world happier – how could anyone NOT like it? It’s like a zipline combined with a pool and then put on steroids! And that’s how most ideas start.

Read more

What to minimize when optimizing MySQL queries – fields selected or queries made?

September 15, 2010

Categories: MySQL

Every half-decent MySQL programmer knows that, when making queries, it’s important to minimize both the total number of queries made and the number of fields selected in each query. The importance in minimizing the number of queries made stems from the fact that executing a query is a rather expensive operation. The importance in minimizing the number of fields selected, however, comes from logic; the more information that the query must return, the more expensive the query will be.

Many times, these two optimizations are at odds with each other, especially when attempting to implement code in an abstract and extensible way. So the question is posed – which of these affects the overall speed more?

Read more