JokeAPI VS terraform-provider-ichdj

Compare JokeAPI vs terraform-provider-ichdj and see what are their differences.

JokeAPI

REST API that serves uniformly and well formatted jokes in JSON, XML, YAML or plain text format that also offers a great variety of filtering methods (by Sv443-Network)

terraform-provider-ichdj

Terraform + Dad Jokes = šŸ‘Œ. Terraform provider for the "icanhazdadjoke.com" API. (by aidanSoles)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
JokeAPI terraform-provider-ichdj
8 15
228 13
1.3% -
5.1 10.0
about 1 month ago over 4 years ago
TypeScript Go
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of JokeAPI. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-20.

terraform-provider-ichdj

Posts with mentions or reviews of terraform-provider-ichdj. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-28.
  • U.S. Government Database of Dad Jokes
    2 projects | news.ycombinator.com | 28 Dec 2023
    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
    6 projects | dev.to | 20 Dec 2023
    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?
    1 project | dev.to | 2 Oct 2023
    console.log(fetch("https://icanhazdadjoke.com/"));
  • How to Fetch Data from an API in Angular
    4 projects | dev.to | 29 May 2023
    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
    5 projects | dev.to | 23 May 2023
    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
    4 projects | /r/bash | 14 May 2023
    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
    1 project | /r/bash | 15 Feb 2023
    $ cat `which dadjoke` foo=$(curl -s -H "Accept: text/plain" https://icanhazdadjoke.com/) /usr/games/cowsay $foo
  • ā€œDad Jokeā€ generator shortcut
    2 projects | /r/shortcuts | 24 Jan 2023
    curl https://icanhazdadjoke.com
  • Bash Basics: useful commands and tools
    2 projects | dev.to | 18 Nov 2022
  • Why won't this populate the results variable? Promises.all/fetch
    1 project | /r/learnjavascript | 20 Aug 2022
    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?

When comparing JokeAPI and terraform-provider-ichdj you can also consider the following projects:

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