Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 SOFTWARE


  Supervisord, God and Monit, which one to choose?

With the popularity of Docker, more and more service have been moved into docker containers and they are easy to build up and maintain for each atomic service(though it's a bit complex to maintain multiple docker containers which contain different service to form a complete solution). Ideally, each docker container should only contain one service which has only one running process. However, in reality there would be cases multiple processes would run in one single docker container and there is a master process. In this case, to monitor all these processes would be a challenge task.In cases whe...

18,327 2       DEVOPS MONIT SUPERVISORD GOD DOCKER


  Resolve git issue git@github.com: Permission denied (publickey)

Sometimes when clone a remote repository from github.com, you may see below error.D:\Project\Playground\GitBisect>git clone git@github.com:bradleyboy/bisectercise.gitCloning into 'bisectercise'...git@github.com: Permission denied (publickey).fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.The issue occurs when there is no key on your machine which is associated with your github account. To fix the issue, please go to ~/.ssh and check whether you have correct private and public key generated and stored and associate th...

17,981 0       GITHUB PERMISSION DENIED GIT PUBLIC KEY


  What is cache penetration, cache breakdown and cache avalanche?

When designing and developing highly available system, cache is an very important consideration. It is useful to cache some frequently accessed data so that they can be accessed quickly and also cache can protect the downstream system like DB from being hit too often. To provide better cache design in large systems, some problems may need to be considered first. In this post, we will talk about some frequently discussed cache problems and mitigation plans.Cache penetrationCache penetration is a scenario where the data to be searched doesn't exist at DB and the returned empty result set is...

16,526 0       SYSTEM DESIGN CACHE PENETRATION CACHE BREAKDOWN CACHE AVALANCHE


  A tutorial on Github Actions

Github Actions is a CI/CD service created by Github. It aims to make it easy to automate all software workflows, now with world-class CI/CD. Build, test, and deploy code right from GitHub. It was launched in October 2018 and was officially available to all users in November 2019.This post will give an introduction of Github Actions and explain how it works.What is Github ActionsNormally Continuous Integration includes some steps, fetching code, running test, sshing into remote server instance, deploying code/binary on remote server etc. They are called actions in Github Actions. Lots...

13,094 0       CD CI GITHUB ACTIONS GITHUB


  OpenLDAP Proxy -- Tricks and tips

Just like other software configuration, there would be issues encountered during the OpenLDAP proxy setup process. In this post, we would try to summarize some of the tricks and tips for OpenLDAP proxy setup.OpenLDAP VersionWe would always recommend that you install the latest version of the OpenLDAP because they contain the latest features, bug fixes and security patches. You should always refer to the latest release notes for new changes. In case you have used an earlier version of OpenLDAP and encountered some bizarre behavior, please try to update to the latest OpenLDAP version first....

12,279 0       SSL AUTHENTICATION OPENLDAP OPENLDAP PROXY ATTRIBUTE MAPPING OVERLAY


  Writing unit tests for legacy code – an open letter to developers I work with

This is an email I sent today to developers who work with me, it is exactly as I wrote it except for project and developer names which I’ve redacted.Dear Developers,S asked me a difficult question today, and I think the answer (which took me a few minutes to arrive at) is worth sharing with all developers, mainly because many of you will surely face the exact same problem especially in [maintenance and enhancement] projects.By now I think it is crystal clear that one of our non-negotiable requirements for coding is that we write unit tests.For new projects it is easy – in fact fo...

10,130 0       UNIT TESTING OPEN LETTER


  Capture video stream with WebRTC

WebRTC(Web Real-Time Communication) is an API supporting real time audio and video communication through a browser. It is now a recommended W3C standard. This post is to show you how to capture video stream and screenshot with WebRTC.Capture video streamTo play video stream from the video camera, we first need to put a video tag in our code:<video id="video"></video>The main function to get the video stream is the navigator.getUserMedia, as of now only few of the browsers support this, you can check the browser support for this on caniuse.com. This API is well supported by Chrome a...

9,725 0       SCREENSHOT VIDEO WEBRTC


  Create rounded corner buttons in photoshop using gradient

Hi People,I should rather call you photoshop lovers, right ? We are going to create a very simply yet eye catching but sober buttons in photoshop. They are simple light in weight and can be used the way you want. You can also add some glossy look if you wish to. But these days not many people like website with those glossy looks. Here is the final output which you will get after reading this tutorial.However many web-developers, webmasters, designers do not like to use images as buttons, but these can be used if you design them wisely on a website, for eg. embedding them on a image-sheet or sp...

9,548 0       DESIGN PHOTOSHOP ROUNDED BUTTON GRADIENT