The obligatory “How I Feel About Twitter” post
I resisted Twitter for a long time. I never saw much attraction in knowing what people are doing every minute of the day. I sure didn’t think anyone would give a crap what I was doing (still don’t). However, as time went on and I ran into more people using it, I saw that people mostly ignore that fundamental question (“what are you doing?”) and more often give 140-character insights into their current situation or project or whatever. I began to thaw (if not warm up) to the idea, and now throw my twisted point of view out there on a fairly regular basis. I don’t follow a lot of folks and very few people I actually care about follow me; I doubt it’ll ever be the Big Thing with me like it is some people. I don’t use it for gleaning news or searching for info. If Twitter’s down, it’s not the end of my day or even a big inconvenience. I’m just not that into it.
With that said, I am inclined to wonder a little about Twitter’s future. They don’t seem to be able to get ahead of their phenomenal growth in terms of scalability. Understand that I don’t propose to have a solution for them; I’m not an expert on their architecture or massive scaling in general. I’m not going to say that Ruby is the heart of the issue, or Java VM’s or whatever other reasons the pundits give. I definitely feel for them; I would hate to be in their highly visible position when the gears stop turning. They seem to be at that tipping point, where they’re getting too big for their current britches but the new, bigger britches are still a little bit out of reach.
After last week’s highly publicized outage, everybody and their brother jumped in with opinions on the matter. They weren’t directly under attack; Google and other places were hit, too. Twitter was just the unlucky saps with the most public fail. Why, everyone wanted to know, could Google keep up with the extra demand brought on by the DDOS attack, but Twitter couldn’t (again) ? Of course, to little old me sitting on the outside, far from the hallowed hills of San Francisco and Seattle and Silicon Valley, the answer seems to be reasonably obvious; Google’s freaking huge and well financed! Twitter’s still getting their feet under them. Of COURSE they don’t have the capacity a behemoth like Google has.
There are two broad choices of opinion here: either Twitter is a classic victim of its own success (they simply got bigger a lot faster than they anticipated), or they made mistakes in their load planning. I don’t think anyone could have predicted the Ashton or Oprah effect. The cause is now insignificant; what they do about it is what will define them going forward. It will be interesting to see where they go, and whether it will be fast enough to keep the ever-fickle internet public happy and focused on their product. Will they wither like MySpace, or will they triumph like Facebook?
Either way, I’ll be sure to hedge my bets and not get too attached. Yesterday’s darling is today’s cliche. Better to place my attentions on important things like long, boring blog posts no one cares about—140 characters are for sissies!
Vershun Controle: Yur Doin It Rong
Version control, in a very simplified nutshell, is software that tracks changes to files and allows reverting back to older or different versions of same. In the programming world, its classic use is in a team shop, where multiple programmers may be working on the same file. The version control software, or VCS, time-stamps each change and allows selection or merging of those changes into the production product. If somebody makes a boo-boo, an older revision can be reactivated. All of the change tracking happens more-or-less automatically, so the coders don’t have to worry about the logisitcs.
I had considered setting up version control software (Subversion, cvs, etc.) for my web work, but had always dismissed it as not worth the trouble for a solo coder. No one but me’s going to be jiggling the wires, so as long as I’m careful…right? Well, today was the day for me to pay the piper. I needed to make a quick, minor layout change to a friend’s website…no big deal. I keep a copy of the website on my machine for easy reference, so I just made the changes there and then sent them out to the server.
Big mistake. When I pushed out the changes and then loaded the live page, I immediately noticed that I had broken the navigation–a fancy CSS-driven nested navigation. No problem, I thought; I’ll just roll back the changes in my editor and figure out what went wrong. I control-Z’d all the way back to the original copies of all the files I changed, then sent them back out again…and the nav was still broken. What the heck?!?
I realized then that I must’ve made some changes on another computer somewhere along the way, and never copied them to my home machine. When I over-wrote the server files with my local copies, I permanently deleted those changes and broke the nav in the process. That’s when the scrambling began…this was my friend’s business website, and he would not appreciate my rookie mistake. In short, I felt like a gigantic dumbass. No, I didn’t feel like a dumbass, I was a dumbass.
The most likely place for those changes to be stored was on my work laptop, where I have made copies of his site for offline backup purposes. Usually I carry the laptop home with me at night in case I get a late night call from work, so restoring the files would have been a simple matter. But, that laptop’s motherboard died earlier this week and the new one hadn’t arrived yet, so it’s a brick. No easy fix in sight.
Luckily, the laptop started giving signs of pending demise before it actually died, so I burned an image of the hard drive just in case. I drove up to work and went through the steps of restoring the necessary files from the image, copied them out to my DropBox online folder (and a thumb drive, just in case!), and headed back home. A few uploads later things were back aright.
If you happen to be a programmer of anything that you’d consider important or that you care about, take it from me…you need version control. I very narrowly avoided having to basically recreate this website’s navigation system from scratch, something that would take hours of needless work. Even with the narrow miss, I still spent hours fixing my dumb mistake instead of enjoying a nice afternoon of Mass Effect like I had planned. You can bet that I’ll be more careful in the future, and that I will be figuring out how to set up and use VCS very soon.
Hacking xbox 360’s????
No, not really. But if you are one of many who have something less than the “Ultimate” version of the XBox 360 AND your HDMI monitor doesn’t have speakers, you might need to do a minor bit of modification to the Component Video Dongle Doohickey (CVDD).
In short, audio comes out of the XBox in 2 ways: through the HDMI cable or through the CVDD, the grey cable that plugs into the back of the 360 with all of the RCA cables hanging out of it. If your HDMI monitor has audio capability, you’re golden…connect the HDMI cable and you’re off! If you’re using a PC monitor, though, you might not have built-in audio. So, the obvious solution is to use the HDMI for video and the RCA connectors on the CVDD for your audio. Brilliant!
Except…you’ll find that the CVDD is so freaking huge that it very nearly blocks access to the HDMI port when it’s plugged in. “Ultimate” owners apparently get a very thin, low profile HDMI cable that can co-exist alongside the CVDD, but many 3rd-party cables are too big to fit. I ran into just that problem. I could plug in one or the other, but it was physically impossible to plug both in at once. This is what we in the engineering field refer to as a “piss-poor design.”
All is not lost. I noticed that the shell on the CVDD was a two-part affair and was able to remove it by jimmying a little with a small screwdriver. It’s fragile and will crack easily if you’re not careful, but it can be done. Be careful when you split it in two, as the grey “composite/HD” switch is actually just a plastic cover for a much smaller slide switch—the cover will simply fall off when the shell is taken apart. Don’t lose it—you may want to reassemble the connector later!![]()
With the shell removed, the connector is left with the metal shielding and not much else (no exposed electronics, luckily!). The best part is that, with the excessive plastic gone, I’m just barely able to plug in both the HDMI and CVDD connectors at the same time. You can (sort of) see the result in the poorly-focused phone camera images. It’s certainly not an ideal situation, but it works. If you do this, be aware that the plastic shell also helped the cable strain relief. If you remove it, you should make sure that your cable does not hang so as to pull heavily on the connector housing, or broken wires could result.
I hope MS will redo this arrangement. Since the Ultimate edition purportedly comes with a “slim” HDMI connector that fits, one would assume that they’re aware of the problem. If the connector is MEANT to be covered or disabled, it should be a much more obvious mechanism—even a flap on the CVDD to deliberately cover the HDMI slot would work. The way it is now, with the almost-fits arrangement, it appears to be simple lack of attention to detail. That, or their attempt at fleecing the consumer by requiring the user to buy their special cable.