Saturday, April 26, 2008

I've failed the Turing Test

Finally, I can see the end of my M.Sc in computer science. Almost all exams are over, and only the final project is to be completed. My projects advances kinda slow lately, but I hope things would get better. The topic of my project is spam (as in email-spam) and mechanisms to fight it. It is partially research, and partially technical. In order to test different web-mail vendors' spam filtering mechanisms, I've created free accounts at GMail, Yahoo! and Hotmail. Each of these vendors use the CAPTCHA anti-bot mechanism, so their services cannot be easily exploited. I've seen many of these CAPTCHA images before, and answered them correctly without a problem. And then came Yahoo!. According to them, I'm probably not human, as I failed the Turing Test three times, before I eventually managed to guess what's in the image, and pass the registration process. They had, by far, the worst looking CAPTCHA images.
I have a test of my own for computer software. My test tells if some software is usable or not. I call it "My Mom's Test". The test is quite simple: my mom is trying to use some software, with less than 1 minute training (zero is better). If she succeeds - the software is usable for everybody. If she doesn't - that's trash, and I remove it from her PC. Skype, for example, passed that test. The same test applies for web sites. Some sites are easy for her to use, while other sites frustrates her. For example, Google's search page is easy. Yahoo!'s registration process would fail "My Mom's Test" over and over again, as she would call me a hundred times before we can together "break" it's anti-bot and anti-human defense mechanisms. Therefor, it's unusable for my mom, and probably many other normal people. Too bad for them, as the profit from free services (such as web mail) comes from advertisement, which would bring more money if my mom would use it (she clicks ads).

Thursday, April 24, 2008

The smell of something new

You know when buy something which comes wrapped, and you tear the wrappings off, there's a nice smell of something new. Well, I got to smell that two days ago. I bought a new PC. This is the spec:
  • E8400 CPU (Dual Core, 3GHz)
  • Asus motherboard, based on Intel's G35 chipset
  • 2 Gigs RAM (800 MHz)
  • Western Digital 320GB HD (SATA 2, 16MB cache)
  • Nidia 8800GT based graphics card
  • The rest of the stuff you put in a PC
  • 20" LCD
Now I can play The Witcher, NWN2 and other games using their maximum settings. That's fun.
Also, installed 64bit Ubuntu 8.04. The new Ubuntu really rocks. Solid, fast and cool.
It took me some time to decide where to buy the new PC (or PC parts). After a long survey, I bought it on KSP. The decision was rather difficult for me, as I personally built my previous 2 PCs. Today I saw this post regarding Ivory (important: read the comments and follow-ups), and I'm more than glad I didn't go there. How rude can someone be, especially when your job is to give service. When my work included service-giving, it never crossed my mind to act like that.

Back to the fun part. Now I have 2 PCs, a laptop and some other WiFi enabled devices, so it was time to setup up a WiFi router. Bought an Edimax router. The setup was very easy, including WPA2 encryption (actually the encryption is AES in WPA2). The firewall and NAT were a bit tricky, but 10 more minutes and all was up and running. Now I have gazillion devices that all require electric power in the same room, so it's time to buy a little power-plant.

Sunday, April 13, 2008

Correction

Today I had an exam in communication security (SSL, IP-Sec, Crypto Hash, etc.). The exams are the main reason I hadn't blogged in a while. But excuses aside.
One of the questions was about how a CA signs some certificate (attribute certificate), and includes the validation key of Alice (so Bob can be sure that Alice really signed the data in the certificate). Anyhow, the lecturer, who wrote the exam, had a mistake. He wrote A.s which means Alice's signature key (private), while he meant to write A.v which means Alice's validation key (public). So, when our lecturer found out about the mistake, he wrote to the board "Q2 s/A.s/A.v/". I don't know how many students appreciated the little joke during the exam (did I mention it was difficult?), but I'm sure it made me smile.

Thursday, March 13, 2008

Proud

Computer-people becomes proud very easily. Every time a big chunk of code works, we brag about it. If we make a piece of software work a little faster, we can't stop showing off. Not to mention how happy we are when we do something big such as a major upgrade.
For me seeing a review written in my native language, about an open-source project I've participated in, does the trick. Actually, I left that project as I currently haven't got the time to volunteer, but I'm still very much connected to it.

Thursday, February 28, 2008

Web 2.5

Few hours ago I had a conversation with a Sharepoint administrator I know about the new Google Sites service. He told me that their announcement was the talk-of-the-day, and couldn't go unnoticed. We talked about what threat could the new service be for MS Sharepoint or Office at all.
For those of you who are familiar with organization/enterprise oriented portals, the idea of Google Sites is not new: an individual, a team or an entire organization, can build up a site around an idea (a project, a shared point of interest, etc.) simply, quickly and without having to write a single line of HTML. Afterwards, they can add to this sites, lists of objects, such as documents, pictures, spreadsheets, calendars, task-lists, etc. This is done very easily, and with full integration to the user's desktop applications (MS office, OpenOffice, Web-based office, etc.).
Now for the exciting part. Google's product might not be better than the competition (yet) in the organization level. BUT, they are the first to bring such a polished, full-featured product, to the Internet. Now, everyone can create sites around ideas, projects, shared interests, etc. Using the same tools they are familiar with: Google Docs, Picasa, Youtube, RSS feeds and such.
I like to call this new level of services: Web 2.5. Why? Because in Web 2.0, the control over the content of the web, was passed to the individual. Now, the control over the content is passed to group of individuals – collaborating. Imagine how powerful it might be for a team of students, working on the same project, to collaborate using such tool, and share their results with the client (lecturer or a real client, doesn't matter). This is the evolution of Wikis.
Of course there are limitations: 10MB per file, integration with GoogleTalk yet to be made, workflows around documents aren't possible, and a lot more. But hey, we can call it Web 2.49 until then.

Wednesday, February 27, 2008

SysAdmins who write code

At work, under my team's responsibility, there's a dozen or more systems, which have few dozens development environments. This adds up to a large number of servers (with many virtual servers) which runs variety of enterprise software. Managing all this software, requires each sysadmin to be expert in our favorite language: Perl. Also, since all the servers are Windows, some cmd scripting knowledge is required. Rarely, for our internal development, other programming languages are used, such as C# or PL/SQL. Today i read, on the only Microsoft blog I read, that in Windows 2008, sysadmins who write code would have full power. This means that PowerShell will allow us to do what we already do very well, and enable us to do that for MS products (never wrote a Perl script to administer IIS).
According to my experience, this PowerShell technology exists for a year-and-a-half, and yet I haven't written a single PowerShell line of code. As for the MS products we administer (Windows, IIS, etc.), we just don't write complex (more than cmd) scripts for them. I only hear the Exchange guy crying about MS removing functionality from the Exchange administration GUI, and that now in order to do simple stuff, he has to use PowerShell. Brutal marketing that is.
Now don't get me wrong, I'm all in favor of finally being able to control the rest of our systems using scripts. It's just weird that the way to do this was to remove functionality from the GUI and to wake up that late (who knows when we will upgrade to Win2k8 with the new IIS, etc.). I'm all for .NET technologies (I use mono at home), but I don't see how I'm going to replace "du -h" (we use MKS/cygwin) with "get-childitem | measure-object -property length -sum" (taken from wikipedia), especially if one day I'll replace a Windows server with a Linux server, and all my scripts would mean nothing.

Wednesday, January 23, 2008

Hebrew 2.0

Many programmers, administrators, and even users, are wasting a considerable amount of time dealing with issues regarding localization of software. When it comes to Hebrew, this amount of time, doubles itself. For start, Hebrew’s direction (Right-To-Left) is something many software vendors forget in their first versions of a product (take blogger for example), so Hebrew is aligned in the wrong direction. And even when this issue is solved, still there are many quirks. Such quirks can be when mixing Hebrew with English (or other Left-To-Right languages) or mixing with numbers and parenthesis. Other issues involve saving files in the correct code-page, or displaying data in the correct code-page (how many times have you changed the browser’s encoding on misbehaving sites). Sometimes, file formats (such as text) might not include magic headers about the encoding, thus making the client software guess how data should be displayed. Moreover, since there are multiple ways to represent Hebrew (8859-8, 8859-8i, 1255, using UTF-8 etc.), it leads to some conflicts and bad implementations.
My suggestion is a new way to represent Hebrew, at least in the computer software world. It involves a new language, written Left-To-Right, using western characters, or some other characters that are already included in UTF-8 (could possibly be Hebrew characters, though that would be very confusing). I also have a name for this language: Simplified Hebrew. This is the place to mention: I’m not looking to replace the holy-language, I like Hebrew. The words would be the same words, with the same meaning, and the same sound. Only the written language would look differently. Think about it, how many issues could be solved. Adapting software for Hebrew speakers would be like adapting American (US) software, to British (UK). As simple as it gets. Plus, Hebrew speakers won’t have to compromise on their language when they are using computers, since software would be in Hebrew – Simplified Hebrew!