JokeAPI
terraform-provider-ichdj
JokeAPI | terraform-provider-ichdj | |
---|---|---|
8 | 15 | |
228 | 13 | |
1.3% | - | |
5.1 | 10.0 | |
about 2 months ago | over 4 years ago | |
TypeScript | Go | |
MIT License | - |
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.
JokeAPI
-
12 Free and Fun APi for your next Project
JokeAPI
- Where to get Free APIs to practice my web dev skills?
-
Create module for generate random jokes in Telegram bot on NestJS
https://jokeapi.dev/ - site for generate random jokes in English language
-
Impress your friends! Make a serverless bot that sends daily jokes to a Telegram Group
Typhoon Orchestrator is a great way to deploy ETL workflow on AWS Lambda. In this tutorial we intend to show how easy to use and versatile it is by deploying code to Lambda that gets a random joke from https://jokeapi.dev once a day and sends it to your telegram group.
-
Twitter BOT to send joke and image (lambda + typescript)
We will get a random joke from https://jokeapi.dev/ API. It's free with some limitation on hit rate etc.
-
A step-by-step guide to migrate a Node.js web app to Typescript
Axios as an HTTP client. It fetches random jokes from https://jokeapi.dev.
-
My dashboard for my tiny little raspberry inspired by posts from this subreddit
Sure but I don't know what's there to say. It is just a dashboard I made with plain old Javascript, php and HTML. Raspberry's stats are updated every minute and every 10 minutes there is an ajax call to the services to check for a 200 HTTP status response, so that their lid will remain green. Ah yes also there is a call to the jokes api to get a joke every time it is loaded. Hm, writing this I realized there are some things that should have been told. Sorry. Thanks for your reaction though. :)
-
Dev Dad Jokes - My submission to the DigitalOcean App Platform Hackathon!
I searched for a free and open source Joke API, and found one on GitHub at https://github.com/Sv443/JokeAPI.
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)
What are some alternatives?
SpaceX-API - :rocket: Open Source REST API for SpaceX launch, rocket, core, capsule, starlink, launchpad, and landing pad data.
social-app - The Bluesky Social application for Web, iOS, and Android
joke-api - ā” Blazing Fast Jokes API!
BashConfig - BASH configuration files.
typhoon-orchestrator - Create elegant data pipelines and deploy to AWS Lambda or Airflow
karma - Spectacular Test Runner for JavaScript
readme-jokes - š Jokes for your GitHub READMEs
liboai - A C++17 library to access the entire OpenAI API.
devdadjokes - Randomly generated Developer Dad Jokes
terraform-provider-dominos - The Terraform plugin for the Dominos Pizza provider.
twitter-bot - Lambda function which acts like a twitter bot to send tweets
terraform-provider-tfcli - Terraform-in-Terraform: Execute Modules directly from the Terraform Registry