Wednesday, February 21, 2007

Downtime, presentatons, etc.

So All The Code recently suffered some downtime and I figured I should probably talk about it. The problem came from the reverse proxy software that I'm using to act as a load balancer and (ironically) avoid nodes that are down. Even then, the reverse proxy going down shouldn't be the end of the world since there are two reverse proxy boxes and ZoneEdit is supposed to failover to the second server in the event the first one goes down. During the brief stint on slashdot, I disabled the second reverse proxy and started using it as just another node to keep up with the load. Sadly, I forgot to switch it back to its old configuration after the load went back to normal, so the failover system didn't work out as planned :)

I've got a full schedule for the next little while, sadly not enough of it involves fun coding, but such is life. This Friday I'm giving a presentation to a small group (3 people) looking at the business aspects of All The Code. I'm also going to be giving a presentation to the Computer Science Club, probably on the 1st or 2nd which will be focusing more on the technical aspects.

Tuesday, February 06, 2007

Features & Bugs oh my!

Being on slashdot, reddit and other news sites has its ups & downs. On the positive side, you get a lot of viewers, and for the most part people seemed fairly positive. I also got a lot of useful bug reports about such wonderful things as cross sight scripting vulnerability, places where things should have been escaped, and a few feature requests.

Since All The Code has a fairly small database, since it only indexes .java files and does not look inside cvs/svn/git or even zip files for the time being, a lot of searches didn't return many results. The solution to this is to allow substring matching IE (you search for "btree" it finds "tree" and gives you tree). This has the wonderful effect of giving you lots of results, but depending on what you are searching for this stemming can lead to much sadness, giving not so good results at time. My present solution involves some magic determining when to use stemming and when not to use stemming. After being on slashdot I got an e-mail from someone who asked for the ability to manually turn on/off stemming and some of the other fuzzy matching, so I've added that feature.

Another feature request I got is allowing users to customize how it displays the code. Right now it is using the defaults of vim2html, which I'll admit aren't that readable on a white background. Since I have to replace vim2html I'm looking around at a number of the alternatives and seeing what it would take to make it user customizable. I also got an e-mail from an fellow who is working on a nice method to embed code inside pages along with the relevant meta data (like license, language, language version, etc.) that I'm going to take a look at.

A few people noticed that I had forgotten to escape all of the special characters between the front end program and the back end program, which was resulting in some less than fun results for certain searches. Fortunately thats now been fixed. Another bug related to escaping is that you could insert arbitrary java script into the pages with a fairly simple query, which has also been fixed (in my defense, since there is no account system it didn't pose a security risk, but it did make certain pages ugly).

Anyways, thats enough rambling from me, I've got a lot of code I should be writing and a lot of non-code work I should be doing as well.

so much stuff, so little time

So All The Code recently made it onto slashdot for the win. Theres a lot of stuff that I need to do and write about but life is way too busy.

Thursday, February 01, 2007

Taste the alpha

So, after All The Code was up for a few hours I made one small change to the production system, breaking codeviewing for the better part of half an hour. Anyways, I came up with a way to improve results that shouldn't take more than a hundred lines or so to implement, so as soon as I get some free time I'm going to give that a shot (not on the production version though, I've learnt my lesson there). On a less than totally random note, newsforge put up a small blurb on it for awesome.

Free Blog Counter