{"@attributes":{"version":"2.0"},"channel":{"title":"Krishna Kumar T","link":"https:\/\/krishnakumar4a4.github.io\/","description":"Recent content on Krishna Kumar T","generator":"Hugo -- gohugo.io","language":"en-us","lastBuildDate":"Sun, 26 Feb 2023 00:00:00 +0000","item":[{"title":"LinkedIn Posts","link":"https:\/\/krishnakumar4a4.github.io\/linkedin-posts\/","pubDate":"Sun, 26 Feb 2023 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/linkedin-posts\/","description":{"0":"    "}},{"title":"My twitter handles","link":"https:\/\/krishnakumar4a4.github.io\/tweets\/","pubDate":"Sun, 26 Feb 2023 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/tweets\/","description":" Tweets by KrishnaKumarT36  Tweets by in531117pkp_qop     "},{"title":"In Meeting Indicator","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/in-meeting-indicator\/","pubDate":"Sun, 04 Apr 2021 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/in-meeting-indicator\/","description":"So many of you have gotten accustomed to work from home by now. This pandemic has thrown a lot of challenges at our face when most of us are not ready for. While Work From Home is kind of boon, living with it for a long time comes with its own unique challenges. One of the simplest challenge I have faced in the initial days was to make my family understand that I am in a meeting where Mic\/Camera\/both are activated."},{"title":"DIY: In meeting indicator - WFH Utility","link":"https:\/\/krishnakumar4a4.github.io\/post\/in-meeting-indicator\/","pubDate":"Sun, 04 Apr 2021 00:00:00 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/in-meeting-indicator\/","description":"DIY: In meeting indicator - WFH Utility The need for in meeting indicator at home   So many of you have gotten accustomed to work from home by now. This pandemic has thrown a lot of challenges at our face when most of us are not ready for. While Work From Home is kind of boon, living with it for a long time comes with its own unique challenges."},{"title":"Encrypted Minio Storage with KMS Setup","link":"https:\/\/krishnakumar4a4.github.io\/post\/encrypted-minio-storage-with-kms\/","pubDate":"Sat, 06 Feb 2021 00:00:00 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/encrypted-minio-storage-with-kms\/","description":"Minio is an S3 compliant data storage service. It can be hosted on premises and even supports distribution across multiple nodes. To meet certain data protection regulations, data is required to be encrypted the moment it is written to disk. Minio supports two types of encryption schemes\n SSE-S3 (Server side encryption) \u2014 Encryption key is managed on server side typically using a KMS SSE-C (Client side encryption) \u2014 Encryption key is managed by clients and provided as request headers to Minio  Goal of this blog is to guide you through setting up Minio with server side encryption."},{"title":"About Me","link":"https:\/\/krishnakumar4a4.github.io\/about\/","pubDate":"Sun, 26 Jan 2020 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/about\/","description":"I am Krishna Kumar, Currently working as application developer\/ Senior Consultant at Thoughtworks, Hyderabad, India.\nProgramming languages I work on:\n- Erlang (2 years)\n- Golang (2.5 years)\n- Rustlang (hobby)\nProjects:\n- Securing Enrolments for an Identity Project for Govt. of India (Golang and Java)\n- Retail assortment application (Java, React, AWS and GCP)\n- Network Test Simulator (Erlang and on-prem cloud)\nMy scrambled brain omlette (Li&rsquo;l about how I think:) I study for invention and problem solving."},{"title":"Team","link":"https:\/\/krishnakumar4a4.github.io\/team\/","pubDate":"Sun, 26 Jan 2020 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/team\/","description":" Crysis Brahmaji, Venkatesh, Me, Pavan Kumar, Hari Krishna (left to right)   Ramesh, Brahmaji, Venkatesh, Mehar Kishore, Me, Pavan Kumar (left to right)   "},{"title":"The unexplored subtleties on \u201cGoing autonomous\u201d","link":"https:\/\/krishnakumar4a4.github.io\/post\/unexplored-subtleties-autonomous-vehicles\/","pubDate":"Sat, 04 Jan 2020 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/unexplored-subtleties-autonomous-vehicles\/","description":"On a winter morning before the first light I was going on my bike on a silent road in the early hours of the day. The road looks entirely abandoned as it was one of the most chilling days of winter and I was not expecting anyone coming on to the road. But I was very much ambivalent and kept an eye on both sides of the road as far I can see through the fog."},{"title":"Remote Debug Tool","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/remote-debug\/","pubDate":"Wed, 01 Jan 2020 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/remote-debug\/","description":{}},{"title":"TcpProxy","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/tcp-proxy\/","pubDate":"Sun, 06 Oct 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/tcp-proxy\/","description":"A simple proxy server for HTTP\/S requests which can calculate the network upload and download speed in bytes\/sec.\n.\/tcpproxy --help for usage\n.\/tcpproxy --port 2345 to listen on particular port with chained proxy assumed to be running localhost:3128\n.\/tcpproxy --proxy --no-proxy to listen on particular port with no chained proxy"},{"title":"CLI Poker Game","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/cli-poker-game\/","pubDate":"Mon, 26 Aug 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/cli-poker-game\/","description":" A simple CLI poker game\nmix test - to run the tests\nmix excript.build - to compile\n.\/poker - runs the application\nExample run .\/poker Black: 2H 3C 4H 5D TC White: 2H 3C 4H 5D TC tie Black: 2H 3C 4H 5D TC White: 2H 3C 4H 5D KC White is winner - highcard: K Black: 2H 3C 4H KD KC White: 2H 3C 4H KD KC tie Black: 2H 3C 4H KD KC White: 2H 3C 5H KD KC White is winner - pair: 5 Black: 1H 3C 5H KD KC White: 2H 3C 5H KD KC Invalid input from Black  "},{"title":"SSH Reverse Tunnel","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/ssh-reverse-tunnel\/","pubDate":"Tue, 23 Jul 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/ssh-reverse-tunnel\/","description":"On corporate networks, we always have a problem of having restrictions on internet access to applications.\nOf course, these restrictions are absolutely necessary in terms of security. But what if we need to give temporary internet access to these applications?\nWe can combine SSH reverse tunnel with a proxy server to do this.\nHow to run .\/go-ssh-reverse-tunnel -u &lt;username for SSH&gt; -i &lt;private key file path&gt; -t &lt;target ssh host name&gt; -p &lt;reverse tunnel listening port on target&gt;"},{"title":"desync-rs","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/desync-rs\/","pubDate":"Sat, 13 Apr 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/desync-rs\/","description":" TODO: Update usage here\n "},{"title":"rust-java-rust","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/rust-java-rust\/","pubDate":"Sun, 24 Mar 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/rust-java-rust\/","description":" For Interoperability between rust and java\nSpecial about this repo: Do not require rust library to be dynamically loaded for calling methods on rust.\nFeatures:  JVM is started as embedded from the rust program. Java methods can be called from rust. Rust methods are registered as native functions to JVM and which can then be called from Java.  Uses rucaja, jni-rs and jni crates. "},{"title":"Fault injection attacks on secure boot","link":"https:\/\/krishnakumar4a4.github.io\/post\/fault-injection-attacks\/","pubDate":"Sat, 16 Mar 2019 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/fault-injection-attacks\/","description":"Nullconf is one of the largest conferences in security started in 2010 (as I keep hearing that from everyone). This is the first time I have ever attended a security conference and was little over excited too. I had been there for two days and took a load of quite interesting aspects of security domain as a whole. Lot of less known and discussed topics like hardware hacking in real-time, security in the post quantum era, AI in threat detection and mitigation, vulnerability of existing telecom networking infrastructure etc are few highlights of the event."},{"title":{},"link":"https:\/\/krishnakumar4a4.github.io\/pictures\/","pubDate":"Sat, 02 Feb 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/pictures\/","description":"2014 Winning Elecrama 2014 with a walking Robot  Eenadu Telugu newspaper cutting Eenadu Telugu newspaper cutting (Right-hand side)   \n Andhra Jyothi Telugu newspaper cutting Andhra Jyothi Telugu newspaper cutting (Left-hand side)   \nSakshi Telugu newspaper cutting Sakshi Telugu newspaper cutting"},{"title":"Bookmarks","link":"https:\/\/krishnakumar4a4.github.io\/bookmarks\/","pubDate":"Sat, 02 Feb 2019 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/bookmarks\/","description":" TODO: Work coming here soon\n "},{"title":"Dashboard For Casync","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/casync-dashboard\/","pubDate":"Sat, 08 Dec 2018 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/casync-dashboard\/","description":"A frontend dashboard(in web assembly) for managing content for casync,desync and casync-rs type tools\nBuild and run cargo web start --target wasm32-unknown-unknown\nScreenshots of dashboard View for uploading chunks, indexes and blobs   View for showing all chunks   View for showing all indexes   View for showing all tags   View for showing download trends graph of chunks   View for showing download trends graph of indexes   How does this work?"},{"title":"\u201cbacker-rs\u201d the missing versioned backup utility for boostnote\/any note-taking app","link":"https:\/\/krishnakumar4a4.github.io\/post\/backer-rs-announcement\/","pubDate":"Sun, 21 Oct 2018 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/backer-rs-announcement\/","description":"\u201cAutosave notes\u201d, it is a pretty important feature for any note taking app. Having autosave enabled and running in the background saves you from loosing any important notes you have taken. We would have felt autosave itself is a kind of backup feature for your notes.\nRecently, I had been in a situation where the autosave feature of boostnote misbehaved and lost all my notes till date. It\u2019s a big disappointment."},{"title":"backer-rs","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/backer-rs\/","pubDate":"Fri, 19 Oct 2018 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/backer-rs\/","description":"Never Loose data\/notes - An efficient git based backup tool to save your changes periodically.\nA git based backup tool. Intelligent enough to trigger a commit, only, if there are any file changes in the folder it is pointed to. Based on cross-platform file notification library.\nExample use cases:  Can be pointed to storage locations of note applications like boostnote  Build  cargo build --release backer-rs is the executable generated in target\/release\/ folder."},{"title":"casync-rs","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/casync-rs\/","pubDate":"Wed, 26 Sep 2018 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/casync-rs\/","description":"Experimental: Pure rust implementation of casync https:\/\/github.com\/systemd\/casync\nVery minimal implementation of casync tool. Command Usage  inputfile will be chunked,index.caidxanddefault.castr` is created with chunks.\n casync-rs make --file input\n Expects index.caidx and default.castr directory to be present to construct out file from the chunks and index.\n casync-rs extract --file out\n Expects default.castr present with chunks corresponding to index.caidx file to construct the out file.\n casync-rs extract -i index."},{"title":"Websocket fever for IOT","link":"https:\/\/krishnakumar4a4.github.io\/post\/websocket-fever-for-iot\/","pubDate":"Sat, 28 Jul 2018 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/websocket-fever-for-iot\/","description":"Internet of things is a buzz now. In simpler terms, connecting all the things to the internet so that they are monitored and controlled from anywhere.\nWhat is the most common protocol of internet. It is http. You open a browser enter a url and then you see content on your browser. How is that working? When you enter a url, your browser makes http get request to the site and fetches the content."},{"title":"Why Speak Up?","link":"https:\/\/krishnakumar4a4.github.io\/post\/speakup-announcement\/","pubDate":"Wed, 20 Jun 2018 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/speakup-announcement\/","description":"I am a tech enthusiast and I love to attend lot of meetups, conferences, events etc. The reason I attend them is\n to get introduced to new technologies hear perspectives of people on technologies known to me  Conference hall setup: Conference Hall Setup chuttersnap\n  Usually be a sparsely distributed clusters of people sitting relaxedly all over.\nSome of the talks I attended will be so immersive and I couldn\u2019t afford having even a slighter distraction fearing I would loose context."},{"title":"SpeakUp","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/speakup\/","pubDate":"Tue, 29 May 2018 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/speakup\/","description":"Meetings and discussions get less cumbersome and more lively Ever occurred to your mind, why is it so problematic getting your ears on the most important session you had just now. You have some questions, perhaps someone might have asked the same and you wouldn&rsquo;t want to repeat. Oh hell, can someone give him a microphone to talk!! OMG, Microphone is 5 rows behind the audience and it&rsquo;s pretty hard circulating that in time."},{"title":"A Comparison between Rust and Erlang","link":"https:\/\/krishnakumar4a4.github.io\/post\/comparision-erlang-and-rust\/","pubDate":"Tue, 13 Mar 2018 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/comparision-erlang-and-rust\/","description":"Key Takeaways  Erlang provides lightweight processes, immutability, distribution with location transparency, message passing, supervision behaviors and many other high-level, dynamic features that make it great for fault-tolerant, highly available, and scalable systems. Unfortunately, Erlang is less than optimal at doing low-level stuff such as XML parsing, since dealing with anything that comes from outside of the Erlang VM into it is tedious For this kind of use cases, one could be tempted to consider a different language."},{"title":"Simplifying Erlang Beam","link":"https:\/\/krishnakumar4a4.github.io\/post\/simplifying-erlang-beam\/","pubDate":"Fri, 12 May 2017 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/simplifying-erlang-beam\/","description":"Light weight processes: All the Erlang code compiles to beam code and runs on the Erlang beam virtual machine. Nevertheless to say, it is a super powerful engine that can instantly creates and runs millions of processes with each process having a very minimal footprint size of 233 words. Each erlang process is like a green thread and shares nothing with siblings.\nErlang process scheduler: The whole Erlang beam machine runs as a single process at the underlying operating system level just like JVM."},{"title":"React-Redux and Erlang \u2014 A Simple analogy","link":"https:\/\/krishnakumar4a4.github.io\/post\/react-redux-erlang-analogy\/","pubDate":"Mon, 01 May 2017 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/react-redux-erlang-analogy\/","description":"If you know - Erlang and wanted to know how easy is react-redux to learn, Start reading from \u201cI am an Erlang developer and wanted to know about react-redux\u201d - React-Redux and wanted to dive into erlang world for greater good, start from erlang synopsis section below.\nI am an Erlang developer and wanted to know about react-redux: If you had some experience in using gen_servers and gen_event behaviors? Learning react-redux would be simple for you too, just like me."},{"title":"Be on your best Erlang behavior","link":"https:\/\/krishnakumar4a4.github.io\/post\/be-on-your-best-erlang-behavior\/","pubDate":"Sat, 01 Apr 2017 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/be-on-your-best-erlang-behavior\/","description":"I had a great session with my team on Erlang behaviors and thought it would be worth blogging it. I have got chance to explain them about available erlang behaviors and how to choose and use them.\n1.gen_supervisor 2.gen_server 3.gen_event 4.gen_fsm\nWhen you want to employ a behavior in your applications, you should have a basic understanding of the below two types of functions. 1. API \u2192 Exposed to the user for external control and to send events."},{"title":"Know why you may choose Erlang","link":"https:\/\/krishnakumar4a4.github.io\/post\/know-why-you-may-choose-erlang\/","pubDate":"Sat, 01 Apr 2017 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/know-why-you-may-choose-erlang\/","description":"When you have good understanding on Erlang, you will inherently start to see other applications differently.\n You will have tendency to ask questions like what is the scalability? What is the uptime? How easy is the code upgrade? How much availability can be guaranteed? Would the choice of database can match the speed of your application? How easy is to make your application distributed? Most of all, Can it crash fast and recover fast?"},{"title":"The verge of suggestions\/recommendations engines","link":"https:\/\/krishnakumar4a4.github.io\/post\/verge-of-recommendation-engines\/","pubDate":"Sat, 01 Apr 2017 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/verge-of-recommendation-engines\/","description":"I have come early from office today and would be watching my next new series from my recommendation list. I hope I would definitely like it as it is based on my behavioral patterns from my earlier watches.\nI thought of buying a new home for me. I would visit a real estate site that runs on machine learning and gives you recommendations based on your web history or your search preferences."},{"title":"In-Memory Caching: Curb Tail Latency with Pelikan","link":"https:\/\/krishnakumar4a4.github.io\/post\/in-memory-caching-curb-tail-latency-with-pelikan\/","pubDate":"Sat, 24 Dec 2016 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/in-memory-caching-curb-tail-latency-with-pelikan\/","description":"Tail latency: When you have a bunch of servers trying to serve a request in parallel, One of the servers might take more time than others which affects the overall response time. In other words, Latency of a tail server(worst performing) is affecting the whole response time.\n When thinking about scale,distribution and speed. Caching is one of the important thing that stumbles you. Understanding it, mean a lot while you wanted to improve or implement them in other programming languages."},{"title":"Million event Erlang \u201clike\u201d engine","link":"https:\/\/krishnakumar4a4.github.io\/post\/million-event-erlang-engine\/","pubDate":"Wed, 07 Dec 2016 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/million-event-erlang-engine\/","description":"Inspiration: Facebook has a very unique and custom architecture to handle millions of likes on its posts every second. Sometimes a post is so catchy that it will attract millions of likes per second and being a fan of that article you don\u2019t want to miss its live statistics.\nShorten the goal: My goal is to create a like engine with can handle millions of likes per second. Let it be 1 like for 1 article\/URL or 1000 likes for 1000 articles\/URLs or 1 article\/URL with million likes."},{"title":"Code Challenges and Solutions","link":"https:\/\/krishnakumar4a4.github.io\/github-projects\/engines\/","pubDate":"Sat, 26 Nov 2016 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/github-projects\/engines\/","description":"1) anaMon: Million events Erlang like engine 2) crawler: A web crawler of infinte link traversal 3) histogram-table: Dynamic histogram generation from a csv file and bucketsize, on click gives values as table 4) poker-ex: A CLI two player poker game written in elixir"},{"title":"Beauty and mystery of Erlang distribution","link":"https:\/\/krishnakumar4a4.github.io\/post\/beauty-mystery-erlang-distribution\/","pubDate":"Sun, 14 Aug 2016 09:43:12 +0530","guid":"https:\/\/krishnakumar4a4.github.io\/post\/beauty-mystery-erlang-distribution\/","description":"I work on a network element simulator written in Erlang. For us, each network element is a bunch of Erlang processes work together to simulate a network element and we are simulating tens and hundreds of them on each Erlang node. We also run a distributed network of erlang nodes which all together renders some thousands of network elements running on one Linux machine.\nDone with background!!\nThe problem: We are not able to start more than 250 Erlang nodes on one Linux machine provided we have enough resources to start more of them, and thus limiting our network element count beyond some value."},{"title":{},"link":"https:\/\/krishnakumar4a4.github.io\/project-updates\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/krishnakumar4a4.github.io\/project-updates\/","description":"  iframe { width: 1px; min-width: 100%; height: 1350px; }     "}]}}