HNHacker News
TopNewBestAskShowJobs

evacchi

888 karma · joined November 13, 2013

In the past I worked on programming language research at unimi.it; after working at the R&D dept of UniCredit Bank, I joined Red Hat, working on the Drools rules engine and the Kogito cloud-native business automation platform, contributing to Quarkus and lately qbicc.org; I joined Tetrate.io to work on the wazero Wasm runtime for Go, then I joined Dylibso where I worked on the Chicory Wasm runtime for Java, on wazero, Extism, XTP, mcp.run and more!

Currently I am back at Red Hat, AI Inference Engineering.

evacchi.dev

submissionscomments
evacchi··on They Rejected Us
> Personally I like to show people a piece of code from a big system they've never seen and let them walk me through what it does and what they would change to make it work better.

This could be the first coding interview style that actually makes sense to me

evacchi··on Composing Programs – An introduction to programming in the tradition of SICP
I agree with everything
evacchi··on Composing Programs – An introduction to programming in the tradition of SICP
A friend of mine is approaching programming (very beginner level) through JavaScript. Is there any resource you would suggest in the same vein of this?

EDIT: since people are asking, I agree that JS is not the best language to get started, but let's just say he needs to learn that.

evacchi··on What do Unix command names stand for?
My favorite, related, piece of trivia about JCL is the IEFBR14 program: the no-op program that took a few attempts to get it right :-) [1]. Its entire purpose was motivated by JCL not having primary commands to do file management, which is only allowed as a "side effect" of executing a program

[1] https://en.wikipedia.org/wiki/IEFBR14#Implementation

evacchi··on Algorithms and Data Structures Explained and Implemented in JavaScript
I would be interested in hearing feedback on this book [1]. I bought it for a friend who's getting started with programming, coming from a different field. It seems a good book overall, but I haven't had the time to take a very deep look at it.

[1] https://www.packtpub.com/web-development/learning-javascript...

evacchi··on Formal Language Recognition with the Java Type Checker (2016) [pdf]
Beautiful!
evacchi··on A Letter from Dijkstra on APL (1982)
also kdb's k and q languages
evacchi··on Data Classes for Java
It's decoy to avoid bikeshedding. The value class proposal used __value
evacchi··on Roamer: A Plain-Text File Manager
reminds me of Oscar's Renamer http://www.mediachance.com/free/renamer.htm
evacchi··on JDK 9: Pitfalls for the Unwary
if you are interested, these are the slides of the talk referenced in the article https://www.slideshare.net/SimonRitter/55-new-features-in-jd...
evacchi··on Rust: A Scala Engineer's Perspective
Actors (not akka's) used to ship as part of the standard library. I'd argue it's been the killer app that drove many people in, in Scala's early days. At some point Akka grew bigger and matured so the original actor library was spun off in its own library, basically deprecating it in favor of akka.
evacchi··on Coroutines are now in Clang trunk, libc++
really premake syntax looks nice https://github.com/premake/premake-core/wiki/Your-First-Scri... and it actually uses a real programming language :-)
evacchi··on Is the C++ preprocessor still needed?
I don't think C++ will ever shrink as a language (i.e., drop features), but we can reduce the learning surface for newcomers by making it simpler, more consistent, and relegating C-isms under the "backwards compatibility"umbrella.
evacchi··on First introduction to LaTeX
I've played a bit with plain TeX last year[1] because I wanted to find an alternative to do PDF slides using a simple text-based formatting.

Deckset is cool but I can't customize much of the layout, and I don't love HTML-based solutions. I don't love Beamer either because you have to write a lot of ceremony for a single slide, and most styles feel very "old" (lots of side/top bars).

Here's an example of what you can do using the `lecturer` package:

https://twitter.com/evacchi/status/738018829905887232

the only problem with plain TeX is that there is no good listings package

[1] https://github.com/evacchi/lecturer-playground/

evacchi··on “A closure is a poor man’s object; an object is a poor man’s closure” (2003)
> I just end up using functions-where-the-struct-is-the-first-argument, C style.

I've been saying this for a while: of all C++/Java-style OOP we're mostly saving uniform function call syntax (cf. go, rust, nim, D and a bit C++17) !

evacchi··on Ada: a C Developer's Perspective
IMO, since the trend today seems to be building static binaries, I'd like to see an opinionated tool that made that use case stupid simple.
evacchi··on Ada: a C Developer's Perspective
Then I hope to see soon a non-trivial (setting up a few dependecies) "Getting Started" for the layman !
evacchi··on Ada: a C Developer's Perspective
I guess! (CMake is still horrible, but well...)
evacchi··on Ada: a C Developer's Perspective
I wish there were a simplified (as in automated) and "community-blessed" workflow at least for static binaries with source dependencies, like all the popular "modern" PLs are doing these days. I'm saying this as a newcomer (in C++ land) that finds the lack of this kind of tooling a bit intimidating.
evacchi··on Ada: a C Developer's Perspective
It's such a pity these days there is no modern tool chain/workflow for Ada (or C++ for that matter). I mean, a package manager, a build tool with integrated dependencies. As far as I know, there is very little open source software for Ada. It's a shame, because I feel like the language would become more mainstream, if only better tooling was easily available.
evacchi··on My Hackintosh Hardware Spec
to be fair, there is LinuxBrew[1]; also, apparently you can use nix to the same effect.

I do believe that Linux-based desktop OSs should separate base system from user software, kind of like *BSDs have been doing; actually, I'd really distros to embrace something like homebrew, where packages are installed per-user

[1] http://linuxbrew.sh/

evacchi··on Knowing where you are: custom array indices in Julia
Nim is very much Oberon inspired and supports this
evacchi··on Firefox 53: Quantum Compositor, Compact Themes, CSS Masks
You might want to take a look at the profilist extension
evacchi··on Build Your Own Text Editor
Thanks for the tips!
evacchi··on Build Your Own Text Editor
marginally relevant: I was looking for a terminal text editor for git commits and other similarly simple tasks: my only requirement is that I can save&leave with ^D. Any suggestions?
evacchi··on The JVM is not that heavy
Use `jps`
evacchi··on KeepassXC – A cross-platform community fork of KeepassX
MiniKeePass but I also like KeePass Touch: built-in Dropbox/cloud sync and fingerprint to unlock the db (payed app, free with a banner otherwise)
evacchi··on Dell XPS 13 Developer Edition (Linux) Review
I'll bite the bullet and be that guy. What about dual monitor support? What about suspend/resume? Do WiFi and Bluetooth work without issues?
evacchi··on Nim Programming Language v0.16.0 released
you can do both; you can opt-out of the type-safe mechanism and decide to just emit arbitrary code; it's a just one more tool in your belt
evacchi··on Nim Programming Language v0.16.0 released
> (although I'm confused by the "[T]").

the `*` marker means that the proc/template is "public" (not local to the module)

← PreviousPage 5 of 7Next →