Skip to content

Instantly share code, notes, and snippets.

@t-mat
t-mat / hello-ylt-struct_pack.cpp
Created November 13, 2024 15:39
[C++]ylt/struct_pack
// struct_pack : https://alibaba.github.io/yalantinglibs/en/struct_pack/struct_pack_intro.html
#include <iostream>
#include <sstream>
#include <vector>
#include <map>
#include <ylt/struct_pack.hpp>
struct person
{
int64_t id;
@t-mat
t-mat / setup-caddy.md
Created October 2, 2024 07:49
[Win32]Setup Caddy HTTP file server
pwsh.exe
cd ~/../Public
mkdir TestCaddy
cd    TestCaddy
curl.exe -JOL https://github.com/caddyserver/caddy/releases/download/v2.8.4/caddy_2.8.4_windows_amd64.zip
tar.exe -xf caddy_2.8.4_windows_amd64.zip

mkdir public_html
echo HELLO &gt; public_html\index.html
@t-mat
t-mat / TestURLDownloadToFile.cpp
Created September 3, 2024 12:11
[Win32] URLDownloadToFile
// Should I use URLDownloadToFile?
// Answered by Mike Caron : https://stackoverflow.com/a/5185008
#define _CRT_SECURE_NO_WARNINGS
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <Urlmon.h>
#include <string>
#include <functional>
#pragma comment(lib, "User32.lib")
@t-mat
t-mat / ControlWindowsTerminalProgressBar.md
Last active June 17, 2024 10:51
[Windows][Windows Terminal] Control Windows Terminal's progress bar from batch file

Default PowerShell

: Idle (default)
powershell -command " Write-Host -NoNewline ([char]27 + \"]9;4;3\" + [char]7) "

: WIP (rotation)
powershell -command " Write-Host -NoNewline ([char]27 + \"]9;4;0\" + [char]7) "
@t-mat
t-mat / build-nethack.cmd
Created June 1, 2024 07:48
[Windows] Download and build NetHack
@rem Download and build script for NetHack for Windows x64 Desktop, VC++2022
@echo off
setlocal EnableDelayedExpansion
set /a errorno=1
for /F "delims=#" %%E in ('"prompt #$E# & for %%E in (1) do rem"') do set "esc=%%E"
set "ROOT=%CD%"
:
: Check prerequisites
:
@t-mat
t-mat / AlpineWSL.run.bat
Created May 4, 2024 17:16
[Windows] Download and run Alpine Linux on WSL
@echo off
setlocal EnableDelayedExpansion
set /a errorno=1
for /F "delims=#" %%E in ('"prompt #$E# & for %%E in (1) do rem"') do set "_ESC=%%E"
cd /d "%~dp0"
set /a _E =0
set /a _E+=1 && if not exist "Alpine.zip" ( curl -JOL https://github.com/yuk7/AlpineWSL/releases/download/3.18.4-0/Alpine.zip )
set /a _E+=1 && if not exist "Alpine.zip" goto :ERROR
set /a _E+=1 && if not exist "Alpine.exe" ( tar -xkf .\Alpine.zip )
@t-mat
t-mat / winget-error-0x8a15005e.md
Created April 28, 2024 13:46
[Windows] `winget` keep reporting mysterious error 0x8a15005e

Problem: winget CLI command keep reporting a mysterious error code 0x8a15005e

Solution: Update winget.exe via aka.ms/getwinget

pwsh.exe
cd $env:USERPROFILE\Desktop
curl.exe -JOL https://aka.ms/getwinget
Add-AppxPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.txt.msixbundle
@t-mat
t-mat / SelectAFileInFileExplorer.cs
Created April 8, 2024 08:53
[Unity][Windows] Select a file in the file explorer
using System;
using System.IO;
using System.Runtime.InteropServices;
using UnityEditor;
using UnityEngine;
internal static class Test {
[MenuItem("Help/Test/SHOpenFolderAndSelectItems")]
private static void MenuItem_MyMenu_SHOpenFolderAndSelectItems() {
string path = "C:/Windows/system.ini";
@t-mat
t-mat / ReportAllTextureImporterSettingsAsCSV.cs
Last active April 6, 2024 07:17
[Unity] Report all TextureImporter settings as CSV
//
// This Unity Editor script reports all TextureImporter settings as CSV file.
//
// Usage:
// - Invoke "UnityEditor > Help > TextureImporterReporter > Report all TextureImporter settings as CSV"
// - Script creates report CSV file and reports its file name.
//
// License
// -------
// SPDX-FileCopyrightText: Copyright (c) Takayuki Matsuoka
@t-mat
t-mat / SimpleIniFile.hpp
Created March 6, 2024 21:34
Simple in-memory .ini file parser in C++20
// Simple in-memory .ini file parser in C++20
//
// - Header only library
// - No exception, heap allocation and callback
// - Depends only <stddef.h>
// - Opt-in compatibility with <string_view> (SIMPLE_INI_FILE_HPP_VIEW_TYPE)
//
// Usage
// -----
//