SD available for general use

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.

Sebastian on MS IIS’ FastCGI support.

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

Sitting under a tree

Sitting under a tree by Marcus Ramberg

Model adaptors for Catalyst.

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.

Modding kindle for european networks

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.

Bootylicious – Single file Mojo based blog

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 :)

3D with HTML5 Canvas series

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.
  • Copyright © marcus ramberg
    nordaaker

    Built on Notes Blog Core
    Powered by WordPress