Category Archives: technical

mysql auto-changes data types

I was making a change to a small table today: adding a field that wanted to be a varchar. The other fields that were of type char all magically changed to varchar when I was done with the alter statement that added one field.

I don’t know if that’s supposed to happen, but it was serendipitous for me, as I wanted to change the char fields to varchar anyway.

And, interestingly enough, if you have a table full of varchar fields and you try to add a char field, it will automatically switch it to match the varchar form, and not switch the varchars back to char.

I didn’t see anything in a quick search on mysql’s website about this behavior, so it’s either undocumented, my google-fu is weak, or it’s a bug.

metering bandwidth

A horrible comparison has been drawn in the following AP article about TimeWarner: “You’re used to paying extra if you use up your cell phone minutes, but will you be willing to pay extra if your home computer goes over its Internet allowance?”

There’s a problem with that statement: lots of cell phone users are going to unlimited time and text plans. I just switched because my personal phone is also my home phone is also my work number. So, switching made a great deal of sense.

My roadrunner bill was for “unlimited” usage. Of course, it’s de facto limited by the speed cap. If they want to meter usage, they could just drop the top speed. It’s how my hosting provider operates: I pay for an “unlimited” 2Mbps pipe to the outside world. I can’t push content faster than that. No per-gig funkiness required.

(Thanks to Ben P on the the TriLUG mailing list for pointing this story out.)

preparing for change (part the second)

As with knowledge capture, so must any successful organization pursue training.

Training need not be formal. It can be self-paced, on-the-job, as-you-go, or formal. I know that I have learned the most about the product I support not from formal training, but from actually supporting it.

Part of that is because we have had a tribal knowledge base, that needs to be captured. But part of it is because what we do varies from customer to customer, based on their environment.

Training must also be focused to the folks who will be undergoing it. Some people learn by doing, others by reading, others by hearing. An effective training program in bringing new people up to speed must, then, combine all of those methods. But training cannot last too long as individual sessions. It would be better to have 1-2 hours of training per day, a couple days a week for 3 months than to have it all in one week, 8 hours a day.

what if google took the day off?

A few of my co-workers an I were chatting recently, and wondered what kind of economic (and physical) impact Google could have if they chose to just shut down for a day.

There’s no Service Level Agreement between Google and the world that says they’ll be there, at least none that I’ve seen or heard of. Just think, though: all those hundreds of thousands of servers being turned off for 24 hours. Think of the electric bill they wouldn’t have to pay?

And wouldn’t every other search provided be thrilled? Certainly they’ve thought about it, and their datacenters can handle the load if Google suddenly went black, right?

Course, if their datacenters couldn’t handle the load, they could have some major problems, maybe even servers having physical problems: melt-downs, crashed drives, horched switches. It’s an interesting thought.

And Google could then happily turn back on after their day off, collecting all the traffic everyone else had lost.

Maybe I’m sick and twisted, but I think it’d be an interesting social experiment.

screen… but for x

I’m sure most Linux sys admins are familair with screen – it’s a virtual terminal multiplexer that allows single logins to be ‘detached’, then resumed later. This is fantastic because it means what you’re doing can survive connection failures, you can share it with other users, etc.

Windows has a similar tool called ‘Remote Desktop’, which runs on the RDP standard.

I would *LOVE* to have the same functionality available in Linux: be able to remote into an X session, picking up its last state (presuming that user had already been logged-in), or to be able to launch a new session, then disconnect later, and pick it up again whenever I want to in the future.

I have no idea how hard that may be to implement, but it would rock.

computers were made for americans

Or at least, they were built for people who speak English.

Evidence for my claim: the first electronic computers were built during WWII by the British and Americans for code breaking; the first programming languages were designed, written, and implemented by Americans and British; the transistor, which led to the IC, was developed by Americans; the integrated circuit was designed by Americans; the Internet project was funded by the Defense Advanced Research Projects Agency (DARPA); Tim Berners-Lee was born and raised in England, and invented the World Wide Web.

Most programming languages are written from left-to-right. Interfaces are designed to be read and processed from left-to-right.

I wonder how different computers and interfaces would appear if they had been originated in a non-English-speaking country, or non-Western culture?

Would they seem more intuitive to us, or less? Would they be easier to use, or less? Would countries like China be leading the world in technology, with the US being some kind of feeder economy if computers had been invented elsewhere?

What do you think might be different if computers hadn’t been invented for Americans?