How to improve conversion rates

How to improve conversion rates

I watched Kevin Hale's presentation [1] "how to improve conversion rates" (with your UI) and liked his get-to-the-point style. I highly recommend watching the video and am summarizing the content here. I omitted a few parts of Hale's talk (eg. knowledge point and one push button) which, while encyclopedic and interesting, imho didn't advance the … Continue reading How to improve conversion rates

Azure diaries: can’t access KeyVault

Context: as a tenant administrator you can't inspect KeyVault contents created by other people ("you are unauthorized to view these contents"). Solution: assign yourself appropriate permissions like this: Locate the KeyVault in the Azure portal: go to "Access policies"click "+Add Access Policy"Key permissions: everything under "Key Management Operations" and "Cryptographic Operations"Accordingly for key and certificate … Continue reading Azure diaries: can’t access KeyVault

Tests are not just about testing

Tests are not just about testing

Tests in the context of software development have a surprisingly broad field of uses which exceeds "just" testing. Those further uses paint a more colourful picture of tests than just regression keepers. Tests as a component runtime: a test is the workbench on which the component is developed. Instead of constantly restarting an application server … Continue reading Tests are not just about testing

Error handling for failed network requests with service workers

Error handling for failed network requests with service workers

Most service worker code samples show only the happy path where the fetched resource will eventually be available, eg: self.addEventListener('fetch', event => { // Skip cross-origin requests, like those for Google Analytics. if (event.request.url.startsWith(self.location.origin)) { event.respondWith( caches.match(event.request).then(cachedResponse => { if (cachedResponse) { return cachedResponse; } return caches.open(RUNTIME).then(cache => { return fetch(event.request).then(response => { // Put … Continue reading Error handling for failed network requests with service workers

The Model-View-Presenter-Controller pattern

In this post I'll talk about the MVPC (Model-View-Presenter-Controller) design pattern I use in client applications such as progressive web apps and mobile clients. It can be best understood as an evolution of the MVC (model-view-controller) pattern past the MVP (model-view-presenter) pattern. The basics: MVC and MVP You might want to skip this section if … Continue reading The Model-View-Presenter-Controller pattern

A differential amplifier built with a current mirror

I've wondered for a long time how differential amplifiers are actually realised on the transistor level. Not having received a formal electronics engineering education nor being part of an assorted online community, that question lingered for quite a while unanswered - until yesterday. The ideal differential amplifier The differential amplifier (DA) is an electronic element … Continue reading A differential amplifier built with a current mirror