LFX Mentorship Summer'23
I had completed my LFX Mentorship in KubeArmor project. This is a pending report of my work and write-up about my journey. KubeArmor Work This is a three month long mentorship program where you work on one or more issues or features of the project. My primary goal was to support …

Still Life Sketchings
My still life sketchings using Artline graphite pencils. Grateful for guidance from Bhushan Lokhande.
WebDAV server to synchronize files
I have been using Orgzly for managing tasks and taking notes on my mobile device. Sometimes, I need notes taken in Orgzly app on my laptop. Hence I was looking for different methods to synchronize org files from Orgzly to my laptop. Orgzly has provided an option to create …
Disk cloning using Clonezilla
Yesterday, I was trying move Windows OS from the old disk to a new. At first I thought of installing Windows on a new disk and then setup all software that were already installed on old disk. But this seems tedious and time consuming task, so while looking for other alternatives, …
Get started with gRPC
gRPC is a Remote Procedure Call (RPC) framework defined on grpc.io as: gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for …
Go Variadic Function
Example of Go variadic function: The common example is the function from the package.
Pass slice to a function
Here is an example of slice passed as value to a function: Here is the link for slice internals.
Struct in Go
Declare a struct: Struct instance: Note: Struct can be compared. You can’t compare struct values that contains incomparable fields. You need to compare them manually. Embed struct to another struct: Say b1 is instance of book stuct, then is equal to and is equal to .
Input Scanning using bufio in Go
Read standard input by line: Read by words: Capture an error in scanning:
1% Better Every Day by James Clear
My notes of 1% Better Every Day - James Clear at ConvertKit Craft + Commerce 2017 talk. The aggregation of marginal gains. To explain this, speaker talks about bicycle group example that work on small improvement to achieve an goal. Improve 1% each day that compound to end up 37% …
Read Write files in Go
Package ioutil implements I/O functions. Read file: Write to file: Read direcrtory: For more functions, read ioutil doc.
Map in Go
Declare a map: Delete an element of the map using delete builtin: Retrieve an value from map: Iterate through map elements:
Copy in Go
Copy slice to another slice: can be used over if want to keep length of target slice intact. If the source slice is bigger in size than destination, only copies slice elements that occupies in target slice. can be used (like an example below) instead of if we are unknown about …
Full slice expression
Simple slice expression: “[low:high]” Full slice expression: “[low:high:max]” Full slice expression can be used for limit backing array sharing. Above use of simple slice expression change the backing array as well. However full slice expression limit …
Slice append function in Go
Append an element to the slice: Append multiple elements to the slice: Append slice to another slice:
Go errors
non-constant array bound max Array length is not a constant. slice can only be compared to nil Invalid comparison between slices. Slice can only be compared to nil.
Keyed array elements in Go
Unkeyed array elements: Keyed array elements: Keyed array in different order: Auto-initialize keyed array elements: Unkeyed and keyed array elements:
break and continue labels
and statements can be use with label in Go, similar to statement. It is optional. Scope of labels are limited to the function and does not conflict with variable name, as it live in separate space. break and continue with label is only used in for, switch and select statements. …
Go Switch fallthrough
Switch cases in go can use keyword to fall into next case without checking it’s condition if the current case has fallthrough statement at the end. For example: The output is, “fallthrough” can be used in scenario where the block of both cases are same. It …
iota constant in Go
Linearly increasing or decreasing constant values can be declared using “iota”. For example: This can be simplified as: iota can be used in expression.
Repeating constant with same value
If multiple constants have same value. Then the constant declaration can be simplified as below:
October and November 2020 PythonPune virtual meetups
I have been part of the PythonPune organizing team since May 2019. Organizing and attending PythonPune meetups always excite me because I get to learn something new and meet new people. Due to the COVID-19 pandemic situation, we moved meetups to virtual events since March'20, …
My first golang package
Here is my first golang package, https://github.com/akshay196/golang. It is pretty simple package that only contains a function . The function returns go version string. How to use? Run command: Then use package in your go code: This is done as part of exercise in learngo.
Run multiple go files in a same package
Suppose we have multiple go files, for example greet.go, bye.go and main.go in same directory and all have same package name. The main.go is calling function from greet.go, similary greet.go is calling from bye.go. In this case how to run this, so that it successfully call …
On Journaling
My notes on journaling from dailystoic.com. Writing reflects clear thinking and communication. Benefits of journaling Different studies noted following benefits: Journaling improves communication skills. Helps in sleep faster. Decreases emotional distress. Improves working …
My First Sketchnote
I am reading book ‘Sketchnote Handbook’ by Mike Rohde. It has reference to Veronica Erb and her talk about sketchnotes. While listening to the talk, I draw my first sketchnote.
Type hinting and Mypy
Python is dynamic typed language, but static type variable can be possible if we use type annotations. Python 3.5 and later versions have functionality of type hinting. Though It is completely optional. Type hinting is useful for testing purpose in CI. It does not change code to …
Open Source Discussion platform
I am part of the RIT India Linux Users’ Group (an acronym as RITINLUG) in our college. Our tag-line explains about us, which says “Where Learning is Fun and Sharing is a Learning Methodology” As a student, I am lucky that I use F/OSS for my all activities in …
Embedded Ansible in ManageIQ
ManageIQ natively supports Ansible automation since Fine release. So it is possible to automate resources in infrastructure or cloud. Previously it was using Automate Datastore, for that scripts were written in the Ruby language. To start using Ansible inside ManageIQ, you have …
Run ManageIQ using Docker
Docker image for ManageIQ is available. It can be run in Docker container. There are also other options like Public cloud or Vagrant to get started with ManageIQ. It can run everywhere Docker is available. First thing, you have to install Docker in your system. Follow …
What is ManageIQ?
In simplest form, ManageIQ is the management platform for Hybrid cloud. It gives an easy way to manage instances on private and public cloud. It supports technologies like virtual machines, containers. It displays the state of environment in the browser. It provides option to …
First post!
This is my first post, how exciting!