Grammarly Engineering Blog
tech.grammarly.com · Company blog · on HN since 2015
Grammarly's engineering team writes about how it builds its products, including Lisp, Clojure, Spark, Docker, and browser extensions.
What HN saysHN commenters point to it mainly for the write-up on running Common Lisp in production, plus its use of Clojure for ETL pipelines.
17HN people shared it
8linked it in comments
21stories submitted
1.0Kstory points
7 years agolast shared
2015people per year2026
Most-shared posts
- 1Running Lisp in Production5 people · 423 points · first shared 2015 · 114 comments on HN
- 2Running Lisp in Production (2015)5 people · 308 points · first shared 2017 · 68 comments on HN
- 3Building ETL pipelines with Clojure and transducers4 people · 17 points · first shared 2017 · discussion on HN
- 4Building Browser Extensions at Scale3 people · 18 points · first shared 2017 · 1 comments on HN
- 5Petabyte-Scale Text Processing with Spark2 people · 14 points · first shared 2015 · discussion on HN
- 6How to Split Sentences (2014)1 people · 88 points · first shared 2015 · 12 comments on HN
- 7Paving the way for human-level sentence corrections1 people · 72 points · first shared 2017 · 21 comments on HN
- 8Deploying Containers in the Real World: Part 2 of Grammarly's Docker Journey1 people · 46 points · first shared 2015 · 3 comments on HN
- 9From lawyer to coder1 people · 17 points · first shared 2017 · 1 comments on HN
- 10Making Docker Rock at Grammarly1 people · 15 points · first shared 2015 · discussion on HN
- 11Building a versatile analytics pipeline on top of Apache Spark1 people · 5 points · first shared 2017 · discussion on HN
- 12Decoupling a Monolithic Server Application1 people · 2 points · first shared 2015 · discussion on HN
What HN people wrote when they linked it
hydandata · 2019-09-17
I used it at work[0] for a few years and it was great, but I did not scale that project to large number of people, mainly because it did not need to.
Folks at Grammarly have a writeup about how they are using it, it might have more relevant information for you[1].
I would definitely consider using it again, but proper buy-in takes time, and I have simply been moving too fast since then.
I am still not a big fan of Clojure myself, but it is definitely seems easier to sell than CL. In my humble opinion, if you are already a convert the benefits of going from Clojure to CL will not be as great as the ones for going from Java to Clojure.
[0] https://news.ycombinator.com/item?id=13979002
[1] http://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html
yvdriess · 2019-11-27
I think you are missing the implications of working with image-based language runtimes.
The CI or even the client can attaches the live image of the error, the programmer opens up the image when he opens the ticket and has the full venerable introspection tools of CL or Smalltalk. This directly addresses the reproducability issue you raised in said paragraph. There are indeed occasions where you need a proper rr-like trace, but what fraction of bugs fall into that category.
For illustration purposes: Grammarly has an example of fixing an intermittent network bug on a production server under load on the much-HN-linked blog post: https://tech.grammarly.com/blog/running-lisp-in-production
fheld · 2019-10-17
might be interesting for you, Lips in production:
https://tech.grammarly.com/blog/running-lisp-in-production
kristianp · 2018-03-27
They also use Clojure (2017): https://tech.grammarly.com/blog/building-etl-pipelines-with-clojure
kgwgk · 2017-08-29
They use clojure as well (instead?).
https://tech.grammarly.com/blog/building-etl-pipelines-with-clojure
https://www.grammarly.com/jobs/engineering/software-engineer-functiona…
zeveb · 2017-08-29
A little-known fact is that Grammarly is a Common Lisp app: https://tech.grammarly.com/blog/running-lisp-in-production
azrazalea · 2017-03-29
This talks about GC settings that worked for them in SBCL for production, not sure if you already tried the same kind of stuff but may be an interesting read http://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html.
If you can make an easy to run example of the garbage collector not working correctly, the folks in #sbcl on freenode are very responsive and have commit access to fix it.
eudox · 2016-05-14
Grammarly is pretty recent: http://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html