There are many kinds of “portability” in software. Portability refers to the relative ease of “porting” a piece of software to another system. That platform might be another operating system, another CPU architecture, another web browser, another filesystem… and so on. More portable software uses the limited subset of interfaces that are common between systems, and less portable software leverages interfaces specific to a particular system.
There’s something I need to make clear about Nvidia. Sway 1.0, which is the release after next, is not going to support the Nvidia proprietary driver, EGLStreams, or any other proprietary graphics APIs. The only supported driver for Nvidia cards will be the open source nouveau driver. I will explain why.
Today I’ve released sway 0.15-rc1, the first release candidate for the final 0.x release of sway. That’s right - after sway 0.15 will be sway 1.0. After today, no new features are being added to sway until we complete the migration to our new plumbing library, wlroots. This has been a long time coming, and I would love to introduce you to wlroots and tell you what to expect from sway 1.0.
Hacker News is a popular “hacker” news board. One thing I love about HN is that the moderation generally does an excellent job. The site is free of spam and the conversations are usually respectful and meaningful (if pessimistic at times). However, there is always room for improvement, and moderation on Hacker News is no exception.
Complexity is quickly becoming an epidemic. In this developer’s opinion, complexity is the ultimate enemy - the final boss - of good software design. Complicated software generally has complicated bugs. Simple software generally has simple bugs. It’s as easy as that.
The other day, I saw Learn regex the easy way. This is a great resource, but I felt the need to pen a post explaining that regexes are usually not the right approach.
Is it already time to write another one of these? Phew, time flies. Sway marches ever forward. Sway 0.14.0 was recently released, adding much asked-after support for tray icons and fixing some long-standing bugs. As usual, we already have some exciting features slated for 0.15.0 as well, notably some cool improvements to clipboard support. Look forward to it!
Wayland is the new hotness on the Linux graphics stack. There are plenty of introductions to Wayland that give you the high level details on how the stack is laid out how applications talk directly to the kernel with EGL and so on, but that doesn’t give you much practical knowledge. I’d like to instead share with you details about how the protocol actually works and how you can use it.
I should start this post off by clarifying that what I have to show you today is
not, in fact, generics. However, it’s useful in some situations to solve the
same problems that generics might. This is a pattern I’ve started using to
reduce the number of
void* pointers floating around in my code: multiple
definitions of a struct.