Hacker Newsnew | past | comments | ask | show | jobs | submit | cjohansen's commentslogin

Dataspex is a new data browser for Clojure that runs in Chrome/Firefox devtools and inspects frontend ClojureScript data, backend Clojure data, databases, has an audit log with time travel ++ All this for two lines of setup code.


The code from the presentation is here: https://github.com/cjohansen/om-sweeper


> I think the article is overly focused on small, pragmatic syntax issues without explaining how the underlying language and runtime have _enabled_ them.

That was kinda the whole point of the post.


It's not really intended as an "evangelist" post. It's just describing some details that makes a big difference to me in my day-to-day work. I guess it's more of a "hey, fellow Clojure programmer, don't you agree that these details really put the icing on the cake?" kind of post.

Maybe the other post I posted the same day would give newcomers a better impression of what using Clojure is like in practice (lots more code, more in-depth): http://cjohansen.no/building-static-sites-in-clojure-with-st...


The 'to die for' is too strong.

ps: what is the min* function ? can't find anything on google


It's an expression of enthusiasm, don't take it so seriously.

min* is like min but takes a list, it's not built in. Yes, I know about apply, I still prefer min* to (apply min) in certain cases.


Thanks, I was just affraid I'd missed some kind of builtin macro or convention. At one point I thought that -> would rewrite function #"\*$" to decorate them with apply ... paranoid noobies you know.

ps: you're a very enthusiastic person ;)


One thing that will help a lot: type (source f) to see the source code for a function or macro. Also (doc f) for documentation.


thanks for writing it. i have yet to grok or embrace Lisp-family languages, but your post was still fun to read.


I spent 10 or more hours writing "Building static sites in Clojure with Stasis" (http://cjohansen.no/building-static-sites-in-clojure-with-st... / https://news.ycombinator.com/item?id=7375425). It was written so people could enjoy it even with little Clojure experience. As a piece of supportive material, I pulled together this post about some (to me) exciting idioms in about 40 minutes. Results after one day: the afterthought is #4 on hacker news, and has 10k views. The "real" post has a mere 3k views, and is long gone from hacker news.

Who says hard work pays off?


I know how you feel. A off-the-cuff post [1] about why I chose a few different web-related libraries hit front page of Hacker News a while back. I spent maybe 30 minutes on it, and laughed when I noticed it had been received so well (someone else submitted it).

In comparison, a post[2] I was really excited about, that demonstrates how to improve (Korma) SQL abstraction in Clojure with Macros (I created a demo app) didn't seem to get anyone excited. I probably spent 4x as long trying to put it together. Oh well.

Anecdotally, it feels like programming-related posts with a few high level pieces of code resonate better than deeper dive posts. Possibly because they're easier to skim across while having your morning coffee.

[1] https://hackworth.be/2014/02/05/an-expanded-comment/

[2] https://hackworth.be/2014/02/18/spicing-up-korma-with-macros...


I suspect this is like the executive who said "I know over half of my advertising dollars are wasted, I just don't know which half!" (pre-AdWords).

I don't think you could have predicted ahead of time which of those would be more popular before writing them.

Having said that, the Stasis post is much longer, so it's less conducive to reading at work and quickly dashing off a comment or two on Hacker News without your boss noticing you goofing off. Hypothetically speaking, of course. :)


Perhaps an HN article analyzing which HN articles sink and which swim sometime in the future?


I've had articles sink without a trace on HN. I've had articles shoot to the top. The crazy thing is its often the same article resubmitted (by someone else) a few months later.

Based on my experience, a "worthy" article has about a 50-50 chance of making it off the new page to the home page and taking off. This is basically random. Many people think HN is a meritocracy where the best articles succeed, but its not. There is a huge random factor in the way. This isn't too bad for a short throwaway article but it's frustrating if you put hours and hours into an article and know people would like it but it goes nowhere.


There is an enormous amount of randomness in what makes it to the front page of HN.


I learned plenty from both posts. This one made me look at the other threading operators and the new some? functions in 1.5. Consider dropping "with Stasis" from that title. Well done, keep up the good work.


Thanks!

I don't have any problems with the skewed "readers per effort" metrics, it was just a fun observation. If my only goal was internet fame, I would not write huge long-ass posts :)


Hard work doesn't pay off unless you make things people want. It's all about making things that have an audience - and that's often hard to predict ahead of time :)

I think for any big win/viral/hits based endeavour - music, OSS, blogging, games - creating many things quickly and doubling down on whatever works is the best strategy.


But giving people exactly what they want only further enshrines the status quo, which is almost always crappy. Make things because you have to, I guess.

HN is pop programming culture and if you're writing Clojure, you can't expect them to appreciate it as much as, say, Node.js.


No accounting for taste, huh?

I've only recently started with Clojure and I feel like a clumsy newb most of the time, but I adore the elegance and simplicity. I like that this article gets into the benefits of hashes, maps, and vectors as first-class objects in Clojure. I'm sure the Lisp purists hate it, but as someone used to 21st century programming languages, I love it. And I like how it shows Clojure's superiority over other languages' access/manipulation of the same structures. I'd love to see a follow-on here about the advantages of immutability too.

As for the popularity of Node.js... fertilizer is a wonderful thing, but it's still made out of manure. I can't quite get around my distaste for Javascript.


Thanks for linking back to the original. I missed that one and will read it tonight - sounds like something I'd like to learn more about.


Glad you liked it! :)


Actually it's Linux Mint 10, but same Gnome setup :) (Also, Mint is just a slightly different wrapper on top of Ubuntu).


Test automation is about preventing bugs, sure. And TDD is about software design. I don't disagree.

However, unit testing is also a nice way to find bugs. In any case, "trapping" a bug like I did in this article is often an effective way of introducing newcomers to what a unit test is.


It was a good article. And using automated tests to trap and isolate problems is an important technique.

I didn't mean my nit-picking to come across as harsh and dismissive. I just get hung up on people talking about writing tests to find bugs, because if that's all it is about, manual testing is generally faster in the short-run.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: