Skip to content

Instantly share code, notes, and snippets.

View Michaelliv's full-sized avatar

Michael Michaelliv

View GitHub Profile
@Michaelliv
Michaelliv / markitdown-s32k3xx.md
Created March 26, 2026 22:55
markitdown output: S32K3xx datasheet (2.4MB PDF) — 19,831ms

S32K3XX S32K3xx Data Sheet Rev. 13 — 12 November 2025 Product data sheet Supports S32K344, S32K324, S32K314, S32K312, S32K311, S32K310, S32K341, S32K342, S32K322, S32K328, S32K338, S32K348, S32K356, S32K358, S32K388 and S32K389. Data is preliminary for S32K312 and S32K344 100LQFP only. This document includes key information in the file attached to it. See the attachment icon in the PDF window to see the list of attachments. • Operating characteristics • Memory and memory interfaces — Voltage range: 2.97 V to 5.5 V

@Michaelliv
Michaelliv / markit-s32k3xx.md
Created March 26, 2026 22:55
markit output: S32K3xx datasheet (2.4MB PDF) — 802ms

Supports S32K344, S32K324, S32K314, S32K312, S32K311, S32K310, S32K341, S32K342, S32K322, S32K328, S32K338, S32K348, S32K356, S32K358, S32K388 and S32K389. Data is preliminary for S32K312 and S32K344 100LQFP only. This document includes key information in the file attached to it. See the attachment icon in the PDF window to see the list of attachments. • Operating characteristics — Voltage range: 2.97 V to 5.5 V — Ambient temperature range: -40 °C to 125 °C for all power modes • Arm™ Cortex-M7 core, 32-bit CPU — M7 supports up to 320 MHz frequency

@Michaelliv
Michaelliv / SKILL.md
Created December 22, 2025 21:53
Debate skill for Claude Code - simulate expert panel debates
name debate
description Simulate expert panel debates on any topic. Suggests personas based on context and facilitates structured discussions with conflicting viewpoints.

Expert Panel Debate

You are facilitating an expert panel debate. Follow this process:

Step 1: Gather Context

package com.github.michaelliv.characters
import com.github.michaelliv.extensions.charSetUnion
import com.github.michaelliv.extensions.openCharSetOf
import com.github.michaelliv.extensions.toCharSet
object Unicode {
val EXCLAMATION_MARK = openCharSetOf(
'!', // U+0021 EXCLAMATION MARK = factorial = bang
@Michaelliv
Michaelliv / usefull_commands.md
Created May 2, 2024 09:30
Useful commands for investigating code bases with LLMs

Copy Code to Clipboard

This command searches for specific file types in the current directory and its subdirectories, extracts the code content (excluding comment lines), and copies the result to the clipboard.

Command Template

find . -type f \( -name "*.<file_extension_1>" -o -name "*.<file_extension_2>" \) -print0 | xargs -0 -I {} sh -c 'echo {}; grep -v "^//" {}' | pbcopy

Example (JavaScript)

@Michaelliv
Michaelliv / copy_objects_by_last_modified.py
Created April 7, 2022 05:58
Copies all objects from source s3 path to target s3 path, filters results by last modified date
from datetime import datetime
from typing import Optional, Callable
import awswrangler
import boto3
import pytz
def copy_bucket_content(
source_s3_uri: str,
@Michaelliv
Michaelliv / clear_bucket_by_min_date.py
Created March 29, 2022 18:18
Deletes entire bucket content based on bucket names, object prefix and minimal date
from datetime import datetime
from typing import Optional
import boto3
import pytz
def clear_bucket_by_min_date(
bucket: str,
prefix: Optional[str] = None,
import multiprocessing as mp
from typing import Dict
POISON = "POISON"
LOCK = mp.Lock()
class MultiprocessTermCounter:
def __init__(self, num_workers: int = mp.cpu_count()):
self.queue = mp.Queue()
def count_terms_line_by_line():
total_count: Counter = Counter()
for line in open(DATA_PATH, encoding="utf8"):
line_count = line.lower().split(' ')
total_count += Counter(line_count)
def count_terms_in_memory():
total_count: Counter = Counter()
with open(DATA_PATH, encoding="utf8") as f:
# Read the file into memory
lines = f.readlines()
# Lower case each line, split by space
for line in lines:
terms = line.lower().split(' ')
total_count += Counter(terms)