This section lists all blog posts, regardless of topic.
Exercise 1: Publishing an ASP.NET websiteJuly 27, 2008
SummaryCreate an ASP.NET website with Visual Studio and publish it to the web.
Solution  | Unfortunately, netfirms.ca would charge me an extra $10/month for ASP.NET hosting |
Implementation thoughtsJuly 26, 2008
  | I'd like to use C# |
  | I'd like to have a web interface so that other can play with it |
 |   | The basic web UI would simply allow statements and questions to be posed |
 |   | A more advanced UI would allow the user to edit the AI's internal data structures |
  | The input to the program will consist of the following: |
 |   | A file that will represent the AI's knowledge of the world, consisting of entities, relationships, values, rules, etc. |
 |   | A file that will represent the AI's mapping of words to entities |
 |   | A file that will contain the linguistic transformations |
 |   | A set of stories. Each story will consist of one or more statements, followed by one or more questions, each question having an expected answer. |
  | For now, the data files will be parsed and read into memory at the start of the program's execution. Perhaps in the future they would be stored in a database. |
  | I'll use NUnit to execute each of the stories to make sure that as new stories are added, old ones aren't broken. |
  | I may implement a UI to make it easier to represent what the engine is doing. A big part of a successful implementation would be developing debugging tools... however, I don't know how much of that I want to get into at this point. I will likely create them as needed. |
As for what to name the C# project, I'll go with
Plato for now.
To make the implementation manageable, I'll break it down into "Exercises" that will iteratively get me closer to my goal.
Design VS ImplementationJuly 26, 2008
Something that's tempting for programmers is to, well, program. And so when we're in a research and design mode, there becomes a tension between not wanting to slow down the research by writing code, but also not wanting to let theoretical ideas get too far down the road before they're implemented and tested.
If anything, I think that the temptation is to implement algorithms before necessary and so slow down research. Something that I've really enjoyed designing a
new programming language is to let my imagination have free reign and not concern myself with the implementation, and I think that that can be a very good strategy for encouraging creativity and innovation.
That being said, I'm interested in implementing the AI research that I've completed thus far. This won't necessarily serve as a solid platform to keep building on, but it should provide a lot of insight into things that I've perhaps overlooked.
older >>