By Killerlimpet (Own work) [Public domain], via Wikimedia Commons

What is Simple?

Ian Rogers wrote “Consider these quotes: “Any sufficiently complicated program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp” – Greenspuns Tenth Rule Of Programming “Once you add group by, filter, & join, you can no longer claim to have invented a new query language, only a new dialect of SQL. With worse syntax…”

Santeri Viinamäki [CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0)], via Wikimedia Commons

CodeMesh 2014 Day 1

James Uther wrote “I was at day 1 of CodeMesh this year (you can see Tim’s report on day 2 here). A quick recap: QOTD: There are 3 fire exits as marked, but we’re confident that Erlang programmers who die will be restarted. Keynote: complexity is outside the code Jessica Kerr & Dan North A good, entertaining talk that…”

By brewbooks from near Seattle, USA (Orbicular Granite) [CC-BY-SA-2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons

CodeMesh 2014 day 2

Tim Band wrote “So, I went to day 2 of CodeMesh this year, James having taken day 1. Here’s a brief round-up of what I saw. Chad Fowler – Keynote “Tiny” An entertaining talk, talking about how the concept of “seven plus or minus two” applies in all sorts of categories of things (although Chad definitely leans towards…”

Why not program in Standard ML?

David Ireland wrote “I decided to learn a language from the ML family recently, because we are seeing quite a few good candidates whose strongest language is F# or OCAML. So I decided to learn Standard ML. Yes, I know, that makes no sense. But wait… Standard ML is really small and easily learned. If you know another…”

Honeycomb, 2001, Gavin Mackintosh, South Molton, UK. Creative Commons, via WikiCommons.

Java multi methods new home

David Ireland wrote “I’ve split Java multi-methods out of LShift’s Java library. That’s mostly because Guava has equivalents for just about everything else in the library, but the multi-methods part is still unique, as far as I’m aware. You can find it here. You can raise tickets there as well. For more information, see the original post. Here’s…”

Grunt uglify file specs

Sam Carr wrote “I struggled a bit finding relevant examples of Gruntfile configuration for Uglify, so having solved a few specific problems myself, here’s what I came up with. This is just a snippet from the whole Gruntfile of course, and contains half-decent comments already, though I’ll provide some extra explanations below to point out the most interesting…”

Getting Sieves Right

James Uther wrote “The great thing about being wrong is that you get to learn something. In a previous post I went on at length about the the sieve of eratosthenes. Now that I have been enlightened by Melissa O'Neill I must make corrections.”

CodeMesh 2013 Redux

Sam Carr wrote “Last month I attended the CodeMesh conference here in sunny London, along with a couple of my colleagues. Here are my recollections and thoughts. The venue (Hotel Russel on Russel Square) is a pleasantly rambling, grand old hotel, which hosted a few hundred hardcore geeks fairly well. A couple of the rooms were a bit small and…”

CPU cache collisions in the context of performance

Jarek Siembida wrote “This article discusses some potential performance issues caused by CPU cache collisions. In normal scenarios cache collisions don’t pose a problem, it usually is only in specific, high speed applications that they may incur noticeable performance penalties, and as such, things described here should be considered “the last mile effort”. As an example, I will…”

Expanding reducers

James Uther wrote “When playing with a new bit of language, it can be helpful to restrict the problem space to an old, well understood algorithm. For me at least, learning one thing at a time is easier! For this post, It’ll be prime sieves, and I’ll be exploring clojure reducers.”

How readable are your comments?

Frank Shearar wrote “You’ve done the Right Thing and written extensive class comments, docstrings and the like. But are they really readable?”

Auto-generating LShift blog posts

John Wright wrote “I've often found myself at a loss for blog post topics, so rather than write one myself I decided to let a computer do the heavy lifting! Markov chains offer a neat trick for generating surrealist blog oeuvres. They work by figuring out the probability of one word appearing after another, given a suitable corpus of input material.”

Fallacies of a Monad

John Wright wrote “DSL based templating sucks! This looks a very short beep-like sound card. Let paragraphs rely on a sense of data. Roy recently released my mind: In practice of course, it grew features.”

Live updates to Meteor from Postgres

hok wrote “I’ve been playing around with Meteor recently for an internal LShift project in which I wanted the browser to have a read-only live view onto some timetracking data from TimeTracker as it changes. When a developer records time spent on a particular task, a row is inserted into a Postgres database. Simples. One of Meteor’s…”

Three approaches to ambiguous grammars

Frank Shearar wrote “We have many tools in our parsing toolbox. Today let’s look at how three different parsing techniques handle ambiguity caused by choice.”

Stackable traits for ScalaTest test suites

hok wrote “When your application is based on Spring it makes a lot of sense to fire up a Spring context within your integration tests and functional tests. For a particular Scala-based project it was necessary to manage not only the lifetime of the Spring context, but also the lifetime of an annotation-based REST library component called…”