Http3 Demo

This post first demonstrates http1, http2, http3 like akamai, then shows how the demo works. Demonstrations info Firefox has a bug/feature that it will cache images even though instructed not to. Use another browser or hard refresh to rerun the tests. HTTP1 Click to test http1 HTTP2 Click to test http2 HTTP3 info If the image is gray, http3 is not used. There are several reasons why this may happen:...

published on May 17, 2023 · last edited on August 10, 2023 · 3 min · 443 words

Porting ttyd to Golang Part I

Previously I have written a post about ttyd that describes how to authenticate requests for ttyd sessions. The problem is that vanilla ttyd only supports running a predefined command, and it’s nearly impossible to customize what command to run based on the authenticated user. To solve this problem we need to port ttyd to another language. But first we need to understand how ttyd works. Request Waterfall When a browser connects to a ttyd instance, below is the order in which resources are requested....

published on April 27, 2023 · 5 min · 919 words

Adding Mermaid Support to PaperMod Theme

Mermaid is a javascript library that can render text definitions as diagrams. It’s not supported by PaperMod. There are two major problems that I encountered when adding mermaid support. Mermaid Diagrams not Showing I tried the method described in this comment. It only worked in my local development environment. And when I put mermaid related snippets in extend_footer.html like the author suggested, it won’t even work. Cause The head and the footer of the theme is handled by baseof....

published on April 22, 2023 · 3 min · 538 words

Adding Checksums to Golang Webdav Server Part II

Continuing from previous post, this part deal with how to integrate rclone handling to an actual webdav server. What Previous Post didn’t Do? Previous post deals with how rclone interacts with OwnCloud and NextCloud webdav servers and the implementation of custom webdav filesystems. It doesn’t cover how to extract the relevant headers and write these information to checksum files. The Problem with Golang Webdav Handler Golang webdav handler can only be customized by implementing custom LockSystem and FileSystem....

published on April 9, 2023 · last edited on April 21, 2023 · 3 min · 577 words

Formatting Linux Root Filesystem as Xfs

warning Experimenting with filesystems can be very dangerous. You should understand the risks and back up data before trying the method below. The default filesystem used by debian is ext4, which is an old and stable filesystem. Recently I learn of an alternative filesystem xfs, which according to my experiment is faster than ext4. So I decided to give it a try. EXT4 Performance XFS Performance The problem is my server is a virtual private server and I don’t have physical access to it....

published on March 28, 2023 · 5 min · 1036 words