After logging in to wordpress tonight I got the happy message:
There are currently 12 comments identified as spam.
\o/
.. for those who are wondering if I’ve finally lost it, this may provide some insight.
After logging in to wordpress tonight I got the happy message:
There are currently 12 comments identified as spam.
\o/
.. for those who are wondering if I’ve finally lost it, this may provide some insight.
While getting the trac-svn integration up and running in one of our repositories tonight, I stumbled across this issue. Most links I found on Google said to try to run the post-commit script by itself under the same user, which worked just fine. Checked that all my paths were absolute paths to avoid assuming any CWD, but still nothing. After trying to minimize the problem I discovered that even with a post-commit-script of just environmental assignments, things were still failing. This nabble archived thread did however give a very important hint by Ryan Schmidt (who obviously has solved the post-commit problems for every single developer out there, if I were to judge by the number of times his name comes up. Awesome work, Ryan.):
Your post-commit must also begin with a line like “#!/bin/sh” and have its executable bit set.
Wow. Homer Simpson “Doh!”-moment right there. No #!/bin/bash (or #!/bin/sh) ment that SVN weren’t able to run the script with the proper interpreter. When running it from the command line, bash were already running of course, so it just assumed that it was a bash script .. and it were right.
Thanks Ryan, saved me a couple of hours tonight.
While integrating a custom search application into a Java-based web application, I came across the need to access properties in custom namespaces through the Informa RSS library. Or to put it in another way; i needed to access to properties, Informa had been used for RSS parsing in the previous versions of the web application. The people who developed the original version of the application had decided to extend the Informa library into their own version, and had added several methods for .get<NameOfCustomProperty> etc. After thinking about this for approximately 2 seconds, I decided that having to support and modify a custom version of Informa was not the right track for us.
My initial thought was that their decision to customize Informa to support these methods had to come from the idea that Informa did not support custom namespaces out of the box. I did a few searchas over at Google, and found nothing useful. Reading through the documentation for Informa didn’t do me any good either, so I tried to find an alternative library instead. Did a bit of searching here too, and stumbled across a hit for one of the util classes for Informa (.. again). This did support custom namespaces, so the backend support was there at least. Then it struck me while reading the documentation for Informa and ChannelIF again; Informa did support it, as it inherited the methods from further up in the hierarchy. The getElementValue and getElementValues methods of the ChannelIF and ItemIF classes allows you to fetch the contents of elements with custom namespaces in a very easy to like manner.
System.out.println(item.getElementValue("exampleNS:field"));
This simply returns the string contained between <exampleNS:field> and </exampleNS:field>
Hoooray! We now have support for these additional fields, and we do not have to keep Informa manually in sync with the version in our application. Why the original developers decided to fork the Informa library to add their own properties I may never know, but I’ll update this post if they decide to step forward!
(I wrote this back in september. No idea why WordPress decided to not publish it. Oh well. It’s still interesting.)
Ajaxian has a post up about a hack Brad Lassey created for the Mozilla mobile browser (Fennec). The strategy shows the video feed from the built-in camera of the phone, and allows the user to take a shot and upload the image. Simple enough, but the idea to evolve HTML to allow this kind of interaction by extending the type-attribute of the input element seems like a good idea. We’ve been experimenting quite a bit with ways of uploading and getting this kind of information from the users previously, in particular in the BTDT – Been There Done That – project at Østfold College University in the Mobile Applications Group.
Christer and I are currently looking into some of these ideas for at least one of the sites we’re playing with. This will allow people to very easily get this kind of functionality by using standarized HTML attributes, instead of having to write the same boilerplate code over and over again. J2ME has loads of security exceptions and Python for Series 60, however ingenious for development work, has a few deployment problems (the size, in particular), so just relying on simple HTML and javascript would be great. Well, the browsers embedded on the phones will probably be just as different as always, so we’ll still be left with “things that just work on a few lucky devices”. The closest today seems to be email and MMS, so I guess we’ll have to go down that roadfor now.
Vincent Laforet has a very, very interesting post up about the Canon EOS 5D Mark II. It features the first shots from the camera, and while they are stunning in their own right (Vincent shoots some of the best photos on the planet, so no surprise there), the most amazing thing is that they’re shot while in video mode. That’s right. They’re straight from the RAW .mov file that the camera produces when recording 1080p video. Simply astounding. I’m getting one. Hands down.
For more information about the EOS 5D Mark II and the video mode, NRKBeta has a long article analyzing the video output from the beast itself. I can’t wait. Too bad the price here in Norway is above USD 4000, so it’s actually cheaper to fly to the US, buy it and fly back to Norway. NRKBeta gives you even more images of the EOS 5D Mark II, an incredible piece of engineering. Time to start drooling!
Seth MacFarlane (of Family Guy, American Dad fame) created his own YouTube channel a couple of weeks ago, where he published “Seth MacFarlane’s Cavalcade of Cartoon Comedy”. The channel features a collection of shorts in the distinct style of his other animated series, but limited to a single gag or joke instead (an extended version of the short puns and gags in Family Guy).
Here’s some of the clips that he has posted so far:
I spent four hours at Rudskogen Motor Raceway tonight, at an event hosted by Autostrada Sport. A nice collection of Ferraris, Maseratis, BMWs and Porsches turned up (even a Lamborghini and an Aston Martin). As usual I spent some time photographing, before Marius took me for loads of laps in the black GT2.
The photo set is (yet again, as usual) availabable at Flickr.
Here are some of my favorites:
(as you can see, I’ve become very fond of this style after the last auto slalom. Some of those pictures turned out really great, so I spent some time playing around with it today)
We also had an inboard camera:
I spent yet another sunday camped out at the part of Gardermoen Raceway where Marius usually compete in the Auto Slalom competition while I spend the day photographing the drivers and their cars. Marius finished in 5th place this time, and this concludes this year’s season of auto slalom. We’ll be back for more next year!
The complete set can be seen on flickr!
Here’s a few of my favourites:
As we’re starting a new week I’m just going to round up a few of the links I’ve been having around in my browsers for quite some time now:
My previous post on the power of micro languages peaked quite a bit of interest. Today Gamasutra published a feature article documenting the creation of Whimsy, a domain specific language developed to create images resembling the art of Rodney Alan Greenblat. The language is actually quite similar to what I used myself:
superegg 0.15,0.10,3.5 at .3,.7 size 1.2 black distort .01 petals 14 0.05 size 1.8 petalblue inner .88,.01 tvpurple
The statements are one on each single line, with the command / drawing primitive as the first literal, then parameters to the command.