Thursday, 15 February 2024

How Onward Taxi Solutions (UK) rip you off.

Over the last few years, when I had to get to the airport for a long haul flight that leaves very early in the morning I have been using Onward Taxi Solutions (OTS). That was until this last weekend when I had to cancel my trip and OTS decided that charging me for the cancellation is worth more than my future custom.

Literally minutes after I made the booking I spotted a problem with my flights and I contacted OTS to cancel the taxi booking. They charged me £14 for the privilege. Apparently they have transaction fees to cover. They did say £7 or 10% but then charged me £7 x 2 (which is about 12%) because I booked both my trip to the airport and the one back. So although it is one transaction, they conveniently split it into two so that they can make an extra couple of pound from the transaction.

Firstly I would like to know what kind of service requires so much time and effort that they need to charge £7 or 10% to cancel it. No service, that I know of, charges that much to take card payments, so the only answer to why they charge that much is to rip one off. They are obviously not to concerned about their customers because their policy and rip-off is apparently worth more than my future custom.

Obviously it took me all of 5 minutes (if that long) to find another airport taxi company that cost me even less for exactly the same service. When will I learn that companies don't deserve your loyalty?

Business must be really bad for an organisation to stoop so low that they have to resort to such desperate acts to hang onto money. 

Wednesday, 7 February 2024

Where have all the design rules gone?

Many years ago, when the web started out, it was soon discovered that if you keep the click-count down it makes for a much better user experience. I'm not a UX designer. As a matter of fact, a colleague told me that my stuff looks like it was made in Russia - make of that what you want. I'm a software engineer, I make useable stuff. I'm not into fashion, frills and pretty widgets. However, the one thing I remember is to keep the click-count down - three clicks at most, and you should be where you want to be. 

So why, when I go onto my university website and I 

  1. click on "Staff" right at the top of the page (which I think is a good place), 
  2. it opens to a general page where I have to click "Staff" again to get to the staff options?
  3. However before getting the staff options I now have to log in which means I have to enter my username and password and click login
  4. Then the Microsoft authenticator on my phone needs the number displayed on the screen.
  5. To log into my phone I have to do the fingerprint thing
  6. Find the the Microsoft authenticator and enter the number
  7. Then do the finger print thing again to make sure, I guess, someone didn't grab and run my phone since the 15 seconds ago when I did the fingerprint thing the first time
  8. For the live of me I can't remember anymore why I wanted to go to the staff web page ...

Why, when I want to go to the workshop admin to add or edit a workshop, do I have to:

  1. Click sign in
  2. Enter, my username and password, click Login
  3. Click my name in the top right and then click Admin on the menu
  4. Click on Workshops
  5. Enter the workshop name and click Search
  6. Click on the workshop name in the list
  7. Click on the occurences tab
  8. Click on the "Change" link
  9. I can now edit what is there but I've lost the will to live ...
Someone, please help!

Sunday, 28 January 2024

Stupid Is As Stupid does

I'll start by defining some terms I use because different people interpret some words differently. "Stupid" has nothing to do with intelligence. Intelligent people can do stupid things. For example, smoking. Everyone knows that smoking is bad but both very intelligent and less intelligent people smoke. Now that is stupid. A person that smokes deliberately does something that not only affect their own health but they also are perfectly happy to be selfish bastards and pollute the air for others. So it is knowingly doing something that leads to adverse effects.

I have lived in the UK for about 28 years. It is a tiny, rather soggy, somewhat overpopulated island. Actually, it won't feel so overpopulated if people would just consider the fact that they live on a tiny island with very narrow streets. Now if you know that, why do you buy the biggest car on the market? Why do people drive around in SUVs? 

No, you don't need an SUV to cart your son's cricket gear around. Considering that most of these SUVs have low profile tyres, neither the SUV nor their owner has every seen anything but a nicely tarred road. And the fact that you could save my day by pulling me out of the snow in front of the Co-Op because the council couldn't be arsed to salt the roads does not really justify it either. It happened exactly once in the 28 years I have been in the UK and it wasn't a life-or-death situation. Obviously I was really appreciative and it did avoid further inconvenience for me, but boasting about that being the reason for having a big gas guzzling air contaminating monster somewhat put a damper on it all.

There should be a law against these vehicles in this country. If you have ever been to the UK and seen the roads - especially in the older villages and cities - you'll know how narrow they are. I live on an estate that was built in the 70s so you would think that is would be somewhat better. But no, 2000 years later, experience hasn't taught anybody in the building industry anything. People park in the street because garages are typically to small to even fit a VW Up and many people have more that one car. So even if the road has two lanes, since there are cars parked on both sides the roads are reduced to fit only one car. Then you also have the numb-skull who lives on the bend that parks his van right on the bend (which should be illegal and if it is it is not enforced). Now you have traffic from both directions having to go through a blind bend and people in England do not typically look further ahead than the bonnet of their car or slow down appropriately when they can't see further than the bonnet of their car.

It is no wonder that England doesn't have a working public transport system. Even if the buses are running (no thanks to ongoing strikes, snow or icy weather and breakdowns) the traffic is so bad that there is absolutely no chance of a bus being on time. 

Oh, and this one takes the cake. The bus that I take runs between Bishop Auckland and Eldon Square (Newcastle). These are the two big bus stations and then there is another big bus station just before Newcastle, Gateshead. But Newcastle is the main city. When Go North East decides the bus is running too late, they have the bus turn around at Gateshead, leaving up to 50 people stranded at Newcastle. Maybe stupid is way to generous to use on that one.

Word count: 619

Wednesday, 24 January 2024

Ranting makes for lots of words

Ranting makes for loads of words. I figured that if I struggle to write some days I could just pick something from every day life that is tripping me up. I could probably write at least a hundred words on British public transport every day. That might become boring eventually but, for today, I'll start with that.

Why is public transport such a difficult thing to get right? It is not like it is impossible. There are countries that actually manage to have buses and trains that run and run on time. 

It takes me about 90 minutes to get to work. Either I drive 5 minutes to where I get the bus or walk there which would take me 20 minutes. Then I get the bus, if it shows up (but never on time), which takes sixty to seventy minutes and then I have a 10 minute walk to the office.

Towards the end of 2023 the Go North East bus company's employees went on strike. After weeks of being sardined into the, one and only, bus that ran on my route to work, people completely lost sympathy for the union that was still rejecting a 10+% increase in salaries. I was considering the train but despite the fact that I live on a massive estate just outside the city, I have no reasonable way to get to the station. I could get the Arriva bus to the station but that only runs every 30 minutes and is not synchronised with any trains. Well, you can't really synchronise any one thing, in England, with any other thing because none of the things are ever on time. I could take the car to the station but the parking fee would exceed most people's mortgage payments. I was just about to consider the cycling scheme to buy a folding electric bike to the station when the Go North East strike ended and the trains went on strike. I decided to put the cycling scheme of to the summer.

A couple of weeks ago I make all the reservations for trains and hotels to attend the FOSDEM conference in Belgium. I was so pleased with myself. Everything is organised and done and dusted. I can relax, get a taxi to the station on the day and in the meantime look forward to FOSDEM. Then, last night, I have to read about more train strikes again. So I had to re-reserve a different train and cancel my existing reservation.

My get-up-and-go just got-up-and-went. I would SO like to live in a first world country! And not just one that looks like first world when you compare it to the third world but one that actually shows how things can be done.


Word count: 458

Tuesday, 23 January 2024

Writing A Little Every Day

Writing is one of those things that I would really like to be good at, but I really struggle with it. Unlike most people, when I had to write my PhD thesis, I did not have to reduce my word count but rather had to try and be more verbose about things. I tend to be very succinct. I say a thing and then it has been said. Why elaborate? So I have to learn to elaborate. At the time, my supervisor suggested I try writing 500 words per day but I found that almost impossible. 500 seemed to be an impossible number when I was trying to reach it as my word count.

We have team meetings at work every Monday and yesterday one of my colleagues discussed the setting of goals. For me, the big take-away was to set small reachable goals. So if 500 words a day are to much, how about 100 words a day or (as someone else on the team suggested). If I don't make the 100 words for a specific day I can make up by writing a bit more on another day. Perhaps also top the limit to 500 words per week which means I have weekends off or I can use it to catch up.

I'm going to give this a go on this blog. Let's see how this goes.

(Word count: 229)

Saturday, 17 December 2016

Talk-Talk is a fraud

It seems that I just can't pick a good mobile company. Or maybe, they are just all the same and use obfuscation to confuse and rip people off.

After probably 15 years I decided to give up on O2. Their contracts are extremely expensive compared to anyone else an their shop outlets have turned in to useless money wasting phone selling depots. You can't go to a shop to get help with your device or your account. I couldn't even buy a screen protector for my phone that I bought from them at the shop.

So, since I get my broadband from Talk-Talk, and since they had some good deals for existing customers I switched my phone accounts to them - three of them. AND ALL THEY SOLD ME WERE A LOAD OF LIES.

Now if you have a teenager, you might know that having a cap on your account is of utmost importance, so before I switched mobile provider I went online and used their chat facility (and I think I might have called them too) to make sure that when you run out of data or call time you would not be able to make any further calls or use data until you have gone online and purchased some more if you wanted to do so.

Today, however, I found out that this is not the case. After, my daughter overspent £18 on the account they decided to freeze my whole account. That is, not just the one phone ... no, they freeze ALL four accounts (the fourth one is the free one you get with your broadband/phone contract).

So as one does I resolved myself to having to waste the next couple of hours on the phone with a Talk-Talk representative.

The first thing they tell me is that Talk-Talk apparently have a usage limit and a capping limit. But actually they don't have a capping limit because, unlike I was led to understand in the first place, they don't place a cap on the traffic to your phone. So you can happily overspend without knowing it. The usage limit is the limit after which they will suspend your contract. So if you overspend because they are incapable of capping they will suspend your account. However, since they only get usage report every 24 hours, you can happily overspend in 24 hours and then they'll suspend your account when they receive the info. This reminds me of this story http://news.bbc.co.uk/1/hi/world/africa/8248056.stm.  So Talk-Talk admits to being slower than a carrier pigeon. We can put a rover on Mars, I can buy things in China and get it delivered within 3 days, I can transfer money to someone anywhere in the world in seconds, but Talk-Talk can't get an up to date usage report in less than 24 hours.

So basically there were three issues I wanted resolved. Firstly I wanted my usage limit to be the same as my capping limit. But since Talk-Talk can't get an up to date usage report they are incapable of implementing that and I had to sit and listen to a 15 minute advisory session of how to switch your data usage off when you are not using your data. Trying to get the message across that I was not in need of the tutorial on how and when and why to switch data off just led to contention. So I sat here chewing on my desk in an attempt to not burst into tears out of frustration.

The second issue was that I wanted the already accumulated charges of £18 waived based on the fact that I was miss sold a product. It wasn't so easy but after some time the Talk-Talk rep agreed to this and he agreed to unsuspend my accounts.

The third issue was that I wanted to be given the opportunity to cancel my contracts with Talk-Talk without any early cancellation charges because I was miss sold a product. To this the rep wouldn't agree. I pointed out that, since he has already agreed to refund £18 he has admitted to the product being miss sold and therefore I should be given the opportunity to get out of the contract without being penalised. He also insisted in telling me what the cancellation charges for all four phones were going to be, despite the fact that I kept telling him that I am not interested in hearing the cancellation charges because I do not wish to pay them. What I said to him was that if he cannot resolve this issue he should give me the name and/or address of the person to contact about this and I'll sort it out with them.

At this point the rep decided that he was no longer going to waive the £18 and that he wasn't going to unsuspend my accounts either.  I pointed out to him that he has, if he maintains this position, just made himself guilty of lying and dishonesty. The fact that he is now going back on something he has agreed upon, in my books, makes him and the company he represents dishonest and liars. Obviously he wouldn't agree to this statement but interestingly enough, now that I think about it, he never disagreed with the statements either and thus I can take this as acknowledgement of the fact that both him and the company he works for are guilty of being dishonest to clients. He also didn't disagree with my statement that he was now merely going back on his word because he was on a power trip.

I now have to wait until Tuesday when he has talked to his Chief Technical Officer to decide what is going to be done. So his power trip continues.

So let me take the opportunity to warn you against Talk-Talk's questionable practises. This is not the first time I have been lied to blatantly by Talk-Talk. Some years ago I demanded and early termination of a contract because I was distinctly told that I would get a static ip for my broadband provision, just to be told after installation that Talk-Talk did not do static ip addresses.

When something like this happens once, you can probably put it down to ignorance on the rep's part but when it happens a second time you start questioning the company's integrity.

TALK-TALK, I'M QUESTIONING YOUR INTEGRITY.

Tuesday, 2 September 2014

Conway's Game of Life written in Processing

When I feel a bit "down in the dumps" and I don't fancy getting up to do anything, I program. I think it is because it allows me to cut off from the world and focus on one tiny thing. So I have been meaning to look into Conway's Game-of-Life, but never got around to it. The past few days I have been struggling to focus on writing my thesis and ended up writing one in Processing. It's nothing spectacular, but quite fascinating to watch the different patterns grow (or not). Here is my code:

001 int size = 100;
002 int cellsize=4;
003 int displaysize = size * cellsize ;
004 int[][] world = new int[size][size];
005 int[][] newworld = new int[size][size];
006 int r1 = (int)random(size);
007 int c1 = (int)random(size);
008 boolean pause = true;
009 color alive = color(000);
010 color dead = color(255255255);
011 
012 
013 void setup() {
014   size(displaysize, displaysize);
015   // initialise world with zeros
016   for (int x = 0; x < size; x++) {
017     for (int y = 0; y < size; y++) {
018       world[x][y0;
019     }
020   }
021 
022   // start life
023   // gun
024   world[39][39]=1;
025   world[40][39]=1;
026   world[39][40]=1;
027   world[40][40]=1;
028 
029   world[49][39]=1;
030   world[49][40]=1;
031   world[49][41]=1;
032   world[50][38]=1;
033   world[50][42]=1;
034   world[51][37]=1;
035   world[51][43]=1;
036   world[52][37]=1;
037   world[52][43]=1;
038   world[53][40]=1;
039   world[54][38]=1;
040   world[54][42]=1;
041   world[55][39]=1;
042   world[55][40]=1;
043   world[55][41]=1;
044   world[56][40]=1;
045 
046   world[59][39]=1;
047   world[59][38]=1;
048   world[59][37]=1;
049   world[60][39]=1;
050   world[60][38]=1;
051   world[60][37]=1;
052 
053   world[61][36]=1;
054   world[61][40]=1;
055 
056   world[63][35]=1;
057   world[63][40]=1;
058   world[63][36]=1;
059   world[63][41]=1;
060 
061   world[73][38]=1;
062   world[73][37]=1;
063   world[74][38]=1;
064   world[74][37]=1;
065 
066 
067   // oscillator Blinker
068   world[10][10]=1;
069   world[11][10]=1;
070   world[12][10]=1;
071   world[9][11]=1;
072   world[10][11]=1;
073   world[11][11]=1;
074 
075   //DieHard  
076   world[20][10]=1;
077   world[21][10]=1;
078   world[21][11]=1;
079   world[25][9]=1;
080   world[24][11]=1;
081   world[25][11]=1;
082   world[26][11]=1;
083 
084   stroke(dead);
085 }
086 
087 void draw() {
088   for (int c = 0; c < size; c++) {
089     for (int r = 0; r < size; r++) {
090       // if there isn't life, make the point white;
091       if (world[c][r]==0fill(dead);
092       // if there is life make the point black
093       if (world[c][r]==1fill(alive);
094       //if (world[r][c]==1) System.out.println("life at " + r + "," + c);
095       rect(c*cellsize, r*cellsize, cellsize, cellsize);
096     }
097   }
098   if (!pausemakeworld();
099 }
100 
101 void makeworld() {
102 
103   // initialise newworld
104   for (int x = 0; x < size; x++) {
105     for (int y = 0; y < size; y++) {
106       newworld[x][y= world[x][y];
107     }
108   }
109 
110   // Determine life in the new world
111   for (int c = 0; c < size; c++) {
112     for (int r = 0; r < size; r++) {
113       // initialise neighbours
114       int neighbours = 0;
115       //check surrounding life
116       for int ic = (c-1); ic <= (c+1); ic++) {
117         for int ir = (r-1); ir <= (r+1); ir++) {
118           if (((ic>=0)&&(ic<size))&&((ir>=0)&&(ir<size))) {
119             // don't include self
120             if (!(ic == c && ir == r)) {
121               // if there is life increment neighbours
122               if (world[ic][ir]==1neighbours++;
123             }
124           }
125         }
126       }
127 
128       // apply game of life rules
129       // if there is life
130       if (world[c][r== 1) {
131         if (neighbours < || neighbours > 3) {
132           newworld[c][r0// Cell dies
133         }
134         // if there isn't life
135       else {// i.e. world[c][r] == 0
136         if (neighbours == 3) {
137           newworld[c][r1;  // Cell becomes alive
138         }
139       }
140     }
141   }
142 
143   // initialise newworld
144   for (int x = 0; x < size; x++) {
145     for (int y = 0; y < size; y++) {
146       world[x][y= newworld[x][y];
147     }
148   }
149 }
150 
151 
152 void mousePressed() {
153   if (pause) {
154     pause = false;
155   else {
156     pause = true;
157     System.out.println("pause");
158   }
159   
160 }

Java2html