treewide: Update GitHub URLs
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
This commit is contained in:
parent
2ead4131b4
commit
14c9fe9eb0
|
@ -2,7 +2,7 @@ msfjarvis.website {
|
|||
root /var/www/msfjarvis.website/public
|
||||
hugo /var/www/msfjarvis.website /admin
|
||||
tls msfjarvis@gmail.com
|
||||
git https://github.com/MSF-Jarvis/msfjarvis.website /var/www/msfjarvis.website {
|
||||
git https://github.com/msfjarvis/msfjarvis.website /var/www/msfjarvis.website {
|
||||
branch src
|
||||
then hugo
|
||||
interval 600
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
+++
|
||||
date = "2019-07-17"
|
||||
title = "Collections in programming languages"
|
||||
slug = "collections-in-programming-languages"
|
||||
tags = []
|
||||
categories = []
|
||||
+++
|
||||
|
||||
Collections are a very fundamental and interesting feature in programming. Putting together "many of the same" is important in real world applications such as a Hangman game, as a familiar example.
|
||||
|
||||
You need to have an *ordered* collection of letters and blanks that form the word to be guessed, as well as another collection of letters that have been already guessed.
|
||||
|
||||
Time for the nitty-gritty now.
|
||||
|
||||
> Note: The following post will be using Java/Kotlin's (JVM's?) collections since they seem to have the most types of collections among the programming languages I am proficient in.
|
||||
|
||||
|
||||
For simplicity, I'll be using the Java SE 7 API reference as the baseline for all the explanations here. The discussion itself will strive to remain language-agnostic so please do not be discouraged away if you are not a JVM developer.
|
||||
|
||||
### Sets
|
||||
|
||||
> A Set, in mathematical terms, is a collection of distinct objects, and is considered an object in its own right.
|
||||
|
||||
Let's dive into this.
|
||||
|
||||
When we say <span style="text-decoration:underline">_distinct objects_</span>, it simply means that duplication is forbidden. For any two elements `e1` and `e2`, `e1 == e2` can **never** be true in a valid set.
|
||||
|
||||
In most languages, sets are also guaranteed to be **ordered**, i.e., the elements shall remain in the order you inserted them initially.
|
||||
|
||||
|
||||
So that was sets. Simple enough right?
|
|
@ -11,7 +11,7 @@ The most common question I get when I recommend open source as a launching pad f
|
|||
|
||||
The answer: *anywhere!*
|
||||
|
||||
There's a plethora of open source software out there, and not everybody needs to have an encyclopaedic knowledge of the codebase to contribute. You can contribute small things like [fixing dead links in the README](https://github.com/portainer/portainer/commit/173c673d37ea2e4bb82d159b601e60109a435601) to [resolving trivial compilation warnings](https://github.com/mozilla-mobile/fenix/commits/master?author=MSF-Jarvis) to simply [tweaking an issue template](https://github.com/opengapps/opengapps/commits/master/.github/ISSUE_TEMPLATE.md).
|
||||
There's a plethora of open source software out there, and not everybody needs to have an encyclopaedic knowledge of the codebase to contribute. You can contribute small things like [fixing dead links in the README](https://github.com/portainer/portainer/commit/173c673d37ea2e4bb82d159b601e60109a435601) to [resolving trivial compilation warnings](https://github.com/mozilla-mobile/fenix/commits/master?author=msfjarvis) to simply [tweaking an issue template](https://github.com/opengapps/opengapps/commits/master/.github/ISSUE_TEMPLATE.md).
|
||||
|
||||
The reason I'm linking my own commits is because I want to let people know that the guy helming a [theme engine](https://github.com/substratum) is also out of his element at times and there's no shame in admitting it :)
|
||||
|
||||
|
|
|
@ -3,16 +3,16 @@ title = "Projects"
|
|||
id = "projects"
|
||||
+++
|
||||
|
||||
Over the years I have worked on and contributed to various projects in the Android community. I am currently a project maintainer for [Android Password Store](https://github.com/zeapo/Android-Password-Store). My personal projects can be found on [GitHub](https://github.com/MSF-Jarvis),
|
||||
Over the years I have worked on and contributed to various projects in the Android community. I am currently a project maintainer for [Android Password Store](https://github.com/zeapo/Android-Password-Store). My personal projects can be found on [GitHub](https://github.com/msfjarvis),
|
||||
some of the prominent ones are:
|
||||
|
||||
- [Viscerion](https://github.com/MSF-Jarvis/viscerion): Android client for the WireGuard™️ VPN protocol. Built with Android Jetpack and Kotlin.
|
||||
- [floating-action-button](https://github.com/MSF-Jarvis/floating-action-button): Android library for drawing expandable Floating Action Buttons that conform to the material spec. Fully written in Kotlin and used in production in Hyperion launcher.
|
||||
- [Caesium Kernel for the OnePlus 3/3T](https://github.com/MSF-Jarvis/oneplus3): A custom kernel for the OnePlus 3/3T, designed to be lean, quick and efficient while
|
||||
- [Viscerion](https://github.com/msfjarvis/viscerion): Android client for the WireGuard™️ VPN protocol. Built with Android Jetpack and Kotlin.
|
||||
- [floating-action-button](https://github.com/msfjarvis/floating-action-button): Android library for drawing expandable Floating Action Buttons that conform to the material spec. Fully written in Kotlin and used in production in Hyperion launcher.
|
||||
- [Caesium Kernel for the OnePlus 3/3T](https://github.com/msfjarvis/oneplus3): A custom kernel for the OnePlus 3/3T, designed to be lean, quick and efficient while
|
||||
staying up-to-date with kernel.org linux-stable releases.
|
||||
- [Caesium Kernel for the Pixel 2/2XL](https://github.com/MSF-Jarvis/wahoo): A custom kernel for the Google Pixel 2/2XL with similar principles.
|
||||
- [Caesium Kernel for the Pixel 2/2XL](https://github.com/msfjarvis/wahoo): A custom kernel for the Google Pixel 2/2XL with similar principles.
|
||||
|
||||
I've also developed a recent infatuation with [Docker](https://docker.com), and developed the following images for various usecases of mine
|
||||
|
||||
- [docker-zulu-jdk](https://github.com/MSF-Jarvis/docker-zulu-jdk): Packaging of [Zulu](https://www.azul.com/downloads/zulu/), a OpenJDK release channel of tested and verified builds under the latest Ubuntu and Alpine Linux distributions.
|
||||
- [drone-decrypt-files](https://github.com/MSF-Jarvis/drone-decrypt-files): A simple plugin for [Drone CI](https://drone.io) that allows storing encrypted blobs in the VCS repository for CI to decrypt into usable artifacts like signing keys.
|
||||
- [docker-zulu-jdk](https://github.com/msfjarvis/docker-zulu-jdk): Packaging of [Zulu](https://www.azul.com/downloads/zulu/), a OpenJDK release channel of tested and verified builds under the latest Ubuntu and Alpine Linux distributions.
|
||||
- [drone-decrypt-files](https://github.com/msfjarvis/drone-decrypt-files): A simple plugin for [Drone CI](https://drone.io) that allows storing encrypted blobs in the VCS repository for CI to decrypt into usable artifacts like signing keys.
|
||||
|
|
Loading…
Reference in New Issue