Skip to content

Instantly share code, notes, and snippets.

@tommie
tommie / gcc.log
Created May 21, 2025 15:15
C const behavior
q.c: In function ‘main’:
q.c:6:10: error: assignment of read-only location ‘*a’
6 | a[0] = 'H';
| ^
q.c:7:10: warning: passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
7 | free(a);
| ^
In file included from q.c:1:
/usr/include/stdlib.h:687:25: note: expected ‘void *’ but argument is of type ‘const char *’
687 | extern void free (void *__ptr) __THROW;
(gdb) bt
#0 crash_dump::trigger_crash_dump () at ./src/common/crash_dump/dump.cpp:354
#1 iwdg_warning_cb () at ./src/buddy/main.cpp:721
#2 0x08060ace in wdt_tick_1ms () at ./src/common/wdt.cpp:76
#3 wdt_tick_1ms () at ./src/common/wdt.cpp:57
#4 SysTick_Handler () at ./src/buddy/timing_sys.cpp:31
#5 <signal handler called>
#6 0x080a7cfc in USBH_MSC_RdWrProcess (phost=phost@entry=0x20007574 <hUsbHostHS>, lun=lun@entry=0 '\000') at ./lib/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc.c:691
#7 0x080a7e48 in USBH_MSC_Read (phost=0x20007574 <hUsbHostHS>, lun=0 '\000', address=<optimized out>, pbuf=<optimized out>, length=1)
at ./lib/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc.c:827
@tommie
tommie / build-recreate-original.sh
Created May 17, 2025 20:34
Patch to recreate byte-perfect Prusa firmware images
#!/bin/bash
set -eu
set -o pipefail
ORIGINAL_BBF=${ORIGINAL_BBF:-MINI_english-german_firmware_6.2.4.bbf}
# Could be inferred from the ORIGINAL_BBF
preset=mini-en-de
build_type=release
@tommie
tommie / button.css
Last active February 25, 2025 10:28
Raised selection button https://jsfiddle.net/sehdxjr8/3/
/* Inspired by https://dribbble.com/shots/11333956-Smart-Home-App */
body {
background-color: #eee;
}
div {
display: inline-block;
padding: 8px;
margin: 2rem;
border-radius: 8px;
@tommie
tommie / pinialayers.ts
Created October 7, 2024 13:44
Pinia Nuxt module fix for layers
import { createResolver, defineNuxtModule, installModule } from '@nuxt/kit';
import type { ModuleOptions } from '@pinia/nuxt';
// Works around layers in Pinia.
//
// See https://github.com/vuejs/pinia/pull/2757.
export default defineNuxtModule<ModuleOptions>({
meta: {
name: 'pinialayers',
configKey: 'pinia',
@tommie
tommie / gdb bt
Last active September 25, 2024 07:58
cups-browsed 2.0.0 (Ubuntu 24.04.1) 100% CPU after suspend/resume
#0 0x0000710989bfdf92 in httpGets () at /lib/x86_64-linux-gnu/libcups.so.2
#1 0x0000710989bff416 in _httpUpdate () at /lib/x86_64-linux-gnu/libcups.so.2
#2 0x0000710989bff78b in httpUpdate () at /lib/x86_64-linux-gnu/libcups.so.2
#3 0x0000710989c175de in cupsSendRequest () at /lib/x86_64-linux-gnu/libcups.so.2
#4 0x0000710989c179d5 in cupsDoIORequest () at /lib/x86_64-linux-gnu/libcups.so.2
#5 0x0000710989d44792 in cfGetPrinterAttributes5 (http_printer=http_printer@entry=0x5d886f0068e0, raw_uri=raw_uri@entry=0x7fff54da0ad0 "ipp://localhost/printers/br_mfc_j6920dw", pattrs=pattrs@entry=0x5d886d444140 <pattrs>, pattrs_size=pattrs_size@entry=4, req_attrs=<optimized out>, req_attrs@entry=0x5d886d444140 <pattrs>, req_attrs_size=<optimized out>, req_attrs_size@entry=4, debug=1, driverless_info=0x0, is_fax=0) at cupsfilters/ipp.c:361
#6 0x0000710989d44e4a in cfGetPrinterAttributes3 (http_printer=http_printer@entry=0x5d886f0068e0, raw_uri=raw_uri@entry=0x7fff54da0ad0 "ipp://localhost/printers/br_mfc_j6920dw",
import * as THREE from "three";
function isLineBasicMaterial(mat: THREE.Material & { isLineBasicMaterial?: boolean }): mat is THREE.LineBasicMaterial {
return Boolean(mat.isLineBasicMaterial);
}
function isOrthographicCamera(camera: THREE.Camera & { isOrthographicCamera?: boolean }): camera is THREE.OrthographicCamera {
return Boolean(camera.isOrthographicCamera);
}
(module
(func $func132 (param i32 i32 i32 i32))
(func $main
i32.const 0
i32.const 0
i32.const 0
i32.const 0
call $func132)
(module
(func $func15 (result i32)
call $func130
i32.const 0
drop
i32.const 0
drop
i32.const 0)
(func $func63
(module
(func $main
loop
loop
loop
loop
loop
loop
loop
loop