Educating the world

Our blog has over 10,000 readers a month

Laptops and PC desktops

December 9th, 2010

Being in I.T. means you suffer from the same problems as doctors - bare with me on this! You meet a doctor at a party and the first thing you ask is are you a GP (General Practitioner) as opposed to some weird area of medicine or biology, or even English literature (Phd) that you are going to know nothing about. If they say they are a G.P. then the second question is usually along the lines of “I’ve got this spot/growth/whatever” or “I’ve had this pain in my whatever” and the party for them turns into another day at the clinic.

Well being in I.T. can be a bit like that only it tends to be “I’ve got this problem with my soundcard” (if you were around in the 80s) or “I think I have a virus, can you fix it?” or “What is the best computer to buy?”

Well I thought I’d answer the final one here so I can refer the friends of friends away from me and towards my blog so I don’t have to talk to them any more.

First you must ask yourself if you would like a laptop, a desktop or dare I say it…. a tablet.

When you say “tablet” everyone thinks of the iPad but it depends on whether you are a form over function type of person who has bought into all the hype. If you are then you are only reading this article to hear someone say how wonderful they are, and you won’t find that here, so you might as well stop reading now. If you are a realist there are plenty of other laptops which are tablets as well, like the Dell Inspiron Duo. Tablets have come a long way in recent times so anything that supports the Android operating system will keep you happy. I quite like the ASUS Eee Pad which is a cross between a tablet and a netbook.

So now we are on the question: laptop or desktop?

These days there aren’t too many reasons why you would buy a desktop rather that a laptop. Now-a-days you can plug a bigger screen or keyboard into the laptop to make a desktop set-up. Laptops are generally more expensive, easier to steal and slightly slower.

For someone who is only interested in surfing/email/office, all computers these days are good enough. You won’t notice the difference between the top of the range and the bottom of the range. If you already have a computer the chances are that it is a couple of years old and has lost it sparkle. Literally, anything new will be about 10 or 20 times faster and better than what you currently have. It will be capable of running the operating system it comes with without any problems.

The main advantage of a laptop and a desktop is mobility; being able to carry it from the sitting room to the kitchen adds up to a more convenient experience.

Pretty much all laptops these days are much-of-a-muchness. When buying a laptop you just need to ask a couple of questions: does it look nice? is it nice to type on? is it not too heavy? The best way to answer these questions is to go somewhere like PC World or John Lewis and have a play. Pick something you like!

High street prices have massively reduced in recent times so you ought to compare the prices with some of the online retailers like Kagoo, Dabs or eBuyer which seem to be the main ones at the moment. Bare in mind that if you purchase online it might be cheap but you are giving up the convenience of having somewhere to “take it back to” if there is a problem or you need extra help from one of their gurus.

Python 2.7 modules

November 24th, 2010

Python 2.7 was released on 3rd July 2010 and surprisingly there is still almost no support for it in major projects; I am constantly surprised.
One of the problems (IMO) with Python is that a supporting Python module needs to be specially compiled against the end main version of Python. In other words modules like, LXML for Python 2.6 is incompatible with Python 2.7 so it just won’t work. PyPy is a project set up to address this. PyPy is basically Python written in Python - yeh, I know!

I started learning Python recently and I had to make a choice. do I go for:

  1. Python 2.6 which is well established had loads of supporting modules but has been superseded by Python 2.7
  2. Python 2.7 which has been out for 6 months, has less supporting modules, but has newer language built-in modules or
  3. Python 3.1.2 which has even less support than Python 2.7 and has slightly different language semantics.

Normally, I’d go for the latest and greatest, but all my Python buddies told me to avoid it at all costs, mainly due to poor support for everything. The company I’m currently working at is a 2.x shop so I chose the latest version of that which is Python 2.7.

Working on various projects I needed various support modules but couldn’t find them so I had to compile them up myself. So in true open source fashion I have publish them here for others. In each case I’ve tried to give them to the project owner but blar, blar, blar.

The Console Module 1.1a1
The Console module provides a simple console interface, which provides cursor-addressable text output, plus support for keyboard and mouse input
[ Documentation | console-1.1a1-20011229.win32-py2.7.exe ]

LXML 2.2.8
lxml is the most feature-rich and easy-to-use library for working with XML and HTML in the Python language
[ Documentation | lxml-2.2.8.win32-py2.7.exe ]

omniORBpy 3.5
omniORB is a CORBA library and omniORBpy are the Python bindings for it.
[ (My) Documentation | Documentation | ]

Found a pretty good repository for Python extensions at:

Whitelists in GMail

November 18th, 2010

Are you finding that GMail is sending some of your friend’s email to the spam folder? Well this is the post for you. A couple of simple steps will see you right.

  1. Login to the web interface.
  2. Click the Settings link at the top right of the screen.
  3. On the Settings page click the Filters tab.
  4. Click the Create a new filter link at the bottom of the page.
  5. Enter the email address of your friend in the From field.
  6. Click the Next Step button.
  7. Check the Never send it to Spam box.
  8. If you want to pull all the previously spammed emails out of the spam folder you can check the Also apply filter to [x] conversations below (where [x] is some number).
  9. Click the Create filter button.

Then you’re done, Simples!

Eclipse - New and Noteworthy

November 16th, 2010

The Eclipse Project’s web site is notoriously difficult to navigate and find New and Noteworthy information so I started grouping them together here. The proof is in the pudding and these pages have been extremely successful. The Eclipse site is getting better but they are not quite there yet.

This page is blog glue to join together all the Eclipse - New and Noteworthy pages.

Setting up company wide group calendars in Google Apps

November 12th, 2010

It took me a while to figure out how to set up calendars for a company using Google Apps. Part of the problem was that I had not completely understood how the calendar is created and therefore could not understand the mechanism that allowed the calendar to become visible to employees of that company.

I hope this document helps you to understand how to set up Google Calendars and explains different policies that you might adopt to make the best use of Google Calendars.

I had incorrectly assumed that there would be an administration page that allowed me to create a company wide calendar, once created this calendar would just appear in every employee’s calendar view and all would be good. This however is not the case and it took me a while to realise that this is quite different to other software providers’ calendar applications.

Google works by allowing a user to create a calendar then assigning visibility of it to other people. This is opposite to what I had expected. I had expected the company administrator to create a calender that all members of the company would automatically have access to. Simply put: Google has calender at the centre instead of the company.

I’m not saying this is a bad thing; speaking as a software implementer this is definitely an easier way to manage things, I’m just saying it’s not what I was expecting. In fact now that I have used it this way, I kind of like it better!

I’ll take you through a common scenario to help you understand how this might work. In these examples I will assume that everyone in your company has their account under one Google Primary domain account.

Let’s say that your company is split into 2 administrative companies, for example a head office and a sales office which are geographically separated. People in both companies would like to see each other’s calenders so that they can make appointments and meetings between themselves more easily. For the most part both offices run as individual entities. The head office is not really interested in all the sales meetings and the sales office is not really interested in all the bean-counter meetings.

In this case we will set up 1 separate calendar for each office.

  1. Log into the calendar application at:
  2. On the left of the screen in the My calendars section click Add.
  3. You will be presented with a form on the Create New Calendar screen. So fill in the name as HQ Office you can choose what ever makes sense to you.
  4. Fill in the Description. This is free text so it could be something like “Calendar for all the people at HQ”
  5. Fill in the Location to your geographical location. This is free text so it could be London or Floor 6
  6. Next there is a space for time zones which will pick up the default that your administrator has set already.
  7. Finally we must set the access permissions. There are 4 options:

    1. Not shared: This will be a calendar that only you can see.
    2. Company only: Anyone in the company can see this calender.
    3. Public: Anyone in the world can see this calendar.
    4. Named: Only listed people can see this calendar.

    In this instance we want everyone in our company to see this calendar but no one else. So we will check the Share this calendar with others and Share this calendar with everyone in the organisation My Organisation.

  8. Finally click the Create Calendar button.

You will be taken back to the Calendar screen and after half a second your freshly created calendar will appear on the left in the My calendars section.

You should do exactly the same for the sales office calendar. However after the second calendar has been created it has a funny name (not sure why it doesn’t take the Calendar name like it does for the first one - bug probably). Don’t worry this is simple to change.

  1. Next to the Add link there is a Settings link, click this.
  2. Click the name of the broken calendar which will be something like
  3. Change the Calendar Name back to what it was supposed to be e.g. Sales
  4. Click the Save button and everything should look normal.
  5. Clicking Back to calendar will take you back to the calendar screen.

Next up is to share this calendar with the rest of the people in the company. This was the bit that confused me as there isn’t an easy way of doing it, you just have to do it the long way.

  1. Log into the calendar application at:
  2. In the My calendar section (on the left) click the Settings link.
  3. Click the calendar’s name link.
  4. At the bottom of the page in the section entitled Calendar Address the Calendar ID is listed. This is the global address of your calendar.
  5. Cut and Paste it into an email.
  6. Do the same for the other company wide calendars e.g. sales.
  7. Email the references to everyone in your company.

Yeh, I know it’s a bit crappy but it’s the only way.

Your employees will receive an email with the 2 global calendar reference addresses in it. They must then add the new calendar mappings to their calendar application.

  1. Log into the calendar application at:
  2. On the left-hand side in the section Other calendars cut and paste the calendar reference from the email into the text box and press return.

To get rid of it just click the My calendar -> Settings and then the Unsubscribe link for that calendar.

You will now see 3 calendars in the My calendars section. Yours, HQ’s and sale’s. Clicking each calendar name will change the colour from something to white. White means not selected and there is a different colour for each calendar. As they toggle on and off, the overlay of calendar events that can be seen in the main calendar view changes to include or exclude the events from that calender.

A handy tip is that if you don’t use the other calenders then don’t switch them on because when you create an event it will automatically set the new event to the calendar that is selected.

Some other examples of sharing calendars are:

  1. Creating a department wide calender: on the Create New Calendar screen, just include the list of department members in the section Share with specific people when creating the calendar.
  2. Creating a public calendar: If you organise events for the public you might want to allow anyone to see your calendar so when creating the calendar set the Share this calendar with others to Make this calendar public.

Creating a public calendar is slightly different in that it doesn’t require the user to have a Google Apps account. It really is completely public. Whereas all the others require you to be logged into your Google Apps account in order to validate that you are on the list of users that this calendar is visible to.

There’s one other thing worth mentioning, which is that you can restrict how much of the calendar a user can see to either the whole sh-bang or just whether you are busy or free (i.e. hide the details).

I think that covers just about everything!