PageSourceSearch

https://odan.github.io/about.html

html odan.github.io collected 2026-10-03 09:42:18 UTC 8,621 bytes, 197 lines download raw bytes

1<!DOCTYPE html>
2<html lang=" en-US" data-theme="dark">
3
4<head>
5    
5<script>
6        (function () {
7            var saved = localStorage.getItem('theme') || 'dark';
8            document.documentElement.setAttribute('data-theme', saved);
9        })();
10    </script>
10
11    <meta charset="UTF-8">
12    <!-- Begin Jekyll SEO tag v2.8.0 -->
13<title>About | Daniel Opitz - Blog</title>
14<meta name="generator" content="Jekyll v3.10.0" />
15<meta property="og:title" content="About" />
16<meta property="og:locale" content="en_US" />
17<meta name="description" content="Solution Architect, Software Architect, Developer, Web developer" />
18<meta property="og:description" content="Solution Architect, Software Architect, Developer, Web developer" />
19<link rel="canonical" href="https://odan.github.io/about.html" />
20<meta property="og:url" content="https://odan.github.io/about.html" />
21<meta property="og:site_name" content="Daniel Opitz - Blog" />
22<meta property="og:type" content="website" />
23<meta name="twitter:card" content="summary" />
24<meta property="twitter:title" content="About" />
25<script type="application/ld+json">
26{"@context":"https://schema.org","@type":"WebPage","description":"Solution Architect, Software Architect, Developer, Web developer","headline":"About","url":"https://odan.github.io/about.html"}</script>
26
27<!-- End Jekyll SEO tag -->
28
29    <meta name="viewport" content="width=device-width, initial-scale=1">
30    <meta name="theme-color" content="#1e293b">
31    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
32    
33    <meta name="keywords" content="php, mysql, css, html, bootstrap, slim, framework, c#, csharp, dotnet" />
34    
35    <link rel="alternate" type="application/rss+xml" title="Subscribe to What's New"
36        href="https://odan.github.io/feed.xml" />
37    <link rel="preconnect" href="https://fonts.bunny.net">
38    <link rel="stylesheet" href="/assets/css/style.css?v=e9a526afe686618291ddcbf01fc2dc3799c141f8">
39    <link href="https://fonts.bunny.net/css?family=inter:400,500,600,700,800|jetbrains-mono:400,500" rel="stylesheet" />
40    <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?">
41    
41<script type="module"
42        src="https://cdn.jsdelivr.net/npm/@hotwired/turbo@latest/dist/turbo.es2017-esm.min.js"></script>
42
43    <meta name="view-transition" content="same-origin">
44    <meta name="turbo-prefetch" content="false">
45    <meta name="turbo-refresh-method" content="morph">
46    <meta name="turbo-refresh-scroll" content="preserve">
47</head>
48
49<body>
50    <nav>
51        <div class="nav-inner">
52            <a href="/" class="nav-logo">odan/blog</a>
53            <div class="nav-links" id="nav-links">
54                <a href="/">Blog</a>
55                <a href="/about.html">About</a>
56                <a href="/donate.html">Donate</a>
57                <a href="/search.html">Search</a>
58            </div>
59            <button class="theme-btn" id="toggle-mode" aria-label="Toggle dark/light mode">&#9790;</button>
60            <button class="hamburger" id="hamburger" aria-label="Menu">&#9776;</button>
61        </div>
62        <div class="nav-overlay" id="nav-overlay"></div>
63    </nav>
64
65    <header class="hero" role="banner">
66        <div class="hero-bg"></div>
67        <div class="hero-content">
68            <h1>Daniel Opitz - Blog</h1>
69            <p>Developer, Trainer, Open Source Contributor</p>
70        </div>
71    </header>
72
73    <main id="content" class="container-wide" role="main">
74        <h1 id="about-me">About me</h1>
75
76<p>Hello, my name is Daniel Opitz.</p>
77
78<p>I live in Switzerland and I create scalable web and IoT solutions with a strong focus on software architecture, 
79clean code, and long-term maintainability.</p>
80
81<p>In my spare time, I contribute to open-source projects and write blog posts about 
82software development, architecture, and modern programming practices.</p>
83
84<h2 id="skills">Skills</h2>
85
86<ul>
87  <li>C#, Java, PHP, JavaScript</li>
88  <li>PostgreSQL, MySQL, MariaDB, MS SQL, Oracle, SQLite, InterSystems Caché, Memcached, Redis, RabbitMQ</li>
89  <li>HTML, CSS, Bootstrap</li>
90  <li>.NET, Javalin, Slim Framework, CakePHP, Symfony</li>
91  <li>RESTful, SOAP, XML, JSON</li>
92  <li>SOLID, DDD, Clean Code, Clean Architecture</li>
93  <li>Windows, Linux, Cloud, Network, Web Security</li>
94</ul>
95
96<h2 id="videos">Videos</h2>
97
98<ul>
99  <li><a href="https://www.youtube.com/@DanielOpitz">YouTube Channel</a></li>
100</ul>
101
102<h2 id="publications">Publications</h2>
103
104<ul>
105  <li><a href="https://ko-fi.com/s/5f182b4b22">Slim 4 eBook Vol. 1</a></li>
106  <li><a href="https://ko-fi.com/s/e592c10b5f">Slim 4 eBook Vol. 2</a></li>
107  <li><a href="https://ko-fi.com/s/3698cf30f3">Slim 4 eBook Vol. 3</a></li>
108  <li><a href="https://odan.github.io/2020/05/20/slim4-php-magazin-420.html">Das PHP Micro-Framework Slim 4</a> (PHP Magazin Ausgabe 4.20)</li>
109  <li><a href="https://www.programmez.com/magazine/article/la-decouverte-de-slim-4">À la découverte de Slim 4</a> (Programmez!)</li>
110</ul>
111
112<h2 id="interviews">Interviews</h2>
113
114<ul>
115  <li><a href="https://entwickler.de/online/php/php-microframework-slim-579928772.html">PHP Microframework Slim auch für größere Anwendungen geeignet</a></li>
116</ul>
117
118<h2 id="my-projects">My projects</h2>
119
120<ul>
121  <li><a href="https://github.com/odan/slim4-skeleton">odan/slim4-skeleton</a> A Slim 4 skeleton for apache</li>
122  <li><a href="https://github.com/selective-php">Selective PHP</a> A collection of awesome PHP packages</li>
123  <li><a href="https://odan.github.io/learn-php/">Learn modern PHP</a> A curated list of resources for PHP</li>
124  <li><a href="https://github.com/odan?tab=repositories">All projects</a></li>
125</ul>
126
127<h2 id="open-source-contributions">Open Source Contributions</h2>
128
129<ul>
130  <li><a href="https://www.slimframework.com/">Slim Framework</a> A PHP micro framework</li>
131  <li><a href="https://cakephp.org/">CakePHP</a> A rapid development framework for PHP</li>
132  <li><a href="https://github.com/cakephp/chronos">Chronos</a> A standalone DateTime library</li>
133</ul>
134
135<h2 id="conferences">Conferences</h2>
136
137<ul>
138  <li><a href="https://phpconference.com/">International PHP Conference</a> (2015-2023)</li>
139  <li><a href="https://basta.net/mainz/">BASTA! .NET, Windows &amp; Web Development - Online</a> (2021)</li>
140  <li><a href="https://phpconference.com/">International PHP Conference - Munich</a> (2013)</li>
141</ul>
142
143<p><a id="contact"></a></p>
144
145<h2 id="contact">Contact</h2>
146
147<ul>
148  <li><a href="mailto:[email protected]">E-Mail</a></li>
149  <li><a href="https://x.com/dopitz">X</a></li>
150  <li><a href="https://github.com/odan">GitHub</a></li>
151  <li><a href="https://www.linkedin.com/in/daniel-opitz-493816111">LinkedIn</a></li>
152  <li><a href="https://www.xing.com/profile/Daniel_Opitz9">Xing</a></li>
153</ul>
154
155
156        <footer>
157            &copy; 2026 Daniel Opitz
158            &nbsp;|&nbsp; <a href="https://x.com/dopitz" target="_blank">X</a>
159            &nbsp;|&nbsp; <a href="https://github.com/odan" target="_blank">GitHub</a>
160            &nbsp;|&nbsp; <a href="https://www.linkedin.com/in/daniel-opitz-493816111" target="_blank">LinkedIn</a>
161            &nbsp;|&nbsp; <a href="https://odan.github.io/feed.xml" target="_blank">RSS</a>
162        </footer>
163    </main>
164
165    
165<script>
166        (function () {
167            document.getElementById('toggle-mode').addEventListener('click', function (e) {
168                var cur = document.documentElement.getAttribute('data-theme');
169                var next = cur === 'dark' ? 'light' : 'dark';
170                document.documentElement.setAttribute('data-theme', next);
171                localStorage.setItem('theme', next);
172            });
173
174            var hamburger = document.getElementById('hamburger');
175            var navLinks = document.getElementById('nav-links');
176            var overlay = document.getElementById('nav-overlay');
177            if (hamburger && navLinks) {
178                function closeMenu() {
179                    navLinks.classList.remove('open');
180                    overlay.classList.remove('open');
181                    document.body.classList.remove('nav-open');
182                }
183                hamburger.addEventListener('click', function () {
184                    navLinks.classList.toggle('open');
185                    overlay.classList.toggle('open');
186                    document.body.classList.toggle('nav-open');
187                });
188                overlay.addEventListener('click', closeMenu);
189                navLinks.querySelectorAll('a').forEach(function (link) {
190                    link.addEventListener('click', closeMenu);
191                });
192            }
193        })();
194    </script>
194
195</body>
196
197</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.