Andrew Que Sites list Photos
Projects Contact

December 31, 2006

New Year's Eve 2007

    The year draws to a close and I can briefly reflect on the changes the year has brought.  At the beginning of the year, I was employed full-time, in a promising relationship and living in a house with plenty of room.  Now, I'm mostly unemployed, single and living in a tinny house.  I'm not going to complain though—There's money in the bank and I've started the long desired process of going back to school and I seem to be doing alright.  But it's certainly a year of great change!
    I had a few options for New Year's parties, but had several requests to host one at the Garage.  So, we rang in the New Year here for the first time in a long time.  Not since New Year's Eve of 2000 have we rung it in at the Garage.
   Wes and Sarah play on the floor in the kitchen.
Crystal and Juliet

Crystal and Juliet

    All my grades were posted on-line today.  The results: I have a 3.583 GPA.  Two A's, a B+ and a B—and I can work with that.
    Last night, I started "reading" (it was an audio book) Richard Dawkins' "The God Delusion".  Despite being over 7 hours, I pretty much listened to the whole thing in one sitting—it was just too good to set down.  I had discussed Dawkins with one of my professors once, who stated that Dawkins "doesn't pull his punches".  He certainly doesn't.  In one chapter, Dawkins talks about the very book I was given by the Jehovah Witnesses (and ranted about) and cordially dismembers it's claims about Irreducible Complexity I've printed out the relevant pages and highlighted particularly meaningful sentences.  Together with my previous rants and various other pieces of research, I plan to present this information to the returning Witnesses.  In all probability, the facts I have assembled will have no effect.  Religious faith gives merit to those who believe for the sake of believing, with no proof and even in the face of evidence to the contrary.  However, I think it's important to tear down artificial ideas, such as the claim that science somehow supports creationist myths.  I feel it's important because some otherwise reasonable person might be convinced the creation myth has a solid bases (which I can show it clearly does not) and therefore conclude that if the creation story is correct, so too must be the rest of it (virgin birth, talking burning bushes and the need to kill homosexuals).  While the person who presented me with this book may never change his ways, he will now have to face the reality that his book trying to bridge science and his religion is seriously flawed.  He can either continue trying to convert people without the use of said book and give up on claiming science is on his side, or knowingly lie when he presents the book to someone else as fact when he knows it isn't so.

1 comment has been made.

From Nathan


December 30, 2006 at 10:47 PM

At least you can point out that they contradict themselves, explaining why their idea works with science, and then attacking the science. Thats pretty silly. I just started watching Joseph Campbell's 'Power of Myth', which should be cool. I think it "attacks" some of that stuff without trying to really tear it down. Just says a lot of what they say in the bible, etc. is mythology, telling people stories they need to hear rather than providing historical fact or almighty truth. We'll see though...haven't watched that long.


    The last couple of days I've been concentrating on game theory—in particular, a method called Minimax.  The idea is to turn Squares into a game you really have to work in order to beat.  To start down this path, I wrote a quick Javascript Tic-Tac-Toe.  Then, I started to apply the minimax algorithm.  I haven't finished, but I a good deal completed.
    I observed some rather seasoned video game buffs playing my version of Squares, and I was surprised how well the computer did against them.  And this A.I. system is still fairly weak—I beat it at least half the time.


    I made up two pumpkin pies and decided trying to make real wiped cream.  I bought a pint of heavy whipping cream, dumped it in the mixing bowl and turned the mixer on high.  Sure enough, after a minute or so, the cream started to thicken up.  After adding some sugar and a little vanilla, I ended up with some fine whipped cream—much better then the store bought stuff.
Traveling for the yearly family gathering always makes me remember why I don't own a TV.  While there, I coded this little effect:
   It works using two simple algorithms.  There is a bounce between two points using a cosine curve.  And the two points to bounce between are determined by a rotating circle.


    I made a version of Squares called "Micro Squares", which can be included on any web page.  So here it is...
     Unfortunately, it only works on browsers that are not IE (Firefox and Opera). I also made a little script to generate a snowfall behind the logo of my front page. Again, it only works on browsers other then IE. It's pretty slow, however. The snowflakes are DIV tags being moved around, and despite there only being a couple of them, the snowfall makes my browser use about 25% of the of CPU power.

December 23, 2006

Squares with improved A.I.



    I finished an overhaul on the A.I. unit of my Javascript game "Squares".  The original A.I. system simply calculated it's move by making a determination as to which cell would result in the highest gain.  This often resulted in moves that opened up the computer to major vulnerabilities, and the system was pretty easy to beat.  The new system calculates it's move by determining the gain to be made by each move, and the losses that can occur because of that move.  The gain less the loss equals the weight of the move, and the move with the highest weight is taken.  This results in the computer playing more defensively.  I've observed several times at the start of the game the computer retreating to avoid the loss of a first attack.  Overall, the new system is a large improvement.  The computer is actually challenging to play against.  It's not up to par with the microscope puzzle in the game the 7th Guest, but it will make you work a little.  
    In the new design for the A.I. system, I made it easy to capture the state of the board and experiment with a local copy.  This system will allow the A.I. to think ahead more then one move.  So far, I haven't thought through how such a system would weight out it's options.  None the less, the hooks are there when I come up with something.
    What I would like to do is implement some learning A.I., but I don't actually know anything about learning algorithms (aside from the fact they exist).  This game is simple enough, it would be a good place for learning A.I.  It may not be piratical in Javascript though.  As it stands, the current A.I. system is pretty slow-- noticeably so.  I'm under the impression it's the fact the system is Javascript that is causing the slow down-- the work load is still pretty light considering the CPU power of my computer.  Despite the improvement to the A.I. system, my version of squares is still no match for the 7th Guest's microscope game.
    On top of the new A.I., I added some animation to the game play.  It's not really needed, but it does help to illustrate what effects the moves have.

December 22, 2006

Happy Winter!

My Mixer and French Bread

My Mixer and French Bread

    Happy winter!  Today is the winter solstice, the shortest day of the year and the beginning of winter—my favorite season of the year.
    Pictured is a loaf of French Bread I made this evening.  Behind it is my new mixer with it's dough hook.  That makes putting together a loaf of bread really easy.  It can kneed a ball of dough in 2 minutes, where I usually took 10.  While it's doing it, I can watch the consistency of the dough and decide if it needs more water or flower.  Gives you a lot of control over the end result.  To go with my bread, I made a pan of lasagna... and life was good :)