
Introduction
Welcome to Pippimβs website powered by GitHub.
Tim-ta lets you create and run timers for:
β β β Doing Laundry
β β β Cooking Food
β β β Working Out
β β β Limiting Computer time
Pick from stock alarm sounds or upload your own alarm sounds. Backup your Tim-ta projects and transfer them to other browsers, other devices or other users. Import projects from other Users or Devices.
Hyperlink Recipe Baker is an invaluable tool for those who write articles about the internet, technical documents or sales literature that reference other articles.
Convert your popular Stack Exchange Posts to your own website with additional features like; Table of Contents, Section Navigation buttons, Copy code blocks to clipboard and Show summary statistics. You can see the results by clicking the β Answers button above.
A different kind of site search engine greets you. Others operate at an average speed of 2.5 MB/s (Megabytes per second) over the internet. This one runs at the speed of RAM; about 19,200 MB/s!
There are no ads on Pippim. You canβt buy Pippim a coffee. No third party websites are used to deliver Pippim website content. It is impossible for Pippim to collect your data and store it on the Pippim website because it is hosted by GitHub.
Navigation Buttons
This section discusses the Page Navigation Buttons that appear on the top of each page. Then we will discuss the Section Navigation Buttons that can appear at the top of major sections.
Page Navigation Buttons
The top of each page contains a search bar and navigation buttons to take you to other pages:
-
β Home brings you to this page.
-
β About discusses everything you want to know about Pippim. Still have questions? Just email.
-
β Answers to questions people have using computers. As of April 23, 2023, Pippim answers have over 61.9 million views!
-
π» Programs are applications Pippim created to make your life easier.
-
π§ Email lets you send an email to Pippim.
Section Navigation Buttons
The top of major sections contain navigation buttons to take you to other sections:
-
Top - Displays the top of the page
-
ToS - Displays the top of the previous section
-
ToC - Displays the Table of Contents
-
Skip - Skips the section and displays the next section
Get in Touch
There are many ways to contact Pippim. The conventional way is via email. Another way is commenting on Stack Exchange Posts or GitHub Repos.
The Conventional Way of Getting in Touch
Get in touch with Pippim by sending an email.
Leave a Comment / Question at The Source
Leaving a comment or question at the source such as Stack Exchange answer or GitHub Repo saves you from specifying what your communication is referring to.
Stack Exchange Answers (Ask Ubuntu)
You can leave a comment or question where the Stack Exchange
answer appears. Each answer on this website here has a direct
link to the original answer on Stack Exchange.
GitHub Repos
For Pippim programs on GitHub Repos, you can go directly
to the repository and post a new issue. Issues can be bug reports,
questions, requests for new features or enhancements to existing
functions.

Cookies
There is one cookie used on the Pippim website. It remembers the status of the βMoreβ or βLessβ button for blog posts. You can disable the cookie using links below.
Disable Cookies in Chrome
Clear, enable, and manage cookies in Chrome π
Disable Cookies in Firefox
Block websites from storing cookies in Firefox π
To protect your More/Less cookie setting (not that it would
do a spy any good), SameSite
policy is set to βStrictβ so
you know no one else can read it. Also it is stored on your
local browser and not sent to any file server or the cloud.
You can view this in the file assets/js/post_fm.js
:
document.cookie = cname + "=" + value + ";" + expires + ";path=/" +
";SameSite=Strict";
The above is code from line 9 of the file.
The same code can be found in /assets/js/theCookieJar.js
. Here
a cookie is created to remember the Cookie Machine buttonβs
visibility on all pages.

GitHub Pages
The Pippim website is hosted on GitHub Pages.
You can download (or simply view) the Pippim
website markdown files. For example, index.md
is the markdown
file for the page you are reading now and available
here π.
Get your own website up and running in a weekend by picking from a collection of website designs called themes. Then type your information into markdown files.
GitHub Pages is free. Change your website from a MAC, a PC running Windows or Linux, and even a smart phone.
TL;DR
βTL;DRβ stands for βToo Long, Didnβt Readβ. So unless you are truly interested in the technology of websites and how this website in particular was created, you will probably want to stop reading the rest of this page.
Whenever you commit to a website repository, GitHub Pages will run Jekyll π to rebuild the pages in your site, from the content in your Markdown files.
The Pippim website is based on the GitHub Pages Jekyll theme called Cayman π. Initial setup was straight forward and very quick. However adding custom buttons becomes more complicated as you need to learn HTML π and Sass/SCSS π.
Markdown
GitHub Pages and many other websites use a language called Markdown. Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for:
Syntax highlighted code block
# Header 1
## Header 2
### Header 3
- Bulleted
- List
1. Numbered
2. List
**Bold** and _Italic_ and `Code` text
[Link](url) and 
For more details see GitHub Flavored Markdown π.
How the Table of Contents is Generated
All markdown headers with #
, ##
and ###
, etc. are used to create the Table of Contents (TOC). A little bit of one-time prep work is required for TOC support. For example, the file _sass/toc.scss
is setup with:
.screen-reader-only {
position: absolute;
left: -5000px;
&:focus {
left: 0;
}
}
Another one-time setup is the file _includes/toc.md
containing the markdown for how the TOC looks and functions. This file contains:
## Table of Contents
{:.no_toc}
* TOC
{:toc}
To get a Table of Contents (TOC) in any website page, insert a
liquid tag where you want the TOC to appear. For example on this
page you are reading, index.md
, is the following markdown code:
... you are reading, `index.md`, is the following markdown code:
{% include toc.md %}
<a id="hdr6"></a>
<div class="hdr-bar"> <a href="#" class="hdr-btn">Top</a> ... </div>
The TOC command is used in real markdown below and generates the actual TOC:
Table of Contents

Jekyll Themes
There are many GitHub Pages Jekyll Themes π you can pick from for your website. Spend some time reviewing your options before committing to one.
Initially the Pippim website used the Cayman Theme for a day. Then the Merlot Theme was used for a week and, then it came back full circle to the Cayman Theme again.
At first the Cayman Theme didnβt display the page title properly π. Consequently, the Merlot theme was used. However, problems arose with the Merlot banner on the left not rendering properly on small screens. So it was back to Cayman and after changing the theme, the page title worked properly. New problems arose with the page buttons, Home, About, etc. With trial and error however those problems were solved too.
This is the first website Pippim created. The somewhat naive initial estimate was it would take a weekend to create. That estimate was back on October 16, 2021 and today is January 9 2022. The moral of the story is: βIt may take longer than expected to set up your first website but, donβt give up.β β You can do it! π
Your GitHub Pages site will use the layout and styles from the Jekyll
theme you have selected in your
repository settings π.
The name of this theme is saved in the Jekyll _config.yml
configuration file.
GitHub Pages maintains a real-time listing of version numbers π for Jekyll, Sass, kramdown, Rouge, etc..
There are many open-source providers involved in the Pippim website:
- GitHub Pages - Websites for you and your projects. π
- Jekyll - Transform your plain text into static websites and blogs. π
- Liquid - Jekyll uses the Liquid templating language to process templates. π
- Sass - Sass: Syntactically Awesome Style Sheets π
- Cayman Theme - Cayman is a Jekyll theme for GitHub Pages. π
- Ruby - dynamic, open source programming language π
- Rouge - language syntax highlighting π
- kramdown - converting a superset of Markdown π
Images, Javascript, CSS and HTML
It is important to follow these instructions to setup your site:
Adding a theme to your GitHub Pages site using Jekyll π.
For example, _layouts/default.html
probably needs to be copied from the
theme website to your own website in order to make significant changes.
There are many file types in the Pippim website stored at various locations:
- A few local images are stored in
assets/img/
directory. The hundreds of images in blog posts come directly from Stack Exchange and are not stored on thepippim.github.io
website. - SCSS and Sass CSS π files are mostly stored in the
assets/css/
directory. Some are stored in the_sass/
directory. The_sass/
directory has files you canβt see inpippim.github.io
because they are really stored in the Cayman Theme for Jekyll and automatically pulled from there whenever website is rendered. - This β Home page is stored in
index.md
file in the root directory (/
). - The β About page is stored in
about.md
in/
. - The β
Answers page is stored in
answers.md
in/
. Individual answers are internally known as βblog postsβ and are stored in the_posts
directory with one file per answer. - The π» Programs page is stored in
programs.md
in/
. - HTML encoding can be found in any file. Small bits and pieces of HTML can beven be found in and markdown files which end in
.md
. Pure HTML files (with no markdown or CSS) can be found in the_includes
directory. - Javascript files are kept in
assets/js/
.
Pippim Website Directory Tree
The directory tree will help you get a better understanding
of the Pippim website at pippim.github.io
. As of
April 23, 2023, the directory tree
for Pippim on GitHub Pages looked like this:
βββ assets
βΒ Β βββ css
βΒ Β βΒ Β βββ style.scss
βΒ Β βββ img [22 entries exceeds filelimit, not opening dir]
βΒ Β βββ js
βΒ Β βΒ Β βββ hrb.js
βΒ Β βΒ Β βββ hyperlinkRecipe.js
βΒ Β βΒ Β βββ post_fm.js
βΒ Β βΒ Β βββ search.js
βΒ Β βΒ Β βββ setRootColors.js
βΒ Β βΒ Β βββ sound.js
βΒ Β βΒ Β βββ theCookieJar.js
βΒ Β βΒ Β βββ theCookieMachine.js
βΒ Β βΒ Β βββ tim-ta.js
βΒ Β βββ json
βΒ Β βΒ Β βββ search_exclude.json
βΒ Β βΒ Β βββ search_url.json
βΒ Β βΒ Β βββ search_words.json
βΒ Β βΒ Β βββ website_tree.json
βΒ Β βββ sound
βΒ Β βββ Alarm_01.mp3
βΒ Β βββ Alarm_02.mp3
βΒ Β βββ Alarm_03.mp3
βΒ Β βββ mixkit-alarm-clock-beep-988.mp3
βΒ Β βββ mixkit-alarm-digital-clock-beep-989.mp3
βΒ Β βββ mixkit-alert-alarm-1005.mp3
βΒ Β βββ mixkit-critical-alarm-1004.mp3
βΒ Β βββ mixkit-game-notification-wave-alarm-987.mp3
βΒ Β βββ mixkit-rooster-crowing-in-the-morning-2462.mp3
βΒ Β βββ mixkit-security-facility-breach-alarm-994.mp3
βΒ Β βββ mixkit-short-rooster-crowing-2470.mp3
βΒ Β βββ mixkit-slot-machine-win-alarm-1995.mp3
βΒ Β βββ mixkit-street-public-alarm-997.mp3
βββ _includes
βΒ Β βββ draggable-window.js
βΒ Β βββ getRootColors.js
βΒ Β βββ head-custom.html
βΒ Β βββ image.html
βΒ Β βββ posts_by_tag.html
βΒ Β βββ posts_by_vote.html
βΒ Β βββ search.html
βΒ Β βββ tcm-common-code.js
βΒ Β βββ tcm-draggable-window.html
βΒ Β βββ test.html
βΒ Β βββ timne-ta-storage.1.0.js
βΒ Β βββ tim-ta-storage.js
βΒ Β βββ toc.md
βΒ Β βββ website_tree.html
βΒ Β βββ website_tree.txt
βββ _layouts
βΒ Β βββ default.html
βΒ Β βββ hrb.html
βΒ Β βββ page.html
βΒ Β βββ post.html
βΒ Β βββ program.html
βΒ Β βββ test.html
βββ _posts
βΒ Β βββ 2016 [179 entries exceeds filelimit, not opening dir]
βΒ Β βββ 2017 [156 entries exceeds filelimit, not opening dir]
βΒ Β βββ 2018 [443 entries exceeds filelimit, not opening dir]
βΒ Β βββ 2019 [278 entries exceeds filelimit, not opening dir]
βΒ Β βββ 2020 [65 entries exceeds filelimit, not opening dir]
βΒ Β βββ 2021 [33 entries exceeds filelimit, not opening dir]
βΒ Β βββ 2022
βΒ Β βββ 2022-01-05-How-to-print-out-status-bar-and-percentage_.md
βΒ Β βββ 2022-01-05-Python-to-print-out-status-bar-and-percentage.md
βΒ Β βββ 2022-02-12-How-to-change-_lsblk_-sort-order_.md
βΒ Β βββ 2022-02-18-Convert-Stack-Exchange-posts-to-your-own-website.md
βΒ Β βββ 2022-02-18-Unable-to-lock-screen-with-Cron-or-Settings.md
βΒ Β βββ 2022-02-23-Frequent-switches-between-Ethernet-and-Wifi.md
βΒ Β βββ 2022-02-24-stdin_-invalid-argument.md
βΒ Β βββ 2022-03-09-SyntaxError_-__-string-literal-contains-an-unescaped-line-break.md
βΒ Β βββ 2022-03-13-Temporarily-disable-distracting-software.md
βΒ Β βββ 2022-03-14-How-to-adjust-Trackpad-_Tap-Sensitivity_-without-adjusting-mouse-speed.md
βΒ Β βββ 2022-03-20-Ubuntu-can_t-find-Wifi-Driver-on-Maestro-Laptop.md
βΒ Β βββ 2022-04-13-How-does-Ubuntu-handle-addition-of-RAM_.md
βΒ Β βββ 2022-06-12-How-to-kill-a-program-after-it_s-executed-from-a-script_.md
βββ programs
βΒ Β βββ hyperlink.md
βΒ Β βββ iothings.md
βΒ Β βββ mserve.md
βΒ Β βββ mt.md
βΒ Β βββ programs.md
βΒ Β βββ stack.md
βΒ Β βββ tcm.md
βΒ Β βββ tim-ta.md
βββ _sass
βΒ Β βββ jekyll-theme-cayman.scss
βΒ Β βββ normalize.scss
βΒ Β βββ rouge-github-monokai-sublime.scss
βΒ Β βββ rouge-github-original.scss
βΒ Β βββ rouge-github.scss
βΒ Β βββ rouge-github-virtua-creative.scss
βΒ Β βββ toc.scss
βββ sede
βΒ Β βββ check-html-ids.py
βΒ Β βββ refresh.sh
βΒ Β βββ rouge_languages.txt
βΒ Β βββ StackQuery
βΒ Β βββ stack-to-blog.py
βΒ Β βββ website_search.py
βββ about.md
βββ answers.md
βββ CNAME
βββ _config.yml
βββ favicon.png
βββ hrb.md
βββ index.md
βββ LICENSE
βββ programs.md
βββ style.scss
βββ test.md
19 directories, 93 files
NOTE: The _posts
directory contains 1,164β
posts
which are not displayed above.
Daily Backup
Normally you will git pull
all the directories and files from your website
to your local drive. If you plan on developing locally, you probably want
to save your daily work. This script is what Pippim uses for
daily backup to gmail.com (in the cloud, so it should be safe):
# WEBSITE - Local copies of files on pippim.github.io (EXCLUDES /assets/css/img)
tar -rpf "$Filename" website/*.md # about.md, answers.md, programs.md
tar -rpf "$Filename" website/*.yml # _config.yml
tar -rpf "$Filename" website/_includes # copyHeader.html, image.html & toc.md
tar -rpf "$Filename" website/_layouts # default.html & post.html
tar -rpf "$Filename" website/_plugins # insert_git_code.rb (NOT supported)
tar -rpf "$Filename" website/_sass # jekyll-theme-cayman.scss & toc.scss
tar -rpf "$Filename" website/assets/css # style.scss file
tar -rpf "$Filename" website/assets/js # javascript files
tar -rpf "$Filename" website/sede/*.sh # refresh GitHub Pages each week
tar -rpf "$Filename" website/sede/*.py # stack-to-blog.py and SEDE query below
tar -rpf "$Filename" website/sede/StackQuery
IMPORTANT NOTE:
Images are NOT included in the daily backup. This is because this is a small subset of my daily backup script that is called from
cron
every morning.The full script compresses files and emails to gmail.com. Including images would make the backup exceed Google quotas of 20 MB per backup and 15 GB for all backups.
If you want to include images in your own backup, add the following to the daily backup script:
tar -rpf "$Filename" website/assets/img # Image files
Convert Stack Exchange to GitHub Pages

Converting thousands of Stack Exchange Q&A in MarkDown format isnβt as easy
as simply copying them over to GitHub Pages. The python program
stack-to-blog.py
was used to convert Stack Exchange posts to
GitHub Pages Posts.
The complete stack-to-blog.py
program can be accessed on the
Pippim Website repo π.
The FULL DOCUMENTATION to Convert Stack Exchange Posts to Your Own Website
for stack-to-blog.py
used to create
the posts on this Pippim website will help you create your own website.