Uncategorized

It’s a small Lotus world (part 2)

As you may have seen over the last week, there are several of us in the Lotus community who are gathering together to organise a fund raising event at Lotusphere 2011.

The inspiration came from Mark Myers and Ben Poole, who, in a rare moment of non bickering, specified and arranged the creation of the “It’s a small Lotus world” pixel art. Bruce then came up with the idea of raffling a very nicely framed version of the art (complete with key of all of the “inside baseball” references hidden away).Then Steve McDonagh very kindly decided to enter the fray with his Map of the Lands of Lotii.

So what’s the deal? Well, over the next few weeks, and at Lotusphere itself, we are selling raffle tickets. They are $10 each. Then at UK Night at Lotusphere (on the Monday night) we will be holding the grand prize draw for the framed pixel art, and Mr McD’s art work. 

You can either click this button to pay online:

or you can collar Bruce, Gayle, Mark, Julian Woodward or myself at Lotusphere to buy a ticket from us direct.

The aim of all of this, apart from being fun, is that we raise as much money as possible for the Children’s Cancer Association, which is a great charity that provides support to seriously ill children and their families.

 

So, dig deep, buy as many tickets as you can afford and you may well be walking away from Lotusphere with some amazing artwork to hang on your office wall. (If you’re not going to Lotusphere then of course we’ll ship the prize to you.)

One of the things we’re doing over the next few weeks is gradually revealing different sections of the pixel art image, so here is this week’s image in which we see the iEd’s store.

I’ll be speaking at Lotusphere 2011

Well the emails went out last night, I had one session rejected but Tim Clark and I are very fortunate to have had two sessions approved for Lotusphere 2011.

XPages Blast

Matt and Tim, will take you on a roller-coaster ride through the best of the best ideas and time saving techniques for creating world class XPages applications. We’re going to provide 30 top tips in just 60 minutes, it will be fast paced and packed with loads of information you will refer to time and again. Everything from simple debugging and dojo controls all the way through to complex Server Side Javascript and jQuery integration. Please fasten your seat belts and keep your hands in the car at all times.

How to build a simple XPages application

Join us as we take you step by step and click by click through building an XPages application. Learn the basics and then grow the complexity as you expand the application. Including XPages, Custom Control, Server Side Javascript, single UI methodology, using existing Notes data and adding unlisted Dojo objects. Watch the application being built live on stage with everything you need to know condensed into two hours.

Looking forward to seeing you there.

XPages training videos now available on the iPad

Well I finally caved to the repeated requests to make the videos on XPages101.net available to run on the iPad, iPhone, Android and so on. So I’ve spent the better part of this afternoon transcoding all of the videos and… Voilà.

In the end I also took the opportunity to move the hosting of the videos across to Vimeo so hopefully performance will be better and they’ll also better handle future developments in online video technology meaning I won’t need to worry about it in future!

Anyway, if you’re already a subscriber, log into the site and check out the new videos which I’ve uploaded this week which look at the data table control and the Extensions Library project on OpenNTF. If you’re not already a subscriber then head on over to the site and see what’s on offer, it really is a good way to get started with XPages development.

A small tip for upgrading your XPages apps from 8.5.1 to 8.5.2

If you have been using Stephan Wissel’s “Web Agents, XPages Style” technique for outputting non-HTML content from your XPages, you may run into a problem when you upgrade your server to 8.5.2.

In the original afterRenderResponse sample code, you would use something like…

try{
    var exCon = facesContext.getExternalContext(); 
    var writer = facesContext.getResponseWriter();
    var response = exCon.getResponse();
    response.setContentType("text/plain");
    writer.write("Hello World");
    writer.close();
}catch(e){
    _dump(e);
}

What you may find is running that code on your lovely new 8.5.2 server will result in an Error 500 with no detail of the error itself. To fix the problem, simple remove the

writer.close();

line from the source code and you should be good to go.

StackOverflow DevDays

About 6 months ago I signed up for the StackOverflow DevDays in London, a one day event run by the team behind StackOverflow, which if you’e a programmer is a website you’ll probably know well. This includes Joel Spolsky and Jeff Atwood, the aim of the day is to talk about all things development. So no particular focus on a technology, more a focus on good code, how to write it and, the appreciation of it.

An example was the session given by Michael Sparks from the BBC about Python. Not a language I know anything about, but in 45 minutes he went line by line through around 30 lines of code which make up the spell checker in some Google apps. Hugely nerdy but informative, interesting and inspiring. Other technologies covered included Android, Nokia QT, jQuery, Yahoo Developer Tools and so on. The only common factor being people are doing cool things with the code.

And inspiration was really the order of the day, if you were slightly jaded about programming going into the (packed) auditorium then by the end of the day, if you weren’t re-inspired to do cool things then a change of career should probably be on the cards for you.

Unfortunately I had to duck out early due to some real world production issues to deal with, but if the event comes back in the future, you can be assured that I’ll be signed up.

How to migrate Blogsphere data into a Squarespace Blog

Having said yesterday that I wasn’t going to migrate the old blog across here fully, I got an attack of guilt overnight and so the obvious thing to do on a beautiful Saturday was sit on the balcony with a bottle of beer and write a migration agent that took all of the blog posts from my old blog and converted them into an XML format that can be imported by Squarespace. (In the Website Management –> Blog Importer section). The results can be found here.

There is no direct route to take from Blogsphere to Squarespace (unsurprisingly) so I set up a temporary WordPress blog, worked out the XML format that it uses when you export data and simply wrote a LotusScript agent (still a guilt pleasure occasionally)  that creates an XML files that matches the same pattern. So in theory now, if you go here you find all of the old entries and comments working properly (I suspect that the older they get, the less reliable the conversion will be), but it was surprisingly easy.

The Lotusscript needed can be downloaded here. I’m not sure whether it’s good or bad that the whole of my seven years of blogging resulted in an XML file that is just under 3.5mb in size!

Anyway, the code itself, to get geeky for a minute, uses some very simple Notes DOM XML processing and takes around 30 seconds to run against my blog. A couple of caveats are that my old blog was highly modified so I’m not sure if it will run properly against your version, if you have problems, hopefully they should be fairly easy to fix.

A new beginning for the blog

I’ve been running my blog on Domino since it started back in 2002 but I decided that it’s time to branch out a little into the wider world of t’internet.

Hopefully if you’re seeing this then all of the RSS redirections worked so you shouldn’t have to do anything for future entries. But, frankly, I couldn’t face going through the migration of the old content so you can still get to it here.

Anyway, welcome to Squarespace hopefully we’ll all enjoy my new home 🙂

Lotusphere2008

Lotusphere2008,
originally uploaded by 11tmr.

This morning was dedicated to the big crowd pleaser sessions. Firstly Duffbert and Warren did the developers are from Mars, admins are from Venus for the first time. It was hilarious, especially the videos which they have been filming all week. And then for the last time (at least for the moment) Paul and Bill performed Worst Practices. It was as good as ever but what really made it this year was Duffberts last fifteen minutes where he exposed just how the ILUG conference is run behind the scenes. Truly some of the funniest stuff I have ever seen at Lotusphere.

All week Paul has been doing a wonderful job of pimping idea jam for us, to the point today where he didn’t even need to mention it, instead the audience all chanted “post it on ideajam.net” and we are really seeing the effect with a whole slew of new posts this week.

It’s the bloggers bof this evening followed by the party at universal so expect a little more radio silence from me.

Lotusphere2008

Lotusphere2008,
originally uploaded by 11tmr.

Tuesday evening, of course is party night. In the end I did speedgeeking, the blogger awards run by the lotus user group (congratulations Jake) then onto Jellyrolls and finishing off at Kimonos. So a relatively quiet night but fun never the less.

Lotusphere2008

Lotusphere2008,
originally uploaded by 11tmr.

OK so I have been most remiss in my blogging, the only excuse is that there is just too much going on. Tuesday is always the deep dive day so the couple of sessions that I managed to get to were excellent.

I am so excited about the changes to the Domino server coming in 8.5. We will basically be getting ten years of improvements in one go, including but not limited to…
– full gzip compression
– JSF support built into Domino
– completely rewritten HTML rendering engine with properly formed XHTML
– new design elements to separate design from data
– new URL commands
– server side javascript
– stateful sessions
and the list goes on. I can’t overstate how good all of this is. The future looks incredibly bright for the Domino developer.