The complexity of programming

In my last blog post, I built a basic “Hello World” app using the Slim Framework.

Today, I decided to take a look at the tutorial provided by Luka Peharda on Code Forest called Creating simple tasks app with Backbone.js and Slim micro framework.

It’s a good tutorial, although in my opinion, the author assumes that the reader has more knowledge than they actually might. I found phrases like “Project entity routes are analog to this so we’ll skip it.” quite frustrating. I don’t even know that means. I have no idea what he skipped.

Then there is this: “I won’t go through what Backbone is and why and where you should use it. If you are reading this article then you already know this stuff.” Wrong. Until I started this tutorial, I had never even heard of Backbone.js. As I write this, I still don’t really know what it is yet.

Now I need to say that I appreciate the tutorial, and I am by no means complaining. The fact that I don’t know some of the things referred to in this tutorial just means I have a lot more learning to do.

What I wanted to do here is list the dependancies which were generated as a result of reading this tutorial. It seems that in order to fully understand this tutorial, I’m going to need to learn:

Slim (what I originally set out to learn)

NotORM (Never heard of it before)

Backbone.js (Never heard of this either)

Underscore.js (Apparently Backbone.js depends upon this!)

That’s a lot to grasp! But, no one ever said that programming was easy. (Well, I’m sure it’s been said, but you know what I mean!)

So I’m going to start at the bottom of that stack, and try to grasp each concept. Hopefully when I get back to the top, and continue the tutorial, it’ll all make good sense, and I’ll have a few more tools in my belt.

Thanks again to Luka and Code Forest for providing the tutorial. I appreciate you stretching my knowledge!


My first Slim Framework app

Tonight I decided to check out the Slim Framework. I heard about it at Tek13, and had been wanting to see what it was like.

The first thing I had to do was understand Composer. I started reading on the Composer website, and quickly had it installed in a test folder. The instructions were pretty simple and easy to follow. The only thing I found mildly confusing is that they say they support Windows, OSX, and Linux, but then only give instructions for Linux and Windows. It was pretty intuitive to figure out that I needed to use the Linux instructions for OSX, but it doesn’t actually say that anywhere, so it took me a moment to decide to just try it.

Once I understood how Composer was installed, and what it does, I went back to the Slim instructions and copied the “Hello World” code:

require 'vendor/autoload.php';

$app = new \Slim\Slim();

$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";


Here, once again, the instructions fall short for the beginner. I went to the site in my browser at and got a 404 page.

Slim Framework 404 Screen Capture

Ok, now what?

I started commenting out lines of code to see where the error started, and it seemed that the first 2 lines were the only ones not causing an error.

I decided do some searching on Google, and found enough information to figure out that the URL was not correct. Because the route on line 6 says “/hello/:name”, it is looking specifically for  (or any other name of course)

Once I tried that path, it worked! The lightbulb lit, and I “got it”.

My first Slim application! Albeit simple, but it worked!