Shell Scripting - Functions [Part2]

This post is a followup on the first article - basics of Shell scripting [here - note: increasing the scope beyond Performance Engineers only]. In this write up we look at how to modularize a shell script using Functions and how to create a set of useful functions -> convert them in to library -> use them across scripts. Functions: It is a good practice to write shell scripts as functions rather than stand alone scripts so that they can be easily incorporated in to other scripts without incurring the overhead of system calls. While there is no import feature like in Python, there are capabilities of Sourcing files is shell scripts. But first, lets look at ways of writing functions and invoking them. ...

October 6, 2019 · 3 min · Akshay Deshpande

Weekly Bullet #17 – Summary for the week

Hi All! To make these posts more Quality oriented, I am trying to reduce the frequency of posts from weekly to fortnightly (based on content). Simply put - I will not write if I don’t have anything that will add value to you. Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: A talk from “Strange Loop-2019 conference” on “Performance Matters” by Emery Berger. Covers how a small tiny thing can impact performance, importance of randomizing tests(Stabilizer tool) etc. All lectures from “MIT 6.006 Introduction to Algorithms, Fall 2011” class. A study guide to tell you - What to study and Why to study, along with resource recommendation. “TeachYourSelfCS.” ...

September 21, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #16 – Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: A large number of people involved in Tech industry do not know Coding. A great small post on advice to the same group - “The Surprising Number Of Programmers Who Can’t Program” Another Git repo for a wide set of Computer Science Resources - “ComputerScienceResources.” Book recommendation : “Web Performance basics”. It talks about the basic of Web waterfall charts, Profiling charts, CPU & Memory profiling for web etc. ...

September 1, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #15 - Summary for the week

Hi All! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: What if I told you that CPU % that you always monitor is Wrong! Did you know that requests stalled (waiting) due to memory I/O are counted in CPU utilization ? Here is more on - CPU Utilization is wrong. I am a Mechanical Engineer by degree and Computer Engineer by profession. Here are the stories of self taught CS Engineers. - No CS Degree The online library that collects education CS material from Stanford courses and distributes them for free. I particularly liked the Unix section. - Stanford CS Education library. Book recommendation (courtesy: Alok). “High Performance Web Sites” - This book lists 14 specific rules to improve you client side performance. Non-Technical: What differentiates Professionals from Amateurs. - link I love Emails. Unlike “instant” messages, they don’t pressure you to respond quickly without thinking much. Here is a great write-up on - Composing better mails. A cool way of exploring realistic virtual Universe, travel from star to star, from galaxy to galaxy, landing on any planet, moon, or asteroid with the ability to explore its alien landscape. All on you computer. Check – Space Engine A quote from a book - Mindwise “More time together did not make the couples any more accurate; it just gave them the illusion that they were more accurate.” ...

August 2, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #14 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: “Advice for new developers, or Things I wish I had known when I started programming.” - Part1, Part2, Part3 As an IT professional you would have come across “10x Engineer” write-ups atleast once. Here is a myth buster about it. - “10x engineers”: Stereotypes and research Brendan Gregg’s new upcoming book on Perfomance Tools - “BPF Performance Tools: Linux System and Application Observability (book)” [Long article - Read selectively] - What every computer science major should know. “Every linux networking tool I know” - Julia Evans ...

July 22, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #13 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Talk by Brendan Gregg - Cloud Performance Root Cause Analysis at Netflix. YOW conference. - YouTube-Link. Length: 1hour University of Helsinki are offering free course in AI. After finishing you’ll receive certificate you can add to your any profile. - link Raspberry Pi 4 is available now! Also, here are the cool projects that can be built using Raspberry Pi. - link. A list of pioneers in computer science - Wikipedia-Page Non-Technical: How to Be Great? Just Be Good, Repeatably - Article-Link Documentary : Richard Feynman, more than a well known physicist, he is an amazing personality. This guy has had a great impact on my life. Here is a documentary on this amazing persons life - YouTube-link. - Length: 1hour. Johy Ive, the Chief Design Officer of Apple is leaving Apple to form independent design company with Apple as client. - Link A site that lists the “Top Sites” globally and country wise. I found Computer and Business category sites interesting. - TopSites. An extract from the book that I am reading : “Life (and our job) is difficult enough. Let’s not make it harder by getting emotional about insignificant matters” ...

July 1, 2019 · 1 min · Akshay Deshpande

[Performance Debugging] : Root causing "Too many open files" issue

Operating system : Linux This is a very straight forward write-up on how to root cause “Too many open files” error seen during high load Performance Testing. This article talks about: The ulimit parameter “open files”, Soft and Hard ulimits What happens when the process overflows the upper limit How to root cause the source of file reference leak. Scenario : During a load test, as the load increased, I was seeing failures in transaction with error “Too many open files”. ...

June 28, 2019 · 4 min · Akshay Deshpande

Weekly Bullet #12 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Performance Engineering book recommendation – “Systems Performance_ Enterprise and the Cloud by Brendan Gregg” Three scientists published a paper proving that Mercury, not Venus, is the closest planet to Earth using Python. Checkout the amazing visualizations built using Python for the same. Article - link . Video - link. What happens behind the scenes when you do a search in Google. - “How web works.” Here are a bunch of great qualities that every senior-engineer (pre-manager / manager), ideally should poses. Check out – " What are the signs that you have a great manager? " One of my mentors always says this - “You are paid for your thinking and problem solving abilities”. Here is a great compilation of websites which will help you hone these skills. – “A list of all problem solving websites.” Non-Technical: Here is another great Reading list. Note: Books are mainly Non-fictional / Programming related. – “Popular reading lists.” This year marks the 50th anniversary of first ever Moon landing. Here is a super-cool website to relive Apollo 11 mission! – “Apollo 11 in Real Time”. Click on Join-in Progress button. Wikipedia compilation of common misconceptions across Art & Culture, History and Science. Fun read. - “List of common misconceptions” An extract from the book that I am reading : “A person’s success in life can usually be measured by the number of uncomfortable conversations he or she is willing to have.” ...

June 24, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #11 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Java comes with built-in Performance monitoring tools, which you might want to be familiar with - link AWS costs every programmers should know - link . Also related info on all EC2 instances. - link Various JVM options available, along with their descriptions. - “Java hotspot VM options”. There are over 100 options along with descriptions like below. ...

June 10, 2019 · 1 min · Akshay Deshpande

Weekly Bullet #10 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: What will be Roles of a Performance Engineer in another year or two. Great write up. - “Trades of a Performance Engineer in 2020!” MIT lectures on Advanced Data Structures. Also, the professor Erik Demaine is an amazing guy - “Advanced Data Structures (Fall'17)”. Side note: Worth checking comments on the original post - here The process of preparing for Google interview, being rejected, re-prioritizing things and getting selected in Amazon. Author of this article went through this journey. - “Google Lost a chance to hire me… Finally, Amazon hired me !!!” Understanding and changing the default for history command in Bash. - “Better bash history.” Non-Technical: Books recommended by over 100 founders and makers in tech. “Rework” is my all time favorite from the list. - " Founder Books" I have written about Spaced repetition and Anki tool for the same. It does wonders and here is a write up on - “Tips for using Anki and Spaced Repetition in 2019” A map of the US where city names are replaced by most Wikipedia’ed resident. Try zooming in and out. - “A People Map of the US” An extract from the book that I am reading: “Khaled Hosseini wrote The Kite Runner in the early mornings before working as a full-time doctor. Paul Levesque (page 128) often works out at midnight. If it’s truly important, schedule it. As Paul might ask you, “Is that a dream or a goal?” If it isn’t on the calendar, it isn’t real.” ...

June 3, 2019 · 2 min · Akshay Deshpande