Other than that I don't have a good strategy either. Since I don't use 2FA and have some hard passwords memorized, I might be able to recover some data/accounts, but definitely not all. Have to come up with a suitable battle plan in the future.
Other than that I don't have a good strategy either. Since I don't use 2FA and have some hard passwords memorized, I might be able to recover some data/accounts, but definitely not all. Have to come up with a suitable battle plan in the future.
Today, I decided to take some photos again on my way in the woods. Couldn't be bothered the last two days. It was too humid and I leaked like crazy. Surprisingly, I went outside, though.

Today, I decided to take some photos again on my way in the woods. Couldn't be bothered the last two days. It was too humid and I leaked like crazy. Surprisingly, I went outside, though.


My workday didn't went so smoothly for me. When implementing tests for a hotfix I refactored some test helpers and then found out that a mock structure was wrongly implemented for ages. After fixing it, three tests failed. Two could be solved by fixing the test setups. But the third test failure turned out to be even another severe bug in one of our production code functions. Good old nil pointer dereference panics. Somebody thought it's a good idea to rewrite
(nil, ErrNotFound)
of type (*Data, error)
to (nil, nil)
. After handling the returned error in the caller (in this case, there was no error anymore) nobody had the possible nil pointer on their radar. Bad design. To be reworked in the future after bringing the hotfix on its way.I then also found another inconsistency of our storage implementations. When removing something that does not exist, some return
nil
, some ErrNotFound
instead. Oh dear. This will cause some aftermath, I tell you.At least all of those side quests didn't happen in the wild yet.

The tadpole pond was nearly empty. When approaching it, hundreds of not even fingernail sized frogs or toads were jumping towards me. I knew, that there are larger fish in the pond, but I've only heard them so far, never seen them. Until today. At least five large individuals about 30-40 centimeters in length. One might have been even half a meter long.
Banning dragonflies on film is nearly impossible. 11 is the "best" result, not only can you see its shadow, but also its head at the very top. When going home I saw six deer in total at the woodland margins. Spending two hours at the pond was absolutely worth it.

DATE
only, but in fact a complete timestamp including time and timezone was written instead (DTSTART;VALUE=DATE:20230106T000000Z
rather than DTSTART;VALUE=DATE:20230106
). This parser didn't like that. To my defense, the validator did not report anything and approved of my ical file, though.
1. I'm sure
go fmt
would add a space after the comment marker //
.2. Go doc strings are supposed to start with the name of the variable etc (I'm not a fan of this, either).
3. Sometimes
log.SetPrefix(…)
ends with a space, sometimes not.4. Some messages start capital, some don't.
5. Typo:
occurred
with double r
.6. On lots of errors no appropriate status code is set.
7. Some
err
can be scoped in the if
like that: if err := foo(); err != nil { … }
8. The
<title>
s could be improved.9. I have no idea about redis, but
rclient.Set("user:"+username, …)
looks suspicious to me and reminds me of SQL injections.10.
o
cookie, err := r.Cookie("session_token")
if err != nil {
if err == http.ErrNoCookie { … return }
}
doesn't look complete. Also handle other errors? Or simplify without nil check.

The sunset started really lame but quickly turned into a pretty colorful spectacle. At least three quarter of the photos turned out utterly useless, since the auto-focus totally fucked up again. That's almost never the case with the old camera (unless lighting sucks). Observed this quite a lot with this one, even happens every now and then in superb lighing conditions. :-(

It's crazy how loud these mowers can be. The noises resounded from 1.5 km away to the summit like they were only a few meters away.
As it turns out, the tree in question covered in ivy from a few weeks or even months back is a cherry (34 & 35).


Last week I brought a jumper and it was useless, since it was very warm and humid, more than I thought. Temperatures this week were the same, so I learned from the week before and left my jumper at home. Boy, I could have used it this time. When I arrived at home I was super cold.
@carsten WTF, crazy! I didn't suspect that they block it outside of Germany. In their Mediathek they remove it in a year. This is such a terrible public broadcasting system we're having. ]:-<
Yes, I'm really glad that we have all those volunteers and professionals. I couldn't do it.
GridBagLayout
in particular. I later tried Java SWT in one uni project. Can't remember whether I liked it more or less than Swing.Finally, I discovered Qt and KDE. I had been a KDE user for a while already. Qt had a super great documentation. In a semester break I just started reading the docs for fun without any use in mind and then got instantly hooked. It was just very well written and it appeared as if it was designed by people who really knew what they were doing. I certainly did not get that feeling in the Java world. Shortly after I tried out Qt with C++, but quickly discovered that there was QtJambi for Java. Muuuuch easier. Quickly I found out that there are even Python bindings, so PyQt4 (or was it still 3?) was the holy grail. Totally convenient to use, most things could be just passed in the constructor arguments. No need to set things one by one with these annoying setters. You wouldn't believe how happy I was when discovering PyKDE. Native applications for my desktop environment of choice back then! \o/
But writing real GUIs (not mickey mouse kindergarden hello world GUIs) is always painful. I try to avoid it if possible. So far, quite successful. It's been several years now that I touched my last PyKDE code. I would have to port it to version 5 to get it going.
GridBagLayout
in particular. I later tried Java SWT in one uni project. Can't remember whether I liked it more or less than Swing.Finally, I discovered Qt and KDE. I had been a KDE user for a while already. Qt had a super great documentation. In a semester break I just started reading the docs for fun without any use in mind and then got instantly hooked. It was just very well written and it appeared as if it was designed by people who really knew what they were doing. I certainly did not get that feeling in the Java world. Shortly after I tried out Qt with C++, but quickly discovered that there was QtJambi for Java. Muuuuch easier. Quickly I found out that there are even Python bindings, so PyQt4 (or was it still 3?) was the holy grail. Totally convenient to use, most things could be just passed in the constructor arguments. No need to set things one by one with these annoying setters. You wouldn't believe how happy I was when discovering PyKDE. Native applications for my desktop environment of choice back then! \\o/
But writing real GUIs (not mickey mouse kindergarden hello world GUIs) is always painful. I try to avoid it if possible. So far, quite successful. It's been several years now that I touched my last PyKDE code. I would have to port it to version 5 to get it going.
@all
and flooded peoples inboxes. Reminds me of my dayjob where this happens at least once every second week. Apparently, this cannot be disabled in GitLab. Somebody could have just made a fix for that, it would have been totally worth the time to get this going with our large user base.