Category: Essays

  • 尝试使用MkDocs给实验室编写公开文档

    Try using MkDocs to write public documentation for the lab.

    https://remyuu.github.io/VIS_Hiroshima

    I wrote some documentation for the lab on how newcomers can connect to the school's computer lab server using SSH. It covers Chinese, English, and Japanese, and supports submitting edits.

  • 服务器增加虚拟内存

    The server increases virtual memory.

    free -h
    df -h /
    
    fallocate -l 4G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    
    echo '/swapfile none swap sw 0 0' >> /etc/fstab
    
    sysctl vm.swappiness=20
    echo 'vm.swappiness=20' >> /etc/sysctl.conf
    
    free -h
    swapon --show
    
    JavaScript
  • 安卓手机公网监控摄像头推流

    Android phone public network surveillance camera streaming

    Security issue: Currently, unauthorized streaming is prevented only by using a random Stream Key.

    Using an Android phone as a camera, stream the video to remoooo.com via RTMP, and view it via https://remoooo.com/webcam with a password.

    Android phones stream to the Public Server via RTMP.

    The server connects to MediaMTX and converts it to an HLS listening address on the local machine.
    localhost is reverse proxyed to nginx, using HTTPS + Basic Auth, and finally viewed in Browser Viewer.

    Viewing link: rtmp://example.com:1935/

    In simple terms, the server uses MediaMTX as a media gateway. MediaMTX is responsible for receiving RTMP streams from mobile devices and converting them into HLS streams that can be played in a browser.

    RTMP App:

    Protocol: RTMP
    Server URL: rtmp://example.com:1935
    Stream Key: <stream-key>
    Video Codec: H.264
    Audio Codec: AAC
    Resolution: 1280x720
    FPS: 30
    Video Bitrate: 2000-3000 kbps
    Audio Bitrate: 96-128 kbps
    Keyframe Interval: 2s
    Bash
  • Ghostty 美化配置 config

    Ghostty customization configuration

    # =========================
    # Ghostty aesthetic config
    # =========================
    
    # ---------- Font ----------
    font-family = JetBrainsMono Nerd Font
    font-family = Maple Mono NF CN
    font-family = Noto Sans CJK SC
    font-family = Symbols Nerd Font Mono
    font-size = 14
    font-thicken = true
    font-thicken-strength = 64
    
    # ---------- Theme ----------
    theme = dark:Catppuccin Frappe,light:Catppuccin Latte
    
    # ---------- Window ----------
    window-padding-x = 12
    window-padding-y = 10
    window-padding-balance = true
    window-padding-color = background
    window-save-state = always
    
    # ---------- Transparency / Blur ----------
    background-opacity = 0.58
    background-blur = macos-glass-regular
    background-opacity-cells = false
    
    # ---------- Cursor ----------
    cursor-style = bar
    cursor-style-blink = false
    cursor-color = #e78284
    cursor-text = #303446
    cursor-click-to-move = true
    mouse-hide-while-typing = true
    adjust-cursor-thickness = 2
    
    # ---------- Selection ----------
    selection-background = #626880
    selection-foreground = #c6d0f5
    
    # ---------- macOS titlebar ----------
    macos-titlebar-style = sil
    macos-titlebar-proxy-icon = hidden
    macos-window-buttons = visible
    macos-option-as-alt = true
    
    # ---------- Shell integration ----------
    shell-integration = detect
    shell-integration-features = cursor,title,sudo,ssh-env,ssh-terminfo
    
    # ---------- Notifications ----------
    notify-on-command-finish = unfocused
    
    # ---------- Quick terminal ----------
    keybind = global:ctrl+grave_accent=toggle_quick_terminal
    quick-terminal-position = top
    quick-terminal-size = 42%
    quick-terminal-autohide = true
    
    # ---------- Keybinds ----------
    keybind = cmd+shift+r=reload_config
    keybind = cmd+d=new_split:right
    keybind = cmd+shift+d=new_split:down
    keybind = cmd+t=new_tab
    keybind = cmd+w=close_surface
    keybind = cmd+shift+up=jump_to_prompt:-1
    keybind = cmd+shift+down=jump_to_prompt:1
    keybind = cmd+shift+b=toggle_background_opacity
    JavaScript
  • Chrome 侧栏功能

    Chrome sidebar functionality

    go to chrome://flags (in url bar)

    search for vertical tabs and set it to enabled

    right click on the horizontal tab bar (empty space)

    Click “show tabs on the side”

  • ROG 魔霸9 9955hx3d 5070ti 更换显卡液金为霍尼韦尔7958SP

    ROG Strix G15 9955HX3D 5070ti graphics card replaced with Honeywell 7958SP liquid metal.

    Energy saving: It takes about 40 minutes, and the temperature remains basically unchanged before and after replacement.

    I bought a new computer and used it for about a week.

    Before replacing the thermal paste, the CPU temperature consistently reached its power limit of 95°C at 125W. Under dual stress testing, the CPU released approximately 50W of power, reaching around 75°C, while the GPU, under X0 FurMark, consumed approximately 100W and reached around 68-70°C.

    Begin replacing the Honeywell 7958SP. After removing all the screws, slightly twist the handles on both sides at the top; with a little force, the heatsink module can be removed. Be extra careful of any liquid metal residue remaining on the heatsink module.

    After disassembly, a significant amount of liquid metal was clearly observed to have leaked out, but this was likely due to movement during disassembly.

    The heat dissipation module has foam pads to prevent liquid metal from overflowing, providing decent protection.

    The liquid gold was removed using alcohol and cotton swabs. This process required patience and took about 20 minutes.

    Finally, it was cleaned up.

    Then replace the thermal paste. Close the lid to finish.

    Final roasting temperature compared to before replacementBasically the sameYes, you read that right, they are basically the same.

    Furthermore, an additional nearly 4° elevation can be achieved by using a height adjustment pad. So why not?

  • Prevent ‘Zone.Identifier’ Files from Appearing in WSL2

    Prevent 'Zone.Identifier' Files from Appearing in WSL2

    When using Windows Subsystem for Linux 2, we access our Linux file system using Windows Explorer. When we copying and pasting files, might notice addition files like 'xxx Zone.Identifier‘'.

    The 'Zone.Identifier' file is a Windows Attachment Manager feature that stores security information about files. However, since WSL2 uses an ext4 file system, Windows cannot store ADS natively. Instead, it creates a visible 'Zone.Identifier' file in the same directory.

    1. Delete Existing Files

    If you already have 'Zone.Identifier' files in your WSL2 directories, use one of the following methods to remove them.

    find ~/[Your Path] -name "*:Zone.Identifier" -delete
    Bash

    2. Disable Windows from Generating 'Zone.Identifier'

    If you frequently access WSL2 files from Windows and want to permanently stop Windows from attaching 'Zone.Identifier', you can disable this feature via Group Policy or Registry Editor.

    Press Win + R, type gpedit.msc, and hit Enter.

    Configuration → Administrative Templates → Windows Components → Attachment Manager
    用户配置 → 管理模板 → Windows 组件 → 附件管理器(In Chinese)

    EnableDo not preserve zone information in file attachments