My Thoughts on the NASA Budget ⌘ Read more
After work bike tour
I admit it, I should rename the subtitle of my blog from “Thoughts of an IT expert” to “My bike tour log”. Even though it was 29° C outside today, I wanted to do another bike tour after work. 42 km through the surrounding area of my hometown. I discovered new places and noticed that it actually feels colder next to trees. It was much fun! ⌘ Read more
@prologic@twtxt.net I thought “stochastic parrot” meant a complete lack of understanding.
Lowlands bike tour
On Thursday, I made another bike tour. Not in the low mountains, but in the south of the North German Plain. With more distance compared to the last time, I had way less incline and that makes a big difference. ⌘ Read more
Telegram worries
Telegram was always my favorite messenger, as it provided a fast and user-friendly experience on multiple devices. But one and a half years ago, I already started doubting my decision to rely on Telegram. ⌘ Read more
Watch Steve Jobs Speak at the 1983 International Design Conference
The Steve Jobs Archive, which was launched by Laurene Powell Jobs, Tim Cook, and Jony Ive, has shared an hour-long video of a then 28 year old Steve Jobs speaking in Aspen at the 1983 International Design Conference, as well as some thoughts from Jony Ive, and a nice collection of old photographs and Apple … [Read More](https://osxdaily.com/2024/07/27/watch-steve-jobs-speak-at-the-1983-international-d … ⌘ Read more
GoBlog can show GPX tracks as SVG now
After my bike tour on Monday, I first felt the usual exhaustion, but later that evening and night, more symptoms joined and showed me, that I, again (third time already this year), caught some infection. Nothing too bad, but it forced me to relax and recover the last two days. ⌘ Read more
Post-vacation bike tour
Today was my first workday after summer vacation, and with the weather being pleasant – not too hot, and no rain – I decided to finish work a bit early and go for a 39-kilometer bike tour through the surrounding area. ⌘ Read more
It took me so long to find the cause of a memory leak in GoBlog. I thought it was smart to use a cache for prepared database statements. But I didn’t read the documentation and didn’t know that prepared statements need to be closed when they are no longer needed to free up the allocated resources. 🤦♂️ I finally fixed it by removing the prepared statement cache altogether. Less code, fewer problems in the future, and the cache wasn’t much of an improvement anyway. I also learned about the usefulness of memory profil … ⌘ Read more
I have a question for the IndieWeb community: What can we do against Webmention spam, except filter it out, when it fails validation? I receive hundreds of invalid Webmentions a day, and even using a filtering DNS server doesn’t seem to help much. But I also don’t want to waste network traffic to access all those spam sites. Is there any good block list I can check first before doing the request for validation? I thought about Akismet, but the API has no such option to only check the submitted URL. ⌘ Read more
Another day, another bike tour 🚴
Another day, another bike tour. Today’s tour is on the same route as my planned tour between my two apartments. The first half of the tour was easy regarding elevation, the second parts challenging. But I made it, and I didn’t even have to get off the bike to walk instead of biking. 💪 ⌘ Read more
Another day, another bike tour 🚴
Another day, another bike tour. Today’s tour is the first part of my planned trip between my both flats. The first half of the tour was easy regarding elevation, the second parts challenging. But I made it, and I didn’t even have to get off the bike to walk instead of biking. 💪 ⌘ Read more
Apple’s M4 iPad Pro vs. Samsung’s Galaxy Tab S9 Ultra
With the introduction of OLED displays, a thinner design, and more in the M4 iPad Pro, we thought it was worth taking another look at Samsung’s flagship OLED tablet, the Galaxy Tab S9 Ultra, to see how the two compare and which one might be the better purchase for you.
_Subscribe to the MacRumors YouTube channel for more videos._
Both … ⌘ Read more
** One trip to the beach inspired me to make two programs this weekend **
This weekend we traveled 20 minutes to a sort of secret beach. It was a grey, overcast day, and we timed our trip to line up with low tide so that we could walk waaaaaaay far out into the ocean all the way to some little islands. It was fun, and we saw some neat birds, including an Oyster Catcher. While on this adventure I took a picture. Later at home I thought“it’d be nice to dither this!” I usually reach for [Dit … ⌘ Read more
Hands-On With the iPad Pro’s Nano-Texture Glass - Is It Worth the Upgrade?
The M4 iPad Pro models that Apple released earlier this year have a display upgrade option that allows you to purchase nano-texture display glass, which is supposed to cut down on glare.
_Subscribe to the MacRumors YouTube channel for more videos._
We’ve already reviewed the iPad Pro, but we thought we’d revisit t … ⌘ Read more
Bad Map Projection: Exterior Kansas
⌘ Read more
First tour with my new bike
Yesterday, I finally took my new bike for a longer ride. Instead of 30 km like the last time, this time I chose another way about 36 km the other way along the river. And instead of getting on the train back home, I went both directions with pure muscle power. ⌘ Read more
Why I have a minimal website theme
Wouter Groeneveld wrote about his new website theme. His old one was too minimal for his taste, and so he decided on a more fancy theme. ⌘ Read more
The New Stack: “A Chat With CloudNativeSecurityCon North America 2024 Co-chairs”
Conference leaders share their thoughts on the latest trends and challenges in cloud native security, and the sessions they are most looking forward to. ⌘ Read more
🚭
One of the things I hate, yes, I really hate it, is cigarette smoke. I get angry when I smell the smoke of the neighbors who are smoking directly in front of the entrance door of our apartment build, while we are trying to let fresh air in. But situations like smelling smoke at train stations or bus stops make me feel really uncomfortable as well. ⌘ Read more
My fluctuating interests
It seems like my interests fluctuate a lot. I have a topic that interests me, do a lot of research, learn many new things, get excited. And then suddenly another topic pops up, which at the same time reduces my interest in the previous topics. ⌘ Read more
Adding more context to my blogroll
The hosted Miniflux finally contains my newly contributed feature to save descriptions for feeds. The exported OPML also contains them, and that’s why I’m finally able to show some context on my blogroll. ⌘ Read more
Radio advertisements slapping away sustained thought on the coffeeshop stereo. I’d like a real-life ad blocker.
Feathers dripping dry from the drainspout with a new thought on his lips: this is tedious.
The power of control
You know, I’ve found a pretty effective way to reduce my addiction to certain websites: blocking them at the DNS level using NextDNS. It’s a trick I picked up after realizing I was spending far too much time on Hacker News (my addiction to that is gone for quite some time already!). And now? I’ve extended it to a forum I used to frequent multiple times a day. ⌘ Read more
Get the first look at CloudNativeSecurityCon North America 2024’s schedule, add-on events, and more
The schedule for CloudNativeSecurityCon North America 2024 is now live, and is filled with 75 sessions offering practical solutions and thoughtful discussions of some of the biggest challenges in security today. The conference will be held June 26… ⌘ Read more
From my father, there’s still an old Commodore 64 he used when he was young. I kept it since I thought I might try some retro-computing. But now (some years later) in the process of cleaning up my flat and throwing out things I no longer need, I tried to connect it to the TV, but somehow didn’t get it working. It might be the wrong cable, the wrong adapter, or just a faulty graphics unit in this device. I will just sell it on eBay untested. In the end, I think I wouldn’t enjoy that device much anyway. I grew up w … ⌘ Read more
Outback blogger’s creative outlet away from farm life strikes chord with foodies
What started as blog posts centred around her thoughts, recipes and life on a remote sheep station more than a decade ago has become a popular creative outlet for Jane Smith. ⌘ Read more
Open source software in AI and cloud trends to watch in 2024: thoughts from the Netris community
Member post originally published on Netris’s blog Let’s face it: The world of open source software can feel boring – in a good way. Open source has become so pervasive, and so deeply entrenched within modern software stacks… ⌘ Read more
** books, the end of winter, video games and javascript **
Since my last update I’ve read a handful of books. Some standout reads include Tales from Earthsea, The Other Wind and The Left Hand of Darkness, all by Ursula K. Le Guin. I’d read them all before, accepted for The Other Wind. I thought I’d read The Other Wind, but hadn’t! Chaos: Making a New Science by James Gleick was also a fun read. I liked it for the rabbit holes it invited me down; I’ve been thinking a lot … ⌘ Read more
What a week!
What a week! This week I was on vacation, but I didn’t relax at all. I worked harder than on workdays. Since my mother and I finally emptied all the furniture from the apartment I grew up in and moved out of two years ago (I even moved again after it). ⌘ Read more
XMPP Providers: XMPP Providers Server
Server SetupWe recently started to set up our own XMPP server to provide a support chat.
Our goal was to automate as much as possible to reduce the maintenance effort to a minimum.
While doing that, we also thought about how the experience is for XMPP newcomers to set up their own XMPP server.
There are many XMPP servers available.
But only few projects focus on q … ⌘ Read more
Home Server Offline ☹️
Today, I woke up and noticed that my home server, located in my second flat, and also the router, all behind a 5G connection (that was showing as working fine on the provider’s website), were offline. No VPN connection anymore, and also Tailscale showed the nodes as being offline. I’m glad that I had automatic backups and was able to easily restore the three important services from that server on my VPS, without the need to travel to the second flat first. ⌘ Read more
Scaleway Serverless Jobs
Scaleway continues to build a European AWS alternative. Today, I tried one of its new products: Serverless Jobs. ⌘ Read more
Extended content warning
I realized recently that I wrote some cringe (to put it mildly) posts in my late adolescent phase. On the one hand, I would of course like to banish these posts from my blog, after all, my opinion has changed completely in some cases since then. But on the other hand, it would be a shame to let this part of my personal development simply disappear. ⌘ Read more
What should I do with my new domain?
I recently complained about domain registrars. But I also recently registered a new domain: j7s.me. A numeronym of my first name. And the .me TLD to show that I am a person. (And it is a short domain that was available.) ⌘ Read more
Kory Reeder - if the thought evaporates #nowplaying
Somewhere I read that changing location, like entering a room, can rejigger neural pathways so that some thoughts and memories are somehow associated with the space. It’s the same for me when picking up a laptop. My purpose feels clear until I open a blank web browser window and my mind goes blank, too. In all the moments where I’m drawing a total blank, and then suddenly the thoughts come easily again: maybe that’s my brain looking for the room it was in before.
Where’s the perfect domain registrar?
Why is there no pure domain registrar? ⌘ Read more
Where’s the perfect domain registrar?
Why is there no pure domain registrar? ⌘ Read more
‘No finishing line’ for veteran Aussie star
Usman Khawaja is giving no thoughts to potential retirement ahead of the Test series against New Zealand, adamant the next two matches are the only ones that matter and “there is no finishing line” in sight. ⌘ Read more
‘Look what we can do’: Motorola unveils new bendable smartphone
Motorola is doing something people “never thought imaginable”, says EFTM Editor Trevor Long.
His comments follow the company’s unveiling of a new bendable smartphone.
“I don’t know why you’d want this,” Mr Long told Sky News Australia.
“Bending it was the most mind-blowing thing I’ve ever done because it felt like I was breaking it, but I wasn’t.
“The idea here is to sho … ⌘ Read more
Navalny was close to being freed in prisoner swap, ally says
Russian opposition politician Alexei Navalny was “killed” because he was close to being freed in a prisoner swap and President Vladimir Putin could not tolerate the thought of him being released, a close ally alleged on Monday (February 26). Lauren Anthony reports. ⌘ Read more
Locals in Nikki Haley’s hometown share thoughts on former South Carolina governor
Sky News Washington Correspondent Annelise Nielsen has visited Nikki Haley’s hometown of Bamberg to explore why many voted for Donald Trump in the South Carolina primary.
Haley became governor with a key endorsement from Sarah Palin, but the deeply conservative part of the south is now all-in for Trump.
“Trump’s such a booming figure … s … ⌘ Read more
QOTD: What are your thoughts on nostr?
Trying Spaceship.com
Some time ago, I somewhere read about Spaceship.com, a new player in the domain registration business, and registered an account to try it out. Some things kept me from transferring any domains to it (don’t really remember anymore, though), but it was also still in the beta phase back then. ⌘ Read more
> ?
@eapl.me@eapl.me this is interesting. Is the square bracket something used in the wild for multilingual twts?
@prologic@twtxt.net what are your thoughts? Should we extend the parser to handle [lang] and [boost] ? Or a generic attribute spec. Single word is a boolean attribute. And one with an = is a string key/value.
> ?
@eapl.me@eapl.me this is interesting. Is the square bracket something used in the wild for multilingual twts?
@prologic@twtxt.net what are your thoughts? Should we extend the parser to handle [lang] and [boost] ? Or a generic attribute spec. Single word is a boolean attribute. And one with an = is a string key/value.
Status 2024-01-29
Friday is my day off from work, as usual. So when I’m typing this I’m
in front of the hackstation (not a battlestation, obviously) with my
third cup of coffee, writing an update again.
I’ve been doing these status updates on my Gemini log, but I’m
increasingly aware of the dropping amounts of traffic, so I’m thinking
about doing them on the blog instead, but see below for some thoughts
on Gemini.
In which I speak about an intense week, feeling good(?), spending … ⌘ Read more
Sam Whited: Thoughts on a New Software Commons
I use various legal and economic terms of art in this post, but I am neither a
lawyer or an economist.
They should be read in the way a layperson might read them, not as a serious
legal or economic analysis or advice.
I’ve long held that software being open source1 is necessary, but not
sufficient.
Using copyright and contract law to enshrine the freedom to use your software
instead … ⌘ Read more
wow, we got about 30\40cm of snow last night, and when I woke up we could not even look out the window because of the snow storm, thought the kids would not get to school, but right before they left for the bus it cleared up. Got rid of the snow outside after work today, so now it’s clear skies and nice out :)
@lyse@lyse.isobeef.org I have read the white papers for MLS before. I have put a lot of thought on how to do it with salty/ratchet. Its a very good tech for ensuring multiple devices can be joined to an encrypted chat. But it is bloody complicated to implement.
@lyse@lyse.isobeef.org I have read the white papers for MLS before. I have put a lot of thought on how to do it with salty/ratchet. Its a very good tech for ensuring multiple devices can be joined to an encrypted chat. But it is bloody complicated to implement.
Muscles are made in the kitchen
This Christmas, I got a cool gift – a door pull-up bar. I wanted it because I do (Freeletics) workouts two or three times per week without any equipment (except some resistance bands I got a while ago), and I thought pull-ups would add some variety. Plus, I heard they’re good for working out different muscles like the back, arms, and grip. ⌘ Read more
Things You Thought You Knew - Stars, Speed, and Energy in the Sun ⌘ Read more
@lyse@lyse.isobeef.org
I use Jenny and I thought the multi line did work. Will keep that in mind when I am writing out posts. Also do you know how I can see if someone mentions me that I am not follwing? I know the user agents exist but I can’t view the server lgos since I host this on codeberg but if I do switch to my own server it would work.
Having a tough time gathering my thoughts sometimes. So many appearing and bursting through.
Obligatory Twtxt post: I love how I can simply use a terminal window and some very basic tools (echo, scp, ssh) to publish thoughts, as they pop up, onto the Internet in a structured way, that can be found and perhaps even appreciated.
With that said: Happy Thanksgiving to anyone celebrating and for everyone else: happy third thursday of November. I am grateful and I thankful I get to share this thought with you all.
Celebrating the GitHub Awards 2023 recipients 🎉
The GitHub Awards recognizes and celebrates the outstanding contributions and achievements in the developer community, honoring individuals, projects, and organizations for their impactful work, innovation, thought leadership, and creating an outsized positive impact on the community.
The post Celebrating the GitHub Awards 2023 recipients 🎉 appeared first on [The … ⌘ Read more
my thoughts are free
@lyse@lyse.isobeef.org @movq@www.uninformativ.de Oh, I had a experience this weekend as well, a dog was barking in the forest, sounded like something was wrong (it’s a fairly public area), I then continued my walk, and Nanook got more and more nervous, I then continued the walk, and Nanook froze. I could still hear the dog barking quite close. And then someone shot a rifle. I’m glad I did not walk up to where that dog was, I kinda wanted too, because I first thought maybe something was wrong. But it honestly weirded me out that they did this in such a place as they did, almost called the cops to be honest to check with them, but I did not at the time..
Docker State of Application Development Survey 2023: Share Your Thoughts on Development
Participate in the Docker State of Application Development Survey 2023 to help us better understand and serve the developer community. We want to know where developers are focused, what they’re working on, and what is most important to them. Your participation and input will help us build the best products and experiences for you. ⌘ Read more
Long term career thoughts
When I read this article by Herman Martinus, creator of Bear Blog and some other projects, about how he stays motivated as a solo creator, it triggered some thoughts about my own career. ⌘ Read more
5G chaos in my head
One of the reasons I like blogging is that it sometimes helps me organize my thoughts. There’s a lot of chaos in my head before I write them down, and after, my head is sometimes calm. ⌘ Read more
Run Threads on Desktop with Mac, Windows PC, Linux
Threads, the social network microblogging Twitter/X competitor launched by Meta (Facebook), is typically thought of as a mobile only experience, with users having the Threads app on their iPhone or Android device. But, if you have a Mac, Windows PC, or Linux computer, and you want to use Threads on your desktop computer, you can … Read More ⌘ Read more
Erlang Solutions: Our experts at Code BEAM Europe 2023
The biggest Erlang and Elixir Conference is coming to Berlin in October!
Are you ready for a deep dive into the world of Erlang and Elixir? Mark your calendars, because Code BEAM Europe 2023 is just around the corner.
With a lineup of industry pioneers and thought leaders, Code BEAM Europe 2023 promises to be a hub of knowledge sharing, innovation, and networking.
Erlang Solutions’ experts are working har … ⌘ Read more
Catching COVID-19
So far, I had been spared from COVID-19. “Had,” focusing on the past, because now it has affected me, or us, after all. We had to cut short our vacation, which I used to share little glimpses of here on the blog. We quickly went back home, wearing masks the whole time and hoping not to infect more people. ⌘ Read more
Is the Universe Twice As Old As We Thought? ⌘ Read more
Here are three things I’ve noticed in the UK that I really appreciate: ⌘ Read more
Here are three things I’ve noticed in the UK that I really appreciate: ⌘ Read more
Tailscale and Mullvad
This is some really cool news! You can now use Tailscale and Mullvad simultaneously without any additional setup required. ⌘ Read more
Prosodical Thoughts: Prosody 0.12.4 released
We are pleased to announce a new minor release from our stable branch.
We’re relieved to announce this overdue maintenance release containing a
number of bug fixes and also some improvements from the last few months.
Especially the prosodyctl check tool which gained some new diagnostic
checks as well as handling of configuration option types the same way
Prosody itself does.
A summary of changes in this release:
Minor changes- core.certmanager: Update Mozilla TLS … ⌘ Read more
ChatGPT Plus?
It’s been a while since ChatGPT was introduced to the world, and after the initial excitement, things seem to have settled down. While there’s still daily news about various services and companies integrating the GPT API into their products, the buzz around it has quieted. At least, that’s how it appears to me. ⌘ Read more
I still think it’s wild sentient aliens are confirmed. I thought they existed, but had doubts about visiting Earth.
How much CPU you got in the server farm? I thought you had a whole rack.
How much CPU you got in the server farm? I thought you had a whole rack.
Things You Thought You Knew - Worldlines, Rainbows, & Zero ⌘ Read more
I’m curious. How many people truly believe blockchain social networks are the future?
NFTs, tokens, monetization, revenue…
I’m sorry, but how are your random social media blabbers worth any money?
Unless you’re Shakespeare or Einstein or some philosophical or scientific genius, I don’t see why anyone would want to read your posts, let alone cash out some “crypto” from some “wallet”.
And that applies to most people. Sure, your lifestyle and your thoughts may be interesting. But who’s going to start paying to view what’s going on in your life?
As if likes, upvotes, hearts, and subscriptions weren’t narcissistic enough, let’s make people think someone wants to pay them with crypto to view their random posts online.
Release Radar · Spring 2023 Edition
It’s been a while since we’ve published our Release Radar. You can blame IRL conferences coming back, getting influenza, and being struck down by the weather. But those are just me problems. While I’ve been down or travelling, the community has been hard at work shipping new releases and new projects. So, we thought we’d […] ⌘ Read more
Finding peace in ignorance
During and after my studies, I used to refresh my Miniflux start page (the feed reader, which I use to keep up with things on websites I want to follow) every few minutes. As soon as there was a new article, I would read it. I also used to use this tool to read the news by following a local national newspaper website. ⌘ Read more
I understand your thoughts on this, but I would not call it a failure - because you learned a lot from it, and lots of things worked as well.
And there are alternatives for those who needs\wants activitypub, so I think also yarn\twtxt benefits from you focusing on that instead of dealing with the frustrations of activitypub integration. And maybe it’ll feel a bit better to put that on the backburner? :)
Question to all you Gophers out there: How do you deal with custom errors that include more information and different kinds of matching them?
I started with a simple var ErrPermissionNotAllowed = errors.New("permission not allowed"). In my function I then wrap that using fmt.Errorf("%w: %v", ErrPermissionNotAllowed, failedPermissions). I can match this error using errors.Is(err, ErrPermissionNotAllowed). So far so good.
Now for display purposes I’d also like to access the individual permissions that could not be assigned. Parsing the error message is obviously not an option. So I thought, I create a custom error type, e.g. type PermissionNotAllowedError []Permission and give it some func (e PermissionNotAllowedError) Error() string { return fmt.Sprintf("permission not allowed: %v", e) }. My function would then return this error instead: PermissionNotAllowedError{failedPermissions}
At some layers I don’t care about the exact permissions that failed, but at others I do, at least when accessing them. A custom func (e PermissionNotAllowedError) Is(target err) bool could match both the general ErrPermissionNotAllowed as well as the PermissionNotAllowedError. Same with As(…). For testing purposes the PermissionNotAllowedError would then also try to match the included permissions, so assertions in tests would work nicely. But having two different errors for different matching seems not very elegant at all.
Did you ever encounter this scenario before? How did you address this? Is my thinking flawed?
Neil deGrasse Tyson Has Some Serious Thoughts On Occupying Other Planets… #neildegrassetyson href=”https://txt.sour.is/search?q=%23space”>#space** ⌘ Read more
Interesting thoughts about multi thread vs single thread performance.

Interesting thoughts about multi thread vs single thread performance.

Social media trap
reddit going dark (a protest action by many subreddit moderators over some planned API changes) reminds me that I should probably stop scrolling through Reddit so much. Reddit is a social network, and as such it attracts you with new content almost every time you visit. Which can be addictive. I once had a profile that I deleted because I wanted to leave all social media. But I fell into the same trap again. ⌘ Read more
I thought we called those palmettos so we didn’t have to say that every house in Florida has roaches.
RT by @mind_booster: The urgency has never been higher. In a separate study, @JoeriRogelj and colleagues found the carbon budget is shrinking faster that previously thought. If emissions continue at the current rate, the world will exhaust its budget for 1.5C before 2030. https://www.theguardian.com/environment/2023/jun/08/global-greenhouse-gas-emissions-at-all-time-high-study-finds
The urgency has never been higher. In a separate study, @JoeriRogelj and colle … ⌘ Read more
Thoughts on Apple Vision Pro?
Things You Thought You Knew – The Karman Line, LED Bulbs, and Banking Turns with Neil deGrasse Tyson ⌘ Read more
Erlang Solutions: Here’s why you should consider investing in RabbitMQ during a recession
Europe and the US are leading the way in the forecasted recession for 2023, due to persistently high inflation and increasing interest rates. With minimal projected GDP growth, modern technologies can play a crucial role in reducing the impact of economic downturns.
As caution looms, it can be tempting to reign in on your investment. Your initial thought is to balance t … ⌘ Read more
What’s going on?
This post is meant for a little reflection because I’ve noticed a few things that I can’t quite place. ⌘ Read more
I miss running
I’ve talked about this a few times and posted some of the pictures OneDrive shows me every day. Photos taken on the same day, week or month in previous years. It always gives me a “throwback” and I think about the situation at the time I took the photo. ⌘ Read more
** of array programming, lightsabers and some thoughts on permacomputing **
A bit of this and that, some kind of mishmosh.
Over the last few weeks I’ve been reading a lot about array programming systems like J, K, Q, APL, and BQN. I’ve been intending to add a page to the wiki about them, but havent gotten to that yet. Consider this a little promise that I’ll do that sometime soon. I’m interested in array programming less because I think it’s particularl … ⌘ Read more
@prologic@twtxt.net yes I will test it :) cloudflare is something I do not have on my end, so I never thought of that, so glad you mention that as a potential issue to solve. Ill check on it.
@lyse@lyse.isobeef.org valid points and noted. 😀
It will improve shortly. I had not thought about quotes in password, so that was a nice catch that needs to be fixed.
💭 While some people like to jump between blogging software all the time, or go back to Hugo from a custom one, I don’t really miss Hugo after switching to GoBlog in 2020, but enjoy having my own system quite a bit. Not that Hugo, WordPress, etc. are bad blogging systems, but I really enjoy being able to quickly code a fix without having to research docs, StackOverflow, or the source on GitHub. And when I have an idea for a new feature, it would often not be easy to implement in the existing systems. ⌘ Read more
I played around with parsers. This time I experimented with parser combinators for twt message text tokenization. Basically, extract mentions, subjects, URLs, media and regular text. It’s kinda nice, although my solution is not completely elegant, I have to say. Especially my communication protocol between different steps for intermediate results is really ugly. Not sure about performance, I reckon a hand-written state machine parser would be quite a bit faster. I need to write a second parser and then benchmark them.
lexer.go and newparser.go resemble the parser combinators: https://git.isobeef.org/lyse/tt2/-/commit/4d481acad0213771fe5804917576388f51c340c0 It’s far from finished yet.
The first attempt in parser.go doesn’t work as my backtracking is not accounted for, I noticed only later, that I have to do that. With twt message texts there is no real error in parsing. Just regular text as a “fallback”. So it works a bit differently than parsing a real language. No error reporting required, except maybe for debugging. My goal was to port my Python code as closely as possible. But then the runes in the string gave me a bit of a headache, so I thought I just build myself a nice reader abstraction. When I noticed the missing backtracking, I then decided to give parser combinators a try instead of improving on my look ahead reader. It only later occurred to me, that I could have just used a rune slice instead of a string. With that, porting the Python code should have been straightforward.
Yeah, all this doesn’t probably make sense, unless you look at the code. And even then, you have to learn the ropes a bit. Sorry for the noise. :-)
Too lazy or too ambitious?
Today was the second day of my “Hell Week”. Not because my week is so bad, it is after all holidays and time off, no, because I have arrived in the last week of the “Training Journey” at Freeletics. At the end of the Journey, the “coach” requires training every day, usually a so-called “god workout” in addition to warm-up and cool-down. ⌘ Read more