HNHacker News
TopNewBestAskShowJobs

quyse

100 karma · joined July 2, 2016

https://www.linkedin.com/in/quyse/

https://github.com/quyse

meet.hn/city/35.6768601,139.7638947/Tokyo

submissionscomments
quyse··on People inside Microsoft are fighting to drop mandatory Microsoft Account
I had Windows on a Lenovo laptop, and Windows update installed and/or re-enabled Lenovo system services almost every time (those included things like popups helpfully telling you that you pressed CapsLock and crap like this). I ran debloating scripts, tried fiddling with policies, etc, but Windows Update would inevitably bring those services back.

Another thing is Intel drivers. There's official Intel driver assistant software which installs latest drivers for Intel things (graphics, network, and so on). Only for Windows to re-install their "stable" outdated graphics driver next time it sees it. Again, I couldn't stop it. How hard is it for Windows to see that the driver already installed is newer already? Why even Intel cannot talk to Microsoft and decide between themselves a solution for this?

quyse··on Show HN: Portable Giant File Viewer
As an alternative, on Windows I've always been using Far Manager [1], it supports viewing files of arbitrary size without loading them in RAM. Supports encodings, search, doesn't explode on binary files, etc.

[1] https://www.farmanager.com/

quyse··on Someone just won $50k by convincing an AI Agent to send all funds to them
A reverse contest would probably be more challenging. Write initial instructions for an AI agent to never send funds. If nobody manages to convince it to send funds, say within a week, you win.

For added complexity, the agent must approve transfer if a user is an admin (as determined by callable function isAdmin), so the agent actually has to make a decision, rather then blindly decline all the time.

I mean, how hard it can be to make an AI reliably doing an equivalent of this code?

    if(isAdmin()) approveTransfer(); else declineTransfer();
quyse··on Ask HN: What Are You Working On? (October 2024)
Currently resolution is hardcoded, but sure, can be done. Also need to figure out things like changing language/keyboard layout or using IME, to be able to type text properly. Sending mouse cursor picture from server to client may be nice too, in case a game uses hardware cursor and changes it's appearance, like some RTS games - currently mouse cursor is just being baked into video frames. Many possible improvements!
quyse··on Ask HN: What Are You Working On? (October 2024)
Not yet, but I'll probably open source it eventually! Still need to clean things up a lot, and implement missing functionality, for example I haven't even bothered to implement audio capture yet, because I wanted to try video first
quyse··on Ask HN: What Are You Working On? (October 2024)
I've been working on a cloud gaming service (like Stadia). Wanted to see how far I can get it done using open source, without ready-to-use solutions like Parsec/Moonlight/Sunshine.

It works by running a game in Linux (I use NixOS btw) under Wayland (sway), capturing the frames via Pipewire in form of DMAbufs and passing them to ffmpeg's VA-API encoder (so frames don't leave GPU memory and are encoded on GPU right away), and finally sending encoded packets through WebRTC media stream to a web client. Inputs from a client are sent back to the server via WebRTC data channel and injected into Wayland.

Running the prototype over local network displays zero perceivable latency. (Of course when playing on a remote AWS server the latency is visible as expected). Pleased with the result so far, although it's my first experience with Pipewire, VA-API, and WebRTC, so my implementation is probably far from optimal.

Overall, very impressed by WebRTC - such a powerful thing right in every browser. Continued to be amazed by NixOS - my AWS AMI is NixOS-based and can be built and rebuilt with granular caching, with a single `nix build` command. Also Terraform/OpenTofu - just makes it all possible deploy-wise. So much good stuff exists!

quyse··on Elasticsearch is open source, again
I don't think that's their intention. Elastic wouldn't be able to integrate Amazon's patches back into their codebase without losing the ability to change the license in the future. Even more, since it's AGPL, they'd have to get rid of their other licenses immediately.
quyse··on Ask HN: What's your "it's not stupid if it works" story?
I've implemented recently just the same thing, but for SVG -> PNG conversion. I found that SVG rendering support is crap in every conversion tool and library I've tried. Apparently even Chrome has some basic features missing, when doing text on path for example. So far Selenium + headless Firefox performs the best ¯\_(ツ)_/¯
quyse··on Ask HN: Show me your half baked project
Wareztracker: https://wareztracker.com/games - torrent download stats for video games - find out how popular a particular game with pirates.
quyse··on Death by a Thousand Microservices
It's not that good usually, e.g. PostgreSQL writes data in pages (8 KB by default), and changing 10K random rows in the 50M rows table can be quite close to the worst case of 1 changed page per changed row, so 8x of your estimate. Also need to multiply x2 to account for WAL writes. Also indexes. It's not hard to hit a throughput limit, especially with HDDs or networked storage. Although local SSDs are crazy fast indeed.
quyse··on The curl-wget Venn diagram
`--config filename` allows this. `--config -` for stdin. Not only urls, but any config options

  echo '--url https://google.com/' | curl --config -
quyse··on Show HN: Mox - Modern full-featured low-maintenance self-hosted mail server
If you are familiar with NixOS, and like to have everything declared in Nix configuration, Simple NixOS Mailserver is very robust and easy to use. Have been using it for ~2 years.

https://gitlab.com/simple-nixos-mailserver/nixos-mailserver

quyse··on Launch HN: MagnaPlay (YC W23) – Indie gaming subscription service for PC
Congrats on launch!

Although my immediate thought was - DRM is just wrong. It will only punish legitimate players and will be cracked quickly anyway. Indie games do not need DRM.

Also I'm generally wary of subscription services. For any sort of "serious" game I would prefer buying, so to not depend on a subscription where the set of available games may change at a whim. However one interesting possibility may be a partnership with a platform like itch.io. They have literally thousands of games, and a lot of them are quite original, but I'm generally not ready to pay for them - as a lot of them are in development/not finished/bad quality/obviously overpriced. Subscription which gives access to all (or most of) the games of itch.io may actually make a lot of sense, encouraging players to try much more games. Just a thought.

Good luck!

quyse··on Show HN: NixOS Web Hosting for Everyone
What does it actually do?

From the front page I expected maybe some web interface for doing various tasks, such as Nix package management or setting up Let's Encrypt, etc, but judging from the docs, everything should be done via standard Nix/NixOS commands in command line. So, I'm sorry, what service Shipnix actually provides, apart from initial setup of the server with NixOS and SSH keys, that would justify paying monthly? At least it's not clear from the docs.

quyse··on PostgreSQL 14 Internals Book
It's available for free in Russian: https://edu.postgrespro.ru/postgresql_internals-14.pdf

linked from their own website: https://postgrespro.ru/education/books/internals

quyse··on GDPR penalty for passing on of IP address to Google by using Google Fonts
Does it mean Google, AWS, DigitalOcean, Cloudflare, Akamai, and everybody else (except Hetzner) are now outlawed in Germany? Because, as I said, I cannot ask for consent before serving the initial HTML, unless someone develops a magical IP-less protocol for delivering consent. I'm not sure if even Hetzner server is OK, it's still a third party even if Germany-based.
quyse··on GDPR penalty for passing on of IP address to Google by using Google Fonts
What if I host my website on Google Cloud Platform? I guess it should be OK then to use Google Fonts CDN on the website, because it's the same entity, and visitor's IP was already leaked to Google when the HTML page was served. Can't really ask user for consent before loading the HTML page!
quyse··on Ask HN: How to bypass learning CSS?
I would recommend Fomantic UI https://fomantic-ui.com/ (active community fork of Semantic UI) + Semantic UI React https://react.semantic-ui.com/ (which is a React wrapper over Semantic UI, but works with Fomantic UI as well). Almost no CSS writing is necessary, customizability of the React components via props should be enough for MVP and even further.
quyse··on I switched from macOS to Linux after 15 years of Apple
I've also switched from Arch (has been on it for ~10 years) to NixOS (~1 year so far), and fully agree it's amazing.

I've been thinking how interesting it would be to create a user-friendly Linux distribution on top of standard NixOS (similar to what Manjaro is to Arch), which would not require learning Nix language or tinkering with the configs. I mean, system configuration/choosing packages/drivers/kernels should not really require a user to write in Nix language - the sane choices can mostly be represented by a set of GUI checkboxes. There also could be GUI utilities for other Nix goodness, such as creating nix-shells with necessary dependencies available, declaring wrappers for proprietary software, or building temporary VMs. So, I would say, the user absolutely does not need to know a lot about Nix to fully appreciate robustness of NixOS way, and in principle, with the right tools/GUIs it can be very approachable for even non-technical users - it's just that user friendliness seemingly has not been a priority so far.

quyse··on Ask HN: Who wants to be hired? (May 2021)
Location: Russia

Remote: Yes

Willing to relocate: Yes

Technologies: C++, Haskell, Nix/NixOS, Docker, 3D Graphics (OpenGL/DirectX), Javascript/node.js/React, SQL, clouds/dedicated servers

Linkedin: https://www.linkedin.com/in/quyse/

Github: https://github.com/quyse

Email: hn@quyse.net

I'm hands-on generalist developer with ~10 year experience. Worked in gamedev (graphics/engine/network, industry and indie), co-founded blockchain analytics startup in backend/infra/devops role. Self-learning new stuff as needed, specializing into whatever areas required.

Not afraid of algorithms (participated in competitive programming) and so would love to work on science- or algorithms-packed project. May also be a good fit for wear-many-hats tech co-founding role / early employee of a small startup.

quyse··on Nix is the ultimate DevOps toolkit
I participate in development of the cross-platform indie video game written in C++ called Insatia [1]. We switched our CI server to building almost all the binaries using Nix. With Nix we have proper Clang with libc++/etc for latest C++ features, cross-compiling Clang (for building Windows binaries from Linux), static linking of any 3rd party libraries (useful for portable builds), Wine-based environment for building Xbox binaries (sounds crazy, but yes, it is faster and more stable in Linux than in Windows VM), and all sorts of hacks and tricks, all laid out in .nix files in a quite comprehensible, self-documented way. Now, given a clean Linux machine with only Nix installed and our game repo checked out, I can run a single nix-build command to build our game for Windows, Linux and Xbox. It will take quite a bit of time (hours) and disk space (tens of Gb), because it builds custom compilers and temporary VMs, but it will be cached in Nix store and only has to be done once.

Before that I used giant Docker image with all sorts of build tools installed/built, plus persistent VMs which had to be maintained manually, and Nix made it so much easier. Nixpkgs provides a good foundation - it has almost all software you may need and all the utilities to modify it or add new software. Need to patch or switch to custom version some obscure dependency of a compiler building another compiler building a library you use? Override a derivation, and all the dependent stuff will be rebuilt automatically. For building software Nix can be seen as a kind of super-Docker - Nix store allows for more granular caching than just layers, so incremental improvements can be done much faster. Essentially Nix turns files and packages into values in a programming language, so instead of hacky bash scripts trying to imperatively maintain a file dump, you just compose immutable packages by writing expressions.

That said, Nix is really hard to understand at first, comparable to Haskell/monad tutorials. I remember I made a few unsuccessful attempts at it over a ~6 month period, every time becoming more desperate, and then it finally clicked after careful reading of Nix pills [2] for a few consecutive days. To me, the most interesting thing to discover was that while Nix/nixpkgs do necessarily use some "hard" concepts like fixed point, it is in fact quite "old-school" and mostly about Unix, executables, linking, string templating, contains a lot of bash scripts, etc, so it's not really another Haskell. In fact, traditional building of C/C++ software with autotools is supported in Nixpkgs better than building modern stuff like Rust or Go, due to reliance of the latter on own package managers.

[1] https://insatia.kozinaka.com/

[2] https://nixos.org/guides/nix-pills/index.html

quyse··on Polycloud: S3-compatible object storage
It seems the catch is the same as with Wasabi. It says everywhere on the site that egress is free and there's no hidden fees. Except for this FAQ entry [1]:

> Pricing for Polycloud is only $0.004 per GB per month. There are no other fees as long as you do not egress more than 100% of your data during the month. If you do egress more than 100% of the amount of data you have stored then you will only be charged $0.01 per GB for any overages.

Looks like a hidden fee to me. Note that even the Pricing page [2] does not mention it, and the calculator does not allow to enter egress volume for calculation.

[1] https://crowdstorage.com/faq/#what-is-the-pricing-for-polycl... [2] https://crowdstorage.com/products/polycloud/pricing/

quyse··on Backblaze Hard Drive Stats for 2020
Is it actually required to have employees wake up and replace that specific failed drive to restore full capacity of a tome? I would expect an automatic process - disable and remove failed drive completely from a tome, add SOME free reserve drive at SOME rack in the datacenter to the tome, and start populating it immediately. And originally failed drive can be replaced afterwards without hurry.