Search
Tags
AdWords AI AMP API Apple Audio Automation Bluetooth Browser Extensions Chrome Clipboard Cloud Command Line Compression Conference CSS Dark Mode Debugging DevTools Erasmus Favicon Firefox Gaming Hardware HID Home Automation Hosting HTML HTTP iOS Java JavaScript JSON Life Linux Machine Learning macOS Media Microsoft Edge Mini Apps Mobile Music Networking Node.js Open Source Payments Performance PHP Podcast Political Polyfill Privacy Project Fugu PWA Python Research REST Retro RSS Ruby Safari Security Semantic Web SEO Service Workers SVG Technical Unicode Video VoIP W3C Web Standards WebAssembly WebView WiFi Work
Archive
2026
- Your MP3s from Google Drive in Music Assistant on Home Assistant
- A polyfill for the HTML switch element
2025
- Using the Web Monetization API for fun and profit
- Running Node.js in a Hugging Face Space
- Prompt API color sensitivity
- For all that's holy, can you just leverage the Web, please?
- What a diff'rence a semicolon makes
- Setting the COOP and COEP headers on static hosting like GitHub Pages
- Playing with AI inference in Firefox Web extensions
- Testing browser-use, a scriptable AI browser agent
2024
- Eleventy (11ty) year, year-month, and year-month-day indexes
- My response to the UK Competition and Markets Authority
- The Web Conf 2024, Singapore: Trip report
- So, what exactly did Apple break in the EU?
- Lenovo ThinkVision P27h-20 screen randomly turns off when connected to MacBook Pro
- Wasm meetup Munich: A Wasm New Year! trip report
2023
- W3C TPAC 2023 Trip Report
- Web Apps on macOS Sonoma 14 Beta
- Getting my domain tomayac.de back
- Cross platform software frameworks
- iOS Continuity Camera not working in Chrome
- Not everyone's currently building for the Web, but probably more people should
2022
- Project Fugu 🐡 on the JS party podcast
- Modern Frontends Live
- Reflections about Project Fugu 🐡
- Things not available when someone blocks all cookies
- Announcing the Project Fugu API Showcase
- iOS Browser Engine Choice
2021
- Releasing SVGcode
- Things mode and strings mode in Google Trends
- 14 years at Google
- Public statement of support for Annalena Baerbock and Die Grünen for #BTW21
- Dark Mode Web App Manifest App Icons
- Excalidraw and Project Fugu 🐡 at Google I/O
- <ruby> HTML footnotes
2020
- Releasing Joy-Con WebHID
- Submitting and Distributing a Safari App Extension
- Learning from Mini Apps—W3C TPAC Breakout Session
- Play the Chrome dino game on your Nintendo Switch
- The requestVideoFrameCallback API
- My Working From Home Setup During COVID-19
- Multi-MIME Type Copying with the Async Clipboard API
- Brotli Compression with mod_pagespeed and ngx_pagespeed
- Progressive Enhancement In the Age of Fugu APIs
2019
- Same same but different: Unicode Variation Selector-16
- Inspecting Facebook's WebView
- Animated SVG favicons
- The redesigned Blogccasion is live
- prefers-color-scheme in SVG favicons for dark mode icons
- Project Fugu 🐡 at W3C TPAC
- Not All Is Nothing—Finding Out If the Browser Supports a Given Media Query
- A Quick Look At WeChat's Mini Programs
- Re-Colorization for Dark Mode
- Let there be darkness! 🌚 Maybe…
- What Does Dark Mode’s “color-scheme” Actually Do? 🤔
- Two HTTP headers related to Service Workers you never may have heard of
- Engaging in Web Standards—The “Compatible with Most Web Developers” Approach
- Progressive Web App Progress in iOS 12.2 Beta 1 (Build 16E5181f)
2018
- Experimenting with the Wake Lock API
- Why Build Progressive Web Apps: If It’s Just a Bookmark, It’s not a PWA!—Video Write-Up
- Why Build Progressive Web Apps: Push, but Don’t be Pushy! — Video Write-Up
- Why Build Progressive Web Apps: Never Lose a Click-Out!—Video Write-Up
- Why Browsers Download Stylesheets With Non-Matching Media Queries
- New top-level HTTP Archive Report on Progressive Web Apps
- Service Worker Caching Strategies Based on Request Types
- Submitting a Microsoft Edge extension to the Microsoft Store
- Progressive Web Apps in the HTTP Archive
- Linux on a Mid 2007 iMac
- AMP cache adding an external CSS style sheet?
2017
2016
2015
- International Conference on Web Engineering (ICWE2015): Trip Report
- Mediterranea.JS: Trip Report
- World Wide Web Conference (WWW2015): Trip Report
2014
- International Semantic Web Conference 2014: Trip Report
- PhD thesis successfully defended
- WS-REST 2014 and Weaving the Web(VTT) of Data
- Telling Breaking News Stories from Wikipedia with Social Multimedia: A Case Study of the 2014 Winter Olympics
2013
- Bots vs. Wikipedians—Who edits more?
- Batch-convert PDFs to JPEGs and extract raw text from PDFs
- PDF Archive of All My Published Papers
- Disabling Blog Comments
- What I do for a living in my PhD
2012
- Shutting down the Open Knowledge Graph
- SEKI@home, or Crowdsourcing an Open Knowledge Graph
- Knowledge Graph Socializer Chrome extension
- AVM FRITZ!Box 7270 Wi-Fi Router
- Enabling on-the-fly Video Shot Detection on YouTube
- Nil Steiner Torrent has arrived
- A Chrome extension that actually implements xkcd #37. Yeah, for real.
2011
- Crowdsourcing Event Detection in YouTube Videos
- Next Generation Web Services Practices NWeSP
- Generating the ellipsis character on Mac, Windows, and Linux
- JSON Emergency Brake
- Thesis Proposal Passed
- Dear Google+
- Facebook Swarm NLP Chrome Extension
- W3C RDF Working Group - JSON Syntax Options
- Slides from my talk at WS-REST 2011 at WWW 2011, Hyderabad, India
- Twitter Whom To Follow Chrome Extension
- Foto ABC for iPhone by Esquimal Apps launched on the AppStore
2010
- GoodRelations Amazon Checker Google Chrome Extension
- Breadcrumb Navigator Google Chrome Extension
- RDFa Triple Lister Chrome extension released
- RDFa API-based Creative Commons Laser Highlighter Chrome Extension Released
- JRON - From JSON to RDF by Sandro Hawke
- New Job: Switching From Part-Time Customer Solutions Engineer to Full-Time Research
- Regarding mca's The Cure for URI Construction in your Web API is URI-Templates
- BTstack Keyboard & BTstack Mouse Live Demo on an iPhone 3G
- Attending Mobile World Congress (MWC) 2010
- Nachmieter gesucht für 3-Zimmer-Wohnung in der Gryphiusstr. 1, Hamburg Winterhude (Update: Wohnung vergeben)
- iPhone 3.1.2 Update Hints and Reminders
2009
- AdWords API PHP Client Library is the new APIlity
- Still loving Google
- Feed URL has changed
- An SEO presentation EVERYONE should know
- The story of our stroller ramp
- Offener Brief an die Vermieter und Mitmieter in der Musterstr. 1 in Hamburg (German)
- Why day-trading on eBay does not work if you are a human
- Die kleine Raupe Nimmersatt als Google Logo (German)
- The story of a short night
- Welcome to this wonderful world, Emma Steiner Torrent
- Sleepless in Hamburg
- Recap of today's events
- Groundhog day
- Birth on hold
- Contractions are back
- Having a baby the Mediterranean way…
- Still waiting in vain
- It's a…
- Waiting for the forth member of the family
- iPhone 3G: Firmware Download Links, Search Engine Tweaks, Bookmarking Hacks, slide to unlock Customization
- Google Web Toolkit (GWT): Casting an Element retrieved with DOM.getElementById()
- A Keffiyeh is a lot more than a Fashion Accessoire from H&M
2008
- Death Prevails - Hackneyed
- Two good JavaScript Books
- DIE ZEIT erklärt die Finanzkrise für Normalsterbliche (German)
- APIlity Agua 1.13.0 Released
- Error: uncaught exception: [Exception…
- APIlity 1.13.0 Final Version released
- Tobias Bandh über Living in the Cloud (German)
- APIlity 1.13.0 Preview Version released
- Official Tour de France iGoogle Gadget Released
- Persistent Storage JavaScript Library
- Note to myself regarding JSON
- APIlity 1.12.0 finally released
- Did you think that you were dreaming? - Sometimes I don't know…
- Löwenzahn-Parodie - Wie man auch ohne die Börse reich wird
- Single Awareness Day
- Google Tech Talk on REST Describe & Compile
- Sweet 1000 Miles Away Melancholy
2007
- Firefox on Mac OS X and LiveHTTPHeaders Alt L Hotkey Annoyance
- Why Google is on the
- Back from parental leave, back to business
- Welcome to life, Lena Steiner Torrent
- On Parental Leave…
- Power is back in Barcelona
- Parts of Barcelona still without power
- Barcelona power outage
- Auto-generate the Java, Python, Ruby, and PHP 5 Wesabe API client code
- REST Describe & Compile Screencasts
- HOWTO make a screencast on Mac OS X
- REST Describe & Compile in practice
- REST Describe & Compile in feature freeze for France release
- Liebe ist grenzenlos (Love has no limits)
- Generate Java from your WADL REST API Descriptions with REST Describe & Compile
- Dog food in REST Compile & Describe
- Generate Python from your WADL REST API Descriptions with REST Describe & Compile
- Generate Ruby from your WADL REST API Descriptions with REST Describe & Compile
- Generate Code from your WADL REST API Descriptions with REST Describe & Compile
- REST Describe in the news and Road Map
- REST Describe first working Beta released
- REST Describe and why WADL is so god damn German
- REST API Code Generation project in the news…
- Automatic Multi Language Program Library Generation for REST APIs
- Political will is also a renewable resource in Germany
- The good thing about reinventing the wheel is that you can get a round one. (Douglas Crockford)
- Das Leben der Anderen - Eine DDR jenseits der Sonnenallee
2006
- Proxima Estación: Esperanza
- French-German Quaero project no longer French-German
- Too old to die young…
- The French Way of Solving Problems
- Interesse am Informatikstudium sinkt weiter
- Forum PHP 2006 Paris
- Subject for my Final Year Project
- Über das Schöngerede von VoIP
- R.I.P. Alturo - Switching my web hoster
- Five things about Europe I miss while in the US
- State of Fear
- APIlity 1.4.5 released
- Spam ist nicht sooo übel
- Mashup Camp 2
- Independence Day - Eine Nation feiert.
- APIlitAx 0.9.0 released. An Ajax GUI for Google AdWords
- Dynamically created tables in Internet Explorer
- How Google really works
- Living on a jet plane… NASA Ames Research Center
- APIlity 1.4.4 released
- Cantamos para no llorar. The Orishas
- Kurioses rund ums J1 Visum für die Einreise in die USA
- Welttag des Buches, Sant Jordi und das deutsche Reinheitsgebot
- Pandora and the Music Genome Project
- APIlity 1.3.0 released (obligatory upgrade)
- This account is empty => Hotfix for APIlity 1.1.0
- Gmail is great!
- 8-Bit May Never Die!
- Updating my CV, amerikanischer Musterlebenslauf, modèle de CV américain
- Doing things the last time…
- APIlity 1.1.0 released
2005
- Blog-Spam On My blogccasion Software
- Common RSS logo in browsers
- Drogué de la poudreuse - Skiing at Les Deux Alpes
- At length and at last I have reached the land of plenty
- Do not modify the divine world order
- Updated APIlity Reference released
- La France en état d'urgence
- Verlan für Erfängan und Fipros
- Des émeutes en France arrivent à un nouveau niveau
- Paris Riots November 2005
- APIlity 1.0.1a released
- Some thoughts about Apple's iPod 4G
- Zimmer mit Bergblick in gastlicher Atmosphäre
- Karlsruhe, Moltkestraße 3. Krebsgefahr durch Schimmelpilze
- Die Franzosen und die englische Sprache
- APIlity 1.0.1 released
- Why I started to blog
- Working at Google for the APIlity PHP project
- Grenoble ist mehr ein Weltteil als eine Stadt.
- Connection ADSL avec Alice et son noveau AliceBox