Finally succeeding?

I read an article by James Somers at The Atlantic called “How I Failed, Failed, and Finally Succeeded at Learning How to Code“. I’d encourage anyone with an interest in learning to code to read it – he discusses how computer programming is an excellent learning experience but that his own experiences have been tempered by poor instruction, particularly from books. He goes on to discuss how Project Euler became the titular success.

Euler provides a series of programming challenges of increasing difficulty, as the student solves each in turn they gain experience of what does and does not work as well as confidence in their abilities. Importantly, the student is also applying programming to practical problems (if you’re a mathematics student) from the outset.

I’ll post my solutions here as I go. I’m aiming to do one a day but I’ll see how I get on. Not sure what language is best to get on with, Python is popular in open source circles but most of my courses are based around Java.

 

Calculators

I’ve just started a maths course (MS221 with The Open University). I completed MST121 with a cheap Casio FX991 calculator (it cost about £15).

The time has come to buy something a bit more, well grown up. I’ve been looking at offerings from TI and HP. I’m kind of leaning towards an HP 50g. I can’t make up my mind so I thought I’d throw it out there and see what people recommend. The course says any calculator is allowed provided it doesn’t need plugged into the mains, doesn’t have a QWERTY (or local equivalent) keyboard and can’t communicate with other calculators.

Ideally it should be able to connect with Ubuntu – the HP has an SD card but I don’t know about TI.

 

I killed my PS3

I’ve been playing the brilliant “Assassin’s Creed – Brotherhood”. So much so that I’ve killed my PS3 – it now overheats and turns itself off after about three minutes (if its booted from cold), beeps three times and flashes the power light. Mind you I’ve had it for about four years.

I bought a new one (surprised that the hard disk size going up seems to have reduced any price decreases over time).

Seems like a faulty fan – sounds like a bearing grinding. Anyone any experience with them?

Don’t fix it, censor it

The Security Research Computer Lab at Cambridge University posted an article about industry response to a fundamental flaw in the “chip and pin” system in February. The paper, by Omar Choudary (a PhD student), highlights a flaw in the standard that permits the use of any PIN number. The University passed it to industry two months before publishing.

Now, some eight months later, the only bank known to have addressed this is Barclays. Instead of addressing the issue, the bankers’ trade association feels the best course of action is to tell the University its being irresponsible [pdf] in publishing the information! Given the Streisand Effect, is that not trying to close the stable door after the horse has bolted? The University’s response is an emphatic no, at the moment.

It is interesting that the UK Cards Association feels an offence was committed in proving the vulnerability. I would have thought they’d welcome the information, given their front page statement:

We inform and engage with stakeholders to advance the industry for the ultimate benefit of our members’ consumer and retail customers. Our work includes preventing card fraud, contributing to legislative changes, collating industry statistics and developing industry standards and best practices.

Linux is not a get of jail free card

I’ve been having line problems with my ISP – British Telecom. To cut a long story short we see a 75% speed drop, phone BT, jump through umpteen hoops and they reset the profile at the exchange. The fault is with the line and it’s intermittent.

That doesn’t really bother me. The customer support agent told me to use BT’s speed diagnostic tool. Now aside from why their tool would be better, its not really an option as its a poorly written Java applet that doesn’t seem to work with Firefox or Chromium in Linux. Now I dare say I could get it to work but why spend the energy? When I mentioned it to the agent, he told me BT doesn’t officially support Linux and helpfully suggested I keep a Windows laptop handy.

Are you kidding? Keep a Windows laptop handy? There are reasons why I use Linux, there are reasons people use Macs and Windows too – they chose to. What the hell has that got to do with my ISP? I have no software from them, it’s a wireless access point they provide. Do you know what operating system it runs? Linux.

Samsung ML-1915 with Ubuntu

I picked up a cheap laser printer, a Samsung ML-1915. It isn’t automatically configured by Ubuntu 10.10 as it requires the Samsung Unified Linux Print Driver.

The page explains what to do but in synopsis, you need to add the repository and install two packages, obviously check out the site before blindly following me:

Add the repository to /etc/apt/sources.list:

deb http://www.bchemnet.com/suldr/ debian extra

Now, I know Ubuntu has the apt-add-repository command but that will add “pangolin release” instead of “debian extra” and will create a source entry too – which will give you an error:

W: Failed to fetch http://www.bchemnet.com/suldr/dists/debian/Release
Unable to find expected entry  extra/source/Sources in Meta-index file
(malformed Release file?)

If you did then you need to remove the offending deb-src http://www.bchemnet.com/suldr/ debian extra entry.

That done, add the GPG key and update the apt cache.

wget -O - http://www.bchemnet.com/suldr/suldr.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install samsungmfp-driver samsungmfp-data

It will then pick up and install when you plug it in. Samsung themselves provide a 30 odd Mb driver file, here. There are a whole list of the differences here but for me, I prefer Debian compliance and not installing anything I don’t need.

Oh and a big thank you to everyone who sent me suggestions of what to do in San Diego. People can be surprisingly open and friendly – especially within our community.

San Diego suggestions

I’ve never been to the US before but I’m going to San Diego this week with work.

Although I’m not sure how much free time I’ll have, as I’m there for a few weeks I was wondering if there’s anyone has any recommendations on what to see.

My son suggested Rockstar San Diego (Red Dead Redemption is very popular here just now) but frankly I’d like to see a bit more than that.

So, any thoughts?

Twitter vulnerabilities, using Windows, studying and new WordPress themes.

Graham Cluley, a Senior Technology Consultant at Sophos, has a nice blog piece on the Twitter worm from earlier this week. To cut a long story short, he reminds us of the importance of sanitizing inputs.

Still, it was more productive than my week with my Open University module that starts in October – T175 (Networked living: exploring information and communication technologies). The OU can be very Windows dependent but this course seems to be pretty much delivered in Virtual Learning Environment (what the OU calls Moodle). I ran the course DVD, which is a Windows Flash standalone thing which got me to revive the OU Ubuntu Users group, sending out emails, starting a mailing list and trying to get things going again.

So why was it unproductive? Well, I haven’t booted Windows in ages – there were a million updates, one of which was for the wireless driver. Update completely borked the wireless and I wound up restoring the drive. That aside, one thing I really like about Ubuntu (and most distributions) is a centralised update manager – Windows has Adobe, Java, Windows Update, Firefox and McAfee all trying to pull updates at the same time. It makes the system completely unusable for the first ten minutes it’s on!

Any way, I decided to build a new WordPress theme. Same colour scheme, more rounded edges – should be available in the next few days.

Bash

Two things that improve my bash productivity – stopping the cursor keys inserting characters in vim and history search in bash.

Edit ~/.vimrc or /etc/vim/vimrc (for system wide) and add turn off vi compatibility:

set nocompatible

The latter can be improved by editing ~/.inputrc (or /etc/inputrc for everyone). Pressing the up key scrolls through all the commands you’ve typed but by adding:

"e[A":history-search-backward
"e[B":history-search-forward

You can type the first letter or two and get the command you need, so if you typed “mysql -u root -p” last Tuesday but can’t remember the options, typing “my” and pressing the up key will find it.