7 McCarthy Papers in 7ish weeks #7 - Elephant 2000
Saving the best for last. Elephant 2000 To be continued….
Saving the best for last. Elephant 2000 To be continued….
I spend most of my work day in Ruby and CoffeeScript. However, my true love belongs to Clojure, which I consider my “hobby” language right now. I started to wonder, what are the “hobby” languages for people who spend most of their work day with Clojure. My informal twitter poll revealed selection as diverse and interesting as the Clojurists themselves. **Developers Who Enjoy Clojure Also Enjoy: ** (In no particular order) ...
This holiday edition blog post covers two McCarthy papers instead of just one. We will be talking about Free Will - Even for Robots and the companion paper Simple Deterministic Free Will. In which we deftly sidestep the philosophers We know that computers and programs are completely deterministic. A philosophical question is whether we, as humans are ruled by determinism, (although complex it may be), or not. If we take the decision that humans are deterministic, then we can argue that either there is no free will - or that free will is “compatible” with determinism. Philosophers, of course, could discuss such questions interminably, trying to get a theory to fit for all people and all occasions. Thankfully, McCarthy takes a very admirable and practical view on free will. Let’s try out something simple for a computer program and see how it works. He explores a philosophy “Compatibilist’s” view, which regards a person to have free will if his actions are decided by an internal process, even if this process itself is deterministic. But by exploring this view with computer programs, he makes clear: ...
Reading Artificial Intelligence, Logic, and Formalizing Common Sense, led me surprisingly to reflect on, not only logic and philosophy, but also the history and present state of AI. Fist let’s look at the kind of AI that McCarthy is describing in paper. He talks of a program that can use common sense knowledge about the world around it and have this knowledge structured well enough that it can be reasoned about mathematically. In fact, he describes four levels of logic: ...
In which I realize that John McCarthy is the father of the Semantic Web I have realized that it generally takes me more than a week to read a paper, reflect on it, experiment, and finally blog about it. But, since I made up the rules of the project in the first place, I am not going to dwell on the time frame and just move forward with the next paper. ...
Well, life threw me for a bit of a loop and delayed my post on my second paper. So I am going to consider this a “weekish” period of time and just continue on. I read Towards a Mathematical Science of Computation. It is quite a meaty paper and was certainly a lot to digest. Here are some highlights that I gleaned from it. How can a Mathematical Science of Computation help in a practical way? McCarthy points out that while it is hard to predict practical applications ahead of time. A couple of could be ...
Ascribing Mental Qualities to Machines or How My Thermostat has Beliefs and Goals After reading John McCarthy’s paper this week Ascribing Mental Qualities to Machines, I can honestly say that it has changed the way I think about programs and most certainly thermostats. For you see, I realize now that my thermostat has beliefs and goals. No, it does not have beliefs about what the weather is going to be tomorrow, or when the next George R.R. Martin book is going to come out. But it does have beliefs. It has three of them to be exact: ...
In the spirit of Seven Languages in Seven Weeks, I have decided to embark on a quest. But instead of focusing on expanding my mindset with different programming languages, I am focusing on trying to get into the mindset of John McCarthy, father of LISP and AI, by reading and thinking about seven of his papers. Why? Get out of your box If you are comfortable, you are not challenging yourself to grow. You are doomed to stay in your same mindset and your little box and your world gets smaller. As an Object Oriented programmer, I was happy in my little box. Then one day, I discovered Clojure and Functional Programming and my world became bigger and richer because of it. I hope to glean a similar box expansion, by exploring the thoughts of McCarthy. Especially, since I have the nagging suspicion that we are somehow doing programming “completely wrong.” ...
One of the things that I love about Clojure is that it can go anywhere that Java can. That is why, when I found out that the Roomba already had a Java library written for it - I was excited to be able to hook it up to my Emacs / Swank and be able to control it from my editor. It is great fun! If you have a Roomba at home and you want to play along… ...
I love Roomba. It cleans our floors and it can be hacked to help teach my kids programming. Win! Here are the setup steps that I used to get going talking to Roomba: Ordered a Rootooth bluetooth connection for Roomba. I could have build one from scratch, but I am a busy mom and hacker. Removed the cover from Roomba to expose the ROI port (Video). Setup the Bluetooth adapter on my Mac ...