stevehanov.ca

Website review stevehanov.ca

Steve Hanov's Blog

 Generated on April 06 2026 22:59 PM

Old data? UPDATE !

The score is 66/100

SEO Content

Title

Steve Hanov's Blog

Length : 18

Perfect, your title contains between 10 and 70 characters.

Description

I know how to make and sell software online, and I can share my tips with you.

Length : 78

Great, your meta description contains between 70 and 160 characters.

Keywords

Very bad. We haven't found meta keywords on your page. Use this free online meta tags generator to create keywords.

Og Meta Properties

Good, your page take advantage of Og Properties.

Property Content
type website
title Steve Hanov's Blog

Headings

H1 H2 H3 H4 H5 H6
0 0 111 0 0 0
  • [H3] The VC's Waterloo Coffee Tour: Where to Find Canada's Next Unicorn
  • [H3] How I run multiple $10K MRR companies on a $20/month tech stack
  • [H3] How to Save a Gemini Canvas as Markdown
  • [H3] A Ralph Loop for Reading: Beating GPT 5.2 with a 4k Context Window (and 4 GPUs)
  • [H3] I built a Chrome extension that lets an LLM “see” tweets
  • [H3] Fighting Blog Comment Spam with Qwen3 and Ollama
  • [H3] Make a web page screenshot service
  • [H3] Automatically remove wordiness from your writing
  • [H3] I found Security Vulnerability in your web application
  • [H3] How to detect if an object has been garbage collected in Javascript
  • [H3] My favourite Google Cardboard Apps
  • [H3] O(n) Delta Compression With a Suffix Array
  • [H3] Finding Bieber: On removing duplicates from a set of documents
  • [H3] Let's read a Truetype font file from scratch
  • [H3] A Quick Measure of Sortedness
  • [H3] My thoughts on various programming languages
  • [H3] A little VIM hacking
  • [H3] The strange man reading a novel in the meeting room
  • [H3] You can cheat so your web site seems faster than it is
  • [H3] Yes, You Absolutely Might Possibly Need an EIN to Sell Software to the US
  • [H3] Asana's shocking pricing practices, and how you can get away with it too
  • [H3] 5 Ways PowToon Made Me Want to Buy Their Software
  • [H3] How I run my business selling software to Americans
  • [H3] 0, 1, Many, a Zillion
  • [H3] Give your Commodore 64 new life with an SD card reader
  • [H3] 20 lines of code that will beat A/B testing every time
  • [H3] [comic] Appreciation of xkcd comics vs. technical ability
  • [H3] VP trees: A data structure for finding stuff fast
  • [H3] Why you should go to the Business of Software Conference Next Year
  • [H3] Four ways of handling asynchronous operations in node.js
  • [H3] Zero load time file formats
  • [H3] Finding the top K items in a list efficiently
  • [H3] An instant rhyming dictionary for any web site
  • [H3] Succinct Data Structures: Cramming 80,000 words into a Javascript file.
  • [H3] Throw away the keys: Easy, Minimal Perfect Hashing
  • [H3] Why don't web browsers do this?
  • [H3] Fun with Colour Difference
  • [H3] Compressing dictionaries with a DAWG
  • [H3] Fast and Easy Levenshtein distance using a Trie
  • [H3] The Curious Complexity of Being Turned On
  • [H3] Cross-domain communication the HTML5 way
  • [H3] Five essential steps to prepare for your next programming interview
  • [H3] Finding awesome developers in programming interviews
  • [H3] Compress your JSON with automatic type extraction
  • [H3] "Your program is stupid. It doesn't work," my wife told me
  • [H3] The simple and obvious way to walk through a graph
  • [H3] Asking users for steps to reproduce bugs, and other dumb ideas
  • [H3] Creating portable binaries on Linux
  • [H3] Bending over: How to sell your software to large companies
  • [H3] Regular Expression Matching can be Ugly and Slow
  • [H3] C++: A language for next generation web apps
  • [H3] qb.js: An implementation of QBASIC in Javascript
  • [H3] Zwibbler: A simple drawing program using Javascript and Canvas
  • [H3] You don't need a project/solution to use the VC++ debugger
  • [H3] Boring Date (comic)
  • [H3] barcamp (comic)
  • [H3] How IE <canvas> tag emulation works
  • [H3] I didn't know you could mix and match (comic)
  • [H3] Sign here (comic)
  • [H3] It's a dirty job... (comic)
  • [H3] The PenIsland Problem: Text-to-speech for domain names
  • [H3] Pitching to VCs #2 (comic)
  • [H3] Building a better rhyming dictionary
  • [H3] Does Android team with eccentric geeks? (comic)
  • [H3] Comment spam defeated at last
  • [H3] Pitching to VCs (comic)
  • [H3] How QBASIC almost got me killed
  • [H3] Blame the extensions (comic)
  • [H3] How to run a linux based home web server
  • [H3] Microsoft's generosity knows no end for a year (comic)
  • [H3] Using the Acer Aspire One as a web server
  • [H3] When programmers design web sites (comic)
  • [H3] Finding great ideas for your startup
  • [H3] Game Theory, Salary Negotiation, and Programmers
  • [H3] Coding tips they don't teach you in school
  • [H3] When a reporter mangles your elevator pitch
  • [H3] Test Driven Development without Tears
  • [H3] Drawing Graphs with Physics
  • [H3] Keeping Abreast of Pornographic Research in Computer Science
  • [H3] Exploiting perceptual colour difference for edge detection
  • [H3] Experiment: Deleting a post from the Internet
  • [H3] Is 2009 the year of Linux malware?
  • [H3] Email Etiquette
  • [H3] How a programmer reads your resume (comic)
  • [H3] How wide should you make your web page?
  • [H3] Usability Nightmare: Xfce Settings Manager
  • [H3] cairo blur image surface
  • [H3] Why Perforce is more scalable than Git
  • [H3] Optimizing Ubuntu to run from a USB key or SD card
  • [H3] UMA Questions Answered
  • [H3] See sound without drugs
  • [H3] Stock Picking using Python
  • [H3] Spoke.com scam
  • [H3] Copy a cairo surface to the windows clipboard
  • [H3] Simulating freehand drawing with Cairo
  • [H3] Free, Raw Stock Data
  • [H3] Why are all my lines fuzzy in cairo?
  • [H3] A simple command line calculator
  • [H3] Tool for Creating UML Sequence Diagrams
  • [H3] Exploring sound with Wavelets
  • [H3] UMA and free long distance
  • [H3] UMA's dirty secrets
  • [H3] Installing the Latest Debian on an Ancient Laptop
  • [H3] Experiments in making money online
  • [H3] Draw waveforms and hear them
  • [H3] Cell Phones on Airplanes
  • [H3] Detecting C++ memory leaks
  • [H3] What does your phone number spell?
  • [H3] A Rhyming Engine
  • [H3] Rules for Effective C++
  • [H3] Cell Phone Secrets

Images

We found 73 images on this web page.

1 alt attributes are empty or missing. Add alternative text so that search engines can better understand the content of your images.

Text/HTML Ratio

Ratio : 44%

Ideal! This page's ratio of text to HTML code is between 25 and 70 percent.

Flash

Perfect, no Flash content has been detected on this page.

Iframe

Great, there are no Iframes detected on this page.

URL Rewrite

Good. Your links looks friendly!

Underscores in the URLs

Perfect! No underscores detected in your URLs.

In-page links

We found a total of 119 links including 0 link(s) to files

Anchor Type Juice
LinkedIn External Passing Juice
X External Passing Juice
The VC's Waterloo Coffee Tour: Where to Find Canada's Next Unicorn Internal Passing Juice
How I run multiple $10K MRR companies on a $20/month tech stack Internal Passing Juice
How to Save a Gemini Canvas as Markdown Internal Passing Juice
A Ralph Loop for Reading: Beating GPT 5.2 with a 4k Context Window (and 4 GPUs) Internal Passing Juice
I built a Chrome extension that lets an LLM “see” tweets Internal Passing Juice
Fighting Blog Comment Spam with Qwen3 and Ollama Internal Passing Juice
Make a web page screenshot service Internal Passing Juice
Automatically remove wordiness from your writing Internal Passing Juice
I found Security Vulnerability in your web application Internal Passing Juice
How to detect if an object has been garbage collected in Javascript Internal Passing Juice
My favourite Google Cardboard Apps Internal Passing Juice
O(n) Delta Compression With a Suffix Array Internal Passing Juice
Finding Bieber: On removing duplicates from a set of documents Internal Passing Juice
Let's read a Truetype font file from scratch Internal Passing Juice
A Quick Measure of Sortedness Internal Passing Juice
My thoughts on various programming languages Internal Passing Juice
A little VIM hacking Internal Passing Juice
The strange man reading a novel in the meeting room Internal Passing Juice
You can cheat so your web site seems faster than it is Internal Passing Juice
Yes, You Absolutely Might Possibly Need an EIN to Sell Software to the US Internal Passing Juice
Asana's shocking pricing practices, and how you can get away with it too Internal Passing Juice
5 Ways PowToon Made Me Want to Buy Their Software Internal Passing Juice
How I run my business selling software to Americans Internal Passing Juice
0, 1, Many, a Zillion Internal Passing Juice
Give your Commodore 64 new life with an SD card reader Internal Passing Juice
20 lines of code that will beat A/B testing every time Internal Passing Juice
[comic] Appreciation of xkcd comics vs. technical ability Internal Passing Juice
VP trees: A data structure for finding stuff fast Internal Passing Juice
Why you should go to the Business of Software Conference Next Year Internal Passing Juice
Four ways of handling asynchronous operations in node.js Internal Passing Juice
Zero load time file formats Internal Passing Juice
Finding the top K items in a list efficiently Internal Passing Juice
An instant rhyming dictionary for any web site Internal Passing Juice
Succinct Data Structures: Cramming 80,000 words into a Javascript file. Internal Passing Juice
Throw away the keys: Easy, Minimal Perfect Hashing Internal Passing Juice
Why don't web browsers do this? Internal Passing Juice
Fun with Colour Difference Internal Passing Juice
Compressing dictionaries with a DAWG Internal Passing Juice
Fast and Easy Levenshtein distance using a Trie Internal Passing Juice
The Curious Complexity of Being Turned On Internal Passing Juice
Cross-domain communication the HTML5 way Internal Passing Juice
Five essential steps to prepare for your next programming interview Internal Passing Juice
Finding awesome developers in programming interviews Internal Passing Juice
Compress your JSON with automatic type extraction Internal Passing Juice
"Your program is stupid. It doesn't work," my wife told me Internal Passing Juice
The simple and obvious way to walk through a graph Internal Passing Juice
Asking users for steps to reproduce bugs, and other dumb ideas Internal Passing Juice
Creating portable binaries on Linux Internal Passing Juice
Bending over: How to sell your software to large companies Internal Passing Juice
Regular Expression Matching can be Ugly and Slow Internal Passing Juice
C++: A language for next generation web apps Internal Passing Juice
qb.js: An implementation of QBASIC in Javascript Internal Passing Juice
Zwibbler: A simple drawing program using Javascript and Canvas Internal Passing Juice
You don't need a project/solution to use the VC++ debugger Internal Passing Juice
Boring Date (comic) Internal Passing Juice
barcamp (comic) Internal Passing Juice
How IE <canvas> tag emulation works Internal Passing Juice
I didn't know you could mix and match (comic) Internal Passing Juice
Sign here (comic) Internal Passing Juice
It's a dirty job... (comic) Internal Passing Juice
The PenIsland Problem: Text-to-speech for domain names Internal Passing Juice
Pitching to VCs #2 (comic) Internal Passing Juice
Building a better rhyming dictionary Internal Passing Juice
Does Android team with eccentric geeks? (comic) Internal Passing Juice
Comment spam defeated at last Internal Passing Juice
Pitching to VCs (comic) Internal Passing Juice
How QBASIC almost got me killed Internal Passing Juice
Blame the extensions (comic) Internal Passing Juice
How to run a linux based home web server Internal Passing Juice
Microsoft's generosity knows no end for a year (comic) Internal Passing Juice
Using the Acer Aspire One as a web server Internal Passing Juice
When programmers design web sites (comic) Internal Passing Juice
Finding great ideas for your startup Internal Passing Juice
Game Theory, Salary Negotiation, and Programmers Internal Passing Juice
Coding tips they don't teach you in school Internal Passing Juice
When a reporter mangles your elevator pitch Internal Passing Juice
Test Driven Development without Tears Internal Passing Juice
Drawing Graphs with Physics Internal Passing Juice
Keeping Abreast of Pornographic Research in Computer Science Internal Passing Juice
Exploiting perceptual colour difference for edge detection Internal Passing Juice
Experiment: Deleting a post from the Internet Internal Passing Juice
Is 2009 the year of Linux malware? Internal Passing Juice
Email Etiquette Internal Passing Juice
How a programmer reads your resume (comic) Internal Passing Juice
How wide should you make your web page? Internal Passing Juice
Usability Nightmare: Xfce Settings Manager Internal Passing Juice
cairo blur image surface Internal Passing Juice
Why Perforce is more scalable than Git Internal Passing Juice
Optimizing Ubuntu to run from a USB key or SD card Internal Passing Juice
UMA Questions Answered Internal Passing Juice
See sound without drugs Internal Passing Juice
Stock Picking using Python Internal Passing Juice
Spoke.com scam Internal Passing Juice
Copy a cairo surface to the windows clipboard Internal Passing Juice
Simulating freehand drawing with Cairo Internal Passing Juice
Free, Raw Stock Data Internal Passing Juice
Why are all my lines fuzzy in cairo? Internal Passing Juice
A simple command line calculator Internal Passing Juice
Tool for Creating UML Sequence Diagrams Internal Passing Juice
Exploring sound with Wavelets Internal Passing Juice
UMA and free long distance Internal Passing Juice
UMA's dirty secrets Internal Passing Juice
Installing the Latest Debian on an Ancient Laptop Internal Passing Juice
Experiments in making money online Internal Passing Juice
Draw waveforms and hear them Internal Passing Juice
Cell Phones on Airplanes Internal Passing Juice
Detecting C++ memory leaks Internal Passing Juice
What does your phone number spell? Internal Passing Juice
A Rhyming Engine Internal Passing Juice
Rules for Effective C++ Internal Passing Juice
Cell Phone Secrets Internal Passing Juice
rhymebrain.com External Passing Juice
rapt.ink External Passing Juice
www.websequencediagrams.com External Passing Juice
zwibbler.com External Passing Juice
xreplyextension.com External Passing Juice
eh-trade.ca External Passing Juice

SEO Keywords

Keywords Cloud

comic software startup into some how from time next web

Keywords Consistency

Keyword Content Title Keywords Description Headings
comic 41
web 32
how 31
from 25
next 22

Usability

Url

Domain : stevehanov.ca

Length : 13

Favicon

Great, your website has a favicon.

Printability

We could not find a Print-Friendly CSS.

Language

Good. Your declared language is en.

Dublin Core

This page does not take advantage of Dublin Core.

Document

Doctype

HTML 5

Encoding

Perfect. Your declared charset is UTF-8.

W3C Validity

Errors : 0

Warnings : 0

Email Privacy

Warning! At least one email address has been found in the plain text. Use free antispam protector to hide email from spammers.

Deprecated HTML

Great! We haven't found deprecated HTML tags in your HTML.

Speed Tips

Excellent, your website doesn't use nested tables.
Too bad, your website is using inline styles.
Great, your website has few CSS files.
Perfect, your website has few JavaScript files.
Perfect, your website takes advantage of gzip.

Mobile

Mobile Optimization

Apple Icon
Meta Viewport Tag
Flash content

Optimization

XML Sitemap

Great, your website has an XML sitemap.

https://stevehanov.ca/sitemap.xml

Robots.txt

https://stevehanov.ca/robots.txt

Great, your website has a robots.txt file.

Analytics

Great, your website has an analytics tool.

   Google Analytics

PageSpeed Insights


Device
Categories

Free SEO Testing Tool

Free SEO Testing Tool is a free SEO tool which provides you content analysis of the website.