While working on Stilpo, I wrote a simple chat bot. This post takes a look at how it works and how it could be expanded. It’s based on ideas of Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig.
patterns
Mathematical patterns with Hy
I recently read a blog posting that among other things touched patterns in mathematics, how they seem to be obvious to some people while others strugle and if there would be something that schools should do differently in teaching mathematics. Those of you who know me, can guess that this is close to my heart (after all, I keep bringing up Lockhart’s Lament often in day to day discussions). So I dug out my trusty Hy REPL and started playing with sequences just to see what one could do with them.
Doing what you think you want to do
Spend more than 5 minutes in software development and you’ll come across with plenty of rules, guidelines and traditions about how to write software so it doesn’t spontaneously combust. Sometimes these are not much more than anecdotes: “Bob once tried to use technology X and it failed horribly. I wouldn’t ever dream of using technology X because of that.”. Sometimes they have catchy name: “DRY, Don’t Repeat Yourself“. Sometimes they are semi-formally specified in form of software design pattern. In any case, there seem to be lots and lots of guidelines about what to do and what not to. And it’s good, because writing software is hard, complex and difficult undertaking.