2011-05-28

adsense

I added Google Ads, hopefully they don't bother any users.  It was very easy to set up, the only real work was editing the stylesheet.  It would be nice if people didn't use adblock, but it would also be nice if ads weren't obnoxious.  At least Google Ads don't blare audio or invite you to "punch the monkey".

2011-05-27

Technologies

I wrote mineConics in Javascript using jQuery to handle some of the interface elements.  The graph is drawn on a Canvas element and I used the mousewheel jQuery plugin so that users could zoom in and out with the graph.


At first I was using a very basic algorithm to calculate circles.  I tested every single cell on the graph against the list of circles.  If sqrt((x*x)+(y*y)) was less than or equal to the radius of the circle and greater than (radius - 1), fill in that cell.  This worked but it was slow and didn't allow for the click and drag panning that I had in mind.  I looked around for a more efficient algorithm and found Bresenham's Circle Algorithm.  I don't think Bresenham wrote the circle algorithm, but he wrote the line-drawing algorithm that inspired it.  This sped everything up and allowed me to make the app much more interactive.


I'm using Google App Engine to host the site.  I might take advantage of their backend storage to save designs or I might save them locally using HTML5.  I haven't gotten around to that yet, but I'll keep you posted.

2011-05-26

mineConics is setting the intarwebs aflame

Like many people nerds, I have been playing Minecraft.  It's sort of like a cross between LOST and Legos.  In the game, I began to build a tower and used this as a guide so that I could make a classic, cylindrical, tower.  I needed bigger circles, though, so I started coding up some simple scripts to draw circles for me.  First just a Python script spitting out zeros, next some Javascript drawing squares on a Canvas.  I kept adding features and eventually I felt that I had something someone else might want to use.  It's proven to be a great learning experience and I'm hoping people can make some use of it.