Andreas Writing

  1. My first Kriegsspiel experience Many people playing war in Discord results in fun communication chaos.
  2. SoloVer 2 a simple and expressive versioning specification
  3. Accidentally Turing-Complete A list of things that were not supposed to be Turing-complete, but are.
  4. User Stories? Thanks but No. User stories as requirements are bad. User stories as work items might be ok.
  5. Agile! The Good, the Hype and the Ugly (review) The one book which provides a balanced assessment of Agile.
  6. My elegant 4d6 system A novel dice mechanic for RPGs.
  7. One Letter Programming Languages If you are looking for a free name, there is none.
  8. Microdefects A microdefect is a one-in-a-million chance for a defect and we can use that to quantify technical debt in dollars.
  9. Six Simple Rules (review) A book about improving organizations without introducing more rules or changing mindsets.
  10. Why Embedded Software Development is Harder External hardware, distributed systems, resource constraints, realtime, hw-sw-codesign, and safety-criticality make it hard.
  11. Can Nokia and Netscape tell us when radical change is necessary? The lessons from the history of the two companies are not at all obvious to me.
  12. How you can handle The Diamond with CMake CMake requires old-school include-guards and prefix at scale
  13. Software Architecture: How You Make Them Care Software architects must code, talk business, and tell stories.
  14. 3 Ideas How to Communicate Your Architecture Write decision records, write a newsletter, and explain at concrete examples.
  15. Influence (review) Humans rely on mental shortcuts and that is exploited.
  16. Made to Stick (review) Sticky ideas are simple, unexpected, concrete, credentialed, emotional, and a story.
  17. The Three Owners of an Interface An interface is owned above, below, or at the same layer.
  18. The Culture Code (review) Grow an effective team through building safety, sharing vulnerability, and establishing purpose.
  19. The Heart of Change (review) Change initiatives succeed in stages building on each other.
  20. Turn the Ship Around! (review) The best book about empowerment. Turns a submarine from worst to best.
  21. Use decision records already! To develop more systematically, decision records are a great first step.
  22. OKRs are about change Objectives and Key Results is better understood by Change principles
  23. Switch (review) How to change things when change is hard
  24. Pondering Amazon's Manyrepo Build System Amazon's build system provides valuable insights for manyrepo environments.
  25. Notes with TiddlyWiki Describing my note taking system inspired by Zettelkasten
  26. Peopleware (review) Leaders of software developer teams should care more about sociology.
  27. Crossing the Chasm (review) The book describes the dangerous transition from early adopters to an early majority market
  28. Wardley Maps (review) A book which presents a map visualization for business strategy
  29. No real numbers Interactive article about the pitfalls of integer and floating point arithmetic.
  30. How to do hermetic builds Bazel does surprisingly little and it could be easily ported
  31. Pondering a Monorepo Version Control System How a VCS designed for monorepos would look like and why I don't build it.
  32. TLA+ is easier than I thought Did a small exercise with TLA+, an easy model checker.
  33. Mindstorms (review) A book about a revolution of education which sadly never happened.
  34. Sacrifice of Scar Short Lion King fanfic
  35. Definitions of Software Architecture Software architecture documents the shared understanding of a software system.
  36. Thinking in Systems (review) A shallow introduction to Systems Thinking.
  37. Should version control and build systems merge? At scale version control and build system seem to merge but there is no unified tool available yet.
  38. Companies are AI Depending on the definition of intelligence, companies are intelligent beings.
  39. What is ASPICE? The automotive industry knows how to develop software as demonstrated by ASPICE.
  40. C++ State Machines Avoid input parameters so state machines transitions are decoupled from transition effects.
  41. TipiWiki (2003) More than 15 years ago I published a little wiki software.
  42. The New Economics (review) A book about system thinking, statistics, learning, and psychology.
  43. Deriving Story Points Story points are a useful technique to improve prediction but they have limits because the lack in statistics.
  44. The Spartan Web Defining a label for websites I like to visit and would like to see more of.
  45. Waterfall The "Waterfall" methodology was a historic accident and they knew it.
  46. Dependency Abstraction A design pattern which generalizes Dependency Inversion and can also be applied on an architectural level.
  47. Model View Controller isn't Maybe the most misunderstood design pattern.
  48. How to implement strings There are many alternatives to C strings. Here we explore the design space.
  49. Advice for a Junior Software Developer Random wise words like "Never assume anybody is stupid".
  50. The Cost of Agile Agile improves time to market at the cost of process efficiency
  51. My Raspberry Pi RF ID music player My electronics for the kids music player are complete and working.
  52. Using an M302 RF ID Reader with Linux How to get a cheap RF ID reader running with Ubuntu and Python
  53. My Linux History I'm now using a Linux desktop for twenty years
  54. Lambda interpreter in the way of GOD Good Object-oriented Design (GOD) says to avoid instanceof. Here is how to implement pattern matching another way.
  55. Abstracting is NOT about Names You can abstract without giving names: The Design by Introspection technique
  56. Precise Abstractions Precise abstractions apply to exactly the right types and D allows to check for that.
  57. Cryptocurrencies Bitcoin is a revolutionary technology. It might also be replaced quite soon.
  58. 6 Wildly Different Presentation Styles A list of various presentations styles with and without slides
  59. Forget about Leaky Abstractions If an abstraction is not perfect for you, it is incomplete or unsuitable
  60. How to generate Lua boilerplate with D Lua bindings require lots of pushes and pops, but with D they are magically implicit
  61. Cognitive Dissonance as a Method How populism turns people into xenophobic fascists
  62. Slide design for graphically-challenged people Black on white, left align, one font for text, one font for code, fullscreen images.
  63. Federation is the Future for an Open Web P2P technology is doomed on mobile. For a democratic web, we need to work on federation.
  64. Great Teams require Psychological Safety Create great teams in 5 steps. Google collected lots of data about productivity in teams and these are the results.
  65. Memory Consistency Models for Programming Languages The general memory consistency model is "Sequential Consistency for data race free programs". The rest is details.
  66. Hacker Titles for Business Cards pointer arithmetician, languagician, object orienter, ...