Skip to content

Instantly share code, notes, and snippets.

View bczhc's full-sized avatar
🌴

Zhai Can bczhc

🌴
  • Jiangsu, China
  • 16:26 (UTC +08:00)
  • X @bczhc0
View GitHub Profile
@bczhc
bczhc / a.rs
Created June 26, 2024 03:55
Rust grayscale to binary FS dithering
use image::{GenericImageView, GrayImage};
fn main() -> anyhow::Result<()> {
let out_path = "/home/bczhc/Pictures/out.png";
let image = image::open("/home/bczhc/Pictures/唤冬兽.png")?;
let grayscale = image.grayscale().into_luma8();
let (width, height) = grayscale.dimensions();
let (width, height) = (width as usize, height as usize);
@bczhc
bczhc / eink-fetch-info
Created June 24, 2024 20:59
宿舍墨水屏 用到的一些代码
#!/bin/env ruby
require 'json'
require 'cgi'
require 'shellwords'
exports = JSON.parse(File.read('/home/bczhc/exports.json'))
response = `curl https://api.coincap.io/v2/rates/bitcoin -s`
btc_price = JSON.parse(response)['data']['rateUsd'].to_f
@bczhc
bczhc / wsjtx.log
Last active July 1, 2024 03:58
我的FT8通联日志!
2024-06-17,18:25:00,2024-06-17,18:26:15,3W9A,OM33,21.075005,FT8,-13,-16,7W,My first FT8 QSO!,,
2024-06-17,19:39:15,2024-06-17,19:40:39,3W9A,OK33,21.074230,FT8,-09,-19,8W,,,
2024-06-18,04:07:45,2024-06-18,04:09:18,4I1GRN,PK04,21.074787,FT8,-18,-15,7W,,,
2024-06-18,06:33:30,2024-06-18,06:34:30,DU1/NF0O,,21.075242,FT8,-15,-03,10W,,,
2024-06-18,06:39:30,2024-06-18,06:40:45,BA7LFQ,OL51,21.075219,FT8,-11,-16,10W,,,
2024-06-18,06:47:00,2024-06-18,06:47:00,BD8SN,,21.075612,FT8,-04,-16,10W,,,
2024-06-18,06:48:15,2024-06-18,06:49:15,BI8CKV,OM10,21.075432,FT8,-07,-10,10W,,,
2024-06-18,06:58:00,2024-06-18,06:59:00,JA4FDZ,PM64,21.075515,FT8,-16,-20,10W,,,
2024-06-18,07:06:15,2024-06-18,07:07:15,JK1EVU,PM95,21.076203,FT8,-09,-14,10W,,,
2024-06-18,07:11:15,2024-06-18,07:12:15,BD8NBG,OL36,21.076321,FT8,-08,-04,10W,,,
@bczhc
bczhc / a.md
Last active June 22, 2024 14:29
用Raspberry PI4当手动电键连接器

说明

先在树莓派上运行rpi,此时它会在5001端口上监听TCP连接。

当GPIO23和VCC相连时,为电键接通,PWR_LED(红色)会亮起,并向连接的客户端socket发送字节1;反之断开时,为电键断开,PWR_LED熄灭,并向连接的客户端socket发送字节0

在电脑(使用X11的Linux)上运行host,把IP地址改成树莓派的地址,就可成功连接。电键触发与断开就会分别发送mousedownmouseup

@bczhc
bczhc / ALL.txt
Created June 7, 2024 04:40
FT8 SWL log
240606_041300 14.074 Rx FT8 -10 0.2 1122 JG1RBB/P DV1XQX 73
240606_041300 14.074 Rx FT8 -16 0.2 1196 BG9PEE UA0LQE RR73
240606_041300 14.074 Rx FT8 -17 2.0 1383 JR0NEA BG5VLG OL86
240606_041315 21.074 Rx FT8 -5 0.5 1401 EA1FCH BG6ODU -20
240606_041315 21.074 Rx FT8 -14 0.4 938 EA1FCH JR0SXU PM97
240606_041315 21.074 Rx FT8 -6 0.6 1042 NH6WD BV2LA -14
240606_041330 21.074 Rx FT8 -10 0.4 993 9M2RSI JA3KVT -20
240606_041330 21.074 Rx FT8 -10 2.1 1383 JR0NEA BG5VLG OL86
240606_041330 21.074 Rx FT8 -14 0.4 197 CQ BI1FQO ON80
240606_041330 21.074 Rx FT8 -18 0.4 1121 AC6DX DV1XQX PK04
@bczhc
bczhc / a.cpp
Created April 29, 2024 16:21
SIMD玩弄
// set(CMAKE_CXX_FLAGS "-mavx -mavx512vl -mavx512dq")
#include <cstdint>
#include <cstddef>
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <xmmintrin.h>
#include <cmath>
#include <immintrin.h>
@bczhc
bczhc / exif
Last active April 27, 2024 15:26
安卓早期App图标 Exif
ExifTool Version Number : 12.76
File Name : ic_launcher.png
Directory : .
File Size : 19 kB
File Modification Date/Time : 2024:04:27 23:24:33+08:00
File Access Date/Time : 2024:04:27 23:24:35+08:00
File Inode Change Date/Time : 2024:04:27 23:24:33+08:00
File Permissions : -rw-r--r--
File Type : PNG
File Type Extension : png
@bczhc
bczhc / Casio 991 CN X study
Created April 24, 2024 07:17
Casio 991 CN X study
110an:
5行+14
124an:
7行+5
栈的存取是两字节对齐的,an的偏移只能为偶数。栈顶也要为奇数!!!
F. xx xx xx xx xx yy xx x10 xx (后8个字符)
@= 1.0000 xx xx xx yy xx x10 xx (前6个字符)
*注意:标注yy的地方,不能含16进制的字母,并且,14个字符必须打满!
@bczhc
bczhc / a.md
Created April 13, 2024 05:59
高中时试出来的991CN X简便乱字+异常菜单

由于当时发的帖不是很好找(现在不怎么用百度贴吧了,百度里搜我的id也搜不到),往这记一份。

简便乱字+异常菜单
刷an,光标移到an左边
由于电脑不在身边,所以只能用纯文字叙述了,输入就是在数学模式下。
六个分数线,从上到下分别是√11,√(11√(11)),11,11,11,11
然后按=,6除2,八个左括号,2+1,=,AC
此时就乱字+异常菜单。菜单,科学常数,单位换算和复位都有乱字,但是不完全,有的还是原来的。
这个模式容易死机,设置中不能下翻,否则死机;菜单中貌似右键没用,左键只能按最低三下,否则死机。计算也会死机。
@bczhc
bczhc / a.rs
Created March 25, 2024 13:33
读Exif GPS数据,生成Google kml的关键xml
use std::collections::HashMap;
use std::fs::File;
use std::io::stdin;
use std::path::Path;
use rexif::{ExifEntry, ExifTag, TagValue, URational};
#[derive(Debug)]
struct GpsInfo {
latitude: f64,