PageSourceSearch

https://ozimmer.ch/

html ozimmer.ch collected 2026-10-02 04:43:37 UTC 24,045 bytes, 390 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
7<link rel="icon" href="https://ozimmer.ch/favicon.ico">
8
9<title>Website and Blog of Dr. Olaf Zimmermann</title>
10
11<!-- Begin Jekyll SEO tag v2.8.0 -->
12<title>Website and Blog of Dr. Olaf Zimmermann | Olaf Zimmermann (ZIO, socadk, MAP author): portfolio, blog</title>
13<meta name="generator" content="Jekyll v4.3.2" />
14<meta property="og:title" content="Website and Blog of Dr. Olaf Zimmermann" />
15<meta property="og:locale" content="en_US" />
16<meta name="description" content="ZIO’s Swiss blog and site: Architectural Decisions, API Design Patterns, Microservices; Technical Writing and Software Engineering Method Elements" />
17<meta property="og:description" content="ZIO’s Swiss blog and site: Architectural Decisions, API Design Patterns, Microservices; Technical Writing and Software Engineering Method Elements" />
18<link rel="canonical" href="https://ozimmer.ch/" />
19<meta property="og:url" content="https://ozimmer.ch/" />
20<meta property="og:site_name" content="Olaf Zimmermann (ZIO, socadk, MAP author): portfolio, blog" />
21<meta property="og:type" content="website" />
22<meta name="twitter:card" content="summary" />
23<meta property="twitter:title" content="Website and Blog of Dr. Olaf Zimmermann" />
24<script type="application/ld+json">
25{"@context":"https://schema.org","@type":"WebSite","description":"ZIO’s Swiss blog and site: Architectural Decisions, API Design Patterns, Microservices; Technical Writing and Software Engineering Method Elements","headline":"Website and Blog of Dr. Olaf Zimmermann","name":"Olaf Zimmermann (ZIO, socadk, MAP author): portfolio, blog","url":"https://ozimmer.ch/"}</script>
25
26<!-- End Jekyll SEO tag -->
27
28
29<link rel="stylesheet" href="/assets/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
30    
31<link href="/assets/css/screen.css" rel="stylesheet">
32
33<link href="/assets/css/main.css" rel="stylesheet">
34
35<script src="/assets/js/jquery.min.js"></script>
35
36
37</head>
38
39
40
41
42<body class="layout-default">
43	<!-- defer loading of font and font awesome --> 
44	<noscript id="deferred-styles">
45        <link href="https://fonts.googleapis.com/css?family=Righteous%7CMerriweather:300,300i,400,400i,700,700i" rel="stylesheet">
46		<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
47	</noscript>
48
49
50<!-- Begin Menu Navigation
51================================================== -->
52<nav class="navbar navbar-expand-lg navbar-light bg-white fixed-top mediumnavigation nav-down">
53
54    <div class="container pr-0">
55
56    <!-- Begin Logo/Tagline -->
57    <!--
58    <a class="navbar-brand" href="/">
59    <img src="/" alt="Olaf Zimmermann">
60    </a>
61    -->
62    <a class="navbar-brand" href="https://ozimmer.ch/">Olaf Zimmermann</a>
63    <!-- End Logo -->
64
65    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarMediumish" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
66    <span class="navbar-toggler-icon"></span>
67    </button>
68
69    <div class="collapse navbar-collapse" id="navbarMediumish">
70
71        <!-- Begin Menu -->
72
73            <ul class="navbar-nav ml-auto">
74
75                
76                <li class="nav-item active">
77                
78                <a class="nav-link" href="/index.html">Home</a>
79                </li>
80
81                <li class="nav-item">
82                    <a class="nav-link" href="/blog/">Blog</a>
83                </li>
84
85                <li class="nav-item">
86                    <a class="nav-link" href="/articles/">Presentations, Books, Articles</a>
87                </li>
88
89                <li class="nav-item">
90                    <a class="nav-link" href="/services/">Projects and Services</a>
91                </li>
92
93                <li class="nav-item">
94                <a class="nav-link" href="/about/">About Me</a>
95                </li>
96
97                
97<script src="/assets/js/lunr.js"></script>
97
98
99
100<style>
101    .lunrsearchresult .title {color: #d9230f;}
102    .lunrsearchresult .url {color: silver;}
103    .lunrsearchresult a {display: block; color: #777;}
104    .lunrsearchresult a:hover, .lunrsearchresult a:focus {text-decoration: none;}
105    .lunrsearchresult a:hover .title {text-decoration: underline;}
106</style>
107
108
109<form class="bd-search" onSubmit="return lunr_search(document.getElementById('lunrsearch').value);">
110    <input type="text" class="form-control text-small launch-modal-search" id="lunrsearch" name="q" maxlength="255" value="" placeholder="Type and enter..."/>
111</form>
112
113<div id="lunrsearchresults">
114    <ul></ul>
115</div>
116
117<script src="/assets/js/lunrsearchengine.js"></script>
117
118
119            </ul>
120
121        <!-- End Menu -->
122
123    </div>
124
125    </div>
126</nav>
127<!-- End Navigation
128================================================== -->
129
130<div class="site-content">
131
132<div class="container">
133
134<!-- Site Title
135================================================== 
136<div class="mainheading">
137    <h1 class="sitetitle">Olaf Zimmermann</h1>
138    <p class="lead">
139        ZIO's Swiss blog and site: Architectural Decisions, API Design Patterns, Microservices; Technical Writing and Software Engineering Method Elements
140    </p>
141</div>
142-->
143
144<!-- Content
145================================================== -->
146<div class="main-content">
147    Welcome to the website and blog of <!-- Prof. --> Dr. <a href="./about/" target="_blank">Olaf Zimmermann</a>! I am a consulting IT architect and senior researcher who likes to<!-- reflect and--> share experiences and own opinions.
148The site features<!-- stories,--> insights and unsolicited advice from 25+ years on the road in software architecture land. 
149
150Content comes in two forms: 
151<p></p>
152<ol>
153    <li>The blog <a href="./blog/" target="_blank">"The Concerned Architect"</a> targets a) anybody interested in ADRs, API design, DDD, microservices, modelling, b) practicing and aspiring software architects, and c) technical writers in industry and academia. All posts are listed in this <a href="/index/2020/04/15/BlogHighlightsAndOutlook.html" target="_blank">post index</a> and can be navigated by <a href="/tags/" target="_blank">topic tag</a>.
154    <li>Additional pages collect <a href="./articles/" target="_blank"> articles and presentations</a>, outline my <a href="./services/" target="_blank">professional services portfolio</a>, point at <a href="/others" target="_blank">other blogs</a> and tell you more <a href="/about" target="_blank">about me</a>.
155</ol> 
156
157New and noteworthy:
158<p></p>
159<ul>
160<li><em>September 12, 2026:</em> New blog post published: <a href="/practices/2026/09/12/ADRMistakes.html" target="_blank">"Ten Common Mistakes in Architectural Decision Records (ADRs)"</a>, observed since January 2026.</li>
161<li><em>June 27, 2026:</em> Featured content: <a href="/patterns/2026/06/27/InterfaceRefactoringCatalog.html" target="_blank">"How to Improve API Quality? A Catalog of Remote Interface Refactorings"</a> collected from 2021 to 2025.</li>
162<li><em>June 14, 2026:</em> New blog post: <a href="/practices/2026/06/19/YADRTemplateIntroduction.html" target="_blank">"The YAML ADR Template (YADR): A MADR Port"</a>.</li>
163<li><em>April 16, 2026:</em> <a href="https://github.com/adr/yadr/tree/0.1.0" target="_blank">YADR templates</a> available, updates to blog post <a href="/practices/2022/11/22/MADRTemplatePrimer.html" target="_blank">"The Markdown ADR (MADR) Template Explained and Distilled"</a>.</li>
164<li><em>March 15, 2026:</em> New post <a href="/misc/2026/03/15/AIInSoftwareEngineeringPart3.html" target="_blank">"AI Resources, Part 3: Software Architecture Use Cases, AI-Assisted Coding, Agentic AI"</a>.</li>
165<li><em>February 1, 2026:</em> As co-editor of the "Dear Researchers" column (JSS), industry writing to academia, I updated my <a href="/misc/2025/02/01/DearResearchersColumn.html" target="_blank">column overview</a> from 2025.</li>
166<li><em>November 5, 2025:</em> <a href="/assets/presos/APIFirstWithPatternsForAPIDesignNL051125v101p.pdf" target="_blank">"API First with 'Patterns for API Design'" (PDF)</a>, keynote at a knowledge exchange event of the Dutch API community.</li>
167<li><em>September 1, 2025:</em> <a href="/practices/2025/09/01/ADMFallacies.html" target="_blank">"Seven Architectural Decision Making Fallacies (and Ways Around Them)"</a>. Identify and counter poor practices!</li>
168<!-- <li><em>August 28, 2025:</em> <a href="/misc/2025/08/28/AIInSoftwareEngineeringPart2.html" target="_blank">More Resources about AI You Might Want to Review</a>. Domain-driven context engineering and more.</li>-->
169</ul>
170
171<p></p>
172Click <a href="/index/2020/04/15/BlogHighlightsAndOutlook.html" target="_blank">here</a> for a list of all blog posts and <a href="/papers" target="_blank">here</a> for research papers. I point at other blogs and websites <a href="/others" target="_blank">here</a>.
173<p></p>
174
175<!-- Other topics that I am passionate &mdash; and opinionated &mdash; about include: -->
176<p></p>
177<p class="mb-5">
178    <a href="./blog/">
179    <img class="shadow-lg" height="90%" width="90%" src="/assets/images/TCA-WordCloud54PostsSept182025-1.png" alt="ZIO Word Cloud"/>
180    </a>
181<p></p>
182<!-- wordclouds.ethz.ch -->
183
184The following event log lists more additions and updates: 
185<p></p>
186
187<em>December 1, 2025: </em> <a href="/patterns/2020/04/29/MAPRetrospective.html" target="_blank">MAP Retrospective from 2016 to 2021 updated.</a> Thoughts on pattern mining, writing as a team, continuous publishing.</li>
188<br/>
189<!--<em>September 1, 2025:</em> <a href="/practices/2025/09/01/ADMFallacies.html" target="_blank">Seven Architectural Decision Making Fallacies (and Ways Around Them)</a>. Identify and counter poor practices!
190<br/>-->
191<em>August 28, 2025:</em> <a href="/misc/2025/08/28/AIInSoftwareEngineeringPart2.html" target="_blank">More Resources about AI You Might Want to Review</a>. Domain-driven context engineering and more.
192<br/>
193<em>New (August 13, 2025):</em> <a href="/papers/2025/08/13/ClassicalPapersReadingGroup.html" target="_blank">Classical Papers in Computer Science and Software Engineering: A Reading Group</a>. Brooks, Conway, Dijkstra, Parnas + 3.
194<br/>
195<!-- <em>July 17, 2025: </em> <a href="/practices/2025/07/17/ArchitectureDecisionGuidanceTool.html" target="_blank">ADG: A Light Architectural Decision Guidance and Management Tool</a>. ADG has just been open sourced on <a href="https://github.com/adr/ad-guidance-tool" target="_blank">GitHub</a>.
196<br/>-->
197<em>July 7, 2025:</em> Journal article <a href="https://www.sciencedirect.com/science/article/pii/S0164121225002080" target="_blank">"Overcoming the research-practice gap: Root cause analysis and topics of practical relevance in software architecture and distributed systems"</a> (open access), a "Dear Researchers" column in the Journal of Systems and Software (JSS). Based on two of my blog posts. 
198<br/>
199<em>May 31, 2025:</em> <a href="/index/2025/05/31/BlogAnniversaryFiveYears50Posts.html" target="_blank">Happy Birthday 'The Concerned Architect': Five Years, 50 Posts</a> 🥳. Overview and highlights of blog content.
200<br/>
201<em>May 28, 2025:</em> <a href="/misc/2025/05/28/AIInSoftwareEngineering.html" target="_blank">Ten Resources about AI in Software Engineering You Do Not Want to Miss</a>. Click-bait title, balanced views (industry, academia). 
202<br/>
203<em>April 23, 2025:</em> Introduction to <a href="/assets/presos/ZIO-DPR+MADR+LASR-AtDSAv101p.pdf" target="_blank">DPR, MADR, LASR (what?)</a> (PDF). Presentation on Design Practice Reference, Markdown ADRs, Reviewing.
204<br/>
205<em>New (April 4, 2025):</em> Advice and checklist <a href="/authoring/2025/04/04/ThesisReportWritingAdviceAndChecklist.html" target="_blank">Do's and Don'ts in Technical Reports about Term and Thesis Projects</a> for students and their advisors.
206<br/>
207<em>April 1, 2025:</em> Partly satirical proposal for <a href="/misc/2025/04/01/AlternativeMetrics.html" target="_blank">Novel Measurements for Academic Work (and Beyond?)</a>.
208<br/>
209<em>New (March 14, 2025):</em> From analysis to synthesis: <a href="/misc/2025/03/14/DearResearchersPart3.html" target="_blank">Messages from Practice to Academia, Part 3: Bridge Building and Topics of Interest</a>.
210<br/>
211<em>New (March 3, 2025):</em> Reasons for the research-practice gap identified in <a href="/misc/2025/03/03/DearResearchersPart2.html" target="_blank">Messages from Practice to Academia, Part 2</a>.
212<br/>
213<br/>
214<em>February 1, 2025:</em> Journal column "Dear Researchers" with messages from practice to academia featured in <a href="/misc/2025/02/01/DearResearchersColumn.html" target="_blank">Part 1</a> of a three-part article series.
215<!-- 
216GGSW post not listed here (ok)  
217<br/>
218-->
219
220<br/>
221<em>December 11, 2024:</em> Slides from CIT presentation <a href="/assets/presos/ZIO-SWAFourPointZerovAtCITv101ps.pdf" target="_blank">
221"Software Architecture @ 32: Responsible Decision Making or Prompt Engineering?"</a> (PDF). 
222<br/>
223<em>October 14, 2024:</em> Slides for ITARC keynote <a href="/assets/presos/ZIO-ITARCKeynoteTADv101p.pdf" target="_blank">"Timing Architectural Decisions"</a> (PDF): ASRs, MRM, DoR, DoD, ESE. 
224<br/>
225<!-- 
226<em>New (August 23, 2024):</em> Version 1.1. of open-source method/practice repository <a href="https://github.com/ethical-se/ese-practices/blob/v11/README.md" target="_blank">Ethical Software Engineering (ESE)</a> released on GitHub.  
227<br/>
228-->
229<em>April 14, 2024:</em> "Patterns for API Design" <a href="https://web.archive.org/web/20240404074233/https://apiconference.net/api-design/api-design-patterns/" target="_blank">workshop</a> delivered at API Conference 2024. Short <a href="https://medium.com/@docsoc/impressions-from-api-con-2024-623b80e0a66b" target="_blank">conference report </a> (take aways, links) on Medium. 
230<br/>
231<em>March 14, 2024:</em> ETHICOMP presentation <a href="/assets/presos/ZIO-ESEAtETHICOMPv10p.pdf" target="_blank">"Bringing Ethical Values into Agile Software Engineering"</a> (PDF), featuring <a href="https://github.com/ethical-se/ese-practices" target="_blank">ESE</a> practices. The peer-reviewed <a href="https://dialnet.unirioja.es/descarga/articulo/9326119.pdf" target="_blank">extended abstract</a> (PDF) of the conference paper is available as well; the full paper that followed can be downloaded <a href="/assets/ESE-ETHICOMP2024FullPaperAuthorsCopyV101.pdf" target="_blank">here</a> (PDF).
232<br/>
233<!-- <em>New (February 23, 2024):</em> Four <a href="/papers" target="_blank">new papers</a> on API design and refactoring, CI/CD setup experiences, ethical software engineering. 
234<br/> -->
235<em>January 15, 2024:</em> Article series <a href="/patterns/2024/01/13/APIDesignPatternOfTheWeek.html" target="_blank">"API Design Pattern of the Week"</a> (#apidpotw), featuring selected content from the book <a href="https://api-patterns.org/" target="_blank">"Patterns for API Design"</a>.
236<p></p>
237<!--
238<em>New (December 1, 2023):</em> <a href="/practices/2023/12/01/ADDefinitionOfReady.html" target="_blank">A Definition of Ready for Architectural Decisions (ADs)</a>. 
239<br/>
240<em>New (July 5, 2023):</em> <a href="/misc/2023/07/05/EuroPLoP2023.html" target="_blank">Returning to EuroPLoP &mdash; Topics: API Refactoring (Paper) and Pattern Visualization (Focus Group)</a>. <br/>
241<em>New (May 26, 2023):</em> <a href="/modeling/2023/05/26/ArchitectureandModelingLearningEvent.html" target="_blank">Notes from The Architecture and Modeling Learning Event &mdash; Vaughn Vernon Signature Series Live in Action</a>.</br>
242<em>New (April/May, 2023):</em> Advice how to <a href="/practices/2023/04/03/ADRCreation.html" target="_blank">create</a> and <a href="/practices/2023/04/05/ADRReview.html" target="_blank">review</a> ADRs and proposal for <a href="/practices/2023/04/21/ADAdoptionModel.html" target="_blank">An Adoption Model for Architectural Decision Making and Capturing</a>.<br/> 
243<em>New (Feb 16, 2023):</em> <a href="/assets/presos/ZIO-MAPPfADatZEUSv10p.pdf" target="_blank">"APIs as Service Activators: Tackling the Hard Parts of Integration Design"</a> (ZEUS 2023 keynote slides).  
244<p></p>
245-->
246<p></p>
247
248I have co-authored a few books, including "Patterns for API Design. Simplifying Integration with Loosely Coupled Message Exchanges":
249<p></p>
250
251<p class="mb-5">
252    <a href="https://api-patterns.org/book/" target="_blank"> 
253    <img class="shadow-lg" height="90%" width="90%" src="https://api-patterns.org/resources/patterns-for-api-design-social-friendly-slide.jpg" alt="API Patterns Book"/>
254    </a>
255<p></p>
256
257The article series <em>API Design Patterns of the Week</em> on LinkedIn and Medium features pattern summaries (<a href="https://medium.com/olzzio/api-design-pattern-of-the-week-47e88dcdb9e" target="_blank">pattern/article index</a><!-- is available on Medium and an overview post here in this blog-->):  
258<p></p>
259
260Week 1: <a href="https://www.linkedin.com/pulse/api-design-pattern-week-wish-list-olaf-zimmermann/" target="_blank">Wish List</a>, 
261Week 2: <a href="https://www.linkedin.com/pulse/api-design-pattern-week-pagination-olaf-zimmermann/" target="_blank">Pagination</a>,
262Week 3: <a href="https://www.linkedin.com/pulse/api-design-pattern-week-error-report-olaf-zimmermann/" target="_blank">Error Report</a>,
263Week 4: <a href="https://www.linkedin.com/pulse/api-design-pattern-week-key-olaf-zimmermann/" target="_blank">API Key</a>,
264Week 5: <a href="https://www.linkedin.com/pulse/api-design-pattern-week-processing-resource-olaf-zimmermann/" target="_blank">Processing Resource</a>,
265Week 6: <a href="https://www.linkedin.com/pulse/api-design-pattern-week-information-holder-resource-olaf-zimmermann/" target="_blank">Information Holder Resource</a>,
266Week 7: <a href="https://www.linkedin.com/pulse/api-pattern-week-data-transfer-resource-olaf-zimmermann" target="_blank">Data Transfer Resource</a>,
267Week 8: <a href="https://www.linkedin.com/pulse/api-pattern-week-state-transition-operation-mirko-stocker" target="_blank">State Transition Operation</a>,
268Week 9: <a href="https://www.linkedin.com/pulse/api-pattern-week-metadata-element-mirko-stocker" target="_blank">Metadata Element</a>,
269Week 10: <a href="https://www.linkedin.com/pulse/api-pattern-week-id-element-mirko-stocker" target="_blank">Id Element</a>.
270Week 11: <a href="https://www.linkedin.com/pulse/api-pattern-week-embedded-entity-mirko-stocker" target="_blank">Embedded Entity</a>.
271Week 12: <a href="https://www.linkedin.com/pulse/api-pattern-week-linked-information-holder-mirko-stocker" target="_blank">Linked Information Holder</a>.
272Week 13: <a href="https://www.linkedin.com/pulse/api-pattern-week-conditional-request-mirko-stocker" target="_blank">Conditional Request</a>.
273Week 14: <a href="https://www.linkedin.com/pulse/api-pattern-week-description-mirko-stocker" target="_blank">API Description</a>,
274Week 15: <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-15-rate-limit-aae8be131306" target="_blank">Rate Limit</a>,
275Week 16: <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-16-context-representation-bbdf09843df0" target="_blank">Context Representation</a>,
276Week 17: <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-17-version-identifier-9ca89ecd2579" target="_blank">Version Identifier</a>,
277Week 18: <a href="https://docsoc.medium.com/api-design-pattern-of-the-week-18-two-in-production-2abf2f6f17bf" target="_blank">Two in Production</a>,
278Week 19: <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-19-public-api-35087ea6c7cf" target="_blank">Public API</a>,
279Week 20: <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-20-retrieval-operation-03a1d3f80d31" target="_blank">Retrieval Operation</a>,
280Week 21: <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-21-service-level-agreement-652fcc56ad1e" target="_blank">Service Level Agreement</a>.
281<p></p>
282
283The book features these 21 patterns, and 23 more, in depth. A <a target="_blank" href="https://api-patterns.org/book/pattern-adoption-story-1">pattern adoption story</a> from book readers confirms that these patterns are applied in the community.
284Learn more about the book <a target="_blank" href="https://api-patterns.org/book/">here</a>.
285<p></p>
286
287There is an <a href="./feed.xml" target="_blank">RSS feed</a> for this website, including the blog. My <a href="https://medium.com/@docsoc" target="_blank">Medium</a> stories feature shortened versions of many posts.
288<p></p>
289Hope you like it! 
290<p></p>
291<img class="shadow-lg" height="75" src="/assets/images/ZIO-IFS2020.jpg" alt="ZIO"/>
292&nbsp;&nbsp;&nbsp;
293<p></p>
294&ndash; Olaf (aka DocSoC, socadk)
295<p>
296<!--
297<div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="b567e7cb-870a-4c42-a0e7-040784de90eb" data-share-badge-host="https://www.credly.com"></div>
297<script type="text/javascript" async src="//cdn.credly.com/assets/utilities/embed.js"></script>
297    
298</p>
299-->
300<p>
301<p>
302
303<p>
304    <em>Terms and conditions of using this website:</em> see page
305    <a href="/terms/" target="_blank">Terms and Conditions</a>.
306</p>
307</div>
308
309<!--
310
311-->
312
313</div>
314
315
316<!-- Categories Jumbotron
317================================================== -->
318<div class="jumbotron fortags">
319	<div class="d-md-flex h-100">
320		<div class="col-md-4 transpdark align-self-center text-center h-100">
321            <div class="d-md-flex align-items-center justify-content-center h-100">
322                <h4 class="d-md-block align-self-center py-1 font-weight-light">Explore Blog by category <span class="d-none d-md-inline">→</span></h4>
323            </div>
324		</div>
325		<div class="col-md-8 p-5 align-self-center text-center">
326            
327            
328                
329                    <a class="mt-1 mb-1" href="/categories#Index">Index (6)</a>
330                
331                    <a class="mt-1 mb-1" href="/categories#Authoring">Authoring (7)</a>
332                
333                    <a class="mt-1 mb-1" href="/categories#Practices">Practices (22)</a>
334                
335                    <a class="mt-1 mb-1" href="/categories#Patterns">Patterns (8)</a>
336                
337                    <a class="mt-1 mb-1" href="/categories#Misc">Misc (10)</a>
338                
339                    <a class="mt-1 mb-1" href="/categories#Modeling">Modeling (2)</a>
340                
341                    <a class="mt-1 mb-1" href="/categories#Guest">Guest (2)</a>
342                
343                    <a class="mt-1 mb-1" href="/categories#Papers">Papers (1)</a>
344                
345            
346            
347		</div>
348	</div>
349</div>
350
351<!-- Begin Footer
352================================================== -->
353<footer class="footer">
354    <div class="container">
355        <div class="row">
356            <div class="col-md-6 col-sm-6 text-center text-lg-left">
357                Copyright © 2026 Olaf Zimmermann. All rights reserved. Terms and Conditions apply.
358            </div>
359            <div class="col-md-6 col-sm-6 text-center text-lg-right">    
360                Based on the <a target="_blank" href="https://www.wowthemes.net/mediumish-free-jekyll-template/">Mediumish Jekyll Theme</a>.
361            </div>
362        </div>
363    </div>
364</footer>
365<!-- End Footer
366================================================== -->
367
368</div> <!-- /.site-content -->
369
370<!-- Scripts
371================================================== -->
372
373<!--
374<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
374
375-->
376
377<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
377
378
379<script src="/assets/js/mediumish.js"></script>
379
380
381
382
383<script src="/assets/js/ie10-viewport-bug-workaround.js"></script>
383 
384
385<!--
386
387-->
388
389</body>
390</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.