Top all-time · #2230
Alexandru Nedelcu
Personal blog · alexn.orgprogrammingaibusiness
Alexandru Nedelcu's personal blog at alexn.org covers programming, ai and business. Since 2011, 36 different Hacker News readers have linked it 55 times, most often “'AI' Sucks the Joy Out of Programming”. It is still writing: the last post was on 2026-09-22, and you can follow it by feed.
On programming and personal projects
Most-linked posts?
- 'AI' Sucks the Joy Out of Programming3 people · 3 mentions · first linked 2025-10-27
- What is functional programming3 people · 3 mentions · first linked 2017-10-15
- Asynchronous Programming and Scala3 people · 3 mentions · first linked 2017-01-30
- JavaScript's Promise Leaks Memory2 people · 3 mentions · first linked 2017-10-14
- Organize and Index Your Screenshots (OCR) on macOS2 people · 3 mentions · first linked 2021-07-19
- Scala isn't fun anymore2 people · 2 mentions · first linked 2022-09-11
- Books For Learning to Design, The Hard Way2 people · 2 mentions · first linked 2011-11-25
- Programming Languages in the Age of "AI" Agents2 people · 2 mentions · first linked 2025-11-16
What Hacker News says?
With asynchrony you get out of order execution and non-determinism by definition. That you don't have the concerns of shared memory concurrency , that's actually not such a big relief, especially given the right abstractions. And the underlying problem, that you need to deal with concurrency , doesn't go away. I've just written an article describing how JavaScript's Promise leaks memory in "then" chains and that it…
Comment linking /blog/2017/10/11/javascript-promise-leaks-memory.html
on “How JavaScript works: Event loop and the rise of Async programming”Submitted AI Has No Wisdom and Neither Will You as a story · 388 points
HN discussion> Given the same set of messages in the same order, you arrive at the same actor state You just described object identity (see [1]), which are objects whose state is determined by the history of the messages received. An object with identity is stateful, side-effectful and impure by definition. So no, an actor is almost never pure or deterministic. I'd also like to emphasize determinism here, because you can never r…
Comment linking /blog/2016/05/15/monix-observable.html
on “Making the move from Scala to Go”Submitted Scala isn't fun anymore as a story · 231 points
HN discussionScala 2's syntax is mostly Java/C-style with a few peculiarities. Scala 3's optionally allows indentation based, brace-less syntax. Much closer to the ML family or Python, depending on how you look at it. It does indeed look better, but brings its share of issues.[1] Worse, a lot of people in the community, whether they like it or not, think this was an unnecessary distraction on top of the challenges for the entire…
Comment linking /blog/2025/10/26/scala-3-no-indent/
on “Scala 3 slowed us down?”Submitted Java’s Cultural Problem as a story · 226 points
HN discussionI maintain a blog built on static tools since 2009, which is older than most people's blogs I see on Hacker News: https://alexn.org Hosting is free if you host it on GitHub Pages. I have my own VPS on DigitalOcean. Maintenance of that node is insignificant though, as the machine auto-updates itself. And you don't need to do it if you're on GitHub or GitLab Pages or other similar services. The initial cost was a litt…
Comment linking /
on “Show HN: You Don't Need WordPress – Create a Blog With Only Google Docs”Submitted Books For Learning to Design, The Hard Way as a story · 161 points
HN discussionI finally figured out how to use the Tesseract CLI utility on macOS today (installed from Homebrew). It's really neat - you can use it to turn a PNG into a PDF with embedded text, which you can then copy-and-paste: https://til.simonwillison.net/tesseract/tesseract-cli I learned about it from this post: https://alexn.org/blog/2020/11/11/organize-index-screenshots...
Comment linking /blog/2020/11/11/organize-index-screenshots-ocr-macos.html
on “Tesseract OCR”Submitted Blogging for Hackers as a story · 82 points
HN discussionHi, For a developer, making your own Disqus is actually easy. And I have done so myself, with free hosting on top of Google's App Engine ... http://alexn.org/TheBuzzEngine/ + https://github.com/alexandru/TheBuzzEngine Don't expect the same polish as Disqus. This is meant for my usage mostly and I have simple needs.
Comment linking /TheBuzzEngine/
on “GitHub is one commit away from being the ultimate blog engine”Submitted Earning Money as an Amazon Affiliate, A Small Experiment as a story · 75 points
HN discussionI deploy my websites on my own VPS at DigitalOcean, but with a simpler setup then the TFA. I simply have a Travis-ci.org setup that does an "rsync" after "jekyll build". And in case I'm not in the mood for waiting on Travis, I simply "rsync" from my localhost after build. Having an automated build system has advantages though - if you get a PR on your website repository with typos and so on, you just have to merge i…
Comment linking /
on “Jekyll Static Web Hosting – Deployment Pipeline on AWS”Submitted Akka is moving away from Open Source – Alexandru Nedelcu as a story · 50 points
HN discussionIn case you need a trampoline, it's more comfortable to use a well grown data type. Here's mine ... Eval, a data-type for handling synchronous evaluation: https://funfix.org/api/effect/classes/eval.html IO, a data-type for suspending side effects, including asynchronous ones, an FP/lawful replacement for Promise; ported from Haskell, but better: https://funfix.org/api/effect/classes/io.html Also note that Promise's…
Comment linking /blog/2017/10/11/javascript-promise-leaks-memory.html
on “Recursion, Tail Calls and Trampolines in JavaScript (2015)”Submitted JavaScript's Promise Is Memory Unsafe as a story · 24 points
HN discussionI have recently given a talk that includes a comparison between OOP and parametric / higher-kinded polymorphism, the hope being to help people choose the proper abstractions in a hybrid language like Scala. Title is "Functional Programming Inception", slides available at: https://alexn.org/blog/2017/03/15/fp-inception.html Basically: - OOP is about information hiding and not just when speaking of data, but also when…
Comment linking /blog/2017/03/15/fp-inception.html
on “Why OO Matters in F#”Submitted 'AI' Sucks the Joy Out of Programming as a story · 14 points
HN discussionHere's a great shortlist: http://alexn.org/blog/2011/11/25/4-books-for-learning-to-des... And CSS tricks will prove very useful (mine the backlog!): http://css-tricks.com/ If you can code, then you're way ahead when it comes to translating visuals into functional elements on a screen, in my opinion. Rock!
Comment linking /blog/2011/11/25/4-books-for-learning-to-design-the-hard-way.html
on “How to teach yourself to code in one month”Submitted My Favorite Firefox Extensions as a story · 12 points
HN discussion> His code is creating an infinite promise chain. Did the author really expect it would not eat all his memory and crash? Processing an infinite or really long promise chain is what ends up happening when you're working with streams and functional programming in general. Yes, I expected it to not leak memory, because sane implementations don't leak. One such implementation is Scala's Future [0], using an implementat…
Comment linking /blog/2017/01/30/asynchronous-programming-scala.html
on “JavaScript's Promise Is Memory Unsafe”Submitted 'AI' Sucks the Joy Out of Programming as a story · 9 points
HN discussionSubmitted Use Firefox in 2025 as a story · 8 points
HN discussionSubmitted Asynchronous Programming and Scala as a story · 5 points
HN discussionSubmitted 'AI' Sucks the Joy Out of Programming as a story · 4 points
HN discussionSubmitted Scala's Future as a story · 4 points
HN discussionSubmitted Proprietary Environments Are a Trap as a story · 4 points
HN discussionSubmitted Scala's Gitter-to-Discord migration mistake as a story · 4 points
HN discussionSubmitted Programming Languages in the Age of "AI" Agents as a story · 3 points
HN discussionSubmitted 1Password vs. Bitwarden as a story · 3 points
HN discussion