<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>teaching strategies | Thought splinters</title>
    <link>https://notes.peter-baumgartner.net/category/teaching-strategies/</link>
      <atom:link href="https://notes.peter-baumgartner.net/category/teaching-strategies/index.xml" rel="self" type="application/rss+xml" />
    <description>teaching strategies</description>
    <generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><copyright>CC BY-SA 4.0</copyright><lastBuildDate>Sun, 01 Aug 2021 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://notes.peter-baumgartner.net/media/icon_huab1e86cf5cbc1139acf672dc60b9d7d0_5213_512x512_fill_lanczos_center_2.png</url>
      <title>teaching strategies</title>
      <link>https://notes.peter-baumgartner.net/category/teaching-strategies/</link>
    </image>
    
    <item>
      <title>Using GitHub as a Mentoring Tool</title>
      <link>https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/</link>
      <pubDate>Sun, 01 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/</guid>
      <description>&lt;script src=&#34;https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/index.en_files/kePrint/kePrint.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/index.en_files/lightable/lightable.css&#34; rel=&#34;stylesheet&#34; /&gt;



&lt;h2 id=&#34;beginner-intermediate-and-expert-level&#34;&gt;Beginner, Intermediate, and Expert Level&lt;a href=&#34;#beginner-intermediate-and-expert-level&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For several years I am interested to learn &lt;a href=&#34;https://www.r-project.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R&lt;/a&gt;, the free software environment for statistical computing and graphics. After&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reading several books,&lt;/li&gt;
&lt;li&gt;finished some (paid) introductory (MOOC) courses successfully with Coursera&lt;/li&gt;
&lt;li&gt;and especially some smaller (paid) projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I would say that I am now (stuck?) on an intermediate skill level. I believe that this is the most challenging step in progressing to an expert for a self-determined learner. There are always so many different avenues to follow up. This is especially true with R and its&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ever increasing amount of new R packages (To date: 20010 (&lt;a href=&#34;https://mran.revolutionanalytics.com/packages&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MRAN&lt;/a&gt;) resp. 17954 (&lt;a href=&#34;https://cran.r-project.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&lt;/a&gt;), 3452 (&lt;a href=&#34;https://bioconductor.org/packages/release/BiocViews.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bioconductor&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;hundreds of books (see: the &lt;a href=&#34;https://www.r-project.org/doc/bib/R-jabref.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;searchable list on r-project.org&lt;/a&gt;, a &lt;a href=&#34;https://github.com/RomanTsegelskyi/rbooks&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;curated list on GitHub&lt;/a&gt; by Roman Tselgelskyi, but also my &lt;a href=&#34;https://wakelet.com/wake/d9cea021-06a5-406b-9b12-e7efd97ad144&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wakelet on free R Books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;an unknown number of (free) online tutorials (see the &lt;a href=&#34;https://pairach.com/2012/06/17/r_tutorials_non-uni/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;general list&lt;/a&gt; and &lt;a href=&#34;https://pairach.com/2012/06/17/r_tutorials_non-uni/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;university listed&lt;/a&gt; free R tutorials by Pairach Piboonrungroj and my &lt;a href=&#34;https://wakelet.com/wake/83de9b9e-63d6-46a2-a30e-3f4bec621ce2&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wakelet on learn R programming&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comparing my skill level with the three learner paths suggested by RStudio Education, I could affirm my personal assessment. From the six tasks proposals on the intermediate path&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;grab some &lt;a href=&#34;https://www.rstudio.com/resources/cheatsheets/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R cheat sheets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;learn to get help (see, for instance, my activities on &lt;a href=&#34;https://stackoverflow.com/users/7322615/petzi&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;improve your visualizations&lt;/li&gt;
&lt;li&gt;develop interactive applications with &lt;a href=&#34;https://www.htmlwidgets.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;htmlwidgets&lt;/a&gt; and &lt;a href=&#34;https://shiny.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shiny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;simplify your model explorations with &lt;a href=&#34;https://www.tidymodels.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;explore other specialized packages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have some skills with the first three, and I also experimented already with Shiny. I even had worked on some steps at the expert levels by writing an R package: (&lt;a href=&#34;https://github.com/petzi53/bib2academic&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bib2academic&lt;/a&gt; got 16 stars, but I did not manage to submit it to &lt;a href=&#34;https://cran.r-project.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&lt;/a&gt;. It is now obsolete as a similar function was integrated into the Academic Hugo website (now &lt;a href=&#34;https://wowchemy.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wowchemy&lt;/a&gt; website builder).&lt;/p&gt;



&lt;h2 id=&#34;project-for-motivation-necessary&#34;&gt;Project for Motivation Necessary&lt;a href=&#34;#project-for-motivation-necessary&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;But to continue this path, I would need some strong motivation. I tried, for instance, to read the (not yet finished) book &lt;a href=&#34;https://mastering-shiny.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mastering Shiny&lt;/a&gt;. As with all books and papers by Hadley Wickham, it is well written and exciting. But to learn continuously, I would need a practical project where I get not only real-world challenges but also a strong personal motivation to complete the product. In finishing the project/product, I would have to learn to overcome several real-world challenges where I would need to look for help and consult/experiment with several new functions or packages.&lt;/p&gt;
&lt;p&gt;But this strategy has two advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is very laborious as the specific questions are not (yet) clear enough. Fora like &lt;a href=&#34;https://stackoverflow.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt; are not suitable as the problem space is not delimited, a concrete coding question with a &lt;a href=&#34;https://community.rstudio.com/t/faq-whats-a-reproducible-example-reprex-and-how-do-i-create-one/5219&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;REPREX&lt;/a&gt; (REPRoducible EXamples) is not available.&lt;/li&gt;
&lt;li&gt;It is error-prone and not efficient. Am I posing the right question? Do I look at the right places? It is not guaranteed that one finds the optimal solution. This is particularly awkward if the answer in the R community is very well known.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id=&#34;looking-for-a-human-mentor&#34;&gt;Looking for a Human Mentor&lt;a href=&#34;#looking-for-a-human-mentor&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I believe with a mentor, one could overcome these insecurities fast. The mentor — an experienced user — could ask questions to narrow the search space and point out helpful hints about what and where to look. Wikipedia, for instance, has established a similar program for their user community called Adopt-a-user.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Adopt-a-user program is designed to help new and inexperienced users by pairing them with more experienced Wikipedians. These editors (referred to as adopters or mentors) will “adopt” newer users, guiding them along the way as they learn about Wikipedia and its various aspects. (&lt;a href=&#34;https://en.wikipedia.org/wiki/Wikipedia:Adopt-a-user&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikipedia&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In Wikipedia, the intention is to help &lt;em&gt;novice&lt;/em&gt; contributors get orientation and some guided practice with the very complex rule set for writing or changing Wikipedia entries. My thought is to find a mentor to advance at the intermediate level. I think there is plenty of material for the R beginners freely available. But more important: You will learn R from scratch as an individual and do not need to worry at the beginning stage about an already developed complex rule which you have to observe and follow.&lt;/p&gt;
&lt;p&gt;As far as I know, there is no mentor program for R users. The next best alternative is a more open and friendly community. An excellent example, in my opinion, would be the &lt;a href=&#34;https://community.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio Community&lt;/a&gt;. But even there, you should have a concrete question to ask.&lt;/p&gt;



&lt;h2 id=&#34;github-as-a-mentoring-tool&#34;&gt;GitHub as a Mentoring Tool&lt;a href=&#34;#github-as-a-mentoring-tool&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;h3 id=&#34;an-instructive-example&#34;&gt;An instructive example&lt;a href=&#34;#an-instructive-example&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;I recently found out that GitHub could be used as an educational tool. I will you give an example which was very exciting for me:&lt;/p&gt;
&lt;p&gt;Often I was confronted with the problem of how to calculate and format nicely a contingency table in R. The free web material on the web on this question is abound (e.g., &lt;a href=&#34;https://www.datacamp.com/community/tutorials/contingency-tables-r&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Datacamp&lt;/a&gt;, &lt;a href=&#34;https://www.datasciencecentral.com/profiles/blogs/contingency-tables-in-r&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Data Science Central&lt;/a&gt;, &lt;a href=&#34;https://www.r-bloggers.com/2020/12/contingency-tables-in-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Bloggers&lt;/a&gt;, &lt;a href=&#34;https://techvidvan.com/tutorials/r-contingency-tables/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TechVidvan&lt;/a&gt;, &lt;a href=&#34;https://www.statology.org/contingency-table-in-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Statology&lt;/a&gt;, …). But many examples still teach the Base R commands. They do not mention new procedures with the &lt;a href=&#34;https://towardsdatascience.com/what-is-tidy-data-d58bb9ad2458&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidydata approach&lt;/a&gt; and related packages like &lt;a href=&#34;https://tidyr.tidyverse.org/articles/tidy-data.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidyr&lt;/a&gt;. And they do not worry about outputting the table in a publishing-ready format.&lt;/p&gt;
&lt;p&gt;There are many contingency tables published in the recently finished books &lt;a href=&#34;https://openintro-ims.netlify.app/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Introduction to Modern Statistics&lt;/a&gt;.&lt;/p&gt;
&lt;table style=&#34;width: 75%; margin-left: auto; margin-right: auto;&#34; class=&#34;table table-striped table-condensed&#34;&gt;
&lt;caption&gt;
Table 1: Descriptive statistics for the stent study.
&lt;/caption&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;empty-cells: hide;border-bottom:hidden;&#34; colspan=&#34;1&#34;&gt;
&lt;/th&gt;
&lt;th style=&#34;border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; border-bottom: 2px solid&#34; colspan=&#34;2&#34;&gt;
&lt;div style=&#34;border-bottom: 1px solid #ddd; padding-bottom: 5px; &#34;&gt;
&lt;p&gt;30 days&lt;/p&gt;
&lt;/div&gt;
&lt;/th&gt;
&lt;th style=&#34;border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; border-bottom: 2px solid&#34; colspan=&#34;2&#34;&gt;
&lt;div style=&#34;border-bottom: 1px solid #ddd; padding-bottom: 5px; &#34;&gt;
&lt;p&gt;365 days&lt;/p&gt;
&lt;/div&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left;&#34;&gt;
Group
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
Stroke
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
No event
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
Stroke
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
No event
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;border-top: 2px solid&#34;&gt;
Control
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
13
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
214
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
28
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
199
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
Treatment
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
33
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
191
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
45
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
179
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;border-top: 2px solid&#34;&gt;
Total
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
46
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
405
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
73
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
378
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I could look up the &lt;a href=&#34;https://github.com/openintrostat/ims/edit/master/01-data-hello.Rmd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;source code from lines 85-101 via GitHub&lt;/a&gt; and learn how to produce the above table. (In the following code chunk, I have focussed on the table appearance and left out different previous data transformations to prepare the two data sets &lt;a href=&#34;http://openintrostat.github.io/openintro/reference/stent30.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;stent30&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;http://openintrostat.github.io/openintro/reference/stent365.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;stent365&lt;/code&gt;&lt;/a&gt;. Furthermore, the code differs somewhat from the original due to some CSS styles of this website.).&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-markdown&#34;&gt;```{r stent-study}
suppressMessages(library(janitor))
suppressMessages(library(kableExtra))
suppressMessages(library(openintro))
suppressMessages(library(tidyverse))

stent %&amp;gt;%
  mutate(group = str_to_title(group)) %&amp;gt;%
  pivot_longer(cols = c(`30 days`, `365 days`), 
               names_to = &amp;quot;stage&amp;quot;, 
               values_to = &amp;quot;outcome&amp;quot;) %&amp;gt;%
  count(group, stage, outcome) %&amp;gt;%
  pivot_wider(names_from = c(stage, outcome), values_from = n) %&amp;gt;%
  adorn_totals(where = &amp;quot;row&amp;quot;) %&amp;gt;%
  kbl(linesep = &amp;quot;&amp;quot;, booktabs = TRUE, caption = &amp;quot;Descriptive statistics for the stent study.&amp;quot;,
      col.names = c(&amp;quot;Group&amp;quot;, &amp;quot;Stroke&amp;quot;, &amp;quot;No event&amp;quot;, &amp;quot;Stroke&amp;quot;, &amp;quot;No event&amp;quot;),
      table.attr = &amp;quot;style=&#39;width: 75%;&#39;&amp;quot;) %&amp;gt;%
  add_header_above(c(&amp;quot; &amp;quot; = 1, &amp;quot;30 days&amp;quot; = 2, &amp;quot;365 days&amp;quot; = 2), extra_css = &amp;quot;border-bottom: 2px solid&amp;quot;) %&amp;gt;%
  row_spec(1, extra_css = &amp;quot;border-top: 2px solid&amp;quot;) %&amp;gt;%
  row_spec(3, extra_css = &amp;quot;border-top: 2px solid&amp;quot;) %&amp;gt;%
  kable_styling(bootstrap_options = c(&amp;quot;striped&amp;quot;, &amp;quot;condensed&amp;quot;), 
                latex_options = c(&amp;quot;striped&amp;quot;, &amp;quot;hold_position&amp;quot;),
                full_width = T, position = &#39;center&#39;)
```
&lt;/code&gt;&lt;/pre&gt;



&lt;h3 id=&#34;lesson-learned&#34;&gt;Lesson learned&lt;a href=&#34;#lesson-learned&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Looking into the source code at GitHub, I learned several issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I experimented already with the &lt;code&gt;janitor&lt;/code&gt; package, and I am happy to get the confirmation that it is a widely used package to “provide quick counts of variable combinations (i.e., frequency tables and crosstabs)” and to “format [nicely] the tabulation results.” (From the Janitor package description.)&lt;/li&gt;
&lt;li&gt;I also did know about the &lt;code&gt;kableExtra&lt;/code&gt; package and had the &lt;code&gt;kable_styling&lt;/code&gt; function already used several times.&lt;/li&gt;
&lt;li&gt;The other &lt;code&gt;kableExtra&lt;/code&gt; functions (&lt;code&gt;add_header_above()&lt;/code&gt;, &lt;code&gt;row_spec()&lt;/code&gt;, &lt;code&gt;kbl()&lt;/code&gt;) I had not used before. Especially &lt;code&gt;add_header_above()&lt;/code&gt; has an important role for special headings in contingency tables.&lt;/li&gt;
&lt;li&gt;The parameter &lt;code&gt;extra_css&lt;/code&gt; was entirely new for me. I have never heard about it and didn’t even know that it exists.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For me, this learning experience was very instructive! I admit that this example could have been asked via a friendly forum: For instance: “How could I produce a contingency table formatted professionally for print by using the tidyverse approach?” Additionally, one would have to provide some code to show where one stands and what approach one is using.&lt;/p&gt;



&lt;h3 id=&#34;looking-experts-over-their-shoulders&#34;&gt;Looking Experts over their Shoulders&lt;a href=&#34;#looking-experts-over-their-shoulders&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;But this was just one example where I knew about the problem and had already tried several approaches to find a solution. But what about code patterns I didn’t even know and could therefore not ask the right question?&lt;/p&gt;
&lt;p&gt;Finding a GitHub project with code snippets one needs urgently is just the beginning. There is a big chance that the same repository (aka ‘repo’) hides more code snippets to learn from. And maybe the person behind this one GitHub repos maintains other repositories that are also very interesting?&lt;/p&gt;
&lt;p&gt;In my case, it turned out that &lt;a href=&#34;https://github.com/mine-cetinkaya-rundel&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mine Çetakaya-Rundel&lt;/a&gt;, one of the authors and the person responsible for the repository management, has educational approaches that are similar to mine. But she is way off more skilled in R and statistics. I am especially interested in her usage of the &lt;code&gt;learnr&lt;/code&gt; package for interactive tutorials and have watched a series of three videos on &lt;a href=&#34;https://mine-cetinkaya-rundel.github.io/teach-r-online/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Teaching Statistics and Data Science Online&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In a certain sense, she functions as a mentor for me — even if she doesn’t know about it 🥸. Meanwhile, we had some exchanges on GitHub issues as I am interested in learning how to use the &lt;code&gt;learnr&lt;/code&gt; package for introductions into statistics via R-Tutorials. Regularly if I find a problem as a user reading and following the tutorial exercises, I try to fix the code in my fork and send the &lt;a href=&#34;https://github.com/OpenIntroStat/ims-tutorials/pulls?q=is%3Apr&amp;#43;author%3A%40me&amp;#43;&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;solutions as pull requests (PR)&lt;/a&gt; to Mine. Besides learning to use GitHub in a collaborative setting, I have already profited in many ways. I learned about packages I have never heard of (see, for example, the &lt;a href=&#34;https://github.com/OpenIntroStat/ims/blob/master/_common.R&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;list of packages used for the book&lt;/a&gt;) and saw code snippets that transformed data in a much more elegant way as I used to do.&lt;/p&gt;



&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;a href=&#34;#summary&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To inspect code on GitHub is a suitable strategy for intermediate (programming) learners. I illustrated it with an R example, but I think you could generalize it as a learning strategy. I recommend the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Note names and/or repositories you learned from successful internet recherche&lt;/strong&gt;. By searching answers or asking questions via StackOverflow, you will encounter the same names, blog addresses, Twitter messages, repos again and again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Look around if these person/websites generally work on problems you are interested in&lt;/strong&gt;. Look into the profile and follow the activities of these persons on their blog, Twitter, YouTube, GitHub … accounts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decide on a person and select a specific project&lt;/strong&gt;. I recommend focusing not only on a particular person but also on picking one project to concentrate on. Ideally, it is a current project the person is still interested in and produces code you want to learn and use for your own work later on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Think about a possibility to get involved in the project&lt;/strong&gt;. The idea is to give the person and the community something back for its/their mentoring function and commit yourself to relevant real-world problems. The possibilities depend on your skills and interests. It may be advertising the project, writing a favorable review, fixing typos, commenting via the issue part of the repo, recommending code changes via PRs, or financially supporting the author(s) and/or the ongoing project.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Finally, I would like to add also a warning: “Following” a person should not develop to stalking. It is essential not to be intrusive or pushy. You will see already after a short time if the person values your contribution(s), e.g., by answering friendly or thoughtfully, accepting your PRs, etc. If you get the impression that your engagement is disruptive, then stop it immediately. Either look at the code silently without interaction or try to find another “mentor” or project to get involved.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>What is obvious, and for whom?</title>
      <link>https://notes.peter-baumgartner.net/2017/10/17/what-is-obvious-and-for-whom/</link>
      <pubDate>Tue, 17 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://notes.peter-baumgartner.net/2017/10/17/what-is-obvious-and-for-whom/</guid>
      <description>&lt;p&gt;In the last few weeks, I tried to work with &lt;a href=&#34;https://bookdown.org/yihui/bookdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bookdown&lt;/a&gt;, an R package developed by Yihui Xie. This program is/was for me much harder to understand, unlike &lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown&lt;/a&gt; by the same author. In blogdown, I could even – after some initial problems – write a tutorial which even &lt;a href=&#34;https://yihui.name/en/2017/10/bloggers-vs-book-authors/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;the developer applauded&lt;/a&gt; :sweat_smile:.&lt;/p&gt;
&lt;p&gt;But with bookdown, it was different: Not only that I misunderstood some program functions but more importantly, I could not adequately report my problems in one case, &lt;a href=&#34;https://github.com/rstudio/bookdown/issues/474&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;I did not communicate vital information&lt;/a&gt; in the other case &lt;a href=&#34;https://stackoverflow.com/questions/46742700/is-it-possible-to-change-to-documentclass-scrbook-in-bookdown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;I did not look at the right place&lt;/a&gt; where my question was explicitly addressed. It is not a surprise that Yihui Xie got angry with me and even wrote a &lt;a href=&#34;https://yihui.name/en/2017/10/not-obvious/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blog post about the incident&lt;/a&gt;. He gave me the advice:&lt;/p&gt;



&lt;h2 id=&#34;please-do-not-make-these-assumptions-when-filing-issues&#34;&gt;Please do not make these assumptions when filing issues&lt;a href=&#34;#please-do-not-make-these-assumptions-when-filing-issues&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;p&gt;Be aware: This is a somewhat theoretical/philosophical discussion.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;For me, as a professional educator, this is a fundamental question. Where to start with explanations and where to stop? Should I provide just the information to solve the problem, or should I give some background information? What kind of advice should I give to prevent similar issues in the future? These are examples of questions I have to consider as a teacher all the time. But this time, I am on the other side of this communication exchange - I am the learner and student, and I am the one who has to ask the expert.&lt;/p&gt;
&lt;p&gt;Yihui Xie is not blaming me as a user, as he wrote in his last paragraph of the mentioned blog post. You can see his positive attitude in the post on &lt;a href=&#34;https://yihui.name/en/2017/09/the-minimal-reprex-paradox/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The Minimal Reproducible Example Paradox&lt;/a&gt; where he is complaining that many users do not provide a minimal reproducible example or do not know how to produce one. He comes to a somewhat depressing conclusion:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;How many times have I reminded a user of posting a minimal, self-contained, and reproducible example (&lt;em&gt;reprex&lt;/em&gt;)? Probably 500 times. How many times do I think I will still need to remind users of this? Perhaps 5000 times.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But again: This is a typical situation we have in education as well. We are explaining the same thing over and over &lt;em&gt;but&lt;/em&gt; — to &lt;em&gt;different&lt;/em&gt; people, students, learners, classes, etc. Even if we explicitly mention common errors and misunderstandings, some learners will always commit these mistakes. When we describe operations you should &lt;em&gt;not&lt;/em&gt; undertake, you can be sure there are one or two who will follow precisely these wrong paths.&lt;/p&gt;



&lt;h2 id=&#34;tacit-knowledge-and-language-games&#34;&gt;Tacit knowledge and language games&lt;a href=&#34;#tacit-knowledge-and-language-games&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So what? Are people dumb? Do they deliberately ignore advice? I don’t think so, but instead, there is a gap which cannot be overcome only with linguistic means. It is also a question of transferring &lt;em&gt;tacit knowledge’&lt;/em&gt; to use a notion introduced by Michael Polanyi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I shall reconsider human knowledge by starting from the fact that {{&amp;lt; hl &amp;gt;}}we know more than we can tell{{&amp;lt; /hl &amp;gt;}}.(Polanyi 2009)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Many philosophers (e.g., Søren Kirkegaard, Ludwig Wittgenstein, Gregory Bateson, Susan Langer, Jürgen Habermas, Nelson Goodman, to name a few) have reflected about the limitation of linguistic expressions. Wittgenstein, for example, has pointed out that we cannot explain the meaning of every word or sentence because we have to use language with other words and sentences. It is an endless regress that we cannot solve with language alone. We have to share a common ground, and we have to know how “to play the language game.” Following some quotes to give you a flavor of the argument:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One has already to know (or be able to do) something to be capable of asking a thing’s name. But what does one have to know? (&lt;a href=&#34;http://www.postmoderntherapy.com:80/Wittgenstein/lw21-30c.htm&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Philosophical Investigations 30&lt;/a&gt;) … When one shows someone the king in chess and says: “This is the king,” this does not tell him the use of this piece-unless he already knows the rules of the game up to this last point. (&lt;a href=&#34;http://www.postmoderntherapy.com:80/Wittgenstein/lw31-38c.htm&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;31&lt;/a&gt;) … Someone coming into a strange country will sometimes learn the language of the inhabitants from ostensive definitions that they give him; and he will often have to ‘guess’ the meaning of these definitions; and will guess sometimes right, sometimes wrong. (Wittgenstein 1961)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To use a famous philosophical example (Quine 1960): If I point to a white rabbit and say in my foreign language, “Gavagai!” you have to guess the meaning. Do I say, “There is a rabbit!” or “Look at the nice white color!” So even an ostensive definition is under-determined and does not help to choose the right interpretation and to solve the ambiguity of meaning in our speech acts.&lt;/p&gt;
&lt;p&gt;One proposal which could serve as an avenue of escape for this gap or paradox is to invent a special kind of notational system. Common examples to demonstrate this strategy is chess notation or musical notation. I believe that a minimal reproductive example or to deliver the &lt;code&gt;sessionInfo()&lt;/code&gt; is also a kind of notational system. But the problem is the same: One has to learn this (new) language to use it correctly.&lt;/p&gt;



&lt;h2 id=&#34;many-different-layers&#34;&gt;Many different layers&lt;a href=&#34;#many-different-layers&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The malice of the situation is the assumption that from the fact that we are using the same (English) words and sentences that we communicate the same meaning and understand to each other. The expert believes that (s)he has expressed every necessary information and so the novice in asking a question. – And this is mostly correct – from his/her point of view or understanding.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;I have reflected why for me, using bookdown was so much more complicated than blogdown. I started several months ago with &lt;code&gt;bookdown&lt;/code&gt;, but I gave up and started another trial &lt;em&gt;after&lt;/em&gt; I had some success with &lt;code&gt;blogdown&lt;/code&gt;. This sequence seems weird as it appears that for Yihui Xie, the situation was inverse.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;I think there are different reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Blogdown was written together with &lt;a href=&#34;https://proquestionasker.github.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Amber Thomas&lt;/a&gt; and &lt;a href=&#34;https://apreshill.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Alison Presmanes Hill&lt;/a&gt;. It was an excellent inventive and successful strategy to integrate authors who can provide the perspective of the user side. In the blogdown book, there are some beneficial chapters about action strategies. They give, on the one hand, practical tips and contain, on the other hand, some (technical) simplification. We, educationalists, call this method “pedagogical reduction”). I refer to chapters like &lt;a href=&#34;https://bookdown.org/yihui/blogdown/a-quick-example.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A quick example&lt;/a&gt; or &lt;a href=&#34;https://bookdown.org/yihui/blogdown/workflow.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A recommended workflow&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The success in working with blogdown is more straight and comes in smaller bits and pieces. You write a sentence with Markdown in your blog, and you can see the result immediately. It seems - at least for laypeople like me - that in blogdown, there are not so many hidden conversion processes as this appears to be the case in bookdown. Bookdown, by definition, provides the means for cross-media publishing resulting in three different products (website, PDF, and ePub), all three with their underlying structure and rules.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;



&lt;h2 id=&#34;the-importance-of-mental-models&#34;&gt;The importance of mental models&lt;a href=&#34;#the-importance-of-mental-models&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;But there is one common point why both blogdown and bookdown are intrinsically difficult to understand for novices: Many different layers of software are working together to produce the result. I am not sure if I am even able to enumerate these different layers correctly: There is&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;the used hardware,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;the operating system,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;R with all its various packages,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;the programming and writing environment RStudio,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rmarkdown using pandoc,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;knitr,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;blogdown or bookdown,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;the used theme,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;with needs for adoption CSS knowledge,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;git and GitHub,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;and last but not least, Netlify.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these different tools work on top of each other and/or together. And all of these different levels have their complexities, laws, functions, manuals, commands, etc.&lt;/p&gt;
&lt;p&gt;As long as everything works fine, there is no need to understand the different parts and their interaction and/or synergy. But when something breaks down, then a shift of focus occurs, or as Heidegger says, the worldliness becomes obvious, changing tool usage from “ready-to-hand” to “present-at-hand”(Heidegger 2008). In “ready-to-hand” awareness, you are using tools to fulfill their purpose (to write a blog post); in a breakdown (= “ready-to-hand” awareness), you get consciousness of the complexities inside your tools machinery.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;But here comes now the problem: As users, we are only experts in “ready-to-hand” awareness, and we have no clue about the functionality inside the black box. We can only report some weird behavior about some experienced phenomenon from the “ready-to-hand” perspective. We, laypersons, have constructed a mental model about the functionality of our tools, and we are reporting about the problems with the underlying implicit assumptions of our mental model. The mental model functions as a world view: We see all the different objects, people, etc., under a particular perspective guided by our underlying tacit assumptions.&lt;/p&gt;
&lt;p&gt;After the breakdown, we should question our mental model, but this is very difficult: Our worldview has worked successfully so far. One will not change the world view with just one different fact. The same happens with scientific theories: One other point is a challenge to elaborate on the theory, improve it, and incorporate the anomaly into the argument. Maybe the problem lies in the reluctant fact itself (e.g., the software has a bug, or the author misreported the effect).&lt;/p&gt;



&lt;h2 id=&#34;lesson-learned&#34;&gt;Lesson learned&lt;a href=&#34;#lesson-learned&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So what the fuss with all these abstract ideas? Where is the practical impact of all these considerations? — I make the case in this article that we should focus separately on two different kinds of explanations:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the one hand, we users need “ready-to-hand” reasons which are easy to follow even if they are simplified and do not cover all eventualities. We need guidelines, step-by-step (video)-tutorials, etc. Are there shortcuts, tips, and rules of thumb one could follow? And we would need tons of examples! But people who provide this kind of explanation should be aware: This explanation &lt;em&gt;always&lt;/em&gt; is under-determined and cannot prevent misunderstandings. Lacking the necessary knowledge, we still have to interpret what “Gavagai!” means.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the other hand, we users need at the same time “present-to-hand” explanations to build up correct mental models of the inherent complexities and functionalities of the tools. Which software components rely on which other parts? What is the task of component X, and how is it related to the ready-to-hand functionality? But people who provide this kind of explanation should be aware: This level of explication is not a technical one, not directed to other experts. (This is another critical third level of description and documentation, one I will not cover here in this article). So we would need individual formats like diagrams of the interconnectedness and synergistic effects. The result is a kind of &lt;em&gt;multiple representations&lt;/em&gt; and would provide additional access to discover the functionality of different parts of the software machinery.&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A piece of advice like “Please do not make this assumption when filing issues.” are basic ethical guidelines but not very practical and helpful. We are &lt;em&gt;always&lt;/em&gt; using (implicit) assumptions. In stating one proposition, we rely on a set of different assumptions; otherwise, we could not use language and construct meaningful sentences. The problem is to know &lt;em&gt;what assumptions are to test and what assumptions are to rely on.&lt;/em&gt;&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There is no possibility to examine all belief systems at the same time. The whole book “On Certainty” by Ludwig Wittgenstein Wittgenstein (1975) is full of aphorisms about tacit assumptions we rely on. Our knowledge does not consist of separated propositions but is a system of interconnected views/opinions. I will close this post with some quotes by Wittgenstein to illustrate this point.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;§139. Not only rules, but also examples are needed for establishing a practice. Our rules leave loop-holes open, and the practice has to speak for itself.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;§142. It is not single axioms that strike me as obvious, it is a system in which consequences and premises give one another &lt;em&gt;mutual&lt;/em&gt; support.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;§144. The child learns to believe a host of things. I.e. it learns to act according to these beliefs. Bit by bit there forms a system of what is believed, and in that system some things stand unshakeably fast and some are more or less liable to shift. What stands fast does so, not because it is intrinsically obvious or convincing; it is instead held fast by what lies around it.&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a href=&#34;#fn:6&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://stackoverflow.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt; for instance, is very, very good for “ready-to-hand” explanations but does - as far as I know - a lousy job for building up mental models. Discussions about different but similar software packages, their advantages and disadvantages are forbidden.&lt;sup id=&#34;fnref:7&#34;&gt;&lt;a href=&#34;#fn:7&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;



&lt;h2 id=&#34;references&#34;&gt;References&lt;a href=&#34;#references&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#39;Z3988&#39; title=&#39;url_ver=Z39.88-2004&amp;amp;ctx_ver=Z39.88-2004&amp;amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;amp;rft.type=blogPost&amp;amp;rft.title=What%20is%20obvious,%20and%20for%20whom?&amp;amp;rft.source=Thought%20splinters&amp;amp;rft.rights=CC%20BY-SA%204.0&amp;amp;rft.description=Inspired%20by%20a%20blog%20post%20by%20Yihui%20Xie,%20I%20reflect%20in%20this%20post%20about%20communications%20difficulties%20between%20experts%20(e.g.,%20software%20engineers)%20and%20laypersons%20(users).%20Starting%20position%20is%20my%20fault%20in%20providing%20the%20complete%20and%20correct%20information%20when%20filing%20issues%20about%20bookdown%20and%20blogdown.%20Be%20aware:%20This%20is%20a%20somewhat%20theoretical/philosophical%20discussion.&amp;amp;rft.identifier=https%3A%2F%2Fnotes.peter-baumgartner.net%2F2017%2F10%2F17%2Fwhat-is-obvious-and-for-whom&amp;amp;rft.aufirst=Peter&amp;amp;rft.aulast=Baumgartner&amp;amp;rft.au=Peter%20Baumgartner&amp;amp;rft.date=2017-10-17&amp;amp;rft.language=en&#39;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div id=&#34;refs&#34; class=&#34;references csl-bib-body hanging-indent&#34;&gt;
&lt;div id=&#34;ref-heidegger2008&#34; class=&#34;csl-entry&#34;&gt;
&lt;p&gt;Heidegger, Martin. 2008. &lt;em&gt;Being and Time&lt;/em&gt;. Reprint. New York: Harper Perennial Modern Classics.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;ref-polanyi2009&#34; class=&#34;csl-entry&#34;&gt;
&lt;p&gt;Polanyi, Michael. 2009. &lt;em&gt;The Tacit Dimension&lt;/em&gt;. University of Chicago Press.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;ref-quine1960&#34; class=&#34;csl-entry&#34;&gt;
&lt;p&gt;Quine, Willard Van Orman. 1960. &lt;em&gt;Word and Object&lt;/em&gt;. The Mit Press.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;ref-wittgenstein1961&#34; class=&#34;csl-entry&#34;&gt;
&lt;p&gt;Wittgenstein, Ludwig. 1961. &lt;em&gt;Philosophical investigations&lt;/em&gt;. New York: Macmillan.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;ref-wittgenstein1975&#34; class=&#34;csl-entry&#34;&gt;
&lt;p&gt;———. 1975. &lt;em&gt;On Certainty&lt;/em&gt;. Revised ed. Oxford: John Wiley; Sons Ltd.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;I could tell some jokes about misunderstandings between Germans and Austrians, both using German as their native language. &lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;He said that blogdown was especially complicated to develop, but I cannot find the place at the moment to quote it correctly. &lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;For an understandable description of the philosophical concept of ‘breakdown’ read this &lt;a href=&#34;https://www.interaction-design.org/literature/book/the-glossary-of-human-computer-interaction/breakdowns&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;example on Human-Computer Interaction&lt;/a&gt; &lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;An essential step for me in understanding the complex template structure of Hugo was to write in every template the sentence: “This here is the template &lt;name of the file&gt;” and to see what happens in different situations &lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:5&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;BTW: This is the same conclusion as Yihui Xie has drawn: “To clarify, I’m not blaming this user. I can totally understand it. Many users do the same thing. The problem is that there are so many possibilities for software to screw up, so you have to describe everything clearly to eliminate as many possibilities as possible.”— So we do have the same analysis. Still, I propose (in addition to reflect and report all hidden assumptions) another new long-term strategy (namely helping to build up correct mental models about the complex software dependencies) to prevent similar faults as I have committed. &lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:6&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;To prevent a possible misunderstanding: I do not think that only or even predominantly software engineers are responsible for the two mentioned explanation levels. Their expertise is to develop programs, document them, and resolve bugs. I just want to point out that there should be more focus on these two levels and that more people should be concerned about providing information on these two levels. &lt;a href=&#34;#fnref:6&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:7&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;At least this is *my* mental model from &lt;a href=&#34;https://stackoverflow.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt; For instance, the moderator closed my question about the difference between &lt;a href=&#34;https://rstudio.github.io/packrat/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packrat&lt;/a&gt; and &lt;a href=&#34;https://cran.r-project.org/web/packages/checkpoint/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;checkpoint&lt;/a&gt; as off-topic. &lt;a href=&#34;#fnref:7&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
    </item>
    
  </channel>
</rss>
