Tuesday, August 30, 2011
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.
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:
- Gábor's overview of wxPerl and wxWidgets
- Somebody's cookbooks for plugins. I find these cookbooks essentially impenetrable.
- Padre::Plugin, Padre::Document, Padre::Document::Perl, Perl::MimeTypes
- Another how-to on plugins
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.
The Strong API
Some kind of ... thing for determining degrees of relatedness between terms using ... the semantic Web? Maybe? But it does look 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.
Game programming
- Nice list of links from Amit ... P
. - Scirra, some kind of drag-and-drop HTML5 game maker thingy.
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?
Subscribe to:
Posts (Atom)