oops missing
authorChris Koeritz <fred@gruntose.com>
Thu, 2 Feb 2017 06:51:38 +0000 (01:51 -0500)
committerChris Koeritz <fred@gruntose.com>
Thu, 2 Feb 2017 06:51:38 +0000 (01:51 -0500)
hadn't automatically added everything since new here on the branch.  now have new folder in place.

scripts/info_mgt/create_marks.sh [new file with mode: 0644]
scripts/info_mgt/info_overload_report.sh [new file with mode: 0644]

diff --git a/scripts/info_mgt/create_marks.sh b/scripts/info_mgt/create_marks.sh
new file mode 100644 (file)
index 0000000..ab9f266
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+# this script rebuilds the bookmarks files.  it requires the variables:
+#     WEBBED_SITES: points at the root of the web hierarchy.
+
+export GRUNTOSE_DIR=$WEBBED_SITES/gruntose.com
+
+rootname=$HOME/generated
+suffix=.html
+norm_add=_marks
+js_add=_js_tree_marks
+moz_add=_moz_bookmarks
+
+newmarx=${rootname}_links.csv 
+genlinx=$rootname$norm_add$suffix
+genlinx_js=$rootname$js_add$suffix
+genlinx_moz=$rootname$moz_add$suffix
+
+if [ -f $genlinx ]; then rm $genlinx; fi
+if [ -f $newmarx ]; then rm $newmarx; fi
+if [ -f $genlinx_js ]; then rm $genlinx_js; fi
+if [ -f $genlinx_moz ]; then rm $genlinx_moz; fi
+
+$RUNTIME_PATH/binaries/marks_sorter -i $GRUNTOSE_DIR/Info/Twain/links_db.csv -o $newmarx
+if [ $? != 0 ]; then
+  echo error during sorting of the bookmarks.
+  exit 1
+fi
+
+$RUNTIME_PATH/binaries/marks_maker -i $GRUNTOSE_DIR/Info/Twain/links_db.csv -t $GRUNTOSE_DIR/Info/Twain/marks_template.html -o $genlinx -s human
+if [ $? != 0 ]; then
+  echo error during creation of the normal web page of bookmarks.
+  exit 1
+fi
+
+$RUNTIME_PATH/binaries/marks_maker -i $GRUNTOSE_DIR/Info/Twain/links_db.csv -t $GRUNTOSE_DIR/Info/Twain/marks_template.html -o $genlinx_moz -s mozilla
+if [ $? != 0 ]; then
+  echo error during creation of the mozilla format page of bookmarks.
+  exit 1
+fi
+
+$RUNTIME_PATH/binaries/js_marks_maker -i $GRUNTOSE_DIR/Info/Twain/links_db.csv -t $GRUNTOSE_DIR/Info/Twain/js_template.html -o $genlinx_js
+if [ $? != 0 ]; then
+  echo error during creation of the javascript bookmark page.
+  exit 1
+fi
+
+\mv -f $genlinx $genlinx_moz $genlinx_js $GRUNTOSE_DIR/Info/Twain
+\mv -f $newmarx $TMP
+
diff --git a/scripts/info_mgt/info_overload_report.sh b/scripts/info_mgt/info_overload_report.sh
new file mode 100644 (file)
index 0000000..3809113
--- /dev/null
@@ -0,0 +1,147 @@
+
+# these metrics are how bogged down we are in to-do type items.
+
+REPORT_FILE="$HOME/cloud/fred_stats/overload_history.txt"
+
+# given a path, this will find how many items are under it, ignoring svn and git files, plus
+# other patterns we happen to notice are not useful.
+function calculate_count()
+{
+  local dir="$1"; shift
+  local count=$(find "$dir" -type f -exec echo \"{}\" ';' 2>/dev/null |  grep -v "\.svn" | grep -v "\.git"| grep -v "\.basket" | grep -v "\.version" | grep -v "\.keep" | wc -l | tr -d ' ')
+  if [ -z "$count" ]; then echo 0; else echo "$count"; fi
+}
+
+# calculates the size in kilobytes of all the note files in a hierarchy.
+# this is just a raw statistic for how much content all those notes make up.  since
+# we have not separated out all the to-dos in some files (most notably the metaverse
+# backlogs and to-do lists), it's good to also know what kind of girth the notes have.
+function calculate_weight()
+{
+  local dir="$1"; shift
+  local weight=$(find "$dir" -type f -exec echo \"{}\" ';' 2>/dev/null | grep -v "\.svn" | grep -v "\.git"| grep -v "\.basket" | grep -v "\.version" | grep -v "\.keep" | xargs ls -al | awk '{ print $5 }' | paste -sd+ | bc 2>/dev/null)
+  if [ -z "$weight" ]; then echo 0; else echo "$weight"; fi
+}
+
+# calculate_complexity gets a very simple metric of how many directory components are
+# present at the target location and below.
+function calculate_complexity()
+{
+  local dir="$1"; shift
+  local complexity=$(find "$dir" -type d | wc -l)
+  if [ -z "$complexity" ]; then echo 0; else echo "$complexity"; fi
+}
+
+# produces a report line in our format.
+function format_report_line()
+{
+  local count="$1"; shift
+  local weight="$1"; shift
+  weight=$((weight / 1024))
+  local complexity="$1"; shift
+  echo "$count\t${complexity}\t\t${weight}\t\t$*\n"
+}
+
+# two parameters are needed: the directory to sum up and the label to use for it in the report.
+# this will calculate the count and weight for a hierarchy of notes, and then produce a
+# line of reporting for those.
+function analyze_hierarchy_and_report()
+{
+  local dir="$1"; shift
+  local label="$1"; shift
+  local count=$(calculate_count "$dir")
+  total_overload=$(($count + $total_overload))
+  local weight=$(calculate_weight "$dir")
+  total_weight=$(($total_weight + $weight))
+  local complexity=$(calculate_complexity "$dir")
+  total_complexity=$(($total_complexity + $complexity))
+  full_report+=$(format_report_line "$count" "$weight" "$complexity" "$label")
+}
+
+# scans through items in the notes folder that begin with a pattern.
+# each of those is treated as an aggregable portion of the report.
+# first parameter is the title in the report, second and so on are
+# a list of directory patterns to scan and aggregate.
+function analyze_by_dir_patterns()
+{
+  local title="$1"; shift
+  local hier_count=0
+  local hier_weight=0
+  local hier_complexity=0
+  for folder in $@; do
+    temp_count=$(calculate_count $folder)
+    hier_count=$(($hier_count + $temp_count))
+    temp_weight=$(calculate_weight $folder)
+    hier_weight=$(($hier_weight + $temp_weight))
+    temp_complexity=$(calculate_complexity $folder)
+    hier_complexity=$(($hier_complexity + $temp_complexity))
+  done
+  total_overload=$(($hier_count + $total_overload))
+  total_weight=$(($total_weight + $hier_weight))
+  total_complexity=$(($total_complexity + $hier_complexity))
+  full_report+=$(format_report_line "$hier_count" "$hier_weight" "$hier_complexity" "$title")
+}
+
+##############
+
+# reset these before we add anything...
+total_overload=0
+total_weight=0
+
+# start out the report with a header.
+full_report="\
+\n\
+current information overload consists of:\n\
+\n\
+"
+full_report+="count\tcomplexity\tweight (kb)\tcategory\n\
+================================================================\n\
+"
+
+analyze_hierarchy_and_report ~/cloud/urgent "high priority"
+
+# notes are individual files of tasks, usually, although some are combined.
+analyze_hierarchy_and_report ~/cloud/grunty_notes "grunty notes (external facing things?)"
+
+# feisty notes are about feisty meow(r) concerns ltd codebase development.
+analyze_hierarchy_and_report ~/cloud/feisty_notes "feisty meow notes (code related)"
+
+# home notes are a new top-level category; used to be under the grunty.
+analyze_hierarchy_and_report ~/cloud/branch_road "hearth and home notes (branch road, yo!)"
+
+# games and fun stuff.  not sure why these count as backlog, but whatever.
+analyze_hierarchy_and_report ~/cloud/games_yo "games, yo!"
+
+# some source code that needs to be sucked into other places, other codebases.  they are not
+# supposed to pile up here.  but they have, so we track them.
+analyze_hierarchy_and_report ~/cloud/scavenging_source "source scavenging"
+
+# and then count up the things that we think will be cleaned soon, but one thing we have learned
+# unsorted files haven't been categorized yet.
+analyze_hierarchy_and_report ~/cloud/disordered "unsorted files"
+
+# we now consider the backlog of things to read to be a relevant fact.  this is going to hose
+# up our weight accounting considerably.
+analyze_hierarchy_and_report ~/cloud/reading "reading list"
+
+# scan all the items declared as active projects.
+analyze_by_dir_patterns "active items" ~/cloud/active*
+
+# scan across all appropriately named project or research folders that live in the "cloud".
+analyze_by_dir_patterns "project files" ~/cloud/project* ~/cloud/research*
+
+# snag any work related items for that category.
+analyze_by_dir_patterns "job and work tasks" ~/cloud/job* 
+
+# scan all the trivial project folders.
+analyze_by_dir_patterns "trivial items" ~/cloud/trivia*
+
+full_report+="================================================================\n\
+"
+full_report+="$(format_report_line "$total_overload" "$total_weight" "$total_complexity" "total overload")"
+full_report+="\n\
+[gathered on $(date)]\n\n\
+##############"
+
+echo -e "$full_report" | tee -a "$REPORT_FILE"
+