Blog

A Star Wars Short: The Padawan Master

A Jedi master is teaching young Padawans an important lesson on the Force. Towards the end, one bored and exhausted youngling challenges the master: "I don't get it, maybe I can learn it from a real Jedi master and just not from you!" The master, smiling, asks back: "Why is that?" The youngling points to the master's Padawan braid. The master, still smiling: "Exactly, because of younglings like you, I kept wearing the braid: to remind us, that there is always something to learn about the Force, for Jedi masters and Padawans alike. Lesson's over."

May the 4th be with you!

F. Lebowitz on self-help books

"Is it a self-help book?" - "It is, it is helping myself"

Source: https://www.youtube.com/watch?v=G46BVjjkDfA&t=1774s

Rousseau in Two Sentences

Humans are as free, healthy and happy as it is possible in nature, when they focus on work a single person can handle. Unhappiness and inequality stem from society and its need to forage, own, depend, compare and compete, which promotes innate human differences (e.g. in ability, preferences, talents).

Remove snap(d)

Sometimes it may be desired to get packages from apt instead of snap, e.g. the Chromium snap doesn't have hardware acceleration for video conferences.

# Remove all snap packages
snap list
sudo snap remove --purge $SNAP_NAME

# Remove cache
sudo rm -rf /var/cache/snapd/
sudo apt autoremove --purge snapd gnome-software-plugin-snap
rm -rf ~/snap

# Block snap from auto-installing
sudo apt-mark hold snapd
sudo apt install gnome-software
Database Normalization

Discovered some old notes for software dev interview prep.: Database normalization!

Normal form Criteria
1NF only atomic attribute values
2NF all non-key attributes are functionally dependent on a key
3NF no transitive dependencies between non-key attributes
BCNF no transitive dependencies between key attributes, every determinant is key
4NF no pair-wise, independent, multi-value dependencies between attributes
5NF no JOIN-dependency

On the same prep. sheet: Knuth-Morris-Pratt algorithm (KMP) for String/Substring-Problem is in O(n + k)

Best of F-Droid: Semitone

Great little no-BS no-ads tuner app available also on F-Droid.

Ukulele tuning hack for Gen Y: G-C-E-A (Game-Cube-Electronic-Arts).

RIP Taylor Hawkins [†]

† Yesterday, Oliver Taylor Hawkins, dad and drummer of the Foo Fighters, died.

In the spirit of Jimi Hendrix ("When I die, just keep playing the records."), let's listen to their music: https://www.youtube.com/watch?v=0hu1IMp0-yY

Wabi-sabi

Japanese for acceptance of both (im-) and perfection. Kind of suprising, since the Japanese seem very perfectionist to me. I guess, wabi-sabi is to balance the strive.

Pi-hole flushdns
oz@cubus:~$ ssh pi@berry
pi@berry:~$ pihole restartdns
  [✓] Restarting DNS service

Accessing the admin UI: https://discourse.pi-hole.net/t/how-do-i-access-pi-holes-dashboard-admin-interface/3168

Grading Skills
On Mastery
Feedback Friday
2021 Leftovers
Five Phases of an Operation
  1. Target Selection
  2. Planning (and Surveillance)
  3. Deployment
  4. Execution
  5. Escape and Evasion

Source: https://grugq.github.io/blog/2013/12/21/in-search-of-opsec-magic-sauce/

BIOS Keys by Manufacturer
Manufacturer Key
Acer Esc, F2, F9, F12
Apple Option
Asus Esc
Clevo F7
Dell F12
Fujitsu Esc, F12
HP F9
Huawei F12
Intel F10
Lenovo F12
MSI F11
Samsung Esc, F2, F12
Sony Esc, F10, F11
Toshiba F12
others... Esc, F12

Source: https://tails.boum.org/install/linux/usb/index.en.html

Pulse Width Modulation (PWM) and Mobile Screens

https://www.notebookcheck.com/PWM-Ranking-Welche-Notebooks-Smartphones-und-Tablets-nutzen-PWM.163974.0.html

0 is best, meaning "no PWM". Otherwise higher frequency is better. Sensitive people may have issues with screens in the 250-500 Hz range or lower frequencies.

Time Tracking
On Fact Checks

Isn't it ironic after decades of framing and "appeal to emotion" by media and PR, those techniques are now so universally used that the same organisations losing control are urged to provide "fact checks"? 😅

Corona Sky
J. Langr on Twitter: Top IntelliJ IDEA refactoring keys

Jeff Langr:

top IntelliJ IDEA refactoring keys:

  • extract Method: Cmd-Alt-M
  • extract Variable: Cmd-Alt-V
  • iNline: Cmd-Alt-N
  • rename: Sh-F6
  • move method: F6
  • change sig: Cmd-F6

These 6 operations represent >80% of your minute-to-minute transforms. Ingrain them! (And don't forget Alt-Enter.)

Learning German Grammar by Analogy to Programming Concepts

Favorite article of the week: https://wickedchicken.github.io/post/german-for-programmers/

  • Gender of nouns -> forward error correction
  • Verb constructs -> context managers
  • Declined articles -> keyword arguments
  • Verb position -> delay slot

(originally posted on my Twitter)

E. W. Dijkstra: On the cruelty of really teaching computing science

https://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html

  • Explaining "radical novelties"
  • Motivates need for learning fundamentals
  • It's LOC spent, not LOC produced
  • It's an error, not a bug
TIL: User Story Mapping

https://manifesto.co.uk/user-story-mapping/

With the map dimensions being feature, process (user journey) and priority. Milestones are cut by priority, not by feature/process.

Bad Code

Today, I discovered three distinct cases of poorly written code in our team's code base. Each time it bothered me so much, that before improving, I checked the author of those lines: me, a year ago.

List gradle test execution order
tasks.matching {it instanceof Test}.all {
    testLogging.events = ["failed", "passed", "skipped"]
}

Useful for finding tests that do not clean up properly!

Firefox Address Bar Search

In Firefox's addressbar, you can limit results by typing special characters before or after your term

^ for matches in your browsing history.
* for matches in your bookmarks.
% for matches in your currently open tabs.
# for matches in page titles.
@ for matches in web addresses.

Copied from: https://twitter.com/asadotzler/status/991061409839562752

The Truth is in the Log

"The truth is the log. The database is a cache of a subset of the log."

Source: Pat Helland, Immutability Changes Everything, 2015

The Prime Directive

"Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand."

Source: Norm Kerth, Project Retrospectives: A Handbook for Team Review

Bullshit Definition

The philosopher Harry Frankfurt at Princeton University defined bullshit as talk that has no relationship to the truth. Lying covers up the truth, while bullshit is empty, and bears no relationship to the truth.

Source: https://aeon.co/ideas/how-to-fight-work-bullshit-and-keep-your-job-and-your-dignity

grep_rename.sh
grep -rl 'old' ./ | xargs sed -i 's/old/new/g'
C. Headlee: 10 ways to have a better conversation

Celeste Headlee:

Listen!

Forget what you have heard!

  1. Don't multitask!
  2. Don't pontificate! (express one's opinions in a way considered annoyingly pompous and dogmatic) Assume that you have something to learn
  3. Use open ended questions!
  4. Go with the flow!
  5. If you don't know, say that you don't know!
  6. Don't equate your experience with their's!
  7. Try not to repeat yourself!
  8. Forget the details!
  9. Listen!
  10. Be brief!

Always be prepared to be amazed!

Obstsalat
  • Äpfel
  • Birnen
  • Orangen
  • Grapefruit
  • Pomelo
  • Chikoree
  • Walnüsse
  • Banane

Plus:

  • 2 Zitronen (Saft)
  • Zucker
The 25 Most Popular Icebreaker Questions
  1. What was your first job?
  2. Have you ever met anyone famous?
  3. What are you reading right now?
  4. If you could pick up a new skill in an instant what would it be?
  5. Who's someone you really admire?
  6. Seen any good movies lately you'd recommend?
  7. Got any favorite quotes?
  8. Been pleasantly surprised by anything lately?
  9. What was your favorite band 10 years ago?
  10. What's your earliest memory?
  11. Been anywhere recently for the first time?
  12. What's your favorite family tradition?
  13. Who had the most influence on you growing up?
  14. What was the first thing you bought with your own money?
  15. What's something you want to do in the next year that you've never done before?
  16. Seen anything lately that made you smile?
  17. What's your favorite place you've ever visited?
  18. Have you had your 15 minutes of fame yet?
  19. What's the best advice you've ever heard?
  20. How do you like your eggs?
  21. Do you have a favorite charity you wish more people knew about?
  22. Got any phobias you'd like to break?
  23. Have you returned anything you've purchased recently? Why?
  24. Do you collect anything?
  25. What's your favorite breakfast cereal?

Source: https://m.signalvnoise.com/the-25-most-popular-icebreaker-questions-based-on-four-years-of-data/

Brackets, Parentheses, Braces
[] brackets (US), square brackets
() parentheses, brackets (non-US English), round brackets
<> angle brackets
{} curly braces (US), curly brackets

Parenthesis is the singular of parentheses (short: parens)! ;)

Source: https://twitter.com/gfixler/status/926950212760870913, https://en.wikipedia.org/wiki/Bracket

Naming Schemes

A good naming scheme is scalable, unique, and easy to remember. The purpose of these naming schemes is to name networked servers, wireless access points or client computers, but it can also be used to name projects, products, variables, streets, pets, kids, or any other project where unique names and rememberable names are required.

https://namingschemes.com

Serverless in One Slide
  1. short running functions
  2. compute containers
  3. stateless
  4. 3rd-party managed
  5. event-triggered

Source: https://twitter.com/coderbyheart/status/847522021990895621

Password Rules

https://blog.codinghorror.com/password-rules-are-bullshit/

TL;DR:

  1. Minimum length
  2. Reasonable maximum length
  3. Be aware of Unicode
  4. Think like a user

How to not do it: https://twitter.com/AaronToponce/status/988761412464857088

Just English Things

Yes, English can be weird. It can be understood through tough thorough thought, though.

Source: https://twitter.com/olamy/status/723732629674041345

2018 edition

Boris said, "Theresa may resign".

"Boris", said Theresa, "may resign".

Boris said, "Theresa May: Resign!"

"Boris," said Theresa May: "Resign".

Source: https://twitter.com/katiejanegraham/status/1074377268284276737