Tuesday, August 30, 2011

Dist::Zilla

Wow. I never heard of this before - it's good for me to work on Padre!

ORMs don't kill databases - people do

A cogent article about how wrapping your SQL in an ORM can get you quick returns - until it does something boneheaded. Better to isolate your SQL in a transparent manner like I'm planning, right? Right.

SURBL

Interesting: a database of URLs/domains that have been spammed.

D3 (data-driven documents) tutorial

Coooool. [here]

NPSML: Naval Postgraduate School Machine Learning Library

Worth looking at some slow day. [docs]

Qt

Another GUI framework I've never taken the time to look at closely: Qt. What drew my attention was this blog post. I'm not the only one who wants to streamline semantics for UI descriptions.

Sunday, August 28, 2011

Padre integration

Well, Padre is really incredibly extensible - except for one thing (I'm going to have to patch my current copy); you can't add a MIME type/file extension mapping from a plugin, which is very disappointing. So here's basically what I'm doing:
  • Add .dpl => application/x-decl to EXT_MIME in Padre::MimeTypes.pm (patch)
  • Create a Padre::Plugin::Decl.pm
  • There, registered_documents can assign x-decl to Padre::Document::Decl.pm
  • Create Padre::Document::Decl.pm
The Plugin module handles general UI stuff (menus, About, special tools, etc.) while the Document module customizes the editor's behavior to suit you. I'm particularly interested in folding - but so far the documentation is really chaotic.

I've got about ten windows open on this task:
Also, I had some initial success with creating a new document class and doing some rudimentary folding in it - it was harder than hell to find documentation, though. It's scattered all around the Web. Here's some links that came in handy when dealing with folding in Scintilla/wxStyledTextControl:
  • Somewhat random access, but here is some POD for the wxScintilla control.
  • Here's some guy doing folding against Scintilla in a language I haven't even identified.
  • Otherwise, there's loads of stuff written for/about wxPython that works pretty well.

Decl integration with Padre; musings about actions

Something I haven't spent much actual development time on yet, but ... it's starting to seem that the natural working mode of Decl will be to state that an action will be necessary, then to invoke various interactive services to specify that action more specifically.

So for example, if I have an invoice to issue (yes, yes, yawn) I'd start by just stating, "invoice" and passing that to ... some kind of action-consuming agent. The agent looks at this, sees that it is underspecified, and starts a conversation with me to determine just what it is I expect to do.

Once the action is fully specified (a customer has been selected, one or more outstanding jobs selected, and so on), then I can say, "Do it", and it is done, logged, whatever.

So what interfaces are available to me? Well, let's assume I want to be able to see the structure as it is built: that structure should be in Padre. With Padre::Plugin and Padre::Document, I can do that. Really easily, actually. The documentation sucks incredibly because it's not exactly a mature environment yet - but it's a great design.

So I could easily imagine right-clicking on anything in a Decl tree and getting immediate expert tools to deal with it: set up a database, select boilerplate, etc. It should end up going really fast. I'm looking forward to exploring it.

Python Web microframework BATTLE!

Very nice comparative lineup of about ten different Python Web microframeworks.

Friday, August 26, 2011

Opa

A one-size-fits-all environment for Web application writing. It apparently subsumes the database, server, and both server-side and client-side programming into one big programming language. I'm pretty sure I've linked it before, but just in case: Opa.

It might be instructive to work out their examples in Decl.

Opa's central thesis is that polyglot programming suffers from impedance mismatches that slow down any programming effort. I guess my own Decl-based WWW::Publisher's answer to that isn't to eliminate the polyglossia, but to provide some kind of macro-based assistance to make sure your polyglossia has a solid framework to work in.

YUI

OK, so Yahoo! has a UI library, YUI, for writing AJAX applications. Which I kind of knew, but ... really it would be nice to come up with a Rosetta stone for all the myriad ways of cooking a UI.

The Strong API

Some kind of ... thing for determining degrees of relatedness between terms using ... the semantic Web? Maybe? But it does look interesting!

Karma proposal

This is an interesting proposal for karma measurement using the Sharpe ratio.

More on Twilio

Some new company/applications written on Twilio.

Usability blog

Interesting.

Checkers playing in 1966 and today

Peter Norvig gets scary in analyzing an article about a checkers playing program. To evaluate the program, he writes a compiler for the language used to write the program. And then debugs both the language spec and the published program.

Odd that I've never started a compilers topic before now. I guess I've just trusted other people to do it better.

Interactive diagrams

Another from the same Amit: an interactive diagram of a car's blind spots.

Game programming

Target application: Listry.com

Neat! This is from an HNN announcement. As always, I'd find it instructive to try to clone it in as few steps as possible.

Microformats

Here's a Wiki of "microformats" - semantic markup for various categories of things. Interesting effort. Filed under semantic Web, I guess?