HNHacker News
TopNewBestAskShowJobs

nbobko

71 karma · joined November 11, 2023

Nikita Bobko

https://nbobko.com/

submissionscomments
nbobko··on Theranos.world
Can't stop laughing at this one!
nbobko··on Updates to Full Disk Access in macOS
No thanks
nbobko··on I don't like passkeys
TIL about the attestation. Ohhhh, why can't we just have nice things?
nbobko··on I don't like passkeys
As much as I hate to admit it (because I love passkeys UX), but I do think that device-bound/attested passkeys are going to happen in the future :(

UPD: oh, heck, attested passkeys are actually already in the protocol. Why can't we just have nice things?

nbobko··on I don't like passkeys
> Although operating systems have recently introduced APIs [...] for third-party tools to hook into, the experience remains fragmented and lacks the decades of UX polish towards password autofill. Autofill outside the browser and inside native applications remains especially inconsistent.

I disagree. It is just a wrong statement. Passkeys actually eliminate the flaky autofill part where password managers have to parse input fields. Ever since I learnt about KeePassXC and KeePassDx, I've tried to migrate as much of my accounts to passkeys. The experience is wonderful and KeePass allows me to see the private key behind the passkey - yes, yes, yes!

nbobko··on Cloud in a Bottle: making self-hosting accessible to everyone
I am rooting for local-first approach [1] as a superior alternative to self-hosting

[1]: https://www.inkandswitch.com/essay/local-first/

nbobko··on If you're a button, you have one job
This still exists on modern Androids (thanks God!)

Even better: they moved it from developer options to accessibility options, which means that they treat it as a normal use case now

What is bad is that it still disables the animations for progress bars (the only place where the animation makes sense)

nbobko··on Google copybara: moving code between repositories
At my previous company we tried to use this tool to sync parts of the code between two different git repos. The tool turned out being unacceptably slow.

Handwritten bash scripts using git-replace and git-filter-repo [1] did a much better job

[1]: https://github.com/newren/git-filter-repo

nbobko··on Open-source Zig book
Oh no, it's paginated
nbobko··on Homebrew no longer allows bypassing Gatekeeper for unsigned/unnotarized software
Hehe, the classic rude and mean behavior from homebrew maintainers.

I get their motivation to remove the flag. In fact, it has always been better to run xattr in postinstall, this way the binary is free from quarantine even after updates.

But the way they communicate with people is unacceptable and just unnecessary.

nbobko··on Zig Guide
It's good to have more documentation on Zig by the community, but I'm gonna throw in a bit of criticism.

One major thing I appreciate about the official Zig Language Reference is that it is no-pagination single html page that I can ctrl+f https://ziglang.org/documentation/master/ I wish more projects published their docs like that.

When I read, my mouse is busy selecting different parts of the text that I'm thinking about.

1. I don't want to move my mouse off the text to click the "next" button.

2. I don't want to move my mouse off the text to expand TOC items.

3. I don't want to waste my time on switching between pages back and forth.

I prefer the raw text on a long scrollable, non-interactive page with TOC on the side.

Otherwise, great to see more guides on the Zig topic.

nbobko··on Better Dotfiles
> Well, you can't have different configs for different hosts

Though you can use git branches, but I prefer not to

nbobko··on Better Dotfiles
That's why I use --git-dir=$HOME/.dotfiles

I rename .git directory to .dotfiles in my $HOME

nbobko··on Better Dotfiles
Ah, that is what OP was referring to.

Well, you can't have different configs for different hosts. Other than that, I can't quickly recall what other limitations are, I see none. I really like the simplicity of the "pure git" approach.

My dotfiles repo dates back to 2018, I'm happy user of this git one-liner for the past 6 years.

nbobko··on Better Dotfiles
I just use one-liner git command that I put into a script

    git -c status.showUntrackedFiles=no --git-dir=$HOME/.dotfiles --work-tree=$HOME "$@"
nbobko··on AeroSpace is an i3-like tiling window manager for macOS
I agree that signing by a central authority makes sense. As the readme mentions, I don't have anything against notarization as a concept.

I specifically don't like how painfull Apple does it. (Google for "notarization hell macos")

This is my pet project that I do for fun and for free. Bowing my head to Apple every time I want to release a new version is not fun. Waking up in the middle of the night, because Apple revoked the app (https://github.com/nikitabobko/AeroSpace/issues/167) is not fun.

AeroSpace is a tool for developers by developers. Developers can audit the code and install the app from sources

nbobko··on AeroSpace is an i3-like tiling window manager for macOS
When I started the project, I kept it simple, so I started with the static config

The complexity of the config has grown since then, with the bigest (and, actually, the only) problem being on-window-detected callback as you mentioned.

I've been thinking about using a scripting language like Lua, but I haven't made my mind yet whether it's worth it

nbobko··on AeroSpace is an i3-like tiling window manager for macOS
If you have normalizations enabled, you don't need to "switch into a vertical stack"

Given this layout:

    h_tiles
    ├── window1 (focused)
    ├── window2
    └── window3
`move left` will produce this layout:

    h_tiles
    ├── window1 (focused)
    └── v_tiles
        ├── window2
        └── window3
nbobko··on AeroSpace is an i3-like tiling window manager for macOS
1. The "AeroSpace" name means a space for your windows without friction

2. I myself consider the virtual emulation of workspaces to be the strongest feature of the AeroSpace. If I could disable the workspace switching animation in yabai or Amethyst (with SIP enabled, of course), I'd probably not bother myself creating AeroSpace. That's what the "space" part in the app name means. It resembles the strongest feature of AeroSpace - workspaces

nbobko··on AeroSpace is an i3-like tiling window manager for macOS
Hi, AeroSpace author speaking :)

> Windows get repositioned by normal interactions and the window manager is not able to wrangle them

I'm certainly biased, but no, I don't face issues like that

> and connecting external monitors is a disaster

Connecting and disconnecting external monitors is an important use case for me as well. I dedicated my time to support specifically this case, so hopefully it works correctly for other users as well

nbobko··on AeroSpace is an i3-like tiling window manager for macOS
It impacts only AeroSpace
nbobko··on I quit my job to work full time on my open source project
I'm curious whether you've figured out a good monetization strategy for Atuin. The article doesn't answer that question.

Like you said, you won't be paying your rent with sponsors any time soon, but you've already quit your job. Are you living on your savings, and trying to come up with valuable paid features meanwhile? Is it the plan?

Anyway, good luck with whatever you're up to! Building a good monetization strategy is hard

nbobko··on Yabai – A tiling window manager for macOS
> I'd be more than willing to try another tiling window manager on Mac if there's one out there that truly works

Hello, AeroSpace author speaking :)

I'd be happy if you could try AeroSpace (it's and i3-like window manager for macOS) and report me back if it loses track of windows.

https://github.com/nikitabobko/AeroSpace

The architecture of AeroSpace is that on every user input that may change window configuration (new window created, window moved, window resized, new app launched, etc), AeroSpace runs the same idempotent operation (I call it "refresh session") that tries to detect new window, checks all invariants, re-layouts windows, etc.

The "refresh session" performs all the mentioned steps regardless of the user input nature (it doesn't matter whether the window is moved, or a new app is launched)

I believe that this architecture may lose windows only if the macOS API returns invalid data.

I have been using AeroSpace for quite a while myself and I'm happy with it

nbobko··on Yabai – A tiling window manager for macOS
You might want to check out AeroSpace :) https://github.com/nikitabobko/AeroSpace

AeroSpace reimplements workspaces by emulating them. https://github.com/nikitabobko/AeroSpace/blob/main/docs/guid...

The result is that workspace switching is instant, and disabling SIP is not required

Note: I'm the author of AeroSpace