#Web
127 postsMigrating from Jekyll to Astro
On June 21, 2026 the site moved from Jekyll to Astro with a theme rebuilt from scratch. Here's why.
Read postEnable copy and paste on website that disable copy and paste
A TamperMonkey script that re-enables copy and paste on websites that block it, written for Brim Financial.
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 postIdea 094 - Quickest way to rank a list of ideas
A quicksort-based web tool that ranks a long list of ideas with the fewest possible head-to-head comparisons.
Read postIdea 092 - Command line tools as desktop applications
Electron desktop apps that wrap common command line tools in a friendly UI with help text.
Read postIdea 087 - Crowd sourced life planner
A website of crowd-sourced flowcharts for life choices, in choose-your-own-adventure style.
Read postIdea 081 - Experience confidence scores
A system for third parties to vouch for a person's skills with Open Badges and a confidence score, dropped as LinkedIn with more steps.
Read postIdea 080 - Real Identity provider
An identity provider for online platforms that proves who someone is through social trust instead of documents.
Read postIdea 079 - Gorilla water quality monitoring device
A $10-20 citizen science sensor for streams that logs several data points to flag unusual water quality.
Read postIdea 67 - Deadmans vault SAAS SafePassage
SafePassage, an end-to-end encrypted online vault for messages that read-only recipients can open after the owner dies.
Read postIdea 057 - Movie Mogul Mania
A fantasy movie league where players draft actors, directors and films and earn points from awards, box office and release stats.
Read postIdea 056 - Great people make great movies
A movie recommendation site that scores the actors, crew, companies and locations of movies you like and suggests films with the highest scores.
Read postIdea 053 - HTML and CSS photo book for Blurb
Build the yearly Blurb photo book from HTML and CSS, exported to PDF, instead of using Blurb's BookWright tool.
Read postIdea 049 - Cheap meals if you follow directions
A deal where diners get cheap meals if they finish a 10-restaurant challenge, review each place and file expense claims on time, betting most will not.
Read postIdea 047 - Weekly Scavenger Hunt
A fully automated global scavenger hunt that posts 15 random objects every Saturday at noon and ranks players by how fast they upload a photo.
Read postIdea 045 - Spread your genes
An outdoor game where players scan each other's alien-looking QR glyphs to spread their DNA and create offspring.
Read postIdea 035 - Update your address book automatically
Idea: a tool that gets your contacts to update their own details in your address book.
Read postIdea 034 - 20 questions for people
Idea: a website that asks 20 questions and tries to uniquely identify you, which raises the question of which questions work best.
Read postIdea 030 - Chatbot Journaling
Idea: a chatbot that gives daily journaling prompts, asks follow-up questions, and builds up knowledge about you to give feedback.
Read postIdea 027 - Print on demand Keyboard Keycaps
Idea: a website where users upload their own glyphs or images to be printed on keyboard keycaps.
Read postSamsung The Frame TV art
A gallery of MidJourney-generated 4K UHD artwork sized exactly for Samsung The Frame TV to avoid the mat border, free to download.
Read postFebruary 2021 brain dump
February 2021 brain dump on getting into birding with a Sigma 150-600mm, plotter twitter projects, and a 52-card bird playing deck plan.
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 blog.abluestar.com moved to a fresh Jekyll theme, plus a 20-year history of CMS choices from plain HTML to static sites.
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 postSimple security
Plain-language notes on picking a threat model and the low to high effort tools used to defend against it.
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 postDomain names and registrar
Notes on consolidating 100+ domains across 6 registrars into one, with a short list of Gandi, EasyDNS, and name.com compared.
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 postThe problems with sending a lot of emails.
Notes on running EveryDayFiction.com: the cost and deliverability headache of sending 2 million daily story emails a month.
Read postIntro to Security, Passwords
Intro to password security: long passwords, multi-factor auth, password databases, and why to use different passwords per site.
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 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 postThing tracking system and GeoCaching
A home-built thing-tracking web app for laser-cut geocoins, made after the official GeoCaching tracking codes cost too much.
Read postHost gator has bad security and sucks.
HostGator emailed back a forgotten password in plain text, showing 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 postVancouver Maker Faire - Call for Makers
Vancouver Maker Faire opens its call for makers, with 48,000 square feet at the PNE Forum on June 23 and 24.
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 postAbluestar.com privacy statement
A blunt parody privacy statement for Abluestar.com that says all data is collected, kept, and sold on request.
Read postInkPop.com, Are spammers and a security risk for their users. DON'T USE THEM. They suck
Rant about InkPop.com sending repeat SEO pitch spam and storing user passwords in plain text.
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 postA perfect example of why you should use the same password on different websites.
Plenty of Fish stored passwords in plain text and got hacked, which is why reusing that password on Facebook is a bad idea.
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 postColor survey
A color-naming survey borrowed from XKCD to find common ground on how people label the same swatches.
Read postOur privacy policy: We sell your data. You get our content for free, Deal?
A blunt walkthrough of what a website operator can actually learn about you from HTTP headers, cookies, IPs, and user agents.
Read postA web masters thoughts on mortality
Notes on writing a will that hands off domains, passwords, and a deadman switch so my sites keep running after I die.
Read postArduino Infrared, Blue Robot challenge, Burning man and superman
Working on the VHS Blue Robot IR beacon challenge with an Arduino, plus WordPress 3.0, Burning Man, and Vancouver event links.
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 postLooking for a new host
Personal review of past web hosts (Hostgator, Dreamhost, Media Temple, Hasweb, GoDaddy) and a wishlist for the next one.
Read postEvery Night Erotica
Vancouver-based Every Night Erotica online magazine opens submissions ahead of its May 1, 2010 launch.
Read postIdeas on how to advertise your stories
A list of ways writers can promote a short story before and after publication, from blogs to social media to forums.
Read postRPXnow and Windows live ID, problems signing out
Why RPXnow users see scary Windows Live ID sign-out errors, with a link to the Google Groups support thread that explains it.
Read postCakePHP - Disable validation in controller
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 an index action, matching the query against story titles and author names.
Read postCakephp - Add meta tags to views
How to add per-view meta keywords and descriptions to 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 controller functions
How to reuse one CakePHP view across multiple controller actions by disabling autoRender and calling render() with the template path.
Read postTesting writing from Windows Live Writer
First impressions of Windows Live Writer as a desktop blog client for WordPress, with categories, live preview, and source editing.
Read postWordpress, Creating a RSS feed for each category.
The undocumented WordPress URL pattern for getting a per-category RSS feed: /?feed=rss2&cat=ID.
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 postWhy is everything so plain?
After 15 redesigns, the 16th strips the site down to a clean simple template that just works.
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 block spam on a wordpress Blog
Five-step walkthrough for turning on Akismet in WordPress to kill almost all comment spam.
Read postWHAT IS reCAPTCHA
How reCAPTCHA reuses the time people spend solving CAPTCHAs to OCR words from scanned books.
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 postOpen DNS
Review of OpenDNS, with notes on how its NXDOMAIN redirects break utilities that depend on a real not-found reply.
Read postLinks to torrent sites
A short list of regularly-used torrent search sites and the uTorrent client.
Read postTwitter vs Tumblr
Side-by-side score of Twitter and Tumblr on popularity, domains, themes, posting, and data ownership.
Read postIf you build it they will come mentality...
Notes on why a new website needs promotion, with tips on search engine submission, AdWords, and outreach.
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 application.
Step-by-step build of a hello-world Facebook app with the PHP5 API, from app registration to login.
Read postAPEX Holiday Subscription Drive
APEX magazine runs a November subscription drive promising pro-rate 5-cents-per-word pay if they hit 500 new subscribers.
Read postTravel 4 km in just 3 hours, 41 minutes!
Google Transit launches for Vancouver via TransLink, and promptly routes a 4 km trip as six transfers in 3 hours 41 minutes.
Read postNot allowing comments
Warren Ellis turns off comments and asks readers to reply via trackback instead, boosting his inbound links and Google rank.
Read postKeeping track of your comments
Comparing Subscribe-to-Comments plugins against coComment.com for tracking replies on the blogs you comment on.
Read postSMF - Redirect after reply or post
How to make Simple Machines Forum send users back to the topic after posting instead of dumping them on the board index.
Read postHouse hunting in vancouver
A list of rental sites for hunting an apartment in Vancouver during the September crunch when vacancy sits under 1 percent.
Read postEvery Day Fiction dot com
Every Day Fiction publishes a new sub-1000-word story each day, delivered by email or RSS, short enough to read on a lunch break.
Read postAurgasm
Aurgasm.us is my favourite spot for full, free songs from musicians I have never heard of, with reviews and an mp3 player.
Read postWhen big people steal small guys ideas
Adobe Kuler looks a lot like ColourLovers.com, and small site owners have no real way to push back on big copycats.
Read postInternet explorer (IE) caching AJAX requests.
Fixing IE's aggressive AJAX caching by appending a timestamp query parameter to the request URL.
Read postDefeat your Google twin
Plotting how to outrank my Google twin, an engine-casting site also named Steven Smethurst, by Christmas.
Read postMistakes I have made
Ten blogging and web design mistakes I made over the years, from subdirectories and subdomains to too many RSS feeds.
Read postWhere I went wrong
Reflecting on my offline games niche blog and where the original niche-picking calculation went wrong.
Read postRemoving the Nofollow link
Why the WordPress DoFollow plugin and its public user list make blogs an easy target for comment spammers.
Read postDel.icio.us bookmarks 2007-05-31 - 2007-06-14
A single del.icio.us bookmark from mid June 2007: Burst Labs, a Flash music discovery site.
Read postResize thumbnails in Wordpress
Two recipes for changing WordPress's default upload thumbnail size, one for pre-2.1 and one for 2.1 and later.
Read postTechnorati faves
Joining a Technorati favourites cross-linking experiment, with the rules for faving each other's blogs.
Read postWordpress robots.txt
A line-by-line walkthrough of my WordPress robots.txt file and why each Disallow rule exists.
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 post5 MSN/Yahoo/GTtalk/AOL/IM Etiquette tips
Five etiquette tips for using MSN, Yahoo, GTalk and other IM clients without annoying the people on the other end.
Read postTimeless content
Why blog posts about current events go stale, and how to write content that stays useful 5 to 10 years later.
Read post12 Tips for creating a killer landing page.
Twelve rules for landing pages that convert, drawn from rebuilding a friend's AdWords campaign from 2 leads a day to 12-25.
Read postJohn Chow - How to make money online
Trimming a 200-feed RSS list down to 10, and why John Chow's make-money-online blog made the cut.
Read post23 Tips for writing good blog posts and articles.
Twenty-three rules for writing readable blog posts, from snappy headlines to splitting long pieces and crediting sources.
Read postDel.icio.us bookmarks 2007-05-23 - 2007-05-30
Weekly del.icio.us dump: a CSS border style wizard, stencil street art, eyetracking heatmaps, and quote sites.
Read postDel.icio.us bookmarks 2007-05-04 - 2007-05-15
Weekly del.icio.us dump: inflatable missile balloons, 1301 fluorescent bulbs lit by power lines, Seen in Vancouver, and a content-theft guide.
Read postFinding a good web host
How to pick a web host by disk space and transfer, reliability, and the company behind it.
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 postDel.icio.us bookmarks 2007-04-24 - 2007-05-04
Weekly del.icio.us dump: RSS tips, a Vancouver clean-up event, the TeRK robot kit, and a WordPress theme generator.
Read postThis Weeks Del.icio.us bookmarks 2007-04-20
Weekly del.icio.us bookmark roundup: the Digg button kit, room-colour psychology, Doktor Sleepless, Manhunt, and a CSS optimiser.
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 postThis Weeks Del.icio.us bookmarks 2007-04-17
Weekly del.icio.us bookmark roundup: a CSS optimiser, GVTV, Canada Post address rules, SIW, and the Vancouver Art Gallery.
Read postThis Weeks Del.icio.us bookmarks 2007-04-09
Weekly del.icio.us bookmark roundup covering art, DIY electronics, Mobius chess, photo forgery detection, and a CSS list gallery.
Read postVancovuer report a crime online
Vancouver Police now take small-crime reports online for thefts under $5000 instead of the non-emergency phone line.
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 postLet"s Be Brief - A story in 6 words
Picks from a six-word story contest on middlezonemusings.com, plus a couple of the author's own attempts.
Read postWhat is there to do in Vancouver?
A long link dump of Vancouver event listings, restaurant review sites, and local blogs for finding something to do.
Read postWhat happened to the design?
The site is stripped of CSS for CSS Naked Day, a yearly nudge toward clean semantic HTML.
Read postCamilla dErrico - One of my favorite Vancouver artists
Notes on Vancouver artist Camilla d'Errico, her helmet-head paintings, and where to find her prints and gallery shows.
Read postImageManager 2.0
ImageManager 2.0 is a Wordpress plugin that lets bloggers resize, crop, rotate, flip, or scale uploaded images in place.
Read postThis Weeks Del.icio.us bookmarks 2007-04-02
Weekly del.icio.us bookmark roundup on guitar stompboxes, an RGB mood lamp, ferrofluid Morpho Towers, Game of Life, and the Translink bus-stop hack.
Read postDaily Chess Puzzles
A script that pulls one chess puzzle a day from a database and sends it out by email or RSS.
Read postTranslink schedules via bus stop ID
Mytxt.ca let Vancouver riders text a bus stop number and get schedules back, until the running costs killed the SFU student project.
Read postThis Weeks Del.icio.us bookmarks 03/28/2007
Weekly del.icio.us bookmark roundup covering a Van de Graaff generator, an LED sequence learner, GPS loggers, password crackers, and more.
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 postFlickrs camera trend data
Flickr mines Exif data from uploaded photos to track which camera makes and models are rising or falling in popularity.
Read postSubscribe to Comments
A Wordpress plug-in that emails readers when someone replies to a post they commented on, installed with two file uploads.
Read postTrack your packages with Google Maps
Isnoop.net plots UPS, FedEx, USPS, and DHL package progress on Google Maps and generates an RSS feed of pickups and deliveries.
Read postRss feeds in your inbox
Services like rssfwd.com and squeet.com turn any RSS feed into email updates for people who refuse to use a feed reader.
Read postThe Importance Of Deep Linking
Why John Chow recommends deep linking inside blog posts: SEO benefit and traffic back from RSS scrapers that copy your content.
Read postGoogle talk
Notes on Google Talk, the XMPP protocol behind it, and how to connect to the GTalk network from Trillian with the Jabber plugin.
Read postAudio Player Wordpress Plugin
The 1pixelout WordPress audio player plugin, a simple start/stop streaming player that also works outside WordPress.
Read postWhat are RSS feeds and how to use them
An intro to RSS feeds and feed readers like FeedDemon, Thunderbird, and Google Reader for tracking site updates in one place.
Read post12 Rules for Choosing Domain Names
Twelve rules from SEOmoz for picking a domain name: keywords, dot-com only, easy to type, no hyphens or numbers.
Read postHouse Hunting in Vancouver
A list of Vancouver rental sites and tips for standing out when 50 other people are replying to the same Craigslist ad.
Read post