topics:  main-page   everything   99things   things-to-do   software   space   future   exercise & health   faith  
  thought   web   movies+TV   music   mymusic   food   curiosity   tidbits   I remember   wishlist   misc   links


This section lists all blog posts, regardless of topic.

Exercise 1: Publishing an ASP.NET website
July 27, 2008

Summary

Create 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
Registered domain name http://platoai.com for $11/year
Signed up with http://webhostforasp.net for $4.50/month



Implementation thoughts
July 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 Implementation
July 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 >>