Thursday, June 07, 2007
One of the people in the audience (David Crow) knew of Ocaml [which is the language in which a lot of the backend for ATC sits] and we talked a bit about the fun world of functional programming :)
Tuesday, January 23, 2007
The past few weeks have been fairly hectic which have been keeping me from working on All The Code. Another DB build did go through [thanks largely to amazon increasing my EC2 instance limit :) ], but I haven't had time to fully verify it yet. Early next week I'm giving another demo of All The Code so I really should get around to that soon.
I've started the process to take the four months starting in may to work solely on All The Code. The way things are structured, there is a lot of writing and presenting that I'm going to have to do before I can get final approval, but even if that does not work out I've got a back up plan. I'm hoping I can find some time in February to really pull things together, since I am going to be giving a public demo of it on the 26th of February. While the demo will probably not in front of a large number of people, but it will be recorded and I would much rather not have a "oops it crashed" moment on tape [or even worse live] :)
I'd also like to take this time to thank the people at Amazon Web Services and Alexa Web Search Platform for providing the platform I've built almost everything on top off. They have gone a long way to opening the websearch (and other data intensive operations) to the three crazy guys in garage.
Thursday, November 23, 2006
The most interesting technical suggestion I got back from the demo I gave was to offer people the ability to write there own plugins for various languages.
The most powerful part of All The Code is naturally in the anlysis it does, but because of the level which it goes to it actually requires building an AST to be able to extract all of the intersting bits of information. Writing parsers (or even finding and modifying them so they contain the extra information that most parsers through out that I keep) takes a reasonable amount of time to do. Initially I was planning on implementing support for the big languages only and slowly adding support for the less popular languages.
I'm not sure if anyone would actually write plugins for it, but I think making the plugin system for it will force me to keep (at least that part of the code) clean. On the downside, it gives me a whole lot of potential headache to deal with in addition to all of the other things which need to get done. I haven't decided one way or the other, but I'm leaning towards implementing a basic API and seeing if anyone bytes.
Tuesday, November 21, 2006
DemoCamp Ottawa was quite interesting, although not exactly
what I was expecting.
My spam filter managed to eat the confirmation e-mail from the organizer, so I
didn't appear on the schedule but fortunately I was able to demo anyways. I'm certainly going to have to look into
my spam filter, its eaten a few other decidedly non-spammy e-mails that I much rather have.
All of the other presentations had actual UIs [most of them quite nice] and the technology was way beyond the "I built the DB yesterday/this morning I hope it works", but hey whatever :-)
One of the demos (Context Discovery) looked really cool to me, essentially it attempts to create a summary of a text document based on an enhanced version of an algorithm that came out of the nrc. They seem to be getting ready to do a beta, and I'm certainly going to take a look at it once its released [although the demo was on a WIN32 platform, so there is a reasonable chance they won't release a linux version in there beta, I forgot to ask...]
I think its safe to say that the Race Dv people had the slickest user interface there. There product is aimed at racers (which I'm not), but it looks really cool. Spending Profile seems to be aimed as a web-based slimmed down Quicken/MsMoney alternative for people looking to track their spending habbits. The buttons for the UI were a bit hard to make out on the projector screen, but it looked like it could be a useful tool for people trying to make/follow a budget.ChoiceBot seems to be aimed to making it easier for consumers to find what they are looking for, which increase the conversion rate. Being able to specify the relative importance of various features seems like it would be useful for buying electronics and whatnot, but since the majority of my purchases are books I probably won't see it anytime soon.
The All The Code Demo didn't go particularly well, but the database didn't fall over dead either which is a good start. Some people wanted to know what All The Code does differently than Google Code and similar, and the best way I've found to summarise it is that it considers the relations between pieces of code. At some point in the future there are so many other things that I would like to implement as well to make it even more useful to people, but for now its important to get the foundation well built. Hopefully, eventually, it will do a bit more than that as well. I'm going to have to get better at giving demos, although I should probably make a reasonable user interface before I try and give another one :).
After the Demo one of the other presenters suggested that I e-mail him and that he might know someone who I could try and sell an early version to, but he cautioned me that they might just try and steal it. For some reason I'm not particularly worried about people trying to steal All The Code, I think its one of those things which you need someone really crazy to implement it, there are so many places where I think a lot of people would be put off and just give up [and hopefully buy my product :)]. Of course, I could be wrong, but such is life.
I actually met up with a number of people from a computer camp that I used to volunteer at back in the day, it was nice to see them again.
Monday, November 20, 2006
The All The Code database finished building at about noon today, which means that I can give a reasonable demonstration of it this evening at Demo Camp Ottawa (2). This is a big relief :-)
If it goes reasonably well, I'll see if anyone is interested in seeing an improved version on December 2nd (when Bar Camp Ottawa meets again). On the todo list is generalizing the Ocaml DB back end and moving as much of the computation as possible onto the Amazon Web Search Platform and Amazon Grid and putting a usable user interface on it. Not to mention adding support for cvs/svn and compressed archives :-)
Depending on how much time I have I may add support for C/C++, which is actually more challeging than java thanks to templates, macros, and a reasonable amount of variation between different implementations. I probably won't add any more languages before the beta, since I'm expecting to find out that I've missed something during the beta :-)
Either way All The Code will probably go public beta near the middle of December.