iCalculate and plot meme production rate - 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 f80a953430c2244a2c307a6424d1921ad9509644 /scm/bitreich-memestats/commit/f80a953430c2244a2c307a6424d1921ad9509644.gph bitreich.org 70
1parent 5bfeec49a9374801c59c6f8d46c423d7d019e806 /scm/bitreich-memestats/commit/5bfeec49a9374801c59c6f8d46c423d7d019e806.gph bitreich.org 70
hAuthor: Anders Damsgaard <anders@adamsgaard.dk> URL:mailto:anders@adamsgaard.dk bitreich.org 70
iDate: Tue, 21 Apr 2020 22:54:13 +0200 Err bitreich.org 70
i Err bitreich.org 70
iCalculate and plot meme production rate Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M extract-memecount.sh | 30 +++++++++++++++++++++++++----- Err bitreich.org 70
i M plot-memecount.sh | 17 +++++++++++++++-- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 40 insertions(+), 7 deletions(-) Err bitreich.org 70
i--- 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@@ -15,21 +15,41 @@ 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+i=0 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+git log --pretty='format:%H %cd %at' --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+ while read -r commit date timestamp; 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+ grep -E '^ #[a-z0-9]' | wc -l | awk '{print $1}')" 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+ n="$(git show "$commit:$memefile" 2>/dev/null | wc -l | awk '{print $1}')" 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+ Err bitreich.org 70
i+ # only one row per day Err bitreich.org 70
i+ if [ "$date" != "$lastprintdate" ]; then Err bitreich.org 70
i+ Err bitreich.org 70
i+ if [ "$i" -eq 1 ]; then Err bitreich.org 70
i+ dn_dt="$(awk \ Err bitreich.org 70
i+ -v n0="$n0" -v t0="$t0" -v n="$n" -v t="$timestamp" \ Err bitreich.org 70
i+ 'BEGIN{print (n-n0)/(t-t0)*3600.0*24.0}')" Err bitreich.org 70
i+ else Err bitreich.org 70
i+ dn_dt=0 Err bitreich.org 70
i+ i=1 Err bitreich.org 70
i+ fi Err bitreich.org 70
i+ n0="$n" Err bitreich.org 70
i+ t0="$timestamp" Err bitreich.org 70
i+ lastprintdate="$date" Err bitreich.org 70
i+ Err bitreich.org 70
i+ printf '%s\t%s\t%s\t%s\t%s\n' \ Err bitreich.org 70
i+ "$date" "$commit" "$n" "$timestamp" "$dn_dt" Err bitreich.org 70
i+ Err bitreich.org 70
i+ fi 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@@ -11,11 +11,24 @@ fi Err bitreich.org 70
i gnuplot - <<__EOF__ Err bitreich.org 70
i set term dumb Err bitreich.org 70
i set title "annna meme count (total on $(date +%Y-%m-%d): \ Err bitreich.org 70
i-$(tail -1 "$1" | awk '{print $3}')) $semilog" Err bitreich.org 70
i+$(awk 'END{print $3}' "$1")) $semilog" Err bitreich.org 70
i set xdata time Err bitreich.org 70
i set format x "%Y-%m" Err bitreich.org 70
i-set timefmt "%Y-%m-%dT%H:%M:%S" Err bitreich.org 70
i+set timefmt "%Y-%m-%d" Err bitreich.org 70
i set xtics 2592000*4 Err bitreich.org 70
i $semilog Err bitreich.org 70
i plot '$1' u 1:3 w lp t '' pt 13 Err bitreich.org 70
i __EOF__ Err bitreich.org 70
i+ Err bitreich.org 70
i+if [ -z "$semilog" ]; then Err bitreich.org 70
i+ gnuplot - <<__EOF__ Err bitreich.org 70
i+reset Err bitreich.org 70
i+set term dumb Err bitreich.org 70
i+set title "annna meme growth (new memes per day)" Err bitreich.org 70
i+set xdata time Err bitreich.org 70
i+set format x "%Y-%m" Err bitreich.org 70
i+#set timefmt "%Y-%m-%d" Err bitreich.org 70
i+set xtics 2592000*4 Err bitreich.org 70
i+plot '$1' u 1:5 w lp t '' pt 13 Err bitreich.org 70
i+__EOF__ Err bitreich.org 70
i+fi Err bitreich.org 70
.
Response:
text/plain