Skip to content

Instantly share code, notes, and snippets.

View dylancwood's full-sized avatar

Dylan Wood dylancwood

View GitHub Profile
@dylancwood
dylancwood / tree.css
Last active July 17, 2026 16:00
CSS to create a simple tree structure with connecting lines. No images or JS required.
ul.tree, ul.tree ul {
list-style: none;
margin: 0;
padding: 0;
}
ul.tree ul {
margin-left: 10px;
}
ul.tree li {
margin: 0;
@dylancwood
dylancwood / time-management-instructions.md
Last active July 13, 2026 18:44
AI Time Management System — Claude Project instructions for daily planning, habit tracking, and weekly reviews using Todoist + Google Calendar

AI Time Management System — Claude Project instructions for daily planning, habit tracking, and weekly reviews using Todoist + Google Calendar

AI Time Management System — Claude Project Instructions

What this is: Instructions for a Claude Project that turns Claude into a personal time management assistant using Todoist and Google Calendar. Paste this into a Claude Project's custom instructions, connect Todoist and Google Calendar via MCP, and you get an AI assistant that plans your day, schedules tasks, tracks habits, and runs daily/weekly reviews.

Requirements: Claude Pro/Team with a Claude Project, Todoist MCP connector, Google Calendar MCP connector.

How to customize: Search for [CUSTOMIZE] tags — these mark the sections you need to adapt to your own life. The system design works as-is; you just need to fill in your details.

@dylancwood
dylancwood / README.md
Created March 21, 2026 20:00
Linear Daemon for Claude Code — polls Linear for labeled issues and spawns autonomous Claude Code agents to implement them

Linear Daemon for Claude Code

A bash daemon that polls Linear for labeled issues and spawns autonomous Claude Code instances to implement them.

How It Works

  1. Polls Linear's GraphQL API every 60 seconds
  2. Finds issues with a configurable label (default: claude) in Todo status
  3. Spawns a claude -p instance in an isolated git worktree for each issue
  4. The Claude agent autonomously: reads the issue, creates a plan, implements the fix, runs tests, merges to main, and pushes
@dylancwood
dylancwood / wmlabs-awesome.md
Last active April 8, 2019 19:37
Walmartlabs Software Engineer job description

Walmart Labs | Software Engineer, All Levels

Extremely competitive compensation package | Portland, OR / Sunnyvale, CA / Remote (USA only ) | Full Time, Contract to Hire

  • Full stack developers: Node.js, React, Typescript
  • Native Mobile developers: iOS, Android
  • DevOps CI/CD toolchain engineer

Are you a passionate engineer with a thirst to build quality software that impacts millions of people? We are the Digital Acceleration team at Walmart Labs, and we share your enthusiasm! Walmart’s mobile apps and website are used daily by millions of customers. As a member of the DA team, you'll be deeply involved with creating novel features that make customer’s lives easier by linking digital and physical shopping experiences.

Our team is energized and expanding rapidly- we are on the forefront of the battle for the future of retail. You'll be working shoulder-to-shoulder with a top-notch and diverse group of iOS, Android and services developers. The team is still small enough to feel intimate, but driven

@dylancwood
dylancwood / install_fips.sh
Last active July 14, 2016 18:00
Shell script to compile and install FIPS-validated Open SSL as well as Apache 2.4. Tested on Ubuntu 12.04. This script does not verify the fingerprint of the OpenSSL FIPS object module, and is therefore incomplete. It is a good place to start though.
#!/bin/bash
echo "installing updates"
sudo apt-get update
echo "installing build-essential"
sudo apt-get install build-essential
echo "moving to home dir"
cd ~
@dylancwood
dylancwood / php_leading_zero_numbers.php
Last active December 31, 2015 02:39
This simple script illustrates that PHP interprets digits with leading zeros as an octal. This can cause problems when interpreting user input as an integer without converting it to a string first then parsing it (e.g with intval()).
<?php
echo 'This simple script illustrates that PHP interprets digits with leading zeros as an octal. This can cause problems when interpreting user input as an integer without converting it to a string first then parsing it (e.g with intval()).';
echo '<br>Notice that numbers greater than 7 do not compare nicely with their leading-zero counterparts.';
echo '<br>';
echo '9';
echo '<br>';
echo '9==09 ... ';
echo iif(9==09, 'true', 'false');
echo '<br>';
echo '9==9 ... ';
@dylancwood
dylancwood / informed_redirect.html
Created November 21, 2013 03:54
Simple webpage to inform users that a resource has changed locations, and redirect after 10 seconds. Has some cute graphics that are pure CSS: no images for the fastest possible loading times.
<!DOCTYPE html>
<html>
<head>
<script>
;{
var render_timer, initialize_page
, old_app_name = 'Self Assessment'
, new_app_name = 'Participant Portal'
, old_app_url = 'http://chronus.mrn.org/self'
, new_app_url = 'http://coins.mrn.org/p2';
@dylancwood
dylancwood / data-record-schema.xml
Created December 10, 2015 21:49
add schema for data-records and data-uploads
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<changeSet id="add tables for independent-blob schema"
author="DWOOD">
<comment>Create tables for file-record and file-upload schema</comment>

Here's how bad channel data is stored in the COINS DB: Each scan session is stored as a row in the mrs_scan_sessions table. Multiple scan series may be associated with each scan, and are stored in the mrs_series table. Scan metadata categories like bad channels are stored in the mrs_scan_data_types table. Series are associated with many metadata categories the mrs_series_data table (which contains a series_id, a scan_data_type_id and a value).

Exporting this data through our more modern API would result in the following format:

[
@dylancwood
dylancwood / post.md
Created August 16, 2015 00:52
Promise tips

I spent a little time in a Promise rabbit-hole today, and thought I'd share two rules-of-thumb that I came up with to avoid such holes in the future. This came from writing Mocha tests, but it applies to lots of code:

Example:

describe('Some Async Test', () => {
    var myPromise;
    before('Do some async setup', () => {
        myPromise = doSomethingAsync();
 return myPromise;