Skip to content

Instantly share code, notes, and snippets.

View deeTEEcee's full-sized avatar

David Chen deeTEEcee

View GitHub Profile
# rs.initiate() is playing 2 roles:
# * required for my local mongo setup
# * it can also be used to test a connection but you can use almost any other evaluation command.
# The command below runs a mongo check in a loop and times out after a minute.
# Why not use "wait-for-it.sh"? That establishes a tcp connection check but you could still run into a connection error
# if you run a single mongo connection check so we still need to loop.
timeout -v 1m bash -c 'until docker exec -it mongo mongo --eval "rs.initiate()"; do sleep 3; done'
@deeTEEcee
deeTEEcee / README.md
Created June 5, 2021 16:39
bit tools

Hex-style bit mapping

Because bytes tend to be longer, we'll want to use hex style mapping to represent bits. We know that hexadecimal is base 16 and bits are base 2 which translates to 4 bits = 1 hex.

Here's an example of why we want this case. If you have 16 bits, it looks like: 000011111111 but 0xFF is easier to read.

Here's a list of mapping for wanting only 1 bits: 0 -> 0x0 1 -> 0x1

@deeTEEcee
deeTEEcee / postgres_exporter.txt
Created December 13, 2021 03:01
prometheus exporter list
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0.000244
go_gc_duration_seconds{quantile="0.25"} 0.000316201
go_gc_duration_seconds{quantile="0.5"} 0.0003472
go_gc_duration_seconds{quantile="0.75"} 0.000413601
go_gc_duration_seconds{quantile="1"} 0.010038708
go_gc_duration_seconds_sum 0.740180276
go_gc_duration_seconds_count 1456
# HELP go_goroutines Number of goroutines that currently exist.
@deeTEEcee
deeTEEcee / list-table-size-per-schema.txt
Last active June 29, 2022 17:43
postgres developer snippets
-- Get Postgres Summary
--
create or replace function
count_rows(schema text, tablename text) returns integer
as
$body$
declare
result integer;
query varchar;
begin
@deeTEEcee
deeTEEcee / regex_check.py
Created July 20, 2022 23:38
Basic Regex Check
import re
text_list = [
"P1:field1",
"P1:field2"
"P2:field1"
"P2:field2",
"P3:field1",
"P3:field2",
"P4:field1",
"P5:field1",
@deeTEEcee
deeTEEcee / csv_diff.py
Created August 11, 2022 07:56
Scratch notes + code for a csvdiff tool
"""
How to compare 2 csv files such that I can identify:
* Added/Modified/Removed Rows but know specifically which header changed
There are two ways to look at diffs:
1. Line-by-line diffs
Line-by-line diffs are dumb and can't tell what a "Modified" item is.
2. Diffs with primary keys.
@deeTEEcee
deeTEEcee / README.md
Created October 17, 2022 00:22
Python Integration w/ C

Two things we can do with C and Python integration.

  1. C Extensions for Python

    In other words, we can write python methods in pure C.

  2. Embedding Python a

The reasons for doing #1 are obvious because we can make speed improvements. For #2, it is due to transporting Python libraries over to C.