Skip to content

Instantly share code, notes, and snippets.

View niw's full-sized avatar
🐱
Meow

Yoshimasa Niwa niw

🐱
Meow
View GitHub Profile
@niw
niw / Tuple.swift
Created August 16, 2025 11:52
A non-nominal, structual Tuple that conforms Equatable.
//
// Tuple.swift
// Tuple
//
// Created by Yoshimasa Niwa on 8/8/25.
//
public struct Tuple<each T: Equatable>: Equatable {
public static func == (lhs: Tuple<repeat each T>, rhs: Tuple<repeat each T>) -> Bool {
var result = true
#!/bin/bash
# Congratulations! You found the easter egg! ❤️
# おめでとうございます!隠されたサプライズを見つけました!❤️
# Define the text to animate
text="♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥"
# Get terminal dimensions
cols=$(tput cols)
@niw
niw / UUIDv7.swift
Last active July 25, 2025 19:21
A simple UUIDv7 implementation in Swift.
//
// UUIDv7.swift
// UUIDv7
//
// Created by Yoshimasa Niwa on 7/25/25.
//
import Foundation
import Security
@niw
niw / SeverSentEvent.swift
Last active July 24, 2025 01:02
A simple Sever-Sent Event Client implementation on `URLSession`
import Foundation
public enum ChunkedDataTaskError: Swift.Error {
case notSuccess(_ data: Data, _ httpResponse: HTTPURLResponse)
}
private extension Int {
var isSuccess: Bool {
(200 ..< 300).contains(self)
@niw
niw / MainView.swift
Last active May 12, 2025 23:02
Sample code to implement a vertically gorwing NSTextView in SwiftUI
import AppKit
import SwiftUI
public struct TextView: NSViewRepresentable {
@Binding
var text: String
var font: NSFont?
public init(
text: Binding<String>
@niw
niw / Observation.swift
Created March 25, 2025 01:26
Experimental `onChange(of:initial:perform:)`
import Foundation
import Observation
func onChange<Value>(
of value: @autoclosure () -> Value,
initial: Bool = false,
perform: (_ oldValue: Value, _ newValue: Value) -> Void,
_: isolated Actor = #isolation
) async throws {
let (stream, continuation) = AsyncThrowingStream.makeStream(of: Void.self)
@niw
niw / colors.sh
Created December 31, 2024 14:18
Prints each color in the palette on terminal emulator.
#!/usr/bin/env bash
for i in {0..255}; do
printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
printf "\n"
fi
done
@niw
niw / comfyui_mochi_vae_on_mps.diff
Last active December 6, 2024 03:36
A quick patch to make Mochi VAE works on macOS
diff --git a/comfy/ldm/genmo/vae/model.py b/comfy/ldm/genmo/vae/model.py
index b68d48a..694b33a 100644
--- a/comfy/ldm/genmo/vae/model.py
+++ b/comfy/ldm/genmo/vae/model.py
@@ -78,7 +78,12 @@ class PConv3d(ops.Conv3d):
# Apply padding.
assert self.padding_mode == "replicate" # DEBUG
mode = "constant" if self.padding_mode == "zeros" else self.padding_mode
+ is_mps_device = x.device.type == "mps"
+ if is_mps_device:
@niw
niw / use_var_in_struct.md
Last active June 13, 2025 17:21
Use `var` in `struct` in Swift

Use var in struct in Swift

TL;DR: Use var for properties in struct as long as it serves as a nominal tuple. In most cases, there is no obvious benefit to using let for struct properties.

Simple Example

Let's start with a simple example:

struct MyStruct {
@niw
niw / check.swift
Last active November 5, 2024 10:34
Check `MPSGraph.padTensor(_:with:leftPadding:rightPadding:constantValue:name)` behavior.
#!/usr/bin/env xcrun swift
import Foundation
import MetalPerformanceShaders
import MetalPerformanceShadersGraph
let device = MTLCreateSystemDefaultDevice()!
//let size = 256 * 256 - 1 // This size should work
let size = 256 * 256 // This size may not work