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