Searching txt.sour.is

Twts matching #thoughtful
Sort by: Newest, Oldest, Most Relevant
In-reply-to » Posting from c++, fltk GUI.

Got some good progress on the GTK gui today, got the timeline to work!
Took some time to figure out how the UI layout stuff works, but it looks good now.
I will add the avatars next.

The way it is right now - I got this up and running in a couple of hours, instead of ‘days’ with FLTK.
So I’m glad I made the decision to switch to GTK,
Right now I’m doing all development on Trisquel OS, windows version will come later on.

Also - since I thought about the possibility that I wanted to switch early in the process the code that does all the work is UI independent, meaning this was easy to do. +1 for planning ahead.. :)
I will post a screenshot of the new UI soon, once it’s a bit polished.

⤋ Read More
In-reply-to » Q: Is anyone actually finding the activitypub experimental feature I've been working on (for those running main) actually useful? 🤔 (because I'm not and having second thoughts...)

@prologic@twtxt.net I like it, I get to follow some people I could not follow before, which I find useful.
But if you have second thoughts about it all - then I can understand that.
If you decide to pull the plug on it - then I’ll just get some additional activitypub service installed on my server and use that for that (I was thinking about installing this: https://github.com/tsileo/microblog.pub ) if needed.

⤋ Read More

Q: Is anyone actually finding the activitypub experimental feature I’ve been working on (for those running main) actually useful? 🤔 (because I’m not and having second thoughts…)

⤋ Read More

I’m currently validating the use of the OpenAI API as a cheaper and more powerful alternative to the Google Translate API. I hope my plans succeed and there will be a new GoBlog plugin with some AI power soon. ✨ So far the OpenAI API is quite easy to use, I thought it would be more complicated. Philipp is already using the API for his diary, another cool idea (which I may copy someday). ⌘ Read more

⤋ Read More

👋 Hey y’all yarners 🤗 – @darch@neotxt.dk and I have been discussing in our Weekly Yarn.social call (still ongoing… come join us! 🙏) about the experimental Yarn.social <-> Activity Pub integration/bridge I’ve been working on… And mostly whether it’s even a good idea at al, and if we should continue or not?

There are still some outstanding issues that would need to be improved if we continued this regardless

Some thoughts being discussed:

  • Yarn.social pods are more of a “family”, where you invite people into your “home” or “community”
  • Opening up to the “Fedivise” is potentially “uncontrolled”
  • Even at a small scale (a tiny dev pod) we see activities from servers never interacted with before
  • The possibility of abuse (because basically anything can POST things to your Pod now)
  • Pull vs. Push model polarising models/views which whilst in theory can be made to work, should they?

Go! 👏

⤋ Read More

Erlang Solutions: Can’t Live with It, Can’t Live without It
I’d like to share some thoughts about Elixir’s with keyword.  with is a wonderful tool, but in my experience it is a bit overused.  To use it best, we must understand how it behaves in all cases.  So, let’s briefly cover the basics, starting with pipes in Elixir.

Pipes are a wonderful abstraction

But like all tools, you should think about when it is best used…

Pipes are at their best when you expect your function … ⌘ Read more

⤋ Read More

Prosodical Thoughts: Prosody 0.12.3 released
We are pleased to announce a new minor release from our stable branch.

This is a bugfix release for our stable 0.12 series. Most notably, it fixes a
regression for SQL users introduced in 0.12.2, and a separate long-standing
compatibility issue with archive stores on certain MySQL/MariaDB versions.

It also fixes an issue with websockets discovered by the Jitsi team, some
issues with our internal HTTP client API, and we’ve improved the accuracy of
‘prosodyctl check dns’ in … ⌘ Read more

⤋ Read More

@stigatle@yarn.stigatle.no The reason I was thinking about a separate binary / project / service is to bring along our Twtxt friends like @movq@www.uninformativ.de and @lyse@lyse.isobeef.org and anyone else that self-hosted their Twtxt feed on their own. But this of course has added complexities like spinning up yanrd along with whatever this thing will be called configuring the two and connecting them. Fortunately however yarnd already does this with the feeds service and defaults to using feeds.twtxt.net – So we would so something similar there too. Further thoughts? 🤔

⤋ Read More

** Accessibility and the product person **
This post is a slightly modified version of a talk I presented to the product practice at my work. It presents a few ways that product designers and managers can help to move accessibility forward. It is a little bit different than what I normally share, here, but, I thought it may be interesting to some folks.

[![Picture of a slide with the title “Why though?” It also includes a quote from Kat Holmes’ book Mismatch. The quote reads: “There are many challeng … ⌘ Read more

⤋ Read More

** Accessibility updates **
I’m feeling pretty chuffed! Last week I wrote about my intention to make this website more accessible. My motivations were many-fold, but, primarily, mostly shame. I’ve worked as an accessibility specialist in the past, and now spend a bunch of my days at work looking for ways to make public infrastructure online more accessible. It seemed fitting to at least make sure the little bit I contribute to the web here is also accessible.

I thought it was going t … ⌘ Read more

⤋ Read More

** week notes **
It got a wee bit cold here in Maine this weekend. It was thankfully uneventful for us. We hung around inside and watched it get real cold outside. Our home faired pretty well, too. Honestly pleasantly surprised about that!

We picked this weekend to go all in on potty training — pantsless days, treats, rousing bouts of encouragement sung, and a lot of spot cleaning. Fueled by hubris, I thought we had this potty trainin … ⌘ Read more

⤋ Read More

My code is still a mess, but I’m learning
I taught myself Go (and programming in general) by learning by doing. I learned by making a lot of mistakes and after noticing them, doing the necessary research. My Go code is probably a big mess, but it’s so satisfying, after not touching some code for a while, to do a major rewrite and improve the code with everything I’ve learned since the last time. ⌘ Read more

⤋ Read More

H3: Instead of C3
[Updated with correct Gemlog link.]

A version of this was posted on on 2023-01-06 but I thought it might
also fit here. Go to my gemlog for somewhat more personal takes and
see what I publish first. IPv6 only!

gemini://gem.hack.org/mc/log/

As long-time readers know I have participated in the Chaos
Communication Congress (C3) in Germany every year since 2008.

Since C3 was cancelled this year I thought I’d arrange a very small
conference of my own. I would at least try to gather some friends and
acquaintances … ⌘ Read more

⤋ Read More

H3: Instead of C3
A version of this was posted on on 2023-01-06 but I thought it might
also fit here. Go to my gemlog for somewhat more personal takes and
see what I publish first. IPv6 only!

gemini://gem.hack.org/log/

As long-time readers know I have participated in the Chaos
Communication Congress (C3) in Germany every year since 2008.

Since C3 was cancelled this year I thought I’d arrange a very small
conference of my own. I would at least try to gather some friends and
acquaintances in chat and video conference and watch t … ⌘ Read more

⤋ Read More
In-reply-to » Trying to wrap my head around webfinger..

@prologic@twtxt.net That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:

# http GET https://example.okta.com/.well-known/webfinger  resource==acct:bob
{
    "links": [
        {
            "href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
            "properties": {
                "okta:idp:type": "OKTA"
            },
            "rel": "http://openid.net/specs/connect/1.0/issuer",
            "titles": {
                "und": "example"
            }
        }
    ],
    "subject": "acct:bob"
}

It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.

Mastodons response:

{
  "subject": "acct:xuu@chaos.social",
  "aliases": [
    "https://chaos.social/@xuu",
    "https://chaos.social/users/xuu"
  ],
  "links": [
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "type": "text/html",
      "href": "https://chaos.social/@xuu"
    },
    {
      "rel": "self",
      "type": "application/activity+json",
      "href": "https://chaos.social/users/xuu"
    },
    {
      "rel": "http://ostatus.org/schema/1.0/subscribe"
    }
  ]
}

it supplies a profile page and a self which are both specific to that account.

⤋ Read More
In-reply-to » Trying to wrap my head around webfinger..

@prologic@twtxt.net That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:

# http GET https://example.okta.com/.well-known/webfinger  resource==acct:bob
{
    "links": [
        {
            "href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
            "properties": {
                "okta:idp:type": "OKTA"
            },
            "rel": "http://openid.net/specs/connect/1.0/issuer",
            "titles": {
                "und": "example"
            }
        }
    ],
    "subject": "acct:bob"
}

It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.

Mastodons response:

{
  "subject": "acct:xuu@chaos.social",
  "aliases": [
    "https://chaos.social/@xuu",
    "https://chaos.social/users/xuu"
  ],
  "links": [
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "type": "text/html",
      "href": "https://chaos.social/@xuu"
    },
    {
      "rel": "self",
      "type": "application/activity+json",
      "href": "https://chaos.social/users/xuu"
    },
    {
      "rel": "http://ostatus.org/schema/1.0/subscribe"
    }
  ]
}

it supplies a profile page and a self which are both specific to that account.

⤋ Read More

Trying to wrap my head around webfinger..

my first thoughts about it were that a subject of acct:me@sour.is would have a listing of rel’s for the different accounts that are related to me (ie. yarn, salty, twitter, mastodon, etc…)

but maybe my thinking is at the wrong level.. that each of those accounts would be on a subject level and the rels are describing different aspects of that account. so i would have salty:acct:xuu@sour.is, twitter:acct:xuu, mastodon:acct:xuu@chaos.social, yarn:acct:xuu@ev.sour.is and then i could have a main acct:me@sour.is that links them together as aliases.

I found okta will do something similar with its accounts to show as okta:acct:user@domain so maybe I am on to something?

⤋ Read More

Trying to wrap my head around webfinger..

my first thoughts about it were that a subject of acct:me@sour.is would have a listing of rel’s for the different accounts that are related to me (ie. yarn, salty, twitter, mastodon, etc…)

but maybe my thinking is at the wrong level.. that each of those accounts would be on a subject level and the rels are describing different aspects of that account. so i would have salty:acct:xuu@sour.is, twitter:acct:xuu, mastodon:acct:xuu@chaos.social, yarn:acct:xuu@ev.sour.is and then i could have a main acct:me@sour.is that links them together as aliases.

I found okta will do something similar with its accounts to show as okta:acct:user@domain so maybe I am on to something?

⤋ Read More

My first Freeletics week
My first Freeletics week is complete. And I got a badge for the first “perfect week”. I hope this gamification (levels and badges for perfect weeks, perfect week streaks, training session milestones etc.) will make me pull through. My girl friend also joined me and started using Freeletics. 🤓 ⌘ Read more

⤋ Read More
In-reply-to » More specifically: Will this be expanded into something like Gitea with the concept of users and organizations, or will it stay with a simple flat repository model like upstream legit or cgit?

Huh. I thought I had that one. Must be an unteste regression. Will add it to the list!

⤋ Read More
In-reply-to » More specifically: Will this be expanded into something like Gitea with the concept of users and organizations, or will it stay with a simple flat repository model like upstream legit or cgit?

Huh. I thought I had that one. Must be an unteste regression. Will add it to the list!

⤋ Read More

** I read some books in 2022, and have some thoughts about computer science writing **
At the start of this year I set out to revive my long dead reading habit. After having kids it fell by the wayside. I’ve read 41 books so far this year. Mostly a mix of science fiction and nonfiction computer science books. Here’s the complete list of everything I’ve read. I’ve got mixed feelings about keeping track and sharing cou … ⌘ Read more

⤋ Read More

Bitwarden Unified
Bitwarden (my favorite and recommended password manager) is offering a “new deployment option”. This new option combines all microservices into a single Docker container and doesn’t require 11 different containers anymore. And it supports PostgreSQL and MariaDB in addition to MS SQL. ⌘ Read more

⤋ Read More

** Thoughts on accessibility in smol computing **
What follows is my attempt to spark a conversation in a few converging, but separate communities I lurk in.

I’ve already had a bunch of amazing conversations around this topic with a lot of people. Those conversations helped to shape what follows. Thanks to everyone who was willing to think this stuff through with me.

Before I get into it I want to say at the top this isn’t meant as an accusation against anyone in these communities, nor the goals of t … ⌘ Read more

⤋ Read More

Prosodical Thoughts: Prosody 0.12.2 released
We are pleased to announce a new minor release from our stable branch.

This is a regularly delayed release containing a number of fixes for
issues that we have come across since the last release of the 0.12
series.

A summary of changes in this release:

Fixes and improvements
  • util.stanza: Allow U+7F when constructing stazas
  • net.unbound: Preserve built-in defaults and Prosodys settings for luaunbound (fixes#1763: luaunbound not read … ⌘ Read more

⤋ Read More

** December adventure **
Over the past couple years I’ve done the advent of code to varying degrees. I thought I was going to do it again this year but decided to try something different. I’ve been calling what came together a“ December Adventure.”

It isn’t anything fancy; throughout December I aim to write a little bit of code everyday. So far I’ve written a bit of apl, bash, elisp, explored a bunch of flavors of scheme, and star … ⌘ Read more

⤋ Read More

Prosodical Thoughts: Bringing FASTer authentication to Prosody and XMPP
As our work continues on modernizing XMPP authentication,
we have some more new milestones to share with you. Until now our work has
mostly been focused on internal Prosody improvements, such as the new roles\
and permissions framework. Now we are starting to extend our
work to the actual client-to-server protocol in XMPP.

Prosody and [Snikket](https://snik … ⌘ Read more

⤋ Read More

Moving to another city
As I’ve probably written many times before (have I?), I’m currently moving with my girlfriend to her university town. I will keep my old apartment as a second home. But it’s still my first move to another city and I’m just realizing it. ⌘ Read more

⤋ Read More

**RT by @mind_booster: Who’d a thought. Golly gosh. Apple “privacy is a fundamental human right” .. but ….

“Apple Is Tracking You Even When Its Own Privacy Settings Say It’s Not, New Research Says”
https://gizmodo.com/apple-iphone-analytics-tracking-even-when-off-app-store-1849757558**
Who’d a thought. Golly gosh. Apple “privacy is a fundamental human right” .. but ….

“Apple Is Tracking You Even When Its Own Privacy Settings Say It’s Not, New Research Says”

[gizmodo.com/apple-iphone-ana…](https://gizm … ⌘ Read more

⤋ Read More

I was inclined to let this go so as not to stir anything up, but after some additional thought I’ve decided to call it out. This twt:

Image

is exactly the kind of ad hominem garbage I came to expect from Twitter™, and I’m disappointed to see it replicated here. Rummaging through someone’s background trying to find a “gotcha” argument to take credibility away from what a person is saying, instead of engaging the ideas directly, is what trolls and bad faith actors do. That’s what the twt above does (falsely, I might add–what’s being claimed is untrue).

If you take issue with something I’ve said, you can mute me, unfollow me, ignore me, use TamperMonkey to turn all my twts into gibberish, engage the ideas directly, etc etc etc. There are plenty of options to make what I said go away. Reading through my links, reading about my organization’s CEO’s background, and trying to use that against me somehow (after misinterpreting it no less)? Besides being unacceptable in a rational discussion, and besides being completely ineffective in stopping me from expressing whatever it is you didn’t like, it’s creepy. Don’t do that.

⤋ Read More

After all, debugging is still fun!
One reason I use an Android smartphone is that there are apps like Indigenous (a MicroPub-compatible app for posting from your phone to a MicroPub-compatible blog). And even if the app ever disappears from the store, there’s still the option to manually install the app. And if you need to, you can also develop your own apps without having to invest nearly $100 a year. ⌘ Read more

⤋ Read More

Prosodical Thoughts: Mutation Testing in Prosody
This is a post about a new automated testing technique we have recently
adopted to help us during our daily development work on Prosody. It’s probably
most interesting to developers, but anyone technically-inclined should be able
to follow along!

If you’re unfamiliar with our project, it’s an open-source real-time messaging
server, built around the XMPP protocol. It’s used by many organizations and
self-hosting hobbyists, and also powers applications such as [Snikke … ⌘ Read more

⤋ Read More

Why can’t I sleep when I’m excited? And why am I not excited during the day, but then my thoughts are circling at night? Well at least I slept well yesterday. Maybe that helps to get through the day somehow after only 3 or 4 hours of sleep. ⌘ Read more

⤋ Read More
In-reply-to » I did a take home software engineering test for a company recently, unfortunately I was really sick (have finally recovered) at the time 😢 I was also at the same time interviewing for an SRE position (as well as Software Engineering).

@prologic@twtxt.net Error handling especially in Go is very tricky I think. Even though the idea is simple, it’s fairly hard to actually implement and use in a meaningful way in my opinion. All this error wrapping or the lack of it and checking whether some specific error occurred is a mess. errors.As(…) just doesn’t feel natural. errors.Is(…) only just. I mainly avoided it. Yesterday evening I actually researched a bit about that and found this article on errors with Go 1.13. It shed a little bit of light, but I still have a long way to go, I reckon.

We tried several things but haven’t found the holy grail. Currently, we have a mix of different styles, but nothing feels really right. And having plenty of different approaches also doesn’t help, that’s right. I agree, error messages often end up getting wrapped way too much with useless information. We haven’t found a solution yet. We just noticed that it kind of depends on the exact circumstances, sometimes the caller should add more information, sometimes it’s better if the callee already includes what it was supposed to do.

To experiment and get a feel for yesterday’s research results I tried myself on the combined log parser and how to signal three different errors. I’m not happy with it. Any feedback is highly appreciated. The idea is to let the caller check (not implemented yet) whether a specific error occurred. That means I have to define some dedicated errors upfront (ErrInvalidFormat, ErrInvalidStatusCode, ErrInvalidSentBytes) that can be used in the err == ErrInvalidFormat or probably more correct errors.Is(err, ErrInvalidFormat) check at the caller.

All three errors define separate error categories and are created using errors.New(…). But for the invalid status code and invalid sent bytes cases I want to include more detail, the actual invalid number that is. Since these errors are already predefined, I cannot add this dynamic information to them. So I would need to wrap them à la fmt.Errorf("invalid sent bytes '%s': %w", sentBytes, ErrInvalidSentBytes"). Yet, the ErrInvalidSentBytes is wrapped and can be asserted later on using errors.Is(err, ErrInvalidSentBytes), but the big problem is that the message is repeated. I don’t want that!

Having a Python and Java background, exception hierarchies are a well understood concept I’m trying to use here. While typing this long message it occurs to me that this is probably the issue here. Anyways, I thought, I just create a ParseError type, that can hold a custom message and some causing error (one of the three ErrInvalid* above). The custom message is then returned at Error() and the wrapped cause will be matched in Is(…). I then just return a ParseError{fmt.Sprintf("invalid sent bytes '%s'", sentBytes), ErrInvalidSentBytes}, but that looks super weird.

I probably need to scrap the “parent error” ParseError and make all three “suberrors” three dedicated error types implementing Error() string methods where I create a useful error messages. Then the caller probably could just errors.Is(err, InvalidSentBytesError{}). But creating an instance of the InvalidSentBytesError type only to check for such an error category just does feel wrong to me. However, it might be the way to do this. I don’t know. To be tried. Opinions, anyone? Implementing a whole new type is some effort, that I want to avoid.

Alternatively just one ParseError containing an error kind enumeration for InvalidFormat and friends could be used. Also seen that pattern before. But that would then require the much more verbose var parseError ParseError; if errors.As(err, &parseError) && parseError.Kind == InvalidSentBytes { … } or something like that. Far from elegant in my eyes.

⤋ Read More

Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.

It’s super basic. Using tidwall/wal as the disk backing. The first use case I am playing with is an implementation of msgbus. I can post events to it and read them back in reverse order.

I plan to expand it to handle other event sourcing type things like aggregates and projections.

Find it here: sour-is/ev

@prologic@twtxt.net @movq@www.uninformativ.de @lyse@lyse.isobeef.org

⤋ Read More

Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.

It’s super basic. Using tidwall/wal as the disk backing. The first use case I am playing with is an implementation of msgbus. I can post events to it and read them back in reverse order.

I plan to expand it to handle other event sourcing type things like aggregates and projections.

Find it here: sour-is/ev

@prologic@twtxt.net @movq@www.uninformativ.de @lyse@lyse.isobeef.org

⤋ Read More

The Circle
Some years ago, I started reading the novel “The Circle” by Dave Eggers. I never finished reading it, but today I watched the movie. It has an important message about privacy, transparency and surveillance and shows that there’s a thin line in-between those. I can definitely recommend watching it, although I sometimes wasn’t impressed by the acting. ⌘ Read more

⤋ Read More

‘Based’ Paganism vs. Christianity
I’ve been meaning to write about Paganism recently. I will frame it as a response to an email I received within the past day or so:

Hey Luke,

First off, I would like to thank you for all your efforts in making everything
you know accessible to everyone. You have exposed me to some of the most
thought-provoking people on the internet and Varg is one of them. I was
wondering if you can write an article or make a video on what you think about
Varg’s Paganism in r … ⌘ Read more

⤋ Read More

‘Based’ Paganism vs. Christianity
I’ve been meaning to write about Paganism recently. I will frame it as a response to an email I received within the past day or so:

Hey Luke,

First off, I would like to thank you for all your efforts in making everything
you know accessible to everyone. You have exposed me to some of the most
thought-provoking people on the internet and Varg is one of them. I was
wondering if you can write an article or make a video on what you think about
Varg’s Paganism in r … ⌘ Read more

⤋ Read More

The hardest technical solutions are right in front of your face.
Nassim Taleb had this old anecdote of the sheer absurdity that while the suitcase and other bags had existed for lifetimes, it was only in the 1990’s that people had the idea to put wheels on the things so they didn’t have to haul them around airports all day with their strength.

It reminds you of the fact that while children in the Incan Empire did indeed have some toys with wheels, apparently no one thought to use the wheel to make a simple … ⌘ Read more

⤋ Read More

The hardest technical solutions are right in front of your face.
Nassim Taleb had this old anecdote of the sheer absurdity that while the suitcase and other bags had existed for lifetimes, it was only in the 1990’s that people had the idea to put wheels on the things so they didn’t have to haul them around airports all day with their strength.

It reminds you of the fact that while children in the Incan Empire did indeed have some toys with wheels, apparently no one thought to use the wheel to make a simple … ⌘ Read more

⤋ Read More

the right level for solving the hard problem of consciousness is within existing science/within philosophy/within meta- or pre-philosophy/needs a fully new paradigm of thought

⤋ Read More

Hardening National Boundaries in a Globally-connected World
[Sponsored Article]

Information and communication technologies (ICTs) such as the internet are often thought to have removed the boundaries among countries and brought us to a boundless world. But is that really the case? To investigate this question, research authored by Dr Jun ZHANG, Assistant Professor of CityU’s Department of Asian and International Studies, takes as e … ⌘ Read more

⤋ Read More

Prosodical Thoughts: Modernizing XMPP authentication and authorization
We’re excited to announce that we have received funding, from the EU’s
NGI Assure via the NLnet Foundation, to work on
some important enhancements to Prosody and XMPP. Our work will be focusing on
XMPP authentication and authorization, and bringing it up to date with current
and emerging best practices.

What kind of changes are we talking about? Well, there are a few aspects we
are planning to work on. Let’s start with “authent … ⌘ Read more

⤋ Read More

Prosodical Thoughts: Prosody 0.12.1 released
We are pleased to announce a new minor release from our stable branch.

While the 0.12.0 release has been a huge success, inevitably people found some
aspects that didn’t work quite as intended, or weren’t as polished as they
ought to be. With the appreciation for the help from everyone reporting issues
to us, we’re happy to now release our best version yet - 0.12.1 is here!

Notably, we made a couple of changes that improve compatibility with Jitsi
Meet, we fixed some bugs … ⌘ Read more

⤋ Read More

Migrating away from Cloudflare
Recently I stumbled across two threads regarding Cloudflare that somehow left a bitter taste. I think it’s a big red flag when users have to seek support via public forums because their accounts have been banned from a service, but no help comes via support. ⌘ Read more

⤋ Read More

No standstill?
When I reflect on myself like this, I have long had the impression that I am a person who cannot live at a standstill. I always need a topic that keeps me busy, a thing in my life that I can optimize or at least a frequently changing topic that I can dive into. ⌘ Read more

⤋ Read More

Why I now mute my watch
I am a user of a smartwatch. It is already the third smartwatch in my life (first the Sony SmartWatch 3, then the Samsung Galaxy Watch and now the Galaxy Watch 4) and I am actually quite satisfied with it. I always need an easy way to see the time, even when I’m riding my bike and can’t look at my smartphone (being on time is important to me!), plus it counts my steps and gives me the ability to view notifications right on my wrist so I don’t always have to get my smartphone out of my pocket firs … ⌘ Read more

⤋ Read More

Reflecting on my work
I have been a full-time software developer for over a year now. I’ve since settled in well in the job, and I’m getting along better and better, even if the topics are sometimes still quite complex and difficult to understand, especially when it comes to “historically grown” things. ⌘ Read more

⤋ Read More

The young man, who does not know the future, sees life as a kind of epic adventure, an Odyssey through strange seas and unknown islands, where he will test and prove his powers, and thereby discover his immortality. The man of middle years, who has lived the future that he once dreamed, sees life as a tragedy; for he has learned that his power, however great, will not prevail against those forces of accident and nature to which he gives the names of gods, and has learned that he is mortal. But the man of age, if he plays his assigned role properly, must see life as a comedy. For his triumphs and his failures merge, and one is no more the occasion for pride or shame than the other; and he is neither the hero who proves himself against those forces, nor the protagonist who is destroyed by them. – John Williams in Augustus I thought I’d have accomplished a lot more today and also before I was 35 (2020) | Hacker News

⤋ Read More

rathole - ngrok alternative
Some time ago I tried to make my Nitter instance available on the Internet from home via Tailscale, Caddy and an own building block in between, but stopped it again a short time later because it didn’t work that well somehow. Today I found out about rathole, and what can I say? It works great and seems to be much faster than my previous solution! ⌘ Read more

⤋ Read More

A new algoritm, psukhAI, promises to find everyone a soulmate. It delivers, but living among one’s equals proves destructive to the psyche - users report frequent depersonalisation, alien-but-familiar intrusive thoughts, suspected soulswaps with peers↵(#InvisibleNetworks, day 2)

⤋ Read More