terraform-provider-ichdj
atproto
terraform-provider-ichdj | atproto | |
---|---|---|
15 | 23 | |
13 | 5,740 | |
- | 2.1% | |
10.0 | 9.7 | |
over 4 years ago | 2 days ago | |
Go | TypeScript | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
terraform-provider-ichdj
-
U.S. Government Database of Dad Jokes
Or extracting just the joke from the JSON with fx[1]:
http --json https://icanhazdadjoke.com | fx .joke
-
12 Free and Fun APi for your next Project
fetch('https://icanhazdadjoke.com/', { headers: { Accept: 'application/json', }, }) .then(response => response.json()) .then(data => { const dadJoke = data.joke; console.log(`Dad Joke: ${dadJoke}`); });
-
What are Promises & Async/Await in JavaScript?
console.log(fetch("https://icanhazdadjoke.com/"));
-
How to Fetch Data from an API in Angular
import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; @Injectable({ providedIn: 'root', }) export class JokesService { url = 'https://icanhazdadjoke.com'; constructor(private http: HttpClient) {} getJoke(): Observable { return this.http.get(this.url, { headers: { Accept: 'application/json' } }); } }
-
Building Bluesky bots with GitHub Actions
Here's my bot in action. It posts a new dad joke once an hour and look, it's already got 10 followers! I should probably repost a few of its jokes so other people get to see it. It uses the Dad Jokes API to generate random jokes to share.
-
huge list of bash aliases
alias config="$(which git) -C $HOME --git-dir=$HOME/.dots/ --work-tree=$HOME" # ------------------------------------------------------------------ # Common # ------------------------------------------------------------------ alias python="$(which python3)" alias pip=pip3 # Place above other sudo commands to enable aliases to be sudo-ed. alias sudo="sudo " # if [ $UID -ne 0 ]; then # ## Effective UID is the user you changed to, UID is the original user. # # echo "UID is $UID and EUID is $EUID" # fi # ------------------------------------------------------------------ # Navigation # ------------------------------------------------------------------ alias cd..="cd .." alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias .....="cd ../../../.." alias ~="cd $HOME" # `cd` is probably faster to type though alias -- -="cd -" # ------------------------------------------------------------------ # Copy / Get / Remove # ------------------------------------------------------------------ # mv, cp confirmation alias mkdir="mkdir -pv" alias cp="cp -iv" alias ln='ln -i' alias mv="mv -iv" if hash rsync 2>/dev/null; then # alias cpv="rsync -ah --info=progress2" alias cpv="rsync -ah --info=progress2 --no-inc-recursive --stats" # progress bar alias rcopy="rsync -av --progress -h" alias rmove="rsync -av --progress -h --remove-source-files" alias rupdate="rsync -avu --progress -h" alias rsynchronize="rsync -avu --delete --progress -h" fi # ------------------------------------------------------------------ # Safetynets/Permission/Ownership # ------------------------------------------------------------------ # do not delete / or prompt if deleting more than 3 files at a time # alias rm='rm -vI --preserve-root' # 'rm -i' prompts for every file # Safetynets [Parenting changing perms on / #] alias chown='chown -v --preserve-root' alias chmod='chmod -v --preserve-root' alias chgrp='chgrp --preserve-root' alias chmox="chmod +x --preserve-root" if [ $UID -ne 0 ]; then # Add sudo if forgotten. i.e. # require sudo if user is not root alias reboot='sudo reboot' alias update='sudo apt-get upgrade' alias susp='sudo /usr/sbin/pm-suspend' alias dpkg='sudo dpkg' fi # ------------------------------------------------------------------ # File managements # ------------------------------------------------------------------ alias df='df -h' alias du='du -hs' alias fs="stat -f \"%z bytes\"" # File size ## Alisase: new # List all files colorized in long format alias l="ls -lF ${colorflag}" # List all files colorized in long format, excluding . and .. alias la="ls -lAF ${colorflag}" # List only directories alias lsd="ls -lF ${colorflag} | grep '^d' --color=never" alias ls="ls --classify --tabsize=0 --group-directories-first --literal --show-control-chars ${colorflag} --human-readable" alias lh="ls -d .*" # show hidden files/directories only # tree should be in most distributions (maybe as an optional install) # alias tree="ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'" alias lsblkid="lsblk -o name,label,fstype,size,uuid --noheadings" #: A more descriptive, yet concise lsblk. alias blkid_="blkid -o list" alias new="/usr/bin/ls -lth | head -15" # a quick glance at the newest files. alias big="command du -a -BM | sort -n -r | head -n 10" # Find 10 largest files in pwd. # ------------------------------------------------------------------ # Nginx # ------------------------------------------------------------------ if hash nginx 2>/dev/null; then function ngensite { sudo ln -s "/etc/nginx/sites-available/$1" /etc/nginx/sites-enabled; } function ngdissite { sudo rm "/etc/nginx/sites-enabled/$1"; } alias nginx='sudo nginx' alias ngdir='cd /etc/nginx/' alias nglog-access='tail -f /var/log/nginx/access.log' alias nglog-error='tail -f /var/log/nginx/error.log' alias ngsites='ls /etc/nginx/sites-available' alias ngsitesen='ls /etc/nginx/sites-enabled' alias ngreload='sudo service nginx reload' alias ngrestart='sudo service nginx restart' alias ngstart='sudo service nginx start' alias ngstatus='sudo service nginx status' alias ngstop='sudo service nginx stop' alias ngtest='sudo nginx -t' fi # ------------------------------------------------------------------ # Networking and IP addresses # ------------------------------------------------------------------ alias ping="ping -c 5" alias ports='sudo netstat -vatnp' alias ifconfig="ip -c a | sed -e 's/\// \//g'" # Show active network interfaces alias ifactive="ifconfig | pcregrep -M -o '^[^\t:]+:([^\n]|\n\t)*status: active'" #alias ip="dig +short myip.opendns.com @resolver1.opendns.com" alias localip="ipconfig getifaddr en1" alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'" # Enhanced WHOIS lookups alias whois="whois -h whois-servers.net" # View HTTP traffic alias sniff="sudo ngrep -d 'en1' -t '^(GET|POST) ' 'tcp and port 80'" alias httpdump="sudo tcpdump -i en1 -n -s 0 -w - | grep -a -o -E \"Host\: .*|GET \/.*\"" alias ports='sudo lsof -nP 2>/dev/null | grep LISTEN | sed -re "s/ +/ /g" | cut -d " " -f 1,3,9 | sort -u | column -t' # https://github.com/terminalforlife/BashConfig/ alias joke='command wget -U "curl/7.55.1" -o /dev/null -qO - https://icanhazdadjoke.com || printf "No jokes today"; echo' # Always enable colored `grep` output if [ -x /usr/bin/dircolors ]; then test -r $HOME/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias grep="grep -sI --color=auto --exclude-dir=__pycache__" alias grepi="grep -i --color=auto --exclude-dir=__pycache__" alias fgrep="fgrep --color=auto --exclude-dir=__pycache__" alias egrep="egrep --color=auto --exclude-dir=__pycache__" fi # One of @janmoesen’s ProTip™s for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do alias "${method}"="lwp-request -m '${method}'" done # ------------------------------------------------------------------ # My Specific # ------------------------------------------------------------------ # Mine Specific Shortcuts alias dl="cd $HOME/Downloads" alias dt="cd $HOME/Desktop" if hash subl 2>/dev/null; then if [ $UID -ne 0 ]; then # If Sublime Text installed - use it istead of gedit # only for non-root to prevent side effects alias gedit=subl fi fi if hash nnn 2>/dev/null; then alias nnn="nnn -Rd" fi if [ -f ${HOME}/.local/bin/bat ]; then alias aliases="bat $HOME/.bash_aliases" # for quick reference if [ $UID -ne 0 ]; then # apply bat style inline incase .config/bat/conf is not available alias cat="bat -pp --paging=never --style='plain' --theme=TwoDark --color=always --decorations=always" fi fi if hash wget 2>/dev/null; then #alias wget="curl -O" alias wget="wget -c - --hsts-file='$XDG_CACHE_HOME/wget-hsts'" # resume if failed by default fi # ------------------------------------------------------------------ # Misc # ------------------------------------------------------------------ # Add an "alert" alias for long running commands. # Usage example: $ sleep 5; 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$//'\'')"' # Much nicer output for the apt-get command. alias apt-get="apt-get -q -o Dpkg::Progress=true -o Dpkg::Progress-Fancy=true -o APT::Get::AutomaticRemove=true" # Show which commands you use the most alias freq='cut -f1 -d" " $HOME/.bash_history | sort | uniq -c | sort -nr | head -n 30' alias fuck="killall -9" # alias g="git" alias h="history" alias incognito='export HISTFILE=/dev/null' # Potentially useful option for viewing the kernel log. alias klog="dmesg -t -L=never -l emerg,alert,crit,err,warn --human --nopager" alias vi="vim" alias where=which # sometimes i forget alias shh="pkill mpv; pkill mpv" # Play online drum and bass radio station. alias dnb="shh; mpv --really-quiet https://dnbradio.com/hi.pls &" # make easier editing alias vimrc="$EDITOR $HOME/.vimrc" alias bashrc="$EDITOR $HOME/.bashrc" alias alia="$EDITOR $HOME/.bash_aliases" alias func="$EDITOR $HOME/.bash_functions" # Print each PATH entry on a separate line alias path="echo -e ${PATH//:/\\n}" # Control Sequences / Reload the shell alias cls='printf "\ec"' alias reload="exec $SHELL -l" # invoke as a login shell alias c="clear;exec bash" # Shell exit alias alias q="exit" alias :q="exit"
-
Just for fun: cowsay and dad jokes
$ cat `which dadjoke` foo=$(curl -s -H "Accept: text/plain" https://icanhazdadjoke.com/) /usr/games/cowsay $foo
-
“Dad Joke” generator shortcut
curl https://icanhazdadjoke.com
- Bash Basics: useful commands and tools
-
Why won't this populate the results variable? Promises.all/fetch
javascript async function getJokes(count: number) { let requests = [] for (let i = 0; i < count; i++) { requests.push(fetch("https://icanhazdadjoke.com/", { method: 'GET', headers: { 'Accept': 'application/json', } })) } let responses = await Promise.all(requests) return Promise.all(responses.map(responses => responses.json())) } var results getJokes(3).then(jokes => { console.log(jokes); results=jokes; }) console.log(results)
atproto
- Building Bluesky: A Distributed Social Network
- Bluesky announces data federation for self hosters
-
Why isn't Bluesky a peer-to-peer network?
> I was unable to find any technological content on the site
Have a look at
> https://atproto.com/
> https://github.com/bluesky-social/atproto
- Bluesky makes web view public, login no longer required to read posts
- BlueSky expecting to launch the public web interface on Monday, December 18
- Bluesky migrates from pg to single-tenant SQLite
- Bluesky Reserved Names
- Bluesky now checks against this array of slurs when creating a username
- He is Unhinged. That new app can't come quick enough...
-
Building Bluesky bots with GitHub Actions
I wanted to make it easy to create fun bots that use APIs or other data to post to Bluesky. This was an opportunity for me to learn how to schedule things with GitHub Actions and use the Bluesky API. I wrote up a full description of how to build with Bluesky and GitHub Actions here
What are some alternatives?
social-app - The Bluesky Social application for Web, iOS, and Android
wordpress-activitypub - ActivityPub for WordPress
BashConfig - BASH configuration files.
rss-to-activitypub - An RSS to ActivityPub converter.
karma - Spectacular Test Runner for JavaScript
serratus - Ultra-deep search for novel viruses
liboai - A C++17 library to access the entire OpenAI API.
instances - Mastodon instances list
terraform-provider-dominos - The Terraform plugin for the Dominos Pizza provider.
agregore-browser - A minimal browser for the distributed web (Desktop version)
terraform-provider-tfcli - Terraform-in-Terraform: Execute Modules directly from the Terraform Registry
posidonius - N-Body simulator for planetary and/or binary systems