Rule #553 of the Internet


DDOS Attack on Red Button on Black Computer Keyboard.

Rule #553 of the Internet: You know your app’s doing well when idiots make the effort to attack it for no apparent reason. For a while now, Textise has been suffering chronic perfomance problems and regular outages. You might have noticed. I certainly did!

First of all, my hosting company started complaining that Textise was hogging all the CPU on the shared server it was on. So they throttled it. This was understandable but reduced performance even further. It seemed that hundreds of  thousands of requests were hitting the app every day, all sourced from the Opera browser. Obviously, this immediately looked suspicious, given that Opera isn’t the most popular browser on the planet, and none of these requests were showing up in Google Analytics (which was presumably assuming them to be bots).

So, I signed up for CloudFlare, a proxy service that can filter out malicious requests before they hit your app server. CloudFlare found threats, and stopped them, but it seemed to miss the Opera-sourced attacks, which didn’t reduce at all.

Plan B: I moved Textise from the shared server to a dedicated, physical box. This costs ten times more a year but at least allows me to see exactly what’s going on. The new server coped better with the traffic but still had to be throttled to stop it crashing out on a regular basis.

Plan C: I added code to the Textise app to reject calls from Opera. This did, finally, reduce CPU, but I was unhappy about such a blanket approach.

Plan D: I trawled through the server logs and, with the help of the R Project, I extracted page hit info from Google Analytics so I could compare the two. Eventually, I found another way to identify the malicious requests, meaning that genuine Opera users would still be able to use Textise, and coded it into the app. I talked to the folks at CloudFlare, in the hope that there was a way I could configure CloudFlare to do something smilar, but it turned out that would cost me mucho cash, so the code stays in the application. This is a shame, as I’d rather these stupid calls were blocked well before they get anywhere near my server.

I’ve now also added SSL to the site. This doesn’t stop attacks, of course, but it means that your use of Textise is protected. A downside is the bookmarklet and Firefox add-on were slightly broken. I’ve now fixed the bookmarklet (to update, just drag it into your bookmark bar again) but, because Mozilla are changing the way that add-ons work again, I need to re-write the FF add-on, which will take a little while longer.



Can you hear me, Mother?

We’re trialling ReadSpeaker’s funky text-to-voice technology on Textised pages where the main content can be identified, like the BBC News Page.

Why not give it a go and let us know what you think?

Case Study: Web to WAV

reading_triggerApril, from Green Bay, Wisconsin, uses Textise to help her read newsletter articles without getting a migraine. Here’s her story…

“I started getting migraine headaches a few years ago from reading so I had to give up 99% of my book reading. I really love to read newsletters, though, and it would take me forever to catch up because I could only read a little per day. So I was trying to find a software for my computer to read things to me and I found your Textise app. I combine that with Zabaware TTS Reader for Windows. 
“I click on an article in my newsletters, then right click to Textise it. I then copy the text to the Zabaware software and convert it to a WAV file so that I can listen to it while I’m doing other things. I also have a talking book machine from the WI Talking Book and Braille library. It lets you listen to daisy, WAVs, and MP3s. 
“I can  listen to them on my tablet, computer, or Talking Book player.
“Textise has helped me reduce my migraines a lot and allowed me to keep up with my reading. Thanks!”
It’s great to hear of the creative ways our users find for Textise. If you have a great story about how you use Textise, let us know via the Contact Page.

Problems accessing Textise

We’re aware that some users are having difficulties accessing Textise. Please be assured that we’re investigating and hope for a swift resolution.

EDIT (28/02/2016): Hoping that everyone can now access Textise OK. Seems there was a problem with some IP address blocking at my hosting company.
If you’re still have troubles, please let us know!

Web Service lock-down!

Today I’ve implemented a change to the way that the Textise web service is called. The reason for this is that some people have been abusing the service by hitting it with ridiculous amounts of traffic, which obviously has an adverse effect on Textise as a whole.

I’m very happy for the web service to remain available as a stand-alone service but I’ve now added a new mandatory parameter, a GUID. In future, if you want to be able to call the web service directly (that is, without going via the site), you’ll need your own GUID, Just contact me, with some details about how you’re using the service, and I’ll send you your very own!

Thanks for bearing with me on this.

How do you use Textise?

Please let me knVoting imageow what your main use of Textise is by completing the poll below. No prizes, I’m afraid, just the satisfaction of helping me understand how best to take Textise forward. If your main use isn’t listed, or you’d like to expand on it, feel free to add a comment to this post. Thanks!

How to use Textise

Easy ways to use TextiseThere are various methods you can use to easily access Textise, either from the home page or by using browser short-cuts.

Here are your options…

From the Home Page

This is the way Textise started out and it’s still a useful way of using the tool. Just navigate to and you’ll see an input box marked “URL or search term”. As the label suggests, this allows you to either type in a URL or input a word or phrase you’d like to search for. If you’re searching, the drop-down underneath allows you to specify which search engine to use. Hit “Textise” or “Search” and you’ll be taken to a text only page showing either the page you specified or the search results.

Note 1: If the string you enter doesn’t contain any full stops (aka periods, aka dots), the program will assume you’re searching (since a URL always contains at least one full stop), in which case it won’t matter which button you press.

Note 2: For URLs, the program will add missing information. For example, you can type in “” and Textise will understand that you mean

Note 3: If you type in a URL and click “Search”, the program will search for the URL using the currently selected search engine.

Firefox Add-on

For Firefox users, I’ve created an add-on that makes it easy to flip in and out of text only mode. The add-on can be accessed from the the right-click menu or from the Tools menu. Click once to enter text only mode, click again to return to the original page.

You can find more details on the Firefox Page or on the Mozilla site.

Note 4: The Mozilla site currently shows a rating of 3 out of 5 for the add-on. This is unfortunately the result of problems I had with Firefox 3.6: the structure of add-ons was changed for this version and this broke my original code. In the end, I had to re-write it from scratch. The latest incarnation has survived all of Firefox’s recent rapid version changes.


The bookmarklet provides almost exactly the same functionality as the Firefox add-on but works with all the major browsers (including Firefox). The major difference is that the bookmarklet can be configured to sit in a browser’s bookmarks/favourites bar, making it very easy to click in and out of text only mode. The underlying code is exactly the same.

You can find the bookmarklet on the Bookmarklet Page.

Note 5: For most browsers, it’s possible to simply drag the bookmarklet from the Bookmarklet Page into your bookmarks/favourites bar.

Textise Bookmarklet for iPad

Lorenzo Orlando Caum (@lorenzocaum) has published a brilliant tutorial on setting up the Textise bookmarklet on an iPad. I use this myself and can thoroughly recommend it.