Tuesday, 21 October 2008

 

Project Statuses, and should I start a new project?

When I first started writing this blog, I said that I was a magpie. Sadly, this lifestyle of mine has just arisen again, and tried to bite me.

For a while now, I've heard about dropbox, which is (I've heard) a multi-platform, daemon based file synchronizer and version control system, with a web based UI. Sadly, the daemon portion of this system is closed source (apparently because it feeds into EC2), but I love the idea of this.

Because I can't stand that something which seems so simple should be locked down, I figured I'd write it from scratch.

In essence, this system has a few calls;

1) Create
2) Delete
3) Update
4) List
5) Revision History
6) Get Permissions
7) Set Permissions
8) Rename

So, I figured... how hard could this actually be? You've got the beginnings of a file system here, and if you tied this in with something like a NAS box which can run code, or shared hosting, then it'd probably work really well.

But then I realised. OK, I can start this project, stick it on sourceforge and then let it die like the rest of my projects. Yes, all those projects are mine with the exception of the VNC Server for the Pocket PC platform where I tried to contribute the code for a fix back and got no answer, so I created a new project, and put it there with the fix. It's not great but I know a few people use it. Personally, I later found another windows-only project which does the same thing a lot better. I use that now, but if I ever actually manage to go Linux-Only, then at least I'll have a VNC Server.

OK, so I should also mention that I'm also not the only contributor to Laconi.ca Tools. The name might be a bit of a nuisance as it now appears that Evan Prodromou is now considering renaming the server software as Identica, and letting Laconi.ca fade into the wind. There are three mini-projects on Laconi.ca Tools, an SMS->Laconi.ca gateway, an RSS->Laconi.ca poster and a Laconi.ca feed converter.

Ideally, I'd finish up my projects and make them vaguely useful, or I can blog about them and hope that someone will offer to do something with them :)

So, what do I have?

Ongoing

SMS->Laconi.ca Gateway

I'd like it to have the ability to send billable SMS messages in PDU mode, as well as receive them. It needs to handle 8bit and 16bit messages, rather than the current 7 bit messages, and it needs to cope with Text Mode instead of PDU mode. The PDU mode is already in a separate file from the main message handling section, so this file could also be included in other projects than want to send SMS messages.

This is on the Laconi.ca Tools project hosted at Sourceforge.

Radio Times Data Manipulator

Fortunately, this never made it to Sourceforge, and is instead on a hosted SVN repo, partially because I'm not sure of the legal status of this project.

I am able to read the XMLTV data from the RT website, and feed that into a database, and have it e-mail me when programs I like are on TV, far enough in advance that I can program my V+ box, but without needing to remember it within the two weeks that the RT data is new. For example, if I wanted, I could put in the name of a series which is *due to start* in a month or so, and then it'd let me know about 7 days before it starts so I can schedule it! I could also search back through old data, and check who was in a TV program (where available), and see what else they're in.

Currently, all I have is a search program and a data importer, but these are all command line, and not really intuitive. The searches should all be web based and look pretty. They should also be functional and transparent (unlike the RT website, which loves it's adverts and can't cope with the fact you don't have channels it lists). Oh, and I really could do with translating some of the boolean data the XMLTV data contains into real values (like, I suspect, has subtitles or, is widescreen).

A proper food and exercise diary with proper APIs!

So, here's the rub. The overweight person I am needs to lose weight, but the geek in me wants to quantify it. I need to eat 100 kcal less per day than I expend. Actually getting this data together is semi-hard. You know what you're eating (more-or-less - hopefully more than less, otherwise that's a whole other problem), and you know what you're expending (or not as the case may be) thanks to things like pedometers, wii fit, and heart monitors. Realistically, I'd also want it to measure things like "on day one, my waist was X cm and my chest was Y cm and my lung capacity was Z etc." "on day 10, I'd lost x cm on my waist, y cm on my chest and increased my lung capacity by z".

Add APIs to this, and you get a cross-platform, themeable system capable of being used anywhere. Include half-decent authentication, and you also get to let your doctor, gym instructor or mates see what you want them to see. Hell, do it right and you get a whole dashboard of measurements ("I see you covered an extra 5 miles today. Well done!")

Again, it's not on sourceforge, but on my personal SVN repo. I think I was writing it from the perspective of being all APIs which are callable from the PHP code, but I got lost in the database, and gave up all hope.

Projects in my head

A life stream

A few people have told me that there are existing services which would give me lifestream capabilities. Frankly, I think they're all shit. I want something like friendfeed without the comments (damnit, go to the source of the data and put your comments *there*), in a long line with no "three other messages were posted at the same time". And I want the stream to be hosted on my website. There. I said it. I want to be *in control*. Isn't that the whole point of the AGPL? You can take my code and run your own stream. If there's something like this already, let me know where it is and I'll be all over it!

A network device manager

One of the things I hate about networking stuff is that nothing really is designed to interoperate. I want to make sure that my server is running, OK I can do that. I want to check what log messages it last reported. Hmmm OK, I could use syslog I guess. I want SNMP traps to appear in the same place. Yep, that's just about doable I suppose. Oh, and I want to back up all my devices and run a centralised authentication system through this lot too? Finally, you want something which looks pretty to show all this lot at work, and a paging system to cap it all off. Hmmm could be tricky, even with commercial software.

Well, I did actually write about 1/3rd of this a while back, and was then persuaded to scrap it. I've probably still got the images of this work knocking around somewhere and I just need to write up what I did, and maybe even dedicate some time to it again at some point.

Write a reasonable man-management system for overtime purposes

My style of self management is to write tasks on my phone, on a post-it and in my calendar, depending on my technological state when I get the task. Realistically, this should all be transferred to one system, which then is accessible wherever I want it to be.

Frankly, I work more than I should do. I often start early, work through lunch and leave late. I really need to make a recording of what I'm doing so I can get paid for it, and sometimes take time out (because I worked so hard the day before) and get to go home early and read a book.

If I got this tasking system working for my not-work-life, I could make it work at work, and then make it give me a report at the end of each week on who I worked for and how long I was working for them to do my time sheets, and, if I figure it out right, get the *system* to generate everything I need to submit this rubbish for a payslip.

I started this as an API driven system, and then wrote a thin web UI, which became a big web UI called "My Framework" and I condemned it to my SVN store, never to be seen again.

Revive my Wiki

There once was a presenter on LugRadio who commented he had a private wiki in which he stored his personal notes on how to fix things. For a while, I put up a trac based wiki, which when I discovered Horde's development tools, I thought I'd transfer it all into the Wicked Horde module. Of course, I struggled in vain against Hordes modules, and never got it working the way I wanted it to, so gave up on it. It currently resides as a series of trac wiki marked up text files on my home machine, just waiting for the nod.

The Roundup

So, how to proceed? There's always more chaff in my head than I've finished or even started. I'd love to start anew, but tonight when I had the opportunity to do either, instead I wrote a blog post.

Hmmmm.....

What would you do, dear reader?

Labels: , , , ,


Comments: Post a Comment



Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]