Dean Wilson@UnixDaemon: ... It's not even close to relevant.: My First Day with Python - Initial Thoughts

While I've always been a bit of a perl guy I don't want this post to be "perl has x and python doesn't" in tone. Which is lucky really as Python has exceptions and threading as first class features where as perl has... ahem.

So after spending a chunk of today reading a python book and spending some time writing code here's my initial short list of gripes -

  • except IOError
  • print adding newlines
  • Significance of whitespace in blocks. But not like that.
  • The lack of ++

Considering how picky I can be that's a very short list so Python must sit well with me so far. Now, in order, I can't help but read except IOError as 'catch everything apart from IOError'. This one bugs me more than it should but considering how happy native exceptions in the language made me this just felt mean.

Secondly, print adding newlines. While this might seem trivial every other language I use on a daily basis has a print function that doesn't print a newline so this feels weird. At least it's not called say ;)

Now to the one that I'll get no sympathy on - whitespace in blocks. First up let me say I don't mind about the enforced indentation. I indent anyway so it's not a big deal. I guess I'll hit the odd case when it annoys me (probably involving heredocs) but I've got nothing against it. What does irk me is the lack of block delimiters - whitespace just doesn't cut it for me.

I like my { and } delimited blocks, a nasty voice in my head is telling me to add them but just comment them out ( if x == y: # { ) but that seems very wrong. I've always looked at those examples in C programming books that say...


# incorrect
if ( something )
  print("All's well");
  wellness++;

# this is wrong because wellness is a separate statement
# and not part of the if

... and thought - "just add the damn braces, you'll be back to add more code later anyway." Now I'm learning a language that seems to want me to slip up like this. I'll either get used to this or move to ruby.

Lastly we have the lack of ++ and --. I know the arguments, I've read them before. I disagree. I've never done anything insane with ++ and where I have used it it's saved me typing. Can we have ++ and remove nested ternary ( ? : ) instead please?

I like Python and I think I'll be investing more time in to learning it.

Nestoria Blog: Nestoria Interview - Simon Baker - Property Portal Watch

In this month’s Nestoria interview we have the pleasure of speaking with Simon Baker, author of Property Portal Watch and ex-CEO of REA (owners of major European portals - and Nestoria partners - PropertyFinder and Casa.it, amongst others). He is director of 3eep and Redbubble, and Chairman of Arts Hub. In his free time Simon also writes MyCEOLife, a blog about the challenges of being a jet setting CEO.

Simon, great that you could make the time to chat with us.

1. What are your goals with Property Portal Watch?

The vision for Property Portal Watch is to create the go to destination for information about property portals around the world. The site will provide overviews, news, analysis, gossip and more on portal sites, the companies that own them and the key people in the industry. The audience we are targeting are the property portals themselves, industry players, analysts, media, investors, as well the agents themselves.

We believe that we can make Property Portal Watch successful by leveraging the in depth knowledge, relationships and experience that helped build the REA Group and as we gain momentum, we plan to offer additional products and services to the market.

2. In many countries in Europe there is a dominant local number one: (Rightmove, ImmobilienScout24, Fotocasa). While at REA you seemed to pursue a multi-country strategy, investing in PropertyFinder and Casa.it. What advantages does a multinational strategy offer?

When I was running the REA Group, it was clear that a multinational strategy had a number of benefits.

First of all, being the market leader in one country can be very profitable, therefore if you are able to purchase or create the market leader in a number of countries, then your long term profitability will increase. Also, by being in multiple countries, you can de-risk the business in terms of single market failure risks. We adopted a portfolio approach to this with countries in established and emerging markets.

Secondly, I believe that there are some benefits that accrue from running multiple sites. These include scale efficiencies in technology (build one and use many times) as well as scale efficiency in marketing - in particular in the offer that you make to an agents and you can say “give me your listings and we can publish them on the UK’s #2 site as well as a network of 10 million home buyers and investors globally”. It provides a clear point of difference to the singe country players.

3. As someone watching different markets around the world what trends do you see emerging? What evolution will we see in the market in the coming 12 months?

There are a number of major trends that I think will occur over the next 12 - 24 months:

Firstly, the professionalisation of the property portal industry will improve. Now what do I mean by professionalism? At the moment there are hundreds of sites out there offering a vast range of advertising products and services to agents. However all the marketing of those portals is based on their owns stats and usually stats that sound big but are meaningless to an agent. Therefore I think that independent online property tracking services will emerge that provide agents with cross portal comparisons of their marketing spend efficiency.

Secondly, as agents understand more about their marketing efficiency (ie where their leads come from) they will redirect more and more of their spend in that direction to the detriment of the papers and to some of the smaller portals.

Thirdly, I also think that the list for fee, pay for upgrade model will faulter as agents struggle with the concept and the sites therefore struggle to make any money. Some will be purchased by the bigger players and integrated into a paid offering.

Finally, in markets where there are a number of paid sites (like the UK) there will be consolidation as financial pressures force traditional foes to talk and merge.

4. What are our thoughts on the innovation in the property search space in the last 1-2 years, particularly in relation to pure aggregators like Nestoria?

The property search space is still in its infancy and I believe that many new models will be tried over the coming years - while some will succeed, most will fail.

The types of innovation I think we will see are:

1) Better and more intuitive interfaces for consumers that really make sure that they get the right search results. This will become more and more important as the number of listings sites have increases.

2) There will be innovations in the underlying advertising models and as agents become more and more web savvy, they will increase their investment in the models that deliver the results. I still think it will be a pay to advertise model - just not sure if it is CPM based (straight advertising) or more pay for performance.

Thanks very much Simon. Interesting views from someone with keen insight and international perspective. As a service that partners with 30+ property portals across Europe, we here at Nestoria very much welcome the move to increased efficiency and rational measurement of marketing spend in the market.

past Nestoria interviews: Tim Youngman, Jesus Encinar, and Ivailo Jordanov.

acme's Journal: British Museum

acme's Journal

I went to the British Museum yesterday to see Hadrian: Empire and Conflict, which was pretty good. I booked online, and received the confirmation email below. I turned up at the museum, went to a self-checkin kiosk and it asked me for my order confirmation code. So what did I type in?

Right, I type in the huge number next to "Order confirmation". Unfortunately what it really wanted was the collection code, in small. It didn't ask for that. It asked for the order confirmation code. The one not in the huge font. The one not in bold. No, I'm not sure why there are two codes either. It fell to one of the humans at the desk to tell us this. As I'm sure he has to do every few minutes every day of the week. Moral of this story: think careful about what you call things and make humans happier.

Dean Wilson@UnixDaemon: ... It's not even close to relevant.: Pragmatic Investment Plan - End of 2008

In the past I've written up a small list of general goals to help measure my technical progress. Over the last few years I've become a lot busier and this habit fell by the wayside. But no more! I've got a quarter left and I'm going to try and complete...

  • Write and publish a technical article.
  • Attend two technical events.
  • Read and review 3 books.
  • Write and publish two Perl modules.
  • Create a personal Debian repo
  • Create 4 Debian packages, at least one of which should contain other peoples code.
  • Write 30 blog posts - at least 15 of which should be technical.
  • Choose the programming language I'll be learning next year.

Considering this is one of the busiest times of the year I have no idea how far I'll get but I do think it's worth at least an attempt.

Dean Wilson@UnixDaemon: ... It's not even close to relevant.: Ubiquity - More Than Just Shiny Chrome

While Google Chrome has been getting all the press coverage recently Ubiquity, from Mozilla Labs, is where all the interesting action seems to be happening.

Ubiquity ticks all the boxes for me, it's a simple, easy to use idea, that'll save me time. It's easily extensible and already has a huge community of people working, enhancing and just trying new things with it. All the things I've come to expect from Firefox and the Mozilla using community.

I personally think this is an important distinction to make - while Google Chrome is a new browser with some great ideas (and a quickly revised EULA) FireFox is a proven, Free platform that encourages extension and has a track record of doing the right thing.

Infotropism: PowerPoint Karaoke; or, the most fun you can have with a meeting room and a projector.

A while ago, at the office, I skipped “beer o’clock” on a Friday afternoon to take a little disco nap before going to a party. This was before they got rid of the nap room — sob. Anyway, there I was, flaked out on a beanbag, when I was woken by peals of laughter. Unable to sleep, I went to see what was going on.

I found that my esteemed colleagues, after a few beers, had decided to play PowerPoint Karaoke.

Here are the rules:

  1. You will need a projector or large computer monitor. Beer is optional, but recommended.
  2. Open a browser and go to slideshare.net and thence to the tag list.
  3. Person A (the victim) chooses a tag, such as physics, web2.0, or love.
  4. Person B (anyone, for the first round) then chooses a specific slideshow from those available. The more horrific the design or random the subject matter, the better.
  5. Person A must stand up and give the presentation. Person B gets to click forward from slide to slide, setting the pace.
  6. When the presentation is finished, Person A becomes Person B, and gets to nominate a new Person A.

I strongly feel that this activity should be more widely appreciated. Go forth and enjoy!

Perl Buzz: The relation between CPAN Testers and quality, or, Why CPAN Testers sucks if you don't need it

by David Golden

There have been some mega-email threads about CPAN Testers on the perl-qa mailing list that started with a question about the use of exit 0 in Makefile.PL.

I want to sum up a few things that I took away from the conversations and propose a series of major changes to CPAN Testers. Special thanks to an off-list (and very civil) conversation with chromatic for triggering some of these thoughts.

Type I and Type II errors

In statistics, a Type I error means a "false positive" or "false alarm". For CPAN Testers, that's a bogus FAIL report. A Type II error means a "false negative", e.g. a bogus PASS report. Often, there is a trade-off between these. If you think about spam filtering as an example, reducing the chance of spam getting through the filter (false negatives) tends to increase the odds that legitimate mail gets flagged as spam (false positives).

Generally, those involved in CPAN Testers have taken the view that it's better to have a false positives (false alarms) than false negatives (a bogus PASS report). Moreover, we've tended to believe -- without any real analysis -- that the false positive *ratio* (false FAILs divided by all FAILs) is low.

But I've never heard a single complaint about a bogus PASS report and I hear a lot of complaints about bogus FAILS, so it's reasonable to think that we've got the tradeoff wrong. Moreover, I think the downside to false positives is actually higher than for false negatives if we believe that CPAN Testers is primarily a tool to help authors improve quality rather than a tool to give users a guarantee about how distributions work on any given platform.

False positive ratios by author

Even if the aggregate false positive ratio is low, individual CPAN authors can experience extraordinarily high false positive ratios. What I suddenly realized is that the higher the quality of an author's distributions, the higher the false positive ratio.

Consider a "low quality" author -- one who is prone to portability errors, missing dependencies and so on. Most of the FAIL reports are legitimate problems with the distribution.

Now consider a "high quality" author -- one who is careful to write portable code, well-specified dependencies and so on. For this author, most of the FAIL reports only come when a tester has a broken or misconfigured toolchain The false positive ratio will approach 100%.

In other words, the *reward* that CPAN Testers has for high quality is increased annoyance from false FAIL reports with little benefit.

Repetition is desensitizing

From a statistical perspective, having lots of CPAN Testers reports for a distribution even on a common platform helps improve confidence in the aggregate result. Put differently, it helps weed out "outlier" reports from a tester who happens to have a broken toolchain.

However, from author's perspective, if a report is legitimate (and assuming they care), they really only need to hear it once. Having more and more testers sending the same FAIL report on platform X is overkill and gives yet more encouragement for authors to tune out.<\p>

So the more successful CPAN Testers is in attracting new testers, the more duplicate FAIL reports authors are likely to receive, which makes them less likely to pay attention to them.

When is a FAIL not a FAIL?

There are legitimate reasons that distributions could be broken such that they fail during PL or make in ways that are not the fault of the tester's toolchain, so it still seems like valuable information to know when distributions can't build as well as when they don't pass tests. So we should report on this and not just skip reporting. On the other hand, most of the false positives that provoke complaint are toolchain issues during PL or make/Build.

Right now there is no easy way to distinguish the phase of a FAIL report from the subject of an email. Removing PL and make/Build failures from the FAIL category would immediately eliminate a major source of false positives in the FAIL category and decrease the aggregate false positive ratio in the FAIL category. Though, as I've shown, while this may decrease the incidence of false positives for high quality authors, the false positive ratio is likely to remain high.

It almost doesn't matter whether we reclassify these as UNKNOWN or invent new grades. Either way partitions the FAIL space in a way that makes it easier for authors to focus on which ever part of the PL/make/test cycle they care about.

What we can fix now and what we can't

Some of these issues can be addressed fairly quickly.

First, we can lower our collective tolerance of false positives -- for example, stop telling authors to just ignore bogus reports if they don't like it and find ways to filter them. We have several places to do this -- just in the last day we've confirmed that the latest CPANPLUS dev version doesn't generate Makefile.PL's and some testers have upgraded. BinGOs has just put out CPANPLUS::YACSmoke 0.04 that filters out these cases anyway if testers aren't on the bleeding edge of CPANPLUS. We now need to push testers to upgrade. As we find new false positives, we need to find new ways to detect and suppress them.

Second, we can reclassify PL/make/Build fails to UNKNOWN. This won't break any of the existing reporting infrastructure the way that adding new grades would. I can make this change in CPAN::Reporter in a matter of minutes and it probably wouldn't be hard to do the same in CPANPLUS. Then we need another round of pushing testers to upgrade their tools. We could also take a decision as to whether UNKNOWN reports should be copied to authors by default or just sent to the mailing list.

However, as long as the CPAN Testers system has individual testers emailing authors, there is little we can do to address the problem of repetition. One option is to remove that feature from Test::Reporter and reports will only go to the central list. With the introduction of an RSS feed (even if not yet optimal), authors will have a way to monitor reports. And from that central source, work can be done to identify duplicative reports and start screening them out of notifications.

Once that is more or less reliable, we could restart email notifications from that central source if people felt that nagging is critical to improve quality. Personally, I'm coming around to the idea that it's not the right way to go culturally for the community. We should encourage people to use these tools, sign up for RSS or email alerts, whatever, because they think that quality is important. If the current nagging approach is alienating significant numbers of perl-qa members, how can we possibly expect that it's having a positive influence on everyone else?

Some of these proposal would be easier in CPAN Testers 2.0, which will provide reports as structured data instead of email text, but if "exit 0" is a straw that is breaking the Perl camel's back now, then we can't ignore 1.0 to work on 2.0 as I'm not sure anyone will care anymore by the time it's done.

What we can't do easily is get the testers community to upgrade to newer versions of the tools. That is still going to be a matter of announcements and proselytizing and so on. But I think we can make a good case for it, and if we can get the top 10 or so testers to upgrade across all their testing machines then I think we'll make a huge dent in the false positives that are undermining support for CPAN Testers as a tool for Perl software quality.

I'm interested in feedback on these ideas. In particular, I'm now convinced that the "success" of CPAN Testers now prompts the need to move PL/make fails to UNKNOWN and to discontinue copying authors by individual testers. I'm open to counter-arguments, but they'll need to convince me of a better long-run solution to the problems I identified.

David Golden is a CPAN Tester and prolific CPAN author with over two dozen modules released, including the groundbreaking CPAN::Reporter and Class::InsideOut. David was the release engineer for the alpha versions of Strawberry Perl. He has been a speaker at YAPC::NA, The New York Perl Seminar, and Boston.pm and has written articles for The Perl Review. David lives in New York City.

Dean Wilson@UnixDaemon: ... It's not even close to relevant.: Google Chrome - Initial Thoughts

Like most of the techy part of the Internet I dutifully downloaded Google Chrome today and had a little play around. And just like all those other people I'm going to write about it. The difference is I'm very ambivalent about the whole thing.

Chrome seems nice enough. It's quick, works with all the websites I've tried so far and does have a killer feature - the task manager. Finally breaking tabs out in to their own sandbox is an idea whos time should have come years ago. Being able to see which sites are doing hugely evil things with my memory is a wonderful thing. I'm also inappropriately happy with the in-page search showing how many matches it found.

Unfortunately that's about it. While the minimal design and streamlined core functionality are lovely, these days I'm used to my extensions - the web developer toolbar, YSlow and the work flow changing Ubiquity are just too useful for me to give up.

It's not just the fact that these extensions are missing that puts me off, it's the lack of how to write custom extensions, searches etc. that feels wrong. Firefox is a platform as much as a web browser. Using Chrome what is the command line for pulling out the memory usage for the currently opened tabs? Do I need to screen scrape a running about:memory? I can't help but think they'd have three Firefox versions ready for download by now.

So will I be moving over to the new and shiny? Not yet. As useful as the broken out tabs are I need more functionality than Chrome can give me, so while I might use it for some day to day surfing it's no where near ready for me as a developer. Although I;m guessing they never intended for it to be.

London.pm: September Social on 2008-09-04

The Crown Tavern, Clerkenwell Green

Dave's Articles and Stuff: davblog: Their Own Worst Enemy

Sometimes (actually, it's really quite often) Free Software enthusiasts are their own worst enemy. Their insistence on using completely free formats for audio and video instead of the proprietary formats that most people use means that their message is often only seen by a tiny minority of people - generally the people who don't need to see their message anyway as they are already converts.

Here's an excellent case in point. The GNU project is twenty-five years old this month. And to celebrate the anniversary, Stephen Fry has recorded a video for them introducing the concepts of free software[1] and talking about the project. This would be a fabulous marketing tool for them, But the only people who will be able to watch it are already Free Software users.

If you had a video to share with as many people as possible, the way that most people would do it would be to upload it to YouTube, Google Video or some other video sharing site. The GNU project won't do that as all of those sites use Flash video which is a proprietary format and the GNU project are sworn to spurn proprietary formats at all times. This religious adherance to their holy writ also prevents them from using the second best approach which would be to make Quicktime or MPG files available on their web site. Again, these are proprietary formats and therefore verboten.

The approach that the GNU project takes is to make the video available as an Ogg Theora file. Now Ogg Theora is a perfectly good format. Videos in that format are reasonably sized and of pretty good quality. Also, and this is what the GNU project love about it, the format is completely free and open. For that reason, it's the format that the GNU project use for all of their videos.

There's only one problem with the Ogg Theora format - almost no-one can view it. On most standard installations of Windows and Mac OSX, there is no software that can play an Ogg Theora file. Which, to my mind, rather defeats the object of having such a useful marketing tool. The GNU project are using this as a way to encourage people to install and use their new gNewSense software package, but I can't honestly see anyone installing all of that just to watch a Stephen Fry video.

"Ah", I hear you saying, "but that's not really a problem, is it? Some clever geek will convert the Ogg Theora file and upload it to YouTube by the end of the day. We'll all watch it there." And you're probably right. There's a very good chance of that happening. But if it does, the GNU project will probably issue a takedown notice. You see they've released this video under a Creative Commons Attribution-No Derivative Works licence in order to specifically prevent people from converting the video to a more friendly format. It's like they want to prevent people from seeing the video.

Of course, this isn't a problem, for me. I use Linux on my desktop and that's the only major desktop platform which supports Ogg Theora out of the box. Or so I thought. My first attempt to play the video on my standard installation of Fedora 9 failed. I just saw a grey box and a Java applet error. I fiddled with the options a bit and tried again using the Totem video player. Ironically, that popped up a dialog message warning me that it needed a proprietary plugin to play the video and then telling me that no appropriate plugin was available. Ignoring the error, the video played fine anyway. I'm not sure what the problem is.

Maybe I'm wrong. Maybe the BBC will play the video and lots of people will see that way. But getting Stephen Fry to record a video about your project is an incredibly powerful publicity tool. It is stupid to hang on to your religious beliefs to such an extent that you prevent most people from seeing it.

[1] The Free Software Foundation never ever use the term "Open Source Software" as it dilutes their brand.

Update: On investigating gNewSense further, I see that it's a completely new Linux distribution, because popular distributions like Ubuntu and Fedora are happy to include proprietary software. I despair.

Update 2: In the comments, Paul points out that they are using a Java applet to play the video, which will mean that it works fine everywhere where Java is successfully installed (not, it appears, on my machine). But it's 2008. No-one uses Java applets any more. And anyway (as Paul also points out) Java was proprietary (and therefore verboten) until very recently. What did they do before that?

nicholas's Journal: cutting your hair supports musicians

nicholas's Journal

I almost forgot...

Last week, when I got my hair cut, a curious new sign was prominently on display on the counter of the barbers. It was a certificate from the Performing Rights Society, phrased as a thank-you, to the named branch, for supporting musicians. I wasn't aware that shops needed a licence to play a public radio station in public in the UK, but clearly the PRS now thinks that they are.

acme's Journal: Moose

acme's Journal

I was going to write about how I have come to love Moose, but I can't really beat how John Napiorkowski explained it on the perl-appengine list: "Without Moose, I'd probably have lost the faith and left Perl for another language..."

se71: 52 Books in 52 Weeks - August 2008

This was my last good chance for a while to get some reading done. I'm now commuting to work by bike, and have lost up to 10 hours forced reading time a week. I will have to try and read more in the evenings and weekends to try and make amends for that.

Quake was as depraved a read as I can remember, sort of fun like a slasher movie, but disappointing in it's lack of plot, and I think I won't read any more of Laymon's books now.

Ravenheart was marvellous, part three of the Rigante series which I started only a few months ago. Stormrider, the fourth and final part of this series was really good, but got bogged down near the end with too much military detail. I also feel that it was a set-up for another part, which sadly we'll never now see.

Mystic River is a standard thriller, which tries to be something more, and doesn't quite make it.

Finally for August, a nice short read in the Booker Prize winner Disgrace. Set in turn of the century South Africa, it's a story of one man's fall from grace, and an allegory for the state of the whole country; I didn't like it that much, mostly because I couldn't understand anyone's motives, but also because of the way it just stopped when there was much to resolve.

31 Quake by Richard Laymon
32 Ravenheart by David Gemmell
33 Mystic River by Dennis Lehane
34 Stormrider by David Gemmell
35 Disgrace by J.M. Coetze

Dave's Articles and Stuff: davblog: Is Sarah Palin a Wiccan?

This just came up in a discussion in the office. You read it here first.

Sarah Palin claims to be a christian. If that's the case then why are at least two of her children (Willow and Piper - I'm researching the others) named after teenage witches? I reckon she has wiccan sympathies.

Does anyone else have any evidence to add?

Mind you, this makes me somewhat conflicted. I'd far rather have a wiccan as VP than an evangelical christian who supports the teaching of creationism in science classes and denies anthropogenic climate change.

Dave's Free Press: Zeppelins over London

There's a Zeppelin pootling around in the skies of London! Sadly it's only carrying tourists who want to see the city from the air and it isn't going to bomb the Home Office, but even so - a Zeppelin!

It's a real Zeppelin, made by Zeppelin Luftschifftechnik. Unfortunately it's somewhat smaller than its ancestors, but even so, compared to the advertising blimps that occasionally spoil the view, it's huge. And it's a Zeppelin! How cool is that!?!?

mood: floaty

music: Led Zeppelin

PS - can you tell that I really like Zeppelins?

PPS - dude, a fucking Zeppelin!

Dave's Free Press: New Cocktail: the Caipiranha

I have invented a new cocktail. It is based on my favourite cocktail, the caipirinha, which consists of cachaça, limes, and sugar, with ice. The Caipiranha is exactly the same, but with the addition of live fish. Truly adventurous drinkers will use piranhas. However, for beginners I recommend starting with a couple of neon tetras per glass and working your way up.

Dave's Free Press: Radovan Karadzic's beard

Mr. Radovan Karadzic might be an utter cad, but he does have a quite splendid beard and moustache. That's got to count for something.

Dave's Free Press: Ha ha - maybe god hates you

Awww, poor ickle baby diddums. Perhaps if the "reverend" Peter can't afford to run his car he should pray for his invisible friend to slip an extra 20 into his wallet. Go on Peter, pray really hard. You can do it! God Loves you! And you're doing his work! He's bound to help!

No?

Well, I guess god just hates you then. What a cunt!

Here's an interesting fact for you: Peter works for the richest landowner in the country. If he's actually using the car for work and not just for jollies (mmm, having a cup of tea with a parishioner, what fun!) perhaps he can just send in a fucking expenses claim.

Dave's Free Press: Lip-reading lessons

Recently a brochure dropped into my doormat listing a load of courses offered by my local borough council's adult education department.

Many of you will be aware that I am somewhat deaf, and getting deafer. That brochure arriving caused something that Earl Filthy of Monkeyshire, OBE, WTD, KFC had said a few months ago in't pub to rise from the vile and putrid depths of my brane (it had presumably been rooting around in the basement for pornography or zombie flicks. Or both), and so I was prompted to look in the brochure for lip-reading courses.

And lo! There was one! But unlike every single other course, it didn't say when, where, or how much. So I emailed them. No response. I phoned them. Got through to a lovely young lady who told me that the person dealing with that course was off having her lunch but she'd phone me back.

Did they phone back? Did they fuck.

So, can anyone point me at a Lip-reading For Complete Beginners course, either in Croydon or central London, which isn't run by disorganised fuckwits?

Dave's Free Press: Optimising n! - revisited

For the background, see this post.

Late one night I thought that you might be able to simplify n-factorial thus:

Take the product of p(i)int(n/p(i)) for i=1 to i=Φ(n). Damnit, I wish there was a good and easy way of writing mathemagics on t'interwebnet.

Where:

  • n is the number whose factorial we wish to calculate;
  • p(i) is the ith prime number;
  • Φ(n) is the number of primes less than or equal to n

Now, without using a lookup table, p() and Φ() are hard to calculate, but at least you'd avoid a lot of the problems that come from using the stupendously big numbers that come as intermediate results in calculating factorials.

Unfortunately, that formula is wrong anyway. It's a restatement of this:

100! = 250 * 333 * 520 * 714 * 119 * ...

which came from noticing that 100! is the product of 50 numbers which have 2 as a prime factor, 33 numbers which have 3 as a prime factor, 20 numbers that have 5 as a prime factor, and so on. Unfortunately, it doesn't take account of numbers like 4 and 18 which have a repeated prime factor - 4, for example, is 2 * 2 and 18 is 2 * 3 * 3. Bother.

Dave's Free Press: Ha ha - and more seriously ...

Fuck me. Some people really are too stupid to be allowed to live. I refer, of course, to the parents who called their unfortunate offspring "Danika", "Pepita", and "Travers". And to everyone who didn't use a credit card. At them Oi have to larf.

Here's Dave's Rule Of Protecting Yourself From Business Failures: unless the goods are delivered right there on the spot, use a credit card. If your credit rating sucks and no reputable company will issue you one, get one from the corner-shop that you can load up with cash, effectively using it as a debit card. This will both protect you from this sort of fuckup and help your credit rating.

This does, however, raise a serious point.

All the customers who will now lose out are "unsecured creditors". That means that when it comes to determining who gets paid how much, they come third (and last) in line after the taxman and "secured creditors". I don't give a shit about the ordinary run-of-the-mill unsecured creditor. However, I do give a shit about employees. All of the company's employees are unsecured creditors too. They might be lucky if the company went bust immediately after transferring their pay to their bank accounts, but even so, they'll still be owed holiday pay, some will be on maternity leave, their pensions will be unpaid, and so on. It's not uncommon for an employee to end up several thousand pounds out of pocket. Employees can't protect themselves by using a credit card, or by somehow making themselves into secured creditors (ie, mortgage holders), but they're the ones who have actually tried to make the company work, far more so than the tax man or any thieving suit in a bank. So they should be moved to the front of the queue and get paid first. Before the tax man (who will get his pound of flesh from them anyway, not that it matters because his take from any failed company is a trifling amount to him), before secured creditors, and before all the customers.

Dave's Free Press: Free Albums

This website is made of awesome. It's just pointer after pointer after pointer to bands who are giving some of their music away in the hope that you'll buy some of their stuff. Much of the music is crap, of course, but some is really good. Well worth the price of admission.

Dave's Free Press: War On Terror board game

We all know that one of the pre-requisites for joining the police is that you are indescribably stupid (the others being that you are a violent thug, have right-wing politics, and are over 5'10" tall). However, this is even more stupid than normal. The dribbling idiots even showed the board game to the press as part of a "weapons stash".

Mind you, the resulting publicity has made so many people interested in buying a copy of the game that the makers' website has melted into a puddle of goo, so it's not all bad.

I will, of course, update this post listing any police officers who are not indescribably stupid if they can show me that they objected to the confiscation of a harmless board game and attempted to prevent their less intelligent colleagues from doing so. Until then, however, you may assume that all the Kent filth are thick as pigshit - and less useful as you can't make fuel from them.

Dave's Free Press: Olympic costs: the excuses

There are apparently not going to be any more hand-outs of public money for the 2012 Olympics. Well, none from central government anyway. Who knows how much Londoners will be forced to pay through our local taxes?

But that's not what I wanted to write about. The interesting bit is what the new mayor said:

"This was a project, an Olympic Games, that was won, secured, commissioned at a time of economic plenty.

"We're being asked to deliver it in a credit crunch and with what people say is a recession looming. The International Olympic Committee understands that."

Boris ain't exactly the sharpest tool in the box, but he seems to be saying that the budget has increased because it's now harder to secure credit (that is, interbank loans and large commercial loans cost maybe 2% more per year). So that 2% a year equates to 5.325 billion pounds. Or an extra 133%. Even if they were counting on borrowing every single penny of the original 4 billion, there's no way in hell that an extra 2% a year would cost 5.325 billion quid. For that to be the case it would have to be a roughly fifteen year loan. No-one in their right mind would give such a loan to a company that will spend money for five years like it's going out of fashion, then really coin it for a year, and then never have any income ever again. At most the loan would be for six years. So if the "credit crunch" is to blame, then the crunch would have to have put interest rates up by 5%. Which it hasn't.

So, Mr. Johnson, where has the 133% cost increase really come from? Were the original bidders innumerate? Or did they simply lie? Those are the only two possibilities. Yes, I can understand some cost over-runs. But that much simply can't happen accidentally.

And the bit about security costs maybe rising? they've already gone up five-fold.

Thankyou very fucking much Seb Coe you midget Tory CUNT.