Archive for June, 2005

waiting at the trampstop in panoramic

Tuesday, June 28th, 2005

waiting at the tramstop in Göteborg
how to amuse yourself with panoramic mode on the k750i when waiting for the tram after a curry in Göteborg.

a common site

Monday, June 27th, 2005

powerbook users in the corridor
it wouldn’t be a proper geek conference without the site of loads of people sitting in the corridor using powerbooks! a common site at europython 2005…

so what did you expect?

Friday, June 24th, 2005

summer rain

i’ve been tinkering wiv me new K750i gadget and I have some findings to report:-

The camera is great, not great as in fantastic picture quality, but great as in really useable, even for 4 x 6 prints I should think. I’ve uploaded an uncompressed example here, taken outdoors which is where it works best. I’ve also uploaded another example here, taken indoors in low light using the built in light - note - not a flash as such, rather a continuous beam from a couple of LEDS - you can see some graininess in this which highlights the difference between this and a "proper" camera. This was on macro mode, so everything is out of focus except the edge of the cup.

Another nice thing about the camera is that because it has a sliding shutter on the front, it feels more like you are using a small digicam than pointing your phone at someone. oh and it has a cool little panoramic thing.

The video quality isn’t as good as I hoped. This is purely because it was described by sony ericsson as "high quality" As much as I dug around, I couldn’t find any information on exactly how high quality they meant. I should have known better than to expect anything more than the pixellated compressed results that you actually get - fine for postage stamp sized clips for the web, but not much else. I’ll post an example at some point. Still for a phone it’s not bad!

The MP3 player is great - you can set off a playlist and then minimise the app, so I have mine minimised and on pause permanently so I can just press the play/pause button on the side of the phone when I want to listen to some music. The provided headphones are also a handsfree set, and they use a proprietary plug/socket so I would need an adapter if I wanted plug any other headphones in or wire into the car stereo or anything. If I had known how good the mp3 player was I would probably have ordered a bigger memory card (only 64mb provided) before my trip to europython 2005 in sweden next week.

Mac OSX seems very unsupported as of yet, it pairs up OK via bluetooth so I can transfer files and I have used a hack for iSync to get my contacts and calendar synced up (not 100% smoothly like the T610 though). I havent got it working as a GPRS modem yet either, or SMS dial from addressbook. connecting via USB seems to work OK, mounts as a drive and charges the phone (nice unexpected bonus). I’ve heard reports of kernel panic when the usb is unmounted, but haven’t experienced it myself yet…

gadget participation

Thursday, June 23rd, 2005

garden panorama

my new gadget arrived, I tried to ignore it, at least until the end of the day, but all that integrated (useable) camera, (just about useable) video, (very useable) mp3 player goodness… no way.

relating members and events in plone

Wednesday, June 22nd, 2005

i’ve made some good progress on this, as I couldn’t find any "out of the box" products to do it for me. The requirement is fairly simple - when viewing an event, a logged in member should be able to subscribe to the event just by clicking a link, or remove themselves if they are already subscribed.

In a typical asp/php/jsp + relational database setup this would be done by having a table that stores member ids against event id’s and scripts to add and remove the relationships as appropriate. For those of you that don’t know, Zope doesn’t work like that. Zope (which plone runs on top of) uses it’s own object database for most content storage, rather that hooking up to a relational database (well it can, but that’s not the point). Therefore the usual way to do something like this is to store the cross references as a list, tuple or dict within a field in an object instance (my terminology may be a bit out here - feel free to correct me).

Anyway, without getting too deep into that, my next challenge was that the standard event content type in plone 2.0.5 is not an archetypes content type, which makes it more tricky (for me) to monkey around with. So I installed calendaring, which has a Archetypes based replacement for Events, which handily enough already has a field for attendees. It also has loads of nice calendaring stuff (as the name suggests) including iCal import, but I won’t list all of that here…

so, moving on, I created a portlet that displays when you are logged in and in the context of an event, which will list all current attendees, with a link to add yourself or remove yourself as appropriate. The links point to python scripts which are proxied to run as manager (ordinary members by default can’t edit events) and this gets the attendees list (using the getAttendees method that is generated by Archetypes), converts it from a tuple to a list (because you can’t manipulate tuples as I found out yesterday), adds/removes the currently logged in members id and then passes it back to the object instance using setAttendees.

This solves my problem, and i’m sure other people must have similar requirements, so I will (at some point - promise!) package this up as an installable product when i’ve finished it - I want to do some other things first such as looking up members names from the id’s, and cleaning itself up automatically if a member is deleted.

in the meantime i’m happy to send people the code so far if they want it :)

UPDATE: i’ve just been pointed in the direction of this (thanks Shane), which sounds like it does pretty much what I was trying to achieve, i’d better try it out! oh well, at worst i’ve learnt something about manipulating linefields programatically…

I wonder how I failed to find that when I was looking before?

UPDATE 2: I installed EventRegistration and it is much more complex than what I was trying to build - to register, members would need to fill out a form rather than the "click to subscribe, click to unsubscribe" I was looking for. I am also keen to utilize the functionality that Calendaring gives me so will carry on with my product (maybe call it something like QuickSubscribePortlet ) Still useful to know about EventRegistration though.

gadget anticipation

Tuesday, June 21st, 2005

although I pretty much managed to wean myself off buying gadgets unless I really need them, netsight are upgrading all our phones. I didn’t actually think I needed a new phone, as i’m pretty chuffed with how seamlessly my current one (sony ericsson T610) works via bluetooth with my powerbook, but couldn’t resist the prospect of it’s grown up sibling the K750i, with amongst other things a 2 megapixel camera. So now i’ve gone from not wanting a new phone at all, to feeling anxiety that our new ones haven’t shown up yet (tomorrow apparently!).

the downside is that iSync doesn’t currently support the k750i, so i’ve been reading various forums where people have hacked config files etc. with varying degrees of success. I suppose another way of looking at it is that longer it takes for the phones to arrive, the more likely that people will have worked out a decent solution :-)

i’m also looking forward to using the camera - i’ve stopped carrying my digital camera around with me as it is just another thing to loose/break/remember, and there is virtually no point in taking pictures on my current phone, so expect a "novelty factor" surge of random experimental pictures on hypothecate for the first week or so after it arrives!

ok I get geek podcasts

Sunday, June 19th, 2005

I’ve always got podcasts: prerecorded "radio" shows, usually in mp3 format, advertised by RSS, client software to check for updates and download to the relevant place (for some being an iPod, hence the misleading term podcast). Since I learned and understood that, i’ve always avoided the techie ones, reasoning that I wouldn’t want to listen to people talking at length about techie issues, when I would rather read the information.

that was until I stumbled across this podcast of an interview with Rob Miller talking about the use of Plone for the extranet used for the organisation of the Burning Man festival in Nevada. It made sense because I only found it because I was googling for something else plone related, stumbled across it, and started playing it in the background whilst I carried on searching for what I was originally looking for*, and let it play in the background, absorbing the content. The content was in the form of a telephone interview (probably actually a skype conversation or similar - must try to find out), and made sense because of the radio format and the "in the background" style, rather than taking time out specifically to listen to one person talking about one subject.

*I was trying to find a product to let standard members in a standard plone site to be able to sign-up to standard events via a simple one click process (i.e attach members to events or vice versa)- all enquiries on #plone and plone-users were met with radio silence :-(

i know too much

Friday, June 17th, 2005

I read too much information, mostly because bloglines makes it easy for me, but coupled with the mailing lists I subscribe to (underscore being the main culprit, the only one I allow directly into my work email and read in real-time), I get to digest an excessive amount of information every day.

As a result I have no urge to read newspapers anymore, as they always seem way out of date - the same information arrives digitally on my screen almost as soon as it happens. I’m also still sticking to my self imposed ban on buying magazines, so the advertisers aren’t getting to me as much as they would like :-)

UPDATE: someone just posted this to underscore about 2 minutes after I posted this - a hack to make firefox confront you after 5 minutes of aimless surfing, so you have to justify your case for continuing

using javascript for good not evil

Thursday, June 16th, 2005

I read through these presentation notes earlier on Jeremy Keiths "using javascript for good not evil" presentation. He has some valuable advice about how to get round the problem of leaving useless href links full of # and javascript calls that make no sense if javascript is turned off. I won’t reproduce it here - have a look the the notes.

On a seperate (but related) subject, how nice it is that the presentation is in lovely S5 format - it’s refreshing to not to be pointed at a powerpoint file! Can’t remember whether i’ve already blogged it but there is a Plone product which willl turn a standard plone document into an s5 presentation, with the start of each slide being defined by a heading.

plone tableless and negative margins

Wednesday, June 15th, 2005

hooray! I’ve finally understood why the plone tableless skin uses negative margins in the CSS - it is to get round the inabilty to specify a width of something like (100% - 16em) in CSS.

I did start to write up a full explanation, but then closed my browser before saving it, which is just as well, because it is much better explained by this article.

Hopefully now I understand it, it won’t spring apart like a clowns car the second I adjust some padding :-)