Skip to content

Ordering tables with jquery

Last spring I was organizing official Finnish ice climbing championships . We were a really small team behind this production. The problem for us was how to deliver real time results to the audience, and for the media broadcast company, which was filming and commenting the competition.

I wrote a small script to order the results, which I just quickly entered to the html page during the competition.

function sortTable(table_id, sortColumn){
    var tableData = document.getElementById(table_id).getElementsByTagName('tbody').item(0);
    var rowData = tableData.getElementsByTagName('tr');
    for(var i = 0; i < rowData.length - 1; i++){
        for(var j = 0; j < rowData.length - (i + 1); j++){
            if(Number(rowData.item(j).getElementsByTagName('td').item(sortColumn).innerHTML.replace(/[^0-9\\.]+/g, '')) < Number(rowData.item(j+1).getElementsByTagName('td').item(sortColumn).innerHTML.replace(/[^0-9\\.]+/g, ''))){

    tableData = document.getElementById(table_id).getElementsByTagName('tbody').item(0);
    rowData = tableData.getElementsByTagName('tr');
    for(var i = 0; i <= rowData.length - 1; i++){
        rowData.item(i).getElementsByTagName('td').item(0).innerHTML = i+1;

Continue reading ‘Ordering tables with jquery’ »

OpenSSL s_client recipes

This post is pretty much a reminder note to myself how to quickly start debugging certificate errors. I have googled this stuff way too often.

Checking the certification expiration date:

openssl s_client -connect | openssl x509 -text

Then see these blocks

Not Before: Mar 22 00:00:00 2016 GMT
Not After : Mar 23 23:59:59 2017 GMT

Let’s verify the whole certificate chain:

openssl s_client -showcerts -connect

This is the most common case for me. Most of the time the certificate is somehow installed in a wrong way. One common error is that the certificates are sent to the client in wrong order. This is fine for most of the clients, but at least Android seems to be expecting correct certificate order, as specified in the RFC document.

After this we can make simple GET request to the host with

GET /myresource.html HTTP/1.1

After this remember to press the enter twice.

Free backups to dropbox from wordpress sites

I have WordPress based sites that I maintain. I haven’t been updating this blog for a while now. Hopefully I’ll get something neat done during this year.

Here’s an easy way to take backups from WordPress blogs a zip archive to the Dropbox.

1. I downloaded the BackUpWordPress plugin to create zip-archives from my blog. It creates a zip file from all the blog database and from all content.

2. I upload the zip file to the Dropbox with WPB2D plugin. I have chosen only the wp-content/backupwordpress-xxx folder, so it will only upload the zip files that I have just created with the BackUpWordPress plugin.

All my old apps for Nokia platforms can now be found from Opera AppStore

The Ovi store closed down more than a month ago. I migrated to the opera appstore, and updated the link to poin to the Opera store instead of Ovi.

Anyway, Here’s the new Badges for my apps

AntSnes for Symbian:
Opera Mobile Store

MeBoy Lite for S40:
Opera Mobile Store

Why is my GPU freezing

I bought a new gpu, AMD’s r9 290x. I was a bit surprised after first day since it seemed to be freezing some times. It could run just perfectly for few hours and then *boom*, it freezes. I googled the issue a bit and the most common explanations were Power issues and driver problems. I borrowed a new PSU from a friend, and it was still freezing. Reinstalled the drivers couple of times etc.

After couple of days I was certain that I had a broken GPU. I was also thinking that I have return it and get a new one from the warranty. However leaving an odd error description like “freezes after few hours” might just do nothing, since the maintenance clerk can always say “it works fine in here”.

I decided that I have to know what’s wrong with the GPU, so I can easily prove that the GPU is broken. I would need something like memtest86 for GPUs. MemtestCL does just that. I just download MemtestCL, and I got memory errors from my GPU. This could have saved so many hours of meaningless debugging! I also left a warranty claim that the memory is broken and you can easily see it by yourself with memtestCL. I got a new GPU the following day!

Note to self; If I ever have freezing problems with GPU, see if the memory is working with MemtestCL.

Oh, And remember to use the most current version of MemtestCL found from github: