The long way through Software Craftsmanship

Self-Study in July 2019

Jul 1, 2019 - 1 minute read - Comments - self-study-aggregationjuly2019apiassemblerbackupbytecodecareer-managementcompensationcontroldiffyencryptionengineering-managerevan-noongolangjavajvmlake-wobegon-strategylocal-datamanagementmanagermeasuremichael-mccunemixpanelparallel-changepeer-reviewperformancepresentationpythonrevealreveal-jsrewritesalaryslideslide-deckslidesharetool

How I use reveal.js

This author explains how they use reveal.js.

The online editor (

The author uses plain html for storing the slides.

Tags: slide, slideshare, reveal-js, reveal, presentation, slide-deck, michael-mccune

Id: 41e287b4-ae15-11e9-9e8a-0242ac110003 Read: Wed, 24 Jul 2019 07:16:33 +0000

All your digital life on a single timeline, stored locally

Keep your digital life under your control

Tags: backup, local-data, encryption, control

Id: 4d115f64-ae17-11e9-bf0e-0242ac110003 Read: Wed, 24 Jul 2019 13:31:11 +0000

Safely Rewriting Mixpanel’s Highest Throughput Service in Golang

This article explains how they rewrote a (high-throughput + critical path) service, in part using a tool called Diffy.

Tags: diffy, tool, golang, python, mixpanel, evan-noon, api, rewrite, parallel-change

Id: 263f2b8c-afca-11e9-ad3d-0242ac110002 Read: Fri, 26 Jul 2019 17:23:57 +0000

A software engineering manager guide to measuring a software engineers performance

Explains how to measure performance

Tags: measure, performance, engineering-manager, manager, management, career-management, lake-wobegon-strategy, peer-review, compensation, salary

Id: 5f2a6e8e-afca-11e9-97d5-0242ac110002 Read: Fri, 26 Jul 2019 17:25:32 +0000


JVM tool to include assembler code in java

Tags: assembler, java, jvm, bytecode

Id: dfc8a150-afca-11e9-9fcb-0242ac110002 Read: Fri, 26 Jul 2019 17:29:08 +0000

Books read in 2019Q2

Jun 30, 2019 - 13 minute read - Comments - bookreading2019Q2self-studyreading-club

Read this quarter:

  • 4 pillars of investment, the; Bernstein; own-it, finance, non-technical
  • Candide; Voltaire; own-it, non-technical, philosophy
  • Simple path to wealth, the; Collins; own-it, non-technical, finance
  • Lagom; Brantmark; own-it, non-technical, philosophy
  • Comment revivre par le jeune; Lützner; own-it, non-technical
  • Educación financiera avanzada desde cero; Hernández; own-it, non-technical, finance
  • Pensiones públicas, la esclavitud de nuestra época; Hernández; non-technical, own-it, finance
  • On the shortness of life; Séneca; own-it, non-technical, philosophy
  • Código del dinero, el; Samsó; own-it, non-technical, finance
  • Más cosas sobre la bolsa; Hernández; own-it, non-technical, finance

4 pillars of investment, the; Bernstein

Candide; Voltaire

Came across this book as the source for the term ‘Panglossian’ or extreme optimist.

Simple path to wealth, the; Collins

This book explains the “simple path to wealth”.

The recommended asset allocation is a single stock + a single bond index fund, that captures the full global market (VTSAX + VBTLX). If you want to expand it or make it more complicated, searching for extra risk and return, you can overweight other regions/indices.

Makes explicit the importance of F-you money (fuck you money): giving personal freedom to explore whatever you’re feeling like, not depending on a job.

The market always goes up in the long term, but the ride is rocky.

Explains the importance of low fees. The author is a big proponent of bogleheads investing, directly with Vanguard.

Lagom; Brantmark

Explains the simplicity system embedded in the Swedish/Scandinavian culture: the right amount, of relationships, friendships, food, work, relax.

In a way, it reminds me of minimalism, applied to all levels in your life.

Lagom is a Swedish word meaning “just the right amount”.

Comment revivre par le jeune; Lützner

This book explains the process of fasting, everything included: how to start it, how to endure it, how to end it.

Suggests techniques for complete fasting, away from work, interactions. Explains how to do it for up to a week, then following medical advice for longer periods.

Fasting is definitely not feeling hungry.

Educación financiera avanzada desde cero; Hernández

Pensiones públicas, la esclavitud de nuestra época; Hernández

In this book, the author explains several reasons why having a public pension fund is counterproductive for the general society:

  • They are not inherited, they end with your life
  • They are not well managed
  • They are decreasing over time
  • They are not sustainable for the long term

The book has definitely a liberal cut.

On the shortness of life; Séneca

Código del dinero, el; Samsó

Más cosas sobre la bolsa; Hernández

This book explains more topics about the stock market and how to invest in it.

There is a good review of general markets (e.g., energy, petroleum, television, finance); of strategies (i.e., short-term, mid-term, long-term)

There are many interesting insights.

Export from my backlog

Note: re+read means I’m re-reading this book. The (+) stands for one-or-more times, as in the regexes.

backlog (partially sorted):

  • unsorted V
  • The Machine That Changed the World: The Story of Lean Production
  • Haskell Programming
  • Software Architecture in Practice
  • lucha por la desigualdad, la; Pontón; non-technical
  • psicología del dinero, la; Hammond; non-technical
  • Invirtiendo a largo plazo; García Paramés; non-technical, finance
  • Well-Grounded Java Developer, the; own-it
  • Learn You a Haskell for Great Good!; own-it
  • camino al 18J, el; Payne; non-technical
  • Cartas desde la revolución bolchevique; Sadoul; non-technical
  • Java Performance: The Definitive Guide
  • Why programmers work at night
  • Shogun: The Life of Tokugawa Ieyasu; Sadler; non-technical
  • Scrum and XP from the trenches, 2nd edition;
  • Els jueus i Catalunya; Villatoro; non-technical
  • El problema de los tres cuerpos; Liu; non-technical
  • Amazon Web Services in Action; own-it
  • Clojure Programming - Practical Lisp for the Java World
  • Mature optimization
  • XUnit Test Patterns
  • Let Over Lambda
  • The Haskell Road to Logic, Math and Programming
  • Types and Programming Languages
  • Fundamentals of Object-oriented Design in UML
  • Clojure for the brave and true
  • How to Solve It: A New Aspect of Mathematical Method
  • Conceptual Mathematics: A First Introduction to Categories
  • Understanding Computation: From Simple Machines to Impossible Programs
  • Programming in Haskell
  • Programming Languages: Application and Interpretation
  • Doing Math with Python
  • Perfect Software: And Other Illusions about Testing
  • Computability and Complexity - From a Programming Perspective
  • Thinking Forth: a language and philosophy for solving problems
  • Concepts, Techniques, and Models of Computer Programming
  • Bridging the Communication Gap; Adzic
  • Specification by Example; Adzic
  • Cucumber book, the; Adzic
  • Software Architecture for Developers; Brown
  • Object Design: Roles, Responsibilities, and Collaborations
  • RESTful Web APIs
  • RESTful Web Services Cookbook
  • Building Maintainable Software
  • Serverless - Patterns of Modern Application Design Using Microservices (Amazon Web Services Edition)
  • A Pattern Language; Alexander
  • Types and Programming Languages, TAPL; Pierce; own-it
  • Speed Reading Book: Read More, Learn More, Achieve More, the; Buzan
  • Cómo crear mapas mentales (Crecimiento personal); Buzan
  • First things first; Covey
  • What’s best next; Perman
  • problems of philosophy, the; Russell; philosophy
  • Requiem for the American dream; Chomsky
  • sun also rises, the; Hemingway
  • travels, the; Polo; non-technical
  • Homo Deus: A Brief History of Tomorrow; Harari; non-technical
  • Books by Aristotle; non-technical
  • Books by Plato; non-technical
  • Books by Descartes; non-technical
  • The idea of culture; Eagleton; non-technical
  • Hereditary Intelligence; Galton; non-technical
  • Lean Software Development: An Agile Toolkit; Poppendieck (+); own-it
  • Chaos Monkeys: Obscene Fortune and Random Failure; Garcia Martinez
  • Implementing Lean Software Development: From Concept to Cash; Poppendieck
  • Joel on Software; Spolsky
  • Death March; Yourdon
  • Psychology of Computer Programming, The; Weinberg
  • Introduction to General Systems Thinking; Weinberg
  • Lao Tzu : Tao Te Ching : A Book About the Way and the Power of the Way; Tzu, Le Guin; non-technical, own-it, philosophy
  • Gay Science, the; Nietzsche; non-technical
  • Being Geek; Lopp
  • Finance for Freelancers; Retallick; non-technical, finance
  • Object-oriented software engineering: a use case driven approach; Jacobson
  • Patterns of Enterprise Application Architecture; Fowler; own-it
  • Romeo y Julieta; Shakespeare; non-technical
  • Computer Systems: A Programmer’s Perspective; Bryant, O’Hallaron
  • My Journey to Lhasa: The Classic Story of the Only Western Woman Who Succeeded in Entering the Forbidden City; David-Néel; non-technical
  • Cathedral and the bazaar, the ; Raymond
  • Coding dojo handbook, the; Bache; own-it
  • Making software; Oram and Wilson; own-it
  • Code complete; McConnell; own-it
  • Soft skills; Sonmez; own-it
  • DSLs in action; Ghosh; own-it
  • Purely functional data structures; Okasaki; own-it
  • Working effectively with unit tests; Fields (+); own-it
  • First Nazi, the; Ludendorff; non-technical
  • Greatest story ever told … so far; Krauss; non-technical
  • Master algorithm, the; Domingos; non-technical
  • Invention of Science, the; Wootton; non-technical
  • Tesla: Inventor of the electrical age; Bernard Carlson; non-technical
  • Psychology in minutes; Weeks; non-technical
  • Alan Turing: The Enigma; Hodges; non-technical
  • How to think more about sex; de Botton; non-technical
  • Piccolo manuale di persuasione; Taylor; non-technical
  • arte de la guerra, el; Sun Tzu; non-technical, own-it
  • Piccolo manuale di leadership Confuciana; Adair; non-technical
  • How to Stop Worrying and Start Living; Carnegie; non-technical
  • Uomo - Guida allo stile; Roetzel; non-technical
  • Unwritten Laws of Engineering: Revised and Updated Edition; King
  • Test-Driven JavaScript Development (Developer’s Library); Johansen
  • Test Driven Development: By Example; Beck
  • Arquitectura Java JPA Domain Driven Design; Alvárez, Peláez
  • End of loyalty, the; Wartzman; non-technical
  • Basic Economics; Sowell; non-technical
  • Introduction to Economic Analysis; McAfee; non-technical
  • Patterns of Software; Gabriel
  • Coders at work; Seibel
  • Clean architecture; Martin
  • How to be a stoic - Pugliucci; non-technical
  • Introduction to Object-Oriented Programming, an; Budd
  • Gafas de la felicidad, las; Santandreu; non-technical
  • Ser feliz en Alaska; Santandreu; own-it, non-technical, philosophy
  • Mochila para el universo, una; Punset; non-technical
  • Gods themselves, the; Asimov; non-technical
  • Panamá papers, the; Obermayer, Obermaier; non-technical
  • Originals; Grant; non-technical
  • Optimism over despair; Chomsky; non-technical
  • SCIENCE OF BREATH: A Practical Guide; Ballentine, Hymes; non-technical
  • Yoga Explained: A New Step-by-step Approach to Understanding and Practising Yoga; Mehta,‎ Arjunwadkar; non-technical
  • Wanderlust: A Modern Yogi’s Guide to Discovering Your Best Self; Krasno; non-technical
  • How to Think About Money; Clements; non-technical, finance
  • By Way of Deception; Ostrovsky; non-technical
  • Printemps des sayanim, le; Cohen; own-it, non-technical
  • Deep work; Newport; non-technical, own-it
  • Hooked: How to Build Habit-Forming Products; Eyal, Hoover; non-technical
  • Irresistible: The Rise of Addictive Technology and the Business of Keeping Us Hooked; Alter; non-technical
  • The Attention Merchants: The Epic Scramble to Get Inside Our Heads; Wu; non-technical
  • Willpower: Why Self-Control is The Secret to Success; Baumeister, Tierney; non-technical
  • Principles of Psychology, the; James; own-it, non-technical
  • Our mutual friend; Dickens; non-technical
  • Crucial Conversations: Tools for Talking When Stakes Are High, Second Edition; Patterson, Grenny, McMillan, Switzler; non-technical
  • Amusing Ourselves to Death - Public Discourse in the Age of Show Business; Postman; non-technical
  • Mastery; Greene; non-technical, own-it
  • Silence in the age of noise; Kagge; non-technical
  • Functional programming simplified; Alexander; own-it
  • Batalla del Ebro, la; Reverte; non-technical
  • Historia de la guerra civil española; Rojo; non-technical
  • Lucha por el poder, la; Evans; non-technical
  • Revolución rusa, la; Pipes; non-technical
  • Holocausto, el; Rees; non-technical
  • Martín Lutero, renegado y Profeta; Roper; non-technical
  • Siglo de la revolución, el ; Fontana; non-technical
  • Historia de la revolución rusa; Trotsky; non-technical
  • Dispossessed, the; Le Guin; non-technical
  • Left hand of darkness; Le Guin; non-technical
  • Lathe of heaven; Le Guin; non-technical
  • Books in general – Epstein
  • Affluent society, the; Galbraith; non-technical, finance
  • Philosophy of the Buddha; Bahm; non-technical, philosophy
  • Tribe of mentors; non-technical, own-it
  • 5 dysfunctions of a team; non-technical
  • Ziglar’s Top Performance; non-technical
  • Pragmatic Programmer (+)
  • High Output Management; Grove; non-technical
  • First Break All the Rules; non-technical
  • Managing for happiness; Appelo; non-technical
  • Meditations; Marcus Aurelius; non-technical, own-it, philosophy
  • Why budism is true; Wright; non-technical, own-it
  • 7 hábitos de la gente altamente productiva
  • art of readable code
  • Domain modeling made functional
  • Sketchbook handbook; own-it
  • Agile samurai, the
  • Miracle of Mindfulness, the; Hanh; non-technical, own-it, philosophy
  • No mud, no lotus: The Art of Transforming Suffering; Hahn; non-technical
  • Lean Architecture: for Agile Software Development; Coplien, Bjørnvig
  • Agile IT Organization Design: For Digital Transformation and Continuous Delivery; Sriram Narayan
  • Philosophy of Software Design, a; Ousterhout
  • Hope in the Dark; Solnit
  • Agile!: The Good, the Hype and the Ugly; Meyer
  • Common Stocks and Uncommon Profits and Other Writings; Fisher, Fisher; non-technical, finance
  • Prize: The Epic Quest for Oil, Money & Power, the; Yergin; non-technical
  • So good they can’t ignore you; Newport
  • Creating a Software Engineering Culture; Wiegers
  • Managing Humans: Biting and Humorous Tales of a Software Engineering Manager; Lopp
  • Don’t make me think; Krug
  • Leaders eat last; Sinek; own-it
  • art of the start, 2, the; Kawasaki; own-it
  • Unlimited memory; own-it
  • Selfish gene, the; Dawkins; own-it
  • Public speaking skills for dummies; own-it
  • 365 days with discipline; own-it
  • How to fight; Hahn; own-it
  • 33 strategies of war; own-it
  • Leader who had no title, the; own-it
  • greatness guide, the; own-it
  • Year of happy living, the; own-it
  • 4 hour chef, the; Ferriss; own-it
  • Finish what you start; own-it
  • Personal MBA, the; Kaufmann; own-it
  • Richest man in Babylon, the; own-it, finance
  • Think and grow rich; Hill; own-it
  • Why Buddhism is true; own-it
  • Wisdom of Hypatia: Ancient Spiritual Practices for a More Meaningful Life, the; MacLennan; non-technical, philosophy
  • Just enough software architecture; own-it
  • Elastic leadership; Osherove; own-it, non-technical
  • Taking smart notes; own-it, non-technical
  • Secure by design; own-it
  • Reset; Sawyer; non-technical, finance
  • Investor’s manifesto, the; Bernstein; own-it, non-technical, finance
  • Splendid exchange, a; Bernstein; own-it, non-technical, finance
  • Birth of plenty, the; Bernstein; own-it, non-technical, finance
  • Feeling Good: The New Mood Therapy; David Burns; non-technical
  • We (novel); non-technical
  • Secret, the; Byrne; non-technical
  • Developer hegemony
  • Give and Take; Grant; non-technical
  • Tao of Seneca, The; Loeb; own-it, non-technical, philosophy
  • Liquid Modernity; Bauman; non-technical, philosophy

unfinished (unsorted):

  • Working Effectively with Legacy Code (+); Feathers; own-it
  • Nonviolent communication (+); Rosenberg; own-it, non-technical
  • Introduction to Buddhism: Teachings, History and Practices, an; Harvey; non-technical, own-it, philosophy
  • Effective Java; Bloch; own-it
  • Functional Programming Patterns in Scala and Clojure; own-it
  • Release It! - Design and Deploy Production-Ready Software; own-it
  • Refactoring (+); Fowler; own-it
  • Leprechauns of Software Engineering (+), the; Bossavit; own-it
  • Domain-Driven Design: Tackling Complexity in the Heart of Software; Vernon (+); own-it
  • Pragmatic Thinking and Learning: Refactor Your Wetware; own-it
  • Readings in Database Systems, 5th Edition; own-it
  • Structure and Interpretation of Computer Programs (SICP); Abelson, Sussmann, Sussmann; own-it
  • La Sociedad De Coste Marginal Cero (Estado y Sociedad); Rifkin; non-technical
  • Odisea; Homero; non-technical
  • Switch: How to Change Things When Change Is Hard; Heath, Heath; own-it, non-technical
  • Cómo leer un libro; Adler, van Doren; non-technical, own-it
  • Object-Oriented Design Heuristics; Riel


  • Mundo nuevo, ahora, un; Tolle; own-it, non-technical
  • Continuous Delivery; Humble, Farley; own-it
  • Java Concurrency in Practice (JCIP); Goetz
  • Thinking fast and slow; Kahneman; non-technical
  • Your money or your life (+); Dominguez, Robin; finance, non-technical, own-it
  • five dysfunctions of a team: a leadership fable, the; Lencioni; non-technical
  • Who rules the world?; Chomsky; non-technical, own-it
  • Random walk down wall street a; Malkiel [Part IV]; own-it
  • Essence of yoga, the; Feuerstein, Miller; own-it, non-technical
  • Inner Engineering; Sadhguru; own-it, non-technical, philosophy

wip (3):

  • Daily Stoic, the; Holiday, Hanselman; own-it, non-technical, philosophy
  • Hombre multiorgásmico, el; Chía, Arava; own-it, non-technical


  • 4 pillars of investment, the; Bernstein; own-it, finance, non-technical
  • Candide; Voltaire; own-it, non-technical, philosophy
  • Simple path to wealth, the; Collins; own-it, non-technical, finance
  • Lagom; Brantmark; own-it, non-technical, philosophy
  • Comment revivre par le jeune; Lützner; own-it, non-technical
  • Educación financiera avanzada desde cero; Hernández; own-it, non-technical, finance
  • Pensiones públicas, la esclavitud de nuestra época; Hernández; non-technical, own-it, finance
  • On the shortness of life; Séneca; own-it, non-technical, philosophy
  • Código del dinero, el; Samsó; own-it, non-technical, finance
  • Más cosas sobre la bolsa; Hernández; own-it, non-technical, finance


  • Stanger in a strange land; Heinlein; own-it, non-technical



  • Prince, the; Macchiavello; non-technical, own-it
  • Nuevo kama-sutra ilustrado, el; Gallotti; non-technical
  • Quien se ha llevado mi queso; Johnson; own-it
  • One minute manager, the; Blanchard; own-it, non-technical
  • En defensa de los ociosos; Stevenson; non-technical, own-it, philosophy
  • Ladybird Book of Mindfulness, the (Ladybirds for Grown-Ups); Hazeley, Morris; non-technical
  • Art of the start, the; Kawasaki; own-it, non-technical
  • Getting started with NoFap; non-technical
  • Emotional intelligence; Goleman; non-technical
  • Old man’s war; Scalzi; non-technical, own-it
  • Nightfall; Asimov, Silverberg; own-it, non-technical
  • Interface; Stephenson, George; non-technical, own-it
  • Man who sold the moon, the; Heinlein; own-it, non-technical
  • Agents of innocence; Ignatius; own-it, non-technical
  • Fist of god, the; Forsyth; own-it, non-technical
  • Avaro, el; Molière; own-it, non-technical
  • Bogleheads’ Guide to Investing, the; Larimore, Lindauer, LeBoeuf; own-it, non-technical, finance
  • Lazyperson’s guide to investment; Farrell; own-it, non-technical, finance
  • Millionaire next door, the; Stanley, Danko; own-it, non-technical, finance
  • Little Book of Common Sense Investing; Bogle; own-it, non-technical, finance
  • Monje que vendió su Ferrari, el; Sharma; own-it, non-technical
  • Siddhartha; Hesse; non-technical, own-it, philosophy
  • If you can: how millenials can get rich slowly; Bernstein; own-it, non-technical, finance
  • Odessa; Forsyth; non-technical, own-it
  • Bogle on mutual funds: new perspectives for the intelligent investor; Bogle; own-it, non-technical, finance
  • Perros de la guerra, los; Forsyth; own-it, non-technical
  • avaro y el oro, el; Esopo; non-technical
  • Aulularia; Plauto; own-it, non-technical
  • Alternativa del Diablo, la; Forsyth; own-it, non-technical
  • Guía, el; Forsyth; own-it, non-technical
  • Pied piper; Forsyth; own-it, non-technical
  • Hunt for the Red October, the; Clancy; own-it, non-technical
  • Time to kill, a; Grisham; own-it, non-technical
  • Ética promiscua; Easton, Hardy; own-it, non-technical
  • Checklist manifesto, the; Gawande; own-it, non-technical
  • Team geek (+); own-it
  • Kata de la voluntad; non-technical
  • Obstacle is the way, the; non-technical, philosophy
  • Guide to stoicism, a; Stock; own-it, non-technical, philosophy
  • Senior software developer, the; Copeland; own-it
  • Scandal in Bohemia, a; Doyle; own-it
  • Getting things done, …; Allen (+); own-it, non-technical
  • Nature of Software Development, the; Jeffries; own-it
  • Team Geek; Fitzpatrick, Collins-Sussman; own-it
  • Aprendo Yoga; Van Lysebeth; non-technical, own-it
  • Clean Coder: A Code of Conduct for Professional Programmers, the; Martin; own-it
  • ML for the working programmer, 2nd edition [5th chapter only]; Paulson; own-it
  • Lazarillo de Tormes, el; anónimo; non-technical
  • Tom Clancy’s power plays - Politika; Preisler; own-it, non-technical
  • Moon is a harsh mistress, the; Heinlein; own-it, non-technical
  • Tus zonas erróneas; Dyer; non-technical, own-it
  • Peopleware; DeMarco, Lister (+); own-it
  • Phoenix project, the ; Kim, Behr, Spafford; own-it
  • Ética a Nicómaco; Aristotle; own-it, non-technical, philosophy
  • Book of transformation; Dalai Lama; non-technical, philosophy
  • Como ganar amigos e influir sobre las personas; Carnegie (+); own-it
  • Oliver Twist; Dickens; own-it, non-technical
  • Building evolutionary architecture; Ford, Parsons; own-it
  • Selfie: How We Became So Self-Obsessed and What It’s Doing To Us; Storr. Just chapter 1: The dying self; own-it, non-technical
  • Sota la cistella; Gasol; own-it, non-technical
  • Hombre en busca del sentido, el; Frankl; own-it, non-technical, philosophy
  • Metamorfosis; Kafka; own-it, non-technical
  • Your money or your life; Dominguez, Robin; non-technical, finance, own-it
  • Traction; Wickman; own-it, non-technical
  • How to Be a Stoic: Using Ancient Philosophy to Live a Modern Life; Pigliucci; own-it, non-technical, philosophy
  • Guide to the Good Life, The Ancient Art of Stoic Joy, a; Irvine; non-technical, own-it, philosophy
  • goal, the; Goldratt (+); own-it
  • Random walk down wall street a; Malkiel [Parts I, II, III]; own-it

Self-Study in June 2019

Jun 1, 2019 - 2 minute read - Comments - self-study-aggregationjune2019bashborrowing-rulesccomparisoncompilerconcurrencyconsensuscorrectnesscovariancedebugdistributed-consensusdistributed-lockdistributed-programmingefficiencyfencing-mechanismfunction-pointergarbage-collectiongenerich0p3helplanguagelanguage-featurelifetimelifetime-parameterlockmaksym-zavershynskyimartin-kleppmannmonotonic-clockparallellismpersonal-knowledge-basepeter-hoseypointerpointer-arithmeticprogramming-languageredlockredlock-algorithmrustrustonomiconscriptstop-the-worldstringstructtrapvariancewiki

(h0p3’s Wiki)

This is a highly customized tiddlyWiki, from h0p3.

Tags: wiki, personal-knowledge-base, h0p3

Id: b8b3d973-9611-4180-854a-0242ac110003 Read: Fri, 7 Jun 2019 13:20:26 +0000

Debug bash scripts

This article explains how to debug bash scripts using the DEBUG trap.

Declares several log levels for the commands

Tags: debug, bash, trap, help, script

Id: 39f76af4-99ce-48b6-adc1-0242ac110003 Read: Fri, 7 Jun 2019 13:20:26 +0000

Understanding Rust Lifetimes

Describes rust lifetimes, lifetime parameters.

Compares them to C++ pointers (in the sense they are difficult to learn, but make things explicit).

Tags: rust, borrowing-rules, pointer, language, comparison, generic, lifetime, lifetime-parameter, maksym-zavershynskyi, compiler, language-feature, variance, covariance, struct, rustonomicon

Id: 2e14ae3e-8ec0-11e9-be23-0242ac110003 Read: Fri, 14 Jun 2019 16:19:26 +0000

Everything you need to know about pointers in C

Explains pointers in C

Tags: c, programming-language, pointer, peter-hosey, language-feature, string, pointer-arithmetic, function-pointer

Id: ddc39078-8ed6-11e9-85bc-0242ac110003 Read: Fri, 14 Jun 2019 19:01:50 +0000

How to do distributed locking

This article explains the usage of locks (for efficiency - optimization / for correctness).

Explains the usage of the “Redlock” algorithm, to perform distributed locks. Explains a fencing mechanism (using tokens).

References monotonic clocks, stop-the-world garbage collection, consensus mechanisms.

Uses good diagrams for parallelism and concurrency.

Tags: lock, efficiency, correctness, redlock, redlock-algorithm, consensus, distributed-consensus, distributed-programming, distributed-lock, martin-kleppmann, parallellism, concurrency, fencing-mechanism, monotonic-clock, stop-the-world, garbage-collection

Id: a1165c1e-9719-11e9-bf0b-0242ac110003 Read: Tue, 25 Jun 2019 07:19:54 +0000

In Defense of Tooling

May 30, 2019 - 2 minute read - Comments - tooltoolingdave-dunfieldquotecurriculum

A quote (on a curriculum vitae) that I’ve enjoyed:

I am a firm believer in the value of tools, and often spend significant time at the beginning of a project developing tools specific to the needs of the project. This always pays off in the long run. I use tools to:

  • Perform tasks not otherwise achievable
  • Automate tedious/repetative processes
  • Simplify steps in the build/debug cycle
  • Eliminate “human error” in scanning, translation etc.
  • Access internal information easily and efficiently
  • more … the tools used in a project depend greatly on the project.
  • I am also a big fan of automation. When you automate a process, you not only make it easier and faster to perform, but you also remove variability in the execution of that process. This means fewer procedural errors, a faster development process, and a more stable and reliable product.

My reliance on tools and automation means that you will see me sitting in front of a command line interface (easy to automate) more frequently than graphical one (difficult to automate).

Dave Dunfield

In a way, it reminds me of how Steve Freeman and Nat Pryce try to remove as much uncertainty from a software project in the beginning of the project, not at the end.

Tooling is very important for everyday efficiency.

Self-Study in May 2019

May 1, 2019 - 1 minute read - Comments - self-study-aggregationmay2019archiveashley-madisonbarry-mazurbruce-schneiercompany-valuationdatadata-archivaldata-breachdecisiondecision-makingessayinformationinformation-managementliabilitymemexpersi-diaconispersonal-knowledge-basesecurityspillspin-a-pennystanfordstated-meeting-reporttoxictoxic-assetweb-archive

The Problem of Thinking Too Much

An example of what happens when you think too much. The paralysis that comes from it

Tags: persi-diaconis, stanford, stated-meeting-report, barry-mazur, spin-a-penny, decision-making, decision

Id: e14aba08-7add-11e9-9e23-0242ac110003 Read: Mon, 20 May 2019 09:01:39 +0000

Personal web archives; a report

Creating a personal web archive, based on the tools they created.

a browser extension for storing web pages, a web archive server hosting such snapshots, a(nother) browser extension to query such archives.

Tags: web-archive, memex, personal-knowledge-base, archive, information, information-management, data-archival

Id: 3a681acc-7ade-11e9-a0d7-0242ac110003 Read: Mon, 20 May 2019 09:04:09 +0000

Internet Data Is Rotting

How the internet data is rotting. How it is even important that this rots.

Tags: personal-knowledge-base, archive, data-archival

Id: 61b02a52-7ade-11e9-82fd-0242ac110003 Read: Mon, 20 May 2019 09:05:15 +0000

Data Is a Toxic Asset, So Why Not Throw It Out?

In this essay, Bruce Schneier discusses why having data is a liability. Should only be kept when strictly needed. Also, to keep in mind the cost of keeping the data secure

Tags: security, bruce-schneier, essay, liability, ashley-madison, toxic, data, data-breach, spill, toxic-asset, company-valuation

Id: 16e89556-8220-11e9-8887-0242ac110002 Read: Wed, 29 May 2019 14:43:14 +0000

Self-Study in April 2019

Apr 1, 2019 - 4 minute read - Comments - self-study-aggregationapril20191973actoractor-modeladadvicealexanderalgorithmalternativearchitectureb-treebatch-the-simple-stuffbluekaibookbusycc-langcareer-managementcarnegie-mellon-universityclassicclonecmucodecomparisoncontiguous-time-blocksconversioncoursecreatecstackcursordata-management-platformdatabasedbdelegatedmpdonald-littledrop-unimportant-tasksefficacyefficiencyethicalethicsfeedbackfeedback-loopgitlabgood-enoughgroupgroupthinkhewitthighlightindexirving-janisjames-kilejames-seibeljust-startlewis-carrolllook-aheadmanifestomemsqlmongodbnuodbpasswordpatterpattern-languagepdpplannerploppresentationprioritizeproductivityprojectput-it-offquoteregexregular-expressionremoteremote-workreplresourcesamir-shahseek-clarificationseminalsingle-task-important-itemsslideslides.comsqlsql-serversqlitestartupstrike-when-you-are-hotstructured-programmingtask-jarteamteam-dynamicteam-managementtechniquetooluniversityvalidationvoltdbwalkthroughworkworkshopycombinator

How to validate password with regular expression

Explains the ‘?=’ character in a regex, to validate conditions. Make it ‘.*’ to ‘contain’, rather than ‘startWith’

Tags: password, validation, look-ahead, regex, regular-expression

Id: 2ed5999a-555f-11e9-8bf8-0242ac110005 Read: Tue, 02 Apr 2019 15:51:30 +0000

Unlock honest feedback from your employees with this one word

I’ve read this article about asking for advice instead of asking for feedback and how that helped.

Tags: comparison, advice, feedback

Id: 3ca65d4c-577c-11e9-88ac-0242ac110005 Read: Fri, 05 Apr 2019 08:24:31 +0000


I’ve read this article explaining the dangers of Group think, some solutions.

Defined in 1972 by Irving L. Janis in a book by the same title, it’s more present when the group exhibits these behaviors:

  • A strong, persuasive group leader.
  • A high level of group cohesion.
  • Intense pressure from the outside to make a good decision

Tags: groupthink, team-management, book, group, team, team-dynamic, technique, irving-janis

Id: 6c90065c-577c-11e9-8741-0242ac110005 Read: Fri, 05 Apr 2019 08:25:52 +0000

Busy Person Patterns

This is a book of patterns (related to ‘A pattern language’, by Alexander et al) about Busy People (in a good way).

This is a collection of patterns to help you achieve productivity, efficiency, efficacy.

Explains how the patterns relate to one another, how they interact. Also, a quick reference based on the mood you’re experiencing

Tags: patter, pattern-language, alexander, busy, productivity, efficiency, efficacy, plop, just-start, contiguous-time-blocks, single-task-important-items, put-it-off, seek-clarification, batch-the-simple-stuff, task-jar, strike-when-you-are-hot, feedback-loop, prioritize, delegate, drop-unimportant-tasks, good-enough, james-kile, donald-little, samir-shah

Id: bcd32324-59e3-11e9-9acf-0242ac110005 Read: Mon, 08 Apr 2019 09:50:27 +0000

Data Management Platforms Demystified

This whitepaper explains what a DMP is, how does it convert, etc.

Tags: dmp, data-management-platform, bluekai, ad, conversion

Id: fecb0a0a-5ab8-11e9-b7b7-0242ac110005 Read: Tue, 09 Apr 2019 11:17:00 +0000

Ethical Alternatives & Resources

Some 300 hundred links of ethical products & services

Tags: ethics, ethical, alternative, resource

Id: cbf45e14-5ae6-11e9-a6ff-0242ac110006 Read: Tue, 09 Apr 2019 16:44:52 +0000

Code highlights in

This article explains how to highlight code in the software/site

Tags:, slide, code, highlight, tool, presentation

Id: 81d8a6ee-5c3c-11e9-9583-0242ac110006 Read: Thu, 11 Apr 2019 09:30:55 +0000


This course by the CMU (Carnegie-Mellon University) explains 7 databases in 7 weeks, one per talk.

Talks about SQL, NoSQL (key-value), about speed, about data management

Tags: database, book, cmu, carnegie-mellon-university, course, university, db, mongodb, index, memsql, voltdb, nuodb, sql-server

Id: 683816f6-5c3d-11e9-aadc-0242ac110006 Read: Thu, 11 Apr 2019 09:37:22 +0000

Startup Stock Options – Why a Good Deal Has Gone Bad

An interesting quote:

Valid reasons to work for a startup: - You are a cofounder.

  • You have little experience and you are using this to break into the industry, and get experience on many different > technologies (“wear many hats”).

  • They are working on a very specific problem or using a specific technology that you strongly desire to work on and it’s > difficult to do it anywhere else.

  • You want to work a certain way (remote, on the beach, whatever) and they are willing to go this route.

Invalid reasons for working at a startup:

  • Getting rich off stock options.

  • Making a lot of money in salary.

  • Work / life balance.

  • Stability.

Tags: quote, startup, career-management, ycombinator, james-seibel, work

Id: d074c386-5c3d-11e9-a6ce-0242ac110006 Read: Thu, 11 Apr 2019 09:40:17 +0000

Let’s Build a Simple Database

This is walk-through guide to create a database, in C

Tags: database, create, workshop, walkthrough, c-lang, c, sqlite, clone, project, cstack, repl, sql, algorithm, b-tree, cursor

Id: 8b8ea88e-5848-11e9-b07b-0242ac110002 Read: Sat, 06 Apr 2019 08:47:01 +0000

A Universal Modular ACTOR Formalism for Artificial Intelligence

In this seminal paper, Hewitt describes the actor model.

Full of quotes from Lewis Carroll.

Tags: actor, actor-model, hewitt, quote, lewis-carroll, planner, 1973, pdp, structured-programming, classic, seminal, architecture

Id: b60f9642-6098-11e9-bbfd-0242ac110003 Read: Tue, 16 Apr 2019 22:41:01 +0000

All Remote

The remote manifesto by gitlab.

  • All-remote work promotes:

  • Hiring and working from all over the world instead of from a central location.

  • Flexible working hours over set working hours.

  • Writing down and recording knowledge over verbal explanations.

  • Written down processes over on-the-job training.

  • Public sharing of information over need-to-know access.

  • Opening up every document for editing by anyone over top-down control of documents.

  • Asynchronous communication over synchronous communication.

  • The results of work over the hours put in.

  • Formal communication channels over informal communication channels.

Some tools to make this happen:

  • Faster internet everywhere - 100Mb/s+ cable, 5GHz Wifi, 4G cellular
  • Video call software - Google Hangouts, Zoom
  • Mobile technology - Everyone has a computer in their pocket
  • Evolution of speech-to-text conversion software - more accurate and faster than typing
  • Messaging apps - Slack, Mattermost, Zulip
  • Issue trackers - Trello, GitHub issues, GitLab issues
  • Suggestions - GitHub Pull Requests, GitLab Merge Requests
  • Static websites - GitHub Pages, GitLab Pages
  • English proficiency - More people are learning English
  • Increasing traffic congestion in cities

Tags: tool, gitlab, remote, remote-work, manifesto, work

Id: d71b9822-6b38-11e9-9973-0242ac110003 Read: Tue, 30 Apr 2019 11:12:28 +0000