HNHacker News
TopNewBestAskShowJobs

k_bx

1,318 karma · joined June 22, 2011

submissionscomments
k_bx··on Ideas on modernizing the open-source desktop
I love the future shaped by two things: Omarchy and Pop!_OS. Both give two different worlds, one serves classic Win/MacOS style users while another is new-age AI-native system.
k_bx··on Codex in ChatGPT desktop app for Linux is now in preview
For me the main one is in-app browser with feedback you can do that's native to its elements lika a network inspector. All "real" browsers felt too broken when I tried them.

The bad part of the setup is: you still have to tell it to ssh into your dev container and make changes there (since that's where the linux running dev server is). Most work still via cli, which is faster and much more lightweight in token usage.

k_bx··on Making Postgres 300x faster for analytics: batching, operator fusion, and SIMD
We went this path: pg -> peerdb -> clickhouse replica, then pg -> another pg with pg_clickhouse extension -> clickhouse

This way we keep querying without changing the query language (use same postgres syntax), but switch connection port for analytics query. Experience so far: made 3 PRs to pg_clickhouse (1 merged), otherwise works pretty well.

If something like pgrust would work even better/easier – would definitely check it out instead.

k_bx··on The startup's Postgres survival guide
It's great, but it's not incremental like git, e.g. you do need to make a full backup periodically, unfortunately.

I didn't understand that, and after 5 months of usage caught my backblaze to be using 40TB, and nightly restores taking forever for other reasons. So: not ideal, and be careful to check!

k_bx··on Road to Elm 1.0
We're now migrating to React, but have some very large Elm projects still in prod.

The biggest thing for me from practical perspective was to "freeze" some pieces of DOM to be guaranteed to not change/re-created, so that it plays well with some external JS libraries expecting some nodes to not change and stay vanilla.

Another is ability to extend Elm's debugger to filter out big noisy data to keep it usable for our project.

Third is when your data is too big -- it just sometimes fails with "recursion limit" that's hard to debug due to the nature of the langauge.

Otherwise – it's a very beautiful little language that still feels quite modern and easy to work with IMO.

k_bx··on Ten years of ClickHouse in open source
I was using TimescaleDB some very long time ago, things have changed quite a lot since (it's now even named differently).

In my current setup I was thinking on doing both: upgrading postgresql to timescaledb (to archive old data etc.), and to deploy ClickHouse in parallel. I'm still considering whether to go big on PeerDB to get ClickHouse mirror or just deploy it separately without additional fragility layer.

Would you not recommend using timescaledb at all? I definitely want to avoid alpha-quality software pain, since PostgreSQL is one of the most rock-solid parts of the stack at the moment.

k_bx··on Lore – Open source version control system designed for scalability
Pure by default, type classes (traits), no inheritance, type level lifetime computation. It's not only more functional it's much more type-safe and closer to Haskell in spirit
k_bx··on macOS Container Machines
Most of my team's development happens on beefy desktop machine in incus containers per dev+project (so you run yourname-projname-dev). It has its own tailscale inside so you can open it like regular https website or give to another dev to check out – no need to deploy your branch somewhere, just run it. New dev onboard takes 10 minutes from zero to dev env with VSCode remote development.

I would really love if apple could give inexpensive way to run amd64 containers for situations when dev wants to use their own hardware. We've used LIMA for now, was too much of a hussle. But if there's a more native experience – would give it another try.

k_bx··on Google Chrome silently installs a 4 GB AI model on your device without consent
That's exactly what I do with Chrome, use it for Google Meet and some websites that work best in Chrome (heavy apps like Figma or whatever). 99% it's Firefox.
k_bx··on Google Chrome silently installs a 4 GB AI model on your device without consent
I use Chrome because at Google Meet it renders a nice separate window with mute/unmute controls as you switch to another tab and screen share.

Curious if Google plans to allow other browsers doing that too.

k_bx··on A couple million lines of Haskell: Production engineering at Mercury
I've spent long time writing Haskell and now write Rust professionally, so let me tell you something. The stuff where you really want to "program in types" lives beyond Haskell, in languages like Agda, Idris, some HoTT stuff etc. anyways.

In principle the more developed the type system is – the closer it to not distinct between types and values. Caviat is that its "type inference" gets worse.

So, in those more developed languages, you could have type-level proofs (guarantees) that your calculator produces correct results, as a proof, as theorems. That 2+3 will be 5, not as runtime test assertion, but as a theorem, that no other result is possible no matter what happens. Or that your parser will never fail on valid JSON etc. but nobody guarantees it's going to be a pleasant thing to write, maintain, and debug. And compile times will probably be terrible.

k_bx··on A couple million lines of Haskell: Production engineering at Mercury
> runST :: (forall s. ST s a) -> a

> The rank-2 type (that is, the type s is scoped within the parenthesis and can't escape) of runST ensures that the mutable references created inside the computation cannot escape due to being tagged with the type s. Internally, all sorts of imperative nonsense may occur. Externally, the function is pure. The world outside the boundary gets none of the mutation, only the result.

C does not have parametric polymorphism, nor rank-2 quantifications, so no, this cannot be done in C.

k_bx··on A couple million lines of Haskell: Production engineering at Mercury
What you cannot do is compile-time safety guarantees, and in languages like Rust type system isn't strong enough to do some advanced compile-time guarantees (via types). So no, you cannot do this in basically any language (unless you turn it into Haskell).
k_bx··on Zed 1.0
I was about to pay him, just maybe not this time, since sublime 2...
k_bx··on Zed 1.0
Never thought of Zed as Sublime replacement, but now that you've mentioned – why not? I use Sublime only as blazingly fast temp note taking that doesn't lose them on exit, but I see Zed fits the job perfectly. One less close product hopefully!
k_bx··on Cockpit is a web-based graphical interface for servers
The worst one is password based login it enables
k_bx··on Nvidia NemoClaw
Did you try Incus? Gives you VM-like experience in a container
k_bx··on Two Years of Emacs Solo
I just realized that `apt install emacs-nox` is a great editor in containers and VMs. I just have to disable it every damn time (for regular and root user). Defaults would be better.
k_bx··on Two Years of Emacs Solo
By default I mean whatever you get by doing `sudo apt-get install emacs-nox`

I disagree about "tough". Emacs has changed for the better in new releases quite drastically in the last years in my experience.

k_bx··on Two Years of Emacs Solo
They are hostile to me proposing a better (IMO) default
k_bx··on Two Years of Emacs Solo
I was proposing to make default where those files are not created, since Emacs is actually surprisingly great out of the box with no configuration, except for this "little" thing. Apparrently, some people believe it's perfect as it is
k_bx··on Two Years of Emacs Solo
It's a very different experience:

- I already have tmux launched, if ssh drops – I can continue

- I don't have to match windows to ssh sessions -- just have them in my tmux

k_bx··on Two Years of Emacs Solo
I do too, it’s just that I’ve realised that emacs-nox is awesome container / vm editor out of the box, this backup thing is the only most annoying part (and Ubuntu 22.04 emacs packages expired cert)
k_bx··on Two Years of Emacs Solo
Yes I’ve added this to hundreds of containers and vms at this point

(setq make-backup-files nil)

k_bx··on Two Years of Emacs Solo
> — Sensible file handling: backups and auto-saves in a cache/ directory, recentf for recent files, clean buffer naming with uniquify

It's crazy to me how out of the box when you edit nginx file at /etc/nginx/sites-enabled/foo it creates another file foo~ there and nginx tries to load that too

When I tried to ask emacs reddit community they started attacking me for changing the default that only I need and fits everyone perfectly.

Still can't believe I'm the only one finding that default amazingly bad.

k_bx··on New iPad Air, powered by M4
Web browsing modern websites like Github (or some worse ones)
k_bx··on Show HN: Deff – Side-by-side Git diff review in your terminal
What I would love to see is "tig" replacement that is:

- even faster, especially if you have couple thousand files and just want to press "u" for some time and see them very quickly all get staged

- has this split-view diff opened for a file

Otherwise tig is one of my favorite tools to quickly commit stuff without too many key presses but with review abilities, i have its "tig status" aliased to "t"

k_bx··on 1Password pricing increasing up to 33% in March
No I'm using Bitwarden and hate it :)
k_bx··on 1Password pricing increasing up to 33% in March
Bitwarden is a shit product lacking basic niceties: search is terrible (substring match is beyond first page of results), UI is sometimes non-async (typing freezes search), no way to sort by newest/date added, no way to make two note (textarea) fields, no way to expand it, consumes memory and CPU etc

However, it’s open-source, cross platform and sorta works.

k_bx··on Russia's economy has entered the death zone
Thank you sir, appreciate the support!
Page 1 of 25Next →