@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 Desktop 4.25: Enhancements to Docker Desktop on Windows, Rosetta for Linux GA, and New Docker Scout Image Analysis Settings
The Docker Desktop 4.25 release supports the GA of Rosetta for Linux, a feature that furthers the speed and productivity that Docker Desktop brings. We’ve also optimized the installation experience on Windows and simplified Docker Scout image analysis settings in this latest Docker Desktop release. ⌘ Read more
Does anyone have any personal experience with Spiral Linux? It is just preconfigured Debian + your choice of DE installed with Calamares. After the installation is completed, you aren’t dependent on anything except the existing Debian infrastructure which is, of course, rock-solid.
10 Essential Tips for New Mac Users
New Mac users who are transitioning to the Apple ecosystem from the world of Windows PC’s may experience a mix of curiosity, excitement, and even confusion, as they get to know their new operating system. Fortunately, the Mac is not only exceptionally powerful, it’s also very easy to use, and quite intuitive. For new Mac … Read More ⌘ Read more
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
How to “Save As” in MacOS Sonoma & Ventura
Do you wish you had the “Save As” keyboard shortcut back in MacOS Sonoma and MacOS Ventura? Wish no more, it’s easy to re-enable, even in the latest versions of MacOS system software and with the peculiar System Settings experience. Many longtime Mac users adore the “Save As” keyboard shortcut, which had been accessed by … Read More ⌘ Read more
Native MacOS Docker Containers are Now Possible
Have you ever wished you could run native macOS Docker containers on macOS? Well, now you can, thanks to a great free project called macOS Containers. If you’re in the developer world at nearly any level, you likely have experience with Docker containers, which are wildly popular because of their utility. Offering a lightweight and … Read More ⌘ Read more
Native MacOS Docker Containers are Now Possible
Have you ever wished you could run native macOS Docker containers on macOS? Well, now you can, thanks to a great free project called macOS Containers. If you’re in the developer world at nearly any level, you likely have experience with Docker containers, which are wildly popular because of their utility. Offering a lightweight and … Read More ⌘ 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
Get Over 5000 Free Icons & Symbols with SF Symbols
Apple has launched SF Symbols 5, a large collection of iconography for developers and designers to use in their apps for Apple experiences. If you’re a designer or developer, you’ll probably appreciate all the new symbols available that you can use in apps for the Apple ecosystem, whether for interface, toolbars, navigation, contextual menus, or … [Read More](https://osxdaily.com/2023/10/06/get-over-5000-free-icons-symbols-with-s … ⌘ Read more
Docker Desktop 4.24: Compose Watch, Resource Saver, and Docker Engine
With the release of Docker Desktop 4.24, we announce the official General Availability of Docker Compose Watch and Resource Saver. Combined with our new enhancements to managing Docker Engine in Docker Desktop, these updates will help you be more efficient and make your software development experience more enjoyable. ⌘ Read more
Let’s DockerCon!
DockerCon 2023 will be hybrid — both live (in Los Angeles, California) and virtual. Our desire is to once again experience the live magic of the hallway track, the serendipitous developer-to-developer sharing of tips and tricks, and the celebration of our community’s accomplishments … all while looking forward together toward a really exciting future. And for members of our community who can’t attend in person, we hope you’ll join us virtually! ⌘ Read more
How GitHub uses GitHub Actions and Actions larger runners to build and test GitHub.com
Recently, we’ve been working to make our CI experience better by leveraging the newly released GitHub feature, Actions larger runners, to run our CI.
The post [How GitHub uses GitHub Actions and Actions larger runners to build and test GitHub.com](https://github.blog/2023-09-26-how-github-uses-github-actions-and-actions-larger-runners-to-build-and-test-github-com/ … ⌘ Read more
DockerCon Workshops: What to expect
DockerCon 2023 will be held October 4-5 in Los Angeles. The program is now online so you can plan your experience by day, time, and theme, including AI and Machine Learning, Web Application / Web Development, Building and Deploying Applications, Secure Software Delivery, and Open Source. This year we’re offering talks, workshops, and panel discussions, plus the usual vibrant DIY hallway track. Here’s a preview of what to expect in our workshops. Register now! ⌘ Read more
West Highland Way
With a backpack full of stuff for two weeks, we managed to walk 11km on the West Highland Way in 2:35h. I feel it in my legs, but the views and the experience are worth it. ⌘ Read more
West Highland Way
With a backpack full of stuff for two weeks, we managed to walk 11km on the West Highland Way in 2:35h. I feel it in my legs, but the views and the experience are worth it. ⌘ Read more
New repository: aquilax/goligo - Goligo go with lisp syntax experiment
Lots of Gopher servers experience outages. I’m just glad the Gopher-Searx CGI is back.
A guide to designing and shipping AI developer tools
GitHub’s design experts share 10 tips and lessons for designing magical user experiences for AI applications and AI coding tools. ⌘ Read more
The XMPP Standards Foundation: Elbe-Sprint Hamburg 2023: Post-Sprint Summary
Elbe-Sprint 2023: Post-Sprint SummaryIn June the Elbe-Sprint 2023 took place in Hamburg and it was a great first experience after all the pandemic in the past years for many participants.
In this blog post we want to summarize progress we’ve made during the sprint.
First of all, many thanks to the CCCHH and their members for offerin … ⌘ Read more
Best practices for organizations and teams using GitHub Enterprise Cloud
Learn how you can structure your enterprise to get the most value out of GitHub and provide the best experience for your developers! ⌘ Read more
Testing my Dyson Hairdryer Jet Engine #engine #science href=”https://txt.sour.is/search?q=%23experiment”>#experiment** ⌘ Read more
Exploring developer happiness, inclusion, and productivity at GitHub’s Design Conference
As a design organization, we have the opportunity to make a significant impact on designing the platform for all developers. How does the emergence of creative AI impact our work? How can we achieve an inclusive experience for a spectrum of all abilities? What does designing for developer happiness look like? ⌘ Read more
@abucci@anthony.buc.ci my last experience with it was with a Debian package which is known for being out of date :-D
@abucci@anthony.buc.ci my last experience with it was with a Debian package which is known for being out of date :-D
How Kinsta Improved the End-to-End Development Experience by Dockerizing Every Step of the Production Cycle
Kinsta relies heavily on Docker for this consistent experience at every step, from development to production. This article shows to leverage Docker Desktop to increase developers’ productivity. ⌘ Read more
Leading your platform migration with developer experience
Developer experience (DevEx) is a key theme when it comes to transforming businesses with GitHub. ⌘ Read more
Overcoming challenges for a better phone: My frustrating upgrade experience
Although my old smartphone is still in perfect condition, I have made the decision to upgrade to a new model: from a Samsung Galaxy S10 Lite to a Samsung Galaxy A54. Despite its current functionality, I opted to make the switch now, with the hope that the trade-in value will remain higher compared to what it would likely be in a year when it will likely decrease. And the A54 was on sale. ⌘ Read more
Crafting a better, faster code view
The new GitHub Code View brings users many new features to improve the code reading and exploration experiences, and we overcame a number of unique technical hurdles in order to deliver those features without compromising performance. ⌘ Read more
** of vast distances, connection over them, and being made to feel alone; of water catchment, soil, and bits **
Anomie, a word for your consideration.
The dictionary of cyborg anthropology defines anomie, in part, with this anecdote:
In everyday life, the modern vehicle and the daily commute is one of the most isolated moments an urban human can experience. T … ⌘ Read more
People are happy if they are healthy, well fed, see the people they care about are happy, don’t live in anxiety all the time, and feel what they do day for day has some kind of meaning. Experiences won’t make you happier than possessions | Hacker News
Survey reveals AI’s impact on the developer experience
We surveyed 500 U.S.-based developers at companies with 1,000-plus employees about how managers should consider developer productivity, collaboration, and AI coding tools. ⌘ Read more
Survey reveals AI’s impact on the developer experience
We surveyed 500 U.S.-based developers at companies with 1,000-plus employees about how managers should consider developer productivity, collaboration, and AI coding tools. ⌘ Read more
Developer experience: what is it and why should you care?
Explore how investing in a better developer experience frees developers to do what matters most: building great software. ⌘ Read more
Erlang Solutions: How ChatGPT improved my Elixir code. Some hacks are included.
I have been working as an Elixir developer for quite some time and recently came across the ChatGPT model. I want to share some of my experience interacting with it.
During my leisure hours, I am developing an open-source Elixir initiative, Crawly, that facilitates the extraction of structured data from the internet.
Here I want to demonstrate how … ⌘ Read more
Gajim: Gajim 1.8.0
Gajim 1.8.0 comes with integrated OMEMO encryption! Integrating the OMEMO plugin brings tighter integration and better user experience. We also rearranged the chat menu and added some quick buttons for convenience. Both Gajim’s message search and conversation view received some important changes and fixes. Thank you for all your contributions!
In the past, we moved the most popular plugins into Gajim’s core: image preview, plugin installer, HTTP file upload, syntax highligh … ⌘ Read more
Design’s journey towards accessibility
Design can have a significant impact on delivering accessible experiences to our users. It takes a cultural shift, dedicated experts, and permission to make progress over perfection in order to build momentum. We’ve got a long way to go, but we’re starting to see a real shift in our journey to make GitHub a true home for all developers. ⌘ Read more
Art is not the medium.
The medium can be material or conceptual, permanent or fleating, truthful or fictional, of human, animal, or artificial origin.
Art is the reconveyance of human emotion or experience to another via some medium.
Art is not the medium.
The medium can be material or conceptual, permanent or fleating, truthful or fictional, of human, animal, or artificial origin.
Art is the reconveyance of human emotion or experience to another via some medium.
Docker Compose Experiment: Sync Files and Automatically Rebuild Services with Watch Mode
Starting with Compose v2.17, we’re excited to share an early look at the new development-specific configuration in Compose YAML as well as an experimental file watch command. ⌘ Read more

From my small experience in writing an event database, I am inclined to agree with this.

From my small experience in writing an event database, I am inclined to agree with this.
JMP: Verify Google Play App Purchase on Your Server
We are preparing for the first-ever Google Play Store launch of Cheogram Android as part of JMP coming out of beta later this year. One of the things we wanted to “just work” for Google Play users is to be able to pay for the app and get their first month of JMP “bundled” into that purchase price, to smooth the common onboarding experience. So how do the JMP servers know that the app communicating with them is running a version of the app bought from Google P … ⌘ Read more
How enabling developers can help drive financial inclusion
Explore how creating a great developer experience can help provide a more inclusive financial services environment. ⌘ 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. :-)
Improvements to CodeQL’s data flow library for C++
These changes will improve the experience for custom query authors and enable better precision in some of our standard queries. Learn how to enable them for your custom queries. ⌘ Read more
GitHub Galaxy 2023: Empower developer teams with a new developer experience
Learn how GitHub’s one, integrated platform–powered by AI and secure at every step—helps developer teams be more productive, collaborative, and efficient. ⌘ Read more
Docker and Ambassador Labs Announce Telepresence for Docker, Improving the Kubernetes Development Experience
We’re happy to announce Telepresence for Docker, simplifying how teams develop and test on Kubernetes for faster app delivery. ⌘ Read more
GitHub Copilot X: The AI-powered developer experience
GitHub Copilot is evolving to bring chat and voice interfaces, support pull requests, answer questions on docs, and adopt OpenAI’s GPT-4 for a more personalized developer experience. ⌘ Read more
Erlang Solutions: Creating a simple weather application with Phoenix LiveView
IntroductionIn this article we will discuss our experience building an online weather application in Elixir using Phoenix LiveView. We created a real-time weather application that allows users to see the past, current, and forecast temperature and precipitation data for any UK postcode. The goals of building this app were:
- to further familiarise ourselves with[Phoenix LiveView](https:/ … ⌘ Read more
GitHub Enterprise Server 3.8 is now generally available
With updates to GitHub Actions, repositories, and GitHub Advanced Security, this new version of GitHub Enterprise Server is focused on bringing the best developer experience to companies. ⌘ Read more
Unleash your potential with GitHub Octernships: a path to a thriving tech career
Empowering the next generation of students in tech with real-world industry experience. ⌘ Read more
Secret scanning alerts are now available (and free) for all public repositories
Secret scanning alerts are now generally available for all public repositories. Admins can now turn on the alert experience with one click. ⌘ Read more
Docker Desktop 4.17: New Functionality for a Better Development Experience
Read about the latest updates and functionality released with Docker Desktop 4.17, including Docker Scout and much more! ⌘ Read more
** week notes **
I’ve been experimenting. I’ve been concocting a recipe for vegan kugel, and rediscovering little features and edges of my website I’d forgotten I baked in. Like chocolate chips hidden in an oatmeal raisin cookie.
One chip most recently re-discovered: support for per-page custom styles?! All I gotta do is include an optional bit of meta data, bespoke-css, that points to a style sheet. I may play with this feature more. I do love myself some css. I can tell exactly when in my life I added this feature because th … ⌘ Read more
Ignite Realtime Blog: New: Openfire MUC Real-Time Block List plugin!
A new plugin has been made available for Openfire, our cross-platform real-time collaboration server based on the XMPP protocol. We have named this new plugin the MUC Real-Time Block List plugin.
This plugin can help you moderate your chat rooms, especially when your service is part of a larger network of federated XMPP domains. From experience, the XMPP community has learned that bad actors tend to spam a wid … ⌘ 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.
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
ICYMI: CodeQL enhancements
Learn about CodeQL’s improved user experience and enhancements that let you scan new languages, detect new types of CWEs, and perform deeper analyses of your applications. ⌘ Read more
@eldersnake@we.loveprivacy.club Several reasons:
- It’s another language to learn (SQL)
- It adds another dependency to your system
- It’s another failure mode (database blows up, scheme changes, indexs, etc)
- It increases security problems (now you have to worry about being SQL-safe)
And most of all, in my experience, it doesn’t actually solve any problems that a good key/value store can solve with good indexes and good data structures. I’m just no longer a fan, I used to use MySQL, SQLite, etc back in the day, these days, nope I wouldn’t even go anywhere near a database (for my own projects) if I can help it – It’s just another thing that can fail, another operational overhead.
@prologic@twtxt.net vultr pricing is low. But it can be lower if you shop the less fancy admin ui sites like virmarch or ovh. There are some bare metal that cost way less.. Though the experience is less than optimal.
@prologic@twtxt.net vultr pricing is low. But it can be lower if you shop the less fancy admin ui sites like virmarch or ovh. There are some bare metal that cost way less.. Though the experience is less than optimal.
Washing Machine Settings
⌘ Read more
**RT by @mind_booster: Save the date! Feb 13th.
Upcoming webinar: Flexible exceptions - the next step for Europe?
Focus:Open norms and civil law jurisdictions in Europe + a look at the experience of civil law countries in E Asia who have introduced them.
Chair @Senficon
👇🏻
https://www.knowledgerights21.org/news-story/upcoming-webinar-13-february-flexible-copyright-exceptions-the-next-step-for-europe/**
Save the date! Feb 13th.
Upcoming webinar: Flexible exceptions - the next step for Europe?
Focus:Ope … ⌘ Read more
GitHub Availability Report: December 2022
In December, we did not experience any incidents that resulted in degraded performance across GitHub services. This report sheds light into an incident that impacted customers using GitHub Packages and GitHub Pages in November. ⌘ Read more
My 2022 in Review
2022 is over, welcome 2023! A year full of unexpected events, many personal changes and a lot of new experiences… But since I wrote a review every month, I just want to highlight the highlights here. ⌘ Read more
Ignite Realtime Blog: Help us translate Spark and Openfire!
We have started to experiment with an online tool that facilitates the process of translating Spark and Openfire. Both already have a bunch of translations, but none are complete.
I’m looking for people wanting to test the tool and/or provide translations. The aim is to make providing translations become so easy that little technological know-how is required.
If you’re interested, please sign up to [Ignite Realtime localizati … ⌘ Read more
Creating an accessible search experience with the QueryBuilder component
GitHub’s search inputs have several complex accessibility considerations. Let’s dive into what those are, how we addressed them, and talk about the standalone, reusable component that was ultimately built. ⌘ Read more
Experiment: The hidden costs of waiting on slow build times
How much does it really cost to buy more powerful cloud compute resources for development work? A lot less than you think. ⌘ Read more
Erlang Solutions: Advent of Code 2022 – Every Puzzle Solved in Erlang
Day 1Christmas is getting closer and with that, the annual Advent of Code begins. For those who do not know, Advent of Code is a fun and inclusive event which provides a new programming puzzle every day. The fun is that these puzzles can be solved in any programming language and are accessible for varying levels of coding experience and skills. The real test is in your problem-solving. This year, we’ll be solving each of the problems in … ⌘ Read more
JMP: Writing a Chat Client from Scratch
There are a lot of things that go into building a chat system, such as client, server, and protocol. Even for only making a client there are lots of areas of focus, such as user experience, features, and performance. To keep this post a manageable size, we will just be building a client and will use an existing server and protocol (accessing Jabber network services using the XMPP protocol). We’ll make a practical GUI so we can test things, but not spend too much time on p … ⌘ Read more
There’s always something to experiment with in Gopherspace.
Unboxing fork improvements and unwrapping fork docs
We’re always trying to improve the GitHub developer experience in meaningful ways, and we love learning from our customers. In the last several months we released several new fork capabilities, and we’re publishing revised fork documentation that gives more details with clearer explanations to make fork concepts easier to understand. ⌘ Read more
Improving navigation for GitHub Actions
GitHub Actions changed how developers automate workflows with GitHub. Today, we’re introducing a new navigation to manage your GitHub Actions experience, improving discoverability and accessibility as well as opening up future feature opportunities. ⌘ Read more
Erlang Solutions: Learning functional and concurrent programming concepts with Elixir
If you are early in the process of learning Elixir or considering learning it in the future, you may have wondered a few things. What is the experience like? How easy is it to pick up functional and concurrent programming concepts when coming from a background in languages which lack those features? Which aspects of the … ⌘ Read more
Erlang Solutions: Pair Programming
As a junior software developer, finding the right tools and techniques to help you learn a new language or technology can make a huge difference. While spending the last few months learning Erlang and Elixir, one of the techniques that I have found really helpful is pair programming.
I will be breaking down the concept of pair programming and my experiences with it so far, including the benefits and different ways of utilizing this programming style.
**What is pair progra … ⌘ Read moreWorking on a creative project? Unleash your originality and start to tinker with the Aspiring Creatives Experience
Develop your design and collaboration skills to get your clever intentions off the ground. ⌘ Read more
Two ways you can experience GitHub Universe
GitHub Universe is back and more robust than ever, with two great ways to engage with everything this global developer event has to offer. ⌘ Read more
Tigase Blog: Tigase XMPP Client Apps
Our XMPP Chat Apps philosophyWeb based, JavaScript, React and so on app are great… for developers.
We do care about users and we understand that the only way to provide users with great experience is through native apps.
Therefore we have put a lot of effort and dedication to develop native client for each platform separately. Each of our
apps is tailored for the best experience and native feeling. Plus they are optimized for each platform, so they are
lightweight but also powerful and take … ⌘ Read more
Meet the GitHub Campus Experts selected for the fall 2022 MLH Fellowship Cohort, powered by GitHub
Three new Campus Experts are joining the fall 2022 batch of the MLH Fellowship to work with open source maintainers and get real-world experience. ⌘ Read more
Meet the GitHub Campus Experts selected for the fall 2022 MLH Fellowship Cohort, powered by GitHub
Three new Campus Experts are joining the fall 2022 batch of the MLH Fellowship to work with open source maintainers and get real-world experience. ⌘ Read more
Research: quantifying GitHub Copilot’s impact on developer productivity and happiness
When the GitHub Copilot Technical Preview launched just over one year ago, we wanted to know one thing: Is this tool helping developers? Our research, using a combination of surveys and experiments, led us to expected and unexpected answers. ⌘ Read more
@prologic@twtxt.net Yeah I am not one of these people who just have a twtxt file and end up posting a few things but not interacting with anyone. I do want to interact with the people of twtxt and yarn users. And not just twtxt users but I do care somewhat about the yarn users because really yarn is twtxt but with additions to make the experience better and a webui and the such like multi users. On top of that yarn and the twtxt clients add things like threads that are even helpful for twtxt users.
I should have attended the Homebrew Website Club London / Europe in June, after all they talked about maps, a topic I have some experience with. James uses Leaflet to create maps with his visited coffee shops. 👍 ⌘ Read more
I should have attended the Homebrew Website Club London / Europe in June, after all they talked about maps, a topic I have some experience with. James uses Leaflet to create maps with his visited coffee shops. 👍 ⌘ Read more
@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.
Streamline virtual hackathon events with the new Hackathon In The Cloud Experience
Attention all students! Make managing your virtual hackathon events even easier with the new Hackathon In The Cloud Experience. ⌘ Read more
Introducing even more security enhancements to npm
New npm security enhancements include an improved login and publish experience with the npm CLI, connected GitHub and Twitter accounts, and a new CLI command to verify the integrity of packages in npm. ⌘ Read more
Tips & tricks for using GitHub projects for personal productivity
GitHub Issues is a core component of how developers get things done and, as we built more project planning capabilities into GitHub, we’ve found some fun and unique ways to use the new projects experience for personal productivity. ⌘ Read more
Managing a game dev community with GitHub Actions
A Little Game Called Mario is an open source, collectively developed hell project. Anyone and everyone is welcome to contribute their unique talents to make both the player and developer experience more enjoyable. Find out how the collective leverages GitHub Actions to manage this wonderful little community. ⌘ Read more
Erlang Solutions: Gaining a Competitive Advantage in Fintech From Your Choice of Tech Stack
In our recent white paper ‘Technology Trends in Financial Services 2022’, we explained the importance of software engineering for gaining a competitive advantage in the industry. Since the start of the year, a lot has occurred on a macro level strengthening our belief that modern financial services must be based on a solid technical foundation to deliver the user experiences and business rel … ⌘ Read more
The XMPP Standards Foundation: On-Boarding Experience with XSF (Converse)
Hi, I am PawBud. I will be working as a GSoC Contributor with XSF. To know more about my project kindly read this blog. Feel free to contact me through my email to ask me anything you want!
Before I start, I feel that some things that I am going to write in this blog might offend someone. **Kindly … ⌘ Read more
Coronavirus Hong Kong: hospitals experience uptick in Covid-related admissions as city logs over 1,900 cases
Hong Kong records 1,917 cases, comprising 1,799 local and 118 imported infections, and no additional deaths. ⌘ Read more
Regina Ip is the right choice to steer Hong Kong’s comeback as Exco convenor
Given her qualifications in the political arena and personal experience in overcoming setbacks, she is more than capable of shaping the terrain of Hong Kong’s political landscape. ⌘ Read more
Following Friends in Fitness Apps is Associated with Higher Levels of Physical Activity
[Sponsored Article]
The past few years have seen huge growth in mobile fitness apps globally. Expecting increased revenue to be generated from this category, app designers strive to add features to enhance the user experience and motivate better performance.
Dr HUANG Guanxiong, Dr Crystal JIANG Li, and doctoral student SUN Mengru from CityU’s … ⌘ Read more
Changing the World for the Better
A passionate educator in social work with profound experience in the field, there are few who are as dedicated to teaching the next generations of students in social welfare in Hong Kong as Dr Sylvia KWOK LAI Yuk-ching ⌘ Read more
Senior Beijing official with over 30 years’ experience in Hong Kong affairs appointed to deputy role in nation’s top advisory body
Zhang Xiaoming, former executive deputy director of state-level Hong Kong office, made deputy secretary general of Chinese People’s Political Consultative Conference. ⌘ Read more
‘Glocalised’ school-based curriculum at Caritas Wu Cheng-chung Secondary School empowers innovation and inspires students from nearly 20 countries and regions
Caritas Wu Cheng-chung Secondary School (CWCC) embraces ‘glocalisation’ to optimise its students’ learning experience as well as their personal growth and character building. ⌘ Read more
How to play the first text adventure game… in style.
Everything you need for the ultimate Colossal Cave Adventure experience – including maps and walkthroughs. ⌘ Read more
How J.Y. Pillay helped Lee Kuan Yew turn Singapore Airlines into a global giant
With no domestic market and limited aviation experience, Singapore’s dream of owning a world-class international airline seemed far-fetched, but Pillay believed it was achievable. ⌘ Read more
How we think about browsers
Discover how GitHub thinks about browser support, look at usage patterns, and learn about the tools we use to make sure our customers are getting the best experience. ⌘ Read more