magpiebrain

Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘April, 2006’

[java]
Table person = new Table(“person”);
return select(person.star())
.from(person)
.where(person.column(“startDate”).greaterThan(“2005-01-01”)
.and(person.column(“numberOfFriends”).greaterThan(100))
.and(person.column(“age”).greaterThan(21)));
[/java]

[java]
Table person = new Table(“person”);
Column startDate = person.column(“startDate”);
Column numberOfFriends = person.column(“numberOfFriends”);
return select(person.star())
.from(person)
.where(startDate.greaterThan(“2005-01-01”)
.and(numberOfFriends.greaterThan(100)
.or(numberOfFriends.lessThan(50))));
[/java]

[java]
Table person = new Table(“person”);
return select(star())
.from(person)
.where(person.column(“psnId”).notIn(new String[] { “1”, “2” }));
[/java]

From the Squiggle acceptance tests…

When I moved I redirected all the old feeds – apart from my FeedBurner one – on to the new WordPress ones. My sites full post feed is where I get the bulk of my subscribers – the “old URL(magpiebrain – old full post RSS feed)”:http://www.magpiebrain.com/index_full.xml should be permantently redirected to the new “WordPress feed(magpiebrain – the new full post RSS feed)”:http://www.magpiebrain.com/feed/. When I load the old URL in my browser, it correctly redirects and shows the new content. However Bloglines for some reason has yet to display any new content from my new feed. Perhaps Bloglines is ignoring the 301 redirection from my mod_rewrite rule?

I’ll try and chase this up with Bloglines support, but if anyone can shed any light on it I’d appreciate it.

p(update). _update_: According to a “comment”:http://www.intertwingly.net/blog/2004/02/18/Bloglines#c1077175023 over at Sam Ruby’s site that I’m not the only person to have hit this problem. Hopefully Bloglines support will be able to update their database to reflect the new URL’s. It’s a little worrying though that in the year 2006 internet applications like this still aren’t playing nice with standard HTTP return codes

Now that I’ve “moved my sites(magpiebrain – New host, new blog, new screwups)”:http://www.magpiebrain.com/blog/2006/04/17/new-host-new-blog-new-screwups/ over to TextDrive, I need to find a new domain registrar to complete the relocation. My old ISP was an OpenSRS reseller, and I don’t want to keep paying my old monthly fee to them simply to manage my domains.

The two I’ve heard some good things about are “Joker”:http://joker.com and “RegisterFly”:http://www.registerfly.com/, but there are so many out there that a bit more feedback would be nice. It’ll need to handle a few .com’s and at least one .co.uk domain – I definitely need automatic updates and periodic reminder. A reliable web control panel is a must, but I’d rather not pay the earth for managing a few domains.

On a Wednesday instead this week, just for kicks, but once again at the “Olde Bank of England”:http://www.pubs.com/pub_details.cfm?ID=214 from 7pm. No agenda as yet, but I want demos! Leave a comment if you’ll be coming so I can get an idea of numbers.

Though the magic of Google Calendar (I’m so Web 20 it _hurts_) I now have publically available “ical(London 2.0 meet-up events – iCal)”:http://www.google.com/calendar/ical/c7ilcesmkkn0e3bkirk4kgf5cc@group.calendar.google.com/public/basic and “rss(London 2.0 meet-up events – rss)”:http://www.google.com/calendar/feeds/c7ilcesmkkn0e3bkirk4kgf5cc@group.calendar.google.com/public/basic feeds. Once I get home it’ll be on upcoming too (damn corporate firewall tagging it as a dating site…), although unless upcoming starts letting me splice in my Google events soon I’ll probably stop using the service.

p(update). _Update_: I’ve added a simple block on the bottom of this site listing the upcoming London 2.0 events using dwc’s “iCal WordPress plugin”:http://dev.webadmin.ufl.edu/~dwc/2005/03/10/ical-events-plugin/. There is also a specific “category”:http://www.magpiebrain.com/blog/category/web-20/london-20-meet-ups/ and “rss feed”:http://www.magpiebrain.com/blog/category/web-20/london-20-meet-ups//feed for all London 2.0 meet-up information.

Since I signed up to TextDrive I’ve been planning this move. Finally, after several weekends of intense inactivity punctuated with the occasional burst of activity, the blog should be moved. Pretty much all the links should be working, but email me if anything is mis-behaving.

TextDrive

I’ve had no real complaints with my old host, “Gradwell”:http://www.gradwell.com/. Sure, the web control panel needed some interface work, and they weren’t as up to date with new software, but they were solid enough and the support was prompt. The recent TextDrive lifetime hosting offer was enough to tempt me. Given that I was already a “Strongspace”:http://www.strongspace.com/ user the $500 deal ended up paying for itself in a year. Add in great support (both via the forums or via email), up to date software packages and the fact that they donate 50% of their profits to supporting a selection of open source software development and I was sold. Needless to say I’ve not been disappointed since my move.

Wither MovableType – and TextPattern

Yes, after using MovableType for many years I’ve also switched blogging software. My original choice was “TextPattern”:http://www.textpattern.com/ which I use to run another site. I like TextPattern a lot – it’s interface, easy install, ease of customisation. One thing I don’t like is the problematic handling of clean URLs. I needed to remap easily URLs from the old blog to the new using mod_rewrite, and it was very hard with Textpattern. In the end WordPress made the process much simpler. TextPattern does have a steep learning curve – but if the way it decides to handle URLs works for you and like the extreme customisation possible then it might be the one for you.

Enter WordPress

In desperation after many weekends of TextPattern tweaking I tried installing WordPress. As the documentation suggests it really does only take five minutes to install. I’ve bee greatly impressed. The admin interface is clean, there are a wealth of plugins available (and can be easily managed), and the theme handling is very handy for a compulsive tweaker like myself.

Hemingway

The design is a slightly modified “Hemingway” theme. The original really is a very nice piece of work. Over the coming weeks I plan to continue to tweak it, but I’ll be keeping the changes small and incremental – there have been enough changes recently!

p(update). _Update_ I’ve fixed a problem with the montly archive links from the old site not working. Images in articles seem screwed up right now though – but I can’t fix that while behind a corporate firewall Images should now be fixed too.

Thanks to everyone who attended London 2.0 RC 4 last night (in rather cramped conditions). The “usual(Simon Willison’s weblog)”:http://simon.incutio.com/ “suspects”:http://www.brunningonline.net/simon/blog/ were in attendance, as well as Adrian Holovaty who was in for a few days.

“Phil Dawes”:http://www.phildawes.net/blog/ demonstrated both “Bicycle Repair Man(Bicycle Repair Man – Python Refactoring Tool)”:http://bicyclerepair.sourceforge.net/ and the Python testing tool “Protest”:http://www.phildawes.net/blog/2006/03/17/protest-rocks-generate-documentation-from-tests/ (we need screencasts of both!), and I pointed numerous people towards the impressive “DabbleDB”:http://dabbledb.com/utr/ screencast. Demo of the night probably had to be Remi Delon showing off “Python Hosting”:http://www.python-hosting.com/. They offer a very slick, one-click install of a variety of different webapp frameworks (everything from TurboGears to Zope to Django) for a very “reasonable price(Python Hosting shared hosting plans)”:http://www.python-hosting.com/shared_hosting. His screencast is out soon – but put it this way, TextDrive’s TextPanel is going to have a lot to live up to, not to mention their forthcoming Rails-dedicated hosting (note: I’m a TextDrive user myself). Despite their name, Python-Hosting do also provide Rails hosting, however it’s not yet integrated with their slick user interface.

Details on next month’s London 2.0 RC5 coming up soon.

[java]
Table person = new Table(“person”);
return select(person.star()).
from(person).
orderBy(person.column(“name”));
[/java]

[java]
Table person = new Table(“person”);
Column age = person.column(“age”);
return select(person.star()).
from(person).
where(age.lessThan(25))
[/java]

[java]
Table person = new Table(“person”);
Column wage = person.column(“wage”);
return select(count(person.star())).
from(person).
where(wage.greaterThan(52000))
[/java]