Thursday 27. August, 2009
Jesse Vincent of RT and Hiveminder fame has just announced that his new system SD is available for public use.
SD (Simple Defects) is a peer-to-peer issue tracking system built on top of Prophet. In addition to being a full-fledged distributed bug tracker, SD can also bidirectionally sync with your RT, Hiveminder, Trac, GitHub or Google Code issue tracker.
You can install SD with the CPAN shell by doing
$ cpan App::SD
For more info, read the release announcement.
Tuesday 11. August, 2009
09:30 < @sri_> there is absolutely no way to detect the server base as far
as i can see
09:33 < @sri_> you really have to do horrible things with PATH_TRANSLATED...
09:34 < @sri_> seriously... was that thing developed by a bunch of monkeys?
10:00 < marcus> yeah, they were trying to write shakespeare's collected works,
and ended up with IIS instead
Sunday 9. August, 2009
Friday 7. August, 2009
In a recent post Dave Rolsky points out some of his own best practices for Catalyst. While I’ve come around to agree with his first point, that Catalyst should generate a reusable config class for the user, I’m not so sure with regards to his model viewpoints.
For me, the strength of Catalyst’s Model layer has always been the immense glue layer that allows me to configure any model in a predictable way. Much like DBI gives me a unified way to talk to databases, the Catalyst model-layer gives us a unified way of configuring models. In addition, we are able to provide helpers to create these models from the command line, reducing the work needed to set up a new model.
I will grant Dave that the API for the model adapters could be better. It is my hope that we will accomplish as Catalyst takes advantage of more of the new stack that Moose provides. In particular I am excited about the work Devin Austin is doing for GSOC on improving the -Devel package. This is an area where we can significally improve without too much worry about backwards compability. For instance, the KiokuDB model already uses moose accessors for config.
Dave’s example only limits itself to talking to a SQL store via DBIx::Class. However, real world applications typically have several models. In some of my apps I talk to S3, or Queue servers, or LDAP stores for user management. This shows the true power of the Catalyst model layer.
I also hope that we can provide a different way to tie models to controllers. This should be part of the moosify branch of Catalyst-Runtime. I disagree that $schema->resultset(‘Person’) is a significant improvement on $c->model(‘DBIC::Person’). Controller code is not meant to run without a context anyways.
I hope that by looking at Moose Extensions, we will be able to find a more suitable API for this functionality. Of course, we have a lot of work ahead of us, but I am really starting to like what Catalyst has turned into.
Thursday 6. August, 2009
So some European madman got himself a Kindle on the 30. July, and the first thing he did with it is pop it open and replace the US-centric mobile card:
I modded the
Kindle 2 with a
3G HSPA modem and a
Simcard holder for use in
Europe.
Apparently It’s not tested at all yet, so I’m very interested to see how this turns out. He will probably need some software support to get it working. Somehow I still think he needs to work around the GPS Amazon use to track the location of your device.
As you might know, Sebastian recently added single-file support to his Mojolicious framework. Viacheslav Tikhanovskii has taken this functionality and run with it, producing bootylicious – a ~280 SLOC web log system. It sorts a directory of POD formatted blog posts, and even supports RSS. I think these single file apps is an excellent way to demonstrate your framework. I actually remember this as being a selling point for Maypole back in the days :)
Mr Speaker is doing a series of posts on how to do 3d graphics with the HTML 5 Canvas:
This introductory post – to set up viewer expectations
A 3D starfield – to learn how to project points in 3D
2D shape rotation – gotta rotate stuff, and that seems hard
3D wireframe drawing – draw a cube! Yeah!
3D wireframe rotating & moving – spin it!
‘Shaded’ 3D model – colour it in.