DCDBS: Easy docker-compose Databases

A common problem I tend to face when starting a project is setting up databases. Even when I use docker-compose to do the job, the steps are repetitive and configuration of each individual db is hard to remember. Thus, dcdbs. It’s a docker-compose.yml file with a bit of everything I’ve used via docker-compose. You can find a continuously updated version on my GitHub.

Databases include MongoDB, ElasticSearch, PostgreSQL and Redis. I threw in a web-based admin interface for each database. I’ve included Portainer to manage docker itself. Finally, I added a local version of httpbin to test sensitive APIs.

To bootstrap a new project, either just clone dcdbs and use as-is or use it after deleting anything you don’t need. You can actually get by with using a common docker-compose.yml file for small projects. That’s what I tend to do.

I’ll keep this blog post updated as I make changes to the contents but refer to the repository’s README.md and also the docker-compose.yml file for information on how to get started.

Note that I only tested dcdbs on Docker for Linux. It should run on docker-machine since it is nothing but Linux. I cannot make promises about performance on native docker for Windows and Macintosh.

Have fun and happy hacking!

Advertisements

2018 Kerala Floods: Resources For Claiming Insurance

Note: This post was originally written for AfterFlood.in, a website with information to help people recover after the 2018 Kerala Floods. My mother, who works in the insurance industry helped me write this. I’m re-publishing it in my blog with the hope that it reaches a wider audience. Please visit AfterFlood for more resources on post-flood recovery.

The PSU general insurance companies have put systems in place to expediate processing of claims for the 2018 Kerala Floods. Here are some resources for claiming insurance.

PSU Insurer Contact Details

The insurers have contact details established to aid with claims processing. Here they are for your convenience (Source: The News Minute).

National Insurance Co Ltd

  • Claim hub: 9188044186
  • Email: kro.claimshub@nic.co.in

New India Assurance Co Ltd

  • Toll-free number 18002091415

Oriental Insurance Co Ltd

  • Toll-free number 1800-11-8485
  • Email: kerala.claims@orientalinsurance.co.in

United India Insurance Co Ltd

  • Vehicle claims: 8921792522
  • Other claims: 9388643066
  • Email: uiic.keralaflood@gmail.com

Life Insurance Corporation of India (LIC)

Special teams have been set up in 14 district alongside officers to offer a special 24-hour assistance.

  • Trivandrum – 9482419551
  • Kollam – 9496301011
  • Palakad – 9447839123
  • Thrissur – 9447315770
  • Ernakulam – 8075947267
  • Kottayam – 9847167946
  • Idukki – 9895884618
  • Pathanamthitta – 9961993580
  • Alappuzha – 9746817205
  • Kozhikode – 9496710567
  • Wayanad – 9496220783
  • Kannur – 9496414055
  • Kasargod – 9447951431
  • Malappuram – 9446024966
  • Mahi – 9447468899

PolicyBazaar.com

  • 24×7 Helpline for Kerala – 8448180966

Regardless of whether you have purchased an insurance from them, PolicyBazaar is offering a 24×7 helpline to assist with the insurance claiming process. Source: Business Standard.

Standard Claims Process

The claims process looks something like this:

  • First an intimation of claim by letter or mail will need to be given immediately based on which a surveyor will be appointed for assessing the loss.
  • The surveyor need to be provided with all documents like stock register, purchases and sales register, balance sheet, etc.
  • The surveyor He will also see if the all items are insured and for the correct value.
  • Accordingly loss assessment will be done.
  • If the amount insured is less than the actual value claim will be proportionately reduced.
  • On receipt of survey report, claim will be settled.

Things You Can Do to Expediate Claims

  • If you have multiple kinds of insurance for different items (vehicle insurance for vehicles, property insurance for household and posessions, etc) it is recommended that you categorize what item is applicable to which policy and then make a list of items that need to be claimed.
  • If your vehicle got submerged in water, take photos of it before towing it to a workshop.
  • Take as many photos of your house as you can, so that you can cover different items that have been damaged.
  • You can use photos of items inside your house before the flood as proof while accounting for what has been lost.
  • If you have made any purchases online or otherwise have receipts that haven’t been washed away, these also help expediate the claims process.

Here’s an article from News18 explaining the process to claim an insurance for motor and property categories: page on news18.com. Here is another from The Indian Express.

Extra Services by Companies

  • Some corporations are offering free repairs and other services. Read this article by The News Minute to learn more.
  • Private Insurers have simplified documentation requirement for claims and have said that a municipal death certificate, or death dertificate by any competent government authority like local government of Kerala, armed forces, government hospitals or police authority will suffice.
  • Bajaj Alliance Life has said “Death and disability claims for customers from these States will be processed on priority, and the company will make best efforts to settle maximum claims within 72 hours of claim registration”
  • Max Bupa has said they’d ensure all claims from Kerala get immediate attention and all eligible claims are processed on a cashless basis and on a priority.
  • Source for the last 3 points: The Hindu Business Line

PS: If you’d like to contribute content to AfterFlood, please fork their GitHub repository and submit a pull request!

Find and Replace with Sed: Rename Golang Packages

I just consolidated my GitHub, Twitter and Instagram handle. They are the same as the .com domain I bought for this blog. As I renamed my GitHub handle, I also needed to fix import paths and rename golang packages hosted there.

I used Sed, everybody’s (and also their parents’ and their grandparents’) favourite stream editor. It’s from 1974 – the same year Judas Priest released their debut album, Rocka Rolla. Because Sed is available on all platforms and works directly with text files, you could re-use this recipe outside golang.

The syntax to find and replace strings recursively across files in the current directory looks like this:

sed -i 's/github.com\/oldname\//github.com\/newname\//g' **/*.go

Super simple eh? All you need to remember is the following:

  • The flag -i asks for an in-place edit (i.e, replace content in the files)
  • The operator s/ asks for a substitution.
  • The /g at the en informs Sed that the substitution is global – it is to be done for all matching occurrences.
  • The original package name and the new package name come between the s/ and the /g, separated by a forward slash /.
  • We need to use back-slashes to escape regular slashes that occur within the text we’re searching for and the text that is being replaced (I had to replace github.com/oldname/ with github.com/newname/)
  • **/*.go is used to recursively hunt down all .go files from the directory we are operating out of.

I suggest doing these kind of operations only after you have checked in code into GitHub so that if the worst happens you can restore a working copy from there. Always do a git diff between the old version and the new version to see what has changed. You could also use Meld if you want to compare directories that contain multiple git repositories:

meld oldfolder newfolder

There’s a lot more to sed than simple substitutions; so head over to a more in-depth tutorial like https://opensourceforu.com/2011/04/sed-explained-part-1/ or https://www.tutorialspoint.com/unix/unix-regular-expressions.htm to learn more!

Because Unicorns Aren’t Real

Hello and welcome! This is the sixth welcome-to-my-blog post I’ve written in 13 years, with each of the previous websites receiving the Henry VIII treatment. I hope website #6 can draw inspiration from old Henry’s sixth and not suffer an unnatural end.

This website is going to be a brain dump of sorts, with subjects ranging from things to stuff to yada yada yada. Hope to see you soon on the next post!