Being More Active - The Sequel
I failed to achieve the objective in my blog post, Being More Active. That blog post had been three years since the previous blog post. Being More Active was posted in 2016. So, if we look at it from a "breaking person records" perspective, I suppose going from a 3-year writing gap to an 8-year gap is quite the record. I really need to do better.
In my blog post from 2016, I mentioned that I was working at Hortonworks. Since then, a lot has changed. I joined Elastic in February 2019 and recently celebrated my 5th anniversary there. As a pre-sales engineer, I frequently work with different technologies and enjoy experimenting with various tools and techniques, from cloud infrastructure to programming tasks. It's been an amazing journey so far!
Although I'm not a professionally trained programmer, I have been tinkering with programming since I taught myself Borland Turbo Pascal in high school around 1991. I find programming an interesting way to solve problems and enjoy sitting down to work on them. Many nights, I had to force myself to stop typing at 4 or 5 in the morning because I was so absorbed in solving a problem or debugging code and integrations.
I prefer procedural programming and interpreted languages over object-oriented approaches. It's not that I don't understand the concept of OOP; it is just hard to wrap my mind around solving problems via OOP. I find writing code, making changes, and immediately running the code satisfying. I taught myself Perl in 1999, and it became my go-to programming language until I switched to Python in 2012. Initially, I was hesitant to try Python as I enjoyed working with Perl, but they seemed quite different. However, once I gave it a chance, I became a huge fan of Python.
“Find a job you enjoy doing, and you will never have to work a day in your life.”
― Mark Twain
The above quote is the mantra I try to follow. So, when I'm looking for a programming language, I'll gravitate towards fun and interesting ones (to me). Now, admittedly, I'm not developing large-scale enterprise apps where some of my favorite languages may or may not be the best choice. I'm also not working as part of a large team where many variables can impact language choices. And since most of the time, my code is primarily designed for my usage, maintainability hasn't been a top concern. Most of my development is backend tooling and automation, where the languages I enjoy are generally well-suited.
I am keenly interested in working with various programming languages such as Python, JavaScript, Go, Ruby, and technologies like Docker, Kubernetes, and Terraform. However, keeping track of all the essential information and notes related to these technologies becomes challenging. As a result, I have decided to transform my blog into a tool to help me organize my thoughts and keep track of my learnings. Whenever I encounter any obstacles while working on a project, I plan to document my solutions and share them with others encountering similar challenges.
What I envisioned for this site as a concept, at least in part, already exists – a Digital Garden. You can read more here: A Brief History & Ethos of the Digital Garden. I had no idea the concept existed until today! I haven't historically been a huge social media person, at least in terms of active participation. As you can see from my previous post, I'm also not a prolific blogger, even though I've aspired to blog more often for some time.
This blog dates back to May 2013. My content has been less about blogging and more about general information sharing. I expected the content to grow organically and be updated over time, at least as envisioned. So apparently, I've got a Blog + Digital Garden thing going on; at least, that's my general direction. And here I thought I had a unique idea ...
You may have noticed a trend in what I've shared so far. Most of my knowledge has been acquired through self-taught experimentation and hands-on learning. It's entirely possible that my code doesn't follow best practices or may not be the most efficient. As I go forward with this blog, I expect to share code snippets and GitHub repositories and try to be helpful. I'm always open to constructive criticism if you have feedback on improving anything I share or to correct a misunderstanding.
This post has become essentially an "about me" and a glimpse of what I hope to cover via this Blog + Digital Garden as I try to post more frequently. I aim to share interesting bits of information that I stumble upon and provide how-tos and guides for things that I find frustrating or think could be better documented or more easily accessible than they are through Google. The idea is that I'll be more easily able to find my notes across various computers, tablets, phones, etc. But I'm hoping it'll also be helpful information for others.
At the top of my mind, for the moment, is a short series on creating basic RESTful APIs and how to instrument those using Elastic and OpenTelemetry. I hope to create and share some basic how-tos for Python, Go, Javascript, etc. More to come!