Eon: A Clojure Basics Quiz

As part of an effort to avoid creating yet another blog engine, I started working on something completely different:  a quiz/game called Eon.

Eon is a simple quiz designed to test basic Clojure evaluation comprehension.  At the moment, it consists of 7 levels of 10 questions.  Each question presents you with a Clojure form.  You are given an answer box to submit your answer.  An answer is initially worth 100 points.  Entering an incorrect answer drops the possible point value by 10, so a perfect score at this point is 7000 (7 levels x 10 questions per level x 100 points).

I started writing Eon for a few reasons:

  • I wanted to get out of a rut where every personal project started to look like a blog engine.
  • I wanted to learn ClojureScript.  There are lots of interesting things happening in ClojureScript lately, and I wanted to get my feet wet.  Eon is written in ClojureScript with Reagent handling the UI.
  • Working on this helped solidify my understanding of simple Clojure evaluation.
Eon is very basic, but I hope that other Clojure beginners out there find it useful.  There are levels/questions that I'd like to add, but due to some limitations in the way I'm handling answers, I'm not sure I'll get to them.  Plus, I'm already itching to create something more substantial using ClojureScript--it's a lot of fun to work with.

If you have questions, comments, or find bugs/see something wrong, please let me know via email or on Twitter.

2014 Clojure Cup Ideas

Clojure Cup 2014 is just around the corner.  If you're excited about entering but don't have a clue what to make, maybe this post will help you.  Below is a small collection of web app ideas I've had recently that I probably won't get to.  I jot these things down whenever they pop into my head regardless of how ridiculous or difficult they seem.  Most of them sit in a text file doing nothing.  Maybe some of them can help someone directly or spark other ideas.  I think the core functionality for most of these could be pulled off in a 48-hour period.  Some may already exist, but attempting to build them might yield useful knowledge, or even win you the cup!


Connect with up to 3 others and collaboratively build a story by taking turns writing in units of paragraph, sentence, or word.  Once the story is finished, publish it to a reading section of the site for others to read.

Version Check

Upload a project.clj file to this web service and you'll be told which libraries you're using that have newer versions.

Destination Helper

Specify a travel destination + dates of travel and get back details about the destination for that time period:  weather, events, the most recent highly-rated restaurant reviews, etc.

Web-based Podcatcher

Log in, subscribe to feeds and listen without the need for a dedicated app.   Is it possible to supplant native apps with a web offering?

Due Today

Yes, this is another TODO list, but it's the only one I've been able to use consistently.  You're only allowed to add items to today's date.  If you don't complete an item, you have the option to move it to today from an earlier date.  The focus is on entering actionable steps that can be achieved today.

Single Subject Search Engine

Indexing the entire internet is impossible for a sole developer with a VPS.  Would it be possible to index a niche subject?  What advantages would you have over a general search engine?

Source Code Recommender

You've learned the basics of a new language.  You've solved some puzzles.  You're still not comfortable writing in the language.  Where do you go to see how advanced users of the language use it?  With Source Code Recommender, reviewers can submit code repos that they think exemplify the best practice patterns and idioms of a language and rate/discuss/review/educate based on the source.

Goodreads Reviewer Suggester

Given your account, this site uses the Goodreads API to find other users that ranked books similarly to you.   Receive suggestions for users to follow, books to read, or discussions to take part in.

Newsletter Aggregator

Email newsletters have taken off in popularity.  This service aggregates all of your newsletters in one place.  Sign up for an account and the service will supply you with an email address to use when signing up for newsletters.  The aggregator then provides you with an interface for reading/managing/tagging/searching your newsletters.


Memories for locations.  Search for a location on a map and add a memory (anonymously if you want) about that particular place/establishment/location.  Flaco's Tacos, I still miss you.

IT Interview Quiz

A site that quizzes you on those silly puzzles (and/or useful CS theory) that some companies use to filter the hiring pool.  Submit answers to quizzes (anonymously if you want) and have them reviewed/rated by others and learn from other member's submissions.  This is kind of an Exercism.io for theory.

If one of these appeal to you, take it and run with it.  Good luck and see you at Clojure Cup!

P.S.  If you use one of these and anything good comes out of it, you should buy me a burrito!

P.P.S.  If you're interested in making one of these outside of Clojure Cup and want a collaborator, let me know via email or on Twitter.

Learning From Seymore Papert

From this Learning from Seymore Papert talk:
The children are not going to be able to invent Calculus.  It took a genius and two hundred thousand years for that to happen. But in fact, another genius, Seymore [Papert] can figure out a way of contextualizing the important ideas of this so it fits perfectly into the child's world. That changed my life forever.  Because once you see that done, it's kind of a duty thereafter to try and make it happen.

- Alan Kay