HNHacker News
TopNewBestAskShowJobs

kaz-inc

29 karma · joined January 27, 2021

submissionscomments
kaz-inc··on Show HN: Ichinichi – One note per day, E2E encrypted, local-first
I really like the idea, and I've actually built something similar. Please format the writing in the post sound less gpt-esque; I believe in the tool you're making and I believe it will improve marketing to people that share my aversion to that writing style.
kaz-inc··on Ask HN: What skills do you want to develop or improve in 2026?
Learn more saxophone, learn more jazz piano. Get better at ear training.

Technically, apply myself more to projects at my job, learn how to fit in our flow better. I've been using AI to program some goofy projects, and I've found a good medium between vibe-coding and auto-complete, where I make it draw up a plan for every commit, and then I ask it to implement it, and if the generated code is wrong I undo the changes and revise the plan to be more precise. It's relatively easy to verify the plan, not as easy to verify the code, but it's still easy to debug the code and figure out what's wrong.

The burden shifts more to creating small modules with stable interfaces.

kaz-inc··on Hardening the C++ Standard Library at scale
There kind of is. There's __cplusplus, which I'll grant you is quite janky.

  #IF __cplusplus==202302L
kaz-inc··on TPUs vs. GPUs and why Google is positioned to win AI race in the long term
In my recollection, what killed g+ was forcing your YouTube account to become your g+ account, with your public name attached to the trashpit YouTube comments used to be. Everybody protested using g+, but the "Google account for everything" stuck around anyways.
kaz-inc··on Build a Compiler in Five Projects
I'll take the bait.

Do you distinguish between writing a compiler and writing an optimizing compiler, and if so, how is writing an optimizing compiler an extinct art?

Equality saturation, domination graphs, chordal register allocation, hardware-software codesign, etc there are many new avenues of research for compilers, and these are just the ones on the top of my head that are relevant to my work. Most optimization work is R&D and much of it is left unimplemented at scale, and things like the phase-ordering problem and IR validation are hard to do in practice, even given ample resources and time.

kaz-inc··on We Politely Insist: Your LLM Must Learn the Persian Art of Taarof
Persians might actually be a unique dual culture. Whereas others might guess or ask about things, Persians offer absolutely everything and the actual problem then shifts from "what can I ask for" vs "what should I refuse?".

An asker asks for things, absolutely everything, and the giver must choose what they can give.

A guesser must choose what they can ask for, and only ask when they're quite sure it can be given, so the giver has less responsibility for the transfer or service, and most asks can be assumed to be reasonable.

A Persian cannot ask for anything. They must wait for it to be offered, and even then, they must insist that they are quite alright, and that they would rather do without, and only through reciprocal insistence from the giver can they consider whether it would be rude to take them up on the offer.

Presumably, one can judge the giver's underlying intent by the quality of their reciprocal insistence (does it seem like they're just doing the bare minimum of insistence upon their offering, or do they truly wish for me to take them up on it?)

In the Taarof system, an offeree actually has more data, rather than a simpler Asker-scenarion "no", and even more data than the shared values in a Guesser household, this allows for a quick negotiation of values by the immediate and well-practiced cultural norms around the quality of insistence, even for people across different households.

kaz-inc··on Offline-First Landscape – 2025
I have a wrapper around IndexedDB I've been using since 2020ish for my offline-first texting based notes system called FileDB, which makes indexedDB look like a filesystem. https://github.com/kasrasadeghi/pipeline-js/blob/main/assets...

I wrap that in FlatDB, which is an opinionated flat cache for the files with metadata inline, used for very fast searches (searching 150k messages in less than 20ms on my 4 year old phone). This handles a lot of tricky cases, like accidental cache modification, and editing the database in different tabs.

There's even a sync algorithm that synchronizes notes across devices. https://github.com/kasrasadeghi/pipeline-js/blob/main/assets...

kaz-inc··on Personal Software Is Becoming a Trend
I've built a very similar contraption, but without any libraries because I got annoyed at having to relearn a new kind of React after react class components got out of fashion and people started using hooks. I built it out of raw JavaScript and a raw python socket server.

How do you manage sync? Mine is a WebApp so I use indexedDB, and that's nice so that it works on my computer browser, but I don't want multiple tab synchronization on my phone and it's tricky to handle. I've built something that works, but I'd love to explore other designs.

You said React Native, so there might be a regular app sort of data store to disk.

kaz-inc··on Ask HN: Programmers who aren't front/back end/web developers, what is your job?
Working on ML Compilers for different accelerators.
kaz-inc··on Ten Thousand Years
The sounds a bit like the book Sphere by Michael Crichton.
kaz-inc··on Move Fast and Abandon Things
This reminds me of something mixing the Age of War flash game (which had great music) and TeamFight Tactics (TFT). An RTS without some kind of unit control seems strange, but interesting as it is often the greatest barrier to accessing the game.
kaz-inc··on Documenting Dance: Keeping Score (2017)
Beautiful notation. I found the first especially interesting, with the spatial mapping recorded in a kind of "parametric-function on a 2d plane" view, like a camera on a slow exposure looking at the entire dance from bird's eye view.

The later ones are reasonable, as they map more closely to the music notation that has become standard, but for classical music of different cultures, notes don't often lie on a single place, but swing from one pitch to another, with blips and arcs in their paths from one place to another.

The staff-based notations lose the first-hand flow of the notation in space. I wonder what could be done with color.

kaz-inc··on A different kind of keyboard (2021)
I believe there is an accessibility setting for the visually impaired that puts a 4x2 grid of pressable squares on the phone screen, and users flip their phone and use it in portrait mode. This might be iPhone only? I remember in the video for this that iPhone accessibility was much better.
kaz-inc··on Imagining a personal data pipeline
I have a project I've built that's somewhat like this, ironically called Pipeline [0]. It's a manual entry timestamped note taking system, and the UI is like messaging yourself. I've set it up over a wireguard VPN server and it connects all of my devices, it works offline as a PWA, and I've tested it on chrome/Firefox/safari on iOS/Linus/android/macos/windows. It mostly works on all of those platforms and some of my friends/family use it to take notes for themselves.

The fundamental query I usually use is substring search. The only contents is text, because I believe in the primacy of plaintext. The notes for the last 4 years of my life takes up 60 megs, and it takes half a second on a 5 year old android phone to parse all of it, and less than 50ms to search through all of it, so I can do it on every keystroke/ incrementally.

[0] Pipeline Notes: https://github.com/kasrasadeghi/pipeline-js

I'm not a web developer by trade, so if anyone has any feedback on security/UI/service workers, please let me know!

kaz-inc··on Why is 'Left Stick to Sprint' so unpleasant in games?
The steam controller that the steam deck was based on can still be found. I bought a few of them when they had their final sale.
kaz-inc··on Show HN: Plain Vanilla – a tutorial website for vanilla web development
I've actually been struggling with a problem related to this. First time page loads if you have a 2000loc JavaScript file + index + css + favicon requests nothing but those 4 resources, which is very quick on a keep-alive http 1.1 server.

I've written all of that from scratch because I got tired of maintaining node.js

But when splitting up the js file into pieces and using es6 modules, say 12 different files, Chrome makes 8 TCP connections on 8 different sockets, and each connection has its own TCP handshake (and TLS handshake for https). How do you bundle things without using a build system or a bundler? Import maps help, and it's not difficult to simply hash the page and copy the asset to a "dist/" folder with the hash appended, but it's still slow on first page load.

I'm not a web developer professionally (or network engineer), so I'm learning about web networking myself for the first time. It might be helpful to add a section about "traffic shaping"? I've smacked together a service worker that does the work of caching well-enough for now, but I'm definitely doing something rather strange and reinventing something. My page loaded significantly faster when it was just 1 JS file, no caching needed.

kaz-inc··on The New Pornographers: It's a TikTok world, creative and sprawling and strange
great article, thanks for sharing.

I like the style, and although it's a bit more anxiety inducing than I would like to put into the world, it is very gripping. Perhaps being gripping, building suspense, is an alright form of anxiety. It certainly makes for compelling writing.

The subject matter feels well covered, but I am not a frequent TikTok user, only peering in the periphery of YouTube shorts when I allow my once-in-a-blue-moon dosage of hyper-modernity.

kaz-inc··on Implementing a Single-Threaded Blocking Bare Bones TCP/IP Server
https://github.com/kasrasadeghi/pipeline-js/blob/main/kazhtt...

I've implemented something similar for a pet project, trying to make a very concise http(s) server with raw python.

It works with bytes for speed and handles a lot of tricky edge cases I couldn't find in other implementations (like request paths that were over 16k bytes long) that I needed for my frontend. It has microsecond-level logging, a packet proxy, and a supervisor, all as separate binaries that interact.

kaz-inc··on Show HN: Eidos – Offline alternative to Notion
How do you deal with iOS deleting PWA data when unused? I'm building an app that relies on indexedDB, which afaik is the only persistent storage a PWA can access.
kaz-inc··on Understanding HTTP Server by Implementing in Python
Hey this is pretty similar to an http server I wrote just a bit ago for a project I'm working on.

server lib: https://github.com/kasrasadeghi/pipeline-js/blob/main/kazhtt...

Used here: https://github.com/kasrasadeghi/pipeline-js/blob/main/simple...

I seem to have some kind of issue with ssl_shutdown, I wrote a packet-level proxy in c++ but I still can't figure out the correct incantation to shutdown on both sides correctly. The Python SSL socket shutdown() function doesn't seem to return anything, so we can't tell if it's finished yet.

I wrote this as an alternative to socketserver.py from the standard library, as I didn't like all of the customization points and indirection.

Also one thing to note is that doing .recv(1024) makes it so that the first line of your http request must be less than 1024 bytes long, which (if you have a lot of query parameters, like I do on some requests) might require you to do some slightly stranger loop shenanigans like I do. It was tricky to figure out, and I don't think it's a completely generalizable solution, but I heavily recommend something like it for anyone dealing with the same problem.

kaz-inc··on Germany trials the four-day workweek: "Free time is invaluable"
There's a source somewhere for the greatest number of errors happening because of shift change, where e.g. a doctor's notes are incomplete and don't mark down a detail that later turned out to be important. The study found that much-longer-than-i-thought shifts were better than shorter ones, I believe e.g. 16 or even 24 hour shifts were safer than 8 hour shifts.
kaz-inc··on The hovercraft's time might have arrived
Reminds me of Red Alert 2's amphibious transport. The Kirov is also a zeppelin, huh. I have a new appreciation for the alternate history in RA2, of technology that was hyped but fizzled out. Tesla coils as well.
kaz-inc··on A theory that Mars lost its magnetic field and then its oceans (2022)
this[1] places them at 3k years old: https://en.m.wikipedia.org/wiki/Qanat
kaz-inc··on One game, by one man, on six platforms: The good, the bad and the ugly
I wonder the difference between SDL or other native app dev VS webview and html for accessibility.

I'd assume webview apps could be more accessible rather easily, and it would take care and attention to make a native wasm app accessible.

kaz-inc··on DOJ vs. Google evidence release that judge calls embarrassing exhibit [pdf]
you guys remember the archaic "which" article that was on hackernews a few days ago?

"DOJ vs Google evidence releases, which evidence judge calls embarrassing"

found it!: https://news.ycombinator.com/item?id=37629780

kaz-inc··on Aya: An open science project to build open multilingual models and datasets
Aya is also what you start yes-no questions with in Farsi. Cool to see something similar, like you're asking for evidence, "prove that you are going" means "are you going?".

It's fairly unused in spoken Farsi.

kaz-inc··on More than a third of US small businesses couldn’t pay all their rent in October
Oppression is not localized. A country or company that profits from plantations can reap the benefits from far away. As a simple example, think of sugar plantations in the Caribbean being exploited by men across the ocean.
kaz-inc··on Ask HN: What would be your “perfect” programming language?
APL, I guess?
kaz-inc··on Discussion: structured, leveled logging
I also didn't understand the need for a logging package for a while, but I think it makes sense for go because they're focusing on an audience that writes server applications.
kaz-inc··on Ask HN: Is it possible to get an 18-year-old to spend less time on the computer?
Get them into programming. I spent hours a day on the computer playing games when I was 18, then I got into programming. Making games is more fun than playing them, I only worry I forget what fun means to my audience.

Instead of criticizing what your kid is doing on the computer, spend time engaging with them and participate in their hobbies with them. At 18, the kid will leave the house soon, and if you have things to talk about/do together over the internet, you might have a better relationship with your child.

Page 1 of 2Next →