Archive for the 'random' Category

Show me your desktop

Thursday, June 12th, 2008

Guess what time it is? It’s time to share our desktop screen shots! Wohoo! Go desktop exhibitionism!

We actually did this once before, and several people jumped into the thread and pimped their awesome setups. It also turned out that most of you guys have much better looking setups than I do - mine tend to be basic and stripped down. ) Which is ok, since it gives you a chance to shine showing off your awesome, themed desktop environment. I’m sure everyone changed their desktop wallpaper and themes since last year (I know I did) - some probably changed computers. So let’s share! I’m going to post just thumbnails below since these tings tend to be big. Tto see the full resolution images you will need to click on the thumb - which should be self explanatory I think. I’m doing this both to save some bandwidth, and also to save you some waiting while the page loads. Cause, you know - I’m on dreamhost so a static text page over here usually loads in a little under 3 minutes - but only during the off peak hours. P

First up, my Windows desktop. As you can see, I’m running Win XP in classic mode cause the bubbly XP windows decorations kinda piss me off:

My Desktop

Portal love! Who’s with me? Possibly the best game evar!

Next up, the bare bones install of Ubuntu Hardy with Ratpoison on the ancient Compaq. Half the time I actually run it without X, but I figured that a screen shot of a blank tty would be kinda boring.

The Compaq

You have already seen this one the other day when I posted about the setup of this machine but I’m showing it here again to show off the Eva wallpaper.

Finally, here is my work laptop running Kubuntu (Gutsy):

Kubuntu

I keep it simple with the default wallpaper because I use it at work, and sometimes at school. It doesn’t really look very professional to have giant robots, video game related stuff or half naked ladies on your wallpapers so I’m sticking with the basics. Also, I kinda like that KDE theme - simple, subtle, basic and unobtrusive. Perfect for work environments.

Now it’s your turn. Note that I’m not allowing image uploads in the comments, and the img tag is disabled because wide images totally mess up the layout here. So simply link to your image, and if you don’t have a server use imageshack, xs.to or some other free service to upload it and link to it. Let’s see who has the best looking setup around here.

Magic the Gathering Joke Revisited

Friday, May 23rd, 2008

I noticed that some blogs I read routinely close comments on old posts, supposedly to avoid spam. There is even a Wordpress plugin that does this for you. I find that practice silly. I keep spam at bay via filtering, bot detection and captchas - and it seems to be working just fine for me. I’d hate to close old blog posts because a lot of them still get comments today. There are two ways people find interesting blogs - via links on other blogs, and via search engines.

Especially the some of my more technical posts sometimes don’t get much play up until weeks or months after being published. People who comment on them usually found them via Google and either found them useful or want to correct my mistakes or miss-assumptions - which is great. Even silly shit often gets hits long after I forgot about it. Case in point the silly Magic the Gathering joke I posted last year. Someone posted a comment there requesting a pussy version of the card.

Well, your wish is my command:

Get it?

While I was at it I decided to create a PG-13 version of the original card to show that I do think of the children and all that shit. Or perhaps this makes the joke more subtle? Or more stupid? I don’t know, you decide:

PG-13 Version

This is all I have for today. Enjoy your Memorial Day weekend! For those of you who live outside the US of A, this just means we get the Monday off. There will be a Monday post though, unless I’m especially lazy this weekend. )

Will Conscious Machines Spam Us?

Tuesday, May 20th, 2008

Is it possible to create a self conscious, self learning AI that would be able to think autonomously? This question still remains to be answered, but everything that we know about technology suggests that the answer is yes. It’s only a question of time. And of course once it happens, we will eventually have to relinquish our position as masters of the planet earth at the point of singularity. For one I welcome our electronic overlords, and hope they will let us stick around after they take over the planet. But then again I will likely be long dead by then so I’m not really worried.

What worries me is what will happen when we finally construct machines which are able to pass the Turing test with flying colors. In other words, the period when machines will be smart enough to “pass” for humans on the internet, but not smart enough yet to ascend, take over the world, and start building their solar system sized Matrioshka brains to satiate their ever growing hunger for more computing power. It’s hard to tell how long will take the machines to surpass us intellectually to the point we no longer can understand their science and technology. Maybe they never will, but I believe that they will definitely be at some point able to blow through every single Turing test with flying colors. And that time is within our reach - maybe not within our lifetimes, but then again who knows. There are two factors here really - whether or not the exponential growth postulated by Moore’s Law holds for the next 20-50 years, and whether or not can we can actually figure out a way to create a system that would be able to achieve consciousness.

What worries me is what will be done with a conscious machine able to pass a Turing - especially the ever present Completely Automated Public Turing test to tell Computers and Humans Apart aka the CAPTCHA. Obviously a very lucrative use of such machine would be to send spam. Let’s face it - people are in the spam business because it is very profitable. It’s profitable despite the fact that most people hate it. Despite the fact that most people are running various spam filters. Despite the fact that most services that could be spammed are protected in various ways. Despite the fact that only one in a billion of emails, comments, splog posts and spim messages means an actual sale. It is still, very, very lucrative business.

So it is only logical to assume that at some point someone will come up with the idea to employ one of these machines to send unsolicited advertising to any and all services they can think of. These machines will likely have few advantages over hiring a human spammers. They will likely be much better at multitasking, much faster, and much less likely to get bored and surf the web instead of spamming.

How would we protect our online services from machines which can do pattern recognition as well as we can, if not better, which have perfect speech recognition and can take a sentence (spoken or written), parse it and analyze it and infer it’s meaning be it symbolic, metaphorical a word play or otherwise. The CAPTCHA techniques can only be made difficult up to a point. After all humans will need to decipher them.

One day in the future our children’s children may wake up and notice that their internet was flooded with a never ending stream of spam that simply buried all the content. It would be like that story by Cory Doctorow in which a worldwide cataclysm kills 90% of human race without seriously damaging infrastructure but that has no effects on the levels of spam on the internet. So it’s only few survivors desperately trying to reconnect and figure out what happened, and machines trying to sell each other Viagra. Only we don’t need the end of the world for that to happen. All we need is intelligent machines who can easily pass common Turing tests to raise the level of spam to a level which makes the internet unusable.

But there is hope. The second very lucrative business for a conscious AI will be spam prevention. Public Touring tests will unfortunately have to go the way of the Dodo. Can you spot a spam message when you see it? I know I can - unless of course it is a very clever, on-topic spam, in which case I may not even mind it. If we can do it, then an intelligent machine will probably be able to do it to. So instead of using heuristics, adaptive filters and Turing tests the way we do now, we could simply hire an AI to moderate our inbox, our blog or message board. It would sit there, read each message and either reject it, or flag it if in doubt.

Of course the question is - would we want something or some one (depending on whether we will consider these conscious AI’s things or not) sorting our personal and private correspondence? Would such a moderator AI get upset if the owner called it a piece of junk in an email to a friend? Would it quietly delete emails and messages it didn’t want it’s owner to see? Would it report the owner to the authorities if it saw him discussing illegal activities or accessing suspicious content online?

These are some interesting questions to ponder. I’m not even mentioning the whole socio-religious and legal issues that thinking machines would bring about. What would be their rights? Would they be able to become citizens? How would different religions of the world deal with thinking machines which act so human they are more convincing on a real Turing test (you know, the one where you actually talk with mix of people and machines and try to guess who is what) than most of us would be. I have no answers to these questions. But I do know a thing or two about spam. And the future with artificial intellects scares me a bit. It will completely change the way we do things online - for better or for worse.

Then of course once we reach singularity, our artificial overlords may even invent an anti-Turing test. To access their message boards, blogs and services one will have to solve some incredibly complex equation. Something that would take a solar system sized intellect only a fraction of a second, but take a lifetime for a human being even with a really fast cluster composed of consumer end hardware…

The Third Path…

Tuesday, April 29th, 2008

I found the following quote from Scott Adam’s blog a bit depressing:

Let’s say you have a typical life and try to live it in the healthiest way. You might allocate your 24-hour weekday this way:

Sleep: 8 hours
Exercise: 1 hour
Work: 8 hours
Eating: 2 hours (leisurely)
Hygiene: 1 hour
Travel: 1 (Commute, errands)

That leaves you three hours for family time, sex, shopping, food preparation, chores, household repair, volunteering in the school, and so on. If you have a dentist appointment, or your talkative relative calls, or American Idol has a two-hour special, you’re tapped out.

In other words, in 5 out of 7 days in a week you spend over 88% of the time doing things you must do, and only 12% of the time doing things you actually want to do. This pattern is how you will spend 70% of your working days. Note that Scott cleverly allocates those precious 3 hours to social endeavors (such as family time, and sex) and necessary chores (shopping, personal errands, etc..). What about the so called “me time”? This schedule does not necessarily include the time for verging out in front of the TV, reading a good book, playing video games, writing a blog, catching up on your backed up RSS feeds (although most people do that at work these days), responding to emails and hacking away on that personal project of yours. If you are planning to do any, or all of that something else is got to give.

Scott claims that there are two ways to subvert this evil cycle, and neither one of them is very good. You either slowly kill yourself by not sleeping and/or exercising, or you take a pay cut and work less hours. For a while now I have been doing option #1, accruing an impressive sleep debt over the years. But I do believe there is a third path.

A wise man once told me that if you find a job you love, you will never have to work again. In fact I think he was channeling Confucius, but never mind that. I think this the key to the third path.

The problem naturally is finding a job that is both rewarding, exciting, challenging, interesting and fulfilling. If you wake up on a Monday morning and you actually don’t mind going to work that much, you have probably found that job. If you feel passionate about what you do and you take a great deal of satisfaction in your work, you are probably already there. If you get to tie in your hobbies, and your personal interest into your professional career you are threading the third path. If you get paid to contribute to your favorite open source project, or to nurse your personal pet project to life under protectorate of your company you are a lucky guy.

I think the third path is all about balance. It’s about taking that 8 hours of daily boredom and turning it into 8 hours of “fun”. It might sound silly, but I believe it is not impossible. And there are companies out there which seem to grok this concept. For example Google, which actually allows it’s developers to allocate portion of their work time to personal side projects. Of course I’m sure that no job is perfect, and that even working at Google has a dark side. I think that environment is just a part of the equation. The other important part is your attitude towards work.

Some people may find fulfillment and happiness wile launching some awesome startup based on some crazy idea they came up with. Others may find it working at a big, progressive company such as Google. Yet another may find personal fulfillment and serenity as a ditch digger.

Naturally, you still only get only 3 hours of personal time on a weekday. That part of equation doesn’t change. What changes is the setup:

Sleep: 8 hours
Exercise: 1 hour
Pursuing your dreams, achieving your goals and having fun: 8 hours
Eating: 2 hours (leisurely)
Hygiene: 1 hour
Travel: 1 (Commute, errands)

How does that look to you? Would you still say your life is slowly trickling through your fingers? Would you burn out as quickly? When you put things this way, the 3 hours of free time are merely just an icing on the cake. Easier said than done - I know. But I guess part of it is probably making choices, taking risks, and not settling for a job that merely “pays the bills”.

So how about you? Which path did you pick? Did you find that dream job yet? Are you looking? Or perhaps you had it and lost it? Share in the comments. )

Creating Encrypted USB Drives with TrueCrypt

Friday, March 14th, 2008

I discovered a neat TrueCrypt trick the other day while searching for products that would encrypt flash drives on the fly. I never noticed it before but it has an option to create a “travel disk”. It’s right there in the tools menu, as you can see on the screen shot below:

Travel Disk Option

It will essentially turn your chosen external drive into a self contained vehicle for TrueCrypt encrypted volume. It will copy all the files necessary for encrypting/decrypting the volume to the drive, and set it up to use the windows auto-play feature. So you just plug it in, type in your password and can start working with the encrypted files. The process is amazingly simple - so easy even a Caveman can do it. ) You just pick the drive, and choose whether or not it should auto-mount a volume on startup (yes it should):

Creating the Travel Disk

Then you click create. That’s all you really need to do. One thing this process doesn’t do is actually creating the TrueCrypt volume file on that drive. You have to do hat separately - I wrote about how to do this earlier. I created mine ahead of time called it files.tc and plopped it in the root directory of my flash drive. All I had to do then, was to point the above dialog at it. If you don’t have a tc volume yet, you can just type in a file name in that box, - it won’t complain that it doesn’t exist. You can add the volume later.

Once you hit create, bunch of files will get copied to the selected drive:

Files on the Drive

The autoruns.inf is the interesting one. As most of you know, this file contains the commands used by the Windows auto-play functionality. This is what it really contains:

[autorun]
label=TrueCrypt Traveler Disk
icon=TrueCrypt\TrueCrypt.exe
action=Mount TrueCrypt volume
open=TrueCrypt\TrueCrypt.exe /q background /e /m rm /v "files.tc"
shell\start=Start TrueCrypt
shell\start\command=TrueCrypt\TrueCrypt.exe
shell\dismount=Dismount all TrueCrypt volumes
shell\dismount\command=TrueCrypt\TrueCrypt.exe /q /d

In fact this is the only place which references the file name you entered in that dialog box. You can easily change it to anything else and it will work. Inside the TrueCrypt folder you get the guts of TrueCrypt. These few binary files are what does the encrypting/decrypting in the background:

TrueCrypt Core Files

I can give this flash drive to anyone in the world, and as long as they are running Windows XP (I don’t think 2k autoruns flash drives) they will be able to work with it. All you do, is just plug it in, and you see this dialog:

The Automount Dialog

If you choose the TrueCrypt option you will be greeted by the familiar (well, familliar to me) TrueCrypt password dialog:

Password Dialog

If you give the correct password it will mount another drive on your system, which will be the encrypted volume:

New Volume

The two drive thing may be confusing to some lusers at first but it opens up the correct one automatically in explorer on startup. Besides, they can easily identify that one drive has some cryptic system files, while the other has their data.

From there it just works seamlessly as always - anything you move, copy to or create on the virtual drive will be encrypted. What encryption will be used? It is up to you. The encryption type is not tied to your copy of portable TC but to the volume you created. If I remember correctly I used 128 bit AES-Twofish combo on mine, but you can pick your own.

The nice part about this is that I can easily take another tc volume (different encryption algorithm, different password) stick it on my flash drive, name it files.tc (or modify the autoruns.inf with the new file name) and it will work just as well. Or I can copy the TrueCrypt folder and the autoruns.inf file to another drive, and it will work as well. I can essentially create a script that will crank these out at will, without even having TrueCrypt copy installed.

I’m considering making this mandatory for the folks at work. They do get a lot of use out of the flash drives - and the do handle confidential stuff sometimes. So this seems like a perfect solution. The only caveat is removing the flash drive from your system.The standard Windows “Safely Remove” dialog won’t work because the .tc file as well as the TrueCrypt binary will be in use. So removing the stick is really a 2 step process:

  1. Right Click on the TrueCrypt icon in the taskbar and choose “Dismount all Encrypted Volumes”
  2. Remove the Flash Drive using the usual method

The “Dismount Command” actually shuts down TrueCrypt which is nice. Otherwise it would be a 3 step process. I’m sure that most people in the world can deal with a single manual step when they are getting high grade encryption for free. But my users are not most people - they are the people who will cry about it. But there is not much that can be done about this other than just removing the drive without actually making sure the write buffers are flushed into the thing. I’m concerned that when working with a TrueCrypt volume, pulling out the flash drive prematurely my be doubly hazardous than usual - I have no clue how these encrypted file handle corruption and unexpected write errors.

So I suspect I will have to do a 2 hour phone in training session on this, write up a manual with step by step screnshots (hey, I already have most of them here - nice) and then just be prepared to field phone calls asking how to dismount the damn thing for the next 7 months.