HNHacker News
TopNewBestAskShowJobs

lyxell

86 karma · joined July 9, 2021

Email: lyxell_hn@fastmail.com
submissionscomments
lyxell··on Show HN: Hop – JSX for Rust
The GitHub repo is at https://github.com/hoplang/hop

I published it today! :)

lyxell··on GPT-5
”I think GPT-5 is the closest to AGI we’ve ever been”

Sorry, but this sounds like overly sensational marketing speak and just leaves a bad taste in the mouth for me.

lyxell··on Writing your Clojure tests in EDN files
I like to use txtar files for snapshot testing. I let one of the file fields contain the expected output and one or more contain the input(s). Most mainstream languages already have txtar parsers so this approach makes it trivial to port an entire test suite across languages.

See https://docs.rs/txtar/latest/txtar/ for an example

lyxell··on Show HN: I wrote a Java decompiler in pure C language
To some people the process leading to a finished project is the most interesting thing about posts like these.
lyxell··on "Rules" that terminal programs follow
I’d like to add: Programs should not add files to your home directory and should respect XDG_CONFIG_HOME and friends.
lyxell··on Advent of Code 2024
Awesome! Thanks for sharing. It feels good to have some company in this, I will follow your progress!

I created a repo for my solutions here: https://github.com/lyxell/aoc2024-sqlite

Update: Wow. Reading your solutions was a real eye-opener for me. It never struck me that one can exploit the fact that unmaterialized CTE's will not be evaluated for rows that is not needed by another SELECT and one can use this the same way one uses laziness in Haskell. This is great stuff, thanks again for sharing!

lyxell··on Advent of Code 2024
I’m allowing myself to convert the data to a csv and read it using ’.mode csv’.

I realized when solving todays problem that SQLite’s

  json_each("[" || T.c1 || "]")
Is useful for parsing comma separated rows into (row, col)-pairs as well.
lyxell··on Advent of Code 2024
I’m using sqlite this year. Hoping that there won’t be any computational geometry or trie problems. Kind of hoping for a graph problem solvable with recursive CTEs, that would be cool.
lyxell··on Show HN: Rill – Composable concurrency toolkit for Go
The API looks really nice and intuitive! What motivated you to build this?
lyxell··on SQLite Index Visualization
> It actually uses rowid even if you have a primary key.

This is true with one exception, if you create an INTEGER PRIMARY KEY, SQLite will use this instead [1].

[1]: https://sqlite.org/rowidtable.html

lyxell··on Migrating from Create React App to Vite
I’ve used both standalone esbuild as well as Vite for hundreds of hours and HMR works flawlessly in React using Vite, it’s the only reason I use Vite instead of just using esbuild directly. I suggest you to try it out.
lyxell··on Migrating from Create React App to Vite
I can’t speak for how it works in other frameworks but HMR for React works flawlessly in Vite.
lyxell··on Migrating from Create React App to Vite
With Vite you do not have to hack together Hot Module Reloading yourself.
lyxell··on Going Buildless
I guess you mean relying only on type inference? That will only get you so far. E.g. function parameters for freestanding functions would still be untyped. For those to be typed you need TypeScript or JSDoc annotations as OP noted.
lyxell··on My deployment platform is a shell script
Related: https://github.com/containrrr/watchtower

Polls a docker registry and automatically restarts the container with the same flags that it was started with using the latest image.

lyxell··on Ask HN: What non-AI products are you working on?
Custom forms with support for triggering actions is definitely on the roadmap. I'm not sure where I stand on the possibility to add a fully fledged plugin system. I've been looking at the possible scripting environments that are easy to integrate/execute in Go, there's a few JS-interpreters for example. But it would be quite a task to make the UX good in the case of runtime errors etc.

It was a while since I had a look on how the plugin system works in Wordpress. I should read up on that. Thanks for the feedback!

lyxell··on Ask HN: What non-AI products are you working on?
What plugins would you want? My hope is to support most use cases for WP-plugins with built-in functionality.
lyxell··on Ask HN: What non-AI products are you working on?
I'm working on a Wordpress-replacement written in Go, distributed as a single static binary with SQLite/Postgres for db and Disk/S3/GCS for storage.
lyxell··on Sourcehut and Codeberg are both currently experiencing a DDoS attack
Isn't it a bit more complicated than that if you, like Sourceforge, also host Git repos over SSH?
lyxell··on Dive: A tool for exploring a Docker image, layer contents and more
This is a great recommendation. It is worth noting that unlike Docker, crane is root- and daemonless which makes it work great in Nix (it's called 'crane' in the Nix repository). This allows for Nix to be used to manage dependencies for both building (e.g. Go) as well as packaging and deploying (e.g. gnu tar, crane).
lyxell··on The best way to get unstuck
I immediately thought of this book too. For the comment section readers: The War of Art is a book about Pressfields idea of 'resistance', a force the artist/maker must overcome in just about any important (to them) creative endeavour.
lyxell··on Gokrazy – Go Appliances
The showcase of projects is (a bit unintuitively) listed under Available packages and is helpful if you want to get a picture of what you can build on top of gokrazy: https://gokrazy.org/packages/showcase/
lyxell··on Counterfactuals are not causality
I think it is hard to answer this without reducing the real world into something it may not be. What constitutes an event in the real world? Is the universe discrete or continuous? Do we really use mathematics to describe nature, or do we use it to model and approximate some properties of it?
lyxell··on Thriving in a Crowded and Changing World: C++ 2006–2020 [pdf]
C++23 is the current most likely long-term replacement for C++.
lyxell··on Bret Victor: Learnable Programming (2012)
I looked it up. The main reason that I'm excluded from the audience is not due to Borland but rather that I don't have Microsoft Windows as my operating system.
lyxell··on Warp: Fast, Rust-based terminal (waiting list)
What about the UI framework druid? It has 3.9k stars on Github and is under active development.

https://github.com/linebender/druid

lyxell··on Beating TimSort at Merging
Interesting read. This post seems to be written by Adam Gordon Bell who is also the host of the excellect CoRecursive podcast. Recently featured at HN in The Untold Story of SQLite [0].

[0]: https://news.ycombinator.com/item?id=27718701

lyxell··on Bret Victor: Learnable Programming (2012)
> I think what it disregards is the amount of effort that it takes to get to a situation where you have an interactive real-time IDE for the purposes of drawing a tree.

I agree with your view, but one of the reasons for this is that there is still a lot to ask from the GUI frameworks in most languages (especially languages like C++ and Rust). However, I still believe that this can change.

Raph Levien is driving some pretty targeted work on pushing the state of GUI frameworks for Rust [0].

In C++ Dear ImGui is heavily used by the game development community [1]. My experience is that it is really fast to get a visualization for most projects going in very little time using this framework. See the gallery threads [2] for examples. This project also gets better every month.

[0]: https://raphlinus.github.io/rust/druid/2020/09/28/rust-2021....

[1]: https://github.com/ocornut/imgui

[2]: https://github.com/ocornut/imgui/issues/3793

lyxell··on Tool to convert copyrighted music into fair use
This was supposed to be according to Swedish copyright law but you may very well be right.
lyxell··on Tool to convert copyrighted music into fair use
I remember that the guys behind The Pirate Bay actually made a service like this back in the days. You would submit a song and get a mashup back of cuts from other songs where each cut would be short enough to fall under fair use. I can't find any references to it online anymore though. Maybe someone else remembers what the service was called.