Self Hosted Solutions with Android and iOS apps to protect privacy and data

More I have used Google, Facebook, Disqus – more I feel that I have been tracked! This time it was insane, I am not sure if it is coincidence or not – I created a Google Keep checklist while on the call and put Antifragile to list – since then I have been seeing its ad. I haven’t even searched for it yet but somehow Ads knows that I want this book. So far, I was only worried about re-targeting and it is easy to ditch it – simply keep shuffling your cookies and do browsing on Incognito. Look at the curious case of Whatsapp – They say they can’t read the Whatsapp messages as they have an end to end encryption. THOUGH! Cops/Hackers could trace back to the origin. Even it has been requested to Whatsapp to add the digital signature. Every link you through on Skype is visited by MS Bot – for parsing but it does. Now it is known where you are right now. The Google DNS will always know what is your IP address and pinpoint your location. Even with the encryption, this is known!

What does a 20$/month Linode spin will get you? – A lot

  1. TODO: Most innocent looking is your ToDo list. You can simply have EtesSync to stop worrying about it.
  2. DNS: Deploy CoreDNS with TLS for E2E Encryption and forwarded Google will always have your server IP address. You must have some sort of checking to allow only a few IP ranges which you will get.
  3. Messenger – Riot based on Matrix can help you chat with your friends without worrying about messages being read/shared or tracked.
  4. Files: You can either use Standard FTP or use OwnCloud to share data and get Google Drive like experience
  5. Ad Block: As long as you are living near the server, it is okay to host on Linode. You can spin AdGuardHome and control what can be open. This can be running on a different port and DNS can proxy to this.
  6. Location Sharing – For location sharing – you can use owntracks

What is my status?

I have been using everything I have mentioned personally except OwnTracks. I have helped a few clients and friends to spin all of them for their use. I can also help you 🙂

Tell your network!

How to set the password for Redis in Docker for Development?

I just spun a docker and found this error.

ERR Client sent AUTH, but no password is set

Then I realized I haven’t set the password. The traditional way is to create the redis.conf file and go with it but then again it is a lot of work as I would be maintaining another file.


If you are using Docker compose then simply override the CMD (command) like this:

command: redis-server --requirepass SUPER_SECRET

Tell your network!

Go Performance – A Checklist

Avoid Global Mutex

Don’t use a global mutex, keep it tied to structures. Go doesn’t have GIL and it is tempting to create a global mutex to simulate a similar behavior but then why use Go in the first place? You can tie a mutex to a structure to keep its impact as low as possible.

Avoid Defer Functions

Deffer functions are significantly expensive than the non-deferred ones. In the case of static functions, an improved version is compiled but it is still slower than direct functions.

Avoid recreate, reuse Variables

It is a usual way to create a variable in a loop. It takes an extra CPU cycle as well as it would keep Garbage Collection busy. Instead, use sync.Pool

Tell your network!