Skip to content

Instantly share code, notes, and snippets.

@wodin
wodin / google-workspace-account-conversion-warning.md
Last active January 23, 2026 13:59
Google Workspace Inbound Gateway Setup (keep your own MX)

Google Workspace Account Conversion Warning

The Problem

When setting up Google Workspace, if the admin is signed into a personal @gmail.com account, Google may convert that personal account into the Workspace account rather than creating a fresh mailbox.

Symptoms

  • New Workspace user (e.g., user@yourdomain.com) shows years of old mail
  • Storage is already full (inherited from personal account)
  • "Contact information" during setup showed the personal Gmail address
@wodin
wodin / RNSVG#2198.md
Last active January 20, 2026 05:20
Technical explanation of ClipPath combining fix for react-native-svg PR

The ClipPath Combining Fix: A Technical Story

The Problem

SVG's <clipPath> element defines a clipping region. When a clipPath has multiple children (shapes like <rect>, <circle>, <path>, etc.), the SVG spec is clear:

"The silhouettes of the child elements are logically OR'd together" — SVG 2 Spec

This means if you have:

@wodin
wodin / final_review_54.md
Created November 30, 2025 17:11
PR #54 Multi-Agent Code Review - watermelondb-expo-plugin

PR #54 Final Review - Multi-Agent Consolidated Assessment

Verdict: BLOCK MERGE

PR: #54 (v2.4.0) Branch: v2.4.0 → beta Reviewers: Security, Performance, Quality, Gemini, Codex


@wodin
wodin / TODO-1500-fixes.md
Created November 24, 2025 15:04
PR #1500 Multi-Agent Review - Issue Fixes

PR #1500 Multi-Agent Review - Issue Fixes

VERIFIED: Issues Actually Introduced by PR #1500:

  • Snapshot JSON parsing complexity (notes_controller.rb:38-80) - new code
  • JSON parsing with bare rescue (notes_controller.rb:50-56) - silent failures
  • get_value() falsy handling behavior (debatable if bug - intentionally returns falsy values)

VERIFIED: Fixed Within PR #1500:

  • ✅ N+1 queries for staff roles (introduced commit 99aec49922, fixed commit 1b878d6c55)
  • ✅ Lambda duplication (introduced commit 99aec49922, fixed commit a5819fec1d)
@wodin
wodin / API_SPECIFICATION.md
Created November 22, 2025 10:34
Mobile App API Specification - Authentication & Lab Reports

Mobile App API Specification

Base URL: https://zeus.intelms.com:8447 Timeout: 30 seconds Content-Type: application/json


Authentication

@wodin
wodin / EmojiPicker.jsx
Created August 15, 2025 21:57
Emoji Picker
// https://stackblitz.com/edit/react-aria-emoji-picker?file=src%2FEmojiPicker.tsx
import {
Autocomplete,
Button,
GridLayout,
ListBox,
ListBoxItem,
Select,
SelectValue,
@wodin
wodin / AndroidManifest.xml
Last active January 1, 2023 23:37
Allowing an Android app to be moved to an SD card by the user (untested)
<!-- Need to specify the `installLocation`. Can do this with a config plugin -->
<!-- See `app.json` and `withAndroidManifestAttributes.js` below -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:installLocation="auto">
...
</manifest>
@wodin
wodin / eas.json
Created August 12, 2022 08:42
Simple EAS Build config with simulator build profiles
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"sim-dev": {
@wodin
wodin / app.config.js
Last active August 12, 2023 03:57
Add `usesCleartextTraffic` to AndroidManifest.xml in Expo managed workflow
/*
* Convert `app.json` to `app.config.js`
* Install `@expo/config-plugins` as a devDependency
* Copy the `withAndroidApplicationAttributes` config plugin and related `addAttributesToApplication` function to `app.config.js`
* Add a `plugins` section to reference the config plugin and specify the attribute to add
* Build with `eas build -p android ...`
*/
import { AndroidConfig, withAndroidManifest } from "@expo/config-plugins";
function addAttributesToApplication(androidManifest, attributes) {