World Domination with Hexapods and Clojure

Once you have your hexapod assembled and running using the hand held controller, of course, your thoughts naturally turn to world domination. The most powerful tool in the world is the Clojure REPL World domination requires the most powerful tools available. That of course calls for Clojure and the Clojure REPL. I recommend Emacs as the editor of choice of such an endeavor. However, it if you are content with city, state, or single country domination, other editors that support Clojure are also fine. ...

March 20, 2014 · 4 min · Carin Meier

Walking with Hexapods

Here we see the PhantomX Hexapod thriving in the natural habitat of a cozy, climate controlled, modern house. But there was a time before the hexapod. In particular, there was a time of many hexapod parts and a high level software developer that somehow, despite her natural lack of mechanical skills, managed to bring it to life. This blog post endeavors to chronicle the high and low points of this journey. And perhaps, will make it easier for any other brave souls that would like to bring the Age of Hexapods into their homes. ...

March 19, 2014 · 4 min · Carin Meier

Remembering Jim

You don’t really understand how important someone is in your life until they are suddenly gone. I have had the honor and privilege of working, playing, and laughing alongside Jim Weirich for the last few years. He was an amazing man. I miss him dearly. ##Think## Jim taught us how to think about computer programming. I once had a Physics professor tell me not to worry so much about the formulas and math. The most important thing was how to think. Everything thing after that would naturally fall into place. Jim embodied that philosophy for programming. The languages and algorithms poured almost effortlessly from his masterful fingers. He knew how to think about the problem, observe from a multitude of angles. Finally, bringing his experience, creativity, and humility to bear on it, he would shape it into a beautiful piece of code. ...

February 22, 2014 · 3 min · Carin Meier

Hitchhiker's Clojure has a New Home

The Hitchhiker’s Guide to Clojure posts now have a new home to make it easier to read them in a chronological fashion. http://hitchhikersclojure.com/ There is also a public repo - feel free to contribute spelling and grammar fixes, or your great ideas.

February 16, 2014 · 1 min · Carin Meier

Hitchhiker's Guide to Clojure - Part 3

Amy and Frank fled down the stairs from her office and met an unexpected obstacle to their exit, a locked door. As they peered out the window, they saw yesterday’s Amy pull up in the parking space, get out, retrieve her laptop, and start to head in the front door. “Oh good, we can take your car”, said Frank. Amy took a second to recover from the shock of seeing what her hair really looked like from behind and then asked, “But, how can we get to it? The door is locked, and we can’t go back up to the office… I would meet myself.” ...

February 15, 2014 · 6 min · Carin Meier

Hitchhiker's Guide to Clojure - Part 2

Amy and Frank were hurtled quite rapidly through time and space after attaching themselves to a transaction headed through the Datomic Transactor. From there things slowed down a bit, then took a sharp left and ricocheted off again with incredible speed until they landed in another Datomic Peer, and finally appeared in the same room. Amy was quite startled by the anti-climatic nature of the whole dematerializing and rematerializing in the same exact spot, and didn’t really know what to do next. She surveyed her office and found it exactly the same, except for two distinct details. For one, the pistachio shells had disappeared, and for another, the date on the computer showed yesterday at 8:00 am. She tried to connect these facts rationally with the pistachios in her pocket and finally said, ...

February 8, 2014 · 4 min · Carin Meier

Hitchhiker's Guide to Clojure

The following is a cautionary example of the unpredictable combination of Clojure, a marathon viewing of the BBC’s series “The Hitchhiker’s Guide to the Galaxy”, and a questionable amount of cheese. There have been many tourism guides to the Clojure programming language. Some that easily come to mind for their intellectual erudition and prose are “The Joy of Touring Clojure”, “Touring Clojure”, “Clojure Touring”, and the newest edition of “Touring Clojure Touring”. However, none has surpassed the wild popularity of “The Hitchhiker’s Guide to Clojure”. It has sold over 500 million copies and has been on the “BigInt’s Board of Programming Language Tourism” for the past 15 years. While, arguably, it lacked the in-depth coverage of the other guides, it made up for it in useful practical tips, such as what to do if you find a nil in your pistachio. Most of all, the cover had the following words printed in very large letters: Don’t Worry About the Parens. ...

February 1, 2014 · 5 min · Carin Meier

Lean Customer Interview Tips for the Introverted Developer

After attending a local Lean Startup Circle meetup, I decided to write about some of my experiences with the Lean Startup Methodology from a software developer’s point of view. Why should you care about the Lean Startup Methodology? As software developer, I put my passion, honed expertise, and time into crafting a digital product or service. One of the worst things that can happen is that when it is released, no one uses it or wants it. You can build a absolutely beautiful software product that scales to the nines. But if you build the wrong thing, it is a failure. ...

January 9, 2014 · 4 min · Carin Meier

Neural Networks in Clojure with core.matrix

After having spent some time recently looking at top-down AI, I thought I would spend some time looking at bottom’s up AI, machine learning and neural networks. I was pleasantly introduced to @mikea’s core.matrix at Clojure Conj this year and wanted to try making my own neural network using the library. The purpose of this blog is to share my learnings along the way. What is a neural network? A neural network is an approach to machine learning that involves simulating, (in an idealized way), the way our brains work on a biological level. There are three layers to neural network: the input layer, the hidden layers, and the output layer. Each layer consists of neurons that have a value. In each layer, each neuron is connected to the neuron in the next layer by a connection strength. To get data into the neural network, you assign values to the input layer, (values between 0 and 1). These values are then “fed forward” to the hidden layer neurons though an algorithm that relies on the input values and the connection strengths. The values are finally “fed forward” in a similar fashion to the output layer. The “learning” portion of the neural network comes from “training” the network data. The training data consists of a collection of associated input values and target values. The training process at a high level looks like this: ...

December 2, 2013 · 11 min · Carin Meier

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