Data Sorcery

data-sorcery.org · Personal blog · on HN since 2010

A Clojure-focused blog on data analysis, visualization and the Incanter statistics library, with posts on parallelism and development practice.

What HN saysHN suggests it as the home of Incanter, a JVM data environment, and links its Hammock Driven Development cheat sheet from Rich Hickey's talk.
22HN people shared it
13linked it in comments
12stories submitted
204story points
8 years agolast shared
2010people per year2026

Most-shared posts

  1. 1
    Infix math
    6 people · first shared 2010
  2. 2
    Data Sorcery with Clojure
    3 people · 37 points · first shared 2010 · discussion on HN
  3. 3
    Hammock Driven Development Cheat Sheet
    3 people · 23 points · first shared 2010 · discussion on HN
  4. 4
    Contents
    2 people · first shared 2014
  5. 5
    An Illustrated guide to multi-core parallelism in Clojure
    1 people · 76 points · first shared 2010 · 7 comments on HN
  6. 6
    Incanter now has standalone executables
    1 people · 25 points · first shared 2010 · 1 comments on HN
  7. 7
  8. 8
  9. 9
    Getting started with Incanter using labrepl
    1 people · 4 points · first shared 2010 · discussion on HN
  10. 10
    Reading and writing Excel (xls) files with Incanter
    1 people · 3 points · first shared 2010 · discussion on HN
  11. 11
    Incanter 1.5.0 has been released
    1 people · 3 points · first shared 2013 · 1 comments on HN
  12. 12
    Statistical Learning in Clojure
    1 people · 1 points · first shared 2012 · discussion on HN
  13. 13
    New name for blog: Data Sorcery with Clojure
    1 people · 1 points · first shared 2010 · discussion on HN
  14. 14
  15. 15
    Pdf charts
    1 people · first shared 2012

What HN people wrote when they linked it

dkersten · 2019-02-21
There's Incanter[1], but I've never used it, so can't comment on how good or complete it is. And of course there are the article author's libraries: https://dragan.rocks/software/ [1] https://data-sorcery.org/
Chris2048 · 2017-11-01
Julia seems similar to python, and even runs fine on Jupyter. I think https://data-sorcery.org/ (incanter) might be good JVM environment.
vijucat · 2014-11-28
It just occurred to me that Hackathons which stress on the caffeine-induced sleepless continuous-production aspect of programming are the opposite of what Rich Hickey termed "Hammock driven development" : http://data-sorcery.org/2010/12/29/hammock-driven-dev/ I guess the "furious activity IS productivity" approach of such hackathons is appropriate if you're building the next great website where the assembly of components is the challenge but they are probably not great for solving open-ended problems such as designing an algorithm or figuring out how to solve a puzzle (a business puzzle, a programming puzzle, a life puzzle).
gte525u · 2014-12-04
Fundamentally it's macros and homoiconicity of code and data that give lisp it's expressive power. Combined they grant you the power to inject new syntax / domain specific languages (DSLs) directly into your code. Any new syntax you create can look like normal lisp or can have different syntax evaluation rules like infix math notation [1]. A number of years ago I did a short write-up on stack overflow giving a basic explanation of how macros work in common lisp which may be worth a read [2]. Macros in general work by being a syntax tree -> syntax tree transformation. The neat trick is it's not a static pattern like C - you can leverage functions, conditions, etc to build that syntax tree. As for comprehensions themselves, if you want to see the power of lisp look at the loop macro. It's a single macro yet gives you the power of normal control loops, list comprehensions, for-each all rolled into one package. [3] [1] http://data-sorcery.org/2010/05/14/infix-math/ [2] http://www.gigamonkeys.com/book/loop-for-black-belts.html [3] http://stackoverflow.com/questions/267862/what-makes-lisp-macros-so-sp…
phillc73 · 2019-03-25
I've only very briefly used it and am by no means an expert, but perhaps Incanter?[1] Specifically the Plotting section on the Data Sorcery page[2] has more information. [1] http://incanter.org/ [2] https://data-sorcery.org/contents/
vorg · 2014-10-25
> Now to get it working in Clojure Perhaps you've seen the macro for infix operators in Clojure: http://data-sorcery.org/2010/05/14/infix-math/ Use that and all you'd need to implement for infix ops is a parser that translates {...} to ($= ...) for any sequence ... of tokens.
hashtree · 2014-05-31
Incanter, similar to R but based upon Clojure: http://data-sorcery.org/contents/ Another good mention, in addition to D3, for client-side graphing is highcharts: http://www.highcharts.com/
tensor · 2013-06-25
This can easily be addressed with a DSL. http://data-sorcery.org/2010/05/14/infix-math/
alexott · 2012-02-17
currently there is no such support in Incanter. Chars are implemented via JFreeChart that can export to JPEG & PNG out of box, although it's possible to export charts to other formats, such as PDF and Incanter supports it out of box with incanter.pdf/save-pdf function (http://data-sorcery.org/2010/02/05/pdf-charts/)
JoshCole · 2010-12-17
I think your defining "human" based on norm. I would prefer to define "human" based on a humans ease of use given familiarity with the notation. I prefer this definition because if you use what I take to be your definition you get oddities like Roman Numerals being more human than what we use today. Given this definition I'm not sure you can say he is purely rationalizing his choice, since he gives a clear example of a situation in which he finds that the notation is easier to use. I don't feel strong one way or another on this issue, though I do program in Clojure. If you want infix math in clojure: http://data-sorcery.org/2010/05/14/infix-math/
nathanmarz · 2010-08-31
Here's infix math from the Incanter library for Clojure: http://data-sorcery.org/2010/05/14/infix-math/
nnq · 2015-08-22
You're probably a verbal thinker, and English-like code matters a lot to you I guess. Probably lots of programmers are. For me, a mostly visual thinker that ends up building and visualizing a code tree in his head anyhow, Lisp is very readable because I can more clearly see the tree without all the noise. And when it comes to math, staying close to standard math notation is a clear winner, and this is why all lisps have ways of writing infix for formula-heavy code, stuff like http://data-sorcery.org/2010/05/14/infix-math/ and others. But lispers don't use them that much because they simply get used to the Lisp notation more. ...oh, and Common Lisp is NOT an example of readable Lisp. It's probably the most unreadable and obsfucation-friendly of them all :) Take a look at some Clojure code for something that's just as readable as Python after you "get you eyes used to it" (jargon for learning to ignore the parentheses and learning the special meanings of the "funny symbols" like :, ~, # and a few more): https://github.com/weavejester/compojure/blob/master/src/compojure/cor…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close