HNHacker News
TopNewBestAskShowJobs

jxxcarlson

101 karma · joined February 26, 2015

submissionscomments
jxxcarlson··on Ask HN: What Happened to Elm?
Also, brilliant.org and exosphere.app, both with large and active Elm code bases. I worked for brilliant for a time and now work for exosphere.

Also, my own project, https://scripta.io. About 45kloc of code split between the app (lamdera/elm) and the MicroLaTex-to-HTML compiler (elm).

Have been working with Elm for five years and have been happy with both the experience and the results. E.g. radical refactors of core data structures are simply no big deal.

jxxcarlson··on Fullstack Elm with Lamdera
I've been using lamdera regularly for a over a year. Having a full-stack, one-language solution makes development so much more pleasant and efficient. https://minilatex.lamdera.app
jxxcarlson··on A nice app on Elm street
My own two cents worth on Elm.

I've worked with many languages, beginning with Fortran in my student days that I had to punch my own cards, then doing Basic, Pascal, C, C++, Python, Ruby, Javascript, Lisp, Scheme, some Haskell, not necessarily in that order. I've never had more fun and felt more productive than with Elm. The ability to do "extreme refactoring" and come out on the other side with everything working is liberating, exhilarating, and makes code maintainable and growable over the long term.

Been using it now for three years.

jxxcarlson··on Asset minification with Elm (2018)
I wrote a library that parses a subset of LaTeX and renders it as HTML. See https://demo.minilatex.app/ or more at https://minilatex.io I was astonished by what is possible to do with Elm. This is a continuing project. It is easy to go back to the code even after leaving it untouched for several months. I've engaged in "extreme refactoring" many times. No fears!

I've also written a bunch of small mathy apps, e.g. https://jxxcarlson.io/apps/

Elm has been a joy to work with.

jxxcarlson··on Asset minification with Elm (2018)
Yes, something like that. Almost everyone who writes Elm code uses elm-format which is very "spacey". So foo = 1 is formatted with foo = on one line and 1 on the next, with some leading space.
jxxcarlson··on Small Assets without the Headache in Elm 0.19
One more point. Writing something like the MiniLatex parser would be somewhere between impossible altogether and nightmarish without an expressive type system. Below is the definition of the type of the abstract syntax tree (AST) for MiniLatex. Just eleven lines of code. Yes, I know. No typeclasses in Elm. But Elm's type system is surprisingly expressive, and with it one can do some rather sophisticated work. I've been very happy with it.

    type LatexExpression
        = LXString String
        | Comment String
        | Item LatexExpression
        | InlineMath String
        | DisplayMath String
        | SMacro String (List LatexExpression) (List LatexExpression) LatexExpression 
        | Macro String (List LatexExpression) (List LatexExpression) 
        | Environment String (List LatexExpression) LatexExpression 
        | LatexList (List LatexExpression)
        | LXError (List DeadEnd)
jxxcarlson··on Small Assets without the Headache in Elm 0.19
Just wanted to say what a joy it has been to work with the 0.19 compiler. For the project at https://knode.io, it was a game-changer: the elm/parser library is so fast that it makes live rendering of LaTeX to HTML a reality.

See

- Demo: https://jxxcarlson.github.io/app/miniLatexLive/index.html

- Blog post: https://medium.com/@jxxcarlson/elm-0-19-its-parser-and-minil...

Many thanks to Evan for this amazing release. The wait for it was very much worth while. Faster compiling, smaller asset size, and more. Yay!!

jxxcarlson··on Small Assets without the Headache in Elm 0.19
At present, Elm compiles to javascript. But when the time is right, it will have other compilation targets as well, e.g Webaassmebly
jxxcarlson··on Small Assets without the Headache in Elm 0.19
Also: much faster compilation times and a parser combinator library (elm/parse) that for me is a game-changer. It makes live-rendering of LaTeX to HTML a reality. See https://medium.com/@jxxcarlson/elm-0-19-its-parser-and-minil...
jxxcarlson··on The Hitchhiker's Guide to Elm
I've been working on a project, now at http://www.knode.io for quite some time. It went from Rails to an Elixir back end with an Angular 1 frontend, then a brief experiment with an Angular 2 frontend, and finally to an Elm frontend. It is a complex project with JS interop using ports to render (a) mathematical text and (b) Asciidoc. Plus, there is a Latex-to-Html parser-differ-renderer package that I wrote entirely in Elm (2K of code).

I couldn't be happier with Elm in this project. Many major refactors: instead of the usual white-knuckle experience with prior languages/frameworks, it was, like, zen.

jxxcarlson··on Elm at Pacific Health Dynamics
Yes, move faster, then pay the price later when stuff is broken and hard to fix.
jxxcarlson··on Towards LaTeX in the Browser
Here is an example:

$$ \newcommand{\bra}{\left<} \newcommand{\ket}{\right>} $$

$$ \bra a | b \ket $$

If you go to https://jxxcarlson.github.io/app/minilatex/src/index.html, press the "Clear" button, then paste the above text, then press "Render", you should see the macros \bra and \ket properly rendered.

jxxcarlson··on Towards LaTeX in the Browser
Hi, I am the developer of MiniLatex. Overleaf looks like a fantastic tool.
jxxcarlson··on Towards LaTeX in the Browser
Oops! My bad. Thanks!!
jxxcarlson··on Towards LaTeX in the Browser
I'm looking into KaTeX to see if it will work with my setup (Elm) & give better results. Thanks!
jxxcarlson··on Towards LaTeX in the Browser
Thanks very much for the correction!
jxxcarlson··on Hanami – web framework for Ruby
Thank you very much for your kind words -- and for the link to the Tufte-CSS site. Very good material there, as you would expect from Tufte. You may also enjoy this: http://practicaltypography.com/why-theres-no-e-book-or-pdf.h....

I use postgres for persistency -- mostly throgh Hanami's model component, though I do some parts directly in sequel.

jxxcarlson··on Hanami – web framework for Ruby
My (limited)experience is that when a rails app gets too big, it becomes hard to manage. That was my case, anyway. The architecture of hanami promotes longterm developer sanity. The fact that views are objects and the existence of interactors is a real plus. See this old Uncle Bob video re interactors: https://www.youtube.com/watch?v=WpkDN78P884
jxxcarlson··on Hanami – web framework for Ruby
I've been using hanami for http://www.scripta.io, which is a re-engineering of http://www.noteshare.io . I've been very happy with the transition from rails to hanami, so much so that I now have a second hanami app facing the world: http://www.shoobox.io.
jxxcarlson··on Announcing noteshare.io
Noteshare.io is a platform for creating and distributing online notebooks: lecture notes, homework problem sets, machine shop manuals, collections of poetry and art. You name it. Supports mathematical notation (via LaTeX) and easy-to-enter chemical formulas and reactions. Powered by asciidoctor. Currently in beta test. Join with access code C7092.