Today in the Intertweets (July 20th Ed)

Better late than never. I finally got access to the Internet, just to realize that there is some kind of ‘virtual’ language war going on: Clojure vs Haskell vs Scala vs … vs who-knows-what-language. Oh well! The mandatory link to “Someone is wrong on the Internet” can be found here.

Here is what happened in the last few days:

  • In-Depth Book Review: Practical Clojure (here, via @acangiano) — A review of the recently published book “Practical Clojure“, by Luke VanderHart and Stuart Sierra. Summary: a good book that could use some more non-trivial examples.
  • Better #Clojure test results on the command line. Changes reporting of “lein test”: diffs, clj-stacktrace and color (here, via @brentonashworth) — This is about this fabulous new tool that helps you find out quickly why your tests failed, deview. In this new release, you can run it from the command line (via lein) and get the results right there. Before it would be html based so you needed a browser to see the results.
  • Instant clojure REPL: cljr + nailgun = big win (here, via @antoniogarrote) — A couple of scripts that will set you up using cljr with nailgun. The end result is Clojure starting very fast, as there is no need to instantiate a new JVM every time you call cljr.
  • Getting Started w/ Google App Engine & Clojure (here, via @linksgoogle) — This is the PDF of an article appeared at this months’ issue of IEEE Internet Computing, and it’s about programming web apps in clojure to be deployed within the Google App Engine infrastructure.
  • Leiningen 1.2.0 is out; biggest release yet … have fun, build some Clojure. (here, via @technomancy) — Lots of fixes and many new features that will make lein easier to adapt to your workflow.
  • Continuing my series of micro-interviews with Clojure Hackers I present (take 7 (david-nolen)) aka. @swannodette (here, via @fogus)
  • (->> (load-workbook “spreadsheet.xlsx”) (select-sheet “Price List”) (select-columns {:A :name, :B :price})) (here, via @mjul) — If you read the code carefully you’ll realize that what it is doing is the following: open an MS Excel spreadsheet and read some values from one of the sheets. Pretty impressive for a tweet, don’t you think? This is @mjul’s creative way to announce docjure, a library for reading and writing MS Office documents with Clojure. This library wraps Apache POI, so all the restrictions of POI also apply here.

Today in the Intertweets (July 15th Ed)

  • a question on hacker news… chime in… “why should i care about #clojure?” (here, via @SeanTAllen) — In order to motivate you to chime in, here is the mandatory link to “somebody is wrong on the Internet”
  • Next #clojure training at Mountain View on July 31st by @arathore and me – only 6 spots left (here, via @sivajag) — If you are in the Bay Area and want to learn Clojure from the pros, here is your chance.
  • Get @chrishouser’s “The Joy of Clojure” for %40 off until July 22nd with code ju1540 (here, via @fogus) — Just in case there is any reader that doesn’t have it already…
  • most watched java project on github – clojure :] (via @pbadenski) — How is that a Java project?
  • Aw shucks, that upstart Norvig knocked #Clojure off #1 (here, via @stuartsierra) — Nah, it didn’t. Not at least when I checked it out; “Practical Clojure” is, at the time of writing this, #1 in the “Bestsellers in Lisp” category :)

A quick note from your humble Clojure Tweets curator: I’ll be going to the Emerging Languages Camp next week, driving up to Portland, OR from the Bay Area with my family. My wife is in charge of getting us rooms along the way, and I know for a fact that one night we’re staying at a farm, sooooo… my Internet access during the next week is very up in the air, and the Intertweets might not come daily.

If you’re also going, then I hope I’ll see you there!

Today in the Intertweets (July 14th Ed)

As disclojure hinted yesterday, Clojure 1.2.0-beta1 is out. Congratulations to all and many many thanks to Rich and crew for pouring countless hours and brain cells into this project. From what I am gathering from comments here and there, this beta release might not cause a huge disruption in the young Clojure ecosystem, since there are many projects out there that were already using a pre-beta version of Clojure 1.2.0.

Download Clojure and Clojure-contrib 1.2.0-beta1 from here,  and make sure you check the release notes here, as they are full of good news!

Other things happened today:

  • Clojure, Multi-core, AWS Cluster Compute & Lattes (here, via @hkrnws) — Now that Amazon announced the availability of  Cluster Compute instances, which are big machines that you can reserve to be used in exclusivity, David Nolen went ahead and did some scalability tests with Aleph,  at $1.60/hr for a 8 CPU machine. Not too bad.
  • #clojure asynchronous http client (here, via @wmacgyver) — Built on top of Ning’s open sourced async-http-client, which in turn is built on top of Netty. Netty is getting a lot of love lately :)
  • I find it humorous that #clojure 1.2 is “beta” – we’ve been using it for 6 months (via @dysinger)
  • If deview is too much for you, then take a look at lein-difftest. Just like “lein test” but with diffs. (here, via @brentonashworth) — Yesterday we mentioned this promising and very useful project to aid in testing and determining why tests failed. Now today the same author brings us a plugin for leiningen to make using Deview very easy.

Today in the Intertweets (July 13th Ed)

  • The Scala camp’s answer to Clojure’s Incanter (Yes, it’s fun to pretend there’s a rivalry between the two) (here, via @MSch) — Scalala, Scala Linear Algebra Library.
  • How to setup Clojure from scratch (here, via @acangiano) — With emphasis on the “from scratch” part. Kids, don’t do this at home without adult supervision. Use Lein or cljr instead.
  • TheDeadline is now in the Google Apps Marketplace. This is Clojure/Compojure on App Engine. Consider my mind blown. BLOWN (here, via ikai)
  • Better #Clojure test results with deview. Shorter stacktraces and diffs. (here, via @brentonashworth) — From the article “Deview runs yours tests and reports test failures and successes. If an exception is thrown, clj-stacktrace is used to clean up the stacktrace. Deview will then filter it down to show relevant (according to me) trace elements” and “When a test fails, the difference between the expected and actual results are displayed” . Check out the full article to convince yourself of how awesome this project is. Source code here.
  • Changeset [9c01e1faf5]: prepare for 1.2.0 beta1 Branch: 1.2.x by stuart.halloway (here, via @clojuredev) — Does this mean what I think it means? If so, Clojure 1.2.0 beta1 is around the corner!

Today in the Intertweets (July 12th Ed)

  • Awesome! The 20 minute form of my “Clojure for Ninjas” talk was accepted at the Stange Loop (via @brweber2) — Strange Loop getting VERY interesting! Try  Ctrl+F “Clojure” on that page…
  • Wadler’s Law (extended to Clojure) (here, via @fogus) — A true statement. Feature discussions on Clojure are much more focuses on parenthesis than in semantics.
  • Joe Duffy’s Blog: “Thoughts on immutability and concurrency” (here, via @buckybit) — This article from a Microsoft engineer and published author discusses the need (or not need) of immutable data structures. It’s main thesis is that immutability comes second after isolation, and if you can break your program to be isolated — either by breaking it into independent functional parts via data parallelism — then data immutability is neither needed nor desired. And even in situations where immutability could be a big win, it is not a perfect solution since now the developer has to reconcile the possible different states of the same piece of data. Good article and food for thought.