Skip to content

Instantly share code, notes, and snippets.

View winsrewu's full-sized avatar

WisW winsrewu

View GitHub Profile
@winsrewu
winsrewu / blog#lately-1.md
Last active November 6, 2025 14:42
A blog

This blog post details the technical challenges and solutions for a custom music streaming website. The author explains how a recent browser update broke the old audio streaming logic, necessitating a new approach using Media Source Extensions and mp4-box.js to handle Bilibili's m4a format. The post also covers the motivations for building a custom platform, including resource integration and playback control, and mentions its Next.js and Vercel-based architecture.

I think I'm using this bbs as a blog, lol.

Anyway, first of all (ignore my broken English)
forum
forum (1)

Well, it really is too broken, needs fixing
forum (2)

@winsrewu
winsrewu / blog#lately-2.md
Last active November 3, 2025 14:00
A blog

In a brief blog post, the author reflects on a rejected pull request for Fabric loader due to its aggressive approach and subpar quality, noting plans to collaborate on a similar feature. They also describe creating two tools: one for managing server.properties with a formatting error, and another for video clipping via image recognition, which functions despite performance issues.

The page refreshed and the content is gone. I don’t feel like writing anymore, so I’ll keep it short.

The other day, without much thought and without fully understanding the situation, I submitted a pull request to the Fabric loader.
The functionality was okay, but the approach was a bit too aggressive, and the quality wasn’t great, so it didn’t get merged.
Someone else is working on the same thing, but progress is a bit slow. I plan to communicate with them and implement some features first, ensuring forward compatibility.
Fabric loader PR #1024.

Aside from that, I wrote two small tools.

@winsrewu
winsrewu / blog#lately-3.md
Last active November 3, 2025 14:02
A blog

The author reports on ongoing software development work, focusing on two main areas. For a Fabric mod, the FMJ v2 component is nearly complete and awaits testing. Concurrently, they are engaged in full-stack development, having switched the ORM for better JSON support. Efforts to enhance the authentication system and UI are partially done, with an email system implemented and return values standardized, but error handling remains non-functional.

I figured the April Fool's version wasn't that fun either.

After heading to the Fabric Discord to chat a bit following #2, the only thing missing for the Fabric Mod JSON v2 now is some testing. So, I have another chance to ramble, though I’ll have to wait for them to wake up for a response.

The rest of the time, I’ve been working on full-stack development. Originally, I planned to improve the UI, but then I realized the authentication system needed to log some IP information. To do this, I’d have to set up keys on both the frontend and backend, and also add email

@winsrewu
winsrewu / blog#lately-4.md
Last active November 3, 2025 14:04
A blog

The developer provides a progress update on their project, detailing backend bug fixes, a switch to a new ORM, and plans to adopt Vue. Frontend work is paused. They discuss challenges in mod development with Fabric, including plans for cross-version support and an automated testing system. A significant portion of the update is dedicated to resolving issues with a multi-threaded downloader created to expedite dependency downloads, which required extensive rewrites to fix bugs related to caching and certificate handling.

Okay.
I just fixed some backend bugs. I haven't logged in since #3, so many things weren’t tested. Switching to a new ORM was quite a disruptive change...
Frontend development has been paused. I wrote a few animations, but since we have agents now, efficiency should improve. The next step is to directly switch to Vue.

There hasn’t been much news from Fabric, so I’ve been slacking off on mod development (I wanted to write a mod with different dependencies for the client and server, but

@winsrewu
winsrewu / blog#lately-5.md
Last active November 3, 2025 14:06
A blog

The author provides updates on several technical projects, noting a lack of progress on Fabric Mod JSON v2 and celebrating a video reaching 47,000 views. Development continues on a new status page, a blog to circumvent censorship, and an image hosting solution. Efforts on a hardware description language for redstone are ongoing but face challenges in managing complex wiring for numerous components.

I just clicked from the homepage to this page about 500 times... (referring to the MCBBS memorial page, --note)

Alright, well, to get to the point, there's still no news about Fabric Mod JSON v2. A month has passed, and I just went to chat casually for a bit, but nothing useful came up. Let's see if anyone else replies to me later.

Also, celebrating 47,000 views:
https://www.bilibili.com/video/BV1gFVLz1ESY
I didn't expect this one to blow up—it's more than twice the total views of all my previous videos combined.
Tsk.

@winsrewu
winsrewu / blog#lately-6.md
Last active November 3, 2025 14:08
A blog

The author reflects on their summer projects, including a decision to forgo supporting the new FMJ v2. Their primary achievement is creating an optimized RISC-V simulator within Minecraft, capable of running compiled programs like Snake, though they note concerns over its performance with heavy computations. They also discuss refactoring a website with Rust and a large-number calculation datapack.

Alright, um, on topic: there's still no news about Fabric mod JSON v2, so Noglerr isn't adding support. I think even if v2 comes out, I might not bother with cross-version support. I don’t feel like writing Java anymore, not many people use the mods anyway, and I haven’t been working on survival technical Minecraft lately.

This summer break has been pretty unproductive; I haven’t done much, mostly just playing games. BV1gFVLz1ESY got 73,000 views, which is pretty good.

I’ve done a bit of web development. I’m refactoring the entire website, turning the GUI into a CLI program. This whole thing is based on Rust and

@winsrewu
winsrewu / blog#lately-7.md
Last active November 4, 2025 11:55
A blog

The author developed a custom blog platform to support multi-account blogging and address aesthetic preferences. This post details various technical challenges, including fixing HTML standards for site navigation, resolving caching issues with Next.js, and managing site monitoring. It also covers ongoing website refactoring plans, academic pressures, and side projects like updating riscv-mc content and integrating a music tokenization library.

Well, I wrote this thing over the weekend: https://github.com/JwbFut/simple-gistblog
Mainly because nothing on the market really fits my needs. "JwbFut" is theoretically an organization, so there might be blogs from more than one account, but not many platforms support that.
Also, aesthetics are a bit of an issue with some others.

Then there's SEO stuff. I replaced the icons for all active sites (the main API site and the gistblog) with SVGs.
It's pretty bad, actually. Because the resolution was too low, the left and right halves of the "J" are different thickn

@winsrewu
winsrewu / blog#how to build c++ environment in risc-v baremetal.md
Last active November 23, 2025 02:32
A simple blog about riscv baremetal.

Based on riscv GNU toolchain.
I suggest you to use the default link script, and add your memory & stack & heap defination.
But remember, add a ".other: { (.) }", in case of there's some of the sections are not defined in the default script.
This is an example:

/* Copyright (C) 2014-2025 Free Software Foundation, Inc.
   Copying and distribution of this script, with or without modification,
   are permitted in any medium without royalty provided the copyright
   notice and this notice are preserved.  */
OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv", "elf32-littleriscv")
@winsrewu
winsrewu / blog#lately-8.md
Last active November 23, 2025 02:50
A blog

Facing slow load times with Next.js caching for dynamic blogs, the author designed a custom caching system that serves content instantly, updates in the background, and forces a refresh after a month of inactivity. The blog's storage was also migrated to an S3 proxy and miniserve for efficient file distribution, with edge caching set to six hours. After initial concerns, the system has been running smoothly for two weeks. The author also notes progress on the riscv-mc emulator project.

Continuing from #7, the built-in caching in NextJS wasn't a good fit for my dynamic blogs, pages are loading painfully slowl. So I stayed up late, designed and implemented my own version. It avoids making requests for a certain period of time, and then starts making background requests as visits, so we can still see the content without delay. Finally, it forces a request when nobody has visited it for about a month. I also added the last updated feature from Gist, so it’s even faster.