Introduction About Site Map

RSS 2 Feed RSS 2 Feed

Main Page | Blog Index

Archive for the ‘General’ Category

Synergy for Expanded Workspace Without Extra Cables

Quad head

IF ONE looks for a laptop with a graphics card that has more than one output, the outputs often cannot be used concurrently, so for instance, my work laptop can either use an external display via HDMI or via VGA, not both at the same time. How does one easily expand one’s workspace? Get a budget Chromebook (15-inch Acer in this case), install GNU/Linux on it, extend the display to an external monitor (28 inches in this case), then connect to the other (primary) laptop using Synergy. Voila! Quad-head laptop (see above). There are no excuses anymore for not choosing laptops over desktop.

Metrolink Customer Services Not a Good Service (Updated)

Manchester transport

The Manchester Metrolink, a broadening system of electric public transport, is generally a good service. I love it. Many people love it, some hate it, and judging by some aggregated numbers or more recent polls, the number of complaints seems to be rising, which should definitely be cause for concern. Metrolink staff should listen. Some common complaints may be all to do with maintenance, but any service that it being extended/augmented should be expected to have occasional disruptions, which relate to maintenance or faults. Speaking for myself and my wife, we did suffer from such disruptions before, but it’s usually not critical and the bus system is a safe fallback.

In order for the Metrolink system to continue its growth (reaching further and further in each direction) it will need to have public consent, general popularity, and support from the Council. Any kind of disruption might be excusable, depending on how Metrolink handles it and explains it. Failure to deal with a failure or with a complaint would not be viewed favourably and since people speak to each other, negative sentiments can spread quickly.

This post is not intended to bash Metrolink itself but only to express concern about the way Metrolink staff handles failure. Metrolink should by all means be supported as a whole. This is great use of taxpayers’ money and it can be self-subsidising because it’s of interest to millions of people on a daily basis. It keeps pollution low and the city relatively clean, also in the noise sense. Greater Manchester can be proud of it and derive a lot of value from it (it now goes as far as the airport down south now). Despite running its Web site using horrible Microsoft software which is not only expensive but also unreliable (there have been issues over the years), the trams are quite reliable, except when cars get in the track (the trams use rail, unlike some other such services). This post is not a complaint about the frequency of failures but purely about the way they are handled, either by people at the stations or those accepting calls and E-mails ( They must improve or they will inevitably alienate regular customers and therefore put the whole service at risk (due to lack of public support).

My wife and I, both regular travelers of the Metrolink, embarked on a journey from Holt Town last Tuesday, as we quite often do. I was using the machine at the west side of the station, which was a big mistake. As soon as I dropped the first pound coin inside in order to make the payment (8 pounds for my wife and I, overall, in total) it was slow to fall in and I waited until it finally did, barely. Something was clogging it up its way. I then put in a 2-pound coin and it really struggled to go in. I tried to push it in with the next coin (1-pound coin) and at this stage both were stuck inside. The machine then cancelled the transaction, shut the lid, and returned one pound to me (the other two coins were still stuck inside), so I basically lost 3 pounds. To retrieve such lost money it usually takes a lot of work (bureaucracy), but I remained optimistic. This ultimately ruined the rest of my day, especially since I approached Metrolink staff and all they could say is that I should send an E-mail. I even saw one man fixing a machine with a similar fault in Piccadilly Gardens station (north side) half an hour later and asked him if he could report this for me, but he could not help (he wore a shirt that said “Metrolink” but insisted that he does not work for Metrolink). There was nobody to speak to and those whom I could reach by phone were unwilling to help (I asked repeatedly if this can be done over the telephone). The fault with the machine was apparently not so uncommon (despite it being the first time I have such an issue) because the guy working at Piccadilly Gardens station was fixing what seems like a similar if not identical issue (the guy works for the company contracted to maintain them). The machine would not accept cash anymore, at least not in Piccadilly Gardens station, which indicates either a chronic issue with these machines or some yobs messing about with many of these machine in an effort to abuse them, which in turn hurts people like ourselves. Either way, never mind the frequency of these issues or the cause; this may not be the top issue, just the way they were handled (or not). I honestly think that jumping through all these hoops to receive my money back shouldn’t be happening. They said I should give my postcode. Our address was given to them. It has not been 4 days and we are still waiting.

After spending a lot of time giving Metrolink all my details I said: “Please rectify this as soon as possible (I can send ticket number/time if you need it). I presume you already have log files/CCTV footage near the machine, it was around 2PM today. I cannot believe that I have to go through all this trouble just to get my 3 pounds back. I will be writing about this experience online because by this stage you are the third line of support that I approach and for merely 3 pounds which were lost not by my own fault I think there’s merit for a complaint.”

I did receive a reply on the same day. It said:


Thank you for your email and all your valuable feedback.

Can you send copies of your Metrolink tickets.

Best regards

That’s an odd thing to say because, putting aside the work required to photograph/scan, then pass files and E-mail them (or sending any originals by post), these tickets have nothing to do with my issue. We later purchased two tickets with my debit card; are these relevant to it? Not really, these are not the tickets which the report is about.

Why is Metrolink staff asking for photographs of tickets completely unrelated to the ones for which error made. They’re terrible at reading the detailed explanation of what happened. Maybe it was a ‘template’ response.

I then had to nag them again for another response. About a day passed with not a single reply. It’s almost as though they discourage one from reporting the issue and hope that the person will just lose interest and walk away (problem ‘solved’).

In my response to my nag the Metrolink staff (which I won’t name because privacy is deserved here) wrote:


After reviewing further all you have said I can give you the option to receive a £3.00 cheque refund (within 15 working days) or I can post two replacement day tickets to you this evening.

I have forwarded all your feedback in relation to the refund procedure, to the management team.

“Thanks for getting back to me,” I replied. “If you can send replacement day tickets for me and my wife, that would be preferable.”

I have not heard anything since them. It has been two days.

I added: “I appreciate you making the effort to pass my comments to those who can improve response in the future. As soon as the coins got jammed I foresaw it becoming a huge hassle and I was right.”

Well, it still is a hassle because I have not heard back and here I am writing a long rant about it. Because of 3 pounds. That’s less than five US dollars.

Metrolink should definitely reassess its handling of cases like these because if it repeats this, then it’s likely that not only will it lose customers but also tarnish its reputation.

This post will be updated as developments are made

Update (one week later): After waiting for over a week, contacting 3 people, and sending ~5 unanswered mails I am going to make a complaint against Metrolink Customer Services. From my one-way communication with them:

  • “Any update on this?”
  • “Any progress on this? This is the third time I write to you guys this week. This is very bad service…”
  • “At this stage I wish to make a formal complaint about metrolink customer services. Please provide me with contact details of the relevant department.”

Update #2: 9 days later I finally received a response again (first in about a week, only after I had expressed intent to file a formal complaint).

Metrolink staff:


Thank you for your email.

I have been awaiting your address.

I have just read the email trail below, and it appears I have not asked you. I am very sorry for my error.

Can I please have you full postal address.

Best regards

Customer Experience Advisor
Metrolink RATP Dev Ltd

And later:


I was on rest day yesterday, you will notice I have just responded to your email on Tuesday (as that is the first one I came to), would you still like to take this further?

Best regards

Customer Experience Advisor
Metrolink RATP Dev Ltd

To which my response was: “My full postal address was in my first message, as I was advised over the telephone to get it to you (I phoned the Services at Piccadilly Gardens Station last Tuesday).

“I was disappointed to see what hoops people have to jump through, even if they’re loyal customers, due to machine malfunction and a subsequent prolonged process that discourages the victim. I can imagine that few people bother pursuing (getting their lost money) and those who do bother will lose interest quite fast and be grumpy about it, whereupon they might stop using the service. I did try to provide a detailed account of what my wife and I had to go through and how it ruined not only our day but also our week (as this has been preying on my mind since).”

Let’s see how long it takes for money to be returned.

Update #3: The staff replied promptly, stating:

Thank you for your sending me your address.

Follow passenger feedback, similar to your own, the process is currently being reviewed. Hopefully the process can be improved.

I have now posted your tickets, my apologies once again.

Best regards

Customer Experience Advisor
Metrolink RATP Dev Ltd

This indicates that other people have had similar problems.

Update #4: Yet another week and a half has passed and still we’ve received nothing. Here is the correspondence so far.

Me (one week later):

We have not received anything by post yet. Was it sent last week?



Four complimentary tickets were sent last Friday.

Please allow a couple more days, as our post may have been delayed with the bank holiday weekend.

Best regards

Customer Experience Advisor
Metrolink RATP Dev Ltd

Me (another half a week later):

Nothing has arrived by post. Can we please have the complaints E-mail address?


Hi Roy,

The tickets are in letter form, have you received the letter?

Best regards

Customer Experience Advisor
Metrolink RATP Dev Ltd


We have not received anything yet. Was it sent to [redacted] Manchester? Was it returned to sender maybe?



I have no idea why you have still not received your tickets. I have double checked the address, and it matches the one you sent.

My manager has authorised me to email them to you, do you have access to a printer?

Best regards

Customer Experience Advisor
Metrolink RATP Dev Ltd

Sounds like a lot of trouble. Now we need to print our own compensation, if it ever gets sent digitally at all.

I replied:

Yes, we have a printer at home.

Later I added:

Watch how much trouble we have had to go through over the 3 pounds devoured by the Metrolink machines (not our fault). What a total waste of time it has been (maybe about 5 hours so far). I could earn hundreds of pounds at work in such a period of time. Earlier today we rode the tram, but it’s an experience like this which leaves me wanting to just avoid the tram altogether, for good, as a matter of principle. I have started to have a bit of resentment towards the service because of what happened — a complete reversal of my previous position. Had someone at the station been able to help us on the day it happened (about 20 minutes later in Piccadilly Gardens), I wouldn’t have had to start this month-long pursuit which I now regret, seeing what a waste of time it is (at both sides, yours too). This type of procedure needs to be fixed/rectified, which is why I asked about a complaints address. Nothing is going to improve unless cases like ours are properly studied and there’s risk that you would alienate yet more loyal customers.

Update: this has finally been escalated to management. Turns out that Metrolink Customer Services sent the replacement tickets to the wrong address (a manager has just told me). Wow. Disaster on top of a disaster. Here is the full message I’ve just received:

Good Evening

My name is [redacted] I am a Customer Network Manager here at Metrolink.

I cannot apologise enough that firstly you had an issue with the ticket machines and then you had to wait for the replacement tickets to be sent to you only to find they had initially been sent to the wrong address.

I have checked the database where the tickets are generated and it does show that three tickets have been posted out to you. As it seems the post is unreliable I asked my colleague to email them over to ensure they are received.

Here at Metrolink we operate an open system where it is not possible to man all 94 stations on all platforms throughout service hours. I understand how frustrating this must be when you have a problem with the ticket machine and I sincerely apologise.

Metrolink are contracted by Transport for Greater Manchester to operate the system any major changes to our operations would need to be made by them. If you would like to contact them and discuss any suggestions you may have please email

I will have my colleague email the ticket over to you as soon as possible.

Kind Regards


Customer Network Manager

Metrolink RATP Dev Ltd

For the record, I have asked again to ensure a mistake was indeed made:

Good Evening [redacted],

If I understand this correctly, you initially posted the tickets to the wrong address, which helps explain the infinite delay. Is that the case?



This was then confirmed:

That is the feedback I had from my colleague the initial address was incorrect that we had on our database.

Again I apologise

My reply (while still waiting to see how to acquire or redeem the replacement tickets:

Thanks, I appreciate you taking the time to respond and acknowledge the error.

Hopefully it will all be fine from here onwards.

Health Club Awards 2014

Health Club Awards 2014

The Midland Hotel’s health club, the club I have been going to since my teenage years, has won Health Club Awards 2014 for the north west and ranked 3rd overall nationally. This is the second year running that our club wins this award and today the staff took this photo of Rianne and I with the awards for this year. The staff there is wonderful.

Aggregating JavaScript Files in Drupal


In Drupal, provided that the required modules are installed, performance can be improved in a variety of ways. Aggregating and compressing CSS files can decrease page rendering time (getting the required files more quickly prior to rendering) and the same goes for JavaScript, which executes programs while the page is loading or after it is loaded.


To minimise the number of GET operations and the size of transmitted files we can go to Configuration -> Development -> Performance. Therein there are many options, cache related ones in particular. Under Bandwidth Optimisation there are two relevant options which are not yet used.

  • One option is “Aggregate and compress CSS files.
  • The other is “Aggregate JavaScript files.

We enable the second option only, then press the “Save Configuration” button.

HTTP Headers

Before the above change is applied, however, we should probe to see what JavaScript are associated with some sample pages and how they are delivered to the visitor. The Firefox Live HTTP Headers plugins can help here. It is available from Mozilla’s official extensions repository; version 0.17 is the latest (this extension is nearly a decade old and it was widely popular half a decade ago). Once installed, Firefox needs to be restarted, whereupon the extension can be invoked, from the bottom of the “Tools” menu, under “Live HTTP headers”. Load the main page of the site (or any other page for that matter) and analyse the output. “Capture” is enabled by default.

Press “Save All” to save the output to a file. This will be used to compare the number of files before and after the change.

Close Live HTTP headers (the window).

Apply the optimisation changes (as above, ensure the green box says “Your configuration options have been saved.”) and repeat the process again, this time choosing “Save All” and choosing another filename.

Before/After Analysis

Open a text editor and start comparing the files. Suffice to say, if there are issues loading pages after applying the above change, then stop and investigate. A more thorough investigation (beyond ensuring the settings have a positive effect) will come later.

If aggregation works correctly, expect to see in the second (“after”) file that the JavaScript GET request is for /sites/default/files/js/js_[SOME_LONG_CODE].js, not something with “modules”. This means that a new cache-esque file was generated which combines several others. Drupal saves it on disk for performance improvements.

Open the “Live HTTP headers” again, ensuring the log is empty. Reload the same page and scroll up to the same point, ensuring the same JavaScript is pulled from cache again. If the file name is not identical (in its name/size), then it is possible that it got regenerated, which may slow down the server side but not the client side (except when waiting for it to be regenerated); network speed — even if files are concurrently downloaded — should not be an issue here, so it may be good enough. The important thing is that we can verify JavaScript got aggregated.

Generally speaking, another sanity check can be comparison of file sizes of the file ‘dumps’ Live HTTP headers. For the main page of one test site, the “before” file is 131KB in size, whereas the “after” file is 106KB in size. This indicates that a lot less was included in GET requests; getting pertinent details (like which requests were spared) is a more time-consuming exercise.

Site Integrity Tests

At this stage, systematic site tests are needed, especially in pages that are JavaScript-heavy and may be affected by JavaScript functions being thrown into the same file. Among the pages tested (not a full list):

  • Front page
  • Contact page

This would of course depend on the site at hand.

JavaScript Console

In Mozilla’s Firefox Web site, navigate to Web Developer’s Toolbox, “javascript” under common tags has JavaScript Debugger. Install it (Add to Firefox, Install Now, Restart Now).

Once the browser has the debugger installed and enabled run through a few pages while the console is visible to identify any issues which remain. File -> Open Web Location is another option. Once all is clear and there are no major errors (if any errors at all) it seems ready for permanent switchover to this operation mode.

Migration and Upgrading of Techrights


EARLIER THIS month the server running Techrights got migrated and upgraded (from Linux 2.6.18-308.el5xen #1 SMP Tue Feb 21 20:47:10 EST 2012 x86_64 x86_64 x86_64 GNU/Linux with 2 cores on CentOS release 5.9 (Final) to Linux 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux with 4 cores on CentOS release 6.4 (Final)). Thanks go to Copilotco for providing hosting space and kind support. Here is a look at some of the work involved in this whole process. It can be subdivided into a bunch of tasks as follows:

  • Setting up the backup cron job, among other jobs. For the standard user/s this involves just nightly backups of all databases overnight, at around 8 PM East Coast time (the physical server is based in California). For root, the story is a little different. Monitoring is run with E-mail alerts (in addition to third-party services which poll over HTTP and dispatch warnings in Web/E-mail form). Someone wrote a script for automatically restarting Apache and sending some diagnostics around multiple maintainers if the service seems to be malfunctioning. I wonder, however, if we need this to run on the new server by default, considering the fact we might have uptime/continuity of service for months as we did years ago. This used to be run as a cron job, in a line which contains */5 * * * * /usr/local/sbin/web-watch. We will be saving it in the home directory before we decommission the old server and lose data. The scripts associated with the jobs have been copied and given the same permissions as before, so they should be usable. HTTPD restart script (in cron job with correct permissions in associated files) requires some cold testing, with additional cron jobs-related tests (requires lots of testing to prevent major catastrophe, e.g. .htaccess should not be (mis-)configured to permit access to privileged parts of the site (none except system files)).
  • Needing to compare DB sizes to assure all data was migrated successfully (about 1.8 GB of text in the databases). This is tricky for a tool like diff to address. Given that the import yielded no warings and the database dump sizes are roughly right (with the newer, active database being slightly larger), this seems to be passing the sanity check. Readers were encouraged to report problems with the site, as well.
  • Blocking wiki edits which are anonymous, i.e. from the new address of Varnish. There are Wiki spamming attempts ongoing, and as soon as new registrations and edits by them are allowed, the Wiki gets littered with spam. None of that has stopped.
  • Merging of domains is work in progress. In Google, site: might start showing duplicates (w.r.t. because access to the former domain does not result in the URL being overwritten/rewritten as To prevent the search engines’ indexes from filling up for two separate domains, the old behaviour is preferred and should be restored. In short: Needing to check that all domains, two .com domains and the default .org domain, are all merged properly to give one single URL for each page, with no plurality (canonical form). Testing a lot of pages on different kinds of sites/domains, redirections included, e.g., helps provide reassurance here (for link integrity, i.e. no 404s, not just SEO-driven).
  • Finding the master template for /etc/sudoers, wherever it resides. We need to add a line to sudoers to allow for faster restarting of the IRC bot/s.
  • The statistics package we use (needed for security with 4-week retention, but locally-accessible only, for privacy reasons), a simple program called Visitors, has been recompiled for the new server and data passed to /root where scripts reside whose function is retained, having replicated Apache configurations and other settings that relate to them. Some testing is still required for some bots’ function, e.g. access via HTTP to localhost. The Varnish proxy complicates debugging.
  • Checking of cache directories and plugins, ensuring that they work and aid performance. Pages should generally be loaded more quickly, owing in part to hardware improvements.
  • IRC logs and access to them should be verified (5 years’ worth), along with access to directories through contents listing (blocked by default in some Apache configurations). Seeing errors through logs can help diagnose such issues.
  • MIME types for filetypes such as Ogg should be checked, with different file extensions and in-page embedding being tested. A test of oggs seems mostly fine, at least for TechBytes episodes. On the old server (under /etc/mime.types), “video/ogg ogg ogv ogm” was used to capture variations of file extensions. The new server needed OGM added (cat /etc/mime.types | grep ogm showed it to be conspiciously missing).
  • Mailing technical details to another privileged user, perhaps getting another public key on the server.
  • Magpie RSS in the Wiki for fetching latest stories from WordPress. Currently, this does not work and it did prove problematic in the past, too.
  • There are 4 directories of Patent Troll Tracker posts which need to be made inaccessible (chmod 000 for instance) as the author asked them to be made invisible (he got sued over it) before we made the mirror. This is needed for offline preservation (information about notorious patent trolls).
  • Needing to recheck root directories for similarities, ensuring nothing valuable is left behind on the decommissioned server. This can be achieved most simply using a count of files in several locations, checking space used in areas of importance.
  • Directory listings, e.g. listing of court exhibits, should be enabled despite the default paranoid setting in Apache. Alternative domain names will inherit those same rules if properly set up.
  • Resorting a regular remote backup routine, e.g. through the gateway or from server directly to desktop (in the UK), in addition to backups near the rack.

Gallery3 is Great

Logo of Gallery

GALLERY (see Wikipedia for background) was first installed in this Web site about 8 years ago. That was version 1. I installed version 2 a few years later (for security reasons and general exploration), but did not delve deep into it. It is still installed, but I chmoded it to 700. Recently, shortly after our wedding, I started experimenting with version 3, which is also known as Gallery3 (because the name “Gallery” is very generic, non-unique). Despite is being barebones by default, with additional modules it is highly extensible/configurable and I have added many modules that can be seen in the live site. For me, Gallery3 seems to be the best FOSS Web-based photo album software bar none. It is far better than Facebook’s proprietary ‘cloud’-based option, which I installed Gallery3 to replace (the wife was quitting Facebook for image hosting). I did experiment with some other options, but these were less well-suited. For those who may be curious (or those wanting to replicate some functionality), the latest Gallery3 album uses a slightly modified (by me) Clean Canvas Theme. along with the following modules (configured appropriately):

  • AddThis
  • Akismet
  • Album Carousel
  • Album Tree
  • Carousel
  • DownloadAlbum
  • Exif Data
  • Gallery Stats
  • Image Block
  • Local print
  • Notification
  • Search
  • Slideshow
  • Social Share
  • Tags

A few more modules are installed by default and additional languages got installed manually.

People should increasingly self-host their photos. The opposite trend is worrisome as there is no guarantee of albums preservation; it’s hinged on somebody else’s business model. Go to the Gallery Web site and learn how to reclaim your photos. It is a long-term investment of time and effort.

Prof. Black Explains US Economy

The following show covers many of the key issues people must be aware of if they ever wish to know what caused the fiscal crisis, which is actually a passage of wealth from the poor and the middle class to those who cheat the system, and are typically already highly affluent. This audiocast is not a time waster.

Here is some background on William K. Black.

Retrieval statistics: 21 queries taking a total of 0.224 seconds • Please report low bandwidth using the feedback form
Original styles created by Ian Main (all acknowledgements) • PHP scripts and styles later modified by Roy Schestowitz • Help yourself to a GPL'd copy
|— Proudly powered by W o r d P r e s s — based on a heavily-hacked version 1.2.1 (Mingus) installation —|