Today in the Intertweets (Aug 17th Ed)

  • Dear Clojure fans: Leiningen 1.3.0 has a release candidate (here, via @technomancy) — Very useful new features: shell wrapping of your app, chaining of tasks (finally!), etc..
  • [JavaOne 2010] After “Java and HTML5″, the session “Scala and Clojure” is also canceled. (via @Harok_Seb) — Is that true? Looks like it :(
  • Strange Loop speaker interview: Chris Houser (here, via @strangeloop_stl)
  • Implemented a small command line tool to help me remember stuff during the day (here, via @tormaroe) — Ah! I was looking for something like this :)
  • Visualising the Wikileak’s war logs using Clojure (here, via @planetclojure) — As usual Nurullah writes a very creative post, showing some ways to aggregate the data from the US war logs in Afghanistan with Clojure and Incanter.

Today in the Intertweets (Aug. 16th Ed)

You guys know how to get yourselves busy over weekend, don’t you? Gosh! Here we go..

  • Assoc and Clojure’s PersistentHashMap: part ii (here, via @planetclojure) — An in-depth look at how ‘assoc’ works on persistent data structures (with nice graphs and Java code!)
  • “The past is immutable” An early #Clojure in Lisp (here, via @fogus) — Things I learned Today: Clojure was first written in Common Lisp!
  • #Clojure Protocols and the Expression Problem (here, via @brentonashworth) — On how the new ‘protocols’ can be used to avoid the Expression Problem (e.g. adding functionality to library code that we don’t have control for).
  • New post, new project: Clojure Workers and Large Scale HTTP Fetching. (here, via @bradfordcross) — This article introduces work, a generalized worker pool for clojure. The goal is to be able to start multiple tasks to be executed in parallel while controlling the number of threads created and also their lifecycle since, in the opinion of the author, the current parallelization features of Clojure don’t offer enough control. It also introduces clj-http…
  • on clj-http. A new http client for clojure (here, via @bradfordcross) — Mark MacGranaghan introduces his new creation: clj-http, that is a new HTTP client with an interface inspired on Ring, which ensures extreme simplicity and extensibility.
  • Most of learning #clojure is unlearning narrow ways of thinking about programming (via @nathanmarz)
  • weekend hacking: a LOGO interpreter built with clojure + app engine + HTML canvas + parsec envy (here, via @antoniogarrote) — OK, I don’t know where to start with this, but let me try: a LOGO interpreter  in the cloud, backed by Clojure on Google App Engine, with no need of browser plugins (e.g. Flash), that lets you share your designs, all done in a weekend… How long are you weekends Antonio?… oh, and the code is on Github to boot!

This weekend in the Intertweets (Aug. 15th Ed)

  • New blog post on the #clojure cycle function (here, via @objcmdo) — This is a good article to learn about the power of lazy sequences.
  • Clojure 1.2 RC3 is out. (here, via @stuarthalloway) — That was fast! Only some fixes, no new features.
  • Just noticed joy of clojure is Manning’s best selling MEAP currently, awesome work @fogus & @chrishouser (via @westernwizard) — Kudos!
  • Micro languages in Clojure via macros and let. (here, via @wilig) — This article walks the reader through the process of creating a micro-language for interacting with SQL databases with the power of macros and the ‘let’ statement. A must read IMHO; it is very approachable, informative and let’s face it, everybody needs to write a micro-language in their lifetime.
  • Follow up to yesterdays article on #clojure protocols. Discuss how to have a default implementation. (here, via @fulldisclojure) — A method to provide a default implementation for some or all members in of a protocol.
  • a strategy game developed using #clojure (here, via @wmacgyver) — There are also some notes from the author about his experience writing games in Clojure; overall he is happy with the level of concurrency, being able to work at a high level and interact with Java, but would love to see primitive support (coming), being able to reduce memory allocations, and maybe a two-phase compilation to deal better with circular references.
  • New REPL step debugger for #clojure (here, via @puredanger) — Lambdebug is an interesting project that aims at providing a debugger for clojure. Very promising, but it’s WIP and lacks key feautres (like support for loop/recur).
  • Awesome new #clojure tool (here, via @heinz_gies) — And this tool is an auto-completion library for Emacs, that also shows the documentation along with the currently selected completion option.
  • @brweber2 La Clojure plugin for IntelliJ IDEA is now under reworking on Clojure, so it’s gonna take a while (via @ilyasergey) — :(, but if this means that  the new plugin will be better since it will be coded in Clojure, then :)
  • #clojure .net clr mostly up to 1.2RC3 now. (here, via @wmacgyver) — That’ll come handy should Oracle decide to bury the JVM inside their database (joking).
  • The hardest part about #clojure is coming up with names for all the beautiful abstractions you magically end up with. (via @_pmh_) — And this is the tweet of the week.
  • www.gettingclojure.com, a wiki for Clojure beginners — This comes straight form the mailing list. This site has a wiki and forums, devoted to provide guidance and support for clojure newcomers.

Today in the Intertweets (Aug. 11th Ed)

  • @weakreference La Clojure plugin update is coming. Thanks for your patience and stay tuned! (via @weakreference) — This is in reference to the question about the status of La Clojure plugin for IntelliJ IDEA.
  • Racket vs Clojure (it’s all about the data structures) (here, via @kicauan) — A long time Racket (scheme) programmer looks at Clojure and finds that the data structures provided, along with the ability to access all of them via the ’sequence’ abstraction, are a very significant advantage. The author also provides some views on pros/cons of Clojure for real-world programming.
  • Just posted an example of code reuse with #clojure protocols (here, via @fulldisclojure) — If you were wondering how you could have inheritance with Clojure and its ‘protocol’ feature, here is your answer. A very good post if you come from OO languages and think that Clojure doesn’t provide good enough tools for code reuse.
  • Rich Hickey’s #clojure “short” todo list: cinc, better method inference, letmacro, JSR 292, modularity, #android … (here, via @wmacgyver) — … pods, parallelism, primitives, scopes… it looks like Rich is getting himself and the clojure/core guys busy these days!
  • At “0 to Clojure in 90 minutes” session by @trptcolin First foray into #clojure. #agile2010 (via @srayhan) — More clojure at Agile 2010.

Today in the Intertweets (Aug. 10th Ed)

  • Securing #Clojure web applications with Sandbar. The first of a four part series (here, via @brentonashworth) — Sandbar is library that provides some high-level abstractions to Compojure and/or Ring. In this article it explains how this library can help secure your web app.
  • TJoC has featured in top 3 at HackerNewsers (here, via @kumarshantanu) — At the time of writing this, TJoC was at position #4, but still!
  • Monkeying with Clojure’s defmethod Macro (here, via @fogus) — I don’t really know how to summarize this one… I need more coffee, but it is late at night.
  • I posit that “yoink” is better name for clojure.core/seq (which is confusable with seq? and sequence) (via @puredanger) — I second the petition. I have been bit by this one too many times!
  • Creating Sparse Tabular Data With Clojure (here, via @samnewman) — How to automatically create a sparse table from data entries that might have arbitrary columns (i.e. the possible columns are not known)
  • #clojure in action meap update, ch11 discuss using clojure with various MQs (here, via @wmacgyver)
  • GitHub stats with Incanter (here, via @citizen428) — Grab the languages data from GitHub, Incanter and some skills, and plot many interesting graphs on programming language usage by GitHub projects. Good also as an introduction to Incanter.