#Web
127 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 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 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 087 - Crowd sourced life planner
A website that uses flowcharts and other tools for helping with life choices all users submitted
Read postIdea 081 - Experience confidence scores
Allows people to assert their experience with a skill with 3rd parties confidence score
Read postIdea 080 - Real Identity provider
A identify provider for all digital platforms based on social trust
Read postIdea 079 - Gorilla water quality monitoring device
Citizen science water quality monitoring device
Read postIdea 67 - Deadmans vault SAAS SafePassage
End-to-end encrypted digital vault for storing and sharing sensitive information after death
Read postIdea 057 - Movie Mogul Mania
A fantasy movie league where players draft actors and films to earn points based on award nominations and wins, box office sales, and other movie statistics
Read postIdea 056 - Great people make great movies
A movie recommendation site based on the people who work on movies
Read postIdea 053 - HTML and CSS photo book for Blurb
Instead of using Blurb publishing tools create the book using HTML and CSS
Read postIdea 049 - Cheap meals if you follow directions
Betting against consumers on human nature
Read postIdea 047 - Weekly Scavenger Hunt
An automatically weekly generated global scavenger hunt with leaderboard
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 035 - Update your address book automatically
Get your contacts to update their information in your address book
Read postIdea 034 - 20 questions for people
A website that asks you 20 questions and tries to uniquely identify you in the world What are the optimal questions to ask?
Read postIdea 030 - Chatbot Journaling
A chatbot that gives you writing prompts for daily journaling. Ask follow up questions for clarity. Builds a web of knowledge about you and gives feedback
Read postIdea 027 - Print on demand Keyboard Keycaps
A website that lets users upload their own glyphs images for the top of 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 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 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 I actually use 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
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 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 statment
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. DONT 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, plus notes on WordPress 3.0, Burning Man, and upcoming Vancouver events.
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
Notes on why RPXnow users see scary Windows Live ID sign-out warnings, with the support thread that explains the gap.
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 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 applcation.
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 alowing 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, the engine-casting 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
Two weeks of del.icio.us bookmarks for funvill, late May through mid June 2007.
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+.
Read postTechnorati faves
Joining a Technorati favourites cross-linking experiment, with the rules and the running list of blogs to fave.
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
Notes on writing timeless blog content that stays useful 5 to 10 years after posting, with tips on dates and wording.
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 25.
Read postJohn Chow - How to make money online
Notes on trimming a 200-feed RSS list down to 10 and a quick review of John Chow's make-money-online blog.
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
Del.icio.us bookmarks 2007-05-04 - 2007-05-15
Read postFinding a good web host
Notes on picking a web host by disk space, uptime, and company age, with a comparison of GoDaddy, Dreamhost, and friends.
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 bookmarks: 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 bookmarks: 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 bookmarks 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 my 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 dump 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 pushes 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 dump 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 spits out 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 juice 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