Python Programming, news on the Voidspace Python Projects and all things techie.

Python on Google Plus

emoticon:newspaper As you may (or perhaps not) have noticed, I've been blogging a lot less in the last year. A new job with Canonical (although I've been there over a year now) and an eight month old daughter all make blogging harder. For Python news I've been posting more on Google+:

I've made some interesting posts on PyPy, Python 3, interesting new libraries and other snippets of news. I particularly try and post about new PEPs and big changes to Python.

Like this post? Digg it or it.

Posted by Fuzzyman on 2012-01-03 11:41:02 | |

Categories: , ,

Audioboo: Four short episodes on Python implementations, performance, popularity and books

emoticon:scanner I've been playing with Audioboo which is a combination of an iPhone application and website for recording short five minute podcasts: boos. The four episodes I've recorded touch on programming language popularity, the rise of Ruby, Python performance and implementations and some new Python books that have come out recently:

Unfortunately I repeated myself on PyPy at the end of part 2 and the start of part 3. It's hard to remember what you've already said when you're in mid-flow and having to break it up into five minute slots doesn't help.

It's been an interesting experiment. it is certainly convenient to be able to record straight from the iPhone and the audio quality isn't bad. If I do it again I will make sure not to walk around whilst recording it, to try and have a clear idea of what I want to say and to stick to the five minutes. If I want to go on for longer I should record a proper podcast.

In other random news, The Hidden Network (The Daily WTF job board distributed across programming blogs) is closing down after three years. It's a shame but they never achieved the volume they hoped for. The economic downturn in combination with all the other similar job boards that started around the same time are a big part of this.

Last night there was a huge fire in a pallet yard in Northampton (UK) town centre less than 1km from our house. I took a bunch of (blurry) pictures. The BBC used one of these pictures on their local news site article:

UPDATE: They stopped using the picture (which had my name on it - fame and glory was briefly mine) and switched to an edited version of one of the two videos I posted without crediting me. B*ds! Smile

Zine: the New Python Blog Engine

emoticon:note As I type this, it is already old news - but still good news. For a long time the blog engine of choice for hosting your own blog has been Wordpress. Unfortunately Wordpress is written in PHP, and pretty hairy PHP by all accounts, so to Python developers customizing Wordpress has never been an attractive option.

As Python is a cleaner and better structured language, with a bevy of capable web frameworks, a better blog engine that is much more fun to customize ought to be well possible. A new Python blog engine hopes to be exactly that:

  • Zine: the Python Blog Engine with Ambition

    Zine is an Open Source personal publishing platform written in Python. It's written with security and extensibility in mind and inherits many ideas of WordPress and other existing blogging systems.

It had its first release very recently and is now at version 0.1.1. There is a flurry of activity towards both 0.1.2 and 0.2.0 releases. I've been experimenting with it by creating a news blog for my book IronPython in Action:

Zine has a very interesting looking plugin model; but as you can see I haven't even had time to create a custom skin for it, let alone experiment with writing plugins. Smile

Even though I haven't explored too far the team behind Zine is led by Armin Ronacher, one of the geniuses behind projects like Jinja, Pygments and Sphinx, so I have faith that the code quality is high. Security is highlighted as one of the core features of Zine, which is both promising and something for it to live up to...

Administrating Zine is very reminiscent of using Wordpress, in fact the admin login page is virtually identical! Zine is still at an early stage of development, so there are lots of missing features and a few minor bugs (one of the bugs being that the admin interface in 0.1.1 doesn't work with IE - something I suspect some of my readers may see as a positive!). Although it is really only for the earliest of adopters what is already there is extremely slick. Through the admin interface you have all the control over the blog that you would expect: creating and editing posts, administering comments and categories, switching themes and adding plugins and so on.

Perhaps the biggest hurdle Zine has to overcome is the deployment issue, which is where PHP has always shone. Thankfully even the cheapest of accounts at Webfaction will suffice, and within minutes of asking on their forums one of the admins replied with full step-by-step installation instructions!

Webfaction already has 'one-click' installers for setting up many applications, so when Zine is a bit more mature installing it should be a breeze if you have the right web host...

The biggest missing feature is a WYSIWYG editor; current choices for creating entries are HTML, Markdown or Zine-markup (undocumented but apparently similar to HTML). My first plugin may well be a docutils plugin allowing you to create posts in ReStructured Text.

Zine is implemented as a WSGI application using the Werkzeug toolkit. In some ways it is a shame that it isn't based on Django or Turbogears (2), making it really only suitable as a standalone blog rather than a potential pluggable application [1]. Just as the most popular blog is written in PHP, all the forums are too. If you are creating a web application with Python and want to include forums and a blog as part of the site you are likely to end up with a disconnected solution - potentially requiring users to have multiple login credentials for accessing different parts of the same website!

This is what happened at Resolver Systems. Initially we needed a company blog and support forums; so going with Wordpress and phpBB made sense. As we migrated our customer account management to a custom Django application (giving people access to downloads, storing their newsletter preferences and so on) we wanted to avoid the multiple login problem.


Originally our account management was in hacked-together PHP as it really did very little. The move to Django was partly inspired by a very interesting new app that we will be announcing shortly. One nice side-effect of the web development is that I've been able to spend the last few days working with both CPython and Django. It's been great fun. Smile

My boss, who created the first iteration of these applications [2], solved this problem by allowing Django and phpBB to share login credentials. People who create user accounts on the main web app can use the support forum without creating a new account or even having to re-login - and vice-versa. Specifically Giles modified phpBB so that it could accept Django sessions.

As this must be a common problem Giles has made the code open source.

The long term solution is for the Python community to create a compelling forum. For Django Pinax is a promising home for this kind of pluggable application.

[1]OK, so in theory any WSGI app is pluggable - but I'm not sure how easy it would be for a host application to share an authentication system with Zine. It wasn't designed with this in mind...
[2]I haven't seen him so happy at work in a long while - he was actually getting to code again!

Like this post? Digg it or it.

Posted by Fuzzyman on 2009-01-09 23:15:21 | |

Categories: , Tags: ,

2008: A Year in the Life of Voidspace

emoticon:pda For me 2008 is inevitably the year in which I didn't get IronPython in Action finished. I actually started writing in the tail end of the 2006 Christmas break, making it two years and counting since I started. Yesterday Christian and I received an email from Manning setting out a timetable for the final stages, setting not only this year for going to press - but also hopefully next month!

In a mere handful of days we will no longer be able to make any changes to the book and it will go into proof reading; genuinely the final stage before publication.

Despite being buried in writing for the entire year (or what feels like as far back in history as I can remember) it has still been eventful. I spoke at nine conferences, mainly on IronPython:

Some of these even want me back and I have booked dates for BASTA 2009 (German Developers Conference), PyCon US (giving a tutorial on IronPython and a talk on testing) and ACCU 2009. I haven't yet submitted a talk proposal for EuroPython, and I'm still wondering what to talk about. This year EuroPython is hosted by the PyCon UK team, of which I am a member, but even though it is on UK soil I've technically never been to EuroPython before so I may be able to get away with an introduction to IronPython. Smile

One of the highlights of the year was being made a Microsoft MVP, this was a nice recognition of the work I've done in the IronPython community - even more so as I am the first MVP for the dynamic languages team.

During the year I wrote an article on ConfigObj for the Python Magazine and several articles on embedding IronPython and Silverlight. As IronPython 2 was changing rapidly through the year, several of these fell out of date. More news on this in another blog entry...

Due to the pressure of working on the book I only managed 133 blog entries on the Techie Blog this year. I did however manage around 320 entries on IronPython URLs, just shy of the one a day average I thought I might manage.

As for Voidspace itself, its been an interesting year. Here's a summary of the stats as reported by awstats [1]:

  • 1 058 260 visits
  • 2 030 564 pages served
  • 341 GB bandwidth
  • 77% Windows
  • 8.7% Mac OS X
  • 11.8% Linux
  • 40.8% Internet Explorer
  • 45.5% Firefox
  • 5.2% Safari
  • 2.7% Opera

The top 10 pages for the site (not all technical but defunct pages skipped) are:

My top 10 referrers for the year were (removing one referrer spam and combining a few):

Traffic from reddit really grew this year. I think this is because reddit is growing and not just because I write controversial blog entries!

Awstats records referrals from search engines separately, and lumps several other sites in as search engines. Google massively overwhelms anyone else in this area:

  • Google (512 883)
  • Google Images (210 379 - explains why the pictures are in the top ten pages)
  • Yahoo (19 214)
  • Stumbleupon (16 662)
  • Windows Live (8 286)

My website is vast and sprawling (and badly in need of a re-theming and a pruning), so it is not only technical visitors. Unfortunately (for me) in late 2007 Google change the way they record clicks on adverts - leading to a drop in my advertising revenue of approximately 50%! Oh well, I do have a day job as well. Smile

[1]Which probably slightly over reports; bots that misidentify themselves will be counted as visitors. For that reason I have excluded all visitors to pages that have forms on then and tend to get hit by spammers. On the other hand the cron job that updates my stats seems to occasionally clash with the log rolling over and drops a couple of days a month - so it all balances out in the end.

Dynamic Languages MVP, Blog Template, Conferences, Concurrency and Other Stuff

emoticon:dove Last week I received an email from Microsoft:

Congratulations! We are pleased to present you with the 2009 Microsoft MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.

MVP stands for 'Most Valued Professional' and is an award given to community contributors. I'm the first MVP for the Microsoft dynamic languages team - although there isn't a dynamic languages division for MVPs so technically I'm a Visual C# (*) MVP. That asterisk is very important! Smile

It wasn't all good news last week though. Menno Smits has been a colleague with us at Resolver Systems for almost a year, but he has just passed away. Well, he received an 'offer too good to refuse' and will now be working with BATS Trading in London. They are a trading platform largely implemented in Python and have been so successful in the states that they have become a stock exchange in their own right. Now they are setting up shop in Europe. Congratulations to Menno and we wish him all the best for the future.

If you're anything more than an occasional visitor to this blog you will probably have noticed the change in template. Largely on the insistence of Christian Muirhead (my colleague and co-author of IronPython in Action) I've chopped out almost everything above the entries - which means less to scroll down through and less Javascript should mean faster loading pages. I'm still intending to do (or at least get Justin to do) a full site redesign once 'the book is finished'. This change will have to do in the mean time. Smile

PyCon UK is done so it's time to look at conferences for next year. I've submitted talks for PyCon 2009 (in Chicago) and ACCU 2009 (in Oxford).

ACCU is a UK community conference (I went for the first time last year and it was great fun). It has talks on a wide variety of topics - last year there were very few Python talks but several on Haskell and Erlang. In the past there have been many more Python talks, but last year a significant proportion of those attending were .NET or C++ developers.

I've proposed two talks (I'm not sure which they will prefer):

  • Creating Rich Internet Applications with IronPython & Silverlight 2
  • Embedding IronPython and the Dynamic Language Runtime in .NET Applications

I've put forward a talk and a tutorial proposal for PyCon US. My talk was submission number 1 (!) and is on Functional Testing of Desktop Applications. It's a relatively niche subject (not much focus in the Python community on creating desktop applications) - but still an important one, so it will be interesting to see if it is accepted.

The tutorial is on Developing with IronPython. It is based on the tutorial that Menno, Christian and I gave at PyCon UK - except this time it is Jonathan Hartley and I who will be giving it. We had a great time giving the tutorial in Birmingham and learned a great deal doing it. We had seventeen people attending (out of a total of eighty attending the tutorials - so nearly a quarter which isn't bad), and I think that the attendees enjoyed it. We should have got people using IronPython earlier in the tutorial, and we had too much practical stuff - meaning we spent too long in the user interface part of the tutorial. I've been revising the handout notes (I'll post them up here sometime as they are a great introduction to IronPython) based on what we learned.

Interesting advice for new programmers from Anders Hejlsberg (the architect of the C# programming language) in an interview with Computer World:

Go look at dynamic languages and meta-programming: those are really interesting concepts. Once you get an understanding of these different kinds of programming and the philosophies that underlie them, you can get a much more coherent picture of what's going on and the different styles of programming that might be more appropriate for you with what you're doing right now.

Anyone programming today should check out functional programming and meta-programming as they are very important trends going forward.

Before his passing away Menno ported part of his website to rest2web. He also posted a new article on his experiences installing Linux on his shiny new Sony Vaio VGN-BZ11XN notebook. rest2web is a tool for maintaining websites (static HTML) in reStructured Text. It is particularly good for programmers as the templating system is straight Python without requiring you to learn a custom templating language.

I use rest2web to maintain pretty much all the websites I run [1], but haven't done any work on rest2web itself beyond maintenance for the last two years. It simply does everything I need it to. Despite this new sites built on rest2web pop-up regularly. Another recent one is by Andrew Straw. I can always tell a rest2web site, because even with a custom template most people leave in the Page last modified ... timestamp from my default template. This uses the <% modtime %> templating variable. Unfortunately it doesn't play well with a Subversion bug if you keep your website sources under source code control. Andrew has overcome this bug by using the SVN commit time instead and posted notes about how he did it under About this Website.

Final piece of news; both Ted Leung and Mark Shuttleworth talked about the future of Python in their keynote speeches at PyCon UK. They both noted that concurrency was becoming more important and is one of the areas where CPython is lacking because of its poor support for threads. Neither IronPython nor Jython have a Global Interpreter Lock (the GIL), so these are both platforms where threads can be used for concurrency with Python.

Michael Sparks is one of the organizers of PyCon UK, and also the author of Kamaelia, a generator based concurrency library for Python. Kamaelia is capable enough to stream video and audio, but last time Michael tried to use it with IronPython a few bugs (in IronPython) prevented it from working. A lot has changed since then, and with the latest version of IronPython 2 most of Kamaelia 'just works'.

Although Kamaelia presents a very simple API for concurrency oriented programming (usually no need to explicitly work with threads or locking), it does use threads in several key parts under the hood. This means it hits limitations in CPython (Michael Sparks' words not mine), and IronPython doesn't suffer from the same restrictions. So far Michael is impressed with IronPython...

[1]This one, IronPython in Action, The Other Delia and Resolver Hacks. Exceptions are The IronPython Cookbook which is a MediaWiki wiki and IronPython-URLs Blog which is a blogspot blog (originally started by Mark Rees).

On Bad URLs (and a shorter one for this blog)

emoticon:dollars The other day I got annoyed with Microsoft's download URLs. For example you download the programmers documentation for Silverlight 2 Beta 2 from:

Bloody awful - and why? How hard would it be to have a sensible and even memorable URL? What's even worse is that the download pages for obsolete components often don't have links to the most up to date version.

I twittered it. To my surprise I had a reply from a Microsoft representative via get satisfaction.

Good feedback for the Download Center team. Thanks.

Impressive. Lots of companies are listening to feedback and providing customer service by Twitter. It is a very good feeling to feel 'listened-to'.

Anyway, it made me realise that the URL to this blog is too long and annoying to say or remember. As a short term solution I've made redirect here. It will certainly fit better onto business cards.

Everytime I use Apache mod_rewrite it makes my head hurt. I have a .htaccess file that adds the www. to requests that omit it (to provide a single canonical URL for every page). It took far too long and all my early attempts worked for but would add an extra to requests for

In the end I settled for a solution that does two redirects for this URL (adding the www. first):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^voidspace\.org\.uk
RewriteRule ^(.*)$$1 [R=permanent,L]

RewriteRule ^blog$ /python/weblog/index.shtml [R=permanent]
RewriteRule ^blog/$ /python/weblog/index.shtml [R=permanent]


I'm now back from PyCon UK. It was great, but I'm knackered. I'll put up the slides from my talks soon - and maybe do a post about the conference if I find time...

Like this post? Digg it or it.

Posted by Fuzzyman on 2008-09-14 22:58:03 | |

Categories: , Tags: , , , , ,

Blog on Blogging: Inside the Blogosphere Questionnaire

emoticon:dove Interesting that this should come up at the same time as the last entry. I recently got asked to take part in the Inside the Blogosphere: Blogger Questionnaire. Not to waste the answers, and being a while since I've blogged about blogging - here they are...

  • Please enter your blog(s) url with a short description below:

    • The Techie Blog

      My technical blog that documents the Python programming world, my work at Resolver Systems where we are developing a revolutionary new kind of spreadsheet and my writing activities.

    • IronPython URLs

      Keeping track of new and interesting things happening in the world of IronPython and the Dynamic Language Runtime.

    • My Personal Blog

      My personal (and oldest) blog, with an archive of my original blog started over five years ago. In the past year I have been busy writing a book (IronPython in Action) and so this blog has been neglected with a backlog of posts I need to find time for.

  • Why did you start blogging?

It seemed an interesting creative outlet. I'm opinionated, so blogging was a natural platform to express my opinions and rants.

As I learned to program it also seemed a great way to document my learning for others and publicise the tools and libraries that I was creating. (Even though the early ones weren't much good.)

I first started blogging in early 2003, as I was renewing my interests in computers. My first blog started at the same time as I started to develop my own website (remnants of which remain - not good!). As I learned to program I developed a writing style and online persona - and most of my blogging became technical.

I also gained an audience, which is a great motivator. The Python (programming) community is very friendly and I was surprised by how ready people were to read what I wrote! Blogging without readers is pointless.

  • What motivates you to blog?

I have become a well known member of the Python community almost entirely due to my blog. I want to promote the Python programming language, and I enjoy writing and teaching.

Individual posts may have very different motivations. It could be something I think is important to the communities I'm part of, something I want to promote to those communities, something I've done or simply something that I find interesting. It's also nice to be able to post news before anyone else does.

Some posts (often the more controversial or interesting ones) are simply me exploring a subject and trying to express something about it.

  • What is your long term goal of your blog(s)?

I see my blog as a way of teaching and promoting the Python programming language, something I feel passionately about. I would like to develop my writing skills and explore issues that interest me. Particularly software quality, usability, agile development processes, testing techniques and related topics. Some of these are things I haven't really begun to explore yet in my writing.

In the long run I would like to be a freelance programmer and writer, and I definitely see the blog as a big part of achieving that goal.

I also want to make a difference in the software community - furthering my craft. My blog is an excellent platform for communicating and exploring those issues.

I'm also a member of several different 'communities' around programming. A lot of the conversation around those communities happens on blogs and I want to strengthen this.

Towards all those goals I would like to write longer articles. It is sometimes hard to see how those fit in as blog posts though, as they become articles in their own right. In a way I don't draw much distinction between writing on my blog and developing my website - although the style of writing can be very different. Blogging can be a very 'free-form' way of writing which is refreshing.

  • What is the biggest mistake that advertisers make in the blogosphere?

Not making their adverts relevant and interesting. Advertising is easy to screen out - it needs to be engaging and part of the 'content'.

  • If you could start over what changes would you make in regards to blogging?

I'm not sure I would make changes. Blogging is a personal and creative outlet for me and I feel free to write what I want.

I would probably have maintained my personal blog a bit better during the last year, despite being bogged down in a writing project.

Like this post? Digg it or it.

Posted by Fuzzyman on 2008-07-16 14:33:21 | |

Categories: , , ,

Most Popular Blog Entries

emoticon:mobile Feedburner allows me to monitor my RSS feed and see how many people are clicking through from my blog entry summaries to read the full entry [1]. Feedburner reports that I have a current average of about 830 subscribers. I have no idea whether this reflects the extent of my readership, as I've always assumed that the majority of the people who read this blog through Planet Python [2].

I can track the number of people who click through from each item, which does show the number of people who are interested enough in the title / summary to read the full entry. Here's a list of the most popular entries (everything with more than 500 clicks). It isn't completely representative as I only switched my feed fully over to Feedburner in December 2007, and I sometimes have several entries on the same page - so people can click through to one and then read several. Still, I find it interesting. Wink

As this list in some way reflects the interests of the Python community [3], it's nice to see some IronPython and Resolver related entries amongst the popular ones. Smile

Also interesting that the most popular entry is the recent (controversial) one I wrote on testing...

[1]I realise that many people would prefer a full feed rather than a partial feed. That would mean hacking on my Desktop Blog Client Tool: Firedrop2. I really like this program and am not willing to switch away - at some point I will experiment with enabling full feeds, but not yet.
[2]Or the Unofficial Planet Python.
[3]Or the part of the Python community that reads Planet Python anyway, which almost certainly doesn't include the 'silent majority' of Python users and programmers.

Like this post? Digg it or it.

Posted by Fuzzyman on 2008-04-26 14:27:27 | |

Categories: , , Tags: ,

New Computer Musings and Other Random Hardware Stuff

emoticon:world I've just bought a new mouse, a Logitech LX7. I've had bad experiences with wireless mice and keyboards in the past, but we use Logitech gear at Resolver and they have served us well. Unfortunately the USB receiver with this mouse doesn't work (secondhand from ebay), but it does work with my office receiver - and I really like the mouse. Very high resolution, smooth and a lovely feel. Whether or not I sort this one out I'll be going for the same model again.

I've also just bought a new monitor (yes another one). I'm still only using three monitors, but my main one is now a 24" Acer AL2416WB Widescreen monitor with a resolution of 1920x1200 pixels. This thing is awesome, it makes my 22" widescreen look small. It is wide enough to show two pages of a word document side by side at a decent font size, and it only cost 200. My colleague Kamil also bought one, and although he doesn't exactly say so in his review - he likes it!

I mentioned this to my colleague Jonathan, who is an old-school gamer. He is looking for a big gaming monitor and would prefer a CRT to an LCD. He says the black is blacker and the colours are brighter. This gives a superior 'immersive effect' when gaming with the lights off! For gaming the refresh rate is also important, and at least the last generation of LCDs used to show trails when viewed in the dark with lots of movement on screen. Additionally, CRTs are capable of displaying different resolutions natively, whereas LCD panels have only one 'real' resolution. Big(-ish) quality CRTs must cost more than LCD panels, just because less people want them now - which sounds like buying a valve amplifier. Smile

I will also be replacing my computer at some point in the next year. My current one has reached the ripe old age of eighteen months old, and in the next few months will gracefully retire as a media-centre for the new living room of the house we hopefully move into later this month. I have quite a bit of money burning a hole in my gadget fund, and would like a nice specced computer (I'll tell you about my gadget fund in a later blog post if I have the time, but the summary is that I have to spend it on essential computer gear or pay tax on it).

As always with computers for the geek, I have the choice between building and buying. The last few times I have priced up building I have always found pre-built computers available for the same (or even less) and buying has obvious advantages. This time however, there aren't many manufacturers making computers with the sort of spec I would like - twin quad core processors with as fast memory as possible.

My boss has given me the sage advice that the sweet-spot for processors is at about the 200 mark. In fact this seems to hold. Looking at average UK processor prices (for the Intel Core 2 or Xeon quad-core range which seem to be the best at the moment):

  • Q6600 2.4GHz Quad Core 8MB Cache - 160
  • Q6700 2.67 GHz Quad Core 8MB Cache - 340
  • QX6850 3.0 GHz Quad Core 8MB Cache - 600

So there is a big jump in price from 2.4 to 2.67 and from 2.67 to 3.0. Even if it's irrational, it seems wrong to spend a lot of money and not get a system with a faster processor than my current 2.4GHz AMD dual core. Smile

Important factors in overall computer speed seem to be (in no particular order):

  • Processor clock speed
  • Total number of cores
  • Amount of memory (the cheapest way to improve performance is to add memory - page faults are very slow!)
  • Processor cache size
  • Front Side Bus (FSB) speed
  • Memory speed
  • Speed of the hard drive that the OS and virtual memory live on makes a lot of difference (15000 rpm drives are available relatively easily now)
  • Possibly, whether you are running a 64bit OS or a 32bit OS

For gaming (which I do a bit of - Team Fortress 2 rocks), and some applications, the graphics card matters a lot too. The latest Edge magazine review for Crysis states that "to get visually the best from this game you need two of the latest graphics card strapped together" - which of course is ridiculous. It does look good though. Surprised

This is all fine, but as soon as you move to a twin-processor and quad core spec, you are seriously reducing the number of motherboards available to choose from.

There are also a few questions that I don't know the answer to.

  • Memory type - is there a massive speed advantage to be had by using DDR3 or dual channel RAM (and are there any retail motherboards that support them for twin Socket LGA771 processors)
  • Is there any advantage to be gained using 'ECC' ram (with an extra byte on the bus for checksum), and the same question as above about the motherboards
  • 800Mhz DDR2 RAM seems to be the fastest that I can find. In which case does it matter whether you have an FSB speed of 1066MHZ or 1333MHZ if your data can only ever clock 800MHZ? (In fact what is the difference between FSB speed on the motherboard/processor and the speed your RAM can run at - I assume that in practise they will both run at whichever is slowest out of these two numbers)

The only two hardware supplies I have found (but I haven't looked too hard) that will offer computers at this spec are Dell and Apple. Apple offer the Mac Pro with two quad-core processors for 2700. This is with a meagre 1gig of RAM, but can be upgraded much more cheaply than buying the RAM from Apple. I don't have this amount of money yet, but am not massively far off (and it would come with a slower hard drive and of course only 667MHz RAM, but does have a reasonable video card).

Buying from Dell gives me much more choice in configuration. For a fair way south of two grand I can get a computer shell with:

  • A motherboard that will take two quad-core Xeon processors
  • One 3.0GHZ Xeon Quad-core with 8MB L2 cache
  • One GB of DDR 2 at 667MHZ, with 4GB from Crucial for about 180
  • A 73gig 15000rpm Hard drive for the OS
  • A 160gig second drive which is a little meagre but comes included anyway

This would give me a pretty good system that I can build on. I'd need to choose a gfx card of course, which is another minefield...

As to the question of whether running eight cores will give me much improvement, it will be interesting to see. Given that most of the time I have many applications open at the same time, it ought to help.

Whilst we're on about processor cores, I've found something to do with some of my current spare cycles. I often leave my computer on overnight, stress testing my network connection of course, and the World Community Grid seems like an excellent use to put those cycles to. Unlike similar grid computing projects, they have a whole range of different tasks you can donate your computer time to - like climate change prediction and finding dengue and malaria drugs.

This is the first blog entry using the new tagging feature of Firedrop2 implemented by Davy Mitchell. There are now tags (as well as categories) at the bottom of each entry, as well as in the RSS. Currently only in SVN, but I'll do a new release soon. This is something I've wanted for ages.

Like this post? Digg it or it.

Posted by Fuzzyman on 2008-01-08 00:13:05 | |

Categories: , Tags: , ,

Blog Action Day: Looking Back from the Future

emoticon:new_document Today is Blog Action Day, with bloggers from all across the world blogging about the environment. This is me taking part. Smile

This year was the bicentennial anniversary of the abolition of the slave trade in the UK. In 1807 the trade in slaves from Africa was banned, but it wasn't until 1833 that slavery was abolished completely throughout the British Empire.

It is easy to view the behaviour of our ancestors with disdain. History is bulging with the barbaric treatment of fellow humans by people who considered themselves enlightened and civilized. In the UK we particularly look back at the Victorian era and the way they treated the poor, placing them in workhouses, and also the appalling treatment of the mentally ill (the 'insane') in asylums. Thank goodness that things have changed, and that generally in Western society things aren't so bad.

But to the people of the day, this was the state of the art - reflecting their moral convictions and the capacity of society to provide welfare. The horror of the workhouses was still preferable to previous incarnations of English society that depended entirely on the kindness of strangers for the care of the poor. If this kindness was absent or withheld, then like much of the world today, poverty was brutally terminal.

With a focus on looking back at the brutishness of a bygone age, it is easy to wonder how history will view our society. We have iPhones and space travel, the internet and modern medicine, laws on human rights and a society that supposedly honours diversity - boy are we sophisticated and civilized compared our predecessors. Is it possible that hundreds of years from now, people will read about our actions and inactions; and shudder at our ignorance and barbarity?

In the UK we imprison tens of thousands of people that our own doctors have diagnosed as being mentally ill. We know that prison doesn't work: most people who go into prison will be back again. Yet the prisons are overcrowded and the popular press calls for harsher sentences and the building of more prisons. This is not just inhumane, it is stupid. This situation is rarely the fault of individuals, but the fault of us - society.

In the US, hundreds of thousands of black young men are imprisoned. However remote they may feel that politics is, they are disenfranchised from any possible input. What barbaric society would do this?

Particularly in the UK you might hear the argument that society can't bear the cost of proper care of all the mentally ill who are in prison. The alternatives are prohibitively expensive and it is an extremely difficult problem to solve. This may well be true, but more to the point is that most individuals don't know and don't really care. How will future generations look back on this?

Even more so the current state of the environment. Scientifically it seems beyond doubt that man's (our - your and mine) activity is causing great damage to the earth. If nothing is done to change this then great harm will occur, and it won't necessarily be just our children and their children who suffer the consequences - things are happening now.

So how will future generations see this? Didn't they know? Didn't they care? Did no-one tell them, what did they think was happening? The fools, the selfish idiots... Will this be humanity's epitaph, or merely the way we as a culture are remembered?

I'm afraid that I'm not a very good green activist. I'm trying to find my way forward in doing less harm to the environment, consuming less and being more aware. I care greatly for the earth. All of man's finest achievements still pale into insignificance beside the unimaginable complexity and elegance of fragile life. Let's not be the ones who destroy it.

Like this post? Digg it or it.

Posted by Fuzzyman on 2007-10-15 13:28:52 | |

Categories: ,

First Blog Entry from the Mac

emoticon:scannerWell, I'm ensconsed in a slightly chilly but otherwise plush hotel room in London waiting for the Mix UK conference to start. I'm not speaking until Wednesday, but the talk went well enough at PyCon that I'm feeling confident. Smile

I've finally got round to setting up my 'usual' Python development environment on the Mac, and am typing my first blog entry on it!

Firedrop2 isn't hard to set-up, but it still needed doing. It isn't the most beautiful app. on the Mac (it uses wxPython) but it isn't too bad:

Firedrop2 running on the Mac

I'm not going to do a long report on PyCon UK by the way. I've just thought of something fun to try with Silverlight instead. Smile But... it is incredible that things went so smoothly for a first event. It seemed very professional, of course behind the scenes might have been a bit different...

Like this post? Digg it or it.

Posted by Fuzzyman on 2007-09-10 21:14:15 | |

Categories: , ,

Hosted by Webfaction