Here’s why you should NOT buy Racold Solar water heater for your house/apartments.


This write up is about our experience with the Solar water heaters from Racold which we had installed at our apartment complex. To keep it short and precise, these are the reasons why you should AVOID buying Racold’s solar water heating solutions.

Low Build Quality

The 500 Litre tank leaks like a funnel just after two years. Apparently the welds just went off.

Short Sighted Design Choices

The tank is made of MS (mild steel). Even the so called technicians from Racold do not know how to weld and repair it.

Ridiculous Customer Care

This the most important reason why one should ditch Racold. Their customer care is an absolute mockery of everything customer-care.

  • Their contact numbers are Non-responsive.
  • Their contact emails are Non-responsive. (tried, and
  • Their WhatsApp contact guys are absolute useless’s who hide behind anonymity and keep repeating “our technician will call you”.(That is over a month of asking for updates on our complaint).
  • Here’s a link to their straw-man contact-us page –


Take care of this when you buy a new laptop bag..

Just thought of sharing this.

If you buy a new laptop bag, you have to be careful to remove the small sachets that contain small silica balls (or whatever they are. See photo).

I allowed them to remain in the bag (new one from American Tourister),  the sachets broke, and the released silica balls entered the USB, HDMI, LAN and audio slots of the laptop.

While I could get rid of them from other slots, a nasty particle is still stuck in the 3.5 mm audio slot. (Because I didn’t know of it and pushed in the audio jack, which took the darn ball further down the slot)

So yes, remember to to remove such sachets from your laptop bag before you use them.

Spring boot + Websockets : Connection getting closed by itself.

Problem : Getting the message “Websocket already in CLOSED or CLOSING state” from browser console after sending the first message.

Reason: The packet size is larger than the one set for Text/Binary message on Spring WebSocket handler.

Fix: Increase size limit for individual packages/frames in the Spring handler –

    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        session.setTextMessageSizeLimit(1024 * 1024);
        session.setBinaryMessageSizeLimit(1024 * 1024);"Connection established");

Fixed : “Json Array should begin with [” error on UTF-8 or UTF-16 files

Problem : JSON file which store top level JSON arrays just wouldn’t parse (using org.json library), and gives out an error message like – “Json Array should begin with [ …..”. Editors like Vim or Gedit or IntelliJ show no errors (or any character before “[” )in these files.

Reason :  Byte order marker character is prefixed to the file content (this was probably added when I converted the files from UTF-16 to UTF-8).


  1. Open the file in Vim.
  2. Run command-   :set nobomb
  3. save and exit. (:wq)

Bash on VNC session – Tabs do not auto complete

Problem : Pressing Tab keys not auto-completing when using Bash within a VNC session (to guest VM running on Ubuntu and XFCE.)

Reason : Unknown, possibly tabs are caught and consumed by the window switch handler.


  1. vi ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
  2. search for
    • <property name=”&lt;Super&gt;Tab” type=”string” value=”switch_window_key”/>
  3. Change the above line to –
    • <property name=”&lt;Super&gt;Tab” type=”empty”/>
  4. Reboot the machine.

Reference :

Fix: Unable to connect to RabbitMQ server from remote clients

Problem : When connected from a remote client, this error is thrown (at client) – An unexpected connection driver error occured (Exception message: Socket closed)

Reason : As per default settings, the default user (“guest”) can access only from localhost (or Loop back IP).

Fix: Remove “guest” user from “loopback_users”. This is how –

sudo vi /etc/rabbitmq/rabbitmq.config # create new file if in Ubuntu
[{rabbit, [{loopback_users, []}]}].   # Add this line, save and quit vim.

sudo rabbit-server restart # this mostly fails. So we grep & kill in next steps.

ps auxx|grep rabbitmq # gives multiple processes

kill -9 3099 3288 3289 10263 # process-Ids are place holders

sudo rabbitmq-server start

Should be able to connect from remote clients now.

Increase Zuul timeouts for backend BOSH or Comet servers

This is how I could make Spring Zuul work with my backend XMPP (over BOSH) server which had a hanging post of 5 mins.
Please find the relevant settings in application.yml here –


  add-host-header: true
   connect-timeout-millis: 5000
   socket-timeout-millis: 601000

           timeoutInMilliseconds: 601000
         enabled: false;

   enabled: false
   ReadTimeout: 601000
   ConnectTimeout: 601000

MySQL Data migration from one server box to another


Here’s a quick way to move data from one MySQL server to another

Let source box be ServerOne, and the target box be ServerTwo. (user-names and schema names are indicative) –

  1. On ServerOne,
    1. mysqldump -u username -p db_name > data-dump.sql  (provide password when asked)
    2. scp data-dump.sql serverTwoUsername@ServerTwo:~/
  2. On ServerTwo
    1. mysql -u username -p
    2. create schema schema-name;
    3. exit
    4. mysql -u username -p -h localhost schema-name < data-dump.sql
    5. verify
      1. mysql -u username -p
      2. use schema-name;
      3. show tables;

Should be done.