DefaultController :: menuAction
Request
GET Parameters
| Key | Value |
|---|---|
| _path | "_format=html&_locale=en&_controller=App%5CStartPlatz%5CBundle%5CWebsiteBundle%5CController%5CDefaultController%3A%3AmenuAction" |
POST Parameters
No POST parameters
Uploaded Files
No files were uploaded
Request Attributes
| Key | Value |
|---|---|
| _controller | "App\StartPlatz\Bundle\WebsiteBundle\Controller\DefaultController::menuAction" |
| _format | "html" |
| _locale | "en" |
| _stopwatch_token | "fa2548" |
| permalink | "https://www.staging.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity" |
Request Headers
| Header | Value |
|---|---|
| accept | "*/*" |
| accept-charset | "ISO-8859-1,utf-8;q=0.7,*;q=0.7" |
| accept-encoding | "gzip, br, zstd, deflate" |
| accept-language | "en-us,en;q=0.5" |
| forwarded | "for="172.22.0.12";host="www.staging.startplatz.de";proto=http" |
| host | "www.staging.startplatz.de" |
| referer | "https://www.staging.startplatz.de/?p=52136" |
| user-agent | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" |
| x-forwarded-for | "172.22.0.12" |
| x-forwarded-server | "c7c6e7953db4" |
| x-php-ob-level | "0" |
| x-real-ip | "216.73.216.183" |
Request Content
Request content not available (it was retrieved as a resource).
Response
Response Headers
| Header | Value |
|---|---|
| cache-control | "no-cache, private" |
| date | "Mon, 02 Mar 2026 11:13:31 GMT" |
| x-debug-token | "fae3a6" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
0
Usages
Stateless check enabled
Session not used.
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
| Key | Value |
|---|---|
| ANTHROPIC_API_KEY | "" |
| CLOUDINARY_API_KEY | "187719847589952" |
| CLOUDINARY_API_SECRET | "2L0-UBEtXjD-ODU3On8eqJrZPFY" |
| CLOUDINARY_CLOUDNAME | "startplatz" |
| CLOUDINARY_URL | "cloudinary://187719847589952:2L0-UBEtXjD-ODU3On8eqJrZPFY@startplatz" |
| CRON_API_KEY | "cron_sp_X9kM4nQ7pR2sT6vW8yB1" |
| MONSUM_WEBHOOK_PASSWORD_CGN | "" |
| MONSUM_WEBHOOK_PASSWORD_DUS | "" |
| MONSUM_WEBHOOK_PASSWORD_TESTPLATZ | "" |
| MONSUM_WEBHOOK_USER_CGN | "" |
| MONSUM_WEBHOOK_USER_DUS | "" |
| MONSUM_WEBHOOK_USER_TESTPLATZ | "" |
| OPENAI_ORGANIZATION | "STARTPLATZ" |
| REDIS_URL | "" |
| SESSION_SAVE_PATH | "%kernel.project_dir%/var/cache/sessions" |
| SKOOL_WEBHOOK_KI_CAMPUS | "https://api.skool.com/groups/ki-campus/webhooks/5f76ae64499d42a49dafbf613fec3ec0" |
| SKOOL_WEBHOOK_KI_TREFFPUNKT | "https://api.skool.com/groups/ki-treffpunkt/webhooks/af0324eeef3d40649f8d16607fe6e7b9" |
| STATISTIC_ZAPIER_API_KEY | "50670" |
| TEST_DATA_PATH | "data/test-bewerbungen" |
| TWILIO_AUTH_TOKEN | "" |
| TYPEFORM_WEBHOOK_SECRET | "" |
| WP_API_BASE_URL | "" |
| WP_API_PASSWORD | "" |
| WP_API_USERNAME | "" |
Defined as regular env variables
| Key | Value |
|---|---|
| APP_DEBUG | "1" |
| APP_ENV | "dev" |
| APP_SECRET | "a8A3I6BRkJE2ppNaBcgPec5i6E8Iwqwm" |
| CONTENT_LENGTH | "" |
| CONTENT_TYPE | "" |
| DATABASE_URL | "mysql://startplatz:kpp8o9pWYAp2@startplatz-staging-mysql:3306/startplatz-wordpress" |
| DOCUMENT_ROOT | "/var/www/html/public" |
| DOCUMENT_URI | "/index.php" |
| EASYBILL_EMAIL_AI_HUB | "lorenz.graef@startplatz.de" |
| EASYBILL_EMAIL_FGH | "alexandra.thelen@startplatz.de" |
| EASYBILL_EMAIL_SP_CGN | "admin@startplatz.de" |
| EASYBILL_EMAIL_SP_DUS | "johannes.graef@startplatz.de" |
| EASYBILL_TOKEN_AI_HUB | "1NrjWZrE53dSqWFmMNz0oRd8i22VFmK1Oww9huGp8DPry8EfK1Oj9h6HeW7fyDUM" |
| EASYBILL_TOKEN_FGH | "Fjqj30ZbQorEtdpRfw3T19eAkOgrrgzq4WcExyLrxuot0bzkDpUrjpv41YH8dgBK" |
| EASYBILL_TOKEN_SP_CGN | "9njde49xtcsoswco4c80oggkwwoo080osow8soo8go4gkw0gwwgc8sck4wgw08og" |
| EASYBILL_TOKEN_SP_DUS | "YnHmfQYjOQ01hZ97zQKhsDLcvPc632dhdYjnUYuE4ZzkbAfkyC2TbOGOckUBFBDZ" |
| FCGI_ROLE | "RESPONDER" |
| GATEWAY_INTERFACE | "CGI/1.1" |
| GPG_KEYS | "528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD" |
| HOME | "/home/www-data" |
| HOSTNAME | "dev" |
| HTTP_ACCEPT | "*/*" |
| HTTP_ACCEPT_CHARSET | "ISO-8859-1,utf-8;q=0.7,*;q=0.7" |
| HTTP_ACCEPT_ENCODING | "gzip, br, zstd, deflate" |
| HTTP_ACCEPT_LANGUAGE | "en-us,en;q=0.5" |
| HTTP_FORWARDED | "for="172.22.0.12";host="www.staging.startplatz.de";proto=http" |
| HTTP_HOST | "www.staging.startplatz.de" |
| HTTP_REFERER | "https://www.staging.startplatz.de/?p=52136" |
| HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" |
| HTTP_X_FORWARDED_FOR | "172.22.0.12" |
| HTTP_X_FORWARDED_SERVER | "c7c6e7953db4" |
| HTTP_X_REAL_IP | "216.73.216.183" |
| HUBSPOT_API_KEY | "pat-na1-72043aa0-44a4-4dd6-b57a-5759597c4642" |
| HUBSPOT_DEFAULT_FORM_GUID | "1e712a28-62f9-46e0-99f5-13f6bdc0ec70" |
| HUBSPOT_PORTAL_ID | "44225308" |
| HUBSPOT_TRACKING_ID | "2795177" |
| MAILER_DSN | "smtp://STARTPLATZ:md-UPVV0udzlA47hrj9B-LMGQ@smtp.mandrillapp.com:587" |
| MONSUM_API_EMAIL_CGN | "startplatz@lennarz-consulting.de" |
| MONSUM_API_EMAIL_DUS | "startplatz@lennarz-consulting.de" |
| MONSUM_API_EMAIL_TESTPLATZ | "lorenz.graef@startplatz.de" |
| MONSUM_API_TOKEN_CGN | "32e50c9db555d24f87b40c641b4b014bKzrRnijwaj7yLDB7c0CKXYmVJCzyATZ3" |
| MONSUM_API_TOKEN_DUS | "762173de1b510657bb44a2662747bac9nUFkR3NatmYlrqjI7hswGM2ZsDBbgYxR" |
| MONSUM_API_TOKEN_TESTPLATZ | "c0c8e924c966fbf562c59646ee67b2a3sh4WFrDN3XxPiwKcskvfcRWQyzWOy4Bu" |
| OPENAI_API_KEY | "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" |
| PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" |
| PATH_INFO | "" |
| PERPLEXITY_API_KEY | "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" |
| PHPIZE_DEPS | "autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c" |
| PHP_ASC_URL | "https://www.php.net/distributions/php-8.1.34.tar.xz.asc" |
| PHP_CFLAGS | "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" |
| PHP_CPPFLAGS | "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" |
| PHP_INI_DIR | "/usr/local/etc/php" |
| PHP_LDFLAGS | "-Wl,-O1 -pie" |
| PHP_SELF | "/index.php" |
| PHP_SHA256 | "ffa9e0982e82eeaea848f57687b425ed173aa278fe563001310ae2638db5c251" |
| PHP_URL | "https://www.php.net/distributions/php-8.1.34.tar.xz" |
| PHP_VERSION | "8.1.34" |
| PWD | "/var/www/html" |
| QUERY_STRING | "_path=_format%3Dhtml%26_locale%3Den%26_controller%3DApp%255CStartPlatz%255CBundle%255CWebsiteBundle%255CController%255CDefaultController%253A%253AmenuAction" |
| REDIRECT_STATUS | "200" |
| REMOTE_ADDR | "127.0.0.1" |
| REMOTE_PORT | "40950" |
| REQUEST_METHOD | "GET" |
| REQUEST_SCHEME | "http" |
| REQUEST_TIME | 1772450011 |
| REQUEST_TIME_FLOAT | 1772450011.3552 |
| REQUEST_URI | "/_fragment?_path=_format%3Dhtml%26_locale%3Den%26_controller%3DApp%255CStartPlatz%255CBundle%255CWebsiteBundle%255CController%255CDefaultController%253A%253AmenuAction" |
| SCRIPT_FILENAME | "/var/www/html/public/index.php" |
| SCRIPT_NAME | "/index.php" |
| SERVER_ADDR | "172.22.0.7" |
| SERVER_NAME | "dev.startplatz.de" |
| SERVER_PORT | "80" |
| SERVER_PROTOCOL | "HTTP/1.1" |
| SERVER_SOFTWARE | "nginx/1.18.0" |
| SHLVL | "1" |
| STARTPLATZ_BUILDTIME | "001" |
| STARTPLATZ_DATABASE_WORDPRESS_HOST | "startplatz-staging-mysql" |
| STARTPLATZ_DATABASE_WORDPRESS_NAME | "startplatz-wordpress" |
| STARTPLATZ_DATABASE_WORDPRESS_PASSWORD | "kpp8o9pWYAp2" |
| STARTPLATZ_DATABASE_WORDPRESS_USER | "startplatz" |
| STARTPLATZ_ENVIRONMENT | "staging.www.staging.startplatz.de" |
| STARTPLATZ_HOST | "www.staging.startplatz.de" |
| STRIPE_LIVE_KEY_AI_HUB | "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" |
| STRIPE_LIVE_KEY_ECODYNAMICS | "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" |
| STRIPE_LIVE_KEY_STARTPLATZ | "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" |
| STRIPE_SK_INITIAL | "ojWxv1978YWU" |
| STRIPE_TEST_KEY_AI_HUB | "sk_test_51PmYwGDCU56CMQmgpcCdmzVTjiym8wom2WWiAAuVOUhS55972eM73wDNRDEBfGMnoLSt81yqW5CKCyraQKPDTb6y00xGk2RMpj" |
| STRIPE_TEST_KEY_ECODYNAMICS | "sk_test_51PeutFFqPnUaAUP6dP1y273V3ckVBrUUxBSSIufpLoU2TdWoJBbzjnNmfM3UHsauN4ZuhObIZYhhPLd4621AmzzW00xaHryus4" |
| STRIPE_TEST_KEY_STARTPLATZ | "sk_test_51O8fFSHegJLrFARiXBFfwCkkRCTyr64RpTlYx5X7FPNEKDSRhQHgb7X9WELyNzmMkMT39tavykkZbtbWDsCz0Tc800bNFXrtbH" |
| STRIPE_WEBHOOK_SECRET | "whsec_replace_with_actual_webhook_secret_from_stripe_dashboard" |
| SYMFONY_DOTENV_VARS | "CLOUDINARY_URL,CLOUDINARY_CLOUDNAME,CLOUDINARY_API_KEY,CLOUDINARY_API_SECRET,SESSION_SAVE_PATH,OPENAI_ORGANIZATION,ANTHROPIC_API_KEY,STATISTIC_ZAPIER_API_KEY,CRON_API_KEY,SKOOL_WEBHOOK_KI_CAMPUS,SKOOL_WEBHOOK_KI_TREFFPUNKT,TEST_DATA_PATH,MONSUM_WEBHOOK_USER_CGN,MONSUM_WEBHOOK_PASSWORD_CGN,MONSUM_WEBHOOK_USER_DUS,MONSUM_WEBHOOK_PASSWORD_DUS,MONSUM_WEBHOOK_USER_TESTPLATZ,MONSUM_WEBHOOK_PASSWORD_TESTPLATZ,WP_API_USERNAME,WP_API_PASSWORD,WP_API_BASE_URL,REDIS_URL,TYPEFORM_WEBHOOK_SECRET,TWILIO_AUTH_TOKEN" |
| USER | "www-data" |
| WP_API_PROD_BASE_URL | "https://www.startplatz.de/wp-json/wp/v2" |
| WP_API_PROD_PASSWORD | "lSFFfrfi24zjRXtmqlwxWlBx" |
| WP_API_PROD_USERNAME | "Allmeda" |
| argc | 0 |
| argv | [] |
Parent Request
Return to parent request (token = 6d2b5d)
| Key | Value |
|---|---|
| _controller | "Startplatz\Bundle\WordpressIntegrationBundle\Controller\PassthruController::passthruAction" |
| _firewall_context | "security.firewall.map.context.main" |
| _route | "startplatz_wordpress_passthru" |
| _route_params | [ "path" => "startup-grind-13-with-thomas-bachem-of-codeuniversity/" ] |
| _security_firewall_run | "_security_main" |
| _stopwatch_token | "68b79a" |
| _wordpressResponse | Symfony\Component\HttpFoundation\Response {#4388 +headers: Symfony\Component\HttpFoundation\ResponseHeaderBag {#3005 …} #content: """ <!DOCTYPE html>\n <html lang="de">\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1">\n \n <link rel="profile" href="http://gmpg.org/xfn/11">\n <link rel="pingback" href="https://www.staging.startplatz.de/xmlrpc.php">\n <!-- Apple Touch Icon (180x180 auto-scales) -->\n <link rel="apple-touch-icon" href="/apple-touch-icon.png">\n <!-- Favicon -->\n \n <link rel="icon" href="/favicon.png" sizes="32x32">\n \n \n <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->\n <!--[if lt IE 9]>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>\n <![endif]-->\n <!-- Google tag (gtag.js) -->\n <script async src="https://www.googletagmanager.com/gtag/js?id=G-XYVL4EFW9X"></script>\n <script>\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n \n gtag('config', 'G-XYVL4EFW9X');\n </script>\n <!-- End Google tag -->\n \n <noscript>\n <img height="1" width="1" src="https://www.facebook.com/tr?id=767917863396798&ev=PageView&noscript=1"/>\n </noscript>\n \n <!-- wp_head starts -->\n <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />\n \t<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>\n \t\n \t<!-- This site is optimized with the Yoast SEO Premium plugin v26.4 (Yoast SEO v26.4) - https://yoast.com/wordpress/plugins/seo/ -->\n \t<title>Startup Grind #13 with Thomas Bachem of Code University - STARTPLATZ</title>\n \t<meta name="description" content="Startup Grind #13 with Thomas Bachem of Code University: in this edition we meet our special guest Thomas Bachem, Co-founder of Codeuniversity." />\n \t<link rel="canonical" href="https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/" />\n \t<meta property="og:locale" content="de_DE" />\n \t<meta property="og:type" content="article" />\n \t<meta property="og:title" content="Startup Grind #13 with Thomas Bachem of Code University" />\n \t<meta property="og:description" content="Startup Grind #13 with Thomas Bachem of Code University: in this edition we meet our special guest Thomas Bachem, Co-founder of Codeuniversity." />\n \t<meta property="og:url" content="https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/" />\n \t<meta property="og:site_name" content="STARTPLATZ" />\n \t<meta property="article:published_time" content="2017-11-21T13:32:27+00:00" />\n \t<meta property="article:modified_time" content="2017-11-24T15:31:25+00:00" />\n \t<meta property="og:image" content="https://www.startplatz.de/wp-content/uploads/2017/11/Startup-Grind-CGN_Tom_Bachem.jpg" />\n \t<meta property="og:image:width" content="740" />\n \t<meta property="og:image:height" content="351" />\n \t<meta property="og:image:type" content="image/jpeg" />\n \t<meta name="author" content="lgraef" />\n \t<meta name="twitter:label1" content="Verfasst von" />\n \t<meta name="twitter:data1" content="lgraef" />\n \t<meta name="twitter:label2" content="Geschätzte Lesezeit" />\n \t<meta name="twitter:data2" content="7 Minuten" />\n \t<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/","url":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/","name":"Startup Grind #13 with Thomas Bachem of Code University - STARTPLATZ","isPartOf":{"@id":"https://www.startplatz.de/#website"},"primaryImageOfPage":{"@id":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/#primaryimage"},"image":{"@id":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/#primaryimage"},"thumbnailUrl":"https://www.staging.startplatz.de/wp-content/uploads/2017/11/Startup-Grind-CGN_Tom_Bachem.jpg","datePublished":"2017-11-21T13:32:27+00:00","dateModified":"2017-11-24T15:31:25+00:00","author":{"@id":"https://www.startplatz.de/#/schema/person/3208e98b262dae03e85cfe5c8ee4cfae"},"description":"Startup Grind #13 with Thomas Bachem of Code University: in this edition we meet our special guest Thomas Bachem, Co-founder of Codeuniversity.","breadcrumb":{"@id":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/#primaryimage","url":"https://www.staging.startplatz.de/wp-content/uploads/2017/11/Startup-Grind-CGN_Tom_Bachem.jpg","contentUrl":"https://www.staging.startplatz.de/wp-content/uploads/2017/11/Startup-Grind-CGN_Tom_Bachem.jpg","width":740,"height":351},{"@type":"BreadcrumbList","@id":"https://www.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.startplatz.de/"},{"@type":"ListItem","position":2,"name":"Blog – Hauptseite","item":"https://www.startplatz.de/blog/"},{"@type":"ListItem","position":3,"name":"Startup Grind #13 with Thomas Bachem of Code University"}]},{"@type":"WebSite","@id":"https://www.startplatz.de/#website","url":"https://www.startplatz.de/","name":"STARTPLATZ","description":"Startup Inkubator in Köln und Düsseldorf","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.startplatz.de/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https://www.startplatz.de/#/schema/person/3208e98b262dae03e85cfe5c8ee4cfae","name":"lgraef","image":{"@type":"ImageObject","inLanguage":"de","@id":"https://www.startplatz.de/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/c91ce354a125a4aa961b5875d604e79cab9b6d96ec555a0d9c9b065fb8eef5f5?s=96&r=g","contentUrl":"https://secure.gravatar.com/avatar/c91ce354a125a4aa961b5875d604e79cab9b6d96ec555a0d9c9b065fb8eef5f5?s=96&r=g","caption":"lgraef"},"sameAs":["https://x.com/lgraef"],"url":"https://www.staging.startplatz.de/author/lgraef/"}]}</script>\n \t<!-- / Yoast SEO Premium plugin. -->\n \n \n <link rel='dns-prefetch' href='//www.staging.startplatz.de' />\n <link rel="alternate" type="application/rss+xml" title="STARTPLATZ » Feed" href="https://www.staging.startplatz.de/feed/" />\n <link rel="alternate" type="application/rss+xml" title="STARTPLATZ » Kommentar-Feed" href="https://www.staging.startplatz.de/comments/feed/" />\n <link rel="alternate" type="application/rss+xml" title="STARTPLATZ » Startup Grind #13 with Thomas Bachem of Code University-Kommentar-Feed" href="https://www.staging.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/feed/" />\n <script type="text/javascript">\n /* <![CDATA[ */\n window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.staging.startplatz.de\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.3"}};\n /*! This file is auto-generated */\n !function(s,n){var o,i,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),a=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===a[t]})}function u(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);for(var n=e.getImageData(16,16,1,1),a=0;a<n.data.length;a++)if(0!==n.data[a])return!1;return!0}function f(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\udedf")}return!1}function g(e,t,n,a){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):s.createElement("canvas"),o=r.getContext("2d",{willReadFrequently:!0}),i=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(function(e){i[e]=t(o,e,n,a)}),i}function t(e){var t=s.createElement("script");t.src=e,t.defer=!0,s.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",i=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){s.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+g.toString()+"("+[JSON.stringify(i),f.toString(),p.toString(),u.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"}),r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=function(e){c(n=e.data),r.terminate(),t(n)})}catch(e){}c(n=g(i,f,p,u))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);\n /* ]]> */\n </script>\n <style id='wp-emoji-styles-inline-css' type='text/css'>\n \n \timg.wp-smiley, img.emoji {\n \t\tdisplay: inline !important;\n \t\tborder: none !important;\n \t\tbox-shadow: none !important;\n \t\theight: 1em !important;\n \t\twidth: 1em !important;\n \t\tmargin: 0 0.07em !important;\n \t\tvertical-align: -0.1em !important;\n \t\tbackground: none !important;\n \t\tpadding: 0 !important;\n \t}\n </style>\n <link rel='stylesheet' id='wp-block-library-css' href='https://www.staging.startplatz.de/wp-includes/css/dist/block-library/style.min.css?ver=6.8.3' type='text/css' media='all' />\n <style id='classic-theme-styles-inline-css' type='text/css'>\n /*! This file is auto-generated */\n .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}\n </style>\n <style id='global-styles-inline-css' type='text/css'>\n :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}\n :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}\n :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}\n :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}\n </style>\n <link rel='stylesheet' id='mc4wp-form-styles-builder-css' href='//www.staging.startplatz.de/wp-content/uploads/mc4wp-stylesheets/bundle.css?ver=1649164263' type='text/css' media='all' />\n <link rel="https://api.w.org/" href="https://www.staging.startplatz.de/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.staging.startplatz.de/wp-json/wp/v2/posts/52136" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.staging.startplatz.de/xmlrpc.php?rsd" />\n <meta name="generator" content="WordPress 6.8.3" />\n <link rel='shortlink' href='https://www.staging.startplatz.de/?p=52136' />\n <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.staging.startplatz.de/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.staging.startplatz.de%2Fstartup-grind-13-with-thomas-bachem-of-codeuniversity%2F" />\n <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.staging.startplatz.de/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.staging.startplatz.de%2Fstartup-grind-13-with-thomas-bachem-of-codeuniversity%2F&format=xml" />\n <!-- wp_head ends -->\n <!-- startplatz default styles starts -->\n <link rel='stylesheet' id='bootstrap.min-css' href='/wp-content/themes/startplatz/css/bootstrap.min.css?ver=5.3.2' type='text/css' media='all' />\n <link rel='stylesheet' id='main.css-css' href='/wp-content/themes/startplatz/styles/main.css?ver=5.3.2' type='text/css' media='all' />\n <!-- startplatz default styles ends -->\n \n <!-- Custom CSS per page (after Bootstrap) -->\n </head>\n \n \n <body id="top" >\n <!--[if lt IE 10]>\n <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>\n <![endif]-->\n <!-- menu -->\n \n <!-- homepage menu @StartPlatzWebsiteBundle/Default/menu.html.twig -->\n \n \n \n <nav class="navbar" data-spy="affix" data-offset-top="60">\n <div class="container">\n <div class="row">\n <div class="navbar-header">\n <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">\n <span class="sr-only">Toggle navigation</span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </button>\n <a class="navbar-brand" href="/">\n <i class="icon-startplatz"></i></a>\n </div>\n <div id="navbar" class="navbar-collapse collapse">\n <ul class="nav navbar-nav navbar-left">\n <li class="active"><a href="/x/home">x</a></li>\n </ul>\n <ul class="nav navbar-nav navbar-right">\n <li><a href="/memberships">Memberships</a></li>\n <li><a href="/accelerator/">Accelerator</a></li>\n \n <li><a href="/fuer-unternehmen">Unternehmen</a></li>\n \n <li>\n <a href="/konferenzraum" class="dropdown-toggle" data-toggle="dropdown">\n Konferenzräume <span class="caret"></span>\n </a>\n \n <ul class="dropdown-menu">\n <li><a href="/koeln-tagungsraeume-und-konferenzraeume">Konferenzräume in Köln</a></li>\n <li><a href="/duesseldorf-tagungsraeume-und-konferenzraeume">Konferenzräume in Düsseldorf</a></li>\n </ul>\n </li>\n \n <li><a href="/events">Events</a></li>\n \n \n <li class="dropdown">\n <a href="#" class="dropdown-toggle" data-toggle="dropdown">\n Über uns <span class="caret"></span>\n </a>\n <ul class="dropdown-menu">\n <li><a href="/presse">Über STARTPLATZ</a></li>\n <li><a href="/standorte">Standorte</a></li>\n <li><a href="/startplatz-team">STARTPLATZ Team</a></li>\n <li><a href="/partner">Partner</a></li>\n <li><a href="/startups">Unsere Startups</a></li>\n <li><a href="/jobs">Startup Jobs</a></li>\n <li><a href="/benefits/perks">Software für Startups</a></li>\n <li><a href="/sprechstunden">Sprechstunden</a></li>\n <li><a href="https://www.rheinlandpitch.de">Rheinland Pitch</a></li>\n <li><a href="/startup-wiki">Startup Wiki</a></li>\n <li><a href="/referenzen">Referenzen</a></li>\n <li><a href="/karriere">Karriere</a></li>\n </ul>\n </li>\n <li><a href="/blog">Blog</a></li>\n \n \n \n <li> <a href="/en"><img src="/bundles/startplatzstyle/images/english_language.png" height="20px;" alt=“”></a>\n </li>\n </ul>\n \n </div>\n </div>\n </div>\n </nav>\n \n \n <!-- menu -->\n \n <div class="container-fluid cut-bottom">\n <div class="banner banner-wide top-blog-item">\n <div class="banner-content">\n <strong style="font-size:36px">Blog</strong>\n <p>News rund um den STARTPLATZ, die Startup-Szene und Digitalthemen.</p>\n </div>\n </div>\n </div>\n \n <style type="text/css">\n </style>\n \n <div class="container">\n <div class="row row-equal page">\n <div class="col-xs-12 col-md-8 page-main">\n \n \n <div class="row">\n <a href="https://www.staging.startplatz.de/startup-grind-13-with-thomas-bachem-of-codeuniversity/"><img class="img-responsive" src="https://www.staging.startplatz.de/wp-content/uploads/2017/11/Startup-Grind-CGN_Tom_Bachem.jpg" alt="" style="width: 7830px; "></a>\n </div>\n <div class="separator"></div>\n <h1 style="line-height: 2em;">Startup Grind #13 with Thomas Bachem of Code University</h1>\n <p class="date">21. November 2017, 14:32 :: <a href="https://www.staging.startplatz.de/category/allgemein/" rel="category tag">Allgemein</a> | <a href="https://www.staging.startplatz.de/category/community/" rel="category tag">Community</a> | <a href="https://www.staging.startplatz.de/category/veranstaltungen/" rel="category tag">Veranstaltungen</a></p>\n <p class="date">Autor: lgraef</p>\n <p><p><strong>STARTPLATZ hosts another Startup Grind – in this edition we meet our special guest Thomas Bachem, Founder of <a href="https://code.berlin/de/?gclid=EAIaIQobChMI692mhebN1wIVZ7vtCh0fwQA3EAAYASAAEgKMbPD_BwE">Code University</a> and <a href="https://lebenslauf.com/">Lebenslauf.com</a>. At <a href="https://eyeo.com/">eyeo GmbH</a> in Cologne, the home of AdBlock Plus and the perfect location for an awesome networking experience, we gathered among drinks and delicious pizza with Tom, who shared with us his passion for software development and how he started his journey when he was just thirteen years old.</strong></p>\n <p><span id="more-52136"></span></p>\n <p> </p>\n <p><center><br />\n <img fetchpriority="high" decoding="async" class="img-responsive" src="https://www.startplatz.de/wp-content/uploads/2017/11/Startup-Grind_Tom_Bachem.jpg" alt="" width="450" height="600" />Tim Betzin, Co-founder of <a href="https://rausgegangen.de/">Rausgegangen</a> interviews Thomas Bachem</center> </p>\n <p><b>Tim: “Hello Thomas, we welcome you today at eyeo and are excited to hear about your journey. You are Co-founder of Code University and several other companies. When did you first start to notice your passion toward software development?”</b></p>\n <p><span style="font-weight: 400;">Thomas: “Thanks Tim for having me, I’m glad to be here tonight. Well actually I think it was back when I was 12 years old, it all began with gaming, but with time I realized that I was rather interested in creating software than video games. Pretty early on, I made up my mind and one day went to a bookstore here in Cologne, I think I was 13 years old. Very naively I told the book salesman that I wanted to learn about programming and asked him: “What do you recommend?” That’s when he gave me a very thick book about C++ programming, that after looking at it closely turned out to have nothing to do with graphical programming but had a rather theoretical approach. Quite frustrated I went back to the bookstore, this time I just looked around by myself and discovered a book called “Microsoft Visual Basics”. Sad thing was that it cost like 190 Deutsche Mark, which was insanely expensive for me back then – considering I was just thirteen years old. I returned home and collected money from my parents and grandparents in order to be able to buy this book. That’s when I started working through my Visual Basics book and discovered my passion.”</span></p>\n <p><b>Tim: „Did you know any like-minded people at this time, friends that shared your passion?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „Sadly, in the beginning I didn’t know anyone who was interested in the same things. My friends from school weren’t really into programming although that changed rapidly when I started to spot more and more Internet communities about programming. Shortly after I started an online community for Web Development myself. That was basically the starting point to a bigger community – the place where I found most of my like-minded friends and people who I later employed or co-founded companies with.“</span></p>\n <p><b>Tim: „Did you know back then that you wanted to build your own company?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „No, not that I was aware of at the time! For me, it was the joy of programming at first. I didn’t have any plans on building my own company – the whole popularity of building startups emerged much later. But what I do remember is that I enjoyed organizing events and leading people, I started to engage myself as a student representative. Eventually my entrepreneurial interest emerged with programming as I realized that I was able to earn quite some money programming websites.“</span></p>\n <p><b>Tim: „How did you get your first clients?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „Most of them I acquired on Schuelerjobs.de, which is a platform for student jobs in Germany. I took on my first jobs creating websites for B and C celebrities, one of my bigger clients for example was Heinz Hönig, who was a famous German Actor back then. That’s how it all started.“</span></p>\n <p><center><img decoding="async" class="img-responsive" src="https://www.startplatz.de/wp-content/uploads/2017/11/Startup-Grind-CGN-Tom.jpg" alt="" width="1241" height="462" />Tom Bachem shares his success story with the crowd</center> </p>\n <p><b>Tim: „So I suppose you studied Information Technologies?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „Actually I studied Business Administration at the Cologne Business School. The reason I wasn’t intrigued by Information Technology as a study course was pretty simple, maybe even naive: first of all I didn’t like the theoretical and mathematical based study programs, that contained so many words I’ve never heard before. But even more important I was afraid of this cliché of the computer nerd, sitting in dark basements with no friends or any social network whatsoever. Furthermore the notion of not being the person in charge so to speak, who leads creative processes. Business is something I’ve always been interested in and I thought it would be a good combination with my technical skills in developing software.“</span></p>\n <p><b>Tim: „When did you start your first company?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „My first company was sevenload, with the initial idea being to create a photo sharing platform, which quickly shifted into a video platform. It all happened during my time at Cologne Business School, when I met my former Co-Founder Ibrahim. I focused a lot on the technical details in the beginning, most of the rest was done by Ibo first and also by Axel Schmiegelow, founder of <a href="https://www.denkwerk.com/">denkwerk</a> who later became CEO of the company. He was the first Business Angel investing in us – he invested 250.000 Euros, which was a lot at that time and still is a lot now.“</span></p>\n <p><b>Tim: „What was your strategy behind starting your own business?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „To be honest, I just did what I thought would be a great product. There wasn’t much strategy behind it. </span></p>\n <blockquote><p><i><span style="font-weight: 400;"><strong>Looking back, I think it was a lot about passion. I simply wanted to have a product for myself.</strong> </span></i></p></blockquote>\n <p><span style="font-weight: 400;">Back then we used a lot of state of the art technologies like AJAX, a feature that allows you to update a webpage without reloading the website. I discovered it on flickr and thought it was awesome. One day later it was online on sevenload – soon it was all over the internet. Slowly, the team began to grow, I hired people who were just as passionate about programming as myself and were mostly my age, which brought a lot of Startup spirit into the game.“</span></p>\n <p><b>Tim: „How many companies besides Codeuniversity have you founded in total?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „I established three product-based companies and two service-based companies. Lebenslauf.com was a one-many company, I wouldn’t necessarily call it a startup but rather a product. Something I invested quite some time and effort in is the German Startup Association, which is the representative of the German Startup-Scene mostly addressing political issues. That’s something I engage in voluntarily. I’ve always been interested in issues that concern the whole community. When I started building my own company the Startup scene was very small in Germany and I developed this feeling of wanting to help this whole community. I realized at some point that so many entrepreneurs were complaining about politics rather than promoting change. I feel like Entrepreneurs shouldn’t complain about circumstances, but rather get things done.“</span></p>\n <p><b>Tim: „When did you come up with the idea of Code University and why did you feel the need to build your own University?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „I had the original spark of an idea thirteen years ago. Primarily becaus</span><span style="font-weight: 400;">e </span>I wasn’t happy about the Computer Science Programs in Germany. I kept asking myself why there were so many Business Schools in Germany, but basically no Tech Schools. I’ve always <span style="font-weight: 400;">liked the approach of studying at smaller private schools on a more personal level, that’s mainly</span><span style="font-weight: 400;"> why I decided 2 years ago to build my own University. Code University just started one and a half months ago. We are a state-recognized University of Applied Sciences and now have 88 students studying in Berlin.“</span></p>\n <p><b>Tim: „What’s the most important thing you are looking for in a professor?“</b></p>\n <p><span style="font-weight: 400;">Thomas: „We are looking for PHD software engineers, who have experience in teaching and who teach for at least 50 percent of their time. But more importantly we opt for professors who</span><span style="font-weight: 400;"> act more like mentors, like a coach who guides the students towards reaching their goals, rather than someone who just provides knowledge. Someone who is able to take himself back and puts their student first. Professors need to be passionate about teaching – that’s our number one criteria.“</span></p>\n <h3><b>Thanks to everyone who joined this awesome and inspiring Startup Grind #13 with Thomas Bachem of Code University! Don’t miss our next <a href="https://www.startupgrind.com/cologne/">Startup Grinds in Cologne</a> and <a href="https://www.startupgrind.com/dusseldorf/">Düsseldorf! </a></b></h3>\n </p>\n \n \n <script>(function() {\n \twindow.mc4wp = window.mc4wp || {\n \t\tlisteners: [],\n \t\tforms: {\n \t\t\ton: function(evt, cb) {\n \t\t\t\twindow.mc4wp.listeners.push(\n \t\t\t\t\t{\n \t\t\t\t\t\tevent : evt,\n \t\t\t\t\t\tcallback: cb\n \t\t\t\t\t}\n \t\t\t\t);\n \t\t\t}\n \t\t}\n \t}\n })();\n </script><!-- Mailchimp for WordPress v4.10.8 - https://wordpress.org/plugins/mailchimp-for-wp/ --><form id="mc4wp-form-1" class="mc4wp-form mc4wp-form-53992 mc4wp-form-styles-builder mc4wp-ajax" method="post" data-id="53992" data-name="Blogartikel" ><div class="mc4wp-form-fields"><p>\r\n \t<label>Jetzt unseren Newsletter abonnieren und keine News aus der Startup-Szene mehr verpassen!</label>\r\n \t<label> \r\n \t\t<input type="email" name="EMAIL" placeholder="Deine E-Mail Adresse" required />\r\n </label>\r\n </p>\r\n <p>\r\n \t<input type="submit" value="Registrieren" />\r\n </p></div><label style="display: none !important;">Wenn du ein Mensch bist, lasse das Feld leer: <input type="text" name="_mc4wp_honeypot" value="" tabindex="-1" autocomplete="off" /></label><input type="hidden" name="_mc4wp_timestamp" value="1772450011" /><input type="hidden" name="_mc4wp_form_id" value="53992" /><input type="hidden" name="_mc4wp_form_element_id" value="mc4wp-form-1" /><div class="mc4wp-response"></div></form><!-- / Mailchimp for WordPress Plugin -->\n \n \n \n \n \n \n <hr class="hr-section">\n \n \n <div class="separator"></div>\n \n <div class="section-header">\n </div>\n <div class="section-header">\n <h2>Kommende Events</h2>\n <div class="btn-group pull-right">\n <button type="button" class="btn btn-gray dropdown-toggle" data-toggle="dropdown">\n Alle anzeigen <span class="caret"></span>\n </button>\n <ul class="dropdown-menu">\n <li><a href="/events?tag=network">Network events</a></li>\n <li><a href="/events?tag=workshop">Workshops</a></li>\n <li><a href="/events?tag=konferenz">Conferences</a></li>\n <li><a href="/events?tag=talk">Talks</a></li>\n <li><a href="/events?tag=pitch">Pitch events</a></li>\n </ul>\n </div>\n </div>\n \n \n \n <div class="post post-event">\n <div class="row visible-xs-block">\n <div class="col-xs-12">\n <h3><a href="/event/female-aimpowerment-vibe-coding-maerz-2026/">Female AImpowerment: Vibe Coding</a></h3>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-4">\n <a href="/event/female-aimpowerment-vibe-coding-maerz-2026/">\n <div class="calendar">\n <img class="hidden-xs img-responsive" src="https://cdn.evbuc.com/images/1177415804/2320340747883/1/original.20260212-211452" alt="">\n <div class="date visible-xs">\n <div class="day">02</div>\n <div class="year">Mar 2026</div>\n </div>\n <div class="type">meetup</div>\n </div>\n </a>\n </div>\n <div class="col-xs-8">\n <div class="post-head">\n <h2 class="hidden-xs"><a href="/event/female-aimpowerment-vibe-coding-maerz-2026/">Female AImpowerment: Vibe Coding</a></h2>\n </div>\n <div class="post-body">\n <ul class="list-unstyled">\n <li><i class="fa fa-clock-o fa-fw"></i>Monday, 02.03.26, 18:30 - 20:30 Uhr</li>\n <li><i class="fa fa-map-marker fa-fw"></i>STARTPLATZ Köln, Im Mediapark 5, 50670 Köln</li>\n </ul>\n </div>\n </div>\n </div>\n <div class="row hidden-xs">\n <div class="col-xs-12">\n <a href="/events?tag=AI" class="btn btn-sort sort-gray">AI</a> \n <a href="/events?tag=KI" class="btn btn-sort sort-gray">KI</a> \n <a href="/events?tag=VibeCoding" class="btn btn-sort sort-gray">VibeCoding</a> \n <a href="/events?tag=Workshop" class="btn btn-sort sort-gray">Workshop</a> \n <a href="/events?tag=Community" class="btn btn-sort sort-gray">Community</a> \n <a href="/events?tag=External" class="btn btn-sort sort-gray">External</a> \n <a href="/events?tag=FemaleEmpowerment" class="btn btn-sort sort-gray">FemaleEmpowerment</a> \n \n </div>\n </div>\n <div class="row">\n <div class="col-xs-6"></div>\n <div class="col-xs-6">\n <a href="/event/female-aimpowerment-vibe-coding-maerz-2026/" class="btn btn-green">Mehr Infos</a>\n <a href="/event/female-aimpowerment-vibe-coding-maerz-2026/" class="btn btn-green hidden-xs">Jetzt buchen!</a>\n </div>\n </div>\n </div>\n \n <hr class="hr-section">\n \n \n <div class="post post-event">\n <div class="row visible-xs-block">\n <div class="col-xs-12">\n <h3><a href="/event/sprechstunde-techniker-krankenkasse-social-pizza-duesseldorf-2025-11-04-2025-10-21-1761063954-2026-01-14-1768405636/">Ask und Info - mit Versicherungsexpertinnen der TK - Spezial Thema: Social Pizza</a></h3>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-4">\n <a href="/event/sprechstunde-techniker-krankenkasse-social-pizza-duesseldorf-2025-11-04-2025-10-21-1761063954-2026-01-14-1768405636/">\n <div class="calendar">\n <img class="hidden-xs img-responsive" src="https://res.cloudinary.com/startplatz/image/upload/v1693817863/Sprechstunde_Eventbild_clc.png" alt="">\n <div class="date visible-xs">\n <div class="day">04</div>\n <div class="year">Mar 2026</div>\n </div>\n <div class="type">sprechstunde</div>\n </div>\n </a>\n </div>\n <div class="col-xs-8">\n <div class="post-head">\n <h2 class="hidden-xs"><a href="/event/sprechstunde-techniker-krankenkasse-social-pizza-duesseldorf-2025-11-04-2025-10-21-1761063954-2026-01-14-1768405636/">Ask und Info - mit Versicherungsexpertinnen der TK - Spezial Thema: Social Pizza</a></h2>\n </div>\n <div class="post-body">\n <ul class="list-unstyled">\n <li><i class="fa fa-clock-o fa-fw"></i>Wednesday, 04.03.26, 10:30 - 13:30 Uhr</li>\n <li><i class="fa fa-map-marker fa-fw"></i>STARTPLATZ, Speditionstraße 15A, Düsseldorf</li>\n <li><i class="fa fa-bullhorn fa-fw"></i> Kirsten Bahr</li>\n </ul>\n </div>\n </div>\n </div>\n <div class="row hidden-xs">\n <div class="col-xs-12">\n <a href="/events?tag=startplatz" class="btn btn-sort sort-gray">startplatz</a> \n <a href="/events?tag=startup" class="btn btn-sort sort-gray">startup</a> \n <a href="/events?tag=mittelstand" class="btn btn-sort sort-gray">mittelstand</a> \n <a href="/events?tag=digitale-unternehmen" class="btn btn-sort sort-gray">digitale-unternehmen</a> \n <a href="/events?tag=sprechstunde" class="btn btn-sort sort-gray">sprechstunde</a> \n \n </div>\n </div>\n <div class="row">\n <div class="col-xs-6"></div>\n <div class="col-xs-6">\n <a href="/event/sprechstunde-techniker-krankenkasse-social-pizza-duesseldorf-2025-11-04-2025-10-21-1761063954-2026-01-14-1768405636/" class="btn btn-green">Mehr Infos</a>\n <a href="/event/sprechstunde-techniker-krankenkasse-social-pizza-duesseldorf-2025-11-04-2025-10-21-1761063954-2026-01-14-1768405636/" class="btn btn-green hidden-xs">Jetzt buchen!</a>\n </div>\n </div>\n </div>\n \n <hr class="hr-section">\n \n \n <div class="post post-event">\n <div class="row visible-xs-block">\n <div class="col-xs-12">\n <h3><a href="/event/ki-chaos-masterclass-1-priorisierung/">Use-Case-Priorisierung: Was ist Hype, was bringt ROI?</a></h3>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-4">\n <a href="/event/ki-chaos-masterclass-1-priorisierung/">\n <div class="calendar">\n <img class="hidden-xs img-responsive" src="https://res.cloudinary.com/startplatz/image/upload/c_fill,w_1000,h_800,q_auto,f_auto/v1769159840/events/2026/ki-chaos-zum-system-webinar.jpg" alt="">\n <div class="date visible-xs">\n <div class="day">04</div>\n <div class="year">Mar 2026</div>\n </div>\n <div class="type">ai-friday</div>\n </div>\n </a>\n </div>\n <div class="col-xs-8">\n <div class="post-head">\n <h2 class="hidden-xs"><a href="/event/ki-chaos-masterclass-1-priorisierung/">Use-Case-Priorisierung: Was ist Hype, was bringt ROI?</a></h2>\n </div>\n <div class="post-body">\n <ul class="list-unstyled">\n <li><i class="fa fa-clock-o fa-fw"></i>Wednesday, 04.03.26, 16:00 - 17:30 Uhr</li>\n <li><i class="fa fa-map-marker fa-fw"></i>STARTPLATZ, Im Mediapark 5, 50670 Köln</li>\n <li><i class="fa fa-bullhorn fa-fw"></i> Jason Lau-Christen & Andreas Spannagel</li>\n </ul>\n </div>\n </div>\n </div>\n <div class="row hidden-xs">\n <div class="col-xs-12">\n <a href="/events?tag=ki" class="btn btn-sort sort-gray">ki</a> \n <a href="/events?tag=ki-strategie" class="btn btn-sort sort-gray">ki-strategie</a> \n <a href="/events?tag=management" class="btn btn-sort sort-gray">management</a> \n <a href="/events?tag=masterclass" class="btn btn-sort sort-gray">masterclass</a> \n <a href="/events?tag=entscheider" class="btn btn-sort sort-gray">entscheider</a> \n <a href="/events?tag=priorisierung" class="btn btn-sort sort-gray">priorisierung</a> \n <a href="/events?tag=roi" class="btn btn-sort sort-gray">roi</a> \n <a href="/events?tag=online" class="btn btn-sort sort-gray">online</a> \n <a href="/events?tag=startplatz-ai-hub" class="btn btn-sort sort-gray">startplatz-ai-hub</a> \n <a href="/events?tag=jason-lau-christen" class="btn btn-sort sort-gray">jason-lau-christen</a> \n <a href="/events?tag=andreas-spannagel" class="btn btn-sort sort-gray">andreas-spannagel</a> \n \n </div>\n </div>\n <div class="row">\n <div class="col-xs-6"></div>\n <div class="col-xs-6">\n <a href="/event/ki-chaos-masterclass-1-priorisierung/" class="btn btn-green">Mehr Infos</a>\n <a href="/event/ki-chaos-masterclass-1-priorisierung/" class="btn btn-green hidden-xs">Jetzt buchen!</a>\n </div>\n </div>\n </div>\n \n <hr class="hr-section">\n \n <div class="separator quadruple"></div>\n \n </div>\n <div class="col-xs-12 col-md-4 page-aside">\n \n \n \n \n <style>\r\n .single {\r\n padding: 1px 30px 14px;\r\n margin-top: 0px;\r\n background: #525459;\r\n border: 0px solid #f0f0f0; }\r\n .single ul {\r\n margin-bottom: 0; }\r\n .single li a {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: bold;\r\n text-transform: uppercase;\r\n border-bottom: 1px solid #f0f0f0;\r\n line-height: 32px;\r\n display: block;\r\n text-decoration: none; }\r\n .single li a:hover {\r\n color: #7ab800; }\r\n .single li:last-child a {\r\n border-bottom: 0px; }\r\n </style>\r\n <div class="row">\r\n <div class="single category">\r\n <div class="section-header">\r\n \t\t<center><h2 style="color: #ffffff;">Kategorien</h2></center>\r\n </div>\r\n \t\t<ul class="list-unstyled">\r\n \t\t\t<li><a href="https://www.startplatz.de/blog" title="">Alle Blogbeiträge </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/erfolgsgeschichten/" title="">Erfolgsgeschichten</a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/accelerator/" title="">Accelerator </a></li>\r\n <li><a href="https://www.startplatz.de/category/success-story/" title="">Success Stories </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/community/" title="">Community </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/corporate-services/" title="">Corporate Services </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/rheinland-pitch/" title="">Rheinland-Pitch </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/aktuelle-trends/" title="">Aktuelle Trends </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/veranstaltungen/" title="">Events </a></li>\r\n \t\t\t<li><a href="https://www.startplatz.de/category/news/" title="">News </a></li>\r\n \t\t</ul>\r\n </div>\r\n </div>\n \n <div class="separator"></div>\n <div class="section-header">\n <form role="search" method="get" class="search-form" action="https://www.staging.startplatz.de/">\n \t\t\t\t<label>\n \t\t\t\t\t<span class="screen-reader-text">Suche nach:</span>\n \t\t\t\t\t<input type="search" class="search-field" placeholder="Suchen …" value="" name="s" />\n \t\t\t\t</label>\n \t\t\t\t<input type="submit" class="search-submit" value="Suchen" />\n \t\t\t</form></div>\n \n \n \n \n <div class="separator"></div>\n <div class="section-header">\n <h2>Neueste Beiträge</h2>\n </div>\n <div class="tweet">\n \n <div class="media">\n <div class="media-left">\n <img width="80" height="80" src="https://www.staging.startplatz.de/wp-content/uploads/2026/02/Titelbild-Blogbeitrag-49-80x80.png" class="media-object img-rounded wp-post-image" alt="" decoding="async" loading="lazy" /> </div>\n <div class="media-body">\n <a href="https://www.staging.startplatz.de/was-schnell-wachsende-startups-von-etablierten-unternehmen-ueber-kundenkommunikation-lernen-koennen/">Was schnell wachsende Startups von etablierten Unternehmen über Kundenkommunikation lernen können</a> <br> 24. Februar </div>\n \n </div>\n \n <div class="media">\n <div class="media-left">\n <img width="80" height="80" src="https://www.staging.startplatz.de/wp-content/uploads/2026/02/Titelbild-Blogbeitrag-1-80x80.jpg" class="media-object img-rounded wp-post-image" alt="" decoding="async" loading="lazy" /> </div>\n <div class="media-body">\n <a href="https://www.staging.startplatz.de/clawconnrw/">Volles Haus und starke Use Cases: Das war die ClawCon NRW im STARTPLATZ Köln</a> <br> 20. Februar </div>\n \n </div>\n \n <div class="media">\n <div class="media-left">\n <img width="80" height="80" src="https://www.staging.startplatz.de/wp-content/uploads/2026/02/Titelbild-Blogbeitrag-47-80x80.png" class="media-object img-rounded wp-post-image" alt="" decoding="async" loading="lazy" /> </div>\n <div class="media-body">\n <a href="https://www.staging.startplatz.de/digitale-sichtbarkeit-fuer-lausitzer-unternehmen-warum-landing-pages-eine-immer-groessere-bedeutung-zukommt/">Digitale Sichtbarkeit für Lausitzer Unternehmen: Warum Landing Pages eine immer größere Bedeutung zukommt</a> <br> 3. Februar </div>\n \n </div>\n \n </div>\n \n <div class="banner text-white tarife">\r\n <div class="banner-content">\r\n <h2>Community Membership</h2>\r\n \r\n <hr class="hr-white" />\r\n \r\n <h4>\r\n Werde Teil der <b>größten Startup Community im Rheinland\r\n <br><br>\r\n <i>Bereits ab 10 €/Monat!</i></b>\r\n <!--Jetzt 14 Tage kostenlos testen!-->\r\n </h4>\r\n \r\n <a class="btn btn-transparent hover-black" href="/community-membership/">Jetzt informieren!</a>\r\n \r\n </div>\r\n </div>\n \n <div class="banner grunderstipendium_s text-white">\r\n <div class="banner-content">\r\n <h2>Gastbeiträge</h2>\r\n \r\n <hr class="hr-white" />\r\n \r\n „Du schreibst interessante Artikel, die auf unsere Zielgruppe zugeschnitten sind und willst deinen Content auf unserem Blog präsentieren? \r\n <a class="btn btn-transparent" href="mailto:marketing@startplatz.de?subject=Gastbeitrag%20STARTPLATZ">Kontaktiere uns!</a>\r\n \r\n </div>\r\n </div>\n \n \n <div class="banner bg-white">\n <div class="banner-content">\n <h2>Konferenzräume mieten</h2>\n <hr class="hr-green">\n <p class="text-gray">Durch klicken Standort wählen.</p>\n <a href="/koeln-tagungsraeume-und-konferenzraeume" class="btn btn-green">Köln</a>\n <a href="/duesseldorf-tagungsraeume-und-konferenzraeume" class="btn btn-green">Düsseldorf</a>\n </div>\n </div>\n \n <div class="separator"></div>\n <div class="section-header">\n <h2>Latest tweets</h2>\n </div>\n <div class="tweet">\n <h3>STARTPLATZ</h3>\n <a class="twitter-timeline" href="https://twitter.com/STARTPLATZ" data-widget-id="604687445137993728">Tweets von @STARTPLATZ </a>\n <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>\n </div>\n </div>\n </div>\n </div>\n \n \n \n \n \n \n \n \n <footer>\n <div class="startplatz-footer">\n <div class="container">\n <div class="row">\n <div class="newsletter col-xs-12 col-md-8">\n <div class="section-header">\n <h2>Newsletter</h2>\n </div>\n <p>Immer auf dem Laufenden bleiben?<br>Erhalte regelmäßig alle News aus dem STARTPLATZ, zu Workshops und Events.</p>\n \n <!-- Begin MailChimp Signup Form -->\n <div id="mc_embed_signup">\n <form id="mc-embedded-subscribe-form" class="validate" action="https://startplatz.us5.list-manage.com/subscribe?u=8a2b498caca4323b774191382&id=be73f77d94" method="post" name="mc-embedded-subscribe-form" novalidate="" target="_blank">\n <div id="mc_embed_signup_scroll form-group email-wrapper">\n <button type="submit" class="btn btn-green">Hier Abonnieren</button>\n <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->\n <div style="position: absolute; left: -5000px;"><input tabindex="-1" name="b_8a2b498caca4323b774191382_51dae9d56a" type="text" value="" /></div>\n <div class="clear"></div>\n </div>\n </form></div>\n <!--End mc_embed_signup-->\n \n </div>\n <div class="social col-xs-12 col-md-4">\n <div class="section-header">\n <h2>Folge uns</h2>\n </div>\n <p>Folge uns auf Facebook, Twitter oder Instagram</p>\n <ul class="icons-list list-inline list-unstyled">\n <li><a target="_blank" href="https://www.facebook.com/startplatz"><i class="fa fa-facebook fa-4x"></i></a></li>\n <li><a target="_blank" href="https://twitter.com/startplatz"><i class="fa fa-twitter fa-4x"></i></a> </li>\n <li><a target="_blank" href="https://instagram.com/startplatz/"><i class="fa fa-instagram fa-4x"></i></a> </li>\n <!-- <li><a href="blog.html"><i class="fa fa-wordpress fa-4x"></i></a></li> -->\n </ul>\n <div class="pe-richsnippets"></div>\n <script type="text/javascript" src="https://www.provenexpert.com/widget/richsnippet.js?u=1HQBkRmo1xQpmqGB1xmA5DGAlMwpkxQZ&v=2" async></script>\n </div>\n </div>\n <div class="row row-equal">\n <div class="footer-menu col-md-8 visible-md visible-lg">\n <div class="row">\n <div class="col-xs-4">\n <div class="section-header">\n <h3>STARTPLATZ</h3>\n </div>\n <ul class="list-unstyled list-sm">\n <li><a href="/kontakt-aufnehmen">Kontakt</a></li>\n <li><a href="/pressebereich">Presse</a></li>\n <li><a href="/jobs">Jobs</a></li>\n <li><a href="/standorte">Standorte</a></li>\n </ul>\n </div>\n <div class="col-xs-4">\n <div class="section-header">\n <h3>Über diese Website</h3>\n </div>\n <ul class="list-unstyled list-sm">\n <li><a href="/wlan-am-startplatz-koeln">WLAN am STARTPLATZ Koeln</a></li>\n <li><a href="/startplatz-archiv">Archiv</a></li>\n <li><a href="/startplatz-agb">AGB</a></li>\n <li><a href="/impressum">Impressum</a></li>\n <li><a href="/datenschutz">Datenschutz</a></li>\n </ul>\n </div>\n <div class="col-xs-4">\n <div class="section-header">\n <h3>Top Themen</h3>\n </div>\n <ul class="list-unstyled list-sm">\n <li><a href="/coworking-koeln"><span class="fas fa-long-arrow-alt-right mr-2"></span>Coworking Köln</a></li>\n <li><a href="/coworking-duesseldorf"><span class="fas fa-long-arrow-alt-right mr-2"></span>Coworking Düsseldorf</a></li>\n <li><a href="/konferenzraum"><span class="fas fa-long-arrow-alt-right mr-2"></span>Konferenzraum mieten in Köln</a></li>\n <li><a href="/duesseldorf-tagungsraeume-und-konferenzraeume/"><span class="fas fa-long-arrow-alt-right mr-2"></span>Konferenzraum mieten in Düsseldorf</a></li>\n <li><a href="/startup-wiki/business-model-canvas"><span class="fas fa-long-arrow-alt-right mr-2"></span>Business Model Canvas</a></li>\n <li><a href="/accelerator/"><span class="fas fa-long-arrow-alt-right mr-2"></span>STARTPLATZ Accelerator</a></li>\n <li><a href="/corporate-innovation-page"><span class="fas fa-long-arrow-alt-right mr-2"></span>Corporate Innovation</a></li>\n <li><a href="/startup-wiki/pitch"><span class="fas fa-long-arrow-alt-right mr-2"></span>Pitch</a></li>\n <li><a href="/projektbuero-mieten"><span class="fas fa-long-arrow-alt-right mr-2"></span>Projektbüro mieten</a></li>\n <li><a href="/meetingraeume-mieten"><span class="fas fa-long-arrow-alt-right mr-2"></span>Meetingräume mieten</a></li>\n <li><a href="/coworker-werden"><span class="fas fa-long-arrow-alt-right mr-2"></span>Coworker werden</a></li>\n <li><a href="/startup-membership"><span class="fas fa-long-arrow-alt-right mr-2"></span>Startup Firmenmitgliedschaft</a></li>\n <li><a href="/karriere"><span class="fas fa-long-arrow-alt-right mr-2"></span>Startup Jobs am STARTPLATZ</a></li>\n <li><a href="/digital-speed-networking"><span class="fas fa-long-arrow-alt-right mr-2"></span>Speed Networking</a></li>\n <li><a href="/gruenderstipendium-nrw"><span class="fas fa-long-arrow-alt-right mr-2"></span>Gründungsstipendium</a></li>\n <li><a href="/benefits/perks"><span class="fas fa-long-arrow-alt-right mr-2"></span>Software für Startups</a></li>\n <li><a href="/startup-wiki"><span class="fas fa-long-arrow-alt-right mr-2"></span>Startup Wiki</a></li>\n <li><a href="/sprechstunden"><span class="fas fa-long-arrow-alt-right mr-2"></span>Sprechstunden</a></li>\n <li><a href="/mentoring"><span class="fas fa-long-arrow-alt-right mr-2"></span>Mentorinnen und Mentoren</a></li>\n </ul>\n </div>\n </div>\n </div>\n <div class="kontakt col-xs-12 col-md-4">\n <div class="content-wrapper">\n <div class="section-header">\n <h2 class="visible-sm visible-xs">Kontakt</h2>\n <h3 class="visible-md visible-lg">Kontakt</h3>\n </div>\n <div class="row">\n <div class="col-xs-6">\n <p class="address city">Köln</p>\n <p class="address">Im Mediapark 5 <br>50670 Köln</p>\n <p class="address">info@startplatz.de</p>\n <p class="address">+49 221 975 802 00</p>\n </div>\n <div class="col-xs-6">\n <p class="address city">Düsseldorf</p>\n <p class="address">Speditionstraße 15a <br>40221 Düsseldorf</p>\n <p class="address">info@startplatz.de</p>\n <p class="address">+49 211 936 725 20</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="copyrights" style="color: black;">\n © Copyright Startplatz 2026\n </div>\n </div>\n </div>\n </footer>\n <link rel="stylesheet" type="text/css" href="/wp-includes/css/cookieconsent.min.css" />\n <script src="/wp-includes/js/cookieconsent.min.js" defer></script>\n <script>\n window.addEventListener("load", function(){\n window.cookieconsent.initialise({\n "palette": {\n "popup": {\n "background": "#edeff5",\n "text": "#838391"\n },\n "button": {\n "background": "#4b81e8"\n }\n },\n "content": {\n "message": "Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.",\n "dismiss": "Akzeptieren",\n "link": "Mehr Informationen",\n "href": "https://www.startplatz.de/datenschutz"\n }\n })\n });\n </script>\n \n \n <!-- wp_footer starts -->\n <script type="speculationrules">\n {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/startplatz\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}\n </script>\n <script async>(function(s,u,m,o,j,v){j=u.createElement(m);v=u.getElementsByTagName(m)[0];j.async=1;j.src=o;j.dataset.sumoSiteId='39f60b00513044004a8fe0004ce6fc0099bffb000c2cd200cfc8f4006d6fae00';j.dataset.sumoPlatform='wordpress';v.parentNode.insertBefore(j,v)})(window,document,'script','//load.sumome.com/');</script> <script type="application/javascript">\r\n const ajaxURL = "https://www.staging.startplatz.de/wp-admin/admin-ajax.php";\r\n \r\n function sumo_add_woocommerce_coupon(code) {\r\n jQuery.post(ajaxURL, {\r\n action: 'sumo_add_woocommerce_coupon',\r\n code: code,\r\n });\r\n }\r\n \r\n function sumo_remove_woocommerce_coupon(code) {\r\n jQuery.post(ajaxURL, {\r\n action: 'sumo_remove_woocommerce_coupon',\r\n code: code,\r\n });\r\n }\r\n \r\n function sumo_get_woocommerce_cart_subtotal(callback) {\r\n jQuery.ajax({\r\n method: 'POST',\r\n url: ajaxURL,\r\n dataType: 'html',\r\n data: {\r\n action: 'sumo_get_woocommerce_cart_subtotal',\r\n },\r\n success: function (subtotal) {\r\n return callback(null, subtotal);\r\n },\r\n error: function (err) {\r\n return callback(err, 0);\r\n }\r\n });\r\n }\r\n </script>\r\n <script>(function() {function maybePrefixUrlField () {\n const value = this.value.trim()\n if (value !== '' && value.indexOf('http') !== 0) {\n this.value = 'http://' + value\n }\n }\n \n const urlFields = document.querySelectorAll('.mc4wp-form input[type="url"]')\n for (let j = 0; j < urlFields.length; j++) {\n urlFields[j].addEventListener('blur', maybePrefixUrlField)\n }\n })();</script><script type="text/javascript" src="https://www.staging.startplatz.de/wp-includes/js/comment-reply.min.js?ver=6.8.3" id="comment-reply-js" async="async" data-wp-strategy="async"></script>\n <script type="text/javascript" defer src="https://www.staging.startplatz.de/wp-content/plugins/mailchimp-for-wp/assets/js/forms.js?ver=4.10.8" id="mc4wp-forms-api-js"></script>\n <script type="text/javascript" id="mc4wp-ajax-forms-js-extra">\n /* <![CDATA[ */\n var mc4wp_ajax_vars = {"loading_character":"\u2022","ajax_url":"https:\/\/www.staging.startplatz.de\/wp-admin\/admin-ajax.php?action=mc4wp-form","error_text":"Leider ist ein Fehler aufgetreten. "};\n /* ]]> */\n </script>\n <script type="text/javascript" src="https://www.staging.startplatz.de/wp-content/plugins/mc4wp-premium/ajax-forms/assets/js/ajax-forms.min.js?ver=4.5.4" id="mc4wp-ajax-forms-js"></script>\n <!-- wp_footer ends -->\n <!-- startplatz default js starts -->\n <script type='text/javascript' src='/wp-content/themes/startplatz/scripts/jquery.js?ver=2016-4711'></script>\n <script type='text/javascript' src='/wp-content/themes/startplatz/scripts/bootstrap.min.js?ver=2016-4711'></script>\n <!-- startplatz default js ends -->\n \n \n <div id="sfwdt6d2b5d" class="sf-toolbar sf-display-none" role="region" aria-label="Symfony Web Debug Toolbar"> <!-- START of Symfony Web Debug Toolbar --><div id="sfMiniToolbar-6d2b5d" class="sf-minitoolbar" data-no-turbolink data-turbo="false"> <button type="button" title="Show Symfony toolbar" id="sfToolbarMiniToggler-6d2b5d" accesskey="D" aria-expanded="false" aria-controls="sfToolbarMainContent-6d2b5d"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#AAA" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg> </button></div><div id="sfToolbarClearer-6d2b5d" class="sf-toolbar-clearer"></div><div id="sfToolbarMainContent-6d2b5d" class="sf-toolbarreset clear-fix" data-no-turbolink data-turbo="false"> <div class="sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal " > <a href="http://www.staging.startplatz.de/_profiler/6d2b5d?panel=request"> <div class="sf-toolbar-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#AAA" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg> <span class="sf-toolbar-value sf-toolbar-ajax-request-counter"> Loading… </span> </div> </a> <div class="sf-toolbar-info"> <div class="sf-toolbar-info-piece"> <b>Loading the web debug toolbar…</b> </div> <div class="sf-toolbar-info-piece"> Attempt #<span id="sfLoadCounter-6d2b5d"></span> </div> <div class="sf-toolbar-info-piece"> <b> <button class="sf-cancel-button" type="button" id="sfLoadCancel-6d2b5d" title="Cancel loading">Cancel</button> </b> </div> </div></div> <button class="hide-button" type="button" id="sfToolbarHideButton-6d2b5d" title="Close Toolbar" accesskey="D" aria-expanded="true" aria-controls="sfToolbarMainContent-6d2b5d"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#AAA" d="M21.1 18.3c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6L12 14.8l-6.3 6.3c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6a2 2 0 0 1 0-2.8L9.2 12 2.9 5.7a2 2 0 0 1 0-2.8 2 2 0 0 1 2.8 0L12 9.2l6.3-6.3a2 2 0 0 1 2.8 0c.8.8.8 2 0 2.8L14.8 12l6.3 6.3z"/></svg> </button></div><!-- END of Symfony Web Debug Toolbar --></div><script nonce="a814035c37be1929916fbad37a641579">/*<![CDATA[*/ if (typeof Sfjs === 'undefined' || typeof Sfjs.loadToolbar === 'undefined') { Sfjs = (function() { "use strict"; if ('classList' in document.documentElement) { var hasClass = function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass = function(el, cssClass) { el.classList.remove(cssClass); }; var addClass = function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass = function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass = function (el, cssClass) { return el.className.match(new RegExp('\\b' + cssClass + '\\b')); }; var removeClass = function(el, cssClass) { el.className = el.className.replace(new RegExp('\\b' + cssClass + '\\b'), ' '); }; var addClass = function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className += " " + cssClass; } }; var toggleClass = function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop = function() {}; var profilerStorageKey = 'symfony/profiler/'; var addEventListener; var el = document.createElement('div'); if (!('addEventListener' in el)) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, callback); }; } else { addEventListener = function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } if (navigator.clipboard) { document.querySelectorAll('[data-clipboard-text]').forEach(function(element) { removeClass(element, 'hidden'); element.addEventListener('click', function() { navigator.clipboard.writeText(element.getAttribute('data-clipboard-text')); }) }); } var request = function(url, onSuccess, onError, payload, options, tries) { var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); options = options || {}; options.retry = options.retry || false; tries = tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay = tries < 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || 'GET', url, true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.onreadystatechange = function(state) { if (4 !== xhr.readyState) { return null; } if (xhr.status == 404 && options.retry && !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 === xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || ''); }; var getPreference = function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference = function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack = []; var extractHeaders = function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders = xhr.getAllResponseHeaders(); var ret; if (ret = allHeaders.match(/^x-debug-token:\s+(.*)$/im)) { stackElement.profile = ret[1]; } if (ret = allHeaders.match(/^x-debug-token-link:\s+(.*)$/im)) { stackElement.profilerUrl = ret[1]; } if (ret = allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\s+(.*)$/im)) { stackElement.toolbarReplaceFinished = false; stackElement.toolbarReplace = '1' === ret[1]; } }; var successStreak = 4; var pendingRequests = 0; var renderAjaxRequests = function() { var requestCounter = document.querySelector('.sf-toolbar-ajax-request-counter'); if (!requestCounter) { return; } requestCounter.textContent = requestStack.length; var infoSpan = document.querySelector(".sf-toolbar-ajax-info"); if (infoSpan) { infoSpan.textContent = requestStack.length + ' AJAX request' + (requestStack.length !== 1 ? 's' : ''); } var ajaxToolbarPanel = document.querySelector('.sf-toolbar-block-ajax'); if (requestStack.length) { ajaxToolbarPanel.style.display = 'block'; } else { ajaxToolbarPanel.style.display = 'none'; } if (pendingRequests > 0) { addClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); } else if (successStreak < 4) { addClass(ajaxToolbarPanel, 'sf-toolbar-status-red'); removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); } else { removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); removeClass(ajaxToolbarPanel, 'sf-toolbar-status-red'); } }; var startAjaxRequest = function(index) { var tbody = document.querySelector('.sf-toolbar-ajax-request-list'); if (!tbody) { return; } var nbOfAjaxRequest = tbody.rows.length; if (nbOfAjaxRequest >= 100) { tbody.deleteRow(0); } var request = requestStack[index]; pendingRequests++; var row = document.createElement('tr'); request.DOMNode = row; var requestNumberCell = document.createElement('td'); requestNumberCell.textContent = index + 1; row.appendChild(requestNumberCell); var profilerCell = document.createElement('td'); profilerCell.textContent = 'n/a'; row.appendChild(profilerCell); var methodCell = document.createElement('td'); methodCell.textContent = request.method; row.appendChild(methodCell); var typeCell = document.createElement('td'); typeCell.textContent = request.type; row.appendChild(typeCell); var statusCodeCell = document.createElement('td'); var statusCode = document.createElement('span'); statusCode.textContent = 'n/a'; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell = document.createElement('td'); pathCell.className = 'sf-ajax-request-url'; if ('GET' === request.method) { var pathLink = document.createElement('a'); pathLink.setAttribute('href', request.url); pathLink.textContent = request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent = request.url; } pathCell.setAttribute('title', request.url); row.appendChild(pathCell); var durationCell = document.createElement('td'); durationCell.className = 'sf-ajax-request-duration'; durationCell.textContent = 'n/a'; row.appendChild(durationCell); request.liveDurationHandle = setInterval(function() { durationCell.textContent = (new Date() - request.start) + ' ms'; }, 100); row.className = 'sf-ajax-request sf-ajax-request-loading'; tbody.insertBefore(row, null); var toolbarInfo = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info'); toolbarInfo.scrollTop = toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest = function(index) { var request = requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace && !request.toolbarReplaceFinished && request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished = true; /* Search up through the DOM to find the toolbar's container ID. */ for (var elem = request.DOMNode; elem && elem !== document; elem = elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, ''), request.profile); break; } } } pendingRequests--; var row = request.DOMNode; /* Unpack the children from the row */ var profilerCell = row.children[1]; var methodCell = row.children[2]; var statusCodeCell = row.children[4]; var statusCodeElem = statusCodeCell.children[0]; var durationCell = row.children[6]; if (request.error) { row.className = 'sf-ajax-request sf-ajax-request-error'; methodCell.className = 'sf-ajax-request-error'; successStreak = 0; } else { row.className = 'sf-ajax-request sf-ajax-request-ok'; successStreak++; } if (request.statusCode) { if (request.statusCode < 300) { statusCodeElem.setAttribute('class', 'sf-toolbar-status'); } else if (request.statusCode < 400) { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-yellow'); } else { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red'); } statusCodeElem.textContent = request.statusCode; } else { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red'); } if (request.duration) { durationCell.textContent = request.duration + ' ms'; } if (request.profilerUrl) { profilerCell.textContent = ''; var profilerLink = document.createElement('a'); profilerLink.setAttribute('href', request.profilerUrl); profilerLink.textContent = request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch && window.fetch.polyfill === undefined) { var oldFetch = window.fetch; window.fetch = function () { var promise = oldFetch.apply(this, arguments); var url = arguments[0]; var params = arguments[1]; var paramType = Object.prototype.toString.call(arguments[0]); if (paramType === '[object Request]') { url = arguments[0].url; params = { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url = String(url); } if (!url.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) { var method = 'GET'; if (params && params.method !== undefined) { method = params.method; } var stackElement = { error: false, url: url, method: method, type: 'fetch', start: new Date() }; var idx = requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration = new Date() - stackElement.start; stackElement.error = r.status < 200 || r.status >= 400; stackElement.statusCode = r.status; stackElement.profile = r.headers.get('x-debug-token'); stackElement.profilerUrl = r.headers.get('x-debug-token-link'); stackElement.toolbarReplaceFinished = false; stackElement.toolbarReplace = '1' === r.headers.get('Symfony-Debug-Toolbar-Replace'); finishAjaxRequest(idx); }, function (e){ stackElement.error = true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest && XMLHttpRequest.prototype.addEventListener) { var proxied = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { var self = this; /* prevent logging AJAX calls to static and inline files, like templates */ var path = url; if (url.slice(0, 1) === '/') { if (0 === url.indexOf('')) { path = url.slice(0); } } else if (0 === url.indexOf('http\u003A\/\/www.staging.startplatz.de')) { path = url.slice(32); } if (!path.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) { var stackElement = { error: false, url: url, method: method, type: 'xhr', start: new Date() }; var idx = requestStack.push(stackElement) - 1; this.addEventListener('readystatechange', function() { if (self.readyState == 4) { stackElement.duration = new Date() - stackElement.start; stackElement.error = self.status < 200 || self.status >= 400; stackElement.statusCode = self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt = document.getElementById('sfwdt' + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el = document.getElementById(selector); if (el && el.getAttribute('data-sfurl') !== url) { request( url, function(xhr) { el.innerHTML = xhr.responseText; el.setAttribute('data-sfurl', url); removeClass(el, 'loading'); var pending = pendingRequests; for (var i = 0; i < requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests = pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, '', options ); } return this; }, showToolbar: function(token) { var sfwdt = this.getSfwdt(token); removeClass(sfwdt, 'sf-display-none'); if (getPreference('toolbar/displayState') == 'none') { document.getElementById('sfToolbarMainContent-' + token).style.display = 'none'; document.getElementById('sfToolbarClearer-' + token).style.display = 'none'; document.getElementById('sfMiniToolbar-' + token).style.display = 'block'; } else { document.getElementById('sfToolbarMainContent-' + token).style.display = 'block'; document.getElementById('sfToolbarClearer-' + token).style.display = 'block'; document.getElementById('sfMiniToolbar-' + token).style.display = 'none'; } }, hideToolbar: function(token) { var sfwdt = this.getSfwdt(token); addClass(sfwdt, 'sf-display-none'); }, initToolbar: function(token) { this.showToolbar(token); var hideButton = document.getElementById('sfToolbarHideButton-' + token); var hideButtonSvg = hideButton.querySelector('svg'); hideButtonSvg.setAttribute('aria-hidden', 'true'); hideButtonSvg.setAttribute('focusable', 'false'); addEventListener(hideButton, 'click', function (event) { event.preventDefault(); var p = this.parentNode; p.style.display = 'none'; (p.previousElementSibling || p.previousSibling).style.display = 'none'; document.getElementById('sfMiniToolbar-' + token).style.display = 'block'; setPreference('toolbar/displayState', 'none'); }); var showButton = document.getElementById('sfToolbarMiniToggler-' + token); var showButtonSvg = showButton.querySelector('svg'); showButtonSvg.setAttribute('aria-hidden', 'true'); showButtonSvg.setAttribute('focusable', 'false'); addEventListener(showButton, 'click', function (event) { event.preventDefault(); var elem = this.parentNode; if (elem.style.display == 'none') { document.getElementById('sfToolbarMainContent-' + token).style.display = 'none'; document.getElementById('sfToolbarClearer-' + token).style.display = 'none'; elem.style.display = 'block'; } else { document.getElementById('sfToolbarMainContent-' + token).style.display = 'block'; document.getElementById('sfToolbarClearer-' + token).style.display = 'block'; elem.style.display = 'none' } setPreference('toolbar/displayState', 'block'); }); }, loadToolbar: function(token, newToken) { var that = this; var triesCounter = document.getElementById('sfLoadCounter-' + token); var options = { retry: true, onSend: function (count) { if (count === 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent = count; } }, }; var cancelButton = document.getElementById('sfLoadCancel-' + token); if (cancelButton) { addEventListener(cancelButton, 'click', function (event) { event.preventDefault(); options.stop = true; that.hideToolbar(token); }); } newToken = (newToken || token); this.load( 'sfwdt' + token, 'http\u003A\/\/www.staging.startplatz.de\/_wdt\/xxxxxx'.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById('sfToolbarMainContent-' + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts = [].slice.call(el.querySelectorAll('script')); for (i = 0; i < scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display = -1 !== xhr.responseText.indexOf('sf-toolbarreset') ? 'block' : 'none'; if (el.style.display == 'none') { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks = [].slice.call(el.querySelectorAll('.sf-toolbar-block')); for (i = 0; i < toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover = function () { var toolbarInfo = this.querySelectorAll('.sf-toolbar-info')[0]; var pageWidth = document.body.clientWidth; var elementWidth = toolbarInfo.offsetWidth; var leftValue = (elementWidth + this.offsetLeft) - pageWidth; var rightValue = (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right = ''; toolbarInfo.style.left = ''; if (elementWidth > pageWidth) { toolbarInfo.style.left = 0; } else if (leftValue > 0 && rightValue > 0) { toolbarInfo.style.right = (rightValue * -1) + 'px'; } else if (leftValue < 0) { toolbarInfo.style.left = 0; } else { toolbarInfo.style.right = '0px'; } }; } renderAjaxRequests(); addEventListener(document.querySelector('.sf-toolbar-ajax-clear'), 'click', function() { requestStack = []; renderAjaxRequests(); successStreak = 4; document.querySelector('.sf-toolbar-ajax-request-list').innerHTML = ''; }); addEventListener(document.querySelector('.sf-toolbar-block-ajax'), 'mouseenter', function (event) { var elem = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info'); elem.scrollTop = elem.scrollHeight; }); addEventListener(document.querySelector('.sf-toolbar-block-ajax > .sf-toolbar-icon'), 'click', function (event) { event.preventDefault(); toggleClass(this.parentNode, 'hover'); }); var dumpInfo = document.querySelector('.sf-toolbar-block-dump .sf-toolbar-info'); if (null !== dumpInfo) { addEventListener(dumpInfo, 'sfbeforedumpcollapse', function () { dumpInfo.style.minHeight = dumpInfo.getBoundingClientRect().height+'px'; }); addEventListener(dumpInfo, 'mouseleave', function () { dumpInfo.style.minHeight = ''; }); } }, function(xhr) { if (xhr.status !== 0 && !options.stop) { var sfwdt = that.getSfwdt(token); sfwdt.innerHTML = '\ <div class="sf-toolbarreset">\ <div class="sf-toolbar-icon"><svg width="26" height="28" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="0 0 26 28" enable-background="new 0 0 26 28" xml:space="preserve"><path fill="#FFFFFF" d="M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z"/></svg></div>\ An error occurred while loading the web debug toolbar. <a href="http\u003A\/\/www.staging.startplatz.de\/_profiler\/' + newToken + '">Open the web profiler.</a>\ </div>\ '; sfwdt.setAttribute('class', 'sf-toolbar sf-error-toolbar'); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp = elOn.style.display, el = document.getElementById(selector); elOn.style.display = elOff.style.display; elOff.style.display = tmp; if (el) { el.style.display = 'none' === tmp ? 'none' : 'block'; } return this; }, createTabs: function() { var tabGroups = document.querySelectorAll('.sf-tabs:not([data-processed=true])'); /* create the tab navigation for each group of tabs */ for (var i = 0; i < tabGroups.length; i++) { var tabs = tabGroups[i].querySelectorAll(':scope > .tab'); var tabNavigation = document.createElement('ul'); tabNavigation.className = 'tab-navigation'; var selectedTabId = 'tab-' + i + '-0'; /* select the first tab by default */ for (var j = 0; j < tabs.length; j++) { var tabId = 'tab-' + i + '-' + j; var tabTitle = tabs[j].querySelector('.tab-title').innerHTML; var tabNavigationItem = document.createElement('li'); tabNavigationItem.setAttribute('data-tab-id', tabId); if (hasClass(tabs[j], 'active')) { selectedTabId = tabId; } if (hasClass(tabs[j], 'disabled')) { addClass(tabNavigationItem, 'disabled'); } tabNavigationItem.innerHTML = tabTitle; tabNavigation.appendChild(tabNavigationItem); var tabContent = tabs[j].querySelector('.tab-content'); tabContent.parentElement.setAttribute('id', tabId); } tabGroups[i].insertBefore(tabNavigation, tabGroups[i].firstChild); addClass(document.querySelector('[data-tab-id="' + selectedTabId + '"]'), 'active'); } /* display the active tab and add the 'click' event listeners */ for (i = 0; i < tabGroups.length; i++) { tabNavigation = tabGroups[i].querySelectorAll(':scope > .tab-navigation li'); for (j = 0; j < tabNavigation.length; j++) { tabId = tabNavigation[j].getAttribute('data-tab-id'); document.getElementById(tabId).querySelector('.tab-title').className = 'hidden'; if (hasClass(tabNavigation[j], 'active')) { document.getElementById(tabId).className = 'block'; } else { document.getElementById(tabId).className = 'hidden'; } tabNavigation[j].addEventListener('click', function(e) { var activeTab = e.target || e.srcElement; /* needed because when the tab contains HTML contents, user can click */ /* on any of those elements instead of their parent '<li>' element */ while (activeTab.tagName.toLowerCase() !== 'li') { activeTab = activeTab.parentNode; } /* get the full list of tabs through the parent of the active tab element */ var tabNavigation = activeTab.parentNode.children; for (var k = 0; k < tabNavigation.length; k++) { var tabId = tabNavigation[k].getAttribute('data-tab-id'); document.getElementById(tabId).className = 'hidden'; removeClass(tabNavigation[k], 'active'); } addClass(activeTab, 'active'); var activeTabId = activeTab.getAttribute('data-tab-id'); document.getElementById(activeTabId).className = 'block'; }); } tabGroups[i].setAttribute('data-processed', 'true'); } }, createToggles: function() { var toggles = document.querySelectorAll('.sf-toggle:not([data-processed=true])'); for (var i = 0; i < toggles.length; i++) { var elementSelector = toggles[i].getAttribute('data-toggle-selector'); var element = document.querySelector(elementSelector); addClass(element, 'sf-toggle-content'); if (toggles[i].hasAttribute('data-toggle-initial') && toggles[i].getAttribute('data-toggle-initial') == 'display') { addClass(toggles[i], 'sf-toggle-on'); addClass(element, 'sf-toggle-visible'); } else { addClass(toggles[i], 'sf-toggle-off'); addClass(element, 'sf-toggle-hidden'); } addEventListener(toggles[i], 'click', function(e) { e.preventDefault(); if ('' !== window.getSelection().toString()) { /* Don't do anything on text selection */ return; } var toggle = e.target || e.srcElement; /* needed because when the toggle contains HTML contents, user can click */ /* on any of those elements instead of their parent '.sf-toggle' element */ while (!hasClass(toggle, 'sf-toggle')) { toggle = toggle.parentNode; } var element = document.querySelector(toggle.getAttribute('data-toggle-selector')); toggleClass(toggle, 'sf-toggle-on'); toggleClass(toggle, 'sf-toggle-off'); toggleClass(element, 'sf-toggle-hidden'); toggleClass(element, 'sf-toggle-visible'); /* the toggle doesn't change its contents when clicking on it */ if (!toggle.hasAttribute('data-toggle-alt-content')) { return; } if (!toggle.hasAttribute('data-toggle-original-content')) { toggle.setAttribute('data-toggle-original-content', toggle.innerHTML); } var currentContent = toggle.innerHTML; var originalContent = toggle.getAttribute('data-toggle-original-content'); var altContent = toggle.getAttribute('data-toggle-alt-content'); toggle.innerHTML = currentContent !== altContent ? altContent : originalContent; }); /* Prevents from disallowing clicks on links inside toggles */ var toggleLinks = toggles[i].querySelectorAll('a'); for (var j = 0; j < toggleLinks.length; j++) { addEventListener(toggleLinks[j], 'click', function(e) { e.stopPropagation(); }); } /* Prevents from disallowing clicks on "copy to clipboard" elements inside toggles */ var copyToClipboardElements = toggles[i].querySelectorAll('span[data-clipboard-text]'); for (var k = 0; k < copyToClipboardElements.length; k++) { addEventListener(copyToClipboardElements[k], 'click', function(e) { e.stopPropagation(); }); } toggles[i].setAttribute('data-processed', 'true'); } }, initializeLogsTable: function() { Sfjs.updateLogsTable(); document.querySelectorAll('.log-filter input').forEach((input) => { input.addEventListener('change', () => { Sfjs.updateLogsTable(); }); }); document.querySelectorAll('.filter-select-all-or-none button').forEach((link) => { link.addEventListener('click', () => { const selectAll = link.classList.contains('select-all'); link.closest('.log-filter-content').querySelectorAll('input').forEach((input) => { input.checked = selectAll; }); Sfjs.updateLogsTable(); }); }); document.body.addEventListener('click', (event) => { document.querySelectorAll('details.log-filter').forEach((filterElement) => { if (!filterElement.contains(event.target) && filterElement.open) { filterElement.open = false; } }); }); }, updateLogsTable: function() { const selectedType = document.querySelector('#log-filter-type input:checked').value; const priorities = document.querySelectorAll('#log-filter-priority input'); const allPriorities = Array.from(priorities).map((input) => input.value); const selectedPriorities = Array.from(priorities).filter((input) => input.checked).map((input) => input.value); const channels = document.querySelectorAll('#log-filter-channel input'); const selectedChannels = Array.from(channels).filter((input) => input.checked).map((input) => input.value); const logs = document.querySelector('table.logs'); if (null === logs) { return; } /* hide rows that don't match the current filters */ let numVisibleRows = 0; logs.querySelectorAll('tbody tr').forEach((row) => { if ('all' !== selectedType && selectedType !== row.getAttribute('data-type')) { row.style.display = 'none'; return; } const priority = row.getAttribute('data-priority'); if (false === selectedPriorities.includes(priority) && true === allPriorities.includes(priority)) { row.style.display = 'none'; return; } if ('' !== row.getAttribute('data-channel') && false === selectedChannels.includes(row.getAttribute('data-channel'))) { row.style.display = 'none'; return; } row.style.display = 'table-row'; numVisibleRows++; }); document.querySelector('table.logs').style.display = 0 === numVisibleRows ? 'none' : 'table'; document.querySelector('.no-logs-message').style.display = 0 === numVisibleRows ? 'block' : 'none'; /* update the selected totals of all filters */ document.querySelector('#log-filter-priority .filter-active-num').innerText = (priorities.length === selectedPriorities.length) ? 'All' : selectedPriorities.length; document.querySelector('#log-filter-channel .filter-active-num').innerText = (channels.length === selectedChannels.length) ? 'All' : selectedChannels.length; /* update the currently selected "log type" tab */ document.querySelectorAll('#log-filter-type li').forEach((tab) => tab.classList.remove('active')); document.querySelector(`#log-filter-type input[value="${selectedType}"]`).parentElement.classList.add('active'); }, }; })(); Sfjs.addEventListener(document, 'DOMContentLoaded', function() { Sfjs.createTabs(); Sfjs.createToggles(); });}/*]]>*/</script><style nonce="148362005ce916ae9018c5db4ad3b3f7"> .sf-minitoolbar { background-color: #222; border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset * { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: #222; bottom: 0; box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); color: #EEE; font: 11px Arial, sans-serif; left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed #777; border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: #444;}.sf-toolbarreset .hide-button { background: #444; display: block; position: absolute; top: 0; right: 0; width: 36px; height: 36px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; white-space: nowrap; max-width: 15%;}.sf-toolbar-block > a,.sf-toolbar-block > a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: #F5F5F5; font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: #AAA; font-size: 12px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid #777; margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this 'border-bottom' trick is needed because 'margin-bottom' doesn't work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: #AAA; display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: #F5F5F5;}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}.sf-toolbar-block .sf-toolbar-info { background-color: #444; bottom: 36px; color: #F5F5F5; display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: #FFF; background-color: #666; padding: 3px 6px; margin-bottom: 2px; vertical-align: middle; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status-green { background-color: #4F805D;}.sf-toolbar-block .sf-toolbar-status-red { background-color: #B0413E;}.sf-toolbar-block .sf-toolbar-status-yellow { background-color: #A46A1F;}.sf-toolbar-block.sf-toolbar-status-green { background-color: #4F805D; color: #FFF;}.sf-toolbar-block.sf-toolbar-status-red { background-color: #B0413E; color: #FFF;}.sf-toolbar-block.sf-toolbar-status-yellow { background-color: #A46A1F; color: #FFF;}.sf-toolbar-block-request .sf-toolbar-status { color: #FFF; display: inline-block; font-size: 14px; height: 36px; line-height: 36px; padding: 0 10px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: #FFF;}.sf-toolbar-status-green svg path,.sf-toolbar-status-green svg .sf-svg-path,.sf-toolbar-status-red svg path,.sf-toolbar-status-red svg .sf-svg-path,.sf-toolbar-status-yellow svg path,.sf-toolbar-status-yellow svg .sf-svg-path { fill: #FFF;}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: #FFF;}.sf-toolbar-block .sf-toolbar-icon { display: block; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0; position: relative; top: 8px; vertical-align: baseline;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value { margin-left: 4px;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: #444; position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: #F5F5F5;}.sf-toolbar-ajax-requests { table-layout: auto; width: 100%;}.sf-toolbar-ajax-requests td { background-color: #444; border-bottom: 1px solid #777; color: #F5F5F5; font-size: 12px; padding: 4px;}.sf-toolbar-ajax-requests tr:last-child td { border-bottom: 0;}.sf-toolbar-ajax-requests th { background-color: #222; border-bottom: 0; color: #AAA; font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: #222; } 50% { background: #444; } 100% { background: #222; }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: #222; border-color: #777; border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: #AAA; margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: #AAA; font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: #FFF;}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block .sf-toolbar-icon img, .sf-toolbar-block .sf-toolbar-icon svg { top: 6px; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-status + svg { margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon svg + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 10px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: #222; color: #f5f5f5; font: 13px/36px Arial, sans-serif; height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}</style><script nonce="a814035c37be1929916fbad37a641579">/*<![CDATA[*/ (function () { Sfjs.loadToolbar('6d2b5d'); })();/*]]>*/</script>\n </body>\n </html>\n """ #version: "1.1" #statusCode: 200 #statusText: "OK" #charset: "UTF-8" } |
| path | "startup-grind-13-with-thomas-bachem-of-codeuniversity/" |