London Financial Python Users Group
Last night, I went to the inaugural meeting of the London Financial Python Users Group. It was a small gathering (as you'd expect for a new group), just four of us, but a very interesting one. Didrik Pinte gave a presentation of an interesting new library called pandas, a useful layer on top of existing stats packages that provides some very neat data-alignment capabilities, and we also discussed what future meetings should involve (lightning talks are definitely on the cards).
As with all these things, the most interesting discussions were left for the pub afterwards. I was particularly interested in what Didrik had to say about Cython, a tool which lets you write CPython C extensions in Python (!). I'll have to play with it and see if it can easily integrate with Ironclad...
Anyway, the next meeting is very tentatively planned for 14 December; the best way to track the group is probably currently the LinkedIn group, though I will definitely also post the details when they firm up.
New splogging technique?
I'm sure everyone has encountered the kind of spam blog where they're scraping posts from someone reasonably well-known -- presumably via RSS -- and presenting the results as their own, normally with a million Google ads on the sidebar.
Here's a new (to me) twist on that. I spotted two new incoming links to my WebGL blog. One was a (very brief) mention in a roundup from Dion Almaer on Ajaxian, an Ajax community site. The other was on "tutorials4html.com".
Let's compare Dion's introductory sentences:
A lot of great news is coming in via Twitter. I make a lot of Ajax comments under @dalmaer and wanted to give you a roundup on the month of October via Tweets. Always interesting to take a glance at the month. What do you think?
...with that of the intriguingly-named "admin" on tutorials4html.com:
A aggregation of enthusiastic programme is reaching in via Twitter. I attain a aggregation of Ajax comments low @dalmaer and desired to provide you a roundup on the period of Oct via Tweets. Always engrossing to verify a spring at the month. What do you think?
Well, yes. It certainly is always engrossing to verify a spring at the month. Couldn't agree more.
What impresses me, though, is that they've clearly automated this. There's no way a paraphrase that bad could have been written by hand (or if there is, I never want to meet its author) so presumably they have some kind of program doing it. Maybe they run it through Google translate a few times?
Dear lazyweb: To i7 or not to i7?
So, my home laptop is finally on its last legs. I'm sure a full reinstall would help, but to be honest now that I'm playing with WebGL and now OpenCL (a new standard for number-crunching using graphics cards, which sounds like it has interesting Resolver One possibilities) has appeared, a Centrino Pentium M at 1.6Ghz and a crappy Intel graphics card really won't cut the mustard. Add on to that the fact that I'm dropping my home desktop machine and becoming a laptop-only person, and it's really time to change.
The most tempting lappy out there for me is the Dell Studio XPS 16, which is extremely high-specced, has a very well-reviewed screen, and has what looks to me like an underpriced SSD upgrade (£240 upgrades you from a 500GB 7,200rpm drive to a 256GB SSD). The only downside I've noted is that apparently they run quite hot, but so long as I keep it on the arm of my armchair or on the desk, the risks should be minimal.
My big question is, though, which processor? I don't want a fully-loaded system (largely because I can't afford it) so the choice appears to be between a Core 2 Duo T9600 (2.80Ghz, 1066MHz FSB, 6MB cache) or a i7 720QM (1.60Ghz, 1333MHz FSB, 6MB cache). They're pretty much the same price. The i7, when running single-threaded code, overclocks itself using Intel's "Turbo Boost" and runs at 2.8Ghz anyway. And the benchmarks are better for the i7, so while it's hard to work out what's likely to be best for my ultimate usage patterns, the i7 looks most likely to win out speedwise. OTOH it consumes more power, which means that (a) battery life will be worse and (b) the heat problems that people have mentioned will be worse. And I'd rather not have a laptop that turns into a small puddle of silicon while I'm using it, bringing the Thomas line to a premature close -- or that, alternatively, makes a noise like a jet fighter taking off every time I run something computationally non-trivial.
Sadly, googling for comparisons between the CPUs (even after filtering out all the spammy "shopping comparison sites") didn't really lead to anything useful to help me make a decision. So, does anyone reading here have any ideas?
(UPDATE I got the i7)
WebGL
I've decided to teach myself more 3D graphics using the new WebGL features in the
development versions of Firefox, Safari and Chrome; it's not a standard yet but
you can already do some fun stuff with it. Rather than clutter up this blog, I've
started a new one (with a cool free Wordpress skin called Pixel)
over at http://learningwebgl.com/blog (Update: the blog is gone now, sadly). If you're
interested, please do take a look!
3D graphics in Resolver One using OpenGL and Tao, part II: an orrery
In my last post about animated 3D graphics in Resolver One (the souped-up spreadsheet the company I work for makes), I showed a bouncing, spinning cube controlled by the numbers in a worksheet. Here's something more sophisticated: a 3D model of the planets in our solar system, also know as an orrery (click the image for video):
3D graphics in Resolver One using OpenGL and Tao, part I
I've been playing around with 3D graphics recently, and decided to find out what could be done using .NET from inside Resolver One. (If you haven't heard of Resolver One, it's a spreadsheet made by the company I work for -- think of it as Excel on steroids :-)
I was quite pleased at what I managed with a few hours' work (click the image for video):
Fix for pygame/PyOpenGL/NeHe tutorial windows not disappearing when run from IDLE
It's a long weekend here in the UK and I thought I'd spend some time working through Paul Furber's Python translations of the well-known NeHe OpenGL tutorial, which use the pygame and PyOpenGL libraries. (This is all with Python 2.6 on Windows XP.)
I noticed that when I ran the sample files from IDLE, the windows did not close -- it didn't matter whether I used the close box or hit escape; the program would seem to exit, but IDLE was in a messy state, and the OpenGL window would sit there not repainting.
Googling didn't turn up anything that sounded relevant, but this archived mailing list message
mentioned a pygame.quit()
function that sounded relevant. I tried putting this
at the end of each of the samples, and it seems to fix the problem.
Clicking the tabs from left to right
It looks like visitors to the Resolver Systems website are predisposed to clicking through the tabs at the top of the page, from left to right. Does anyone else see this kind of thing?
The figures I'm using are from Google Analytics, which is based on JavaScript embedded in the page and run in the browser, so I don't think it's caused by bots/crawlers just clicking each of the tabs in turn because they appear in the page source code in that order -- and in addition, if it were a result of automated systems, you'd expect a consistent bias, whereas it's actually quite variable.
Here's the full dataset. Each line below shows a Google Analytics overlay, which tells you for each selected tab what percentage of people clicked on each of the other tabs during July 2009:
It looks like we managed to break tracking of access to our "About us" page for that month, so I put the results for that tab aside and did a bit of simple statistical analysis (in Resolver One, naturally) on the remaining data. The results:
The "from" tab is top to bottom, the "to" tab is left to right -- so, the chance of someone who is currently on the "Buy" tab clicking "Download" is 29%. The average chance of someone clicking on a given tab across all sources, and the standard deviation of those figures, are summarised at the bottom. Each cell is coloured based on how many standard deviations from the average it lies -- if it's more popular than it normally is, it appears red, if it's less popular it's green. The intensity of the red/green is based on how much more/less popular it is.
I think there's a very clear pattern -- the line of red starting at the "Home tab to Buy tab" cell, and going down and to the right to the "Screencasts tab to Get help tab" cell. That indicates that people are significantly more likely to click on a tab when it's the one to the right of the one they're currently looking at.
You can download the analysis spreadsheet from here, and if you don't already
have a copy of Resolver One to run it on (shame on you ;-), you can get an eval
version here.
This is interesting -- is it just our visitors, or have other people seen similar results?
A Resolver One model on the FT politics blog
Yesterday, my co-founder Robert Smithson presented a fascinating spreadsheet he's built in Resolver One to one of the Financial Times' two UK political correspondents, Jim Pickard. The spreadsheet gives predictions about the next UK general election using a clever methodology Robert has developed, and if you're interested in british politics or clever spreadsheets, you should definitely take a look.
Jim has blogged about it, and Robert has also done a guest post on his father's incredibly popular PoliticalBetting.com website; unsurprisingly, our website traffic's spiked a bit today...
[Update, 27 July] Looks like The Register found the story interesting too!