RSS.Social

Steve Hanov's Programming Blog

follow: @[email protected]

Posts

Fighting Blog Comment Spam with Qwen3 and Ollama

Make a web page screenshot service

Automatically remove wordiness from your writing

I found Security Vulnerability in your web application

How to detect if an object has been garbage collected in Javascript

My favourite Google Cardboard Apps

O(n) Delta Compression With a Suffix Array

Finding Bieber: On removing duplicates from a set of documents

Let's read a Truetype font file from scratch

A Quick Measure of Sortedness

My thoughts on various programming languages

A little VIM hacking

The strange man reading a novel in the meeting room

You can cheat so your web site seems faster than it is

Yes, You Absolutely Might Possibly Need an EIN to Sell Software to the US

Asana's shocking pricing practices, and how you can get away with it too

5 Ways PowToon Made Me Want to Buy Their Software

How I run my business selling software to Americans

0, 1, Many, a Zillion

Give your Commodore 64 new life with an SD card reader

20 lines of code that will beat A/B testing every time

[comic] Appreciation of xkcd comics vs. technical ability

VP trees: A data structure for finding stuff fast

Why you should go to the Business of Software Conference Next Year

Four ways of handling asynchronous operations in node.js

Zero load time file formats

Finding the top K items in a list efficiently

An instant rhyming dictionary for any web site

Succinct Data Structures: Cramming 80,000 words into a Javascript file.

Throw away the keys: Easy, Minimal Perfect Hashing

Why don't web browsers do this?

Fun with Colour Difference

Compressing dictionaries with a DAWG

Fast and Easy Levenshtein distance using a Trie

The Curious Complexity of Being Turned On

Cross-domain communication the HTML5 way

Five essential steps to prepare for your next programming interview

Finding awesome developers in programming interviews

Compress your JSON with automatic type extraction

"Your program is stupid. It doesn't work," my wife told me

The simple and obvious way to walk through a graph

Asking users for steps to reproduce bugs, and other dumb ideas

Creating portable binaries on Linux

Bending over: How to sell your software to large companies

Regular Expression Matching can be Ugly and Slow

C++: A language for next generation web apps

qb.js: An implementation of QBASIC in Javascript

Zwibbler: A simple drawing program using Javascript and Canvas

You don't need a project/solution to use the VC++ debugger

Boring Date (comic)

barcamp (comic)

How IE <canvas> tag emulation works

I didn't know you could mix and match (comic)

Sign here (comic)

It's a dirty job... (comic)

The PenIsland Problem: Text-to-speech for domain names

Pitching to VCs #2 (comic)

Building a better rhyming dictionary

Does Android team with eccentric geeks? (comic)

Comment spam defeated at last

Pitching to VCs (comic)

How QBASIC almost got me killed

Blame the extensions (comic)

How to run a linux based home web server

Microsoft's generosity knows no end for a year (comic)

Using the Acer Aspire One as a web server

When programmers design web sites (comic)

Finding great ideas for your startup

Game Theory, Salary Negotiation, and Programmers

Coding tips they don't teach you in school

When a reporter mangles your elevator pitch

Test Driven Development without Tears

Drawing Graphs with Physics

Keeping Abreast of Pornographic Research in Computer Science

Exploiting perceptual colour difference for edge detection

Experiment: Deleting a post from the Internet

Is 2009 the year of Linux malware?

Email Etiquette

How a programmer reads your resume (comic)

How wide should you make your web page?

Usability Nightmare: Xfce Settings Manager

cairo blur image surface

Why Perforce is more scalable than Git

Optimizing Ubuntu to run from a USB key or SD card

UMA Questions Answered

See sound without drugs

Stock Picking using Python

Spoke.com scam

Copy a cairo surface to the windows clipboard

Simulating freehand drawing with Cairo

Free, Raw Stock Data

Why are all my lines fuzzy in cairo?

A simple command line calculator

Tool for Creating UML Sequence Diagrams

Exploring sound with Wavelets

UMA and free long distance

UMA's dirty secrets

Installing the Latest Debian on an Ancient Laptop

Experiments in making money online

Draw waveforms and hear them

Cell Phones on Airplanes

Detecting C++ memory leaks

What does your phone number spell?

A Rhyming Engine

Rules for Effective C++

Cell Phone Secrets