Markus Oberlehner @markus.oberlehner.net · 26/05/2026Had a great time in Madrid @madvue.es! Time to relax and enjoy some coffee! 071
Markus Oberlehner @markus.oberlehner.net · 27/10/2025Can you spot the button one has to press to add this boarding pass to Apple Wallet? Liquid Glass is an accessibility nightmare even for people with A+ eyesight. 010
Markus Oberlehner @markus.oberlehner.net · 05/10/2025Another one bites the dust! Replaced my Apple Watch with a Garmin vívoactive 6. ✅ Crazy battery life ✅ Better looks (IMO) ✅ Excellent fitness features ✅ Not Apple 130
Markus Oberlehner @markus.oberlehner.net · 03/10/2025Goodbye Apple Music hello Deezer! ✅ French 🇫🇷🇪🇺 ✅ Large catalogue ✅ HiFi music 130
Markus Oberlehner @markus.oberlehner.net · 03/10/2025Typing this on my MacBook, I think about this picture at least once a day. It has completely changed how I see my Apple devices, from loving how tightly integrated everything is to feeling like a prisoner of the Apple ecosystem. Not a single day passes without me making plans for my escape. 5120
Markus Oberlehner @markus.oberlehner.net · 22/09/2025I asked the AI to impersonate me, and it did so without hesitation, following my writing about how to write good tests for Vue applications. A couple of thoughts about this: 100
Markus Oberlehner @markus.oberlehner.net · 19/09/2025Underappreciated upside of AI code reviewers: you can bluntly tell it that it's wrong! 210
Markus Oberlehner @markus.oberlehner.net · 05/09/2025I get that as a tech CEO, you sometimes have to play the game, and you need a healthy dose of pragmatism. But how those tech CEOs can look themselves in the mirror kowtowing to this US president is beyond me. I find it frightening. Is there anything they won't do for financial gain? 121
Markus Oberlehner @markus.oberlehner.net · 19/06/2025Every few years, I increase my editor font size and line height a notch. Pro tip: add 2+4 points to your line height. Thank me later! 171
Markus Oberlehner @markus.oberlehner.net · 27/05/2025Claude 4 is my biggest AI disappointment since GPT4.5. Getting results like this is sobering. > Me: Update the rating functionality according to the test. > Claude: *Modifies the test* > Me: The test is fine! Fix the implementation > Claude: *Hardcodes (!) the expected behavior* 100
Markus Oberlehner @markus.oberlehner.net · 16/05/2025Yes! Don’t make websites accessible, stop making websites inaccessible! 040
Markus Oberlehner @markus.oberlehner.net · 16/05/2025I would love to know more details about this "unauthorized modification." 110
Markus Oberlehner @markus.oberlehner.net · 07/05/2025enterJS is starting! If you’re here (alone) don’t hesitate to reach out to me or other people, let’s be conference buddies! 020
Markus Oberlehner @markus.oberlehner.net · 11/04/2025A useful new(ish) @vitest.dev feature I almost missed is `expect.soft`! It allows us to have assertions that don't terminate test execution when they fail. This helps us iterate more quickly on failing tests. 3372
Markus Oberlehner @markus.oberlehner.net · 11/04/2025A useful new(ish) @vitest_dev feature I almost missed is `expect.soft`! It allows us to have assertions that don't terminate test execution when they fail. This helps us iterate more quickly on failing tests. 100
Markus Oberlehner @markus.oberlehner.net · 04/04/2025If you're still using ChatGPT but feel you're missing out on the capabilities of today's best models like Claude 3.7 and Gemini 2.5 Pro I highly recommend you check out ChatWise (by @egoist.dev) chatwise.app?atp=maoberle... (affiliate link, but it is my LLM client of choice!). It has MCP support! 042
Markus Oberlehner @markus.oberlehner.net · 31/03/2025A harmful misunderstanding about accessibility is that it's "just" about people with disabilities. This leads to arguments like "We don't want to make UX worse for the majority of people just to cater to the few people with X disability." This way of thinking gets it backward! 1102
Markus Oberlehner @markus.oberlehner.net · 21/03/2025😈 Are you a developer worried about losing your job to AI? Don't panic! I have the perfect solution: 1. Rename every symbol in your codebase to random characters. 2. Create a secret cheat sheet mapping these characters back to their original names. 3. Store the cheat sheet somewhere safe. 110
Markus Oberlehner @markus.oberlehner.net · 14/03/2025Do you believe LLMs are intelligent? I changed my mind about it! I think LLMs are "just" that: (large) language models. The way I see it is the following: Imagine you train a toddler to understand language and speak, mixing in texts about physics and mathematics. 121
Markus Oberlehner @markus.oberlehner.net · 20/02/2025📝 Parallelizing @specmatic.bsky.social Contract Tests with @playwright.dev – Only fast tests are good tests! Read more: markus.oberlehner.net/blog/paralle... 000
Markus Oberlehner @markus.oberlehner.net · 17/02/2025What the heck is going on with tech thought leaders? A man who cries must be a weak leader? I thought we had left this kind of thinking long behind us. 370
Markus Oberlehner @markus.oberlehner.net · 07/02/2025Wanted to check out Angular. But it's using not one but two techniques I don't like: 1. Decorators 2. Classes I'm interested in your opinion, particularly on Decorators, do you like them? I also regularly look at Java (Spring Boot) code and find it hard to decipher because of Decorators. 220
Markus Oberlehner @markus.oberlehner.net · 03/01/2025Lasting change is only achievable through continuous, incremental improvement! Today, a political party in Austria involved in forming a new government withdrew, stating their frustration over the other parties' unwillingness to commit to substantial changes to the current system as a reason. 110
Markus Oberlehner @markus.oberlehner.net · 17/12/2024Finally, after many years of being slightly embarassed by it I found the time to revamp my personal website! Now using Astro as the framework and React as the templating language. Still very much work in progress but way better than the old version. 100
Markus Oberlehner @markus.oberlehner.net · 17/12/2024Finally, after many years of being slightly embarrassed by it, I found the time to revamp my website! Now, it uses Astro as the framework and React as the templating language. It is still a work in progress, but way better than the old version. markus.oberlehner.net 390
Markus Oberlehner @markus.oberlehner.net · 17/12/2024Thank you to the one person who entered my name into the State of JS survey! Whoever you are, I love you! 🥰 (Yes, I ego-searched my name in the State of JS survey, and I'm unashamed!) 050
Markus Oberlehner @markus.oberlehner.net · 16/12/2024.@youyuxi if you need convincing arguments for potential @voidzerodev investors, the latest @syntaxfm episode with @ScriptedAlchemy might be for you! 000
Markus Oberlehner @markus.oberlehner.net · 15/12/2024On which rewrite of my personal site should I work today? 🤔😅 150
Markus Oberlehner @markus.oberlehner.net · 06/12/2024Running eight component tests for a complicated form in a *real browser* (!) in 768ms? This changes my stance on mainly using a mock DOM environment for testing! @vitest.dev Browser Mode is a true paradigm shift! 1516919
Markus Oberlehner @markus.oberlehner.net · 30/11/2024What's your opinion on Microservices? I completely agree with @martinfowler.com when he says that organizations must establish certain baseline competencies *before* going the microservices route! Many companies don't have the problems that microservices are there to solve. E.g., significant scale. 253
Markus Oberlehner @markus.oberlehner.net · 30/11/2024But did she try to disable automatic podcast downloads? 🫠 150
Markus Oberlehner @markus.oberlehner.net · 20/11/2024Tired and jet-lagged but it was a great honor to be on the stage of @VueToronto again and to share it with some of the brightest minds in the web development community! Had to rest after the talk, if you didn't catch me with your questions, please don't hesitate to reach out! 000
Markus Oberlehner @markus.oberlehner.net · 20/11/2024Tired and jet-lagged but it was a great honor to be on the stage of VueConf Toronto again and to share it with some of the brightest minds in the web development community! Had to rest after the talk so if you didn't catch me with your questions, please don't hesitate to reach out! 030
Markus Oberlehner @markus.oberlehner.net · 06/11/2024I've literally just removed an extra `:` in the @nuxt.com docs. Still proud, though. 😅 180
Markus Oberlehner @markus.oberlehner.net · 04/11/2024Very happy to be part of VueConf Toronto again this year! Looking forward to meeting the Canadian 🇨🇦 Vue community! 160
Markus Oberlehner @markus.oberlehner.net · 11/10/2024Was checking whether one of my recent articles ranks well when suddenly, 🧐 but one click later, I realized what was going on 🤭 Not sure if genius SEO tactic or a coincidence. But I clicked... 000
Markus Oberlehner @markus.oberlehner.net · 09/10/2024Was also enjoying working with React recently. Yet seeing @themarcba building a Time Machine live on stage using the wonderful Vue reactivity system makes me miss @vuejs very much. 000
Markus Oberlehner @markus.oberlehner.net · 08/10/2024Public speaking anxiety affects ~40% of the population, including me. Yet I've just checked out the venue for my talk today at #vuejsdeconf2024. How does this compute? How can I feel both anxious and excited to speak in front of hundreds of people? 🫣 Imposter syndrome Shortly 000
Markus Oberlehner @markus.oberlehner.net · 30/08/2024After almost three years of working on my book, studying, practicing, and writing, it is done! Let's dive into the experience that made me feel like a fraudulent imposter but also great pleasure at times: 📢 Learning and Building in Public I believe in sharing what I know and 100
Markus Oberlehner @markus.oberlehner.net · 05/08/2024The lovely people at @benqlighting_uk just sent me their #benqlaptopbar for reviewing. My relationship with lighting is complicated. It is a regular source of tension between me and my colleagues or my partner. 🧵 100
Markus Oberlehner @markus.oberlehner.net · 26/07/2024Do you think AI will lead to vast productivity gains in the near future, or is it all hype with no substance? An important factor is the right incentives! As things stand, big players like Google and Microsoft still rely on per-seat pricing models. Charging per user means they 000
Markus Oberlehner @markus.oberlehner.net · 26/07/2024Here are more thoughts on the topic of auto-imports: I don't think build-time is the right time to do auto-imports! Let me explain why: 1. Your IDE has got you covered! VSCode and others handle imports automatically for you, either while referencing them in your code or using 000