James Stanley

Blog

The writing is bad and the stories are not very interesting.

SMS Privacy now provides anonymous voicemail »

Mon 19 September 2016

One of the use cases that inspired me to create SMS Privacy is signing up for accounts for online services without having to link that to a real-world identity. Unfortunately, it turned out that my API provider is blocking the verification codes that many of these services send, in an effort to prevent people from abusing their API to automate the bulk creation of accounts. Read more »

What is the most interesting thing live streaming right now? »

Sat 17 September 2016

I had an idea for an interesting project: it would simply show whatever is the most interesting live stream available at the current moment. It ought to update the stream dynamically whenever a new more interesting stream becomes available. Read more »

The SMS Privacy conversion funnel »

Mon 12 September 2016

I'm a big fan of Patrick McKenzie's blog. If you're interested in small-time software business it's worth working through his greatest hits page. A powerful idea I learnt from his site is the conversion funnel: all the visitors to your site pour into the top, they then pass through several filter layers, and some proportion of them pop out at the bottom as paying customers. To get more paying customers you either need to put more users in the top, or get a higher proportion of them to pop out at the bottom. Read more »

How to buy phone numbers anonymously »

Sat 10 September 2016

Over the last week or so I've been working on a project that allows anyone to buy phone numbers using Bitcoin anonymously, and use them to send and receive SMS. I think this is an important piece of the puzzle of allowing people to interact with the world anonymously, as a large number of services use SMS for account verification or 2-factor-authentication. Being able to buy phone numbers anonymously allows you to create new identities more easily. Read more »

What if we could assume new identities at will? »

Sun 21 August 2016

I've been thinking a lot about privacy and anonymity recently. It's reasonably possible to create a new online identity, with no links to your real-world identity, as long as you don't need to buy anything and you're careful. Use Tor, get an email address from SIGAINT, and you can sign up for accounts on a lot of other services and speak your mind freely. Read more »

Living with a Bitcoin debit card »

Sat 30 July 2016

My new project produces profit in Bitcoin. I wanted a way to be able to spend the Bitcoin without having to: Read more »

Perl's Digest::SHA::hmac_sha256_base64 is wrong »

Wed 6 July 2016

I spent nearly 2 hours today struggling to authenticate with an API that uses base64 SHA256 HMAC's, only to find that the hmac_sha256_base64 implementation appears to be wrong. Read more »

On the design of a herb jar lid »

Mon 27 June 2016

My herb jar lid has two operating modes: one has small holes which allow you to shake the herb out slowly, and the other is a single large hole which allows you to shake the herb out quickly. Read more »

I delivered an Oak Mirror to a lady »

Fri 27 May 2016

My latest business venture is Bristol Oak Mirrors. The website is crap but the idea is I make oak-framed mirrors and sell them. Read more »

How to copy Wordpress theme customisations to a child theme »

Mon 23 May 2016

I've been working with Wordpress a little lately. I learnt that you're supposed to create a child theme in order to make modifications to it, but I'd already modified the theme settings (colours, etc.) using the Wordpress 'Customise' tool and couldn't see how to copy these settings to the child theme. Read more »

How to defeat naive image steganography »

Wed 27 April 2016

As a teenager, I wrote a C program to do image steganography. It hid the secret image in the least significant bits of the cover image. I also made a PHP web interface to it, which now sees about 3,000 users per month. So I've made a better version, it gives previews of the input images, doesn't upload the images to my server (privacy, yo), and is faster. Read more »

Stockfighter Review (no spoilers) »

Fri 22 April 2016

I've been playing Stockfighter this week. Read more »

How (and why) to make your software faster »

Fri 15 April 2016

Have you ever been bothered by how slowly your webapp loads, but never profiled it? Much like test-driven development and A/B tests, performance profiling almost always throws up surprises and big wins, and yet most people never bother to do it. If you have anything that runs too slowly, you should profile it today, you will find improvements to make. Read more »

Going Solo »

Fri 8 April 2016

Today marks the last day of the "full-time job" stage of my career! For the foreseeable future, I'll be working part-time for Netcraft. I will also be trying to find work freelancing (hire me!), and trying to make more money from my other projects (e.g. ads on the Countdown Solver, and selling SMS Travel Map subscriptions). Read more »

How to peek all of the jobs in a Beanstalk tube »

Wed 30 March 2016

This problem came up at work today. There was a Beanstalk tube with a few hundred jobs in it, getting processed slowly. A particular input didn't seem to be getting processed, and I wanted to know if it existed in the tube and simply hadn't come out yet, or was missing entirely. Read more »

I delivered 2 sofas for Vincent »

Sun 27 March 2016

My phone rang early yesterday morning, while I was still basically asleep. A mobile number I did not recognise. I answered. It was "Vincent". He asked me if I was free to deliver 2 sofas from Bristol to Weston-Super-Mare. I groggily suggested 50 quid, with no idea how long it would take, and Vincent said he would be in touch. I don't know where these people get my number from as I haven't had an ad for over 6 months... Read more »

How to interrupt a regex in Perl »

Wed 23 March 2016

Since 5.8.0, Perl's "safe signals" defers the delivery of signals when a custom signal handler is in use, until it is at a safe point to handle them. This means you can not simply use alarm() to interrupt a long-running regex. Read more »

How to use GNU screen for ad-hoc cluster management »

Fri 11 March 2016

If you have a cluster of machines, you can use GNU screen to run a management process on them all, monitor the output, and manually take over and repair any issues that come up on any individual machine. Read more »

I tried to go pit biking »

Sun 28 February 2016

Tormarton pit bike track was finally open yesterday so I took my pit bike there. Read more »

I made a video of driving my van »

Thu 25 February 2016

I had an idea for a video series, where I put a camera in the passenger seat of my van while I'm going places, and you listen to my anecdotes and watch me driving, etc. Read more »

I tried to change the glow plugs in my van »

Sat 20 February 2016

My van has been tricky to start on cold mornings lately so I decided to try to replace the glow plugs. I replaced 3 of the glow plugs. (There are 4). Read more »

I bought a pit bike »

Fri 1 January 2016

I picked up a pit bike on Wednesday evening. It is basically an off-road mini moto. It cost £250 and is a non-runner. Also the clutch lever is missing, the brake lever falls outwards on its own, the chain is rusty, the tyres are worn out, there's lots of rust, one of the plastic panels is missing, the air filter is missing, the wiring has obviously been mucked about with, and the front brake did not work. Read more »

I rode my motorbike off road and made a video »

Sun 29 November 2015

Lately I've been a bit interested in Green laning on my motorbike. Read more »

I made a gong »

Wed 11 November 2015

Some colleagues at work somehow quickly became obsessed with gongs. So I made a gong. From brass. Read more »

I made a puzzle game »

Sun 1 November 2015

This evening I had an idea for a small puzzle game and implemented it. Read more »

If you serve javascript with a 404 status does it still get executed? »

Wed 7 October 2015

This topic came up at work today when we noticed a Javascript file was missing. Does the browser still try to execute the 404 page that gets returned? And if not, would it if the Content-Type were set appropriately? Read more »

I made a knife out of a file »

Sun 28 June 2015

Since making a little knife out of a hacksaw blade a few weeks ago, I've been working on a bigger knife made from a file. Read more »

Logrotate race condition with copytruncate »

Thu 11 June 2015

The logrotate tool has a mode called copytruncate which copies the log file and truncates the original, rather than renaming the original, so that the daemon doesn't need to reopen the log file. Read more »

I made a little knife »

Sun 31 May 2015

I made a knife today. Just a little one, out of an old hacksaw blade. Only half a hacksaw blade, I used the other half to make a gasket scraper (not pictured). Read more »

I made a plymetal heart decoration »

Sun 26 April 2015

This evening I had an idea for making an effect like plywood, but out of metals (hence "plymetal"). I tried it out to make a little heart decoration and it worked great, although I did a poor job. Read more »

I painted my van wheels »

Sat 11 April 2015

My van has steel wheels and they were pretty rusty so I decided to paint them. Read more »

How to close a running process's socket »

Thu 9 April 2015

I had a problem this morning of a process that was stuck waiting for an HTTP fetch to complete, and had been stuck for 8 hours. Obviously the fetch had not been successful, and additionally some sort of timeout had broken, but I wanted the process to continue executing for the time being. What to do? Read more »

I drove a truck and bought a car »

Mon 23 March 2015

Yesterday me and Emma went to pick up a Nissan Micra I bought off eBay for £375. We currently have no intention of taxing or insuring the car as she needs to learn to drive first, and I didn't feel comfortable driving the car all the way back with no tax or insurance. Read more »

Digital Ocean Private Networking is not Private »

Thu 5 March 2015

Digital Ocean offer a "Private Networking" option which, to many people, sounds like it is accessible only to other droplets created by the same Digital Ocean account. Read more »

I built a campervan »

Thu 26 February 2015

I took today off work to work on the interior of my van. I intend to use the van as a camper van, but my main priority is that it can still be used as a normal van. I don't go in for these camper van designs that leave no usable space (e.g. to carry a motorbike, or a secondhand sofa). Martin gave me a futon, which is brilliant - it is basically an instant camper van as it provides seating and bedding in one. Read more »

I am back on the bike »

Sun 15 February 2015

I ride a 1989 Honda VFR750F. It's a brilliant bike, but has had very tatty fairings due to being knocked over several times. Read more »

I built an oak chest »

Sun 8 February 2015

Since the start of the year I've been spending some time at weekends building an oak storage chest. Read more »

How to make driftwood sink »

Tue 3 February 2015

I went to the seaside on Sunday and picked up some driftwood to put in my fish tank. Read more »

I bought some fish »

Sat 31 January 2015

On Thursday I bought 3 fish. The biggest one is a barb, and I can't remember what the other two are. Read more »

I made a ring out of a coin »

Tue 27 January 2015

Around the start of this month I made a ring for Emma. Read more »

I drove in the snow »

Sat 27 December 2014

Yesterday I drove my new van up North to visit Emma. Halfway through it started to snow. Read more »

SMS Travel Map »

Sat 6 December 2014

As I mentioned before, I built an SMS-updating coordinate-tracking system to use on the Mongol Rally so that everyone left behind could keep track of our progress. Read more »

Stories from the Mongol Rally: Mongolian Black Market Pickpocket »

Wed 19 November 2014

After completing the rally, and during our time as regular tourists in Ulaanbaatar, we visited a large market known as the "black market". Read more »

Stories from the Mongol Rally: Kazakhstan Policeman Selfie »

Tue 18 November 2014

Within about half an hour of getting into Kazakhstan, we were pulled over by the filth. We were travelling with an American team, 3FLP, by this point. Read more »

Stories from the Mongol Rally: the Georgian Diesel Incident »

Mon 17 November 2014

Shortly after we got into Georgia, we pulled into a petrol station to fuel up the car. The writing in this country uses these Georgian squiggles so it is impossible to even pronounce the words. Fortunately, most of the pumps in this petrol station also had writing in Latin, and we determined that the green pumps (like in Europe) pump petrol. So far, so good. Read more »

Counter creator »

Sun 16 November 2014

A while ago Feroz created an online counter for the number of times I've said something that could be considered racist. The idea is that whenever I put my foot in it, somebody clicks the button and the count increases. Read more »

I made a brass box »

Thu 6 November 2014

At the weekend I decided to use up the brass sheet I had lying around and construct a box. Read more »

I ran out of fuel in my van »

Sat 1 November 2014

Yesterday, on my way into work, I glanced at my fuel gauge and noticed that it was extremely low. Thinking to myself, "wow! I've never seen it that low before", I made a mental note to fill up on the way home. Read more »

I helped a French child fix a stolen moped »

Thu 16 October 2014

While Feroz and I were driving my van around France, we came across a child with a moped at the side of the road in some woods. He appeared to have broken down and we decided to help him. We pulled over and asked if he spoke English. He did not. Read more »

West Country Place Name Generator »

Fri 18 July 2014

I've recently written a West Country Place Name Generator. Read more »

Yurt Lush Live Tracking »

Sun 29 June 2014

In about 3 weeks' time I'm setting off on the Mongol Rally as one half of team Yurt Lush. Read more »

Hungman »

Wed 11 December 2013

I've made a hangman solver, currently called Hungman. The user interface is bad but most of the idea is there. Read more »

NFC Tag »

Sun 6 October 2013

Idea: NFC tag game. Whenever possible, bump your phone at someone else's to make them "it". Then they have to do it, and periodically there is some sort of punishment for the person who is "it". Like it vibrates to pretend there's a text message. Read more »

Beer »

Mon 23 September 2013

I've been brewing some more beer recently. Read more »

Xory »

Tue 10 September 2013

My latest project: Xory. I started this on Friday afternoon and now consider it releasable. Read more »

Mazda MX-5 »

Wed 28 August 2013

Today I almost bought a Mazda MX-5. Read more »

The Glowstick Debacle »

Thu 15 August 2013

This is a story about how I tried to make some money on eBay, and ended up losing a bunch instead. Read more »

8 out of 10 Countdown viewers »

Sun 11 August 2013

I added more fine-grained analytics to my Countdown Solver recently, and I noticed something interesting today. Here are the most-solved letter sets from Friday (note the last three): Read more »

Polynomial interpolator »

Sat 10 August 2013

Here's what the web needs: a simple-to-use polynomial interpolation tool. Read more »

Phone posting setback »

Thu 8 August 2013

Yet another setback in the phone posting project. Read more »


James Stanley - james@incoherency.co.uk | jesblogfnk2boep4.onion | [rss]