#Code
233 postsMigrating from Jekyll to Astro
On June 21, 2026 I switched the site from Jekyll to Astro and rebuilt the theme from scratch. Here's why.
Read post2026-March Brain Dump
Bookmarks from March 2026
Read postGlitch in the CounterProductive Button – June 28 to July 4
CounterProductive downtime between June 28-July 4
Read postOngoing Project status updates 2025 June 10th
A status update of the Counter productive, Sky Pixles projects
Read postPCB Tips and Tricks
A few tools I keep coming back to when making PCBs: EasyEDA2Kicad, Gingerbread, and KiKit.
Read postSeeed Xiao ESP32-C6 using Adafruit CircuitPython 9.1.1 blink sketch
How to get a Seeed Xiao ESP32-C6 board up and running with Adafruit CircuitPython 9.1.1 and blink an LED.
Read postA variation of the useless machine idea
ChatGPT pretends to be a useless machine and tries to stop you from flipping the switch.
Read postPCB Metro maps retrospective
Retrospective of the Vancouver skytrain and Washinton Metro PCB maps
Read postDodecahedron PCB Retrospective
Retrospective of the dodecahedron polyhedron lamp
Read postDodecahedron PCB Design
PCB design of a pentagon plate of a dodecahedron lamp
Read postUSB-C PD Power Bank to Resmed AirMini or Airsense CPAP
Is it cheaper to build your own solution to portable CPAP battery, or buy something off the shelf?
Read postEnable copy and paste on website that disable copy and paste
A tutorial on how to enable copy and paste on website that disable copy and paste. Specifically BrimFinancial
Read postWebsite Changelog 2024-Feb-26
Added /now and /uses pages, moved old /about content to a /timeline page, and made /about the new home page.
Read postTools and equipment 2024
A 2024 snapshot of the software, hardware, camera gear, and shop tools I use day to day.
Read postIdea 096 - Boom numbers go up
Top down survival game where everything can be leveled up
Read postIdea 094 - Quickest way to rank a list of ideas
Use a sorting algorithm to efficiently sort a list of things in order
Read postIdea 092 - Command line tools as desktop applications
Desktop application UI wrapped around common Windows Linux MacOS command line tools
Read postIdea 081 - Experience confidence scores
Allows people to assert their experience with a skill with 3rd parties confidence score
Read postIdea 077 - Equilateral triangles LED panels
Create equilateral triangles LED panels to construct LED polyhedron shapes
Read postIdea 075 - Birdnet festival mesh network
A mesh network of birdhouses that chirp messages to each other using audio for the physical layer of the network
Read postIdea 045 - Spread your genes
A outdoor game that rewards you for spreading your DNA to as many other players as possible
Read postIdea 040 - Growth Commander - Tower defense
Your incharge of mutations and creation of your army You send your army out to collect food and battle enemies Tower defense style game without towers.
Read postIdea 039 - Growth a game
A game where you start as the smallest living thing, then grow and evolve depending on what actions you do the most
Read postIdea 037 - Chatbot Task Organizer
A chatbot that can organize simple tasks by date, location, or person
Read postIdea 006 - Procedurally generated Glowing Mushroom PCB
Procedurally generated Art PCB of mushrooms for the GameOfShrooms art project. Backlit LEDs to add a nice glowing effect.
Read postIdea 002 - Keyboard Flute
An electronic flute PCB the size of a ruler with hot-swappable keyboard switches, a MEMS mic for breath control, and an ESP32.
Read postTools and equipment 2022
Tools and equipment I use in 2022: VS Code, KiCAD, Sony a6400, Sigma 150-600mm, Logitech MX Master 3S, and a Pixel 6 Pro.
Read postCurrent tools and equipment (2021)
A list of my current tooks that I am using in 2021
Read postPanels - Stained glass windows project
Walkthrough of every panel in the digital stained glass window series: beehive, mountains, stars, hexagon weave, heart, sun, and more.
Read postDigital stained glass workshop - Post mortem
Post mortem from the September 2019 digital stained glass workshop at Maker Labs: what worked, what broke, and what six attendees built.
Read postTools and equipment 2019
My 2019 tools and equipment list, with notes on why I switched to PlatformIO, Firefox, and away from Samsung phones.
Read postJun 2019 brain dump
June 2019 bookmarks: a Casper nightlight teardown, the Etch-A-Snap Pi camera, SVG Nest, and stacked paper stained glass.
Read postWebsite theme update
Why I rebuilt blog.abluestar.com on a fresh Jekyll theme, plus a 20-year history of my CMS choices from plain HTML to static sites.
Read postFeb 2019 brain dump
February 2019 links on Arduino LED projects, an Etch A Sketch CNC, a zombie ESP8266 game, and James Clar's neon art.
Read postTools 2018
Snapshot of the software and hardware I leaned on in 2018, from VS Code and PlatformIO to a Surface Pro 3 and Sony WH-H900N.
Read postNov 2018 brain dump
November 2018 bookmarks on Wobble Garden, PCB art, SI playing cards, sand tables, and Islamic geometric design books.
Read postMay 2018 brain dump
May 2018 grab bag of links: pen plotters, ESPEasy firmware, the TWANG dungeon crawler, and a wooden lego planter.
Read postPrograming - Stained glass windows project
Writing the firmware for the stained glass panels with FastLED on an ESP8266, using LED offset sets to drive randomised patterns.
Read postHardware - Stained glass windows project
Parts list for the stained glass windows: white acrylic, square WS2812B LEDs, a Wemos D1 mini, and a 5V 5A supply.
Read postDesigning panels - Stained glass windows project
How I design the stained glass panel patterns in Fusion 360 and Inkscape, then export SVGs ready for the laser cutter.
Read postTech Demo - Stained glass windows project
Tech demo notes for the stained glass windows: gluing acrylic, building cardstock dividers, and killing LED hotspots.
Read postInspiration - Stained glass windows project
Inspiration for the stained glass windows project, from Lumina Lab's Stoicheia dodecahedron to mandala work on Instagram.
Read postKangaroo words
A python script that hunts kangaroo words, smaller words hidden inside larger ones, across the 20,000 most common English words.
Read postJanuary 2018 brain dump
Notes on dropping Evernote for are.na, TeamViewer alternatives, blockchain art, the Ice Cold Beer game, and a pile of bookmarks.
Read postESP8266 bitcoin tracker
A Wemos D1 and OLED shield that polls the Coindesk API every five minutes and shows the current BTC price and my running profit.
Read postVancouver Maker Faire 2017
What I brought to Vancouver Maker Faire 2017: the LED Pillar rhythm game, laser kaleidoscope, fox mask, thunderstorm cloud, and more.
Read postNotes from April 2017
April 2017 links: Google AnyPixel, a drinkable tequila cloud, the Cubic Cyphercon puzzle badge, ESP8266 deauther, and Shodan.
Read postLaser cutting in Vancouver
A guide to laser cutting in Vancouver after 4000 hours on the machines: where to cut, who to follow, and which shop to avoid.
Read postESP8266 Tips
Working notes on the ESP8266: useful libraries, debugging the Arduino core, taming the 300mA current spikes, and deep sleep gotchas.
Read postNotes from January 2017
January 2017 links: HexCells, the Universal Play Machine, makerjs for laser drawings, Mosquitto MQTT, and Node-RED home automation.
Read postTools and equipment 2016
The software and hardware I leaned on in 2016: VS Code, Fusion 360, Wanhao i3, X-Carve, Surface Pro 3, MX Master, and the Makers Notebook.
Read postNovember 2016 interesting link dump
November 2016 link dump: open source car control, ESP8266 MQTT LED controllers, the Maslow CNC, Boldport, and the poop emoji oral history.
Read postHalloween LED Fox Mask
A coroplast low-poly fox mask wired with NeoPixels and a WeMos D1 mini, with a brightness dial after Halloween blinded everyone.
Read postMushroom growing kit and automation
Growing an oyster mushroom kit and over-engineering it with an ESP8266, DS18B20 sensors, MQTT, and Twilio alerts.
Read postWanhao Duplicator i3
Notes on picking up a used Wanhao Duplicator i3, getting started with Cura, and a list of 3D printing resources.
Read postCNC Zen Garden - Vancouver Maker Faire 2016 Post Mortem
Post mortem of the CNC zen garden at Vancouver Mini Maker Faire 2016: shorts, skipped steps, and fixes that worked.
Read postFixing a broken particle photon firmware in windows for the L3D Cube
How to recover an L3D Cube Particle Photon from the red SOS blink by reflashing firmware on Windows.
Read postDay 100 - ESP8266 IFTTT button
An ESP8266 internet button that fires IFTTT recipes, built for an upcoming VHS workshop.
Read postDay 99 - VHS LED Wall
Pattern tests for the firefly room running on the VHS LED wall installation.
Read postDay 98 - Rainbow halloween hat
A Halloween hat in progress with NeoPixel LEDs driven by an Arduino.
Read postDay 97 - Giant fox mask
A 1.5-metre coroplast version of the Wintercroft fox mask, built during a VHS giant fox head build night.
Read postDay 96 - This is a not bomb
A sous vide PID temperature controller box with LEDs, seven-segment displays, and a relay. Not a bomb.
Read postDay 95 - IStandWithAhmed workshop
Source code for the IStandWithAhmed workshop, a binary count-up clock with a WS2811 strip and Arduino.
Read postDay 94 - Radiant acrylic fox mask
A laser-cut acrylic Wintercroft fox mask for Burning Man, ruined by Gorilla Glue foaming under the panels.
Read postDay 93 - Burning man belt
A NeoPixel LED belt built for Burning Man that cycles through colour patterns.
Read postDay 92 - Yellow jacket
A laser-cut wood yellow jacket in a top hat for the Fancy Bugs Burning Man series, made at VHS.
Read postDay 91 - Cockroach
A laser-cut wood American cockroach wearing a top hat for the Fancy Bugs Burning Man series.
Read postDay 90 - Blowfly
A laser-cut wood blowfly in a top hat for the Fancy Bugs Burning Man series, made at VHS.
Read postDay 89 - Jumping spider
A laser-cut wood jumping spider with a top hat, another entry in the Fancy Bugs Burning Man series.
Read postDay 88 - Preying mantis
A laser-cut wood praying mantis wearing a top hat, part of the Fancy Bugs series for Burning Man.
Read postDay 87 - Burning man plaque
A large map of Black Rock City for camp visitors to mark cool spots with push pins and flags.
Read postDay 86 - Fox head mask
A low-poly Wintercroft fox head mask cut from coroplast, ready for mirrored acrylic panels.
Read postDay 82 - Visualization of DNA
A Processing-generated visualization of my 23andMe DNA data, to be laser engraved on the MeeBox for Burning Man.
Read postDay 80 - Double 3D printed horn
Double 3D printed unicorn horns with glowing LEDs, built at VHS for a Burning Man costume.
Read postDay 78 - Samuria Jack paper craft
A failed Samurai Jack layered paper cut with mixed-up layers and a too-small Aku, queued for another attempt.
Read postDay 74 - Iron giant layered paper craft
Two-layer and three-layer paper craft Iron Giant, with the two-layer version reading better.
Read postDay 65 - Curved fairy door
A curved fairy door by @ninetynein, tricky to hinge but the shape works.
Read postDay 64 - Barrel fairy door
A barrel-shaped fairy door by @ninetynein that ended up looking more like an elevator.
Read postDay 63 - Brick fairy door
A brick-textured fairy door by @ninetynein, shaped to inspire kids before they paint over it.
Read postDay 62 - Triangle fairy door
A triangle fairy door by @ninetynein with a space-age 60s neo-future look.
Read postDay 61 - flintstone fairy door
A Flintstones-style fairy door by @ninetynein with lots of room for kids to decorate.
Read postDay 60 - fancy fairy door
A fancy laser-cut fairy door by @ninetynein, this run came out wrong and needs a recut.
Read postDay 59 - Hobbit fairy door two
The original plain hobbit fairy door with a straight left edge that fits hinges well.
Read postDay 58 - Hobbit fairy door
A hobbit-style fairy door designed by @ninetynein, looks great but a bit fiddly to assemble.
Read postDay 57 - fairy door normal
Plain fairy doors with extra surface area for kids to decorate at the workshop.
Read postDay 56 - fairy door magic
Smaller versions of the magic fairy door, sized down from the original Day 33 build.
Read postDay 55 - fairy door arch
An arched fairy door cut for the upcoming fairy door workshop, designed by @ninetynein.
Read postDay 54 - Lasers letters
A set of laser-cut letters with source files posted to GitHub.
Read postDay 53 - Testing LED strips
Testing WS2812b LED strips driven by Arduino Pro Minis in prep for BITF.
Read postDay 52 - Set up at maker faire
Photos from setting up the LED panel booth at Vancouver Mini Maker Faire 2015.
Read postDay 51 - Circles panel
A laser-cut wooden panel with a circles pattern for the LED light wall.
Read postDay 50 - Unfinished panel
An unfinished laser-cut wooden panel from the LED light wall build.
Read postDay 49 - Branches panel
A laser-cut wooden panel with a tree-branches pattern, a favorite from the LED panel series.
Read postDay 48 - Maze panel
A laser-cut wooden panel with a maze pattern for the LED light wall.
Read postDay 47 - Twelve sided star
A laser-cut wooden panel with a twelve-sided star pattern for the LED light wall.
Read postDay 46 - Voronoi pattern panel
A laser-cut wooden panel with a Voronoi cell pattern, part of the LED panel series.
Read postDay 45 - LED strip test
A short test video of an LED strip running animations for the Pocket Universe dome.
Read postDay 44 - LEDs and Electronics installed in button panel
Wired LEDs and sound electronics into the button panel, with the Raspberry Pi triggering 50+ effects at once.
Read postDay 43 - Installing leds in the Hexagon star panel
Installed the LED strips behind the hexagon star panel from day 27, animations start tomorrow.
Read postDay 42 - All pixel build day
Built the AllPixel LED driver kit from Maniacal Labs to drive all the LEDs on the Pocket Universe dome.
Read postDay 41 - Pocket universe title card
The title panel for the Pocket Universe dome so people actually know what the project is called when they walk up.
Read postDay 40 - Hyperbolic triangle
A hyperbolic triangle panel cut as another piece for the Pocket Universe dome project.
Read postDay 39 - Inside of the dome
Inside the Pocket Universe dome: 3200 WS2810 LEDs across 10 networked Arduinos, with sound and buttons still to wire.
Read postDay 38 - Cthulhu panel
A Cthulhu panel for the Pocket Universe dome, planned to get a green-to-purple glow behind it for a demonic effect.
Read postDay 37 - Flower of life panel
The Flower of Life panel for the Pocket Universe dome, by far the most requested design when I asked for suggestions.
Read postDay 36 - Arcade button panel
An arcade button panel for the Pocket Universe dome, wired to lights and sounds and rebuilt after Maker Faire.
Read postDay 35 - Spades panel variant 2
A second variant of the spades panel test cut for the Pocket Universe dome, based on a design from Adam Barlev.
Read postDay 32 - Music thank you card
A laser-cut music thank-you card for a friend's wedding, 8 minutes to design and 45 seconds to cut.
Read postDay 33 - Painted fairy door
A painted fairy door test piece for an upcoming workshop, built from the template I made on day 24.
Read postDay 34 - Spades Panel
Test CNC cut of a spades panel for the Pocket Universe dome, designed by Adam Barlev and maybe too thin for the router.
Read postDay 31 - Laser branch panel
A 70cm laser-cut panel of tangled branches, made to drop into one of the CNC frame panels on the dome.
Read postDay 30 - Large picture frame CNC Panel
A larger picture-frame style CNC panel for the Pocket Universe dome, though I prefer the smaller one from day 29.
Read postDay 29 - Picture frame CNC Panel
A CNC-cut picture-frame panel for the Pocket Universe dome, with a hole in the middle for a laser-cut insert.
Read postDay 28 - Spiral panel CNC
Second CNC-cut panel for the Pocket Universe dome, a spiral design and my favourite so far.
Read postDay 28 - Hexagon Star CNC Panel
First CNC-cut hexagon star panel for the Pocket Universe dome, after a full day of fighting design issues at Maker Labs.
Read postDay 26 - L3D cube build
Built the L3D Cube kit, a small 8x8x8 RGB LED cube with a diffuser dome that is fun to play with.
Read postDay 25 - Maker business card
An abandoned maker business card design after the Maker Faire print sponsorship fine print proved unworkable.
Read postDay 24 - Elven fairy door
A revised elven fairy door test cut that improves on the day 9 attempts for the NSG project.
Read postDay 23 - Spiral panel
A spiral Pocket Universe panel test cut in paper after running out of wood, designed by Adam Barlev.
Read postDay 22 - triangl line panel
A triangle-line Pocket Universe panel cut in wood on the VHS laser cutter, designed by Adam Barlev.
Read postDay 21 - Arcade button midi control
Four hours of crimping and soldering get the day-3 arcade button MIDI controller wired to a Teensy and noisy.
Read postDay 20 - LEDs working Untztrument trellis midi kit
The Adafruit Untztrument trellis kit from day 4 with its LEDs and brain finally wired up and playing.
Read postDay 19 - failed maze panel
A maze-pattern Pocket Universe panel test where the paths only connect at one point, too fragile to keep.
Read postDay 18 - Failed array panel
A test-cut Pocket Universe panel that came out too flimsy to use, rejected.
Read postDay 17 - Tiny Star panel array
A dense tiny-star test panel for the Pocket Universe, likely too detailed for the ShotBot and due for a redesign.
Read postDay 16 - Star panel two
A second star-pattern test panel cut for the Pocket Universe dome project.
Read postDay 13 - Layered paper craft dragon
A layered paper shadow puppet picture frame cut on the VHS laser cutter as a test for more complex scenes.
Read postDay 15 - Arcade button panel
A test-cut Pocket Universe panel with arcade-button holes, half to be swapped for matching LEDs.
Read postDay 14 - Test polyhedron
A paper trapezohedron test for a planned set of twelve laser-cut wooden lantern shapes lit with LEDs.
Read postDay 12 - Test panels
Rejected paper panel designs for the Pocket Universe dome, one too flimsy and the others too plain to make the final cut.
Read postDay 10 - Hexagon Star
A small hexagon star test cut for the Pocket Universe dome, made on the VHS laser before scaling up on the Maker Labs ShopBot.
Read postDay 11 - String Star
A string-star test panel for the Pocket Universe dome, cut on the VHS laser to preview the design at small scale.
Read postDay 9 - Fairy doors
First three laser-cut fairy door prototypes for an upcoming VHS workshop, with a round hobbit door as the keeper.
Read postDay 8 - Moster mustache
A mustached monster vector traced from a picture book and laser-cut in acrylic at VHS.
Read postDay 7 - Moster dog
A monster dog vector traced from a picture book and laser-cut in acrylic at VHS.
Read postDay 6 - Moster lizard
A monster lizard vector traced from a picture book and laser-cut in acrylic at VHS.
Read postDay 5 - Moster frog
A monster frog vector traced from a picture book and laser-cut in acrylic at VHS.
Read postDay 4 - Untztrument trellis midi kit
Adafruit Untztrument trellis MIDI kit built in a laser-cut acrylic case for wireless dome lighting control.
Read postDay 3 - Arcade button midi controller
An Arduino Leonardo wired to laser-cut arcade buttons as a MIDI controller for the Pocket Universe dome lighting.
Read postDay 1 - Fractal Triangle
A laser-cut fractal triangle of 96 small, 36 medium, and 9 large triangles in 3mm birch ply, assembled with 250+ zap straps.
Read postMore laser cut Guilloches
More guilloche patterns generated with an Inkscape macro and cut on the VHS laser cutter, with source files on GitHub.
Read postPaper cut furniture using SketchChair
Using the open-source SketchChair app to resize chair designs and test-cut them in paper before committing to wood or CNC.
Read postGeneral status update
Six-month status update covering Google Authenticator two-factor setup across daily web apps and adding it to a test server.
Read postLaser cut Mario coin boxes
Thirty laser-cut Mario Mystery Box piggy banks for my nephew's birthday party, made on the VHS laser cutter.
Read postGetting started with your Raspberry PI
Step-by-step Raspberry Pi starter notes: NOOBS, SSH, AdaFruit WebIDE, and a Python blink script on the GPIO pins.
Read postQuick and easy word clock with a spare monitor and JavaScript
A word clock made by laser-cutting a wood mask of words and placing it over a monitor driven by JavaScript.
Read postGeoGramOne - GPS tracker to Google maps
Reflashed a GeoGramOne GPS tracker board to POST coordinates to a web server and plot them on a Google Map.
Read postThe Giant Claw Game! - Relay H-Bridge and Circuit Design
Building a relay H-bridge for the Giant Claw gantry motors after the L298 driver could not handle the current.
Read postThe Giant Claw Game! - The Claw, Prototype 3
Claw prototype three adds a geared motor, longer prongs, limit switches, and the wooden frame cube it lives inside.
Read postUsing a Raspberry PI with a webcam to make time lapse videos.
Bash script for a Raspberry Pi and a cheap USB webcam that grabs a timestamped JPEG every ten seconds for time lapse.
Read postReporting the system stats of a Raspberry PI to COSM with python
Python script that pushes Raspberry Pi CPU, RAM and disk stats plus an Arduino light reading up to COSM.
Read postRaspberry PI as a FM transmitter
Turning a Raspberry Pi into an FM transmitter by abusing the spread-spectrum clock on GPIO pin 4.
Read postRaspberryPI - Find the MAC address and change the host name
How to find your Raspberry Pi's MAC address and rename its hostname so you can pick it out on a shared network.
Read postRaspberry PI controlling an Arduino via the pyfirmata protocol
Talking to an Arduino from a Raspberry Pi over USB with the pyFirmata protocol to read analog pins and drive PWM.
Read postRaspberry PI and the GPIO pins
Setting up a Raspberry Pi headless, wiring the GPIO pins to an LED and a magnetic door switch, and pushing readings to COSM.
Read postWorking with Open Data, Maps and data.gov.bc.ca
Building a bathymetric map of the Salish Sea in TileMill from BC and US open data, planned as stacked plywood layers.
Read postLasers and Vancouver OpenData
A laser-cut wooden map of Vancouver's roads and parks made from TileMill and city open data.
Read postReddit Holiday Greeting Card Exchange
A holiday card drawn on a Marginally Clever drawbot for the Reddit Gifts greeting card exchange.
Read postWooden laser cut pendants
Wooden laser-cut pendants using Noun Project icons and Raphael-generated sacred geometry circles.
Read postAcrylic Ornaments - Design thoughts an research
Research notes on Koch snowflakes, Processing scripts, and slotted paper designs for the next ornament run.
Read postDesigning Acrylic Christmas Ornaments
Designing acrylic Christmas ornaments in red, white, and black to cut on the VHS laser cutter.
Read postUpdated versions of VHS Lighting Talk Challenge coins
A revised VHS lightning-talk challenge coin design, with 30 cut for the next Super Happy Hacker House.
Read postProgramming Competition Prisoners Dilemma
A Prisoner's Dilemma tournament in C with bots like Snitch, Copy Cat, and Forgives, built for a VHS hack night.
Read postThing tracking system and GeoCaching
Building my own thing-tracking web app to use on laser-cut geocoins after the official GeoCaching tracking codes priced me out.
Read postHost gator has bad security and sucks.
HostGator emailed back my forgotten password in plain text, proving they store credentials unhashed in their billing database.
Read postNiceDog nano php web framework
Trying out NiceDog, a single-file PHP nano framework, fixing a few bugs and writing the missing example project.
Read postWordpress Post via email (wp-mail.php)
Switching from the abandoned Postie plugin to WordPress built-in wp-mail.php for post-by-email, with notes on the rate-limit hack.
Read postHow do you talk to someone over a common, instant message client (Gtalk, MSN) securely, with encryption
How to set up Pidgin with the Off the Record plugin to hold encrypted, verified chats over MSN or Gtalk.
Read postSQL Injection License Plate
A hacker changes his license plate to a SQL injection string in hopes of crashing the speed camera database.
Read postPing and pong
A short note on why the ping and pong handshake is a quietly beautiful piece of network design.
Read postJavascript redirect when device has restarted
A small jQuery snippet that polls an embedded webserver after a reboot and redirects users once the device is back online.
Read postNetburner http weird errors - Daily WTF
Fixing a batch of undefined-reference linker errors in a Netburner HTTP project by adding an /http/index.html file.
Read postRGB LED POV Globe - Software
Software progress on the POV globe with a frame buffer class, bluetooth serial loading, and an ADXL345 accelerometer.
Read postRGB LED POV Globe - Research
Research notes for a 64 RGB LED persistence-of-vision globe big enough to stand inside, with shift registers and motor planning.
Read postStatus update Feb 15
Mid-February update: Ray Gun Revival launched, a Maker Faire spin-art rig in planning, and the outdoor sensor logging sunrises.
Read postWhat I have been up to in January 2011
January 2011 status: a PhoneGap happiness survey, a Peak radio commercial cut from scraped song lyrics, and launching Ray Gun Revival.
Read postPlaying with app inventor for android
Building a simple sensor-reading Android app with Google App Inventor, and the features I wish it had.
Read postColor survey
A color-naming survey borrowed from XKCD to find common ground on how people label the same swatches.
Read postMerge/combined PDF documents into a single PDF
A free Java app for merging dozens of PDFs into one file, saving $90 in per-file print shop fees.
Read postPHP email template
A tiny PHP pattern for loading an email body from a template file and substituting variables before sending.
Read postWhat are mysql-bin.000001, mysql-bin.000002...
What the mysql-bin.000001 files in your MySQL data directory are for, and how to safely disable and delete them.
Read postIn search for a bug tracking system
Comparing Mantis, Redmine, Bugzilla, and Trac for a new development project, and why Trac won on simplicity.
Read postFatal error: Call to undefined function: php_info() in /home/*/public_html/info.php on line 2
A quick fix for a PHP fatal error caused by calling php_info() instead of phpinfo().
Read postGet special folders with SHGetKnownFolderPath
A small Windows C++ sample that calls SHGetKnownFolderPath to find the right per-user spots for app data and logs under UAC.
Read postCakePHP - Disable validation in controler
A one-line CakePHP trick to skip model validation in a controller so you can update legacy records full of bad data.
Read postCakePHP - Search bar
A CakePHP snippet that wires a search box to a paginated index, matching the query against story titles and author names.
Read postCakephp - Add meta tags to views
How to inject per-view meta keywords and descriptions into a CakePHP layout using $scripts_for_layout and the HTML helper.
Read postCakephp - Session->setFlash is not working any more.
Fix for missing CakePHP setFlash messages after 1.2: the template needs an explicit session check and flash call.
Read postCakephp - Using the same view for multiple controler functions
How to reuse one CakePHP view across multiple controller actions by disabling autoRender and calling render() with the template path.
Read postConvert HEX string to BYTE array, bug.
A C++ ConvertHexToBytes function posted as a find-the-bug puzzle using strtok_s and sscanf_s.
Read postwinnt.h(5545) : error C2146: syntax error : missing ; before identifier ContextRecord
Fix for the winnt.h C2146 ContextRecord compile error: include windows.h before the offending header.
Read postArduino + Maxsonar EZ1 + Processing
Visualizing Arduino MaxSonar EZ1 distance data in Processing, drawing coloured arcs that change hue with range.
Read postARDUINO and MaxSonar EZ1
Hooking a MaxSonar EZ1 ultrasonic rangefinder to an Arduino, debugging noisy readings, and finding the wiring mistake.
Read postArduino Robots
Notes on dusting off an Arduino, bolting an Adafruit motor shield to an old RC car, and getting it driving under code.
Read postHow to find the text column header of a CListCtrl in MFC
Short MFC helper that pulls the text of a CListCtrl column header by index using the underlying CHeaderCtrl.
Read postAdd/Remove operation is impossible, the code element Cxxx is read only
Fix for the Visual Studio error when adding a control event handler: delete the .ncb and .suo files, then rebuild.
Read postDump a CListCtrl
C++ snippet that walks an MFC CListCtrl and writes every row and column out to a CSV file.
Read postlinks for 2009-05-05
One bookmark for the day: the Stack Overflow thread on the best comments ever found in source code.
Read postHow to create a menu and submenu on right click in MFC
MFC snippet that builds a right-click context menu with a nested submenu using CMenu and TrackPopupMenu.
Read postTroubleshooting CakePHP
A running list of CakePHP 1.2 fixes, starting with HtmlHelper::file moving to FormHelper.
Read postC++ name mangling hell
Why exported C++ functions show up with mangled names like FirstGetBuf@US&NP and how extern "C" fixes GetProcAddress.
Read postHow to Move/Backup/Load a SVN repository
Three svnadmin commands to dump, move, and reload an SVN repository onto a new server.
Read postWhat time is it
A PHP script that auto-generates 79,206 timezone-comparison pages for cities like Vancouver, Paris, and New York.
Read postThe procedure entry point_except_handler4_common could not be located in the dynamic link library msvcrt.dll
Notes on fixing the msvcrt.dll _except_handler4_common error caused by a Vista DLL landing on Windows XP.
Read postYour daily WTF
A code-review WTF: a sleep loop written as for(int i=0; i<PAUSE_LENGTH; i++) { i++; }.
Read postInsert new post in to wordpress from php
PHP snippet that builds a post object and calls wp_insert_post to add a new entry to WordPress 2.5.1.
Read postHow to make a CMinMaxAvg class
A small C++ CMinMaxAvg class that tracks count, total, min, max, and average for a stream of ints.
Read postHow to install PHPBB 3.0.1
Step-by-step install guide for phpBB 3.0.1 on an Apache/MySQL host, written for COMP2920.
Read postHow to block spam on a wordpress Blog
Five-step walkthrough for turning on Akismet in WordPress to kill almost all comment spam.
Read postNSIS - Tips
A growing snippet library for NSIS installers: opening folders, registering ActiveX files, checking if a process is running.
Read postWHAT IS reCAPTCHA
How reCAPTCHA reuses the time people spend solving CAPTCHAs to OCR words from scanned books.
Read postPHP strip non alphanumeric
A small PHP function that strips every non-alphanumeric character out of a string with preg_replace and ereg_replace.
Read postLast windows boot time, Install date
A one-liner using systeminfo and find to print the last Windows boot time or install date.
Read postThe quick and dirty way of getting the size of a file up to 4GB.
A short fseek and ftell snippet for grabbing a file size in win32 when the file is under 4GB.
Read post403 - An arrogant initiative in defense of the web
A rant on Internet Explorer and an experiment with the 403day.org script that nags IE users to switch browsers.
Read postLeap Year post!
A note on leap day plus the if-mod-4-and-100-and-400 check for detecting leap years in code.
Read postVS6 SP6
A mirror of the Visual Studio 6 Service Pack 6 installer for anyone still stuck on VS6.
Read postDisable and Enable MFC controls by name
Snippets for enabling, hiding, and moving MFC dialog controls by ID using GetDlgItem.
Read postHow to access Facebooks data
Walkthrough of the Facebook REST API using PHP to pull friends, check pairs, and look up user info.
Read postHow to make a facebook applcation.
Step-by-step build of a hello-world Facebook app with the PHP5 API, from app registration to login.
Read postInternet explorer (IE) caching AJAX requests.
Fixing IE's aggressive AJAX caching by appending a timestamp query parameter to the request URL.
Read postAlways add the www
A short .htaccess mod_rewrite snippet that 301-redirects the non-www version of a domain to the www version.
Read postRandom drinking game generator
A small script that pulls rules from a database of card-and-dice drinking games and spits out a random one.
Read postWhere does this IP Address come from
A PHP script that looks up an IP against ISP allocation data to guess the visitor's rough geographic location.
Read postThe Eden project - Artificial ecosystem
Design notes for an artificial ecosystem sim with creatures that age, mate, eat, and inherit traits from their parents.
Read postVancouvers Restaurants review site - Dinehere.ca
A tiny utility that picks a random Vancouver restaurant on Dinehere.ca by rewriting the restaurant ID in the URL.
Read postWhat happened to the design?
The site is stripped of CSS for CSS Naked Day, a yearly nudge toward clean semantic HTML.
Read postDaily Chess Puzzles
A script that pulls one chess puzzle a day from a database and pushes it out by email or RSS.
Read postWeekly post of del.icio.us book marks to wordpress
A modified herebox.org script that pulls new del.icio.us links into Wordpress once a week as draft posts with tag links.
Read postExtracting the IPTC data from an image in PHP
How to pull Picasa captions and other IPTC metadata out of an image in PHP using iptcparse and iptcembed.
Read postDisable Windows low disk space warning
A one-line regini command to set the NoLowDiskSpaceChecks registry key and stop Windows from nagging about a near-full drive.
Read postHow to check your MAC address of your network cards
A short walkthrough for finding the MAC address of a Windows network card using ipconfig /all from the command prompt.
Read postY-105 USB to RS 232 Converter (DB9)
A mirror of the Y-105 USB to RS 232 DB9 converter drivers so they stay findable when the vendor page disappears.
Read post