Posts

AI Notebook - AI and Tron Bot

Java OpenGL and the Google AI Tron Bot Challenge. The Challenge Google and the University of Waterloo a Computer Science Club (Waterloo, Ontario, Canada) have created an AI challenge. This is more algorithm AI and not Turing Strong AI. "The objective is to create an AI to play the classic game Tron, Surround, Snafu, Snake, etc." You must submit your entry by Feb 26th, 2010. Imagine Tron, there are two opposing players on a N x N (say 50x50) grid and the goal is to trap the other player. The players can move north, south, east, west in the adjacent squares but into a wall or the other player's previously occupied squares. I thought I would try my hand at the challenge. I was actually quite pleased with their handling on the contest. There are normally about 600+ active bots in the challenge. The website provides great stats on how your bot is doing. There is a graph with wins and losses and a javascript application that can replay any game. I really didn't want to talk...

Download and Cache Youtube/FLV files with Firefox

If you want to cache/copy youtube videos for later use, go tor you firefox cache and just copy the flv files over. My Name\Local Settings\Application Data\Mozilla\Firefox\Profiles\rxxs25wm.default\Cache ---- The filenames are like: B7922209d01 Add .flv as your file extension and then open a valid flv player. Look for the files that are over 2mbs. And normally you have to watch a complete youtube video, wait until it caches and then close firefox for the cache to be saved to disk. ---- And another note, I watch a lot of youtube videos. Every youtube download may cost you 15mbs of bandwidth. So I would consider watching the videos from file. I ate up 20gigs of bandwidth last month. I think my isp is considering charging me extra.

Most recent software projects and why

Here are my recent open source projects: (Most of these are proof of concepts, source included projects. Use subversion to check out any project). botnodetoolkit - A complete Clojure/J2EE framework that makes it easy for developers to taking care of browser and server-side components. And other server applications. haskellnotebook - The Haskell Notebook (another Haskell Cookbook) contains some common and not so common Haskell programming idioms that are contained in a collection of working/compilable examples. There is also a collection of source code from other functional programming languages including Lisp and Erlang. This project is similar to other cookbook projects that you may find on the web for various other programming languages. iphonenotebook - Octanemech - simple opengl iphone demo. keywords: objectivec, opengl, iphone3, xcode jvmnotebook - The Java Virtual Machine ( Sun's JVM is called HotSpot ) is a java bytecode interpreter which is fast, portable an...

Google Testability Blog

http://misko.hevery.com/ Great testability blog

Healthcare Reform in America is about public safety not about taking access

What is wrong with the debate? One issue I have with the entire health care reform debate is not with any particular bill or any particular person that is for or against reform. I take issue with how they frame the debate. They never look at the crisis with our health care system as a safety issue. People will get sick and people will die prematurely if they don't have the proper insurance or access to health care. The alarms should go off at this startlingly revelation. People will die and could potentially spread disease to others if they are hesitant about seeking medical care. According to the Department of Medicine at Cambridge Health Alliance, 46 million people will die because of lack of insurance. "The Harvard report, finding 45,000 excess deaths linked to uninsurance, made news partly because it was so much larger than past estimates. Why the big difference between the Urban Institute/IOM numbers and the latest report? Dr. Woolhandler explains that the Harvard ...

Modify javap to output to String, view decompiled information at runtime.

Image
I asked the following question on Stackoverflow: "I am working with an application webserver and have complicated classloading issues. I want to be able to download or print information that would normally get printed by javap (the methods, etc). I may also need to get the raw binary class data, to perform a binary diff. How would you do this?" I was not satisfied with the responses from stack. Sure, I could have used reflection to print information on a particular class from the web, but I was looking for the output from javap . Javap is essentially a decompiler that comes with Sun's set of Java tools, it is used to print the method names and other information for an associated class. It is a useful tool, how do you run the tool on code that is deployed on a server, at runtime? It seemed obvious that javap was written in Java, so I naturally assumed that the source was available with openjdk. Source for javap is available GPL licensed in the mercurial repository. Th...

Random Software Developer Thoughts - Entry Number One

I have these thoughts that pop into my head related to software. I always say I need to write these downs. Here is my first entry, writing down these thoughts. They are amazingly random, in a list format. Sometimes I may need to elaborate. I write software for a living, if you don't work in software, maybe this will help you get into the mind of a software developer. Note: a lot of the comments are geared towards J2EE java development. Entry Number One Software development can be very boring sometimes. Think about it, you sit in a cubicle/office eight hours a day, staring at a computer screen. For major portions of your life. Software development can be very interesting sometimes. You write software that thousands or millions or no one uses regularly. The user normally doesn't have a clue how the software gets written and there are all kinds of fixes, hacks, and easter eggs left in code. You as a developer may have minutes or hours that can effect a major release. A...