Skip to content

Instantly share code, notes, and snippets.

View kojix2's full-sized avatar
🔬
🧬 🖥️ ♋

kojix2

🔬
🧬 🖥️ ♋
View GitHub Profile
@kojix2
kojix2 / README.md
Created May 22, 2025 09:11
Proposal: Cross-Platform Screenshot Support for **libui-ng**

Proposal: Cross-Platform Screenshot Support for libui-ng

TL;DR

Add a lightweight, opt-in API that lets CI pipelines (and developers) capture PNG screenshots of uiWindow / uiArea contents on Windows, macOS, and Linux. This enables visual regression tests, automated UI documentation, and faster debugging—without pulling in heavyweight graphics stacks like Cairo.


1 — Why?

require "../src/onnxruntime"
require "vips"
require "option_parser"
# YOLOv7 Object Detection Example
# This example demonstrates how to use ONNXRuntime.cr with YOLOv7 for object detection
# COCO dataset labels
LABELS = ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train",
"truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter",
@kojix2
kojix2 / speech.rb
Last active November 10, 2024 09:05
Command line tool to call ChatGPT's Speech API from Ruby
require 'getoptlong'
require 'openai'
options = {
'output' => 'speech.mp3'
}
parameters = {
'model' => 'tts-1',
'input' => nil,
'voice' => 'alloy',
@kojix2
kojix2 / t.c
Last active October 20, 2024 06:59
pileup sample by ChatGPT
#include <stdio.h>
#include <stdlib.h>
#include <htslib/sam.h>
#include <htslib/hts.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
fprintf(stderr, "Usage: %s <bam_file>\n", argv[0]);
return 1;
}
@kojix2
kojix2 / crystal.patch
Last active August 17, 2024 14:30
Investigate crystal compile time
diff --git a/src/compiler/crystal/compiler.cr b/src/compiler/crystal/compiler.cr
index 38880ee9e..c51e2c7ef 100644
--- a/src/compiler/crystal/compiler.cr
+++ b/src/compiler/crystal/compiler.cr
@@ -204,15 +204,28 @@ module Crystal
# Raises `InvalidByteSequenceError` if the source code is not
# valid UTF-8.
def compile(source : Source | Array(Source), output_filename : String) : Result
+ t1 = Time.monotonic
source = [source] unless source.is_a?(Array)
@kojix2
kojix2 / README.md
Last active August 11, 2024 23:47
Investigation of class_getter in crystal
git clone https://github.com/crystal-lang/crystal
git checkout b9ab9968b85ce2b99a875abd4360b1a432e27a98
cd crystal
grep -r class_getter
@kojix2
kojix2 / md5.cr
Created June 14, 2024 07:48
Crystal lang md5 check
require "digest/md5"
require "colorize"
# Get the filename from the command-line arguments
filename = ARGV[0]
# Change the directory to the location of the file
Dir.cd File.dirname(filename)
# Define a FileRecord structure to store the md5sum and file path
@kojix2
kojix2 / test_gzip_generator.c
Created May 8, 2024 06:36
Generate gzip file for testing Compress::Gzip ver1
#include <stdio.h>
#include <string.h>
#include <zlib.h>
#include <time.h>
int main()
{
char *filename = "test.gz";
char *contents = "One\nTwo";
int content_length = strlen(contents);
@kojix2
kojix2 / fuga.c
Last active May 8, 2024 06:31
GZIPのいろんなフラグが立ってるやつ
#include <stdio.h>
#include <string.h>
#include <zlib.h>
#include <time.h>
int main()
{
char *filename = "test.gz";
char *contents = "One\nTwo";
int content_length = strlen(contents);
@kojix2
kojix2 / bam_plp_auto.c
Last active May 2, 2024 11:52
bam_plp_autoの使用例
#include <stdio.h>
#include <stdlib.h>
#include <htslib/sam.h>
typedef struct {
samFile *fp;
bam_hdr_t *h;
} bam_file_handle;
static int process_reads(void *data, bam1_t *b) {