For a while I have been using wordpress. Actually paying for it every year. And not really using it. At the same time I’ve had a VPS where I run a few things, going mostly unused for years, so I thought (long time ago) that I could just use it to host my blog, but I never felt in the mood to maintain a full wordpress installation, let alone keep up with the vulnerabilities of PHP.
Back in the day when I was studying at uni, I would carry with me little notes on anything that I would happen to be studying at the moment. Little summaries of what I was studying such that I didn’t have to open a book and read about it in case I just wanted to refresh my memory. These days, with the overflow of information about anything compter-related I attack the problem in a similar way, although in a more techie way: I usually keep text files with important information about the matter.
If you follow recommended practices you should have a strong and unique password on every single website (or service) you visit or use, so that access to the rest of the other services is limited if one of your password is guessed or captured in some way . While this all very well, it’s quite hard to do in practice. We are either lazy and tend to repeat same passwords all over again in different websites or we just try to use variations of a few passwords so that we can keep them in our memory .
My colleague Mat showed me a nice little trick today. Say you are bored or tired of using different password in all your websites you use, or maybe you don’t want to use the same password on these sites. Simple and easy if you use a Linux computer. You only have to use, and more importantly remember, simple words or combination and a little command in the shell to generate a really difficult to guess password.
My work mate Matthew Galloway has just found why Apple’s iPhone Mail Client sucks a bit. Interesting.
Over the last few months I’ve acquired a few items from Apple. Namely and Mac Book Pro 13”, an iPod Touch 2nd gen (which came with the Mac Book Pro and I’m reselling, probably) and an iPhone, with O2. I’m quite pleased to be honest. It might be that I’m getting older but I’m lately not so apt to be continually fighting configuration issues and stuff with Linux (which I haven’t erased from my life.
I was trying to debug a connection to the internet that should be controlled by tc, the tool linux uses to do traffic shaping. The scenario is this: All outbound traffic through one interface using a specific IP port should not block the rest of the traffic. Some other ports and protocols are given priority (ie: interactive traffic using ssh) But it was failing. tc is quite complicated to get it properly working.
Following my last post about human-computer interaction, I am going to talk a little bit about User-Centered Design which is a methodology to achieve a good human-computer interaction. So, what is User-Centered Design… A design method User-Centered Design (UCD) is a design methodology that is about designing interactive technologies to meet users’ needs. We can divide it in four stages: Understand users’ needs Establishing requirements Prototyping Evaluanting designs Its key characteristics are: Understand users and their needs Focus on users early in the design and evaluation.
So, as I said in a previous post, I am taking a course on Human-Computer Interaction, a subject that deals with almost everything that involves our everyday lives. Who has not used a mobile phone? a computer? a vending machine? Even a simple elevator, that would seem to most people unrelated to computers, has to do with HCI, the interaction between a person and the thing in question. The textbook on which the course is based is Interaction Design, beyond human-computer interaction by Rogers, Sharp and Preece, on which most of these notes are taken.
Yesterday, I went to a job interview. I was asked some difficult problems and ways to solve them. One of them was: We have a list of a million phone numbers on the standard input and we have a reduced memory pc which we want to use it to sort them and use to check later if any number given is in that list or not. The solution offered was to use an array of bits and use the number as an index, so if b[1234 ] == 0 would mean that the phone number 1234 wasn’t on the input list and 1 would mean that we had it.