HNHacker News
TopNewBestAskShowJobs

xlii

3,506 karma · joined August 23, 2017

https://xlii.space

e-mail me: alexander (at) kaminski.se

submissionscomments
xlii··on GLM 5.2 Is Out
Just checked it out (hat off to my friend who gifted me almost unlimited access to Z.ai) and it's quite darn good.

I'm running different projects in ChatGPT 5.5, Claude (Opus 4.7/4.7) and GLM 5.2 is nice - worth evaluating yourself :)

xlii··on Show HN: Lightweight Task queue on Erlang/OTP, SQLite-backed, no overengineering
I would argue that Oban isn't overengineered.

If so should we also consider PostgreSQL overengineered?

It's a shame OP decided to use Elixir as base, many ecosystems don't have mature task queues (e.g. for Rust I had to roll my own: simple_queue) so the space IMO would be more welcoming.

On OTP doubt anything can even make a dent in Oban user base.

xlii··on Statement on US government directive to suspend access to Fable 5 and Mythos 5
Champagne bottles are popping at Google and OpenAI today.
xlii··on Ear Training Practice
Yes I can.

That's also the reason why I can compose at all. The analogy would be like: I don't know how pink color is named, but I can say it's pretty.

And on the output: I don't know what colors I used, but the image is pretty.

Only my music teacher tried to play and I knew it didn't work well. It's a peculiar thing.

xlii··on Ear Training Practice
Tip: you don't have to recognize sounds in order to compose music.

I have aphantasia and can't memorize sounds or recall them. For decades I thought I'm deaf (Ockham say hi). But I picked up piano, play for 3 years, can't discern C from G if my life depended on it but my friends tell me I'm pretty decent composer.

Writing this so people don't get disappointed about themselves just because they can't pick ear skills.

xlii··on Poland to jail online streamers of violent crimes and cruelty for up to 5 years
This is aimed at so called pato-streamers (from pathological).

Till now nothing could be done about them as they claimed it was dramatizing only. No law prevented streaming fake-rape (and streamers were smart and implied the act while being off camera, so anti-pornography laws didn't apply)

Such streamers were wildly popular with youth, so crackdown happened. There's now law to back state versus that, but rest assured no one will try to pick people off the street. Polish law is riddled with laws allowing easy punishment but there's no will to exercise it.

xlii··on Speed Is a Signal: When Faster Replies Increase Hiring Likelihood
I'm associated with big contractor-providing company and it's clearly communicated that response should be given within 4 hours of receiving.

It never got to the paper but they have way more people to connect than the sample.

xlii··on Apple decided not to roll out Siri in EU after denied request for exemption
There's SIP. Claude can't install kernel extension and you can. (... and it just hit me why Apple requires specific reboot procedure to disable it)
xlii··on Ask HN: What are tools you have made for yourself since the advent of AI?
Thank you. If you encounter any bugs don't hesitate to fill in a bug report. Love getting feedback from the actual (i.e. non-myself) users :)
xlii··on Siri AI
> We’re deeply disappointed that our EU users won’t have Siri AI on iPhone or iPad when we share our new software releases later this year

I really enjoy this lag. Apple with the whole DMA made iPhone completely dull to my eyes. Previously? Updated yearly. Now? 3+ years without replacement and probably will stick to it for next 2-3 years.

Sure maybe in US Apple is fun. But in EU it's.. boring (and not like a Golang boring, just boring)

xlii··on Ask HN: What are tools you have made for yourself since the advent of AI?
Many, really, but there are few I'm especially proud of:

- https://github.com/exlee/pikchr_pl - DiagramIDE (diagram amiga-style workbench where you can script Pikchr diagrams using TCL, Prolog, Pikchr or - recently mruby). Note: you need to navigate to actual crate for description. There are binaries built in case someone wants to try it.

- https://svg.axk.sh - semi manual SVG fitter so that I can easier vectorize AI-generated pseudovector images (who doesn't like 30kb SVG versus 1.8mb PNG?!)

- https://github.com/exlee/rik - this one makes me laugh every time I use it - it's an AI harness with text editor as an UI (i.e. it reacts to comment strings) - I gave it personality so it makes wacky comments but other than that it's very constrained agent (limited edition ;))

These are not vibe coded but AI made it much easier to slide through major friction points (e.g. for SVG fitter I really didn't want to reinvent fitting algorithms)

xlii··on Ian's Secure Shoelace Knot
It's like world smallest (and funniest) superpower. While people are still tying their shoes I'm ready to go. It feels a bit like magic when you touch the laces and they're just made.
xlii··on Elixir v1.20: Now a gradually typed language
I've made one for Phoenix (as per - it creates a cycle), though unstable compilation is a wider issue.

https://github.com/phoenixframework/phoenix/issues/6697

In case you want to see files affected I made extended writeup on my blog - for reference. https://xlii.space/eng/elixir-cycles/

xlii··on Elixir v1.20: Now a gradually typed language
There's dialyxir which is wrapper to Dialyzer and I found it work fine on pure (non Phoenix) code.

As for how the problem manifests: even obvious contract violations stops being shown (making it feel like "Dialyzer is useless") but the second tell is very long check times (tens of seconds up to minutes).

xlii··on Elixir v1.20: Now a gradually typed language
No I'm not. This is often brought up.

I spent 3 months analyzing failures caused by - what looked like - dirty builds but was caused by unstable compilation order. Which is quite obvious.

The solution is dynamic dependency resolution but this causes problem with macros.

The problem is easy to validate. Compile application multiple time and compare hashes. I'm not sure if it's sufficiently visible in bootstrapped Phoenix but I saw it in as small as <1000 LoC toy apps.

xlii··on Elixir v1.20: Now a gradually typed language
Example:

https://xlii.space/eng/from-rust-to-ruby/

The thesis that you're making is biased. Huge tech corps can move away from Rails, but it's similar to argument of "why the most successful people in the world don't drive Toyotas". Which is true, but it doesn't mean people should stop using Toyotas and buy Koenigsegg instead.

Typed languages have consequences. Some designs are either non-ergonomic or impossible. Rust: if you want to have a swappable adapter you're in Box<dyn> world. Many apps don't have to live in Box<dyn> at all but they need to test which is the sole reason to change architecture and wrap in boilerplate.

None of these reasons matter if you're multimillion tech corporation with unlimited resources.

But these are very important reasons to consider when you have small-medium sized team and cannot afford to fight language.

xlii··on Elixir v1.20: Now a gradually typed language
Dialyzer fails to successfully report errors when there are circular dependencies. Circular dependencies are nigh unavoidable in Elixir (IIRC bootstrapped Phoenix has 3 or 4) and outside of interfering with Dialyzer it impacts on compilation performance and stability (compilation races causing non deterministic compilation)
xlii··on Backpressure is all you need
If that's third then I have fourth. Self plug obviously, but figured that I'd like something between smart autocomplete and an agent - an autocomplete that has wider context.

Called it rik, and it's on GitHub if anyone's interested checking it.

https://github.com/exlee/rik

xlii··on Domain expertise has always been the real moat
I disagree.

Having worked across many disjunctive domains the value of "expert in domain" is greatly exaggerated. It's not like search engine doesn't exist nor that it cannot be easily absorbed. Quite often becoming expert is as simple as careful reading API documentation for existing, same domain system.

The piece is heavily one sided and don't recognize the problem of low reliability software: e.g. imagine a software designed in a way that it keeps critical piece of data as a global static variable. This will always work for a single user but will leak with two. Make it semi-critical and e.g. a part of profile loading.

Just as non-expert cannot verify if result is correct from a domain perspective, expert in domain cannot verify the output based on the basic principles (data security, safety, isolation, persistence, etc.) or even know that monetary values shouldn't be kept in floats.

Nothing like article claim had changed outside of a false promise of being productive.

Software engineers without domain expertise can fake it with unreliable results and experts without swe skills can fake it with unreliable results.

xlii··on MCP is dead?
Is Betteridge's law of headlines irrelevant today?

https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines

xlii··on Investigating how prompt politeness affects LLM accuracy (2025)
Not surprised at all.

Imagine Internet forum/StackOverflow etc. and a objectively bad description or attempt to a solved problem.

Pleasantry and back pats won't encourage the change while harsh words will either make poster go silent or push forward and improve.

AIs aren't people. They are statistical training sets which have majority of their sets consisting in human-like communication which gives them high probability of human-like speech. But it's not kindness or rudeness in the end. It's how good the pattern can scoop data out of training set.

xlii··on From Rust to Ruby
facepalms

Weird that searching for it didn't yield any results, though I stand corrected. However it seems that select is the actual "root" of documentation. Filter sends to find_all, find_all sends to filter or select.

xlii··on Cate v1.0 is out: The Infinite canvas workspace for developers
I'll piggyback on something someone else here on HN commented (can't cite, sorry!): I can immediately recognize vibe coded projects by their visual design.

It's a weird skill but after seeing website, screenshot etc. I need only couple of seconds to make an opinion. I then look into history of project etc., though it rarely contradicts first impression.

I think I do this because I don't trust thus I don't want to use such projects. Not because vibe coded/vibe-code driven projects are inherently bad (they aren't). Because I think low self-investment translates to low ongoing self-interest.

Since all software is buggy to some degree, I'm certain I'll find a dealbreaker that will never be addressed, and risk is rarely worth it.

xlii··on From Rust to Ruby
Thats a great summary of the piece and a reason why I decided to share.
xlii··on From Rust to Ruby
I won't be as harsh because I have years of experience in Rails and didn't develop harsh feelings against it but moving from Rust/Go/Zig/TypeScript (which I used lately) to Ruby ain't smooth ride.

Discoverability is much worse, LSPs aren't super helpful. Using Dash (documentation app) helps a ton. Still some names are confusing after switch (took a minute to recall that 'filter' is actually 'select' in Ruby).

I won't say that dev experience is bad but it's definitely different.

xlii··on From Rust to Ruby
Post ain't about project written in LLM (and Rust one have 6 months in good ol' craft code) but about contrast between two variants.

While personally I'm skeptical about LLM usage (and vibe coding in general) I'm not going to pretend it doesn't exist just on principle. I wouldn't risk rewrite 6 months worth of code to Rails but it's a perfectly good case for LLM conversion.

xlii··on From Rust to Ruby
The point isn't about writing it but seeing difference and making probably suboptimal choice.

I mentioned in other comment that I reviewed it extensively. It's not a big project so outside of a few spicy bits it's mostly a web app.

I'd say that saying "not putting thought into it" is unfair. I didn't push the button and YOLO.

I did research about the tradeoffs and consequences. Snippets of Rust code vs Rails are the real thing and testability of Rust app is something I spent 2 months on.

As LLM enthusiast would say: context matters ;)

xlii··on From Rust to Ruby
I assure you Sir/Madam no LLMs were harmed in this post. Grammar would've been much better :)
xlii··on From Rust to Ruby
I did however review it over 5 hours. So ¯\_(ツ)_/¯
xlii··on DeepSeek reasonix, DeepSeek native coding agent with high caching and low cost
It can be written in Golang but interaction libraries are very limited and with sharp edges.

There's Google's genkit, charmbracelet's fantasy and LangChainGo. Each has ugly hacks and omissions. Then handling slice streaming of data into Elm architecture (bubbletea) is also complex.

So in theory nothing stand against but in practice one has to get quite low to the ground to get anything done.

Also: Golang agent exist! It's called crush and is developed by charmbracelet people. It's so-so though I prefer Pi myself.

← PreviousPage 4 of 22Next →