HNHacker News
TopNewBestAskShowJobs

chenxiaolong

532 karma · joined June 12, 2020

submissionscomments
chenxiaolong··on Why do browsers not keep status 302 pages in back-button history?
Oh, they do. It's just that restoring 20 tabs on browser start results in 20 SSO pages and I have to log in each one of them separately to return to the original pages. I can't do something like logging into one and hitting the back button on the rest.
chenxiaolong··on Why do browsers not keep status 302 pages in back-button history?
I wish there was a way to keep all redirects in the back button history. For me, one of the most infuriating things on my work computer was starting up the browser after a period of inactivity (eg. the weekend) and seeing every Jira/Github/whatever tab sitting at the corporate SSO page. The original page wouldn't be in the back history so I effectively "lost" those tabs. Firefox fortunately keeps most tabs suspended on startup nowadays so it's less of an issue.
chenxiaolong··on Higher quality audio makes people sound smarter
For those who have a Valve Index (and have it plugged into a work computer...), the mic is surprisingly excellent on it. I set it upside-down on my desk and it picks up my voice just fine.
chenxiaolong··on Ask HN: For those who use Chrome, why do you?
I use a Chrome just for watching Twitch streams. Despite Twitch only officially supporting 1080p60fps as the max, streamers are able to feed 1080p90fps or 1080p120fps streams to Twitch's RTMP servers. With my 60Hz monitor, Firefox is an absolute judder-fest when playing these streams, both on my desktop (Windows + Nvidia 2080TI w/HW H.264 decode) and my laptop (Fedora + Intel 630 w/VAAPI HW H.264 decode). Chromium-based browsers seem to handle these streams very well with no noticeable judder.

EDIT: I used to use Webex with Chrome also, but it mostly works fine now on Firefox, even for screen sharing. The only bug I've encountered is that the mute button occasionally doesn't work (audio not muted, but button says "unmute" and has no effect) and I have to rejoin the meeting. When the button works, it stays working for the duration of the meeting.

chenxiaolong··on OBS Studio Now Ready with Wayland Capture Support
Thanks, I'll double check the kernel sources in my distro (I'm using Fedora 33).
chenxiaolong··on OBS Studio Now Ready with Wayland Capture Support
Wow, that's pretty crazy. I didn't know Wi-Fi Direct was already supported on (non-Android) Linux.

It doesn't seem to establish a connection properly with my Intel 8265 card out of the box though. I'll have to play around with it a bit more.

chenxiaolong··on Ubiquiti starts serving ads in their management interface
Are there any good alternatives to their higher end products, like the UAP-AC-HD?

I currently have 2 of those, but have been thinking about replacing them because of increasingly buggy updates and especially after the AP firmware update that added the data collection code (I'm aware it can be disabled now). When I got them, I was looking for something that supported 802.11r, supported VLANs, and could sustain 500Mbps throughput from 2 clients (one on each AP). Ruckus APs also fit the bill, though they were 2-4x the price.

chenxiaolong··on 7-Zip for Linux
I use bsdtar for a similar purpose. It’s part of the fantastic libarchive[1] project and supports every format I’ve thrown at it so far.

[1] https://www.libarchive.org/

chenxiaolong··on FFMPEG from Zero to Hero
All of the proprietary tools I know of for doing frame-perfect cuts (VideoRedo, TMPGEnc, SolveigMM) work by determining (guessing?) the original encoding parameters and then only reencoding the first and last GOP. The rest of the video is just remuxed.
chenxiaolong··on PipeWire: The Linux audio/video bus
In `/etc/pipewire/media-session.d/bluez-monitor.conf`, I uncommented:

    bluez5.msbc-support = true
    bluez5.sbc-xq-support = true
You'll also need to make sure you're on a kernel supporting the WBS fallback patch[1], which should be the case if you have the latest 5.10 kernel or the 5.12 development kernel.

You can check if it's working by running `info all` in pw-cli. It'll mention if the bluez codec is "mSBC".

[1] https://patchwork.kernel.org/project/bluetooth/patch/2020121...

chenxiaolong··on PipeWire: The Linux audio/video bus
For me, I'd like/expect pipewire to lock the software volume at 100% and adjust only the hardware volume if AVRCP absolute volume is supported by the head. (This seems to be how Android and Windows behave.) I mainly care about keeping everything in sync so that no matter if I adjust the volume using the keyboard, GUI volume slider, or buttons on the headset itself, it'll always behave the same. A lot of the time, I end up needing to hit both the volume up keyboard shortcut and the volume up button on my headset because one of the two is already at the max.

There's some work on getting AVRCP absolute volume implemented here: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/46...

I believe your first point should automatically work once this is implemented. Pipewire seems to already support remembering the volume per bluetooth device (though it's just the software volume that's being remembered right now).

chenxiaolong··on PipeWire: The Linux audio/video bus
I believe when the HFP profile is used and mSBC is supported, then mSBC is used for both the input and output.
chenxiaolong··on PipeWire: The Linux audio/video bus
This was all with Wayland. I haven't tried using pipewire with X11.
chenxiaolong··on PipeWire: The Linux audio/video bus
I'm not super familiar with the pipewire internals, but I believe pipewire is the daemon responsible for talking to bluez/bluetoothd and ensuring that the audio stream is encoded with a codec that the headset supports.

For example, this is the PR that enabled mSBC support for the HFP profile: https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_req...

chenxiaolong··on PipeWire: The Linux audio/video bus
I'm not sure about this one. I haven't tried streaming audio over the network with either pulseaudio or pipewire.
chenxiaolong··on PipeWire: The Linux audio/video bus
I've been trying out the latest master builds of pipewire recently and have been pretty impressed with it:

* My bluetooth headset can now use the HFP profile with the mSBC codec (16 kHz sample rate) instead of the terrible CVSD codec (8 kHz sample rate) with the basic HSP profile.

* Higher quality A2DP stereo codecs, like LDAC, also work.

* AVDTP 1.3 delay reporting works (!!) to delay the video for perfect A/V sync.

* DMA-BUF based screen recording works with OBS + obs-xdg-portal + pipewire (for 60fps game capture).

For my use cases, the only things still missing are automatic switching between A2DP and HFP bluetooth profiles and support for AVRCP absolute volume (so that the OS changes the headset's hardware volume instead of having a separate software volume).

chenxiaolong··on Taking a Stand in the War on General-Purpose Computing
iSH[1,2] is an example of such a tool. It emulates an x86 Linux userspace on top of iOS.

[1] https://ish.app/ [2] https://github.com/ish-app/ish

chenxiaolong··on Reviving an old VCD dub with Python
Thanks for the write up! I'll have to try this with my Totoro rips. The blu-ray version has the 2004 English dub, but I prefer the 1993 dub from (one of the) DVDs.
chenxiaolong··on Galaxy's Meltdown – Exploiting SVE-2020-18610, a write-up
Thanks for the detailed write-up!

I find this stuff very interesting. I've mostly only dealt with low-level userspace code on Android in the past.

chenxiaolong··on WRT54G History: The Router That Accidentally Went Open Source
I'm looking for the same as well. I've heard good things about actual enterprise APs, though they seem to be quite expensive. Ruckus APs are 4x the price of my current Ubiquiti APs.

I'll probably do more research into this when Wi-Fi 6E becomes more commonplace. For now, I just block outbound internet access on the management network for my Ubiquiti APs and controller.

chenxiaolong··on Nissan code leaked after bitbucket repo set-up with defaults admin/admin
100% agreed in general. In this particular case, that's likely the Bitbucket project name (or "slug" if you're looking at the API or backend database). On our old instance at work, it's all caps and has a short length limit, at least by default.
chenxiaolong··on Encrypted Backup Shootout
Unfortunately I don't remember. From the (little) notes I kept, the corruption occurred with restic version 0.9.3. I had also tried restoring with the latest code from git master, but I didn't make a note of the exact commit (it didn't make a difference anyway).

The commands that triggered the corruption were the following. I tested the restore around the 10th run of this.

    repo=sftp:chenxiaolong@<ip address>:/home/restic
    restic -r "${repo}" backup -x /home
    restic -r "${repo}" backup -x --exclude /stuff/Android/AOSP /stuff
    restic -r "${repo}" forget --keep-last 3 --prune
chenxiaolong··on Encrypted Backup Shootout
I tested by attempting to do a full restore to a temp directory.
chenxiaolong··on Encrypted Backup Shootout
restic used to be my tool of choice in the past, but I unfortunately ran into an issue where a single corrupted blob caused many files to be unrecoverable. Thankfully, I noticed it when testing the backups so I didn't actually lose any data.

I've since switched to using encrypted rclone backups due to the design decision of having each source file map to one target file. For my specific use case, it's more important that corruption of backup files has minimal impact vs. having good deduplication. I also like that the format is simple enough where I feel confident I could write an extraction tool that skips checksum validation or bad blocks if I really need to.

chenxiaolong··on TabFS: Mount your Browser Tabs as a Filesystem
I had no idea kio-fuse was being worked on. This is awesome! gvfs (and its FUSE implementation) was my favorite feature of GNOME and was the reason I primarily used Nautilus on KDE on my work VM.
chenxiaolong··on Talking out loud to yourself is a technology for thinking
I'd be curious to know as well. I'm someone who doesn't have an internal monologue or the ability to visualize images (I can hardly comprehend what that would even feel like), but I've never felt the need to talk to myself to think through something. I'm not sure I'd even know what to say.

For me, "thinking" is more like submitting a request to the subconscious and waiting for a response. Not much happens in the brain's "foreground"--or at least it feels that way.

chenxiaolong··on Facebook account banned after posting about breaking neck while playing VR
With my Valve Index, when the headset or controllers go near the boundaries of the play space (approx. 1.5ft from the edge for a 9x9ft area), SteamVR will overlay a bright cyan wireframe of what the cameras see on top of the game. For me, this works incredibly well and I've yet to hit my controllers on anything (well, except for clapping the controllers together).

I'd be curious to know if others disable this feature intentionally or if this method of warning the user isn't as effective with everyone (I am very easily distracted by anything popping up). I could see it being annoying for a smaller play space.

(Also, does Oculus/non-SteamVR have an equivalent? I assume it must)

chenxiaolong··on Law Enforcement Is Accessing Locked Devices
Looking at the iOS platform security document ([0] page 68), apps use NSFileProtectionCompleteUntilFirstUserAuthentication by default, which keeps keys in memory after the first unlock, regardless of the Power + Volume Down lock. If an app opts into NSFileProtectionComplete, I believe the keys are purged from memory upon locking.

[0] https://manuals.info.apple.com/MANUALS/1000/MA1902/en_US/app...

chenxiaolong··on Fixing a 3 year old bug in Nvidia GeForce Experience
It also serves as the server-side component of Nvidia GameStream, which lets you play games (streamed) from another device on the local network.

(https://moonlight-stream.org/ is a fantastic open-source implementation of the client side part)

chenxiaolong··on Warner Bros. Will Send Entire 2021 Slate to HBO Max and Theaters
100% agreed. I'd even pay extra to get 60Mbps or higher bitrate streams to match blu-rays. The compression artifacts on the all of the major streaming services right now are quite noticeable when watching on a projector.
← PreviousPage 4 of 5Next →