HNHacker News
TopNewBestAskShowJobs

Jhsto

2,841 karma · joined November 20, 2012

For NixOS stuff reach me at juuso@ponkila.com For research, GPGPU, and APL stuff juuso.haavisto@cs.ox.ac.uk is more appropriate

juuso.dev

submissionscomments
Jhsto··on People hooked on vapes try a new way to quit: cigarettes
Anecdotally, this does work -- whenever I have had a break from nicotine pouches, I have done with cigarettes. The big difference is that with cigarettes you have to excuse yourself to go outside. It's much easier to break the habit this way. Though that might be in part how with nicotine pouches the act is different as well. Note that the nicotine content does go down this way -- I would say that the specific brand of cigarettes I roll are around 8mg in "Zyn" equivalent, which are usually sold in varying strengths from 3 to 12mg. Snus is a similar product sold usually at 8 to 24mg, though specific brands at 48mg exist.

The real challenge is that the difference between one cigarette a day and zero is huge, at least for me. Once you are at one cigarette a day, and e.g. commit to it being after a workday, you start waiting for the end of workday. It's easy to start feeling that the day does not begin until that moment. Real withdrawal starts at around day 3 and takes roughly 21 days for me.

I think smoking cessation products like patches and gum is not really helping either. It's still nicotine. I have wanted to try Varenicline, but it requires a doctor's prescription and (seemingly) "strong enough" dependence. I have hated the idea of paying 100 euros for a doctor's appointment to maybe get a prescription that costs me another 100 euros.

I plan to quit nicotine for good next month, when I submit a dissertation. After roughly 7 years of using snus and nicotine pouches, I have noticed that my gums are retracting, and when I eat food, a lot of it gets stuck at my lower teeth, and there are gaps between my teeth. I would not be surprised if I need braces, and in part wish that would solve the problem -- the gum retraction itself is irrecoverable. I have been waiting for a doctor's appointment to have my teeth checked out for about 6 months now. I can't help but think that in the process of doing my dissertation, I have trashed my health, at least to an extent, and now I'm just waiting to get an assessment how badly. Moving on, I think that whatever I'm about to do next, it should be something that I feel like needs no nicotine for motivation.

Jhsto··on ReBarUEFI: Resizable BAR for almost any UEFI system
You most likely have this enabled and unless you run some ancient board. This UEFI mod is for motherboards from circa 2018. For workstation machines that would be 1st and 2nd generation Threadripper. So, if your CPU's model name starts with 3 or higher (and you have an AMD workstation), you likely have this already enabled by default.
Jhsto··on Copying login keychains between Macs fails on Secure Enclave Macs with Tahoe
Switching from macOS to Linux was quite painful because the security was so seamless on Mac. But I also realized I had no idea how my passwords are stored and under what guarantees. Learning and getting the hardware tokens to do it properly on Linux was a PITA. But reading this post made me feel a pinch better.
Jhsto··on Fermat's Last Theorem in Lean 4
It indeed does, this is a very good point I haven't thought about in the reverse direction.
Jhsto··on Fermat's Last Theorem in Lean 4
My anecdotal experience is that while LLMs are quite good at closing theorems given an LSP to inspect the proof-tree, they suffer from similar kind of problems with proofs as they do with bigger codebases in any language -- finding reusable parts that can be built into libraries (that's lemmas in Lean 4 sense). However, Buzzard has many times said that he wouldn't care how big the proof is and how ugly it would be, as long as there would be a proof.
Jhsto··on Rust SIMD on the GPU
SPIR-V states its an int, float, vector n (where n <= 4) or a matrix (2..4 cols of vector n).

It does not necessarily mean the hardware can do 4x4x64 floating point operations in a single subgroup operation, but at least the programming model supports framing it that way.

Jhsto··on Recursion is lying to you
I've been writing a language around recursion schemes! Insofar it's just a library for Lean, but I wish to one day release it as an array programming language. I'm submitting a thesis in ~3 months, after which I'll be open-sourcing it.
Jhsto··on We have proof automation now
As a meta-comment on the topic, something I have noticed is that there still exists confusion what it means to use theorem provers for projects -- the other day I read a tweet from Paradigm, a crypto-VC now seemingly AI-pilled. Some LP of theirs had made a Lean 4 formalization of the Ethereum's virtual machine. The tweet said this would have cost like $150k in API tokens ("would have", as in, I guess they get theirs for free), and took a week of inference time for an LLM to produce. I somehow got distracted to actually take a look at the code, which I found rather light on theorems. Nor did the project make use of Batteries or Mathlib which are arguably the one of the strongest motivation for me personally to use Lean4. That is, I generally rather rely on someone else getting the category theory and algebraic structures right, which then leaves me the proof obligation to show the correspondence with whatever toy I'm working on. Here I'm fine to use LLMs for proof search, very similar to how would I use a SMT solver. But what I have found is that the language models have to be really coerced into using these libraries, because otherwise the models much rather overfit and overclaim a solution with a 3 minute inference task rather than attempt to fulfill the proof obligations over 3 hours. And I feel nauseated when I need to convince the LLM (I use Claude) that filling the proof obligation is for "academic exercise" or because I'm coerced into doing so, because otherwise it will come up with reasons of its own why it does not want to do it. Now, this happens under the mental model in which I'm interested in finding equivalences with prior work. Many LLM generated Lean code reads more as if someone was interested whether X can be turned into a Lean 4 program, which is mostly yes, and that in general is a positive thing. But, if you are not interested in refinement types and theorems, why not just choose Haskell? The point is, I strongly sense that unless you have good questions to ask, then that's very evident in these languages. And, this is something the LLM won't help you -- if you don't impose a proof obligation for it, it certainly will not try to go the extra mile to conjure one for you.
Jhsto··on Vulkan Tutorial
Another good tutorial: https://hoj-senna.github.io/ashen-aetna/

I used that to create my own Vulkan compute loader https://github.com/rivi-lang/rivi-loader

Jhsto··on Train sim created by just one person is being called the best ever made
Anecdote, but I recall my friend saying he worked on freelancing assets to some train game and showed me some pictures of the said game. Unless there are more of these in existence, I think it was this.
Jhsto··on I Changed My Name
I have this weird thing about a birthday -- for some reason, I was assigned a different birth date in NHS records in the UK compared to the one I have in my native Finland. I want to believe it has something to do with electronic systems transacting with different countries' systems (I noticed this difference soon after I exchanged my driver license) -- and I would have indeed born on a different day if it'd been the UK. But, I would assume this to be such a well-known issue with people who migrate, that it must just been just a typo. Doesn't stop me from believing though.
Jhsto··on Applied Category Theory Course (2018)
Kiitos! My level is graduate, but part of the challenge with category theory is that some of the terms are quite unsuggestive. I feel that after seeing enough examples, I can start making more sense what some concept would be in Finnish, which helps me remember what was what and what it might relate to.

Edit: Also realized you're in Oulu, feel free to email me if you'd be up to meeting in-person to discuss these further!

Jhsto··on Applied Category Theory Course (2018)
Thanks for the links! The first book seems very good (I already own the latter).
Jhsto··on Immich 3.0
I think I dug my own grave by not being explicit that I thought S3 as a protocol and not the AWS product. :)

To elaborate a bit further, the S3 layer makes sense once you self-host S3 yourself. This allows clusterization of multiple hosts to offer redundancy in self-hosted setting -- for example, a friend of mine and I run S3 instances and "seed" each others' buckets for photo storage, but also for package manager (Nix). Having this kind of sane object storage just expands in use-cases, like with Matrix, etc., which all then inherit the clusterization hence redundancy for free.

The E2E encryption is also very useful when you are backing up or hosting photo galleries for friends and family -- because you cannot do metadata analysis on encrypted files, they have to do that on their own devices. This makes self-hosting much more "fearless" because I do not have to account for the fact that when/if my nodes are becoming a sauna-stoves for doing inference when someone dumps an album in.

The datasets that I have are terabytes. At some point it's just cheaper (accounting your time as free) to buy a 20tb drives and get yourself a runway for 5 years or more + space to do other stuff.

Jhsto··on Applied Category Theory Course (2018)
As a programmer interested in category theory, I found this book a rather good balance between the abstract non-sense of CT and what I might actually use in programming. I wonder if anyone else has good books to recommend? I feel that the contents of the book remains a bit hard to appreciate in full unless you have ran into these concepts previously.
Jhsto··on Immich 3.0
You can use https://ente.com/ (it's open-source). It also makes the seemingly much better decision of storing photos in S3.
Jhsto··on Bashblog – a single bash script to create blogs
I'd presume it's quite common with NixOS. At least I don't have python linked to my environment. It might be different would I use the REPL, but I do not, so for me python is a program (or script) dependency, not something I need to carry around. It's actually quite common for many setup scripts to fail when python is not installed, but not all of them list python as a dependency either.
Jhsto··on AutoKernel: Autoresearch for GPU Kernels
If I'd like to benchmark a new language / compile backend for LLM inference, what would be some good projects to try? If I'd start from tinygpt, what would make sense as the next step?
Jhsto··on Jolla phone – a full-stack European alternative
Seems that Jolla C2 can run "close-to" mainline kernel: https://forum.sailfishos.org/t/mainline-linux-kernel-for-the...
Jhsto··on Xbox UI Portfolio Site
I was able pull together a Halo 3 LAN party last year, although the "consoles" were Linux PCs and the game was the MCC edition (60fps instead 30). Split-screen was resurrected via mods. I bought some Microsoft gamepad receiver to bring Xbox 360 original controllers under Linux. Some people insisted they get to play on the original gamepad (otherwise it was a mixed bag of PlayStation and newer Xbox/PC controllers). I also realized that Halo 3 itself would have been old enough to drink with us!
Jhsto··on Mathematics for Computer Science (2018) [pdf]
I got no particular book recommendation, but this book seems more about the numbers than relations -- maybe my PDF search is broken, but both 'type theory' and 'category theory' return 0 results. I would recommend to also look into those if you are interested in mathematics of computer science.
Jhsto··on Going immutable on macOS, using Nix-Darwin
>I think where Nix shines isn’t “one laptop every 6 years” but when your environment needs to be shared or recreated: multiple machines, a team, or a project with nasty native deps.

I'd like to add the third thing, which is just iteration. It's very tricky to maintain advanced workflows even locally. I'd guess many won't even try to compose things that could work in combination (often self-hosted services), when they know they can't reliably maintain those environments.

Jhsto··on Going immutable on macOS, using Nix-Darwin
Speaking from the viewpoint of a whole operating system images, the main challenge is that while Nix allows you to create ephemeral environments, many people (myself included) have various hard-coded paths for mounting hard drives. If you want something to be shareable, you have to create a workflow in which the user environment is activated interactively after a tty session is acquired. Same goes for any system services that need persistence -- these have to be configured to be activated at runtime. It's a lot of work for a party-trick. It's probably possible to configure the system such that the log-in needs a FIDO2 key which is also used for LUKS drives, which would be similar to how macOS handles log-ins. But abstracting this such the login works on every machine possible suddenly requires filesystems to be networked, and so on.

That being said, we used NixOS images to boot several Windows PCs of my friends into RAM to play Halo 3 multiplayer split-screen. Most of my friends were mainly confused why they could play with any gamepad they had in their shelf. They also left the event with no permanent changes to their PCs.

Jhsto··on Danish postal service to stop delivering letters
Counterpoint: because most Finns think about Russian interference, the likelihood there's a tentative plan is high. Or you know, they call you. And in a country of 5m people, you can probably ask someone, who knows someone else, who knows whoever has that information in the government.
Jhsto··on Danish postal service to stop delivering letters
It's not a monopoly. While FedEx, UPS, DHL, and the likes are not obliged by law to deliver mail, they will certainly do it if the price is good. Even Uber does it.
Jhsto··on VRChat: “There are more Japanese creators than all other countries combined”
On a related note, does anyone have references which would explain VRChat (and the culture around it)? I'm not quite certain if the models are primarily used for comedic effect, role-play, or more of as a 'Ready Player One'-esque alternative identity. I think I know cases for the latter, but I feel like as someone who has never understood VR as a form of self-expression or played VRChat, I feel like I can't have the conversation with them.
Jhsto··on Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton
Cheats aside, are there any competitive games that include Uber-like rating system? Meaning that you'd need to provide feedback whether you'd play with your opponents/teammates again after a game.
Jhsto··on Discovering that my smartphone had infiltrated my life
Another anecdote: some gyms nowadays require an app to check-in and to get the door open. For me, gym is for relaxing, which also means no phone. The one I joined sounded slightly apologetic for charging me 10€ for a physical keycard.
Jhsto··on A desktop app for isolated, parallel agentic development
What about using CoW file system snapshots and then mounting it on overlayfs as the lowerdir while having the agent's working directory be the upper directory? I wonder how the agent reacts to finding some files being immutable.
Jhsto··on Linux gamers on Steam cross over the 3% mark
You want your minimum FPS to be your refresh rate. You won't notice when you're over it, but you likely will if you go below it.

In Counter-Strike, smoke grenades used to (and still do, to an extent) dip your FPS into a slideshow. You want to ensure your opponent can't exploit these things.

Page 1 of 16Next →