Version Control Your Computer

Posted on February 12th, 2009 by | No Comments »

I’ve mentioned @carl_youngblood here before. Someone once was trying to buy him something with his name on it. I think it was a key chain. You know the kind, right? However, then didn’t have “Carl” only “Carlos”. So we joked that, one day, he needs to write an operating system and name it CarlOS. Aren’t we funny? I know. I’m sorry. Anyway, the other day, we actually got into some OS discussion that I thought had some interesting enough ideas to post here.

So how many computers do you own and use? I’ve got a desktop at home, a laptop and a machine at work. It’s sort of a bummer to have different stuff or different versions of stuff, or stuff with different preferences on different computers. At least, for me it can really jack up my work flow. Especially if there is some application I use a lot with non-default preferences. Man, that bugs me! Remembering it all, bleh.

One thing Carl’s fantasized about is having a computing environment the same everywhere you go. That’s sort of a mainframe or dumb-workstation idea, which is not new at all. However, what if your whole computer were version controlled? You could branch it (so you don’t have your work apps at home, etc.) and merge changes from one branch to another, if you wanted. You could check out a different branch on one machine and it would feel like you were on another.

Clearly an OS would have to be built from the ground up for this idea. You’d also have to have some kind of provision about storing the non-checked out branches locally. Also cloning the repo would be a hassle at current average (even high speed) connection speeds. But how cool would it be to install, say, Textmate at work and get all your settings right, etc. and then go home and merge that change in (You could merge it from work, I guess and then just pull from home. Whatever.)? You could get diff data (hard to implement, but with metadat not impossible):

$os diff gaming HEAD
+ Steam
+ Half-Life 2
+ X-Fire
- Textmate

Or whatever. You get the idea. Reverting would making backing up and creating, uh… what does Windows call them? Recovery Points? It would make all that easy and moot. Clearly Linus Torvalds needs to be in on this “project”; he has the experience in both OS design and version controlling that would be invaluable. Not that, you know, Carl or I are actually considering doing anything with this idea. It’s an interesting thought experiment, though.

Sudo on Windows XP… Sort of

Posted on December 16th, 2008 by | No Comments »

I’m mostly posting this to document it to myself, since I always forget, but it might be helpful to any readers, as well. You generally don’t want to be logging in to your computer as a user with admin privileges and a sane OS (like Mac OS or Linux), makes it a fairly painless experience. Windows, on the other hand, can be a real bear on the point. Specifically, Windows Explorer doesn’t like to do the whole “Run as…” thing. I’ve discovered a wonderful little run line that will solve this problem.

In the run line (Windows key, then R or click Start menu then Run…) put in runas /u:administrator "explorer.exe /separate". You’ll want to replace administrator with an appropriate user name if that’s not a valid one. A DOS prompt will appear asking for the password and away you go. This tip thanks to Stack Overflow.

I also found something else handy here: You can input run-line commands into the “location” prompt when creating a shortcut from scratch in Windows. So if you don’t want to type out all that /u:administrator stuff all day (or, well, probably not that frequently and you’d forget it), then you can right-click > New > shortcut and paste your command into the location. Call it whatever you want and then you’ve got a shortcut to an admin Windows Explorer right on your desktop.

I find this so much easier to deal with than any other solution when I need to muck with file permissions or any number of things in Windows. Helpful? Didn’t work for you? Thoughts on the site design? Let me know in the comments.