Sunday, February 27

Geek

Miko Magic

I'm going to be taking a couple of months off work soon to try to catch up with my two-year backlog of mee.nu and mu.nu stuff* and one of the projects I'm keen to get up and running is Miko, the long-awaited Minx desktop client.

The basic design for Miko at this point is that it will be a container for a little single-site Minx implementation, running right on your desktop.  You can work online, with changes mirrored straight to the server, or offline, with changes synced when you click the little sync button.

All the posts and comments will be stored in a local database (as well as on the main server).  All your images and files will be mapped to a local folder, so you can upload any number of images just by dropping them into a folder and clicking sync.

The way it will work is that there'll be a simple Visual Basic GUI wrapped around a core written in IronPython.  The core won't be a full version of Minx, but it will contain the functionality needed to edit and preview your site offline.**

I'm probably going to be supporting the Blogger and/or WordPress APIs as well, but that will only allow you to do basic stuff, not all the cool stuff that's buried just under the surface of Minx that will be exposed in release 1.2, which is the other big thing I'll be working on the next couple of months.

/images/MikoAndCat.jpg?size=500x&q=95
Excuse me, but you appear to have a cat on your head.

This will also be a test run for the idea of migrating Minx to Mono.  IronPython, the .Net / Mono implementation of Python, is coming along quite nicely; they have a 2.7 release candidate out now.  With Mono, I'd lose access to a couple of libraries I use in Python (like PIL), but gain the ability to easily call code written in Ruby (via IronRuby) or PHP (via Phalanger) or Cobra or Boo.

Most of the Minx code ports right over to IronPython (with some changes to the templating system, which is dog slow in IronPython unless you replace some instances of String with StringBuilder), but I haven't got the whole framework converted much less done proper performance and stability tests.  So I'm starting out with a stripped-down instance with just the functionality needed to host a single site for a single user.  If that works out well, then we'll see.

* Not to mention my two-year backlog of sleep and my two-year backlog of seeing my family.

** Except possibly for Lua scripting, which is coming soon.  I have that working nicely for the server, but don't yet know how to make it work properly in Miko.

Posted by: Pixy Misa at 04:52 PM | Comments (1) | Add Comment | Trackbacks (Suck)
Post contains 457 words, total size 3 kb.

1 This sounds like something I'd really enjoy using. Thanks, Pixy.

Posted by: Avatar_exADV at Wednesday, March 02 2011 04:53 PM (pWQz4)

Hide Comments | Add Comment

Comments are disabled. Post is locked.
46kb generated in CPU 0.1155, elapsed 0.4352 seconds.
56 queries taking 0.4241 seconds, 337 records returned.
Powered by Minx 1.1.6c-pink.