Skip to content

Welcome to Planet KDE

This is a feed aggregator that collects what the contributors to the KDE community are writing on their respective blogs, in different languages

Tuesday, 3 October 2023

Last weekend I went to the Linux Days in Voralberg (Austria) to host a booth with Tobias and Kai. It was hosted at the Fachhochschule (a sort of university for applied science) in Dornbirn and it was my first time attending this event.

Me and Tobias in front of the LinuxDays poster at the entrance of the event
Me and Tobias in front of the LinuxDays poster at the entrance of the event

Our booth was well visited and we had a lot of interesting discussions. As always, we had various pieces of hardware on our booth: 2 laptops, a Steam Deck, a Pinephone, a graphic tablet with Krita and two Konqi amigurumis.

Our stand
Our stand

Between booth duty, I still managed to watched one talk about open source deployment in public institutions in Baden Wurtenberg (a region/state in German). After the linux days, we all went to a restaurant and mass ordered Käsespätzle. Käsespätzle is a traditional food from this region and is made of cheese, Spätzle (noodles) and onions. It was excellent.

Käsespätzle
Käsespätzle

On Sunday, Tobias and I went to Golm with a local we met the day before. We took a gondola lift to reach a high-rope park in the mountains and then took an Alpine Coaster to go back in the valley. It was a lot of fun.

The view from the gondola
The view from the gondola

Picture of the high-rope pakr
Picture of the high-rope pakr

After our little adventure, we again went to eat in a traditional restaurant.

Fish in a plate with noodles and pumpkin
Fish in a plate with noodles and pumpkin

Here a few more pictures of the trip:

Dornbirn market place
Dornbirn market place

Castel
Castel

Slightly over a week ago, I joined my first KDE Promo sprint! My only previous experience was the KDE Plasma sprint, which was very different: lots of developers, and much more development time. This sprint was more intimate and only lasted two days; I nonetheless enjoyed it quite a bit.

You can see me here working hard on promoting all, ehm,

I won!

Jokes aside, the first day we talked a lot about the promotion of Plasma 6, which is the topic I was most interested in. Firstly, the donation campaign! It started just the day after / few days after the Sprint, and you can find it here:

Support Plasma 6
Spark Innovation with Your Donation Exciting news on the horizon! In February 2024, Plasma 6 is set to make its grand debut.

I tried to keep the following text as spoiler-free as possible but still quite informative!

We talked about the donation system and the issues we found with Donorbox; we also considered what perks we could offer to those who join as members. A nice example of that is adding their name - optionally - in the KDE Plasma launcher. I also proposed to create some sort of members-only newsletter or release news, but my idea wasn't that popular, given the open & transparent nature of KDE. I also proposed to replace Donorbox with ko-fi, which has the benefit of not taking any cut of the donations. This would require a lil' bit of work to make it a drop-in replacement, and further discussion with the fundraiser group, but it's a possibility.

Also, the hashtag we will use for Plasma 6 from now on is, unsurprisingly, #Plasma6. We were curious about whether some live-streams could be set up on YT and Peertube doing a bit of Q&A about this new release; I also wanted to make an experiment directly during the Promo sprint, but I had forgotten my HDMI capture card (ops).

Another task that's partially on me is Plasma 6 teaser videos. In order to do that, I need to finish up the animation application I worked on a bit of time ago; it integrates animations directly within Inkscape and it's quite easy to learn and use. However, it still has dealbreaker bugs (e.g. not saving some animations) which will require more development time to fully address. Soon, I promise!

All the short teasers should then be joined together in longer, more "promotional" videos, when we are actually closer to release.

There will also be online events about the release of Plasma 6; I don't know as much about them, since the organization is out of my hands, but they'll include a fireside and AMAs. It'll be pretty cool, and I think KDE's developer community is particularly open to feedback thanks to these events too.

And, of course, offline events will be organized for the release of Plasma 6! There's still a lot of time, but we'd like to have lots of cakes! Let's party ;)

We also discussed the organization of events, and how it's actually extremely useful to always have someone there doing promotional work and making connections; in particular, we discussed for quite some time Carl's proposal to make a standard slide template to make sure our design is both good and consistent whenever someone has to make a presentation about us.

During the second day, I also learned quite a lot about the management of the social network accounts. Paul collects a lot of data on what performs well and what doesn't, and what are the best day / times to post about KDE. I said that we should consider whether to pay for Twitter Blue / whatever the Instagram thing is called, and obviously, I was immediately shut down! (just kidding, we had a bit of conversation about that too, but it's clear that none of us would really like to do such a thing).

You can see my head here

Finally, I took some time to fix something that I found extremely annoying with the current state of Plasma gestures, and I managed to implement 2D gestures. Basically, with this MR applied (still needs some work), you can do gestures diagonally to e.g. switch to another virtual desktop diagonally instead of being limited to horizontal / vertical gestures only. It feels really good to use, but unluckily it requires further work to make sure it makes sense in different combinations of gestures too (we would like, eventually, to make gestures customizable after all!).

Thus: nice experience overall, I was happy to see all the familiar faces of the Promo team, and big thanks to KDE for actually covering the travel and hotel expenses (wow, Berlin is super expensive).

KStars v3.6.7 is released on 2023.10.03 for MacOS & Linux. Windows build is still pending and should hopefully be released by 10th of October. It's a bi-monthly bugfix release with a couple of exciting features.

Image Overlay Component


Hy Murveit introduced a long requested feature: Custom Image Overlays!

With this new feature, a user can add their own processed/completed astro-images, and the system will display them scaled and rotated appropriately on the Sky Map.

The feature is controlled in the KStars Settings menu, in a new tab labelled Image Overlays. First the user needs to add files into a directory, parallel to the logs directory, called imageOverlays. Simply add the images there (typically jpegs). Ideally these aren't massive files for performance reasons, but probably width 1000 or 2000 are fine. I have been testing with larger files, which will also work be use more system resources on slower CPUs.


The user then uses the Image Overlays menu in KStars Settings to (one-time) plate-solve the images and check a box to enable the image display. Successful plate-solve info is stored in the user-db so that it doesn't have to be done again. The images should, from then on, appear in the SkyMap in the proper position. There is a way to easily navigate to the images without manipulating the SkyMap by selecting a row in the overlay table and clicking on the "Show" button. You can move from one image to the next with up/down arrow keyboard commands.

A user can adjust the plate-solve timeouts. As these are mostly blind solves (jpegs won't have any header info, and as currently implemented, no header info is used) the plate solving can be problematic. You can choose a default image scale (arcseconds-per-pixel) or leave that to 0.0 to not use scale. If there are files that won't solve, the user can add RA,DEC into the image's row in the table displayed, which would get the solver to use the sky position as a constraint. The user can also add the scale that way. In fact, if the user knows all the info for the image, he/she can populate all the fields on the image's row and simply set the status field to OK, and plate-solving would no longer be required.

Rotator Dialog Improvements



Toni Schriber continued simplifying the Rotator Dialog. Rotator Flip Policy was introduced. This (global) policy is an answer to this question and to this wish. It's now possible to define how the rotator reacts after a flip or if the result of a solved reference image reports a different pierside respective to the actual mount pierside. Preserve Rotator Angle will keep the rotator position and the camera is virtually rotated by 180°. Preserve Position Angle will keep the camera position angle.

The rotator always turns the camera to the original position angle and the image will show the original star arrangement. Flip Policy can be altered in the StellarSolver Options under Rotator Settings.

More File Placeholders


Due to popular demand, Wolfgang Reissenberger added support for camera temperature %C, gain %G, offset %O and pier side %P.


This is not only applicable to locally captured images, but also for images captured on a remote INDI server.

Monday, 2 October 2023

The Calamares installer for Linux distributions, which is used by lots of Arch-based distributions but also KaOS, is hosted on GitHub. That isn’t so hot, from a Free Software perspective. I was recently reminded how not-hot that is by changes in GitHub actions – that’s the Continuous Integration (CI) branding on that platform.

Back in 2021 when I was employed mostly-full-time to work on Calamares, I wrote about notifications because I had put together something nifty. Changes in Matrix and token expiry silenced those notifications, but GitHub has some kind of deal with Matrix so that you can get notifications via GitHub services rather than roll-your-own. Thanks to the folks from KaOS for setting that up in the Calamares Matrix channel.

But having that integration meant that a bunch of the CI coding that I had created was now useless cruft. And then there was something about an update to node.js needed for running actions, and then some other update and I realized that the CI wasn’t set-and-forget, it needed maintenance and it needed maintenance on somebody else’s schedule.

When I looked into the CI stuff, I realized that all the knowledge of how to deal with this proprietary configuration had leaked out of my brain in the past 18 months. It’s been replaced by configuring GitLab CI instead – a different kind of proprietary.

In any case this prompted me to step back and wonder about what all the CI was actually doing. Start a container, install git and some tools, clone the Calamares repo, install dependencies, kick off a build. Basically, run a couple of shell scripts, but wrapped up in a couple of layers of YAML and cruft. So in the past week I’ve gone through and extracted the bits again from the proprietary code and .. you guessed it .. added back shell scripts into the ci/ directory in the Calamares repo. It had never gone away, it just wasn’t used for much CI-work recently (the formatting scripts and translation-helpers live there too).

One immediate benefit of doing this extraction is that it is now trivial to do “run CI” locally. Not something I would usually do, but I can start up (for instance) a Fedora image and do all the things that Calamares CI would do, before pushing anything. It doesn’t need any of the cloudy stuff to run, and I can tweak things without leaving my own laptop.

The GitHub cloud-based CI is still there – it just runs these same scripts. And so in the time of three, maybe four years, Calamares CI has gone round one whole circle: from shell scripts run in Travis CI, to proprietary thingies, back to shell scripts run in GitHub CI.

To everything there is a season.

The Skrooge Team announces the release 2.31.0 version of its popular Personal Finances Manager based on KDE Frameworks.

Changelog

  • Correction bug 472392: Cannot import more than one ISO 20022 XML
  • Correction bug 472390: Importing ISO 20022 XML creates bogus accounts
  • Correction bug 474391: In Merge imported operations, prefer fields with values over blank fields
  • Correction bug 474759: The tool to align the category of operations with their payees' always fills in the category of the first payee it found
  • Correction bug 472061: AppData missing in 2.30.0 tarball
  • Correction bug 475037: Dashboard: the font in "Income & Expenditure" is too small and has a bad contrast
  • Correction bug: Failure in some cases in import qif

Sunday, 1 October 2023

Learning a language is, to me, about grinding. Continously exposing yourself.

Ich lerne Deutsch. Oder, ich versuche Deutsch zu lernen. 😉

I try to expose my self to the language via YouTube (thx Nils for the tip about 7 gegen Wild), but also news papers and just chatting with people. I’d say the biggest hurdle is that people find English easier than having me try to find and reorder the words, so practice at full speed is hard to find.

I guess I do the same for people trying to learn Swedish, and i really shouldn’t.

If you have tips for how to expose myself more to German – spoken or written – please drop a comment here or join the conversation at mastodon.

Saturday, 30 September 2023

The floodgates opened this week, and a lot of consequential in-progress work was merged: juicy new Plasma 6 features, long-awaited bugfixes, spicy automated testing, and more!!!

Plasma 6

General infoOpen issues: 94

The Overview and Desktop Grid effects have been merged together into one, with fluid and natural-feeling touchpad gestures to transition between all states. It’s really awesome work, and also fixed a ton of open bug reports! (Niccolò Venerandi, link):

In the Plasma Wayland session, there’s now a System Tray monitor that shows you when something is using the camera, just like we already have for screen recording and microphone usage (Fushan Wen, link 1 and link 2):

Floating panels now have nice shadows, and when they de-float, they no longer have ugly chunky margins! Additionally, when the panel is floating, any popups opened from it are floating too, with nice rounded corners on all sides. Oh, and with this blocking work done, we’ve made floating panels on by default! (Niccolò Venerandi, link 1, link 2, link 3, and link 4):

There’s now a new global shortcut (Meta+Alt+L by default) to switch between the current and last-used keyboard layout, which can be useful for people who have more than two layouts but commonly switch between two of them on a regular basis (Mihail Milev, link 1 and link 2)

Icons drawn by Kirigami.Icon–which in Plasma 6 is nearly all of them in KDE’s QML software–now look better and sharper when using a fractional scale factor (Marco Martin, link)

Fixed multiple focus issues in System Settings: it’s now possible to focus the sidebar again after focusing the main page, and also pressing the down arrow key in System Settings’ search field now moves focus to the list view, which is especially helpful after searching for something (Fushan Wen, link 1 and link 2)

Started improving the presentation of the permissions of Flatpak apps in Discover, including using better icons, more user-friendly text, and showing the “sound system access” permission, which we had previously been ignoring (me: Nate Graham, link 1, link 2, and link 3)

The setting to toggle “offline updates” no longer uses that confusing terminology anymore (me: Nate Graham, link):

The “About” pages in System Monitor and Filelight were both ported to the new Form Card style (Carl Schwan, link 1 and link 2)

For a cleaner and less confusing presentation, common shortcut-choosing views now hide the local-only columns when all shortcuts are global, just like we already hide the global-only columns when all shortcuts are local (me: Nate Graham, link)

Made some fixes to monitor handling that should decrease the likelihood of the monitor instantly waking up right after being put to sleep (Xaver Hugl, Plasma 6.0. Link)

When using the Plasma systemd integration (which is on by default when you have systemd), Plasma is now more comprehensive about killing processes when logging out, which should prevent crashes at logout and dangling zombie processes that can prevent logging in again. This might end up being backported, too! (David Edmundson, link)

When using a Panel on the bottom screen edge, Task Manager tooltips that include media controls are no longer sometimes positioned in the wrong place (David Edmundson, link)

Breeze-themed GTK2 apps no longer look wrong (well, not as wrong, at least) when using a dark theme (Someone going by the pseudonym “Mors Mortium”, link)

It’s now possible to remove a favorite from Kickoff and other launcher menus whose underlying app or file has since been deleted (Méven Car, link)

Page headers throughout Kirigami-based software will no longer sometimes elide titles when there’s plenty of room for them when using certain combinations of fonts and font sizes (Ivan Tkachenko, link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

It’s no longer possible for the lock screen to break and show the dreaded “the screen locker is broken” screen due to QML cache corruption as a result of running out of space on the system. To be clear, it can still break for other reasons too, but we are working on tracking those down as well! (Harald Sitter, Plasma 5.27.9. Link)

Fixed the actual root cause in KDE software for the “ever-growing ScreenMapping config file key causes Plasma to crash or fail to launch new apps” issue. And that fix also allowed us revert the stopgap fix to cap the number of mappings and fix icons being always unsorted when there was a huge amount of stuff on the desktop (Marco Martin, Plasma 5.27.9. Link)

Fixed multiple issues with Discover’s reviews popup, including being too slow and sometimes failing to load or submit reviews (Marco Martin, Plasma 5.27.9. Link 1, link 2, and link 3)

KMenuEdit once again correctly creates .desktop files with exec= keys that point to executable files that have spaces or other special characters in their file paths (Méven Car, Plasma 5.27.9. Link)

In KRunner and KRunner-powered searches, searching for recent files is once again correctly completely case-insensitive as expected (Alexander Lohnau, Plasma 5.27.9. Link)

Fixed a fairly complex issue that was causing Flatpak-based GNOME apps to display text without any anti-aliasing when run in Plasma (Timothée Ravier, Plasma 5.27.9. Link )

If a touchscreen calibration matrix has been configured, KWin now respects it (someone doing by the pseudonym “The Official GMan”, Plasma 5.27.9. Link)

It’s now possible to use the keyboard to focus buttons in the toolbars of KDE apps using the KXMLGui framework (Felix Ernst, Frameworks 5.111. Link)

Other bug-related information of interest:

Automation & Systematization

Added basic UI tests for the applets and System Settings pages that live in plasma-workspace! (Fushan Wen, link 1 and link 2)

Fixed various problematic autotests in the Kirigami and KSvg frameworks, and made it mandatory for them to pass before merge requests can be merged (Marco Martin, link 1 and link 2)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

Friday, 29 September 2023

KDE Plasma 6
KDE Plasma 6

I would like to welcome you to my revamped site. It is still a work in progress, so please be patient while I work out the kinks! I have also explained a bit more about myself in my About Me page for those that may have questions about my homesteader lifestyle. Check it out when you have time.

My site is mostly my adventures in packaging software in Linux in a variety of formats ( mostly Debian and Ubuntu Snaps containerized packages ). This keeps me very busy, as folks don’t realize the importance of packaging. Without it, applications remain in source code form which isn’t very usable by the users! While turning the source code into something user friendly we often run into issues and work with upstream ( I am a very strong believer in upstream first ) to resolve any issues. This makes for a better user experience and less buggy software. Workarounds are very hard to maintain and thus fixing it right the first time is the best path! With this said, while I am not strong in any one programming language ( Well maybe Ruby from my CI tooling background ) I am versed in many languages, as I have to understand the code that I am filing bug reports for! We have to have a strong knowledge of being able to understand build failures, debug runtime failures and most importantly we have to be able to fix them, or find the resources to assist in fixing them. As most of you know I am KDE’s biggest fan ( There is nothing wrong with Gnome, its a great platform ). So a big portion of my work is dedicated to KDE. A fantastic tool for working on my KDE packaging has been KDE Neon! With the developer version I have all the tools necessary to debug and fix issues that arise. There is also the added bonus of living on the edge and finding out runtime issues right away!

That is enough about me for now and on to my weekly round up!

KDE neon:

Carlos ( check out his new blog! https://www.ethicalconstruct.au/dotclear_blog/ ) and I have been very busy with another round of KDE applications making the move to Qt6. We have finished KDE PIM and KDE Games in Neon/unstable!

I have worked out issues with print-manager and re-enabled it in experimental as it’s qt6 development is still happening in kf6 branch. Instructions here: https://blog.neon.kde.org/2023/08/04/announcing-kde-neon-experimental/

Fixed issues with a broken kscreenlocker and missing window decorations. You can now safely leave your computer and not worry about that dreaded black screen.

Debian:

I have uploaded the newest squashfuse to unstable.

I have uploaded another NEW dependency for bubblegum golang-github-alecthomas-mango-kong-dev

Ubuntu Snaps:

This week continues working closely with Jarred Wilson of Canonical in getting his Qt6 content snap in shape for use with my KDE Frameworks 6 snap ( an essential snap to move forward with our next generation Qt6 applications and of course the Plasma snap.

I spent some time debugging the neochat snap and fixed some QML issues, but I am now facing issues with wayland. It now works fine for those of us still on X11. I will continue working out wayland.

Thank you!

I rely on donations to upkeep my everyday living and so far thanks to each and every one of you I have survived almost a full year! It has been scary from time to time, but I am surviving. Until my snap project goes through I must rely on the kindness of my supporters. The proceeds of my donations goes to the following:

  • Car payment
  • Car insurance
  • Land Payment
  • Gas for vehicles ( car for errands, truck to haul water )
  • Propane
  • Food
  • Phone / Internet ( Very important in this line of work! )
  • Pet Food ( Yes we have a few )
  • Misc everyday living supplies ( shampoo etc )

I have joined the kool kids and moved to Donorbox for donations.

Donate

I still have Gofundme for those that don’t want to signup for yetanotherdonationplatform.

https://gofund.me/b8b69e54

I just took the time to start porting the epic Mattemonster app to Godot 4.1, as Google thinks it is getting a bit too old.

You can tell that the Godot developers have done a stellar job. Up until now I’ve just fiddled with Godot 4, so I haven’t really done anything proper in it – until today.

The main porting task was to change to an object driven approach to signals, rather than the old string-based on. Great – because it catches so much more early on. The only tricky part here was that in order to pass along arguments with a signal I had to use the bind function. That was not really what the error message complained about :-)

Also, I had to re-add the translations into the project settings, and to handle some messages from the window manager differently (close and quit). I’m still not sure I got the latter right…

Now, all that is left is the UI styling, so I guess I know what I will be doing in the rain this evening…

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


I don’t want your data – Manu

Tags: tech, web, data, attention-economy

This is a good way to manage your website. I do the same regarding my blog, I don’t do any analytics etc.

https://manuelmoreale.com/i-don-t-want-your-data


Recent advances in computer science since 2010? - Theoretical Computer Science Stack Exchange

Tags: tech, science

Lots of good answers in there… It provodes plenty of rabbit holes to follow.

https://cstheory.stackexchange.com/questions/53343/recent-advances-in-computer-science-since-2010


GPU.zip

Tags: tech, browser, gpu, security, gpu

Interesting new side-channel attack. A bit mind boggling to be honest. Only one browser seems affected so far (since it’s Chrome probably most of its variants are affected as well).

https://www.hertzbleed.com/gpu.zip/


Platform that enables Windows driver development in Rust

Tags: tech, rust, microsoft, system

Another system where it becomes easier to make drivers in Rust.

https://github.com/microsoft/windows-drivers-rs


Dotfiles matter!

Tags: tech, settings, standard

Definitely this, use standard locations as much as possible. We can tame the mess of dotfiles in user homes.

https://dotfiles-matter.click/


Was Javascript really made in 10 days? • Buttondown

Tags: tech, javascript, history

Interesting light shed on Javascript early history.

https://buttondown.email/hillelwayne/archive/did-brendan-eich-really-make-javascript-in-10-days/


Python 3.12 Preview: Static Typing Improvements – Real Python

Tags: tech, python, type-systems

Nice improvements coming to the Python typing system. Especially interesting in the case of kwargs.

https://realpython.com/python312-typing/


Ditch That Else

Tags: tech, programming, craftsmanship

Since we often still see in the wild code with deep nesting due to edge cases handling, it looks like this advice is still very relevant.

https://preslav.me/2023/09/22/ditch-that-else/


Smooth Database Changes in Blue-Green Deployments · Django Beats

Tags: tech, django, databases

This is more manual work of course but too often forgotten. This way you get easier database migrations in complex environments though.

https://fly.io/django-beats/smooth-database-changes-in-blue-green-deployments/


Choose Postgres queue technology :: Adriano Caloiaro’s personal blog

Tags: tech, architecture, dependencies, complexity

Maybe you don’t need to pull even more dependencies. Think of the operational costs and the complexity.

https://adriano.fyi/posts/2023-09-24-choose-postgres-queue-technology/


Demystifying Database Transactions | Dinesh Gowda

Tags: tech, databases, postgresql, sql

Good primer about database transactions and the issues you might run with when using them.

https://dineshgowda.com/posts/demystifying-database-transcations/


GUIDs - How I messed up my RSS feed :: TheOrangeOne

Tags: tech, blog, rss

Interesting tidbit of the RSS standard. Probably worth putting such GUIDs early on.

https://theorangeone.net/posts/rss-guids/


Network health overview with mtr, ss, lsof and iperf3 | Medium

Tags: tech, tools, command-line, networking

Know your tools. Those are useful to check network uses.

https://raduzaharia.medium.com/network-health-overview-with-mtr-ss-lsof-and-iperf3-8d0d2d191781


Style with Stateful, Semantic Selectors | Ben Myers

Tags: tech, web, accessibility, frontend, css

This is an interesting use of the accessibility directive for better styling in web frontend code.

https://benmyers.dev/blog/semantic-selectors/


3x Explore, Expand, Extract • Kent Beck • YOW! 2018 - YouTube

Tags: tech, management, project-management, xp, agile

Lots of food for thought in here. I really appreciate how Kent Beck’s thinking keeps evolving. This Explore, Expand, Extract curve is indeed a good way to frame things. It is a good base to know what to put in place or not.

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


How Many Direct Reports Should a Manager Have? - The Engineering Manager

Tags: tech, management, tech-lead

This is indeed an interesting scale to keep in mind. Teams shouldn’t get too big, or too small.

https://www.theengineeringmanager.com/qa/how-many-direct-reports-should-a-manager-have/


What does a CTO actually do?

Tags: tech, career, cto, management

Ever wondered what the job of CTO encompasses? This article does a good job at it. It’s especially nice that it’s split based on company size. Indeed, the role can change dramatically depending on how big an organization is.

https://vadimkravcenko.com/shorts/what-cto-does/


How (not) to apply for a software job

Tags: hr, hiring, interviews

Plenty of sound advices for the written part of an application.

https://benhoyt.com/writings/how-to-apply/



Bye for now!