Skip to content

Instantly share code, notes, and snippets.

View Dakad's full-sized avatar
🐦

David A. K. Ad. Dakad

🐦
View GitHub Profile
@Dakad
Dakad / .bash_aliases
Last active July 31, 2017 22:42
My bash_aliases
#==============================
#
# ALIASES
#
#==============================
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
@Dakad
Dakad / regex-on-hex-color
Last active July 14, 2017 05:17
Regex on Hex Color
/#([a-fA-F0-9]{3}){1,2}\b/
/#([a-f0-9]{3}){1,2}\b/i
@Dakad
Dakad / .gitconfig
Last active February 4, 2018 21:01
Sample of my git config (Example: .gitconfig)
# Commit early, commit often: it is a bad idea to do a lot of work without committing.
[user]
name = <Github Username>
email = <Github Email>
# signingkey = <GPGKEYIDHERE>
[commit]
# gpgsign = true
[push]
default = simple
from functools import wraps
def transaction(fn):
'''Decorator that encloses the decorated function in a DB transaction.
The decorated function does not need to session.commit(). Usage::
@transaction
def my_function(): # (...)
If any exception is raised from this function, the session is rewinded.
6018 Books
6000 Business
6022 Catalogs
6017 Education
6016 Entertainment
6015 Finance
6023 Food and Drink
6014 Games
6013 Health and Fitness
6012 Lifestyle
@Dakad
Dakad / git-deploy-creating.sh
Last active January 28, 2020 17:04
A bash script to create a Git post-receive hook to deploy after a Git push
#!/bin/bash
# source: https://gist.github.com/francoisromain/58cabf43c2977e48ef0804848dee46c3
# and another script to delete the directories created by this script
# project-delete.sh: https://gist.github.com/francoisromain/e28069c18ebe8f3244f8e4bf2af6b2cb
# Call this file with `bash ./project-create.sh project-name`
# - project-name is mandatory
# This will creates 4 directories and a git `post-receive` hook.
@Dakad
Dakad / select_send_receive.cr
Created January 11, 2022 14:46 — forked from lbarasti/select_send_receive.cr
use case 2: mixing send and receive
def producer(name : String, &generator : -> T) forall T
Channel(T).new.tap { |ch|
spawn(name: name) do
loop do
ch.send generator.call
end
end
}
end
@Dakad
Dakad / select_pipeline.cr
Created January 11, 2022 14:46 — forked from lbarasti/select_pipeline.cr
select use case 4: dealing with back-pressure
def producer(name : String, &generator : -> T) forall T
Channel(T).new.tap { |ch|
spawn(name: name) do
loop do
ch.send generator.call
end
end
}
end
@Dakad
Dakad / select_terminate.cr
Created January 11, 2022 14:47 — forked from lbarasti/select_terminate.cr
select use case 1: graceful termination
def producer(name : String, &generator : -> T) forall T
Channel(T).new.tap { |ch|
spawn(name: name) do
loop do
ch.send generator.call
end
end
}
end
@Dakad
Dakad / gdb_cheat_sheet.txt
Created January 21, 2022 21:16
GDB cheat sheet
GDB commands by function - simple guide
---------------------------------------
More important commands have a (*) by them.
Startup
% gdb -help print startup help, show switches
*% gdb object normal debug
*% gdb object core core debug (must specify core file)
%% gdb object pid attach to running process
% gdb use file command to load object