Rendering the Mandelbrot Set with HTML Canvas
I wanted to play around with the HTML 5 Canvas tag, so I’ve started building this little web application to render the Mandelbrot Set.
I wanted to play around with the HTML 5 Canvas tag, so I’ve started building this little web application to render the Mandelbrot Set.
Following in my tradition of periodically taking an online Myers-Briggs test and posting my results. I’m still an INTJ with the following percentages:
Introverted – 89%
Intuitive – 62%
Thinking – 88%
Judging – 22%
For those with less time or patients, here’s a quick four question version of the test which is pretty much guaranteed to be less accurate.
I was playing around with solving the N-Queens Puzzle in JavaScript and thought it would do nicely as a browser benchmark. I’m not using much in the way of heuristics or optimizations in this version. In summary, Google Chrome 4.0 is fast.
It seems like everyone else has dumped their thoughts and opinion of the iPad on the internet, so I guess I will too. I may not provide anything insightful, but this post could be fun to look back at a year or two from now to see what I got write and wrong (post your thoughts in the comments to play along).
In case you’ve missed it, the iPad is Apple’s new consumer gadget. It has a 10″ touch sensitive LCD screen (give or take) and is half an inch thick. The operating system (for those who care) is basically the same one that’s on the iPhone and the iPod Touch. This means that it’s designed to be used with your fingers, and that it can only install applications that are downloaded through the App Store and approved by Apple. The basic 16GB model starts at $500, and there are 5 additional models (depending on storage space and 3G connectivity) topping out with a 64GB version at $830 plus $30 per month in wireless charges. Read the rest of this entry »
Last summer I built a little recommendation engine for people to follow on Twitter. I’ve been meaning to build a new one since Twitter added the ability for users to group people into lists. Well, this past week I finally found some time to give it a try. For comparison, here’s my new top 40 suggestions (again, *’s are people that I don’t currently follow):
I can also target specific users.
Followers of John Resig (jQuery) might like:
codinghorror
kevinrose
kevinmarks
spolsky
yahoo
dondodge
stephensaber
scottdlowe
adenhepburn
ryan
Followers of Chris Blizzard (Mozilla) might like:
BillGates
ioerror
beltzner
GoogleCode
BoingBoing
grantbow
Ben_Teitelbaum
googlemaps
googleapps
mozillaweb
Honestly, it’s not as good as I expected. Just glancing over the results, I don’t think it’s as good as the follower based version from last year. Part of the problem could be list spammers, part could be that I don’t do anything do dilute the influence of people that create a lot of very broad lists, and part could be that Twitter has changed. I’d really like to try a blended version that uses both lists and followers.
I'm trying out Posterous. If you have an account, let me know what your username is so that I can subscribe.
-AaronMy friend and I put together VapURL.com, a URL shortening service for creating disposable URLs. The idea is that you can create a URL that will redirect to the site of your choice, and send the link to someone. Once they use it, the link will become inactive and if anyone else returns to it, they’ll just see the VapURL home page. There are configuration options to allow the URL to work more than one time, and to set different time limits.
We built the website on Google App Engine which went pretty smoothly. It was a good way to get a little more practice with Python and to try a different set of web frameworks from what we’re use to. We’re also using Beanstalk to host our Subversion repository. I ran into one small bump with them, but overall it’s been a really good experience. I
It’s nice to have a publicly facing side project. I plan to do more.
I’ve been working on a little Python script1 using the Twitter API that can recommend people for me to follow. Here’s the basic idea:
So far, it works pretty well. About half of the top 40 results are people that I already follow, and the others do look like people that I’d be interested in following (some of which I have followed periodically). Here’s what it came up with so far (*’s are the suggested new people to follow):
I’m posting to twitter.com a lot more than I’m posting here, so I’ve created a sidebar to show my current tweet. Check it out in the top right corner of this page. Click the text to be taken to my twitter account. If you’re interested in the code that generates the message, head on over to my twitter code page.
I also spent most of this moring upgrading my WordPress install. (WordPress is the software that I use to run my blog.) I doubt that this means that I’ll be posting a whole lot more, but you never know.
Using the same benchmark that I used earlier this month, I decided to test out the new Firefox 3.1 Beta 1. The beta includes a new “super-fast JavaScript engine” called TraceMonkey. I ran my benchmark both with and without TraceMonkey enabled (javascript.options.jit.content=true) and here are my results.
| Firefox 3.1b1 jit disabled (Mac) | 1108 |
| Firefox 3.1b1 jit enabled (Mac) | 2158 |
| Firefox 3.1b1 jit disabled (Win) | 642 |
| Firefox 3.1b1 jit enabled (Win) | 1444 |
Once again, lower is better. I don’t know why, but TraceMonkey is clearly slower here (about half speed!) making it one of the slowest browsers I’ve tested. Maybe it’s something odd about my test setup. The first two runs are on my Mac Mini running Mac OS X v10.5.5, 1.83 GHz Intel Core 2 Duo, 1 GB 667 MHz DDR2 SDRAM, and the last two are on my Windows Box running Windows Vista SP1 64bit, Intel Core2 Duo 3.0 GHz, 4GB RAM.
On the bright side, this beta is slightly faster than Firefox 3.0.3 when TraceMonkey is disabled. Hopefully this test doesn’t indicate the results we’ll se in the final version of Firefox 3.1.
| « Previous Entries |