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 “Make” as a static site generator (2022)
> I admire how nimble you are. I aspire to write blog posts at the drop of a hat like this, but I rarely do.

Thanks! I took up blogging more often as of recent, and for me, having a manageable system is a large part of that. The last thing I want to happen on a Sunday evening is breaking some page of my website. That being said, I hope to one day make the workflow easier.

> It reminds me of a world that I've been imagining where the conclusions in scientific papers are generated as a flake outputs (and adjacent output would be the human readable thing, a PDF or whatever).

I happen to be a reviewer for software artifacts in a scientific journal, and I often use Nix here. Not that many projects do use it, but if I'm able to reproduce it with Nix, then I know the author has not missed any implicit dependencies. I like to imagine it's also useful for the authors as a feedback, whether they use Nix or not.

> I realize that you don't want to be storing mountains of data in the nix store, but it would work just as well if the output in question is an IPFS CID, to be resolved during the build instead.

I maintain separate build serves of my own using Nix integrations and the Nix cache is quite large already (so called remote builders) sitting at around 500GB. I host these at Hetzner.

I have also thought adding IPFS integration for my website, but haven't got around to it.

Jhsto··on “Make” as a static site generator (2022)
I posted a link to the other comment, but here it is for you as well: https://juuso.dev/blogPosts/nix-as-a-static-site-generator/n...
Jhsto··on “Make” as a static site generator (2022)
Here you go: https://juuso.dev/blogPosts/nix-as-a-static-site-generator/n...
Jhsto··on “Make” as a static site generator (2022)
I use Nix, so I get incremental builds and your problem goes away.
Jhsto··on Ask HN: Any LAN alternatives other than PowerLine or MOCA?
A WiFi signal can improve a lot by changing to a channel that is not as overcrowded. You will likely need a prosumer WiFi device (e.g. Ubiquiti) or then something which supports OpenWRT. Consider also WiFi 6E -- if you carry your signal on a new spectrum then reception likely improves as well.

If cat cable is too thick, there's also the possibility to run SFP fiber instead.

Jhsto··on P2panda: P2P protocol for secure, energy-efficient local-first web applications
I wonder how complimentary this could be for etcd, which tends to not work so great for structured data.
Jhsto··on Paul Graham on Conversations with Tyler
As an economist Cowen knows that the more conversational market for podcasts is already saturated, and decides not to pursue it. I personally prefer that the questions Cowen makes show that he knows rather well who he is interviewing and why. Someone like Lex Fridman is in comparison less prepared. The downside with Lex's style is that some interviewees are so used to do a performance talk on their work that it's like listening to a broken record -- those who know nothing about the person get to hear a shallow introduction, whereas those who know the person learn nothing new compared to the papers, books, or other youtube videos.

Like, if you have been on a podcast yourself you might prefer Fridman kind of discussion in which you can quite freely lead hence get your agenda across. It is quite clear many visit Fridman because they know they will get to sell their ideas.

Jhsto··on Richard Rhodes wrote a classic book about Oppenheimer and the atomic bomb
In Oxbridge tutors are usually either PhD students or post-docs. You're an undergrad if you have a strong opinion about yours, since for them the ratio of tutor per student is quite low (usually 1:3).
Jhsto··on PhD Simulator
If you have a cool idea which is novel in your field, a PhD might allow you to work on it without selling out to VCs. There are still people to convince, but the time horizon for results is longer than with an average seed funding.
Jhsto··on Wayland on NixOS: Confusion, Conquest, Triumph
Pro-tip: use https://github.com/nix-community/nixpkgs-wayland if you want Nvidia support and more frequently updating versions over nixpkgs.
Jhsto··on Common bugs in writing (2021)
This is interesting, I integrated it into my blog straight away, thanks!

Are you aware of any academic writing focused extensions for Vale? In specific, I would need different "style" as it's called on Grammarly.

Jhsto··on The guide to software development with Guix
Slight nitpick, Nix does support more architectures, but those are the ones with prebuilt packages. Compiling say 32 bit ARM is quite feasible, takes roughly a day for a full OS image.
Jhsto··on The NixOS Foundation’s Call to Action: S3 Costs Require Community Support
With NixOS the main problem is that a lot of local "packages" are configuration files with a lot of secrets. It is very easy to end up seeding your VPN and email passwords this way.
Jhsto··on Nix-on-droid: Nix-enabled environment for your Android device (termux-based)
Github has more recent activity: https://github.com/NixOS/mobile-nixos
Jhsto··on Your First LTE
This is good software, I used their stack to provision software "onto the cell tower" using Kubernetes (spectrum licenses required to be used on a phone): https://arxiv.org/pdf/1905.03883.pdf - maybe this helps someone to understand the stack!
Jhsto··on Nvidia GeForce RTX 4080/4090: Windows 11 vs. Ubuntu 23.04 Performance
Some caveats as someone who games on Linux (Wayland, so YMMV):

- lack of HDR support

- anecdotal micro-stuttering in games like CS:GO ...

- .. and 4:3 aspect ratio does not work

- many games require command line tweaks to start or work properly, including but not limited to; overriding binary paths to skip launchers designed for Windows, changing your GPU driver (RADV vs AMDVK), enabling features like DXVK_ASYNC (might make an unplayable game playable)

- you need a nightly mesa-git to play new games

- anticheats in most games are broken

- Steam requires a kernel with 32-bit emulation support to run, and has a lot of dependencies on such software

- you most likely need a GPU from AMD

Other than that, it's quite good! Software like gamescope is a real highlight, allowing me to toggle FSR even in titles which do not support it. This evens the playing field between Windows and Linux, and might even make it even! I removed Windows and beyond occasional FOMO on Tarkov and Call of Duty, I'm happy.

Jhsto··on Chrome ships WebGPU
For anyone figuring out how to run webgpu on a remote computer (over webrtc) , see this: https://github.com/periferia-labs/laskin.live

Not sure if it works anymore (I made it 3 years ago), but will be interesting to see if there will be similar products for LLMs and so now.

Jhsto··on Counter-Strike 2 – Limited Test for select CS:GO players
Have you played some of the community FFA servers? If you choose hard bots, on most servers, the bots have inhuman reaction and accuracy.

But I guess your point is fair -- it would be much nicer to see bots that cooperate as well as they aim. Would allow much more realistic takeover scenarios to be played.

Jhsto··on Why Steam Deck Is One of the Most Significant PC Gaming Moments in Years
Do notice that you can also install your own OS.
Jhsto··on Not-OS – NixOS-based OS generator that outputs an OS with 47MB squashfs (2022)
A slight optimization here could be to use in-kernel dhcp for init1 netbooting instead of packaging dhcpd and then sleeping for 5 seconds during the bootup to get a lease -- last time I tried it the in-kernel version ensures a lease is acquired before the init script is run.
Jhsto··on Apple HomePod 2nd Generation
Where I'm from everyone is using Genelec speakers.
Jhsto··on Devirtualizing nike.com's bot protection
Eventually Nike made changes into how they were giving out the codes, so they tried at least. E.g., 0 follower accounts could not gain a code. We switched to using accounts of my contact and his friends to solve this issue. I think the idea of adding a timer for artificial latency was also discussed, but I can't recall if we ever implemented it.

In general we thought that Nike was complicit to an extent. Especially with the on-site checkout and mining of product IDs, they could have cancelled orders done before they shared the link in public. I think on their end, it was a balance of guaranteeing a low supply while ensuring that normal customers did not feel like they were being screwed _all the time_. Yet, even nowadays with the SNKRS app some continue to call it a rigged ballot.

In hindsight, Nike is still positioned somehow uniquely in the sneaker community: it's not guaranteed that money alone will get you a pair. Compare this to luxury brands like Balenciaga, which retail sneakers with a price tag of $500-1000. With the latter everyone knows you have handed out a chunk of cash, but it's not the same thing as the story that you could have waited in line or woke up in the morning to enter a raffle, or been smart enough and early on to pay reseller prices to get a pair before stock ran out which you knew would become a coveted pair over time.

Jhsto··on Devirtualizing nike.com's bot protection
There's a big resale market, sometimes shoes that cost $250 go for $10K resale. I used to develop bots for this as well and documented some of the experience: https://juuso.dev/northern-nike-nabob.html
Jhsto··on NixOS 22.11 “Raccoon”
Plugging my own thing here, but I have been experimenting with a Nix configuration for gaming only. My configuration is here (for Nvidia, which does not work without tinkering as AMD does) : https://github.com/jhvst/nix-config/blob/main/nvidia.nix

First, this is a whole system specification. This means that executing this on Nix will build you a whole OS image. You can build the image if you have Nix by running the first line on file. You can also use Docker with the instruction on my README: https://github.com/jhvst/nix-config (however, kexec will not likely work, read more how to run it later)

Back to elaborating on the Nix file from the gaming perspective. First, we have the overlays. These are like patches to the packages, and really useful for gaming because it allows building important packages like mesa from the source tip. This is particularly useful when new games or GPUs are released. Same thing for wayland: Nvidia and its proprietary drivers need some patching, but it's possible to get wayland (and sway) to work this way.

Then, I have taken the reproducibility of Nix to a next step in my opinion, and made the system stateless. This means that it runs from the RAM. It is easy to create installation media like kernel, initrd, and rootfs because you have all the steps to create the distribution. This means that here, Nix works as a meta-distro like Gentoo, on top of which you develop your own. Running from the RAM means that theoretically, if you have a working config, and two people with different hardware runs it, then they should have the same experience. If you look at ProtonDB, you often find that some people claim that game X works on their machine with drivers and mesa of Y and Z, but there is no way to copy their configurations because it's certain that the user has made some stateful changes which they have forgotten hence left undocumented, which is the reason it works for them. If everyone would be using Nix, you could reproduce their system and possibly fix your own, but this is not tractable with most OSs.

If you like to test my changes, you can read more about my approach here: https://github.com/NixOS/nixpkgs/pull/203750

For testing I distribute Nvidia as documented here: https://github.com/jhvst/jhvst.github.io/blob/main/ramdisk.m...

However, I have developed it bit further: if you manage to get into an iPXE shell, you can write `boot -a http://boot.ponkila.com/menu.ipxe`, then select the second option which is Nvidia (proprietary drivers), and with some waiting you will get into a shell prompt to which you can write `sway --unsupported-gpu`, which will launch sway. Cmd+Enter opens a prompt to which you can write `steam`, which will open Steam. Then, you have to mount some drive on another shell with `mount`, and add this as a Steam library via Steam's UI. Then you can play games. I use this on AMD and I have been very happy.

To get iPXE, the easy option is to go along with https://netboot.xyz. You will find the `iPXE shell` option here to which to write the boot option from the previous paragraph.

I also added AMD to the iPXE menu for whomever decides to test it. Sway is launched by writing `sway`. Steam should be started with `AMD_VULKAN_ICD="RADV" VK_ICD_FILENAMES="/run/opengl/driver/share/vulkan/icd.d/radeon_icd.x86_64.json" steam` to use the faster RADV driver.

Jhsto··on Relative popularity of programming languages on Hacker News
Can you also check APL?
Jhsto··on Ask HN: How can a total beginner start with self-hosting?
I'd recommend to take a look at OPNSense and pfSense. One of the challenges of learning networking properly is that many consumer devices go into great lengths to try abstract the details away from the user. OPNSense and pfSense bring some level of openness into the situation, by letting you to SSH into the networking equipment and generally providing a web user interface with more knobs than any sane person needs. This way, you can learn by try and mistake what does what, and you'll be exposed to all kinds of abbreviations of protocols you've likely never heard of. My point is that this gives more control into how you're connected to the Internet, which serves as a great way to also start thinking about networking more holistically from the viewpoint of individual computers in your home. And you cannot really do that unless you first control the router properly.
Jhsto··on Creativity requires solitude
Anecdotally, solitude is unhelpful when it comes to figuring out the context or direction of work. It sounds counterproductive, to get creative by burrowing oneself with solitude work, to produce results that cannot be understood or appreciated by other people.
Jhsto··on $55 board turns a Raspberry Pi CM4 into a router
UEFI bootloader, PoE support, and generally good Linux driver experience out of the box. Whether that's enough is highly dependent on the user.
Jhsto··on Vulkan update: version 1.2 conformance for Raspberry Pi 4
There's a point to make which is that most people don't probably have problems writing Vulkan code, but shaders instead (that's unless you already know OpenGL). For Vulkan you have many good bindings already in different languages, but then you get into actually writing shaders which requires completely different programming mindset -- everything runs in parallel by default. All your algorithms have to be divide and conquer, so say bye bye to imperative style accumulators. The concepts might be hard to grasp unless you know your way around functional and array programming languages.
Jhsto··on The Pine Formula
The Venn diagram of Linux phone users and people who want to reduce proprietaries in their life is rather big. That's to say it's almost the point of the hardware to point you these problems. And in my opinion, frankly, your anecdote is more about your choice of bank and not which phone you use.

That being said, what about banks with open APIs? Wasn't there some EU legislation?

← PreviousPage 4 of 16Next →