News for hackers. Stuff that matters.
Re:How CircleCI Processes 4.5M Builds per Month by priornix on Thursday July 13, 2017 @08:51PM (#14766627)
Is this the only big success story for Clojure or other companies using the Lisp family of programming languages? I know there is Paul Graham's Viaweb. [1] Does anyone know of other examples?

I like the fact that they are a practical company, using Go when needed where "static dependency compilation and fast start-up are more important". I wonder if the ClojureScript's annoucement on integration of NodeJS modules [2] changes that? Also, Lumo [3] is definitely a move in the right direction for this, addressing the slow start-up times for Clojure/ClojureScript, making it suitable for shell scripts and CLI binaries.

> Having a lingua franca also helps reduce overhead when engineers want to move between layers of the stack.

The way I see it, Clojure allows you to use a single language and syntax from the super heavy backend stuffs, to the front end and now to small, fast CLI tools and scripts. A candidate for the "Business English" of the technical world as it were.

[1] http://www.paulgraham.com/avg.html

[2] https://news.ycombinator.com/item?id=14754614

[3] https://github.com/anmonteiro/lumo

Re:How CircleCI Processes 4.5M Builds per Month by laxon on Thursday July 13, 2017 @09:31PM (#14766763)
There is a list of company success stories. [1] And a list of companies using Clojure. [2]

[1] https://clojure.org/community/success_stories

[2] https://clojure.org/community/companies

Re:How CircleCI Processes 4.5M Builds per Month by priornix on Friday July 14, 2017 @10:59PM (#14774826)
Good list, would love to hear more details about their success stories and use cases.
Re:How CircleCI Processes 4.5M Builds per Month by laxon on Saturday July 15, 2017 @10:48AM (#14776885)
Most of the success stories have links for details below them. i.e. [1]

[1] http://blog.cognitect.com/blog/2015/6/30/walmart-runs-clojur...

Re:How CircleCI Processes 4.5M Builds per Month by gleenn on Friday July 14, 2017 @03:05AM (#14768096)
Urban Dictionary uses Clojure. We're really happy with it
Re:How CircleCI Processes 4.5M Builds per Month by priornix on Friday July 14, 2017 @10:54PM (#14774811)
Nice! You guys rock. Any blog posts to share about why Clojure was chosen and how it's working out for you guys?
Re:How CircleCI Processes 4.5M Builds per Month by gleenn on Monday July 17, 2017 @01:53AM (#14785994)
We're a pretty small shop, not enough time in the day to write these things usually. I'm sure Aaron would love to if we had the time.
Re:How CircleCI Processes 4.5M Builds per Month by tbatchelli on Friday July 14, 2017 @12:23PM (#14771020)
We use Clojure and ClojureScript heavily at Peerspace. Best tool for the job for scaling without adding too much complexity.
Re:How CircleCI Processes 4.5M Builds per Month by priornix on Friday July 14, 2017 @11:38PM (#14774929)
Great, would love to hear more about this!
Re:How CircleCI Processes 4.5M Builds per Month by laktek on Thursday July 13, 2017 @08:57PM (#14766648)
Yeah, I also found it interesting. Curious what's their hiring pipeline for Clojure devs? I know a couple of startups that picked Clojure ended up having troubles finding good devs.
Re:How CircleCI Processes 4.5M Builds per Month by priornix on Thursday July 13, 2017 @09:03PM (#14766674)
Well, I found it found it hard to hire Clojure developers too. But I addressed it by hiring good to competent developers, asking if they are willing to learn Clojure and then getting them to implement a test project in Clojure as part of the interview process. Since Clojure is syntactically not huge, it is easy to pickup, for good developers. That's my hiring pipeline. ;)
Re:How CircleCI Processes 4.5M Builds per Month by kornish on Thursday July 13, 2017 @11:55PM (#14767344)
Out of interest, roughly what percentage of candidates agreed to take on the project?
Re:How CircleCI Processes 4.5M Builds per Month by priornix on Friday July 14, 2017 @01:17AM (#14767675)
A fairly high percentage. I guess filtering for candidates who are polyglot developers comfortable in more than one language helps. The fact that Clojure is used acts as a filter for self-driven and "better programmers" [1].

[1] http://www.paulgraham.com/pypar.html

Re:How CircleCI Processes 4.5M Builds per Month by TeMPOraL on Friday July 14, 2017 @04:45AM (#14768460)
> or other companies using the Lisp family of programming languages?

Off the top of my head:

Naughty Dog's games (Crash Bandicoot, Jak and Daxter, Uncharted) are powered by their own Lisp implementations. Google for "GOOL" and "GOAL".

Grammarly uses Common Lisp.

Oh, and if you're searching for air travel connections, your query most likely goes through a huge Common Lisp system (search for ITA Software).

Re:How CircleCI Processes 4.5M Builds per Month by pcr0 on Friday July 14, 2017 @02:51AM (#14768039)
I don't think Node solves the problem of static dependency compilation and fast startup.
Re:How CircleCI Processes 4.5M Builds per Month by priornix on Friday July 14, 2017 @11:04PM (#14774840)
With nexe [1][2] and pkg [3] you can now package ClojureScript on Node.js as a static binary, and startup time is now a lot better compared to Clojure on JVM. Go would definitely be better in terms of speed and performance. So it's a tradeoff to make between relative size, performance and having a single language stack, increased team productivity and reduced team overhead.

[1] https://github.com/nexe/nexe

[2] https://clojurescript.org/guides/native-executables

[3] https://github.com/zeit/pkg

Re:How CircleCI Processes 4.5M Builds per Month by mhluongo on Friday July 14, 2017 @03:00AM (#14768076)
It solves fast startup relative to the JVM.
Re:How CircleCI Processes 4.5M Builds per Month by sz4kerto on Friday July 14, 2017 @03:30AM (#14768179)
JVM start-up time is below 50 msec. Is that so slow? (Measure a simple hello world, and you will see.) Any slowness above that comes from your code, not the JVM.
Re:How CircleCI Processes 4.5M Builds per Month by socksy on Friday July 14, 2017 @04:51AM (#14768480)
Maybe more accurately JVM based Clojure, as opposed to node based ClojureScript (Lumo).
Re:How CircleCI Processes 4.5M Builds per Month by mhluongo on Friday July 14, 2017 @01:58PM (#14771823)
Excuse my brevity. Definitely meant "Clojure on the JVM" vs other hosts.
Re:How CircleCI Processes 4.5M Builds per Month by pebers on Friday July 14, 2017 @04:10AM (#14768337)
That's a bit of a straw man though - Go is significantly faster to start than either.

They also mention static binaries which Node does not solve.

Re:How CircleCI Processes 4.5M Builds per Month by mhluongo on Friday July 14, 2017 @01:57PM (#14771814)
It's not a strawman at all- many of us who run Clojure have had to switch to other langs for parts of our infrastructure that require faster start-up time. Think Lambda / "serverless" computing, etc

Agreed it doesn't help with static dependencies, which is why I didn't mention it ;)

Re:How CircleCI Processes 4.5M Builds per Month by pebers on Saturday July 15, 2017 @05:34AM (#14775839)
It is a straw man - you're justifying your suggested solution by comparing it to something that is already considered bad in the area. That's exactly what a straw man is.
Re:How CircleCI Processes 4.5M Builds per Month by mhluongo on Monday July 17, 2017 @11:02AM (#14789130)
You're suggesting the answer to "we need better startup time" must be "we need the best startup time possible"? In that case, Go is also bad. Everything should be hand-rolled assembler.

Many of us who actually run Clojure in production have been bit by this, and Clojurescript has been fast enough to alleviate the issue. Not a straw man, a community meme.

Re:How CircleCI Processes 4.5M Builds per Month by priornix on Friday July 14, 2017 @11:09PM (#14774852)
With pkg [1][2] and nexe [3] you can package ClojureScript on Node.js applications as a static binary. Of course, Go would be better in terms of size/performance, so it's now a matter of making tradeoffs between relative size/performance and team productivity. But at least for teams using Clojure/ClojureScript, this gives you that an additional option, where none existed.

[1] https://github.com/zeit/pkg

[2] https://clojurescript.org/guides/native-executables

[3] https://github.com/nexe/nexe