Saturday, 28 March 2009

Scammers are morons...

Check out this very dumb spam email that was sent to, of all places, the Debian Hurd mailing list, and received a suitably chastening response. I mean, seriously, Linux has a reputation for being geeky, Debian has a reputation among Linux distros for being geeky and the Hurd port is no doubt even geekier (I'm on the mailing list, but only really because I'm interested in the idea of the Hurd and I would like to be able to play with it once I have sufficient skills). Who is dumb enough to think that people on this mailing list will not realise this is a scam? Not to mention the nature of it:
Dear Webmail Account User,

This message is from the webmail administrator/
IT support center to all webmail account users. We are
currently upgrading the data base and e-mail center due tO
unusual activities identified in our email system.
Therefore, We are deleting all unidentified Webmail Accounts
to upgrade and create space for new ones.

You are required to verify your webmail account by
confirming your Webmail identity. This will prevent your
Webmail account from termination during this exercise.

In order to confirm your Webmail identity, you are to
provide the following data below;

First Name:
Last Name:

Please provide all these information completely and correctly
otherwise due to security reasons we may have to deactivate
your webmail account temporarily.

If anyone falls for that one they probably shouldn't be allowed near a computer ever again! I guess it goes to show that most online scammers are in fact utterly stupid people who bank on there being someone even stupider to fall for it.

Sunday, 22 March 2009

Saturday, 21 March 2009


I stumbled across an incredibly useful tool the other day, which I thought I'd share with you. INX is a custom Ubuntu respin that lacks an X window server. In other words, it's a command line only system.
Now, this may at first make you think "meh, what can that do?", but INX sets out to prove you wrong by letting you do virtually everything you can do from a GUI! Including browse the web graphically, read email, listen to internet radio even watch videos!
INX is two things: First of all, it's a great demonstration of just how much you can actually do from the command line. Second, it's a great learning aid. It includes loads of tutorials on how to use the command line. I learned a load of things from one go, including how to use GNU Screen.
If you're even remotely serious about learning to use Linux properly, I highly recommend grabbing a copy from the link above!

Programs wanted for old-style chips

Interesting idea, but seems strange to use 8-bit processors when it would probably be easier to use a more modern x86 CPU that was coming to the end of its lifetime - older Intel chips can be had pretty cheap, and this would let them use the variety of free software available such as Linux. Why reinvent the wheel?

read more | digg story

Sunday, 15 March 2009

Musings on learning Python

I realised that I hadn't posted for a while and I also hadn't mentioned how I was doing learning Python, so I thought I'd best write a new post.

Well, I've been using Python Programming for the Absolute Beginner, 2nd Edition, and I've skimmed through it once to familiarise myself with the syntax and am now working through it a second time, but this time I'm making sure I pass all the exercises before I move on. I did have a significant setback during this time because I had to spend two and a half months working on Network Technology Foundations, the final module for my CIW Associate course (got 19 out of 21 on the test though! Just waiting to hear from my tutor about doing the final exam, though), but I finished that in mid-February. So, in the period from mid-October to start of December, and then again from mid-February onwards, I've been spending a little time every day learning Python. Now I can devote a bit more time to it, I think I'm making a fair amount of progress.

And how do I find it? Well, I already have reasonable knowledge of HTML/XHTML, and did a little bit of programming in BASIC on my Amstrad CPC when I was a kid, and I'm already reasonably familiar with the bash shell (though I haven't really done any shell scripting), so I wasn't a complete novice. From my experience, and from attempting a few other languages (Perl and Java, mainly), I've found that Python is the first language that I really feel I can make progress with. I've already surpassed my meagre BASIC knowledge, and I feel it's doing me good because unlike with BASIC, Python encourages good programming practices such as indentation, which will no doubt do me good when I choose to learn another language.

I've heard in the past that Python just seems to "fit your brain" better than other languages, and my experience bears this out. I can already follow the flow of pretty much any Python program pretty well, and I was really pleased the other day when I found a listing in a magazine for a game written in Python and I understood every line perfectly. I still haven't gotten very far with learning object-oriented programming, but that will come with time.

I've also tinkered with C a tiny bit, and learning Python has meant that I find it easier to understand what's going on in C, which is great. One of the things that drew me to Python was the fact that it was relatively easy, but at the same time was a full-featured, modern programming language, not some kid's teaching language, so I could learn the basic concepts behind programming using Python, such as object-oriented programming, then apply the principles I'd learned to more demanding languages, as I've always heard that once you know a few languages it's easy to learn another. I've already found that if I look at a program in pretty much any language now it's possible to get some idea of what's going on.

As a very welcome side-effect, my skills with Vim have increased tremendously, and combined with the fact that I can now touch-type, when you compare how long it took me to enter a BASIC program as a kid to how long it now takes me to enter a Python program of roughly equal length, there's no comparison. The downside of this is that at work when typing letters (I work in a customer services role), I keep reaching for j to move down, the Vim key bindings are burned so far into my brain!

I'm going to continue learning more Python, but I'm getting a little bored with my current Python book so I will finish this read through and move on to something else. I have Apress's Beginning Game Development with Python and Pygame, The Definitive Guide to Django and Practical Django Projects, as well as O'Reilly's Learning Python and Programming Python, so that means I've got plenty to learn about Python. I find reading several different tutorials about a subject gives you a more balanced view of it, and there's also plenty of tutorials online about Python so there's loads of scope to learn more.

I have some idea of the path I'd like to take with learning to program after I'm reasonably skilled with Python. I'm interested in learning to program the iPhone and iPod Touch, and now I have a MacBook that's a possibility that's open to me (note that this is pretty much for fun, I'm not one of these people who thinks they're going to write an iPhone app that everyone will buy, after all a year or so ago everyone was thinking the same about Facebook apps and now most people are pretty bored of them), so I've got Apress's Learn C on the Mac, Learn Objective-C on the Mac and Beginning iPhone Development. I wanted to learn C at some point anyway, partly because it's useful to learn it for other languages, and partly because it's pretty much required for any kind of serious Linux or Unix programming, so if I learn that (or, at least enough to get by), then learn Objective-C, then that'll stand me in good stead for learning how to use Cocoa and Cocoa Touch.

I also plan to learn Java and/or C# at some point since both languages are in demand, and I may do this after I finish my current course as the people I'm studying with offer courses in both of these.

OK, that's quite a lot on my plate, I know, but hey, ambition counts for a lot!