aboutsummaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/_index.md164
-rw-r--r--content/post/_index.md6
-rw-r--r--content/post/programs/index.md86
-rw-r--r--content/post/self-host/6imv05.jpgbin0 -> 66020 bytes
-rw-r--r--content/post/self-host/elections.jpgbin0 -> 97041 bytes
-rw-r--r--content/post/self-host/freedom.jpgbin0 -> 300014 bytes
-rw-r--r--content/post/self-host/index.md125
-rw-r--r--content/post/self-host/office.pngbin0 -> 1443597 bytes
-rw-r--r--content/post/self-host/police.jpgbin0 -> 190074 bytes
-rw-r--r--content/post/self-host/why.jpgbin0 -> 110502 bytes
10 files changed, 381 insertions, 0 deletions
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..df4987e
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,164 @@
+# About me
+Hi. This is me:
+{{< figure src="/kd.jpeg" alt="my pic" width="100" >}}
+
+My name is Kumar. Some people call me *kd*, I'm known for being...
+
+* that guy who hosts his own website, email, dropbox, vpn, etc. [Read more](post/self-host).
+* a stickler about 'oPtiMiZing mY woRkfLoW' by scripting anything script-able.
+* a programming purist, and linguistic enthusiast.
+* 👎 down on social-media. I think they lead to dystopia. [Read more](post/self-host#privacy).
+* a B.Sc in Computer Science at the University of Toronto with a focus in Natural Language Processing
+
+## Projects
+
+### My Homelab setup
+* My Ansible repository used for managing my self-hosted services.
+* [Source on GitLab](https://gitlab.com/kdam0/vps)
+* Using: Ansible
+
+### Namecheap CLI
+* A containerized CLI to list/add/update/remove DNS records from Namecheap.
+* [Source on GitLab](https://gitlab.com/kdam0/nccli)
+* Using: Go
+
+### My dotfiles
+
+* My settings for common Linux desktop tooling.
+* [Source on GitLab](https://gitlab.com/kdam0/dotfiles)
+
+### Helpthehome(less)
+
+* <a target="_blank" href="https://helpthehome-prod.herokuapp.com/">Project info page</a>
+* [Project home](https://helpthehome-prod.herokuapp.com/)
+* [Source on GitLab](https://gitlab.com/kdam0/helpthehomeless)
+* Using: NodeJs, React-Native, MongoDB, Pug (jade)
+
+### Solutions Repo
+
+* [Project home](https://solutionsrepo-prod.herokuapp.com/)
+* [Source on GitLab](https://gitlab.com/kdam0/solutions_repo)
+* Using: NodeJs, MongoDB, Handlebars
+
+> If you've found something above useful, consider [sending](#donate) some coins my way!
+
+## Professional Life
+Treat this section as an extension of my resume.
+
+<details>
+<summary> 2020 - now </summary>
+<br>
+Currently working as a **DevOps** at [Kepler](https://kepler.space) 🛰️.
+This is mostly a software (infrastructure) dev gig for a start-up, which is a bit new for me
+coming from a more classical "DevOps" role for a mature company. There is a ton of specialized *space*
+related equipment here that presents interesting problems.
+<br><br>
+Beyond that, I've learned a ton about
+embedded computers, networking and network automation, which has opened my world up to
+cool home projects for which I am very grateful for. So far, I've been responsible for the
+following:
+
+* Implementing a net-boot infrastructure using Packer, PXE, Awx (Ansible Tower) to keep our
+RPi fleet images and configurations in-sync and up-to-date.
+* Built a custom Linux router to support our lab's unique hardware testing requirements
+for on-demand subnet generation/teardown, and develop Ansible roles switches.
+* Completely revised our test-automation infrastructure by building a hardware-management
+portal using Django with a RESTful Api (DRF) to facilitate reservation,
+as well as [HITL](https://en.wikipedia.org/wiki/Hardware-in-the-loop_simulation)
+(Hardware-in-the-loop) testing to allow us to more reliably, and frequently test our HW.
+* Designed and deployed our on-prem Kubernetes cluster to be our software
+platform going forward, while facilitating the migration to Kubernetes for all pre-existing
+workloads, including (but not limited to) our various distributed databases.
+
+Beyond my work as an Individual Contributor, I've also been responsible for instilling "DevOps"
+principles within the team on our road to maturity.
+</details>
+
+<details>
+<summary> 2019 - 2020 </summary>
+<br>
+Worked as a **DevOps Engineer** at [AcuityAds](https://acuityads.com) in Toronto.
+The main selling point for me to work here is that Acuity does not use
+AWS, GCP or Azure etc. to host its infrastructure, it has its own on-prem 'cloud'.
+This presents substantial challenges for us as DevOps Engineers that would normally be handled by a
+the public cloud provider.
+<br><br>
+Apart from this, due to the nature of adtech, we deal with a massive amount of data, which forces
+us to be very specific about the types of technologies we use. Here is a subset of what we use
+across multiple data-centers, with high-availability:
+
+* Infrastructure: VMWare, Physical
+* Provisioning: Ansible, Terraform, Cobbler
+* Containerization: Docker, Kubernetes
+* CI/CD: Git, BitBucket, Bamboo (we host the entire Atlassian suite in-house)
+* Monitoring:
+ * TICK (Telegraf, Influxdb, Chronograf, Kapacitor)
+ * ELK (Elasticsearch, Logstash, Kibana), with filebeat and metricbeat beats
+ * Prometheus
+ * Grafana
+ * Nagios, Pagerduty, Pingdom
+* Data: MySql, Aerospike, Kafka, HDFS, Druid
+* Scripting: Golang, Bash, Python. <em>Some</em> of my work can be on my Gitlab profile:
+ * Golang:
+ * a fast, containerized [cron script](https://gitlab.com/kdam0/go-druid-mysql-influx)
+ that interacts with Druid, MySql, and Influxdb written in Go.
+ Basic unit testing.
+ This is a job that powers one of our major alerting dashboards.
+ * a containerized highly modular [Rest Api](https://gitlab.com/kdam0/devops-api)
+ that writes to Influxdb.
+ This is something we run in K8S as a Service to monitor Cronjobs that run in K8S.
+ * Python: a [script](https://gitlab.com/kdam0/slack-to-teams) to migrate
+ Slack exports to MS Teams messages.
+ This is something we used when we gave up on Slack.
+ * Bash: a small [collection](https://gitlab.com/kdam0/random-shell-helpers) of helper
+ scripts that I used frequently for random things.
+</details>
+
+<details>
+<summary> 2016 - 2017 </summary>
+<br>
+I worked at [Achiga](https://achiga.io) (formerly *WebCanada*) as
+part of my [PEY](https://web.cs.toronto.edu/undergraduate/pey) (internship)
+program from UofT for 12 months. As part of this, I was involved in:
+
+* A fast paced Agile environment where I was a Full Stack Developer working with
+ **PHP (Zend), MySql, and JavaScript**.
+* Git + BitBucket + JIRA (basically the whole Atlassian suite), with Vagrant
+* The Pipeline team working on day to day features and bugs in the CMS powering thousands of
+ local hotel sites around the world for Starwood Hotels.
+* Debugging and optimizing cronjobs responsible for storing hotel rates in
+ our database which is critical to hotel revenue.
+* Contributing to the Gallery Page (CMS as well as user facing UI).
+ See [Design Hotels Gallery Page](https://designhotels.com/gallery)
+ towards the end of my tenure.
+</details>
+
+<details>
+<summary> 2014 - 2016 </summary>
+<br>
+I've worked on several other small-buisness type projects involving web, and scripting over the
+years in between semesters.
+</details>
+
+## Donate
+<details>
+<summary> Monero (XMR) </summary>
+<br>
+
+```
+42hFshxmNoFZfAkDJTjSx9MUruMHdLTiDTE4efpP7xZTYwHMjwDZ6eJea2EnyBGGr5ab81cAovBxxT6KSvpUY5roUdkP1Qj
+```
+
+{{< figure src="/xmr.png" alt="xmr wallet qr code" width="100" >}}
+</details>
+
+<details>
+<summary> Bitcoin (BTC) </summary>
+<br>
+
+```
+bc1q4em7f7mvl6wkzc8uyq4365td7w5n02uh64z2za
+```
+
+{{< figure src="/btc.png" alt="btc wallet qr code" width="100" >}}
+</details>
diff --git a/content/post/_index.md b/content/post/_index.md
new file mode 100644
index 0000000..8a084d9
--- /dev/null
+++ b/content/post/_index.md
@@ -0,0 +1,6 @@
++++
+aliases = ["posts", "articles", "blog", "showcase", "docs"]
+title = "Posts"
+author = "Hugo Authors"
+tags = ["index"]
++++
diff --git a/content/post/programs/index.md b/content/post/programs/index.md
new file mode 100644
index 0000000..6766253
--- /dev/null
+++ b/content/post/programs/index.md
@@ -0,0 +1,86 @@
++++
+author = "Kumar Damani"
+title = "Programs and Equipment"
+date = "2021-11-12"
+description = "Overview for the programs and equipment I use day-to-day."
+tags = [
+ "personal",
+ "tech",
+]
++++
+
+The programs and equipment I use on a daily basis.
+<!--more-->
+
+# Programs and Equipment I Use
+I'm about getting things done quickly and having as little space between
+my thoughts and actions on the computer.
+
+I like having vim-like bindings and prefer running programs in the terminal for simplicity's sake.
+That said, I'm very much against the cringe meme that things in the terminal are "cooler" or "nerdier" XD.
+Terminals are good for most tasks, but useless for others, for example, browsing the web
+(I admit this unfortunate fact with much consternation) or looking at maps.
+
+## Software I Use
+
+### OS Distribution
+[Manjaro](https://manjaro.org/) (stable) though this is a bit of a moot point since there's been a lot of convergence among the
+popular distros recently especially since they all offer some dedicated channel for getting up-to-date
+software. The real day-to-day difference to workflow comes from the choice of desktop environment.
+I do like Debian, and Fedora as well.
+
+### Desktop Environment
+I've settled on [KDE Plasma](https://kde.org/plasma-desktop/) w/ Wayland after many years of hopping.
+Plasma comes with all the tools you'd expect to see in a modern desktop,
+and for the most part these tools are perfectly capable of doing the task they are meant to do.
+Prior to KDE, I've used Dwm/Bsmpw + Sxhkd, i3 etc. I'm glad these exist and people get
+use out of it, but for now I do not miss it - I'm sure that will eventually change too.
+
+![KDE Plasma](https://upload.wikimedia.org/wikipedia/commons/d/d8/KDE_Plasma_5.25_screenshot.png)
+
+### Text Editor
+[(neo)vim](https://neovim.io/). Less of a text editor and more of a lifestyle. Check out my dotfiles for this.
+No, I'm not going to ever switch to emacs.
+
+![Neovim](https://neovim.io/images/showcase/telescope_helptags.png)
+
+### Web Browser
+[Firefox](https://www.mozilla.org/en-US/firefox/features/) /
+[Brave](https://brave.com) /
+[Vivaldi](https://vivaldi.com).
+I have tried, Chromium, Qutebrowser in the past.
+
+### File Manager
+[nnn](https://github.com/jarun/nnn). Yes, I have used ranger.
+
+![nnn](http://i.imgur.com/kOld6HT.gif)
+
+## Where can I find good software options?
+The program of your dreams is probably listed below:
+* The [suckless](https://suckless.org/rocks/) website's list of programs that "rock".
+Generally minimalist programs.
+* A more comprehensive [list](https://github.com/mayfrost/guides/blob/master/ALTERNATIVES.md)
+of minimalist software.
+* [FSF's Free Software Directory](https://directory.fsf.org/wiki/Main_Page).
+ Emphasis on libre software (although most software in the links above will have free licenses as well).
+* [Gentoo Wiki Recommendations](https://wiki.installgentoo.com/index.php/List_of_recommended_GNU/Linux_software)
+ A good mix of programs for novices and advanced users.
+
+## Hardware I Use
+
+### Laptop
+
+The main laptop I use is the [Framework laptop](https://frame.work/).
+I'm a huge fan of the whole upgradability concept coming from a few generations of ThinkPads.
+
+
+## What I don't use
+Proprietary software.
+
+I'm not going to endorse proprietary services that have gone out of their way to spy on or politically
+suppress their users, just as Facebook, Discord etc.
+One of the many take-aways you should get from me is that the use of libre/free software,
+by its nature, is more constructive and extensible; and **that's the point**.
+
+There are philosophical reasons for this I'll talk about in time, but for now,
+suffice it to say I will not endorse the usage of proprietary software.
diff --git a/content/post/self-host/6imv05.jpg b/content/post/self-host/6imv05.jpg
new file mode 100644
index 0000000..d042d7a
--- /dev/null
+++ b/content/post/self-host/6imv05.jpg
Binary files differ
diff --git a/content/post/self-host/elections.jpg b/content/post/self-host/elections.jpg
new file mode 100644
index 0000000..ac4ac96
--- /dev/null
+++ b/content/post/self-host/elections.jpg
Binary files differ
diff --git a/content/post/self-host/freedom.jpg b/content/post/self-host/freedom.jpg
new file mode 100644
index 0000000..d62048a
--- /dev/null
+++ b/content/post/self-host/freedom.jpg
Binary files differ
diff --git a/content/post/self-host/index.md b/content/post/self-host/index.md
new file mode 100644
index 0000000..6d13fc2
--- /dev/null
+++ b/content/post/self-host/index.md
@@ -0,0 +1,125 @@
++++
+author = "Kumar Damani"
+title = "Why do I self-host?"
+date = "2022-09-12"
+description = "Overview of why I self-host."
+tags = [
+ "personal",
+ "tech",
+]
++++
+
+My reasons for self-hosting.
+<!--more-->
+
+## Digital freedom/independence
+
+![Freedeom pic](freedom.jpg)
+
+To put it simply, if you use a service such as Lastpass, iCloud, Dropbox, GDrive, OneDrive, etc.
+to store your data, **you do not own it**.
+
+You are *trusting* corp. X to store it, secure it, and make it available to you.
+Beyond the obvious privacy pitfalls with this, there are many other things that
+could go wrong with your data being stored this way:
+
+* Corp. X could vanish/close/"declare bankruptcy" (as with many crypto corps. lately), and you lose your data.
+* Corp. X could make a policy change and lock you out from accessing your account.
+* Or you could "forget" to pay the bills a few times and get locked out.
+* Corp. X could get hacked, and your data gets stolen. This is the latest trend!
+* Many other doomsday 💀 scenarios.
+
+Personally, I don't feel comfortable depending on the existence of corp. X *for data that is important to
+ me* i.e. a lifetime's worth of documents, memories, and passwords etc.
+I 💤 much better at night knowing I am avoiding most if not all of the risks above.
+
+
+## Privacy
+Normies often ask me some variation of:
+* Why do I care if corp. X has my data? I have nothing to hide!
+* Since I'm aware of targeted advertising, it won't work on me,
+ so why should I care if corp. X has my data?
+
+{{< figure src="why.jpg" alt="my pic" width="75%" >}}
+
+To such questions, I follow-up with:
+> **Do you want to contribute to a dystopian ([Orwellian](https://en.wikipedia.org/wiki/Orwellian) future?**
+
+{{< figure src="police.jpg" alt="thought police" width="75%" >}}
+
+If your answer is *yes*, then no need to read further, the following will not change your mind.
+
+If your answer is *no*, but you aren't convinced that/how these are related,
+then the *argument goes something like this...*
+* We live in a world of mass data-collection/surveillance.
+* This enables corp. X to use techniques such as ML (Machine Learning) to build/train models (or "AI" -
+ Artificial Intelligence)that aim to predict human behaviour.
+* That by itself is not a problem here.
+* The problems arise when corp. X use these techniques for profit without
+ regard for the harm they cause at a *population level*.
+
+I have unfortunately lived through enough of these cases to be able to cite a few recent examples:
+* Instagram (etc.) designs its apps/products optimizing for maximum <cite> addiction[^1]</cite>.
+ Think slot-machines.
+ You might think you are "too smart" to fall for these tricks, and you might be right,
+ but what about the millions of adolescents using these platforms who aren't as wise as you?
+ The data collected, and techniques developed from *your usage* enables platforms
+ to target not only you, but *all* users on the platform, including the most vulnerable.
+
+ Unfortunately, many of these kids will end up suffering from mental-health,
+ body-image, self-esteem <cite>issues[^2]</cite>,
+ and for some it **will be fatal**.
+ I do not think this is morally acceptable, and is primary reason I refuse
+ to participate in social-media platforms.
+
+ ![Depression](6imv05.jpg)
+ [^1]: [Smartphones and dompanime](https://sitn.hms.harvard.edu/flash/2018/dopamine-smartphones-battle-time/)
+ [^2]: [Mental health and social media](https://onlinedegrees.unr.edu/online-master-of-public-health/impact-of-social-media-on-youth-mental-health/)
+
+You could say "well that's due to bad parenting", but the point remains that
+more and more of the digital world is having <em>real world</em> negative consequences regardless of
+your individual participation level. Another example:
+
+* By now its well known that Facebook's (etc.) targeted advertising
+ played a significant a role in the 2016 US <cite>Elections[^3]</cite>.
+ Facebook was able to do this thanks to its users voluntarily giving personal information for two decades.
+ However, the policies that come out of this election has real world consequences to millions
+ (if not billions) of people, regardless of their *individual* Facebook usage, which
+ undermines the very purpose of a democratic republic.
+ Regardless of your political affiliation, it should worry you that this *can* happen.
+
+ ![Elections](elections.jpg)
+ [^3]: [Excerpt from Facebook ex-exec](https://www.theverge.com/2017/12/11/16761016/former-facebook-exec-ripping-apart-society)
+
+To summarize, it might not be a problem if individuals disregard their
+privacy at the individual level, but in aggregate, a <em>population-wide</em> disregard
+has dystopian consequences.
+
+So the question you have to ask yourself is:
+> **What can I do?**
+
+Start by **valuing your privacy**.
+Then, follow some of these tips to *say no...*
+* **Limit your exposure to these services.** If a friend stops talking to you because
+ of this, then congratulations, you've just gotten rid of a fake friend. You're welcome.
+* [Self-host](https://wiki.r-selfhosted.com/getting-started/what-is-self-hosting/)
+ as much as you can.
+ You can see how I [implement](https://gitlab.com/kdam0/vps) this and replicate it yourself,
+ though it is a bit involved for normies.
+* If neither of the above work for you, then you'll need to do some research to
+ find an alternative source that you can trust isn't doing the same thing.
+ Use [this](https://github.com/awesome-selfhosted/awesome-selfhosted)
+ as a starting point and try to search (Ctrl+f) for your service. For eg. Twitter, and
+ Instagram both have popular options available.
+* **Stop using Chrome.** If you must use it, use [Brave](https://brave.com/) instead.
+ I advocate for [Firefox](https://www.mozilla.org/en-US/firefox/new/?redirect_source=firefox-com).
+ Neither are perfect, but both offer privacy respecting options in their settings.
+ Specifically disabling cross-site tracking is important.
+ Beyond that, install an ad-blocker extension such as [UBlock Origin](https://ublockorigin.com/)
+ on both of them. Don't forget to do the same on your mobile device!
+* Things get more complicated on cell-phones.
+ I suggest switching to a privacy respecting operating-system such as [GrapheneOS](https://grapheneos.org/)
+ Short of this, you can only limit your usage.
+* Support government policies that respect user-privacy.
+
+{{< figure src="office.png" alt="office pic" width="75%" >}}
diff --git a/content/post/self-host/office.png b/content/post/self-host/office.png
new file mode 100644
index 0000000..9cff3ce
--- /dev/null
+++ b/content/post/self-host/office.png
Binary files differ
diff --git a/content/post/self-host/police.jpg b/content/post/self-host/police.jpg
new file mode 100644
index 0000000..dde2b44
--- /dev/null
+++ b/content/post/self-host/police.jpg
Binary files differ
diff --git a/content/post/self-host/why.jpg b/content/post/self-host/why.jpg
new file mode 100644
index 0000000..eda5402
--- /dev/null
+++ b/content/post/self-host/why.jpg
Binary files differ