Skip to content

Friday, 17 February 2023

I am happy to announce Tokodon 23.02. This release contains around one month’s worth of improvements, and while it is only one month, this release is feature packed! This was an exciting month for me in general, I started working at KDAB, went to FOSDEM in Brusels where I meet a bunch of other KDE folks, and spend time enjoying my new life in Berlin.

Me at the FOSDEM booth
Me at the FOSDEM booth

Fortunately I still found some time to contribute to Tokodon, and Joshua Goins has also been a very active contributor. The number of contributors is also growing with a bunch of new faces: Aakarsh MJ, Harshil Jani, Mohit Marathe, Raphael Gaschiganrd, Rishi Kumar who also contributed some code in this release.

So what is Tokodon? Is is basically a client for the federated social network Mastodon. It is built with Kirigami with the goal to have a great integration with Plasma Desktop and Plasma Mobile, but it also works on other desktop environments, and even Windows and macOS.

Get it!

You can download Tokodon 23.02.0 from Flathub and from F-Droid using the KDE repo. Currently we don’t offer binaries for Windows and macOS but if you want to help with that, please get in touch on Matrix.

Post composer rewamp

As part of this release, we reworked the post composer considerably. This is the central area of your interaction with Mastodon and we wanted it to be more reliable.

It is now possible to add an alternative description to images and videos sent via Tokodon. This is very important for accessibility as images without alternative description are invisible for screen readers. (Carl Schwan, Link)

Alternative text
Alternative text

It is also now possible to see the upload progress when uploading an attachment, giving you some visual feedback that something is happening. (Carl Schwan, Link)

An error message will be displayed when sending a message didn’t work. The post composer will only be closed once the message is sent, so if there is an network error the post you wrote is not lost and you can try posting it again. This should make Tokodon much more reliable for interacting with Mastodon. (Joshua Goins, Link).

Error displayed when an error occurred when sending a post
Error displayed when an error occurred when sending a post

Another big thing is that we are now supporting editing posts, so in case you made a typo you don’t need to delete your post and post it again. (Joshua Goins, Link)

And finally Tokodon respects your default sensibility and visibility preferences when posting, and when replying to a message, the visibility of the message will be inherited in your reply. So if you are replying to a private message, the reply will automatically be set to be also private. (Carl Schwan, Link)

Timeline and notification view

Aside from the improvements to the post editor, we continued to polish the timeline.

The models for timelines has been completely refactored. Aside from making the code nicer to work with and a bit faster, it also made it possible to show the avatar of who boosted or liked a post. (Carl Schwan, Link)

Avatar of the user who boosted a post is now displayed
Avatar of the user who boosted a post is now displayed

Tokodon now doesn’t only support image as attachments, but we now also have a prelimary support for videos and gifs. (Joshua Goins, Link).

Additionally the previews for attachements should be better displayed with correct aspect ratio. (Joshua Goins, Link 1, Link 2)

New attachment layout
New attachment layout

Other ways to interact with a post are now available in an overflow menu for posts adding actions like a “Copy link to post” feature (Joshua Goins, Link), a bookmark feature (Joshua Goins, Link) and the previously mentioned edit feature (Joshua Goins, Link)

Overflow menu showing additional actions
Overflow menu showing additional actions

There are now some new special pages available in the sidebar to display your bookmarks as well as your favorite posts. (Joshua Goins, Link)

Favorite timelines
Favorite timelines

We now handle notifications for poll updates (Riya Bisht, Link), and when a post you interacted with gets updated (Harshil Jani, Link)

There are now placeholders for when you currently don’t have any notifications or conversations instead of showing you an empty view (Mohit Marathe, Link)

The search field introduced during the last released got a nice visual refresh…

Search popup
Search popup

… And it now supports searching for hashtags. (Joshua Goins, Link)

Other Improvements

It is now possible to configure the color scheme used by Tokodon independently from the Plasma color scheme. (Joshua Goins, Link but most of the code was copied in good tradition from NeoChat)

Color Scheme
Color Scheme

We added the missing separators in the settings pages (Rishi Kumar, Link)

It is now possible to directly edit your account from your profile page (Joshua Goins, Link)

The user’s avatar in the profile page now uses the standard Kirigami.Avatar component (Joshua Goins, Link)

The behavior of selectable text fields is now consistent (Aakarsh MJ, Link)

Important Bugfixes

A bug that broke loading the timeline in some conditions has been fixed (Carl Schwan, Link)

We fixed rendering of some attachments caused by a bug in the blurhash decoding. (Joshua Goins, Link)

Storing the account settings is now using the account username and instance hostname as a unique identifier. This fixes situations where someone had multiple accounts with the same username on a different instance. (Raphael Gaschiganrd, Link)

Technical Details

Aside from the many new features, there were several large re-factorings of the code base to cleanup some code that younger-me wrote. The C++ code base now has a coverage of 36%, this is a small increase compared to the previous release. Rishi Kumar is also working on integration tests as part of his Season of KDE project.

Get Involved

If you are interested in helping, don’t hesitate to reach out in the Tokodon matrix channel (#tokodon:kde.org) and I will be happy to guide you.

I’m also regularly posting about my progress on Tokodon (and other KDE apps) on my Mastodon account, so don’t hesitate to follow me there ;)

And in case, you missed it, as a member of the fundraising working group, I need to remind you that KDE e.V., the non-profit behind the KDE community accepts donations.

Packager section

You can find the package on download.kde.org and it has been signed with my GPG key.

Let’s go for my web review for the week 2023-07.


AMD Grabs Over 30% CPU Market Share As Intel Continues To Decline

Tags: tech, cpu, intel, amd

Interesting, this is likely a good thing for everyone to have AMD very much alive and the dominance of Intel fading away a bit. I wonder how the ARM based processors will position themselves in the server space in the future, this is still not much there (contrary to mobile).

https://wccftech.com/amd-grabs-over-30-percent-market-share-with-epyc-cpus-intel-continues-to-decline/


Apple doesn’t want you developing hobby apps – Bennett Notes

Tags: tech, apple

This is really a stupid rule they got there. I really don’t get why makers would turn to this ecosystem it makes everything difficult.

https://www.bennettnotes.com/notes/why-does-apple-restrict-hobby-development/


Bing: “I will not harm you unless you harm me first”

Tags: tech, api, gpt, politics, ethics

There’s really something rotten in this AI “arms race”… they’re clearly making mistakes to go fast for PR purposes and using tools the wrong way. This can only lead to large scale disinformation if they don’t correct course quickly. This has more political impacts than it looks at first sight.

https://simonwillison.net/2023/Feb/15/bing/


ChatGPT is a data privacy nightmare. If you’ve ever posted online, you ought to be concerned

Tags: tech, law, copyright, ai, gpt

For all the conversations about how chat GPT might displace jobs, there’s a big untold: how much of copyright is violated in the process? It’s also very concerning about how much data it collects when interacted with.

https://theconversation.com/chatgpt-is-a-data-privacy-nightmare-if-youve-ever-posted-online-you-ought-to-be-concerned-199283


ChatGPT Is Ingesting Corporate Secrets - Schneier on Security

Tags: tech, ai, security, gpt

Are we surprised? Not really no… you don’t own any of the data you’re feeding it. Keep it away from your secrets.

https://www.schneier.com/blog/archives/2023/02/chatgpt-is-ingesting-corporate-secrets.html


Wolfram|Alpha as the Way to Bring Computational Knowledge Superpowers to ChatGPT—Stephen Wolfram Writings

Tags: tech, knowledge, gpt, ai

So transformer models produce things that look plausible… and that’s it. What would it look like if we started to make hybrid models in which a transformer model is also tied to proper computation tools with general knowledge? This piece is a good illustration of what it could provide.

https://writings.stephenwolfram.com/2023/01/wolframalpha-as-the-way-to-bring-computational-knowledge-superpowers-to-chatgpt/


A promising mess - Chez pieq

Tags: tech, linux, complexity

Indeed we’re clearly in a transition period on the Linux ecosystem. If it all comes out to fruition it’ll be better for everyone… in the meantime this throws quite some complexity at everyone (in particular for portability and deployment).

https://pierre.equoy.fr/blog/posts/2023/02/a-promising-mess/


Reduce the environmental footprint of your mobile apps with SonarQube

Tags: tech, ecology, quality, metrics

Interesting plugin for SonarQube to evaluate the footprint of a mobile application. This should complete well what exists for desktop applications and web frontends.

https://github.com/green-code-initiative/ecocode-mobile


Handbook - KDE Eco

Tags: tech, ecology, desktop, kde

Cool! It’s nice to see this handbook published. Should help quite a bit to have more desktop applications certified.

https://eco.kde.org/handbook/


boxxy puts bad Linux applications in a box with only their files

Tags: tech, command-line, config, rust, tools

Oh, that looks very interesting. I’d definitely have use for this. I tend to manage several aws or ssh configs per customers and it’s not always easy to deal with. This could lead to a nice separation.

https://github.com/queer/boxxy


Why I’m not the biggest fan of Single Page Applications

Tags: tech, web, frontend

The article is a bit confused about what is really about SPAs in general or React in particular. Still it is clear they raise questions regarding accessibility and navigation. In turn, this requires a lot of careful implementation to make sure the user experience is acceptable.

https://www.matuzo.at/blog/2023/single-page-applications-criticism/


Modularizing React Applications with Established UI Patterns

Tags: tech, architecture, web, frontend, react

Nice demonstration that web frontend can and should be organized like a regular GUI application (like a desktop application for instance). This will bring the same benefits in term of maintainability and modularity.

https://martinfowler.com/articles/modularizing-react-apps.html


A “Notion-style” block-based extensible text editor built on top of Prosemirror and Tiptap

Tags: tech, frontend, web

Looks like a nice editor to use in web frontends.

https://github.com/YousefED/BlockNote


The Heisenbug lurking in your async code - Textual

Tags: tech, python, asynchronous

This is clearly a dangerous pitfall in the asyncio API.

https://textual.textualize.io/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/


How C++23 changes the way we write code - Timur Doumler - Meeting C++ 2022 - YouTube

Tags: tech, c++

Nice talk about what’s new about C++23. Claims to cover only four features but uses nice presenter tricks so that you also take a quick peek at other features.

https://www.youtube.com/watch?v=QyFVoYcaORg


The Real C++ Killers (Not You, Rust) | HackerNoon

Tags: tech, performance, python, c++

A bit of a sarcastic tone but a few good point in there. Also shows interesting alternatives to C++ to squeeze every ounce of performance out of your code whatever the platform it runs on. Of the three options explored I knew only about Numba really.

https://hackernoon.com/the-real-c-killers-not-you-rust


Simple Physics-based Flight Simulation with C++ | Jakob Maier

Tags: tech, c++, physics

A very simple flight model which seems to do wonders.

https://www.jakobmaier.at/posts/flight-simulation/


When Rust hurts

Tags: tech, rust, programming, safety, multithreading

It’s good to also see articles which point out the problems with Rust. Overall I find it an interesting language but people tend to oversell it too much. This is a nice reminder it already carries complexity issues.

https://mmapped.blog/posts/15-when-rust-hurts.html


Re: Factor: Proquint

Tags: tech, encodings

This is a cool encoding I find. Might come in useful sometimes.

https://re-factor.blogspot.com/2023/02/proquint.html?m=1


Fixing “Too much WIP” | by Jason Yip | Jan, 2023 | Medium

Tags: tech, agile, project-management

This can indeed quickly become a problem. This slows down everything and can bring with it a silent killer: context switching. It is avoidable though, there are good strategies to prevent WIP to go out of control.

https://jchyip.medium.com/fixing-too-much-wip-ba4d254048a3


Retrospectives Antipatterns

Tags: tech, agile, retrospective

Interesting first set of antipatterns… I clearly already encountered the “In the soup” and “Loudmouth” ones. This is like a long advertisement to the book of course but I think I’ll try to get my hands on it.

https://martinfowler.com/articles/retrospective-antipatterns.html



Bye for now!

Wednesday, 15 February 2023

Call for proposal ends this Saturday 18th of February.

 

I'm sure there's lots of interesting things you have to talk about so head over to https://linuxappsummit.org/cfp/ and press the "Submit your talk" button :)

Tuesday, 14 February 2023

After the announcement upstream, Fedora’s @kde-sig follows up by making KDE Plasma 5.27.0 available on Fedora 36 and Fedora 37.

There’s a catch though: you will have to use our COPR.

The regular update on Fedora repositories will follow shortly, I will keep you all posted.

Feel free to join us at our Matrix room!.

Screenshot of version 0.5.2

Glaxnimate is proud to announce the release of version 0.5.2. This latest update brings several exciting new features and improvements to enhance your animation creation experience.

Animation along Path

A script element has been removed to ensure Planet works properly. Please find it in the original post.

Earth and Moon graphics are from Noto Emoji

One of the major additions in this release is the ability to animate objects along a path. This is a feature that allows you to animate elements in a more natural and organic way by having them move along a custom path instead of a straight line. With this feature in Glaxnimate, you can create animations of objects following a curved path, like a bouncing ball or a spaceship flying through space.

After you add position keyframes to an object, the path can be adjusted with the edit tool, giving you full control over the motion of your elements, and the ability to fine-tune your animations until they look just right.

Improved User Interface

Compact view

The interface layout has also been updated with new presets to provide better display on smaller screens, and the ability to set custom shortcut settings for plugins has been added.

Enhanced Input/Output Functionality

To make your workflow even easier, a new export option as an image sequence has been added to the menu.

This release also brings support for loading and saving Rive animations, improving the quality of video exports, and adding command line options for rendering images without starting the GUI.

Issues with loading Glaxnimate and old Lotties files have also been resolved, as well as a crash on SVG export.

Scripting Additions

For developers and advanced users, the new release features a function to render a node at a specific frame, providing even more control over your animations.

Bug Fixes and Minor Enhancements

This release also includes several bug fixes, including resolution of issues with loading Lotties with hidden fill and stroke, improved previews in the stroke style view, and proper application of duration changes in the startup dialog to all layers.

Additionally, Glaxnimate 0.5.2 includes the addition of Flatpak, improved Freedesktop file naming and metainfo, and the ability to view contributors. Messages are also logged to a file for better tracking of errors and issues.

The Select tool has also been improved, allowing for better handling of ungrouped shapes, making your editing process smoother and more efficient.

Download

We are confident that these new features and improvements will enhance your experience with Glaxnimate and look forward to continuing to bring you the best vector animation application.

If you're interested in trying it out, head over to our download page to get started. As always, if you have any questions or feedback, feel free to reach out to us via our issue tracker.

Thank you for your continued support of Glaxnimate!

Friday, 10 February 2023

Let’s go for my web review for the week 2023-06.


Why Steam Deck Is One of the Most Significant PC Gaming Moments in Years | TechSpot

Tags: tech, valve

Very in depth article about the Steam Deck. Interesting look back at it story and situation after a year in the wild.

https://www.techspot.com/article/2620-steam-deck-pc-gaming-moment/


Tags: tech, kde

Nice and thorough review of Plasma. Well done everyone!

https://fossforce.com/2023/02/kde-plasma-full-featured-desktop-thats-surprisingly-easy-on-resources/


Windows 11: a spyware machine out of users’ control? | TechSpot

Tags: tech, privacy, microsoft

Are we really surprised? This continues a trend they started a few years ago, they don’t want to be left behind Android in that regard.

https://www.techspot.com/news/97535-windows-11-spyware-machine-out-users-control.html


The ad for Bard is wrong…

Tags: tech, ai, google, gpt

Or why you can’t trust large language model for any fact or knowledge related tasks…

https://nitter.lacontrevoie.fr/IsabelNAngelo/status/1623013720011194368


ChatGPT Should Not Exist. Its Real Product Is Despair. | by David Golumbia

Tags: tech, ai, gpt, politics

Its limits and biases are well documented. But, what about the ideologies of the people behind those models? What can it tell us about their aims behind those models? Questions worth exploring in my opinion.

https://davidgolumbia.medium.com/chatgpt-should-not-exist-aab0867abace


Stable Attribution

Tags: tech, ai, machine-learning, generator

Interesting work, trying to get back to the source material used by a generative model. This is definitely necessary as well.

https://www.stableattribution.com/


MotherDuck: Big Data is Dead

Tags: tech, data

Interesting post with a good perspective on big data projects over time. It confirms that most people don’t fall in the big data bucket, it’s likely less than a percent of the projects which would qualify.

https://motherduck.com/blog/big-data-is-dead/


dns0.eu — The European public DNS that makes your Internet safer

Tags: tech, dns, security

Looks very interesting, I guess I will switch some of my devices to using this and we’ll see how it goes.

https://www.dns0.eu/


research!rsc: The Magic of Sampling, and its Limitations

Tags: tech, statistics, profiling

Good explanation about how sampling works. Does a good job explaining why it shines and where it is limited.

https://research.swtch.com/sample


GitHub - hubblo-org/scaphandre: ⚡ Energy consumption metrology agent.

Tags: tech, energy

Looks like a young but interesting tool to assess the power consumption of a service. There’s been quite some work in this domain on the client side, not so much on the server side. This is welcome.

https://github.com/hubblo-org/scaphandre


C++ Alternative Operators

Tags: tech, c++

This is lesser known and probably should stay obscure… don’t do that at home kids. Those alternative operators (more like tokens really) don’t help with readability at all and make not much sense with UTF8 code bases.

https://www.cedricmartens.com/articles/alt_ops


The Mypy Blog: Mypy 1.0 Released

Tags: tech, type-systems, python, mypy

This is a big milestone reached for that project. Let’s hope it’ll drive adoption up.

https://mypy-lang.blogspot.com/2023/02/mypy-10-released.html


Welcome to PocketPy | A lightweight Python interpreter for game engines

Tags: tech, python, lua

Early days but could become an interesting alternative to Lua for an embedded scripting language in some projects.

https://pocketpy.dev/


The continuous amnesia issue

Tags: tech, culture, memory

I very much agree with this. It is a real concern with our industry, we seem indeed to keep reinventing the wheel a lot. How do we stop forgetting? How do we move forward?

https://www.ufried.com/blog/continuous_amnesia_issue/


Cory Doctorow: Science Fiction is a Luddite Literature – Locus Online

Tags: tech, culture, criticism

Very good essay on why we shouldn’t look down on the Luddite. They had plenty of their questioning right and it’s actually pervasive now. We use the term as libel only because back then they lost…

https://locusmag.com/2022/01/cory-doctorow-science-fiction-is-a-luddite-literature/



Bye for now!

Wednesday, 8 February 2023

As announced previously, Plasma 5.27 will have a significantly reworked multiscreen management, and we want to make sure this will be the best LTS Plasma release we had so far.

Of course, this doesn’t mean it will be perfect from day one, and your feedback is really important, as we want to fix any potential issue as fast as they get noticed.

As you know, for our issue tracking we use Bugzilla at this address. We have different products and components that are involved in the multiscreen management.

First, under New bug, chose the “plasma” category. Then there are 4 possible combinations of products and components, depending on the symptoms:

Possible problemProductComponent
  • The output of the command kscreen-doctor -o looks wrong, such as:
  • The listed “priority” is not the one you set in systemsettings
  • Geometries look wrong
kscreencommon
  • Desktops or panels are on the wrong screen
  • There are black screens but is possible to move the cursor inside them
plasmashellMulti Screen Support
  • Ordinary application windows appear on the wrong screen or get moved in unexpected screens when screens are connected/disconnected
  • Some screens are black and is not possible to move the mouse inside those, but they look enabled in the systemsettings displays module or in the output of the command kscreen-doctor -o
kwinmulti-screen
  • The systemsettings displays module shows settings that don’t match reality
  • The systemsettings displays module shows settings that don’t match the output of the command kscreen-doctor -o
systemsettingskcm_kscreen

In order to have a good complete information on the affected system, its configuration, and the configuration of our multiscreen management, if you can, the following information would be needed:

  • Whether the problem happens in a Wayland or X11 session (or both)
  • A good description of the scenario: how many screens, whether is a laptop or desktop, when the problem happens (startup, connecting/disconnectiong, going out of sleep and things like that)
  • The output the terminal command: kscreen-doctor -o
  • The output of the terminal command: kscreen-console
  • The main plasma configuration file: ~/.config/plasma-org.kde.plasma.desktop-appletsrc

Those items of information already help a lot figuring out what problem is and where it resides.

Afterwards we still may ask for more informations, like an archive of the main screen config files that are the directory content of ~/.local/share/kscreen/ but normally, we wouldn’t need that.

One more word on kscreen-doctor and kscreen-console

Those 2 commands are very useful to understand what Plasma and the rest of the system thinks about every screen that’s connected and how they intend to treat them.

kscreen-doctor

Here is a typical output of the command kscreen-doctor - o:

Output: 1 eDP-1 enabled connected priority 2 Panel Modes: 0:1200x1920@60! 1:1024x768@60 Geometry: 1920,0 960x600 Scale: 2 Rotation: 8 Overscan: 0 Vrr: incapable RgbRange: Automatic
Output: 2 DP-3 enabled connected priority 3 DisplayPort Modes: 0:1024x768@60! 1:800x600@60 2:800x600@56 3:848x480@60 4:640x480@60 5:1024x768@60 Geometry: 1920,600 1024x768 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic
Output: 3 DP-4 enabled connected priority 1 DisplayPort Modes: 0:1920x1080@60*! 1:1920x1080@60 2:1920x1080@60 3:1680x1050@60 4:1600x900@60 5:1280x1024@75 6:1280x1024@60 7:1440x900@60 8:1280x800@60 9:1152x864@75 10:1280x720@60 11:1280x720@60 12:1280x720@60 13:1024x768@75 14:1024x768@70 15:1024x768@60 16:832x624@75 17:800x600@75 18:800x600@72 19:800x600@60 20:800x600@56 21:720x480@60 22:720x480@60 23:720x480@60 24:720x480@60 25:640x480@75 26:640x480@73 27:640x480@67 28:640x480@60 29:640x480@60 30:720x400@70 31:1280x1024@60 32:1024x768@60 33:1280x800@60 34:1920x1080@60 35:1600x900@60 36:1368x768@60 37:1280x720@60 Geometry: 0,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic

Here we can see we have 3 outputs, one internal and two via DisplayPort, DP-4 is the primary (priority 1) followed by eDP-1 (internal) and DP-3 (those correcpond to the new reordering UI in the systemsettings screen module).

Important data points, also the screen geometries (in italic in the snippet) which tell their relative positions.

kscreen-console

This gives a bit more verbose information, here is a sample (copied here the data of a single screen, as the output is very long):

Id: 3
Name: "DP-4"
Type: "DisplayPort"
Connected: true
Enabled: true
Priority: 1
Rotation: KScreen::Output::None
Pos: QPoint(0,0)
MMSize: QSize(520, 290)
FollowPreferredMode: false
Size: QSize(1920, 1080)
Scale: 1
Clones: None
Mode: "0"
Preferred Mode: "0"
Preferred modes: ("0")
Modes:
"0" "1920x1080@60" QSize(1920, 1080) 60
"1" "1920x1080@60" QSize(1920, 1080) 60
"10" "1280x720@60" QSize(1280, 720) 60
"11" "1280x720@60" QSize(1280, 720) 60
"12" "1280x720@60" QSize(1280, 720) 59.94
"13" "1024x768@75" QSize(1024, 768) 75.029
"14" "1024x768@70" QSize(1024, 768) 70.069
"15" "1024x768@60" QSize(1024, 768) 60.004
"16" "832x624@75" QSize(832, 624) 74.551
"17" "800x600@75" QSize(800, 600) 75
"18" "800x600@72" QSize(800, 600) 72.188
"19" "800x600@60" QSize(800, 600) 60.317
"2" "1920x1080@60" QSize(1920, 1080) 59.94
"20" "800x600@56" QSize(800, 600) 56.25
"21" "720x480@60" QSize(720, 480) 60
"22" "720x480@60" QSize(720, 480) 60
"23" "720x480@60" QSize(720, 480) 59.94
"24" "720x480@60" QSize(720, 480) 59.94
"25" "640x480@75" QSize(640, 480) 75
"26" "640x480@73" QSize(640, 480) 72.809
"27" "640x480@67" QSize(640, 480) 66.667
"28" "640x480@60" QSize(640, 480) 60
"29" "640x480@60" QSize(640, 480) 59.94
"3" "1680x1050@60" QSize(1680, 1050) 59.883
"30" "720x400@70" QSize(720, 400) 70.082
"31" "1280x1024@60" QSize(1280, 1024) 59.895
"32" "1024x768@60" QSize(1024, 768) 59.92
"33" "1280x800@60" QSize(1280, 800) 59.81
"34" "1920x1080@60" QSize(1920, 1080) 59.963
"35" "1600x900@60" QSize(1600, 900) 59.946
"36" "1368x768@60" QSize(1368, 768) 59.882
"37" "1280x720@60" QSize(1280, 720) 59.855
"4" "1600x900@60" QSize(1600, 900) 60
"5" "1280x1024@75" QSize(1280, 1024) 75.025
"6" "1280x1024@60" QSize(1280, 1024) 60.02
"7" "1440x900@60" QSize(1440, 900) 59.901
"8" "1280x800@60" QSize(1280, 800) 59.91
"9" "1152x864@75" QSize(1152, 864) 75
EDID Info:
Device ID: "xrandr-Samsung Electric Company-S24B300-H4MD302024"
Name: "S24B300"
Vendor: "Samsung Electric Company"
Serial: "H4MD302024"
EISA ID: ""
Hash: "eca6ca3c32c11a47a837d696a970b9d5"
Width: 52
Height: 29
Gamma: 2.2
Red: QQuaternion(scalar:1, vector:(0.640625, 0.335938, 0))
Green: QQuaternion(scalar:1, vector:(0.31543, 0.628906, 0))
Blue: QQuaternion(scalar:1, vector:(0.15918, 0.0585938, 0))
White: QQuaternion(scalar:1, vector:(0.3125, 0.329102, 0))

Important also the section EDID Info, to see if the screen has a good and unique EDID, as invalid Edids, especially in combination with DisplayPort is a known source or problems.

Sunday, 5 February 2023

Like others, I’m sitting in the train from Brussels to Paris after a very intensive week-end. Indeed, FOSDEM 2023 did happen. After being suspended for two years during the pandemic, at least for the in person version, it is back. I couldn’t ignore this and had to go!

Now let’s see for my quick and very own biased recap of the week-end.

The Talks

I managed to attend a few talks and take written notes. I miss my old tablet, I would have preferred to get back into sketch noting. Maybe next time…

Graphics: A Frame’s journey

A nice talk from Daniel Stone who really knows the topic in depth. I admit I expected something a bit less high level though. Still, if you are curious about how the graphics stack is structured on Linux it was definitely worth attending.

It does a very good job about explaining DRM/KMS, EGL, GBM respective roles and how they align. Also shows how Wayland is purposefully aligned with KMS. I managed to get a few extra information I didn’t expect on the topic.

Definitely recommended.

4K HDR video with AV1: A Reality Check

It’s been a few years now that I end up attending a talk I didn’t expect for various reasons. This year it was definitely this one, I didn’t mark it down at all on my hit list but ended up being in the Open Media room when it was presented.

It was definitely outside my comfort zone and still I found it very interesting and accessible enough. It explained quite well HDR content display and how AV1 handles it.

I admit I was a bit fascinated by the part talking about testing the rendering and if the standards are properly respected. It’s clearly a very complex work. Lots of very subtle details to get a test lab right. Indeed you even need to take care of the immediate environment of the lab since it can impact the perception of colors!

Unexpected as I said but I don’t regret it.

Understanding the energy use of Firefox

Nowadays I’m definitely getting more curious about the energy use of the software we use daily… and what is more commonly used nowadays than your web browser really?

Well, this is in part why the Mozilla people added energy profiling to the Firefox Profiler. It’s not only important from a sustainability, it also has a direct impact on the user experience in terms of noise, heat and battery use.

This type of profiling requires to look at CPU use, GPU use, thread wake ups, network use. They tended to waste energy a lot due to wake ups, invisible animations, timers. They introduced tooling around the task manager to ease hunting down those problems.

This coupled to telemetry allowed them to have a global picture of how the browser operates in the wild. The total daily consumption globally would require a small power station to satisfy it. Definitely not a small thing!

Anyway, it all allowed them to make several targeted fixes which improved the situation greatly. Still more improvements needed of course and experiments to run to see how they’ll behave in the wild.

Interesting stuff and definitely a tool I’ll use in the future, because… well see the next talk.

What’s new with the Firefox Profiler

I stayed in the same room to know more about the new features around the Firefox Profiler. Unfortunately it started late and needed to be a bit rushed.

They added nice improvements to it recently like - power profiling (with Watts and CO2 estimations) - source code view and inline call stacks - one click profiling for tabs - localization - lots of documentation improvements

But the thing I’m the most excited about is the importers they added. This turns it into a generic interface to explore profiler data and this one being very nice and thorough… Right now they can import traces from: chromer, perf, ART trace and callgrind. There’s even a Java JFR profiler compatible with it.

I find it really cool to see an ecosystem growing around it.

Open Source in Environmental Sustainability

This one was really not what I expected. I was looking for something on how FOSS project can do better in terms of Environmental Sustainability, it was more a survey about FOSS projects aiming at environmental sustainability topics. Fair enough, I was wrong, still worth listening to.

Unfortunately I didn’t find it very well delivered, the pace was a bit too slow or maybe energy was a bit lacking. Also they were some biases in the information collected or what they were looking at which rubbed me the wrong way.

Still I got a few interesting nuggets out of it. There seems to be an overly large presence of the communities, academia and governmental agencies in such projects. Companies are almost nowhere to be seen. Somehow the incentives must be lacking.

It also showed how well green washing unfortunately works. The current investment ratings in term of sustainability are definitely untrustworthy. For instance, the disconnect between carbon credits and the amount of carbon storage really happening is staggering.

I thus agree with the diagnostics, the models used for those ratings should be opened. This is necessary for provability and traceability. This indeed makes Open Source the most underestimated strategy for climate sustainability. Without it we can be easily misled.

Deep Dive Into Query Performance

For this one the title was very much misleading. It had nothing to do with a deep dive and was very much high level.

The advices were sound of course but I expected to learn more and get more tips on how to squeeze performance out of queries not only diagnose where the bottlenecks are.

Still I got away with a few tools to look at and assess if they can really help us - SQLcommenter to pass metadata to the database; - pg_stat_monitor to get deeper query performance insights.

So clearly not the best talk I’ve seen. The tools mentioned might be worth checking out.

Matrix 2.0

I was very curious to get news about Matrix progress. Also Matthew Hodgson is a good speaker and entertainer so hoped it’d be time well spent.

It definitely was! The amount of progress from the Matrix community is just very impressive. In his demo packed talked we’ve been shown: - how much the performance overall improved - how the multiparty VoIP features are doing great - the possibilities to have down the line a Matrix in P2P mode - and their new ThirdRoom client which provides virtual spaces features, I’m especially excited about its use of glTF as the base scene format and the fact that it works with the WebXR APIs

It was also great to see that more governments and agencies are making use of it now. It’s clearly spreading and getting traction. Hopefully the Digital Market Act will push further that momentum and the development of the bridges.

Very interesting times for this protocol, let’s hope it keeps going strong.

The enioka Gang

It’s been a few years that a few enioka Haute Couture developers have been attending FOSDEM. This year more of us did attend and also we managed to bring people from our sister company enioka Consulting with us. Our group thus exploded in size with a head count well above 15!

I thought it was a good opportunity to run a little experiment and asked them each to tell me about their favorite talk of the week-end. Here is what they came up with.

  • DuckDB: Bringing analytical SQL directly to your Python shell
    This is a column database embedded in a Python process (although other bindings are available). It’s kind of a column based sqlite providing zero copy integration with Pandas and Numpy. All of this while providing a 100% SQL based interface.

  • Building a Semantic Search Application in Python, Using Haystack
    How to easily create semantic search applications using this NLP framework and models from HuggingFace. This was an interesting talk about a tool which will be very useful to us.

  • Automated short term train planning on OSRD
    How to insert a train at the last minute in a trafic plan defined weeks ago. The SNCF network works on this problem WITHOUT using AI!

  • Similarity Detection in Online Integrity
    Collection of tools developed by Meta to identify pictures and videos to be considered “illegal”. It’s interesting to see the diversity of solutions they use, ranging from hash comparison to neural network. The platforms collaborate there through NCMEC, a solution to share detected illegal content. If you’re concerned your nudes might leak you can get them on the NCMEC list and avoid their publication. Forgotten from this talk is obviously the content moderators. Meta claims to rely on its “community” (sic).

  • pip install malware
    A dynamic talk which shows the best practices and things to pay attention to when producing a library published via a package manager (like pip). It covers how malevolent packages can be installed by typo squatting, “hidden” dependencies, popularity theft (starjacking) and how to prevent it.

  • Kerberos PKINIT: what, why, and how (to break it) An accessible explanation of Kerberos and of the PKINIT extension allowing to use X509 certificates to authenticate users. I also covers how its FreeIPA implementation could lead to privilege escalation.

  • A deep dive inside the Rust frontend for GCC
    Nice presentation and progress report on the GCC frontend to compile Rust code.

  • OpenSTEF: Open Source energy predictions
    A use case of Open Source tool to manage energy. In particular to predict congestions on the electrical grid.

  • Understanding the energy use of Firefox
    How telemetry helps to figure out Firefox’s energy consumption, and how its profiling tools allow to optimize this consumption.

  • Melrōse, a music programming environment
    A python framework to generate MIDI sequences. It comes with an advanced language to write melodies, harmonies and rythmes altogether. For me the main interest in the framework are the methods which allows to easily compose. Also the code is reinterpreted at each iteration so the generated sequence can be modified from one loop to the next.

  • Kotlin Multiplatform for Android & iOS library developers
    Return on experience of two developers using Kotlin for Android and iOS native applications. They showed how to best leverage Kotlin by fine tuning and working around OS specific bugs with annotations.

  • Application Monitoring with Grafana and OpenTelemetry
    Or how to monitor your applications with Open Source tools to store and explore as a whole the traces, logs and metrics.

The Hallway Track

As you can notice, I didn’t attend many talks… That’s because FOSDEM main value comes from the “hallway track”. It’s best to meet and chat with people as much as possible. And I can tell you it did happen!

It was a real pleasure to reconnect with people I appreciate and love there. Hugs, conversations and drinks were in order. Thank you all for that, hope to see you all again soonish!

It was also nice to meet new friendly faces. For instance, I used the opportunity to congrats the Penpot people for announcing their official launch (what they’re doing is really exciting and important, I wish them success).

But now it’s over… Time to cross the border again and crash on my bed. Exhausted but satisfied.

Friday, 3 February 2023

Let’s go for my web review for the week 2023-05.


The AI Crowd is Mad

Tags: tech, ai, machine-learning, gpt

A few interesting points in there. Too much hype and important points are glanced over, we’d all benefit from them being more actively explored.

https://proofinprogress.com/posts/2023-02-01/the-ai-crowd-is-mad.html


Meta Was Scraping Sites for Years While Fighting the Practice - Bloomberg

Tags: tech, facebook

Oh the irony! Are we surprised? No not really… apparently who wields the tool makes it acceptable or not.

https://www.bloomberg.com/news/articles/2023-02-02/meta-was-scraping-sites-for-years-while-fighting-the-practice


Merchant: Big Tech is using layoffs to crush worker power - Los Angeles Times

Tags: tech, work, hr, business

Looks like an attempt to sow fear in the workers at Big Tech. Hopefully it’ll lead instead to a better organization of the workers across the industry and people leaving Big Tech altogether to join less toxic environments.

https://www.latimes.com/business/technology/story/2023-01-30/column-how-big-tech-is-using-mass-layoffs-to-bring-workers-to-heel


The Transformer Family Version 2.0 | Lil’Log

Tags: tech, ai, machine-learning

Very nice summary of the architecture in the latest trend of transformer models. Long but comprehensive, a good way to start diving in the topic.

https://lilianweng.github.io/posts/2023-01-27-the-transformer-family-v2/


Writing a Custom SQLite Function (in C) - Part 1

Tags: tech, sqlite

An interesting but sometimes forgotten possibility for extending SQLite. Keep in mind this can lead to bad coupling between the software and the DB though which could carry interesting challenges around upgrades for instance.

https://www.openmymind.net/Writing-A-Custom-Sqlite-Function-Part-1/


Undefined behavior, and the Sledgehammer Principle | The Pasture

Tags: tech, programming, c, c++

Excellent conclusion to the recent turmoil around undefined behaviors. The way they are currently used as definitely a problem, they shouldn’t be ignored in your code (although that’s admittedly not that easy). There’s hopefully a path forward.

https://thephd.dev/c-undefined-behavior-and-the-sledgehammer-guideline


Data for Decisions - Max Countryman

Tags: tech, data, knowledge, decision-making

Too often forgotten. Data is indeed a mean to an end. It’s not outright knowledge and will require work to be useful. It better be aligned with your needs if you want to use it for decision making.

https://www.maxcountryman.com/articles/data-for-decisions


My critique of “the Spotify Model”: Part 1 | by Jason Yip | Jan, 2023 | Medium

Tags: tech, agile

OK, this is the best critique of the “Spotify Model” I’ve seen around. There’s been plenty of unfair criticism thrown at this “model” (never aimed to be something you fully replicate though, hence the complaints I think). This one is properly balanced and doesn’t just throw everything in the garbage bin, it takes the model bits by bits and try to highlight where the limits are. Very constructive.

https://jchyip.medium.com/my-critique-of-the-spotify-model-part-1-197d335ef7af


I’m Now a Full-Time Professional Open Source Maintainer

Tags: tech, foss, business

Interesting business model. Could be a new path for at least some maintainers to be sustainably funded. Still a lot of unknowns though… probably worth keeping an eye on it.

https://words.filippo.io/full-time-maintainer/


Estimating Square Roots in Your Head

Tags: mathematics

Interesting method to estimate square roots. I didn’t know about it, quite clever.

https://gregorygundersen.com/blog/2023/02/01/estimating-square-roots/



Bye for now!

After the announcement upstream, Fedora’s @kde-sig follows up by making KDE Gear 22.12.2 available on Fedora 37.

As per Fedora’s policy, the software will first land on updates-testing and after receiving feedback and karma it will land on the updates repository.

If you want to help, make sure to follow the instructions on the update. You only need to run:

sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-17c31eabf7

Feel free to join us at our Matrix room!.