Notes

Status updates and short notes.

Subscribe to the feed

  1. Three intense TypeScript workshop days with @deadparrot. It was an absolute blast, learned a lot, especially about Generics. Thank you!

  2. Adding specific links as home screen icon (and not the main page) on iOS is pretty cumbersome. As pointed out by the user “Schlickenstein” from the Apple Support Community, this is the way:

    1. Copy desired URL.
    2. Turn airplane mode on.
    3. Go back to Safari and navigate to copied URL
    4. After loading fails, click the sharing button and choose the option “Add to Home Screen” as normal.

    Wow.

  3. Microformats question regarding p-rating in h-review’s: Are non-integer values allowed/valid, e.g. <data class="p-rating" value="4.5" title="4.5 out of 5">…</data>?

  4. I’m having trouble keeping up with my feed reader count of unread articles. Somehow again and again I delay opening up the damn thing and just start reading.

  5. One of the reasons I struggle with writing notes and articles for my blog on a regular basis is the fact that I don’t know who I’m writing for. (That, and an unhealthy mix of impostor syndrome.)

    Who reads my content? For which audience do or should I write? Who even cares about the things I think about? Do my ramblings make any iota of meaningful difference in the world?

    This thinking isn’t helpful. It’s the opposite. I can feel how it blocks my mind.

    That’s why I now try to think of it as I think of good and relevant comments in code: I try to picture myself a few months into the future and document things for my future self. I make implicit knowledge explicit, for myself, in order to be able to remember. I materialize emotions and thoughts I have every day through words I put up on my blog.

    The audience is me. Anyone else interested is welcome to join me in reading.

  6. For years now my go-to pattern for CSS hyphenation was always something like this:

    p {
      /* activate hyphenation */
      hyphens: auto;
      /* add some sensible settings (http://clagnut.com/blog/2395/) */
      hyphenate-limit-chars: 6 3 3;
      hyphenate-limit-last: always;
      hyphenate-limit-lines: 2;
      hyphenate-limit-zone: 8%;
    }
    
    @media screen and (min-width: 768px) {
      p {
        /* deactivate hyphenation for larger viewports */
        hyphens: none;
      }
    }

    Today at work we encountered a strange bug in combination with the none keyword. A floated element caused the text paragraphs besides it to create weird and random text breaks. Toggling the none keyword on those text paragraphs caused the bug to disappear.

    Upon further inspection I checked out the docs for the hyphens property. For the none value the following is stated:

    Words are not broken at line breaks, even if characters inside the words suggest line break points. Lines will only wrap at whitespace.

    This seems rather aggressive. What I actually want is what the manual keyword offers (which is also the default value of hyphens):

    Words are broken for line-wrapping only where characters inside the word suggest line break opportunities. […]

    Adding manual to the text paragraphs fixed the bug. Unfortunately I don’t know what exactly caused the bug, but I guess in certain layout combinations the aggressive nature of none can cause browsers to create weird text flows.

    Again what learned, as we like to say in Germany!

  7. I just came across a job offer for a “Frontend Developer”. In it is explicitly stated that you should not apply if you’ve never touched AWS or Kubernetes. I mean: what the actual f.

  8. In April 2021 I will run the Hamburg marathon. It will be my second marathon after the Munich marathon in October 2018, which I ran in a net time of 3 hours and 44 minutes. My goal for 2021 is a net time of 3 hours and 30 minutes, which means I will run an average pace of just under five minutes per kilometer.

    So, it’s roughly 36 weeks until the marathon. I’ve been going over my running schedule in my head. According to Herbert Steffny (his website is pretty dope, check it out, I will wait here for you) in order to run a marathon in 3 hours and 30 minutes one should be able to run a distance of 10 kilometers in 45 minutes and a half-marathon in 1 hour and 40 minutes. To bridge the time until the marathon training I thought it would be a good idea to train for and run both the 10k and the 21k distance in the mentioned duration.

    This is my schedule:

    1. In order to get my body accustomed to an increased running workload I will gradually increase the weekly mileage of my current runs until the start of the 10k training (that’s in ten weeks) to about 50k per week.
    2. The 10k training starts October 26th and spans over a period of six weeks. On December 6th I will run the 10k in 45 minutes.
    3. After a break of two weeks, the half-marathon training begins on December 21st and spans over a period of six weeks. I will run the half-marathon on January 31st in 1 hour and 40 minutes.
    4. After a break of two weeks, the marathon training begins on February 15th and spans over a period of ten weeks. I will run the marathon on April 25th in 3 hours and 30 minutes (that is still to be seen, though 😀).
  9. Since July 10th we have a new four-legged family member, a dog to be precise. Dingo is his name. He is a rescue dog from Romania and his favourite hobbies are: sleeping and snoring.

    We got Dingo from the Tierschutzbrücke München. It’s an association which has a close relationship to the animal shelter Casa Cainelui in the city of Timisoara in western Romania since 2001. Dogs are being rescued from local killing shelters (yep, those exist), nursed up and brought to Germany and other countries. In addition, castration campaigns are carried out regularly to get to the root of the problem of the uncontrolled growing number of stray dogs in Romania.

    The process of getting Dingo via the Tierschutzbrücke was serious and professional. We were assigned a nice lady who is responsible for the placement of the dogs to Munich. She looked at our living situation and asked us honestly about our motives and experiences with dogs. You can see from the association and the staff that the main concern is animal welfare.

    After her “go” we went dog shopping and surrendered to the marketing and products of the dog industry. We didn’t leave anything out: tick tongs, two different lines (a short line and a drag line), three different brushes (underfur brush, normal brush and massage brush), treats and food in different variations (from veggie to meat, from organic to conventional), toys, dog bed, pharmacy bag, dog shampoo, ... After the first big shopping tour I could understand and extrapolate what a gigantic industry this must be. In fact: 4.325 billion Euro turnover, that is the house number of the German pet industry in 2019. Fun fact: there are 10.1 million dogs living in German households. And: “Dog snacks have been growing dynamically for years” is a sentence my brain has never had to process before.

    One week after the shopping tour, Dingo arrived. He’s a super nice guy, who always wants to cuddle a lot and whom we took to our hearts very quickly.

    The daily rhythm is determined by him since then. Our day is now divided as follows:

    • In the morning a long dog walk (30 to 45 minutes).
    • At noon a short dog walk (10 minutes).
    • In the late afternoon again a long dog walk (30 to 45 minutes).
    • Late in the evening, a short dog walk (10 minutes).
    • Repeat.

    What we have already noticed is that, in addition to the time and money involved, normal everyday life has also changed considerably when looking at the usual social activities. Just drive into town quickly for a visit to a restaurant? Not possible, Dingo isn’t used to a restaurant situation and public transport. Spontaneous beer garden session with friends? Dingo on a leash in combination with possibly other dogs nearby still holds too much potential for aggression and too much stress for everyone involved.

    We now simply try to approach his education in a calm and step-by-step manner: good leashing, learning the basic commands, learning new situations (driving the bus, going to a restaurant, etc.) and dog training. Along the way Dingo will learn a lot of new things, but we will certainly learn a lot more.

  10. Inspired by Hidde de Vries (who got inspired by Ethan Marcotte and Robin Rendle) I too added a “Reply via email” link at the bottom of every RSS feed item. Check it out!

    I like this kind of subtle UX improvements for “hidden” stuff like RSS feeds. Similarly, if I link to an external source I automatically add the external link at the bottom of the corresponding RSS feed.

    Thanks for the heads up, Hidde!

  11. Reading “More infos to follow soon…” in the Readme file of a repository where the last commit happened in 2012. Whispers of the past. Put me in a melancholic mood almost instantly. Maybe also triggered by the Celtic playlist I’m listening to in the background.

  12. Just stumbled upon the slides of a talk I gave at university just shy of eight years ago. The topic: jQuery. Flipping through the slides it really feels like a different time dimension. So much has changed… And the other realization that hit me right away: I’m ooold. 😄

  13. Next step for owning more of the content I’m producing: I swaped all of my runs (368 in total) with all relevant data from the Garmin silo to the ProcessWire instance of my website. ✌️

    The runs will be part of my content stream on my website. The process of getting new runs into the system is not yet automated, I have to play around with it still to figure things out.