Saturday, July 26, 2008

Sites That Teach You How to Hack Legally

I'm sure there are more than this, but the two sites I recently discovered are Hack This Site! and Hellbound Hackers. Both are lots are lots of fun and very educational, though I prefer Hackthissite.org more. Lately I've been working on the Programming Missions, which on both sites are timed missions. For example, on hackthissite.org the first programming challenge is something like:

Find the original (unscrambled) words, which were randomly taken from a wordlist [linked].
Send a comma separated list of the original words, in the same order as in the list below.

You have 30 seconds time to send the solution.

List of scrambled words:
  • 1bbabu
  • wtenrae
  • heysehr
  • oeibod
  • siektnr
  • padssw
  • urpeoe
  • lechmil
  • hpiillp
  • oe1ums
You then have an input box and a button to click to send in the answer. The actual programming part of this mission is fairly straitforward (though I'm sure there are a number of different approaches), but what I had difficulty figuring out is how to access the site directly though my script. I initially passed this challenge by quickly copying and pasting the list in a file, running my script on my file, and then copying and pasting my answer back into the input field.

Not only was this approach uneligent, but I also failed to get the data transfered back and forth fast enough the first couple of times (on like the 5th try I was able to move fast enough). I knew I needed to figure out how to get the script to do all this mechanical work for me. My first thought was to use Greasemonkey, but Javascript seems unable to do things I need to do, like read from files on my local machine (i.e., the wordlist). Now maybe there is a way to do it, but I'm pretty new to Javascript so I couldn't figure it out. More importantly, Javascript seem even more limited when it comes to some of later missions (consider, for example, mission two).

My preferred language of choice is Perl and the big breakthrough I needed was discovering the WWW::Mechanize module (which has been ported to other languages, in case you don't use Perl). You can use this module to simulate a browser in your code. For example, you can sign into hackthissite.org with the following (appropriately modified) code:

my $url1 = "http://www.hackthissite.org/";
my $mech = WWW::Mechanize->new;

my $res = $mech->get($url1);
die "can't get" unless $res->is_success;
$mech->submit_form(with_fields => {
txt_username => $username,
txt_password => $password
});


From there you can access the parts of the site you need. Once you get a hang of many of the features of this module, it will radically simply your progress in fulfilling the missions!

Monday, July 14, 2008

Where Linux is the Weakest

I'm a hardy supporter of Linux based OSes, but I recognize there are certain weakness that keep those interested away from using as their standard OS. Here is my list of the main weaknesses of Linux on the Desktop.

It seems to me the main weakness is in the application arena. This, though, is a definite improvement from a couple of years ago - where a great deal of hardware didn't work, and if it did it often had to be configured by hand after scouring internet forums. Now, its pretty easy to get Linux distributions like Ubuntu up and running without problem or incident on many a laptop and desktop. In fact, recently it has been my experience that it is quite a bit easier than getting XP working from scratch. If you have a SATA hard-drive and you've misplaced your old hardware drivers, then good luck!

I also don't think the Linux Desktop looks shoddy, cluttered, and/or too techie anymore. The Standard Gnome or KDE interface is slick and streamlined, and few distributors feel the need to clutter up the menus with hundred of applications. Rather, by using best of the breed software, distributions like Ubuntu or Mandriva feel intuitive and well integrated.

So, as I was saying, the main weakness seems to be the available software. Now I'm not talking about the fact that Windows users have grown used to a certain set of software that they like. This of course is a problem in adopting Linux, but at least my experience has been that there is a whole new group of software to adopt and fall in love with. One of the easiest ways to help a Windows user transition is by promoting that they use cross-platform software in their daily use. So they should consider using OpenOffice.org, Thunderbird (I wish there were a decent Evolution port), Firefox, Pidgin, VLC, etc. Once they get used to this, then the transition will be much easier. Nonetheless this will only help so far. Here are the main software limitations as I see them.


Audio / Video editing software.

Being able to edit audio and video is essential nowadays. Youtube has given everyone an opportunity to present their creations to the world, and its obvious that an OS should not stand in their way. But Linux applications do not seem to be up to standard in this regard. Here are some examples:

Audacity - This is a great little program, and the fact that it works on both Windows and Linux has given it a great deal of exposure in both markets. But it is a fairly simple application without a great deal of features. That's fine as far as it goes - keep it simple stupid - but in my experience its really the only viable option for the linux user. Yes, I know, there are other applications out there (like Ardour, Jokosher, ReZound, Sweep, etc.), but I've found these to either be buggy, hard to use, or incomplete. The main problem with Audacity, though, is that it doesn't work with Pulseaudio - now a standard in many modern distributions. Its nearly unusable on my Ubuntu Hardy machine. In fact, when I want to edit audio, I install the Windows version of Audacity on Wine in order to get it to play well on my system! Not ideal!!

Ardour - Its professional powerhouse programs like this that linux needs! Very impressive and very full featured, but it doesn't have the capacity to import mp3 or ogg files (though ogg import is coming). If I were a professional audio editor, then maybe I wouldn't be trying to edit mp3 or other compressed file formats. But I'm not, and if I want to snip out a clip of an mp3, then I wouldn't want to use this program.

Now moving on to video...

LiVES - Looks like it could become a really good program, but its not their yet. It crashes a lot, and sometimes crashes so hard that it takes down my X server. This really pissed me off because I had a document in the backgroud that I hadn't saved in like 20 minutes, and all my edits were lost. So see if I try this program any time soon again.

Cinelerra - This is the best that Linux has to offer. Its very full-featured, but it is VERY unuserfriendly. I don't want to have to read a 200 page manual to make some quick edits to a video file I have. I want it to be fairly obvious. But I gave up.

Kino - Straitforward interface, but not very featureful. If all you want is to chop up a clip or attach a couple then this works well, but if you want to do anything more you probably want to look elsewhere.

Kdenlive - Looks like it might fit the niche that I want (avoiding the overly complex and the overly simple), except that I can't get it started on my Ubuntu Hardy box. It crashes as soon as the window opens. Oh well.

Gaming

This one keeps a lot of people I know back. Its a known problem, though, and I'm not sure I have anything interesting to say here. I think the great games will come to Linux once we have a significant market share.

Clunkyness

You know how some apps just feel clunky? They work (maybe even work well), but are not a pleasure to use... well, I'm thinking of three very important Linux apps:

OpenOffice.org - Having a pleasing office suite is essential if Linux is to be a viable alternative, and OpenOffice.org is by far the best we've got. And its pretty damn good. But it just does'n feel good to use it. Mainly it needs, it really needs, an interface overhaul (look to IBM's Symphony, guys). Also, I don't think it will really take off until the code base is something that developers can actually toy around with (right now, its like toying around with freakin' Godzilla)

Gimp
- Why, oh why, does this have to be so damn unfriendly? I recently recommended it to a friend of mine who was looking for a quick easy way to make a promotional poster. He had to call me every couple of minutes to figure out how to do pretty simple tasks. Although after toilsome effort he was able to get what he wanted, needless to say he was not convinced of the greatness of the program.

Evolution - I've already written a rant about Evolution. It can be found here.

Other Program Limitations

Uff, this has gotten a lot longer than I originally intended. So I'll finish up here by mentioning a couple other spots where the software in Linux could use some work: web development (Quanta Plus is as good as it gets), better support for mobile devices, and my own personal pet peeve: lack of portable apps.

Obama and McCain on Energy Policy and the Role of the Government

A good, short article appeared on this not too long ago in the Wall Street Journal. Its worth a read. According to this article the main differences come down to this:

Obama: Bigger role for the government in promoting alternatives to oil (though in what way - through incentives or through subsidizing?) and regulating emissions. Promises to invest 150 billion dollars in alternative fuels. Supports nuclear if we come up with "a safe, long-term solution for disposing of nuclear waste".

McCain: More of a market based approach. His record shows a resistance to supporting mandates and tax credits. I suppose, ultimately, this just means that the federal standards on emissions would be more lax, and he would be less willing to spend tax dollars on less promising alternative fuels. It is not clear to me, though, exactly what role he things the government should have. Is it just to get out of the way?

On a different note: I'm not sure what I think about drilling. I know Obama opposes it, but what exactly is McCain's opinion?

Sunday, July 13, 2008

Ubuntu Intrepid alpha2 Live CD

If you don't want to install the alpha2 version of Intrepid, why not try the livedisc? "What?", you say? "I didn't think that it would be available until alpha3". Well... officially it isn't, but you can still try the version that is cooking... if you know where to find it! It can be found here. Have fun!


Note: unfortunately, I have not been able to get these to work with VirtualBox.

Technorati Tags: ,

An Overhead Picture of Venice


I new it had canals and whatnot, but I didn't picture this!

Gnome's Evolution vs EssentialPIM: A Rant



There are certain applications on Windows that are just better than anything on Linux. When it comes to PIMs, a LOT of them are better than those available on Linux. In fact, most of the Linux one's suck. I've written about this before, but I'm annoyed enough now that I want to revisit it. In particular I want to compare what I think is a pretty good freeware PIM on Windows - Essential PIM, with the best thing that Linux has to offer presently - Evolution.



By in large, there is not much of a comparison. EssentialPIM is FAR better than Evolution as a PIM. It is flexible in ways I doubt Evolution will Ever be (which makes me sad - because I want Linux to have superior or at least equally compatible apps). Here is a list of features that make EssentialPIM superior (and this is by no means exhaustive):

Screen Real Estate

First, EssentialPIM has much better screen real estate. EssentialPIM has a menubar, and then the rest of the window is used by some aspect of the program. Evolution, on the other hand, has a menu bar, then a wide non-configurable menu full of Icons, then blank Gtk canvas (or whatever), and then, nearly a fourth of the way though my screen, the application does something useful.

Calendering and Tasks

Evolution does Ok in this respect, but again, EssentialPIM does it better. For one, the latter allows for a very flexible color coding of appointments, which Evolution lacks. Evolution's reminder function does have the features I want: the ability to play a sound (one I can configure) in calendaring (though it hides it behind too many mouse clicks) but this feature is totally lacking in the Tasks List. I can set a start time, but I can't get a reminder for it? That's silly. Also, having things more accessible would really help. If I want to change the Priority, I should be able to do it either by clicking on the Priority column or by right clicking it. Having multiple ways of doing the same thing will allow it to sit better the mindframes of various types of people.

Other Features That Set EssentialPIM Apart

EssentialPIM uses tabs very effectively, but Evolution doesn't incorporate tab functionality at all. This means that you often have to click through multiple menus to get at what you want, when in EssentialPIM it is just one tab away.

EssentialPIM is small, portable, and secure. Evolution lacks all of these features. I don't worry to much about the size of the app, but its lack of portability causes me no end of trouble. If you're not going to make a portable app, then at least make it easy to synchronize the information across different computers. It does me no good to have a To Do list (or my schedule) on my home machine and not be able to access it when I'm at work. Also, if it ever becomes portable, it would be very welcome if the info it contained where encryptable (like it EssentialPIM). Portability without security is a disaster waiting to happen (this is the main reason I don't use the Portable App version of Thunderbird). And no... I don't want to encrypt my whole damn flashdrive.

Evolution's good sides: Open source. Doesn't totally suck (like Chandler)

Overall, there are lots of little things that EssentialPIM does that makes it much easier and more flexible than Evolution. My recommendation: the Evolution people should look at EssentialPIM's functionality and incorporate it into their own application.

How To Boot Ubuntu In Verbose Mode

Its simple to do, but how to do it is a little hard to find: alt+F2

Technorati Tags:

Friday, July 11, 2008

Ubuntu Intrepid Alpha2 Released

An announcement hasn't yet been made, but I just noticed that alpha2 isos have just been uploaded here. It appears there isn't a live disc option yet. Hopefully its more stable than alpha1.

Technorati Tags: