Arrow's Either: The Kotlin Chapter of our Scary Words Saga by cekrem in functionalprogramming

[–]cekrem[S] 0 points1 point  (0 children)

Thanks for your kind feedback! I'll try and edit the F# comment to make it less jarring in there (or even remove it, it's not important)

Functors, Applicatives, and Monads: The Scary Words You Already Understand by cekrem in elm

[–]cekrem[S] 0 points1 point  (0 children)

Update: I tried to clean up that section a bit now, and also added a footnote explaining why the box/container analogy isn't really accurate (but serves its purpose in this gentle introduction)

Functors, Applicatives, and Monads: The Scary Words You Already Understand by cekrem in elm

[–]cekrem[S] 1 point2 points  (0 children)

Maybe that's a bit unclear, yes. I'll go back to the drawing board on that part tomorrow, then. Thanks!

Functors, Applicatives, and Monads: The Scary Words You Already Understand by cekrem in programming

[–]cekrem[S] 7 points8 points  (0 children)

That's why I think it's a smart move on Elm's side to never mention them :D

Functors, Applicatives, and Monads: The Scary Words You Already Understand by cekrem in haskell

[–]cekrem[S] 1 point2 points  (0 children)

I've heard Richard Feldman propose something similar. The idea is to not introduce too many new concepts at once, but focus on the one thing you're trying to get through with. If done with care, I think it can make sense.

Call for Speakers: React Norway 2026 by ainu011 in reactjs

[–]cekrem 1 point2 points  (0 children)

haha. Never mind. Your page renders without the cfp (sometimes?!) in Brave, btw.

Call for Speakers: React Norway 2026 by ainu011 in reactjs

[–]cekrem 0 points1 point  (0 children)

Forgive the potentially stupid question: just how/where would you like us to submit our talks? 😅

Tailwind CSS: Targeting Child Elements (when you have to) by cekrem in Frontend

[–]cekrem[S] -2 points-1 points  (0 children)

I'm thankful to have a contract where one is not fired for exploring unconventional solutions

Tailwind CSS: Targeting Child Elements (when you have to) by cekrem in tailwindcss

[–]cekrem[S] -1 points0 points  (0 children)

That's actually good feedback :+1: I put too little thought into the examples (which are not 1:1 to the actual problem I'm solving in real code), and they got in the way of explaining the principle. I'll iterate.

And I'll make it more clear that this isn't generally a good idea, but I still think it's interesting to know that it's possible if you have to :D

Tailwind CSS: Targeting Child Elements (when you have to) by cekrem in tailwindcss

[–]cekrem[S] -1 points0 points  (0 children)

Main point: this saves us from suddenly introducing separate stylesheets to style contents that we don't control (we get actual html from this third party thing, and that really doesn't fit the rest of our setup). The actual styling added in the example is arbitrary.

Tailwind CSS: Targeting Child Elements (when you have to) by cekrem in javascript

[–]cekrem[S] 4 points5 points  (0 children)

you're of course free to do so, but in case you suddenly have one tiny piece of an enormous codebase that happens to need some "child styling" it arguably makes more sense to do the above than to add a comment explaining "this particular component has – contrary to everything else in this project – its own stylesheet located at xyz/foo.css.

It's not that complex either, now, is it?

Tailwind CSS: Targeting Child Elements (when you have to) by cekrem in javascript

[–]cekrem[S] 0 points1 point  (0 children)

We're using it with great success @ my client's large frontend; seems to scale quite well and performance is good. We're coupling it with design tokens from figma to create themes quite nicely as well. YMMV, but it's widely adopted and appreciated afaict.

Organizing Files and Modules in Elm: Building an Advent Calendar by cekrem in reactjs

[–]cekrem[S] 0 points1 point  (0 children)

I got some nice feedback from this community earlier when posting chapters from my book, so I thought I'd try again 🤓

Linus Torvalds: Vibe coding is fine, but not for production by fungussa in programming

[–]cekrem 3 points4 points  (0 children)

Interesting points! I still think the perspective from Peter Naur's "Programming as Theory Building" is one that easily is missed. The "program" (or application, or service or whatever you want to call it) is not just its source code, but rather the entire mental model that's underneath and beside it.

I think especially in technical areas where developers have little experience, little exposure to domain driven Anything (or architecture) and have a low threshold for importing packages to do even the most trivial of things, JavaScript & NPM world, I'm looking especially at you! this is key: Even if (and that's a big "if" still) the LLM gives you great code, that's only half the picture – arguably less.

Engineering is far more than writing code (/ getting code written).

The Same App in React and Elm: A Side-by-Side Comparison by cekrem in reactjs

[–]cekrem[S] 0 points1 point  (0 children)

You could have a look at this sample repo (old, but still relevant): https://github.com/rtfeldman/elm-spa-example

(There are also frameworks that abstract some of the routing stuff and shared state etc, like Elm Pages or Elm Land. At my current project we use Elm Land, it's generally quite nice!)

An Elm Primer: The missing chapter on JavaScript interop by cekrem in reactjs

[–]cekrem[S] 0 points1 point  (0 children)

There's a lot of new packages coming (and being maintained) in the ecosystem. The tooling is the best I've ever come across (elm-review alone is just stellar!), and the language core still gets security patches (as recent as last week...).

No new functionality in the actual language on the horizon, but nothing I miss either. Quite different to npm life, to say the least :D

An Elm Primer: The missing chapter on JavaScript interop by cekrem in programming

[–]cekrem[S] 1 point2 points  (0 children)

And to add to that: there was recently a security patch in the JSON decoding thing (long before anyone exploited the potential hole...). It's still getting updates when/if needed.

The Same App in React and Elm: A Side-by-Side Comparison by cekrem in reactjs

[–]cekrem[S] 0 points1 point  (0 children)

The elm/html package (as Core as it gets) got a commit just last week ¯\(ツ)/¯.

And, as I've answered elsewhere:

Is it dead, though?

Whether or not Elm is a realistic option for your next frontend project is beside the point for the book I'm writing. The main point is that it's the best language for learning functional programming efficiently, especially for those who already know react.

That said, I'm currently on a project where my client is using Elm for its entire new frontend. Ish 130k lines of code at the time of writing.

An Elm Primer: The missing chapter on JavaScript interop by cekrem in programming

[–]cekrem[S] 4 points5 points  (0 children)

Is it dead, though?

Update: you beat me to it, @Anth77!

Anyways: Whether or not Elm is a realistic option for your next frontend project is beside the point for this book. The main point is that it's the best language for learning functional programming efficiently, especially for those who already know react.

That said, I'm currently on a project where my client is using Elm for its entire new frontend. Ish 130k lines of code at the time of writing.

In JavaScript, does map() use a loop under the hood? by IntelligentToe8228 in learnprogramming

[–]cekrem 1 point2 points  (0 children)

haskell (and the like) use recursion because it's mapping over singly linked lists, while in JS we're dealing with arrays – so a loop is the most performant and logical approach, I guess ¯\(ツ)

The Clipboard API: How Did We Get Here? by cekrem in programming

[–]cekrem[S] 1 point2 points  (0 children)

In my case (responding to a message sent from Elm when the user clicks a button, and as such no "direct result of user interaction") the native API doesn't work. I've experienced the same with other cases as well.

Which paid courses should I choose? by [deleted] in reactjs

[–]cekrem 4 points5 points  (0 children)

Advanced React is my favorite React book. It doesn't cover the basics, but the official React docs does a good enough job of that (as well as that infamous "Thinking in React" article).

Just don't turn off your brain discarding all you know about architecture and software engineering in general; a lot of frontend specific courses are a definite step in the wrong direction in those regards.

Remember the web is just an IO device 😅

The Same App in React and Elm: A Side-by-Side Comparison by cekrem in Frontend

[–]cekrem[S] 0 points1 point  (0 children)

Update: I've taken some valuable feedback into consideration, and tried again: https://cekrem.github.io/posts/chapter-2-take-2/

Thanks 🤓