iReuse memecount data for both plots - bitreich-memestats - Bitreich meme statistics and graphs. Err bitreich.org 70 hgit clone git://bitreich.org/bitreich-memestats git://hg6vgqziawt5s4dj.onion/bitreich-memestats URL:git://bitreich.org/bitreich-memestats git://hg6vgqziawt5s4dj.onion/bitreich-memestats bitreich.org 70 1Log /scm/bitreich-memestats/log.gph bitreich.org 70 1Files /scm/bitreich-memestats/files.gph bitreich.org 70 1Refs /scm/bitreich-memestats/refs.gph bitreich.org 70 1Tags /scm/bitreich-memestats/tag bitreich.org 70 1LICENSE /scm/bitreich-memestats/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 821d218576745d7ad82ea81c18da04197ebc4c84 /scm/bitreich-memestats/commit/821d218576745d7ad82ea81c18da04197ebc4c84.gph bitreich.org 70 1parent 3ef3415790635bdf3af5d3b7636a0c5b6c0869f2 /scm/bitreich-memestats/commit/3ef3415790635bdf3af5d3b7636a0c5b6c0869f2.gph bitreich.org 70 hAuthor: Anders Damsgaard URL:mailto:anders@adamsgaard.dk bitreich.org 70 iDate: Mon, 20 Apr 2020 10:15:07 +0200 Err bitreich.org 70 i Err bitreich.org 70 iReuse memecount data for both plots Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 18 +++++++++++------- Err bitreich.org 70 i A extract-memecount.sh | 35 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i M plot-memecount.sh | 40 ++++---------------------------- Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 50 insertions(+), 43 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/bitreich-memestats/file/Makefile.gph bitreich.org 70 i@@ -4,18 +4,22 @@ irclog = ~/.irssi/log/Freenode/\#bitreich-en.log Err bitreich.org 70 i memecount: plot-memecount.sh top10 media-stats memecount_lin memecount_semilog Err bitreich.org 70 i cat memecount_lin top10 media-stats memecount_semilog > $@ Err bitreich.org 70 i Err bitreich.org 70 i-memecount_lin: plot-memecount.sh Err bitreich.org 70 i- ./plot-memecount.sh > $@ Err bitreich.org 70 i- Err bitreich.org 70 i-memecount_semilog: plot-memecount.sh Err bitreich.org 70 i- ./plot-memecount.sh semilog > $@ Err bitreich.org 70 i- Err bitreich.org 70 i media-stats: media-stats.sh Err bitreich.org 70 i ./media-stats.sh $(memecache) > $@ Err bitreich.org 70 i Err bitreich.org 70 i top10: top10.sh all_time_weekly_popularity.tsv Err bitreich.org 70 i ./top10.sh > $@ Err bitreich.org 70 i Err bitreich.org 70 i+memecount_lin: plot-memecount.sh memecount.log Err bitreich.org 70 i+ ./plot-memecount.sh memecount.log > $@ Err bitreich.org 70 i+ Err bitreich.org 70 i+memecount_semilog: plot-memecount.sh memecount.log Err bitreich.org 70 i+ ./plot-memecount.sh memecount.log semilog > $@ Err bitreich.org 70 i+ Err bitreich.org 70 i+# output format: datecommitn_memes Err bitreich.org 70 i+memecount.log: extract-memecount.sh Err bitreich.org 70 i+ ./extract-memecount.sh > $@ Err bitreich.org 70 i+ Err bitreich.org 70 i # output format: avg_uses_per_weektag Err bitreich.org 70 i all_time_weekly_popularity.tsv: memeuse.tsv all_time_use.tsv Err bitreich.org 70 i awk -v N_weeks="$$(awk 'END{print $$1/7}' memeuse.tsv)" \ Err bitreich.org 70 i@@ -39,6 +43,6 @@ clean: Err bitreich.org 70 i rm -f all_time_weekly_popularity.tsv Err bitreich.org 70 i rm -f top10 Err bitreich.org 70 i rm -f media-stats Err bitreich.org 70 i- rm -f memecount{,_lin,_semilog} Err bitreich.org 70 i+ rm -f memecount{,.log,_lin,_semilog} Err bitreich.org 70 i Err bitreich.org 70 i .PHONY: brtv clean Err bitreich.org 70 1diff --git a/extract-memecount.sh b/extract-memecount.sh /scm/bitreich-memestats/file/extract-memecount.sh.gph bitreich.org 70 i@@ -0,0 +1,35 @@ Err bitreich.org 70 i+#!/bin/sh Err bitreich.org 70 i+# generate table of hashtag numbers over time Err bitreich.org 70 i+ Err bitreich.org 70 i+annnadir="$HOME/code/annna" Err bitreich.org 70 i+memefile="modules/hashtags/hashtags.txt" Err bitreich.org 70 i+update_annna=yes Err bitreich.org 70 i+ Err bitreich.org 70 i+if [ ! -e "${annnadir}/${memefile}" ]; then Err bitreich.org 70 i+ printf 'error: could not open %s\n' "${annnadir}/${memefile}" Err bitreich.org 70 i+ exit 1 Err bitreich.org 70 i+fi Err bitreich.org 70 i+ Err bitreich.org 70 i+cd "$annnadir" Err bitreich.org 70 i+if [ "$update_annna" = "yes" ]; then Err bitreich.org 70 i+ git pull >/dev/null 2>&1 Err bitreich.org 70 i+fi Err bitreich.org 70 i+ Err bitreich.org 70 i+# derived from Hiltjo Posthuma's loc.sh Err bitreich.org 70 i+git log --pretty='format:%H %cd' --date="format:%Y-%m-%d" | \ Err bitreich.org 70 i+ sort -k 2 | uniq -f 1 | \ Err bitreich.org 70 i+ while read -r commit date; do Err bitreich.org 70 i+ Err bitreich.org 70 i+ # hashtags originally stored in annna-start-services... Err bitreich.org 70 i+ n="$(git show "$commit:annna-start-services" 2>/dev/null | \ Err bitreich.org 70 i+ grep -E '^ #[a-z0-9]' | wc -l)" Err bitreich.org 70 i+ Err bitreich.org 70 i+ # ...but are now stored in $memefile Err bitreich.org 70 i+ if [ "$n" -eq 0 ]; then Err bitreich.org 70 i+ n="$(git show "$commit:$memefile" 2>/dev/null | wc -l)" Err bitreich.org 70 i+ fi Err bitreich.org 70 i+ Err bitreich.org 70 i+ if [ "$n" -gt 1 ]; then Err bitreich.org 70 i+ printf '%s\t%s\t%s\n' "$date" "$commit" "$n" Err bitreich.org 70 i+ fi Err bitreich.org 70 i+done Err bitreich.org 70 1diff --git a/plot-memecount.sh b/plot-memecount.sh /scm/bitreich-memestats/file/plot-memecount.sh.gph bitreich.org 70 i@@ -1,44 +1,12 @@ Err bitreich.org 70 i #!/bin/sh Err bitreich.org 70 i-# output ascii plot of hashtag evolution Err bitreich.org 70 i+# output ascii plot of hashtag evolution generated with extract-memecount.sh Err bitreich.org 70 i Err bitreich.org 70 i-annnadir="$HOME/code/annna" Err bitreich.org 70 i-memefile="modules/hashtags/hashtags.txt" Err bitreich.org 70 i-statfile="$(mktemp)" Err bitreich.org 70 i-update_annna=yes Err bitreich.org 70 i- Err bitreich.org 70 i-die() { Err bitreich.org 70 i- printf 'error: %s\n' "$1" >&2 Err bitreich.org 70 i+if [ $# -ne 1 ]; then Err bitreich.org 70 i+ printf 'usage: %s \n' "$1" >&2 Err bitreich.org 70 i exit 1 Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-if [ ! -e "${annnadir}/${memefile}" ]; then Err bitreich.org 70 i- die "could not open '${annnadir}/${memefile}'" Err bitreich.org 70 i-fi Err bitreich.org 70 i-cd "$annnadir" Err bitreich.org 70 i-if [ "$update_annna" = "yes" ]; then Err bitreich.org 70 i- git pull >/dev/null 2>&1 Err bitreich.org 70 i-fi Err bitreich.org 70 i- Err bitreich.org 70 i-# derived from Hiltjo Posthuma's loc.sh Err bitreich.org 70 i-git log --pretty='format:%H %cd' --date="format:%Y-%m-%d" | \ Err bitreich.org 70 i- sort -k 2 | uniq -f 1 | \ Err bitreich.org 70 i- while read -r commit date; do Err bitreich.org 70 i- Err bitreich.org 70 i- # hashtags originally stored in annna-start-services... Err bitreich.org 70 i- n="$(git show "$commit:annna-start-services" 2>/dev/null | \ Err bitreich.org 70 i- grep -E '^ #[a-z0-9]' | wc -l)" Err bitreich.org 70 i- Err bitreich.org 70 i- # ...but are now stored in $memefile Err bitreich.org 70 i- if [ "$n" -eq 0 ]; then Err bitreich.org 70 i- n="$(git show "$commit:$memefile" 2>/dev/null | wc -l)" Err bitreich.org 70 i- fi Err bitreich.org 70 i- Err bitreich.org 70 i- if [ "$n" -gt 1 ]; then Err bitreich.org 70 i- printf '%s\t%s\t%s\n' "$date" "$commit" "$n" Err bitreich.org 70 i- fi Err bitreich.org 70 i-done > "$statfile" Err bitreich.org 70 i- Err bitreich.org 70 i-[ "$1" = "semilog" ] && semilog="set log y" Err bitreich.org 70 i+[ "$2" = "semilog" ] && semilog="set log y" Err bitreich.org 70 i Err bitreich.org 70 i gnuplot - <<__EOF__ Err bitreich.org 70 i set term dumb Err bitreich.org 70 .