<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8' /> <meta name='viewport' content='width=device-width, initial-scale=1' /> <title> Curriculum Vitae – Home </title> <meta property='og:description' content='[[About]]' /> <meta property='og:site_name' content='Home' /> <meta property='og:image' content /> <meta property='og:type' content='website' /> <meta property='og:title' content='Curriculum Vitae' /> <base href='/' /> <link href='favicon.svg' rel='icon' /> <script> window.MathJax = { startup: { ready: () => { MathJax.startup.defaultReady(); } } }; </script> <script async id='MathJax-script' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script> <!-- mermaid.js --><script src='https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js'></script> <script> mermaid.initialize({startOnLoad:false}); mermaid.init(undefined,document.querySelectorAll(".mermaid")); </script> <!-- highlight.js --> <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/hybrid.min.css' /> <script src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js'></script> <!-- Include languages that Emanote itself uses --> <script src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/languages/haskell.min.js'></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/languages/nix.min.js'></script> <script>hljs.highlightAll();</script> <link href='tailwind.css?instanceId=e98d22b9-5039-4bd9-8072-cac8aca20ee6' rel='stylesheet' type='text/css' /> <style> /* Heist error element */ strong.error { color: lightcoral; font-size: 90%; font-family: monospace; } /* External link icon */ a[data-linkicon=""]::after { content: "" } a[data-linkicon=none]::after { content: "" } a[data-linkicon="external"]::after { content: url('data:image/svg+xml,\ <svg xmlns="http://www.w3.org/2000/svg" height="0.7em" viewBox="0 0 20 20"> \ <g style="stroke:gray;stroke-width:1"> \ <line x1="5" y1="5" x2="5" y2="14" /> \ <line x1="14" y1="9" x2="14" y2="14" /> \ <line x1="5" y1="14" x2="14" y2="14" /> \ <line x1="5" y1="5" x2="9" y2="5" /> \ <line x1="10" y1="2" x2="17" y2="2" /> \ <line x1="17" y1="2" x2="17" y2="9" /> \ <line x1="10" y1="9" x2="17" y2="2" style="stroke-width:1.0" /> \ </g> \ </svg>'); } a[data-linkicon="external"][href^="mailto:"]::after { content: url('data:image/svg+xml,\ <svg \ xmlns="http://www.w3.org/2000/svg" \ height="0.7em" \ fill="none" \ viewBox="0 0 24 24" \ stroke="gray" \ stroke-width="2"> \ <path \ stroke-linecap="round" \ stroke-linejoin="round" \ d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" /> \ </svg>'); } </style> <!-- What goes in this file will appear on near the end of <head>--><link rel='preload' href='_emanote-static/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf' as='font' type='font/ttf' crossorigin /> <style> @font-face { font-family: 'WorkSans'; /* FIXME: This ought to be: ${ema:emanoteStaticLayerUrl}/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf */ src: url(_emanote-static/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf) format("truetype"); font-display: swap; } body { font-family: 'WorkSans', sans-serif; font-variation-settings: 'wght' 350; } a.mavenLinkBold { font-variation-settings: 'wght' 400; } strong { font-variation-settings: 'wght' 500; } h1, h2, h3, h4, h5, h6, header, .header-font { font-family: 'WorkSans', sans-serif; } h1 { font-variation-settings: 'wght' 500; } h2 { font-variation-settings: 'wght' 400; } h3 { font-variation-settings: 'wght' 300; } </style> <link rel='stylesheet' href='_emanote-static/inverted-tree.css' /> <link rel='stylesheet' href='_emanote-static/stork/flat.css' /> <!-- Custom Stork-search styling for Emanote --> <style> #stork-search-container { z-index: 1000; background-color: rgb(15 23 42/.8); } .stork-overflow-hidden-important { overflow: hidden !important; } </style> <script src='_emanote-static/stork/stork.js'></script> <script id='emanote-stork' data-emanote-base-url='/'> window.emanote = {}; window.emanote.stork = { searchShown: false, indexIsStale: false, toggleSearch: function () { window.emanote.stork.refreshIndex(); document.getElementById('stork-search-container').classList.toggle('hidden'); window.emanote.stork.searchShown = document.body.classList.toggle('stork-overflow-hidden-important'); if (window.emanote.stork.searchShown) { document.getElementById('stork-search-input').focus(); } }, clearSearch: function () { document.getElementById('stork-search-container').classList.add('hidden'); document.body.classList.remove('stork-overflow-hidden-important'); window.emanote.stork.searchShown = false; }, getBaseUrl: function () { const baseUrl = document.getElementById("emanote-stork").getAttribute('data-emanote-base-url') || '/'; return baseUrl; }, registerIndex: function (options) { const indexName = 'emanote-search'; // used to match input[data-stork] attribute value const indexUrl = window.emanote.stork.getBaseUrl() + '-/stork.st'; stork.register( indexName, indexUrl, options); }, init: function () { if (document.readyState !== 'complete') { window.addEventListener('load', function () { stork.initialize(window.emanote.stork.getBaseUrl() + '_emanote-static/stork/stork.wasm'); window.emanote.stork.registerIndex(); }); document.addEventListener('keydown', event => { if (window.emanote.stork.searchShown && event.key === 'Escape') { window.emanote.stork.clearSearch(); event.preventDefault(); } else if ((event.key == 'k' || event.key == 'K') && (event.ctrlKey || event.metaKey)) { window.emanote.stork.toggleSearch(); event.preventDefault(); } }); } else { // This section is called during Ema's hot reload. // // Mark the current index as stale, and refresh it *only when* the // user actually invokes search. // // We do not refresh the index *right away*, as that will cause // memory leaks in the browser. See // https://github.com/srid/emanote/issues/411#issuecomment-1402056235 console.log("stork: Marking index as stale"); window.emanote.stork.markIndexAsStale(); } }, markIndexAsStale: function () { window.emanote.stork.indexIsStale = true; }, refreshIndex: function () { if (window.emanote.stork.indexIsStale) { console.log("stork: Reloading index"); window.emanote.stork.indexIsStale = false; // NOTE: This will leak memory. See the comment above. window.emanote.stork.registerIndex({ forceOverwrite: true }); } } }; window.emanote.stork.init(); </script> </head> <!-- DoNotFormat --> <!-- DoNotFormat --> <body class='bg-gray-400 overflow-y-scroll'> <div class='container mx-auto'> <nav id='breadcrumbs' class='w-full text-gray-700 md:hidden'> <div class='flex justify-left'> <div class='w-full px-2 py-2 bg-gray-50'> <ul class='flex flex-wrap text-lg'> <li class='inline-flex items-center'> <img style='width: 1rem;' src='favicon.svg' /> </li> <li class='inline-flex items-center'> <a class='px-1 font-bold' href=''> Home </a> <svg fill='currentColor' viewBox='0 0 20 20' class='w-auto h-5 text-gray-400'> <path fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd'></path> </svg> </li> <li class='inline-flex items-center'> <a class='px-1 font-bold' href='About'> About me - Drezil </a> <svg fill='currentColor' viewBox='0 0 20 20' class='w-auto h-5 text-gray-400'> <path fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd'></path> </svg> </li> </ul> </div> <button class='inline px-2 py-1 bg-gray-50 outline-none cursor-pointer focus:outline-none' title='Search (Ctrl+K)' type='button' onclick='window.emanote.stork.toggleSearch()'> <svg xmlns='http://www.w3.org/2000/svg' style='width: 1rem;' class='hover:text-purple-700' f fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'> <path stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'></path> </svg> </button> <button class='inline px-2 py-1 text-white bg-purple-600 outline-none cursor-pointer focus:outline-none' title='Toggle sidebar' type='button' onclick="toggleHidden('sidebar')"> <svg xmlns='http://www.w3.org/2000/svg' class='w-4' fill='none' viewBox='0 0 24 24' stroke='currentColor'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6h16M4 12h16M4 18h16'></path> </svg> </button> <script> function toggleHidden(elemId) { document.getElementById(elemId).classList.toggle("hidden"); } </script> </div> </nav> <div id='container' class='flex flex-nowrap flex-col md:flex-row bg-gray-50 md:mt-8 md:shadow-2xl md:mb-8'> <!-- Sidebar column --> <nav id='sidebar' class='flex-shrink hidden leading-relaxed md:block md:sticky md:top-0 md:h-full md:w-48 xl:w-64'> <div class='px-2 py-2 text-gray-800'> <div id='indexing-links' class='flex flex-row float-right p-2 space-x-2 text-gray-500'> <a href='-/tags' title='View tags'> <svg style='width: 1rem;' class='hover:text-purple-700' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z'> </path> </svg> </a> <a href='-/all' title='Expand full tree'> <svg style='width: 1rem;' class='hover:text-purple-700' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4'> </path> </svg> </a> <a title='Search (Ctrl+K)' class='cursor-pointer' onclick='window.emanote.stork.toggleSearch()'> <svg xmlns='http://www.w3.org/2000/svg' style='width: 1rem;' class='hover:text-purple-700' f fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'> <path stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'></path> </svg> </a> </div> <div id='site-logo' class='pl-2'> <div class='flex items-center my-2 space-x-2 justify-left'> <a href='' title='Go to Home'> <!-- The style width attribute here is to prevent huge icon from displaying at those rare occasions when Tailwind hasn't kicked in immediately on page load --> <img style='width: 1rem;' class='transition transform hover:scale-110 hover:opacity-80' src='favicon.svg' /> </a> <a class='font-bold truncate' title='Go to Home' href=''> Home </a> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='About me - Drezil' href='About'> About me - Drezil </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z'> </path> </svg> <a class='font-bold text-purple-600 hover:underline truncate' title='Curriculum Vitae' href='About/CV'> Curriculum Vitae </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Highlights of my experiences in the programming world' href='About/Experience'> Highlights of my experiences in the programming world </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Work-Experience' href='About/Work'> Work-Experience </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Android' href='Android'> Android </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Einrichtung Android-Smartphones' href='Android/Einrichtung'> Einrichtung Android-Smartphones </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Coding' href='Coding'> Coding </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-500' viewBox='0 0 20 20' fill='currentColor'> <path d='M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z'></path> </svg> <a class='hover:underline truncate' title='Haskell' href='Coding/Haskell'> Haskell </a> <span class='text-gray-300' title='5 children inside'> 5 </span> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Openapi-generator' href='Coding/OpenAPI'> Openapi-generator </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Health' href='Health'> Health </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Mental Health' href='Health/Issues'> Mental Health </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Logik für Dummies' href='Logik'> Logik für Dummies </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Opinions' href='Opinions'> Opinions </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Editors' href='Opinions/Editors'> Editors </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Keyboard-Layouts' href='Opinions/Layout'> Keyboard-Layouts </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Stuff' href='Stuff'> Stuff </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Die Bielefeld-Verschwörung' href='Stuff/Bielefeldverschwoerung'> Die Bielefeld-Verschwörung </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Todo' href='TODO'> Todo </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Uni' href='Uni'> Uni </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Studium generale / University-Life' href='Uni/Extracurricular'> Studium generale / University-Life </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='Wie lerne ich richtig an der Uni?' href='Uni/Lernerfolg_an_der_Uni'> Wie lerne ich richtig an der Uni? </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg xmlns='http://www.w3.org/2000/svg' class='w-4 h-4 flex-shrink-0 inline text-gray-700' viewBox='0 0 20 20' fill='currentColor'> <path fill-rule='evenodd' d='M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z' clip-rule='evenodd'></path> <path d='M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z'></path> </svg> <a class='font-bold hover:underline truncate' title='Unix' href='Unix'> Unix </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> <!-- Variable bindings for this tree--> <!-- Rendering of this tree --> <div class='pl-2'> <!-- Node's rootLabel--> <div class='flex items-center my-2 space-x-2 justify-left'> <svg class='w-4 h-4 flex-shrink-0 inline' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'> </path> </svg> <a class='hover:underline truncate' title='SSH-Filter' href='Unix/SSH-Filter'> SSH-Filter </a> </div> <!-- Node's children forest, displayed only on active trees TODO: Use <details> to toggle visibility? --> </div> </div> </div> </nav> <!-- Main body column --> <div class='flex-1 w-full overflow-x-auto bg-white'> <main class='px-4 py-4'> <!-- DoNotFormat --> <!-- DoNotFormat --> <nav id='uptree' class='flipped tree' style='transform-origin: 50%;'> <ul class='root'> <li> <ul> <li> <div class='text-gray-900 forest-link'> <a href='About'> About me - Drezil </a> </div> <ul> <li> <div class='text-gray-900 forest-link'> <a href=''> Home </a> </div> </li> </ul> </li> </ul> </li> </ul> </nav> <h1 class='flex items-end justify-center mb-4 p-3 bg-purple-100 text-5xl font-extrabold text-black rounded'> <a class='z-40 tracking-tighter '> Curriculum Vitae </a> </h1> <article class='overflow-auto'> <!-- What goes in this file will appear on top of note body--> <div class='open'><section title='Embedded note' class='p-4 mx-2 mb-2 bg-white border-2 rounded-lg shadow-inner'> <details> <summary class='flex items-center justify-center text-2xl italic bg-purple-50 rounded py-1 px-2 mb-3'> <header style='display:list-item'> <a href='About'> About me - Drezil </a> </header> </summary> <div> <div xmlhtmlRaw><!-- markdownlint-disable-next-line --> </div><div xmlhtmlRaw><img class="border border-solid w32 rounded-xl lg:rounded-3xl lg:w64 float-right" style="border-color: rgb(217 70 239);" src="/About/Nicole_small.png"/> </div><h2 id='work' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>Work</h2> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <p class='mb-3'> <strong>October 2023 to ???</strong> </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> You could be here. The <a href='https://red-queen.ug' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Red Queen</a> will get <em>your</em> project off the ground, too. </li> </ul> </li> <li> <p class='mb-3'> <strong>March 2023 to September 2023</strong>: </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Worked for <a href='http://2lambda.co' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>2lambda</a> </li> <li> Silicon Valley start-up trying to beat the stock-market with fancy ML-Models </li> <li> That work kickstarted my employment at <a href='https://red-queen.ug' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Red Queen UG</a> where i continue doing consulting work for <a href='http://2lambda.co' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>2lambda</a> while also moving into a more senior role of also building up our own team of specialists to work on different future projects. </li> </ul> </li> <li> <p class='mb-3'> <strong>Oct. 2018 to Aug. 2021</strong>: </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> ML-Specialist at <a href='https://jobware.de' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Jobware</a> (Paderborn; german Job-Advertising-Platform) </li> </ul> </li> <li> <p class='mb-3'> <strong>2013-2018</strong> several jobs at my University including </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Worked 6 Months in the Workgroup “Theoretical Computer Science” on migrating algorithms to <strong>CUDA</strong> </li> <li> Tutor “Introduction to Machine Learning” <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Was awarded <strong>Tutoring-Award</strong> of the Faculty of Technology for excellent tutoring </li> </ul> </li> <li> <a href='Coding/Haskell/FFPiH' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>Lecture "Intermediate Functional Programming in Haskell"</a> </li> <li> Development of Pandoc-Filters for effective <strong>generation of lecture-slides</strong> for Mario Botsch (Leader Workgroup Computer Graphics) using Pandoc & reveal.js </li> </ul> </li> </ul> <h2 id='education' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>Education</h2> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <strong>Bachelor</strong> “Kognitive Informatik” (Cognitive Informatics) in Bielefeld 2010-2014 </li> <li> <strong>Master</strong> “Naturwissenschaftliche Informatik” (Informatics in the natural sciences) 2014-2018 </li> </ul> <h3 id='extraordinary-grades-excerpt-of-my-transcript' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>Extraordinary grades (Excerpt of my Transcript)</h3> <p class='mb-3'> Note: Scale of grades in Germany is 1.0 to 4.0 with 1.0 being best, 4.0 being passing grade, 5.0 being failed grade </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <strong>1.0 in Modern Data Analysis</strong> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Master course on data-analysis (time-series, core-vector-machines, gaussian processes, …) </li> </ul> </li> <li> <strong>1.0 in Computergraphics</strong> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Raytracing, Modern OpenGL </li> </ul> </li> <li> <strong>1.3 in Computer-Animation</strong> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Dual-Quarternion-Skinning, Character-Animation, FACS-Poses, etc. </li> </ul> </li> <li> <strong>1.3 in GPU-Computing (CUDA)</strong> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> originally a 1.7 by timing (task was de-mosaicing on images, grade was measured in ms, whereby 400ms equated to 4.0 and 100ms equated to 1.0), but because my deep knowledge was visible in the code i was given a 1.3 after oral presentation. </li> </ul> </li> <li> <strong>1.0 in Parallel Algorithms and Data-Structures</strong> </li> <li> <strong>Ethical Hacking</strong> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Reverse Engineering with IDApro </li> </ul> </li> </ul> <h2 id='further-information' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>Further information</h2> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='About/Work' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>More details on my work-experience</a> </li> <li> <a href='About/Experience' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>More details of my coding</a> </li> <li> <a href='Uni/Extracurricular' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>More details of things i did beside studying at University</a> </li> </ul> </div> </details> </section> </div><div class='open'><section title='Embedded note' class='p-4 mx-2 mb-2 bg-white border-2 rounded-lg shadow-inner'> <details> <summary class='flex items-center justify-center text-2xl italic bg-purple-50 rounded py-1 px-2 mb-3'> <header style='display:list-item'> <a href='About/Work'> Work-Experience </a> </header> </summary> <div> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <p class='mb-3'> <strong>Mar. 2023 to Sep. 2023:</strong> </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Developer for 2Lambda.co. Role migrated from just coding stuff to architecting and rewriting the whole software from the ground up using a small modular approach instead of the shaky one-off systems in place.<br />Was later a “nanny for everything”. </li> <li> Did a lot of work to have self-documenting code (i.e. generate documentation from the actual values used in the program, not some comments that always get out of date) </li> <li> Setting up a knowledge-base (Zettelkasten-approach) to track experiments and hyperlink them to the documentation generated above (and due to Zettelkasten you then get “this thing was used in Experiments a, b and c” automatically </li> <li> Technologies used: <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Clojure <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Complete application was written in Clojure </li> <li> Never touched that language before March - got up to speed in just 2 days, poked the expert on the team detailed questions about the runtime-system after 1 month (like inlining-behavior, allocation-things, etc.) </li> </ul> </li> <li> Emanote <ul class='my-3 ml-6 space-y-1 list-disc'> <li> autogenerated & linked documentation of internal modules </li> <li> integrated with manual written tutorials/notes </li> <li> crosslinking documentation of experiments with documentation of modules <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Web of knowledge </li> <li> bidirectional discovery of things tried/done in the past to optimize finding of new strategies (meta-optimizing the decisions on what to optimize/try) </li> </ul> </li> </ul> </li> <li> Infrastructure <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Organized and co-administrated the 4 Root-Servers we had </li> <li> Set up Kubernetes, Nexus, Docker, Nginx, letsencrypt-certs, dns-entries, etc.. </li> </ul> </li> </ul> </li> </ul> </li> <li> <p class='mb-3'> <strong>Oct. 2018 to Aug. 2021</strong>: </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> ML-Specialist at <a href='https://jobware.de' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Jobware</a> (Paderborn; german Job-Advertising-Platform) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Extraction/Classification of sentences from JobAds (Requirements, Benefits, Tasks, …) </li> <li> Extraction of Information from JobAds (Location of company, Location of workplay, contact-details, application-procedure, etc.) including geocoding of those information (backed by OpenStreetMap) </li> <li> Embedding of JobAds into a meaningful space (i.e. “get me similar ads. btw. i dislike ad a, b, c”). </li> <li> Analyse & predict search-queries of users on the webpage and offer likely but distinct queries (i.e. similar when typo or complete different words (synonyms, hyponyms, etc.)) </li> </ul> </li> <li> Technologies used: <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Haskell (currently GHC 8.6, soon GHC 8.8) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> stack + stackage-lts </li> <li> fixplate (recursion-schemes-implementation) </li> <li> many usual technologies like lens, http-simple, mtl, .. </li> <li> golden-testing via tasty </li> <li> several inhouse-developments: <ul class='my-3 ml-6 space-y-1 list-disc'> <li> templating based on text-replacement via generics (fieldname in Template-Type == variable replaced in template) </li> <li> activeMQ/Kibana-bridge for logging via hs-stomp </li> <li> generic internal logging-framework </li> </ul> </li> </ul> </li> <li> Python <ul class='my-3 ml-6 space-y-1 list-disc'> <li> tensorflow </li> <li> pytorch </li> <li> sklearn </li> <li> nltk </li> </ul> </li> </ul> </li> </ul> </li> <li> <p class='mb-3'> <strong>2013-2018</strong>: </p> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> several jobs at my University including <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Worked 6 Months in the Workgroup “Theoretical Computer Science” on migrating algorithms to <strong>CUDA</strong> </li> <li> Tutor “Introduction to Machine Learning” <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Was awarded <strong>Tutoring-Award</strong> of the Faculty of Technology for excellent tutoring </li> </ul> </li> <li> Lecture “<a href='Coding/Haskell/FFPiH' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkNormal'>Intermediate Functional Programming in Haskell</a>” <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Originally developed as student-project in cooperation with Jonas Betzendahl </li> <li> First held in Summer 2015 </li> <li> Due to high demand held again in Summer 2016 and 2017 </li> <li> Was awarded <strong>Lecturer-Award</strong> “silver Chalk” in 2016 <ul class='my-3 ml-6 space-y-1 list-disc'> <li> First time that this award was given to students </li> <li> Many lecturers at our faculty never get any teaching-award until retirement </li> </ul> </li> </ul> </li> <li> Development of Pandoc-Filters for effective <strong>generation of lecture-slides</strong> for Mario Botsch (Leader “Workgroup Computer Graphics”) using Pandoc & reveal.js <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Framework: <a href='https://github.com/mbotsch/revealSlides' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'><a href='https://github.com/mbotsch/revealSlides' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>https://github.com/mbotsch/revealSlides</a></a> </li> <li> Example: <a href='https://github.com/mbotsch/eLearning' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'><a href='https://github.com/mbotsch/eLearning' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>https://github.com/mbotsch/eLearning</a></a> </li> <li> Pandoc-Filters: <a href='https://github.com/mbotsch/pandoc-slide-filter' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'><a href='https://github.com/mbotsch/pandoc-slide-filter' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>https://github.com/mbotsch/pandoc-slide-filter</a></a> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </div> </details> </section> </div><div class='open'><section title='Embedded note' class='p-4 mx-2 mb-2 bg-white border-2 rounded-lg shadow-inner'> <details> <summary class='flex items-center justify-center text-2xl italic bg-purple-50 rounded py-1 px-2 mb-3'> <header style='display:list-item'> <a href='About/Experience'> Highlights of my experiences in the programming world </a> </header> </summary> <div> <p class='mb-3'> (as far as NDA and other things allow it) </p> <h2 id='haskell-enthusiast' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>Haskell-Enthusiast</h2> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Learning/Writing Haskell since ~2014 </li> <li> Created and held advanced Haskell-Lecture at my University </li> </ul> <h3 id='github' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>github</h3> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://github.com/Drezil/' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>My Profile</a> </li> <li> <a href='https://github.com/FFPiHaskell/' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Haskell-Lecture</a> </li> <li> <a href='https://github.com/DataHaskell' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Co-Founder of DataHaskell</a> </li> </ul> <h2 id='gitea' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>gitea</h2> <p class='mb-3'> I also have a <a href='https://gitea.dresselhaus.cloud/explore/repos' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>gitea-instance</a> where one can finde more current things and backups of old. </p> <h3 id='highlights' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>Highlights</h3> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <strong>Author</strong> of Eve-Online-Interface in <a href='https://github.com/thoughtbot/yesod-auth-oauth2/pull/33' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>yesod-auth-oauth2</a> </li> <li> <strong>Author</strong> of “New Eden Accounting Tool” (<a href='https://github.com/Drezil/neat' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>neat</a>), which is basically a ledger for Trading in the game Eve-Online </li> <li> Driver behind getting <a href='' class='text-purple-600 mavenLinkBold hover:underline'><a href='https://github.com/jgm/pandoc/issues/168' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>https://github.com/jgm/pandoc/issues/168</a></a> implemented and merged, because we needed it for our slide-filters (see <a href='About/Work' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>Work-Experience</a> -> Development of Filters) </li> <li> <strong>Author</strong> of <a href='https://github.com/Drezil/img2ascii' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>img2ascii</a> - Small cli-tool for converting images into terminal-codes & ascii using JuicyPixels, because i always forget what is on the images over an ssh-connection -.- </li> <li> <strong>Implemented Array-Fusion and Recycling</strong> for <a href='https://github.com/mikeizbicki/subhask/pull/57' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>subhask</a> as layed out in <a href='https://doi.org/10.1007/978-3-540-92995-6_15' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Recycle your Arrays</a> by Roman Leshchinskiy </li> <li> <a href='https://github.com/Drezil/htrace' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'><strong>Raytracer</strong> in Haskell for my Computergraphics-Course</a> </li> <li> <strong>implementation of <a href='https://github.com/Drezil/hgraph' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Densely Connected Bi-Clusters</a>-Algorithm</strong> in Haskell (<a href='https://www.researchgate.net/profile/Recep_Colak/publication/267918524_DENSELY-CONNECTED_BI-CLUSTERING/links/560f1aff08ae483375178a03.pdf' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Paper</a>) </li> <li> <a href='https://gitea.dresselhaus.cloud/Drezil/chemodiversity' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Chemodiversity-Project</a> at University during my masters. Complete with slideshow explaining everything. </li> <li> several other dead projects :D </li> </ul> </div> </details> </section> </div><div class='open'><section title='Embedded note' class='p-4 mx-2 mb-2 bg-white border-2 rounded-lg shadow-inner'> <details> <summary class='flex items-center justify-center text-2xl italic bg-purple-50 rounded py-1 px-2 mb-3'> <header style='display:list-item'> <a href='Uni/Extracurricular'> Studium generale / University-Life </a> </header> </summary> <div> <p class='mb-3'> (What I did at university besides studying <span class='emoji' data-emoji='sunglasses' style='font-family: emoji'>😎</span> ) </p> <h2 id='committees--student-body' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>Committees / Student Body</h2> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Student Member of Studienbeirat Informatik (Study-Profile Commission) </li> <li> Student Member of Tutorenauswahlkommission (Tutor-Selection Committee) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Leader Tutorenevaluation (Evaluation of Tutors) </li> </ul> </li> <li> Student Member of NWI-Master-Auswahlausschuss (Master-Application Committee for my course of study) </li> <li> Student Member of NWI-Master-Prüfungsausschuss (Committee for Exam-disputes of my Master course) </li> <li> Member of the Admin-Team for the student-body pcs </li> </ul> <h2 id='ekvv-links-entries-in-the-electronic-course-catalog' class='mt-6 mb-4 text-4xl font-bold text-gray-700 border-b-2'>ekvv-Links (entries in the electronic course-catalog)</h2><h3 id='summer-15' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>Summer 15</h3> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=54004629' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Fortgeschrittene funktionale Programmierung in Haskell</a> (Haskell-Lecture) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://www.youtube.com/playlist?list=PLMqFm6rr-xOWhXGroUXzWx00FeaBNfbsa' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Lecture on YouTube</a> </li> <li> <a href='Coding/Haskell/FFPiH' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>more details on the lecture</a> </li> </ul> </li> </ul> <h3 id='summer-16' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>Summer 16</h3> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=71172682' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Fortgeschrittene funktionale Programmierung in Haskell</a> (Haskell-Lecture) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://www.youtube.com/playlist?list=PLMqFm6rr-xOUEf2YjSxRn8BIhrdRIhZw6' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Lecture on YouTube</a> (differs from link above) </li> <li> This was the <strong>“silver chalk”-lecture</strong> </li> <li> <a href='Coding/Haskell/FFPiH' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>more details on the lecture</a> </li> </ul> </li> </ul> <h3 id='winter-1617' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>Winter 16/17</h3> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=84763664' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Richtig Starten</a> (Start Right!) </li> <li> <a href='https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=79599350' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Tutor Introduction to Machine Learning</a> (Tutor in this Lecture) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Was awarded <strong>Tutoring-Award</strong> of the faculty </li> </ul> </li> <li> Remade and updated slides for <a href='https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=79016005' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Computergraphics-Lecture</a> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Lecture was <strong>awarded “silver chalk”</strong> among others things because of the updated slides. </li> </ul> </li> </ul> <h3 id='summer-17' class='mt-6 mb-2 text-3xl font-bold text-gray-700'>Summer 17</h3> <ul class='my-3 ml-6 space-y-1 list-disc'> <li> <a href='https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=94694136' class='text-purple-600 hover:underline' data-linkicon='external' target='_blank' rel='noopener'>Fortgeschrittene funktionale Programmierung in Haskell</a> (Haskell-Lecture) <ul class='my-3 ml-6 space-y-1 list-disc'> <li> Same as Summer 16 </li> <li> Totally <strong>reworked Exercises</strong> accompanying the lecture </li> <li> <a href='Coding/Haskell/FFPiH' class='text-purple-600 mavenLinkBold hover:underline' data-wikilink-type='WikiLinkBranch'>more details on the lecture</a> </li> </ul> </li> </ul> </div> </details> </section> </div> <!-- div class="flex items-center justify-center mt-2"> <ema:metadata> <with var="template"> <a class="text-gray-300 hover:text-${theme}-600 text-sm" title="Edit this page on GitHub" href="${value:editBaseUrl}/${ema:note:source-path}"> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" /> </svg> </a> </with> </ema:metadata> </div --> </article> <div class='flex flex-col lg:flex-row lg:space-x-2'> </div> <section class='flex flex-wrap items-end justify-center my-4 space-x-2 space-y-2 font-mono text-sm'> </section> <!-- What goes in this file will at the very end of the main div --> </main> </div> </div> <footer class='flex items-center justify-center mt-2 mb-8 space-x-4 text-center text-gray-800'> <div> <a href='' title='Go to Home page'> <svg xmlns='http://www.w3.org/2000/svg' class='w-6 h-6 hover:text-purple-700' fill='none' viewBox='0 0 24 24' stroke='currentColor'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'></path> </svg> </a> </div> <div> <a href='-/all' title='View Index'> <svg class='w-6 h-6 hover:text-purple-700' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4'> </path> </svg> </a> </div> <div> <a href='https://emanote.srid.ca' target='_blank' title='Generated by Emanote 1.0.3.11'> <img class='w-6 h-6 hover:text-purple-700' src='_emanote-static/emanote-logo.svg' /> </a> </div> <div> <a href='-/tags' title='View tags'> <svg class='w-6 h-6 hover:text-purple-700' fill='none' stroke='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z'> </path> </svg> </a> </div> <div> <a href='-/tasks' title='View tasks'> <svg xmlns='http://www.w3.org/2000/svg' class='w-6 h-6 hover:text-purple-700' fill='none' viewBox='0 0 24 24' stroke='currentColor'> <path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'></path> </svg> </a> </div> </footer> </div> <div id='stork-search-container' class='hidden fixed w-screen h-screen inset-0 backdrop-filter backdrop-blur-sm'> <div class='fixed w-screen h-screen inset-0' onclick='window.emanote.stork.toggleSearch()'></div> <div class='container mx-auto p-10 mt-10'> <div class='stork-wrapper-flat container mx-auto'> <input id='stork-search-input' data-stork='emanote-search' class='stork-input' placeholder='Search (Ctrl+K) ...' /> <div data-stork='emanote-search-output' class='stork-output'></div> </div> </div> </div> <script> Array.from( document.getElementsByClassName("open") ).forEach( (i) => { i.querySelector('details').setAttribute("open","") } ); </script> </body> </html>