Wednesday, December 14, 2005
Realistic Reaction System
I stumbled across a paper that serves as a follow up to my undergrad thesis project (Unreal Relation System) that I did in 2004-2005. It was written as Proceedings of the 2005 GameOn North America Conference, Montreal, Canada, August 2005. They have taken my work and used it as the core of their new work with artificial-intelligence in games. They have built on top of it some very interesting features like a 'Relation Manager' for accessing the 'Relation System' I architected in a more abstracted way. The manager provides implementations of certain heuristics for dealing with the core relation network data. They have also added 'Mood Filters' for handling how particular Non-Player-Characters deal with negative/neutral/positive relationships over time. For example an optimistic person might have a negative perception of another person but this perception may shift to neutral over a short time. The reasoning is that since they are optimistic it is likely they will give the person a second chance and not judge them forever on their actions. I find it quite exciting to see how development is progressing at such a rapid pace and will keep my eye on it in the future.
Monday, December 12, 2005
Coding Mistakes
I read an interesting article titled Coding Guidelines: Fact and Fiction this morning. Something interesting they brought up that I wouldn't think of in terms of 'coding guidelines' was the use of cognitive science in studying how we read and write code. A couple interesting terms:
- knowledge failures - where developers don’t realize they have insufficient knowledge
- performance failures -such as calculating an incorrect answer to a problem
Possible solutions to knowledge-based mistakes include reducing the amount of information that developers need to know, or organizing the information contained in source code in such a way that there are fewer demands on developers to correctly recall or recognize information.I see these mistakes made far too often. I'm working on a particular C based project and the bulk of the code is thrown into one large file with little care to even how it is ordered inside the file. Not to attack C code in general but I find this is the case more often with C code then some type of object-oriented code. I find coders who come from an OO background have distinctly greater desire to abstract and encapsulate code even when working with C. Two very important OO concepts that help drastically with the fight against knolwedge-based mistakes. Often OO coders spend the bulk of their time ensuring their code as an object makes sense, C coders spend their time managing memory and manipulating strings.
Sunday, December 11, 2005
More Gym Log
I scoured around a bit for what else is out there and here's what I've found so far
My ideal name for this project is of course GymLog. Unfortunately gymlog.com is taken as a forwarding URL for MegaFitness. However gymlog.net/org etc are available so Iregistered .net. It's possible MegaFitness may be willing to sell gymlog.com too.
- http://workoutlog.com - a commercial web based logging utility that charges by the month. A coach feature that lets a trainer build workout plans and communicate with athletes. Logging for a variety of sports and health but offers fairly basic log detail. Most activities are logged only by time spent and a short description. For weight lifting this means the athlete enters the number of minutes spent doing weights in total and fills in a comment box for what activities he/she did. Seems to be targetted towards someone who is training for tri/decathalon.
- BSDI Fitness Analyst - a large scale commercial application for testing fitness, medical screening, exercise programming. Intended for use in organizations, not home use. Ability to print reports in PDF. Very advanced and very expensive.
My ideal name for this project is of course GymLog. Unfortunately gymlog.com is taken as a forwarding URL for MegaFitness. However gymlog.net/org etc are available so Iregistered .net. It's possible MegaFitness may be willing to sell gymlog.com too.
Gym Log
I was in the local KMCSC gym this afternoon on the ski machine, listening on Tanya's ipod, watching Ashlee Simpon on the TV and apparently somehow still was bored and my mind started wandering. I got to thinking about a software project idea I had back in 2004. At the time I was working out at the gym and thought it would be really handy to have a tool that could log my performance. People have been logging their stats for years on paper for years to track improvements, and motivate to set new records. A standard pen and pad of paper doesn't cut it when you're a computer science student though. I thought, hey it would be neat to have an application for a PDA that I could log my workout; what exerices I did, how much weight I lifted and for how many repititions. It would be able to present the user with their personal best for each exercise and possibly even automatically set new goals for increasing weight to lift. It could advise the user that they are overtraining one muscle group or totally ignoring anothe muscle. Once the stats are inputted into the PDA the user could plug their PDA into their home PC and upload their latest gym log to their PC and use something like Excel to draw graphs of performance over weeks, months, years, etc. So I imagine the technically inclined would find this pretty useful, but why didn't I follow up on it? Well I shelved for two reasons really:
So I'm revisiting my gym log idea from a slightly different angle. It's inspired by this very Blogger and Gallery 2.0 that I installed the other day on my website. The combination got me thinking about how a web based interface for a gym log mightwork. Like Blogger anyone could register to have an account. The user could log-in and have a variety of choices:
- Not many people own PDA's, heck even I don't own one and I was going to write this app for one!
- Those who have a PDA might not want to carry an expensive PDA into the gym.
- Coding for a memory limited platform isn't all that fun (to me).
So I'm revisiting my gym log idea from a slightly different angle. It's inspired by this very Blogger and Gallery 2.0 that I installed the other day on my website. The combination got me thinking about how a web based interface for a gym log mightwork. Like Blogger anyone could register to have an account. The user could log-in and have a variety of choices:
- Input their latest workout stats
- View their workout history; graphs, pesonal bests
- Set new goals
- View their friends logs
- Overlay a friends stats on top of their own graphs (competition!)
- Edit preferences ( add activities that aren't in the gym log by default i.e. dutch bike tossing)
Saturday, December 10, 2005
Nederlands Fotograferen
I installed Gallery 2.0 this morning which was fairly painless. The first images I put online are my photos from my trip to The Netherlands last week. Enjoy.
Thursday, December 08, 2005
FreeDNS for all the good kids
Buh-Bye DHCP
Decided it was time to fix some annoyances with my home network. The wireless router/modem I got from Sympatico does the usual DHCP thing by default. I was getting sick of how DHCP assigns your PC *some* random IP each time. This becomes problematic when trying to SSH to other PC's in the house because I always have to consule the web based router software to lookup the IP of a machine. I feel guilty but actually didn't know how to switch frmo DHCP to static IP's in Windows so I googled around a bit. I found a useful article on About: Disable DHCP and Use Static IP Addresses To Protect Your Wireless Network. Now with static IP's in place, next was to edit the hosts file and give each machine a fancy hostname. There is no way am i bothering running a name server for 3 PC's, I'm quite happy with just editing the hosts file ~:>
Next up is getting FreeDNS straightend up, followed by apache.
Next up is getting FreeDNS straightend up, followed by apache.
Subscribe to:
Posts (Atom)