Embrace and Reach

One of the wonderful things about being a technologist today, is to be part of an industry that is bubbling over with new and exciting things. It can be exhilarating and overwhelming. How can we try and do all these great new things? Of course, it is not sensible to simply drop whatever you are using and continually chase after the newest tech. Nor is steadfastly staying in one place and refusing to accept that there is a better way of doing things. The challenge is to absorb, identify, and synthesize both good of the what we are currently doing and the new stuff too. We want to embrace and continue the good things that are working for us and reach for the new technologies that will propel us farther in the future. ...

November 2, 2013 · 3 min · Carin Meier

Controlling Multiple Drones with Clojure and Goals and Beliefs

How to Control Multiple Drones with Clojure The clj-drone library now has multi-drone support! You can now send multiple drones commands, receive their navigation data, and even have them perform their actions autonomously with goals and beliefs. It takes a bit of extra setup to control more than one drone. We need to assign them each an ip and get them talking as an adhoc network. Jim Weirich creating a neat little script to run on the drone to do just this. Here are the instructions: ...

September 5, 2013 · 4 min · Carin Meier

Babar - A Little Language with Speech Acts for Machines

Preface: A Gentle Obsession About a year ago, I picked up John McCarthy’s paper on Elephant 2000. I have to admit that I only understood about 10% of it. But I was so intrigued by the ideas that it sent me on a quest. I re-read it numerous times, slept with it under my pillow, and finally decided that I needed to read his other papers to get an insight into his thoughts. I began a considered effort with Seven McCarthy Papers in Seven Weeks. It ended up taking about three months, rather than seven 7 weeks. Again I came back to Elephant 2000. I began to understand more as other ideas and concepts sunk in, like ascribing beliefs and goals to machines. But to really explore the ideas, I really wanted to try to implement parts of Elephant in my own programming language. The problem was, having no formal training in computer science, (my background is Physics), I had never created a programming language before. The stars aligned and I found the Instaparse Clojure library. The result is Babar, a language designed to explore communication with machines via Speech Acts. ...

June 4, 2013 · 6 min · Carin Meier

7 John McCarthy Papers in 7 weeks – #1 How My Thermostat has Beliefs and Goals

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: ...

September 20, 2012 · 7 min · Carin Meier

7 John McCarthy Papers in 7 weeks - Prologue

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.” ...

September 19, 2012 · 2 min · Carin Meier

The Software Bathtub Curve

I have had my Dualit Toaster for close to 19 years now. It has never broken down. It has reliably toasted my bread every morning with the mere turn of a dial. I have had my dishwasher for 1 year and 2 weeks. It has all sorts of cool buttons and modes so that I can customize my wash cycles to suit my dishes and my mood. Precisely two weeks after the warranty expired, it began to blink randomly and stopped working. The control board had died. This was not an isolated incident. I have gone through many such failures with other appliances, my refrigerator, stove and washing machine. ...

April 12, 2012 · 5 min · Carin Meier

Code Mash 2012: Bacon for the Brain

I was delighted to see first hand, why 1200 CodeMash tickets sold out in 20 minutes. It was full of awesome. This was easily the biggest conference that I have ever attended. It was held in the luxurious and fun Kalahari conference center and ran as smooth as silk, expertly supported by a volunteer staff. One of the things that I really appreciated about the conference was the diversity of people from different technology backgrounds. There were many developers from .NET, Java, Ruby, and Python worlds all coming together to swap stories, share ideas and learn something new. It created an opportunity for everyone to get out of their box and their comfort zone. I was particularly impressed by one woman that I talked to, who came from the .NET world but had made a conscious decision to not attend any .NET talks at all. ...

January 14, 2012 · 3 min · Carin Meier

On Men in Ballet and Women in Software Development

Long ago, I worked for a couple years as a professional ballet dancer with a small company. Reflecting on this, I have an interesting perspective of working in field were woman are the majority and also one where women are in the minority. I thought I would dedicate this post a few observations of similarities between men in ballet and women in software development. Men in Ballet Have some lame people think ballet is just for girls and make assumptions about them based on cultural stereotypes ...

August 20, 2011 · 2 min · Carin Meier

Project-Grep : Another Sharp Tool for your Emacs

Since joining EdgeCase, I have shelved my heavy Intellij and Eclipse IDEs in favor of Emacs. Overall, I have enjoyed moving to the light-weight but powerful editor. There is one thing that I did miss from my IDEs – that was the ability to search projects for string occurrences and being able to click navigate to them through the editor. Fortunately, one of the strengths of Emacs is it’s infinite configurability and extensibility. Even more fortunate, one of the guys in our shared office, Doug Alcorn of Gaslight Software, had already written just this feature for his Emacs. I installed it and was so pleased with it, that I thought I would share … ...

August 13, 2011 · 1 min · Carin Meier

Super Easy Clojure Web Apps with Heroku Cedar

Deploying Clojure apps with a single command to the cloud is now possible with Heroku Cedar and let me tell you, it is pure joy. I experimented with this the other day by creating a Compojure web application that compares the followers that two twitter users have in common. Here is the secret sauce you need to push your apps to Heroku: **Procfile: ** You need to create a file in the root of your directory that contains the way to start up your application: ...

June 11, 2011 · 2 min · Carin Meier