Skip to content

Instantly share code, notes, and snippets.

View metafeather's full-sized avatar

Liam Clancy metafeather

View GitHub Profile
@metafeather
metafeather / index.md
Last active October 12, 2022 12:53
Learning the ML Tech Stack in 2022
@metafeather
metafeather / README.md
Created April 10, 2022 22:59
Bash test negation with '!'

‎‎​

@metafeather
metafeather / Dockerfile
Last active April 5, 2022 09:19
Personal dev container
# Global args
ARG DEBIAN_VERSION="bullseye-slim"
ARG GOLANG_VERSION="1.17"
ARG NODE_VERSION="16"
ARG PYTHON_VERSION="3.10"
ARG RUBY_VERSION="3.1.0"
############################
# Base images
@metafeather
metafeather / README.md
Last active March 23, 2022 11:02
How To Use Bash Parameter Substitution Like A Pro

The $ character is used for parameter expansion, arithmetic expansion and command substitution. You can use it for manipulating and expanding variables on demands without using external commands such as perl, python, sed or awk. This guide shows you how to use parameter expansion modifiers to transform Bash shell variables for your scripting needs.

@metafeather
metafeather / README.md
Last active March 23, 2022 08:53
shell arguments parsing patterns

Parsing command-line arguments and flags

4th January 2019 | 7 minutes

Today's post is going to be a bit more complex if you're new to shell scripting, but something I found quite beautiful is how one can go about parsing command-line arguments and flags in shell scripting. It works by using a switch-case statement and the shift expression.

Let's take a look!

arguments.sh

@metafeather
metafeather / .. Trunk.io - custom linter: markdown-link-check README.md
Last active November 10, 2022 16:12
Trunk.io - custom linter: markdown-link-check
@metafeather
metafeather / graphiql.vue
Created October 9, 2020 19:36
Load GraphiQL React based UI within a Vue Component from CDN
<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
<div id="graphiql" style="height: 100vh"></div>
</template>
<script>
// Load GraphiQL React based UI within a Vue Component from CDN
// ref: https://github.com/graphql/graphiql/tree/main/packages/graphiql#cdn-bundle
const js = (id, url) =>
new Promise((resolve, reject) => {
if (document.getElementById(id)) {
@metafeather
metafeather / The original rant
Created October 2, 2019 07:55 — forked from dexterous/original-rant.md
Steve Yegge's SOA post
Stevey's Google Platforms Rant
I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.
I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't really have SREs and they make engi
# Missing Value Ratio: If the dataset has too many missing values, we use this approach to reduce the number of variables. We can drop the variables having a large number of missing values in them
# Low Variance filter: We apply this approach to identify and drop constant variables from the dataset. The target variable is not unduly affected by variables with low variance, and hence these variables can be safely dropped
# High Correlation filter: A pair of variables having high correlation increases multicollinearity in the dataset. So, we can use this technique to find highly correlated features and drop them accordingly
# Random Forest: This is one of the most commonly used techniques which tells us the importance of each feature present in the dataset. We can find the importance of each feature and keep the top most features, resulting in dimensionality reduction
# Both Backward Feature Elimination and Forward Feature Selection techniques take a lot of computational time and are thus generally used on smal
@metafeather
metafeather / typed.es6
Last active May 5, 2017 12:38
Examples of VSCode 1.12.1 TypeScript Types inferred from ES6 code
{
/*
* Examples of VSCode 1.12.1 TypeScript Types inferred from ES6 code.
* Conclusion: You are not required to use JSDoc or TypeScript
* annotations in most cases if you use default values in functions.
*/
let easy = 'abc';
// Error: Type '123' is not assignable to type 'string'