==========
== 0x2f ==
==========

mailbox.org is an OK e-mail provider

I’ve been a mailbox.org customer for 1.5 years. It has its quirks. Currently I’m paying for the “Standard” tier private account. It includes custom domain support and costs 3 EUR/mo at the time of writing.

My problems with mailbox.org

Private account invoice woes

They can’t send me an invoice containing my EU VAT ID for tax writeoff purposes.

The reason is that I’m using the cheap 3 EUR/mo private account plan, rather than their 25 EUR/mo business plan. In the business plan account settings view, there’s a field for the VAT ID, which is missing in the private counterpart.

Read more...

Listening for daemon readiness in bash

Using bash, scan output of N daemons for N “I’m ready!” messages to know all of them have finished bootstrapping. Now that you know they’re ready - do something with them.

Context

Recently at work I had to run our solution, then run performance tests on it.. I wanted to do all of that in an automated way. This post focuses on the “start our solution” part.

It’s a distributed solution, where a parent-aggregator service talks to N child services.

Read more...

Sanitizing internet use

The more time you spend on an app, the more ad money you make for it. “Similar videos to this one”, “trending videos right now”, “auto-playing the next video in 5s” etc. Because of this time stealing, I’ve been trying to sanitize my Internet use—here are the extensions I ended up with:

Clickbait Remover for YouTube

Before & after

Instead of allowing the video author to pick the video thumbnail (usually contains typical clickbait elements: shocked face, red font, pointing arrows), this extension resets the thumbnail to a random frame from the video. It turns video titles all lowercase aswell.

Read more...

Vue: Why is my input displaying something other than the :value prop I’m passing to it? Controlled inputs

Whenever you try to do some JS magic on the default HTML <input> in Vue - especially input sanitization - you’ll often come across an issue where the input will display something different than you passed to it using the :value prop. In this article I describe why that happens.
I’ve made an interactive CodeSandbox for this here

The boilerplate code

  • You’re writing a custom inputbox component
  • It filters out certain characters from user input
  • It probably looks something like below. What we’re about to do, is write something called a “controlled input” in Vue.

Input component

<!-- FILENAME: InputNoNumbers.vue -->
<template>
  <input :value="value" @input="handleInput($event.target.value)">
</template>

<script>
export default {
  props: ['value'],
  methods: {
    handleInput(newValue) {
      const newValueWithoutNumbers = newValue.replaceAll(/[0-9]/g, '')
      this.$emit('input', newValueWithoutNumbers)
    }
  }
}
</script>

Using the input component from above

Could look like this:

Read more...
Previous Page 3 of 3