Fedora People

F37-20230414 updated Live isos released

Posted by Ben Williams on April 14, 2023 05:27 PM

The Fedora Respins SIG is pleased to announce the latest release of Updated F37-20230414-Live ISOs, carrying the 6.2.9-200 kernel.

This set of updated isos will save considerable amounts  of updates after install.  ((for new installs.)(New installs of Workstation have about 1.3GB of updates savings )).

A huge thank you goes out to irc nicks: dowdle,geraldosimiao, Southern_Gentlem for testing these iso.

This Set of Respins is the LAST Set for F37 becasue of the F38 being released nest week.

And as always our isos can be found at http://tinyurl.com/Live-respins2

Friday’s Fedora Facts: 2023-15

Posted by Fedora Community Blog on April 14, 2023 02:23 PM

Here’s your weekly Fedora report. Read what happened this week and what’s coming up. Your contributions are welcome (see the end of the post)!

Fedora Linux 38 will be released on Tuesday — the early target date!

I have weekly office hours most Wednesdays in the morning and afternoon (US/Eastern time). Drop by if you have any questions or comments about the schedule, Changes, elections, or anything else. See the upcoming meetings for more information.

Announcements

CfPs

<figure class="wp-block-table">
ConferenceLocationDateCfP
Pacific Northwest Software Quality ConferencePortland, OR, US and virtual9–11 Octcloses 16 Apr
Web Weekend KathmanduKathmandu, NP23–24 Sepcloses 21 Apr
DevRelCon LondonLondon, UK7–8 Sepcloses 21 Apr
Cincy DeliverCincinnati, OH, US28 Julcloses 30 Apr
ShipIt ConDublin, IE1 Sepcloses 1 May
Indy.Code()Indianapolis, IN, US10–11 Augcloses 30 Apr
FOSS Security CampusBerlin, DE26–29 Sepcloses 14 May
React NorwayLarvik, NO16 Juncloses 15 May
Write The Docs Atlanticvirtual10–12 Sepcloses 15 May
Front ConferenceZurich, CH31 Aug–1 Sepcloses 31 May
Inclusive Design 24virtual21 Sepcloses 4 Jun
RubyConf ThailandBangkok, TH6–7 Octcloses 4 Jun
NodeConf EUKilkenny, IE6–8 Novcloses 28 Jun
</figure>

Help wanted

Meetings & events

Releases

<figure class="wp-block-table">
Releaseopen bugs
F364478
F374093
F38 (pre-release)1224
Rawhide6986
</figure>

Prioritized Bugs

See the Prioritized Bugs documentation for information on the process, including how to nominate bugs.

<figure class="wp-block-table">
Bug IDComponentStatus
2015490initial-setupASSIGNED
</figure>

Fedora Linux 38

Schedule

Below are some upcoming schedule dates. See the schedule website for the full schedule.

  • 2023-04-18 — Final release early target date
  • 2023-04-19 — Election nominations begin

Fedora Linux 39

Changes

The table below lists proposed Changes. See the ChangeSet page or Bugzilla for information on approved Changes.

<figure class="wp-block-table">
ProposalTypeStatus
Changes of defaults in createrepo_c-1.0.0System-WideApproved
Register EC2 Cloud Images with uefi-preferred AMI flagSelf-ContainedApproved
RPM 4.19System-WideFESCo #2980
</figure>

Contributing

Have something you want included? You can file an issue or submit a pull request in the fedora-pgm/pgm_communication repo.

The post Friday’s Fedora Facts: 2023-15 appeared first on Fedora Community Blog.

CPE Weekly update – Week 15

Posted by Fedora Community Blog on April 14, 2023 10:00 AM

This is a weekly report from the CPE (Community Platform Engineering) Team. If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on libera.chat.

We provide you both infographics and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in depth details look below the infographic.

Week: 10 April – 14 April 2023

<figure class="wp-block-image size-full">Infographic</figure>

Highlights of the week

Infrastructure & Release Engineering

Goal of this Initiative

Purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
The ARC (which is a subset of the team) investigates possible initiatives that CPE might take on.
Docs

Update

Fedora Infra

  • Tried to revive virthost-cc-rdu03, but it’s dead. RIP.
  • Fixed some rsync issues on master mirrors
  • Blocked and deleted 163 spam projects/users in pagure.io

CentOS Infra including CentOS CI

  • Finalizing storage setup for CS10 (kojihub policy, multiple volumes, etc)
  • CI infra onboarding for dkirwan
  • Moved other machines to rhel9 (reinstalled from centos 7)
  • Debugging SHA-1 issue with gnupg2 for Stream 9 

Release Engineering

  • Bunch of F38 RC composes: 1.1, 1.2, 1.3, 1.4.
  • Docs updates for final freeze, and misc releng tasks

EPEL

Goal of this initiative

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

Updates

  • Backported fixes for CVE-2022-21716 and CVE-2022-24801 to python-twisted in EPEL 8
  • Investigated adding python-matplotlib to EPEL 9

FMN replacement

Goal of this initiative

FMN (Fedora-Messaging-Notification) is a web application allowing users to create filters on messages sent to (currently) fedmsg and forward these as notifications on to email or IRC.
The goal of the initiative is mainly to add fedora-messaging schemas, create a new UI for a better user experience and create a new service to triage incoming messages to reduce the current message delivery lag problem. Community will profit from speedier notifications based on own preferences (IRC, Matrix, Email), unified fedora project to one message service and human-readable results in Datagrepper.
Also, CPE tech debt will be significantly reduced by dropping the maintenance of fedmsg altogether.

Updates

  • Frontend UX improvements
  • More frontend testing
  • Polish and tying up loose ends (ongoing)
  • Plan going live and winding down the initiative (ongoing)

Community Design

Goal of this initiative

CPE has few members that are working as part of Community Design Team. This team is working on anything related to design in Fedora Community.

Updates

CPE Documentation

Goal of this initiative

We have one member of our team dedicated to Documentation. This initiative is providing help with building, formatting and migrating documentation in CPE Team and in Fedora community as well.

Updates

  • Focusing on Release Notes for F38

The post CPE Weekly update – Week 15 appeared first on Fedora Community Blog.

Use rpmautospec in Fedora Linux

Posted by Fedora Magazine on April 14, 2023 08:00 AM

Use the %autorelease and %autochangelog tags simplify package maintenance and make it easier to contribute packages to the Fedora Project. These rpmautospec tags cause no noticeable difference in the packages from the end user’s perspective. As of the Fedora Linux 38 release, package maintainers should use these new tags.

Information about package history

Every package in a distribution carries identifying information. For example, the latest version of Firefox is available as firefox-110.0-3.fc38.x86_64. This can be unpacked as:

  • a name (firefox),
  • a version (110.0),
  • a “release tag”, consisting of a packaging release version + a distribution marker + an architecture tag (3.fc38.x86_64).

In modern practice, the name and the version are supplied directly by the project upstream and unambiguously identify what was built. The release tag describes the downstream distro build (where, which distro, build count). This may sound natural, but in the past packagers would split parts of the upstream version into the release tag according to some rather complicated rules.

A package also contains useful information in its changelog.

Continuing with the Firefox example:

$ rpm -q --changelog firefox-110.0-3.fc38.x86_64 | head -n5
* Tue Feb 14 2023 Martin Stránský <stransky@redhat.com>- 110.0-3
- Updated to 110.0 build 3

* Mon Feb 13 2023 Martin Stránský <stransky@redhat.com>- 110.0-2
- Added fix for orca

The changelog is created by package maintainers. It describes changes to the package that are relevant to a user. New software versions, modified file paths, and important bugfixs are examples of things that would be mentioned in the changelog. Whitespace changes in packaging scripts and other cleanups are examples of things that would not be mentioned in the changelog. When things go well, users generally do not look at the changelog. However, the changelog is useful when a bug is found and people need to track down what changed, when, and why.

All this changelog information must be provided by the maintainer. When the maintainer builds a rpm package, they must provide this information in the appropriate fields of the package’s spec file.

For example, the firefox.spec might look like this:

Name: firefox
Version: 110.0
Release: 3%{dist}
...
%changelog
* Tue Feb 14 2023 Martin Stránský <stransky@redhat.com>- 110.0-3
- Updated to 110.0 build 3

* Mon Feb 13 2023 Martin Stránský <stransky@redhat.com>- 110.0-2
- Added fix for orca
...

This is the traditional way. Every time the maintainer makes a new build, they update the number in the Release field and add a corresponding entry in the %changelog section. For example, for the 110.0-3.fc38 build, Martin would have changed Release: 2%{dist} → Release: 3%{dist} and added the first paragraph under %changelog.

Packages in Fedora are maintained using git. This means that after making changes to the package, and adding some text to the changelog, the maintainer would also write a description of the changes in the git commit message. Often this is exactly the same text as the changelog. For example, for the 110.0-3.fc38 build, Martin wrote “Updated to latest 110.0 upstream build” in the git commit message. It should be noted that every commit in git also contains a name, the email address of the author, and a timestamp for the change. If this sounds a bit repetitive, that’s because it is. Thankfully, some of this can now be automated.

rpmautospec

The rpmautospec method takes advantage of the fact that the spec file is maintained in a git repository:

Name: firefox
Version: 110.0
Release: %autorelease
...
%changelog
%autochangelog

The purpose of the Release field is to identify the distro build number for a specific upstream Version. The Release field should be set to %autorelease and never changed again. The %autorelease macro provides a count of commits since the last commit that changed the Version field. This is nifty. Every time the packager changes the spec file, they have to make a commit to “save” the changes and do a build and the number in %autorelease will be incremented. When the Version is changed, the autorelease number is reset to 1.

The purpose of the git commit message is to summarize changes to the contents of the repository. The purpose of the %changelog section is to summarize changes to the package. The %autochangelog macro takes a git commit message, the author name, and the commit timestamp, and formats them in a way that is suitable for the %changelog section.

If Martin were to do another build, let’s say with a patch added, he would adjust the spec file adding a Patch line, and create a commit with:

$ git commit -a -m 'Add patch to fix rhbz#1000002'

The %autorelease field would be automatically increased by one, and the %autochangelog text would now start with:

* Thu Mar 23 2023 Martin Stránský <stransky@redhat.com>- 110.0-4
- Add patch to fix rhbz#1000002

What are the effects of the new workflow?

It is easiest to consider the effect for the users: no change. %autorelease and %autochangelog get replaced by “real” content before the package is built, and the binary package downloaded by users looks exactly the same.

For the packager, there is less busywork. The Release field is constant and the git commit text is reused for the changelog. I’ve glossed over the details here, but the git commit text can contain parts which are not included in the changelog text. It can even have commits that are completely elided from the changelog.

This automation also makes some mistakes less likely. For example:

  • The maintainer makes changes, but forgets to bump Release, and the build fails because a previous build with the same version-release already exists.
  • The maintainer makes changes, but forgets to describe them in %changelog, and users don’t know what changed.
  • The maintainer makes a changelog entry, but writes Tue instead of Thu, and rpm complains about an invalid date.

On the other hand, the packager has to be more disciplined. The text in the git commit message ends up visible to users. So it must be formatted accordingly. Every commit in git bumps the number in the release tag. The changelog is now formatted in the same specific style in all packages. Arguably, those are not huge limitations, but some adjustment of packager habits is required.

Using rpmautospec has a positive effect for external contributors. In Fedora, anyone who wants to contribute a change to the package is encouraged to open a pull request.

Unfortunately, for changes that touch the spec file, with traditional Release and %changelog, we have a conundrum. If the contributor does not update those in their commit, the maintainer has to do this before the build, and effectively the contribution is incomplete. If the contributor does update those in their commit, and the pull request is not merged immediately, it is likely that by the time it is merged
the Release number will be out of date, the date in the %changelog will be in the past, and the spec file may even already have entries with later dates, and git will always show a merge conflict in the %changelog section.

With rpmautospec, all these problems go away. The release number is counted automatically. The date in the changelog is derived from the timestamp of when the patch was merged. And the changelog is generated from the stream of commits so there is no conflict to be had.

A specific variant of this contributor workflow occurs when the maintainer wants to copy (cherry-pick in git parlance) a commit to another branch. For example, because the important bugfix that was necessary in F38 also needs to be applied in F37, it is likely that, with rpmautospec, the commit can be applied without any changes to a different packaging branch.

Wrap-up

%autorelease and %autochangelog have been available for a while, but have now reached a level where they work nicely for common maintenance patterns and a great majority of packages; even if some some complicated corner cases are not yet supported. With Fedora 38, rpmautospec is now the recommended method. Hopefully, we will have happier maintainers and contributors with no negative changes noted by the users.

For more information, see: Changes/Rpmautospec_by_Default and Rpmautospec documentation. For an example package that uses rpmautospec, see python-sphinxcontrib-programoutput.

PHP version 8.1.18 and 8.2.5

Posted by Remi Collet on April 14, 2023 05:41 AM

RPMs of PHP version 8.2.5 are available in remi-modular repository for Fedora ≥ 36 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in remi-php82 repository for EL 7.

RPMs of PHP version 8.1.18 are available in remi-modular repository for Fedora ≥ 36 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in remi-php81 repository for EL 7.

emblem-notice-24.png The modules for EL-9 are available for x86_64 and aarch64.

emblem-notice-24.pngNo security fix this month, so no update for version 8.0.28.

emblem-important-2-24.pngPHP version 7.4 have reached its end of life and is no longer maintained by the PHP project.

These versions are also available as Software Collections in the remi-safe repository.

Version announcements:

emblem-notice-24.pngInstallation: use the Configuration Wizard and choose your version and installation mode.

Replacement of default PHP by version 8.2 installation (simplest):

dnf module reset php
dnf module enable php:remi-8.2
dnf update php\*

or, the old EL-7 way:

yum-config-manager --enable remi-php82
yum update

Parallel installation of version 8.2 as Software Collection

yum install php82

Replacement of default PHP by version 8.1 installation (simplest):

dnf module reset php
dnf module enable php:remi-8.1
dnf update php\*

or, the old EL-7 way:

yum-config-manager --enable remi-php81
yum update php\*

Parallel installation of version 8.1 as Software Collection

yum install php81

And soon in the official updates:

emblem-important-2-24.pngTo be noticed :

  • EL-9 RPMs are build using RHEL-9.1
  • EL-8 RPMs are build using RHEL-8.7
  • EL-7 RPMs are build using RHEL-7.9
  • intl extension now uses libicu71 (version 71.1)
  • mbstring extension (EL builds) now uses oniguruma5php (version 6.9.8, instead of the outdated system library)
  • oci8 extension now uses Oracle Client version 21.8
  • a lot of extensions are also available, see the PHP extensions RPM status (from PECL and other sources) page

emblem-notice-24.pngInformation:

Base packages (php)

Software Collections (php80 / php81 / php82)

Scripting DNS lookups

Posted by Gary Benson on April 12, 2023 01:18 PM

Are you writing a script and some command doesn’t accept hostnames and you don’t want to inline the IP address? dig +short is your friend!

$ dig +short gbenson.net
69.163.152.201

Fedora Websites 3.0 Release!

Posted by Fedora Community Blog on April 11, 2023 08:00 AM

It’s no secret that the Fedora Websites and Apps Team has been hard at work. For over a year, we have been overhauling Fedora’s website architecture, design, and content management. During this time, we’ve collaborated with the Fedora Design, Marketing , and Infrastructure teams. We’ve also worked with members of each official Edition’s team. It’s been a pleasure to build web pages that reflect the hard work of these teams while also showcasing the vibrancy of the Fedora community. Timed with the launch of Fedora Linux 38, the community also gets the new Fedora Websites 3.0 release.

Along with modernizing Fedora’s websites, we have sought to make it easier for non and new coders to contribute with a Git-based Content Management System (CMS) that features a simple GUI. The move to Nuxt 3 (a hybrid rendering VueJS framework) offers an exciting, modern, and reasonably-intuitive developer experience. It should be easy for anyone with basic HTML, CSS, and Javascript knowledge to pick up. We’ve also switched from Bootstrap to Tailwind CSS because it is lighter weight and easier to learn.

This launch is important. It’s the culmination of countless hours of work, learning, debate, creation, and growth by our team members. It’s also the culmination of lessons learned from the rich history of Fedora Linux’s past. Check out Máirín Duffy and Sayak Sarkar’s Nest With Fedora 2022 talk for more details. Other websites and applications will be able to take advantage of the technical and design foundations that we have established. With this launch, we are just getting started.

<figure class="wp-block-image size-large"><figcaption class="wp-element-caption">A screenshot from the new Get Fedora landing page</figcaption></figure>

 Objectives of this release

Our primary goal is to release web pages for all five Editions when Fedora Linux 38 lands. We believe this timing is most appropriate. The websites’ revamp has focused heavily on making the Fedora Project websites more accessible to new contributors. So what better time to get involved than with two exciting releases?

Two key features of this launch are the global navigation bar and the Git-based CMS Jamstack architecture. Our long-term plan is to make an exportable version of the navbar. That way, non-VueJS based sites can use the same nav system. Prior to this, we will optimize and enhance the navbar based on community usage and feedback. This will bring all of the Fedora Project’s websites into one easily navigable space. New contributors should find it easier to contribute using the GUI for content editing. In alignment with this goal, teams will be able to manage their page content more easily and with shorter wait times.  This will free up time for Fedora Websites and Apps developers and designers to work on other revamp efforts, all while expanding on the component library and design system that was born out of this exciting release. 

Feedback and follow up

Prior to the official release later this month, we are looking for feedback on usability, accessibility, and functionality. If you encounter problems such as illegibility due to color or dark mode, broken or incorrect links, or screen responsiveness issues, we would love to hear from you! Please open up a ticket in our Gitlab Repository. Note the web page and any particulars that you can (screen shots are very helpful), and we will follow up as quickly as we are able to.

We hope that you enjoy what we’ve done with these websites. Change always takes time, and there will still be tweaks and edits to come. As noted, these designs, the content, and the underlying architecture have gone through changes brought about by multiple stages of team and community review, and we are confident that this work reflects well on the community and identity of Fedora Project. 

However, this is only a beginning and we look forward to seeing what will come of future development from team members who have not yet joined in on the action! Be it from a design, content editing, or development perspective; the Fedora Websites and Apps Team is a welcoming place that aims to foster growth, creativity, and collaboration.

Shout outs

I would like to take this opportunity to thank the following people for their hard work.

Fedora Design Team

Thank you to Máirín Duffy, Emma Kidney, Madeline Peck, Jess Chitas, Ashlyn Knox, and Dawn Desmarais. Your work on the mockups, logo design, usability testing, and user experience (UX) prototyping has made all the difference. The passionate and inspired efforts from these folks led to incredible evolution of the Fedora Project’s visual brand. Your work has also established a design system that has made it possible to deploy cohesive pages quickly. Another thank-you goes out to the Fedora Design Team members who were involved in the discussions and hack sessions during the creation and review of these designs.

Fedora Web & Apps Team

Thank you to Niko Dunk, François Andrieu, Ashlyn Knox, Matt, Jefferson Oliviera, Gregory Lee Bartholomew, Sayak Sarkar, Deepesh Nair, and Onuralp Sezer. From the early stages where frameworks were tested and debated, to the +2000 commits that went into this effort. You put your minds and hands to the task of building the fabulous designs into existence. You have set the stage for an exciting new era of web development in Fedora Project.

User Testers

During the past year, we ran a series of user tests on different aspects of the revamp. Most notably the navigation system and the CMS interface. For their valuable feedback, time, and energy. We’d also like to also thank Hari Rana, Gregory Lee Bartholomew, Matthew Miller, Ben Cotton, François Andrieu, and everyone who participated during the test session at Nest With Fedora 2022. Your efforts helped us build a better website. You also helped us learn how to normalize user experience as part of Fedora’s web development workflow.

General Shoutouts

We’d also like to thank the members of the translation team who have been hard at work making these web pages accessible to people all over the world. Finally, we would also like to thank the Fedora Websites & Apps Community Initiative lead Akashdeep Dhar and our Mindshare representative, Onuralp Sezer. This team would not be here without the coordination, advocacy, mentorship, and leadership they have provided. 

What’s Next?

The Fedora Website and Apps team has already begun planning the next phase of our website revamp. Which includes exciting projects like revamping the Fedora Badges system. We will also be improving the codebase, making the exportable nav, writing documentation, migrating a component library, and reviewing feedback. There is plenty of exciting work to do. We enthusiastically welcome folks to the team who want to get in on the action. However, I think that I speak for everyone who has worked on this when I say that a little rest is due. We will be looking forward to seeing our work be enjoyed by you all.

Feel free to let us know what you think in the automatically generated discussions forum. If you run into any bugs in our site, please open up an issue. Or if you are interested in getting involved, check out our documentation, join us for one of our meetings, or jump into our Matrix chat at #websites:fedoraproject.org.

The post Fedora Websites 3.0 Release! appeared first on Fedora Community Blog.

Run an open source-powered virtual conference!

Posted by Máirín Duffy on April 10, 2023 05:16 PM

Three blue characters wearing cute beanie hats with different design tools on them (colored pencil, marker, paint brush.)

Yes, you really can run a virtual conference using only open source tools.

The Fedora Design Team discovered this first-hand hosting the very first Creative Freedom Summit in January, 2023. Using open source tools for running a virtual conference can be quite effective.

In this article, I’ll share with you some of the background of our conference, why using open source tools to run the conference itself was important to us, and the specific tools and configurations we use to make it all work! We’ll also talk about what worked really well, and what room remains for improvement at our next summit in 2024!

Creative Freedom Summit Background

The Creative Freedom Summit was an idea Marie Nordin came up with coming out of reviewing talk submissions for Flock, the annual Fedora users and contributors conference. For the last Flock in August 2022, she received a lot of talk submissions relating to design and creativity in open source – far more than we could possibly accept! With so many great ideas for open source design related talks out there, she wondered if there would be space for a separate open source creativity conference, focused on creatives who use open source tools to create their work.

Marie brought this idea to the Fedora Design Team in the fall of 2022 and we started planning the conference, which took place January 17- 19, 2023. Since it was our first time running a new conference like this, we decided to start out with invited speakers based on some of the talk submissions and our own personal network of open source creatives. Almost every speaker we invited ended up giving a talk, so we didn’t have room to accept submissions. This is something we will need to figure out next year, so we don’t have an open source CFP (Call for Papers) management tool for that to tell you about, yet!

Using Open Source for Open Source Conferences

Since the initial COVID pandemic lockdowns, Fedora’s Flock conference has been run virtually using Hopin, an online conference platform that isn’t open source but is friendly to open source tools. Fedora started using it some years ago and it definitely provides a professional conference feel, with a built-in sponsor booth / expo hall, tracks, hallway chat conversations, and moderation tools. Running the Creative Freedom Summit using Hopin was an option for us, because as a Fedora-sponsored event, we could get access to Fedora’s Hopin setup. Again, Hopin is not open source.

Now, as a long-term (~20 years) open source contributor, I can tell you that this kind of decision is always a tough one. If your conference is focused on open source, it feels a little strange to use a proprietary platform to host your open source conference. As the scale and complexity of our communities and events has grown, however, the ability to produce an integrated open source conference system has grown more challenging.

There is no right or wrong answer. You have to weigh a lot of things when making this decision:

  • budget
  • people power
  • infrastructure
  • technical capability
  • complexity / formality / culture of event

We didn’t have any budget for this event. We had a team of volunteers who could put some work hours into the event. We had the Fedora Matrix Server as a piece of supported infrastructure we could bring into the mix, as well as access to a hosted WordPress system we could use for the website. Myself and teammate Madeline Peck had the technical capability / experience running live, weekly Fedora Design Team video calls using PeerTube. We wanted the event to be a low-key, single-track, informal event, so we had some tolerance for glitches or rough edges as we proved it out. We also all had a lot of passion about trying an open source stack!

Now you know a little bit about what we weighed when making this decision for us, which might help when making your own decision for your event.

An Open Source Conference Stack: The Nitty-Gritty

Here is how the conference tech stack worked.

Overview

Live Components

  • Live Stream: We streamed the stage and the social events to a PeerTube channel. Conference attendees could watch the stream live from our PeerTube channel. PeerTube includes some privacy-minded analytics to track number of live stream viewers and post-event views.
  • Live Stage + Social Event Room: We had one live stage for speakers and hosts, using Jitsi. This ensured only those with permission to be on camera could do so. We had an additional Jitsi meeting room for social events which would allow anyone who wanted to participate in the social event to go on camera.
  • Backstage: We had a “Backstage” Matrix channel for the event to coordinate with speakers, hosts, and volunteers in one place while the event was going on.
  • Announcements and Q&A: We managed Q&A and the daily schedule for the conference via a shared Etherpad (which we later moved to Hackmd.io.)
  • Integrated and Centralized Conference Experience: Using Matrix’s Element client, we embedded the live stream video and an Etherpad into a public Matrix room for the conference. We used attendance in the channel to monitor overall conference attendance. We had live chat going throughout the conference and took questions from audience members both from the chat and the embedded Q&A Etherpad.
  • Conference Website: We had a beautifully-designed website created by Ryan Gorley hosted on WordPress which had the basic information and links for how to join the conference, the dates/times and schedule.

Post-Event Components

  • Post-Event Survey: We used the open source LimeSurvey system to send out a post-event survey to see how things went for attendees. Some of the data from that survey will be included in this article 🙂
  • Post-Event Video Editing and Captioning: We didn’t have a live captioning system for the conference, but as I was able, I typed live notes from talks into the channel which was greatly appreciated by attendees. Post-event, we used Kdenlive (one of the tools featured in talks at the event) to edit the videos and generate captions.
  • Event Recordings: PeerTube automagically posts live stream recordings to channels if you configure it to, which made having nearly instant recordings available for attendees to access for talks they may have missed.

Let’s talk about some of this in detail!

Live Stream: PeerTube

Screenshot showing the Creative Freedom Summit PeerTube channel, with the logo, a description of the event, and a set of video thumbnails

We used the LinuxRocks PeerTube platform generously hosted by LinuxRocks.online for the Creative Freedom Summit’s live stream. PeerTube is a free and open source decentralized video platform that is also part of the Fediverse.

One of the best features of PeerTube (that other platforms I am aware of don’t have) is that after your live stream ends, you get a near instant replay recording posted to your channel on PeerTube. This was a major advantage of the platform cited by users in our chatroom. If you had to miss a session you were really interested in while attending the Creative Freedom Summit, you could watch it within minutes of that talk’s end. It took no manual intervention, uploading, or coordination on the volunteer organizing team to make this happen: PeerTube automated it for us.

Here is how livestreaming with PeerTube works: You create a new live stream on your channel, and it gives you a livestreaming URL + a key to authorize streaming to the URL. This URL + key can be re-used over and over. As we configured it, as soon as a live stream ended, the recording would be posted to the channel we created the livestreaming URL in. copy/paste into Jitsi when you start the livestream. This means that you don’t have to generate a new URL+key per talk during the conference – the overhead of managing that for organizers would have been pretty inconvenient. Instead, you can just re-use the same URL+key. This meant we could have a common document shared with conference organizers (we each had different shifts hosting talks) with the single URL+key so anyone on the team with access to that document would be able to start the livestream.

How to generate the livestream URL+key in PeerTube

Here is how to generate the livestream URL+key in PeerTube, step-by-step:

1. Create Stream Video on PeerTube

Log into PeerTube, and click the “Publish” button in the upper right corner:

2. Click on the “Go live” tab (fourth from the left) and make sure the following settings are set:

  • Channel: (The channel name you want the livestream to publish on)
  • Privacy: Public
  • Radio buttons: Normal live

Then, click “Go Live” (don’t worry, you won’t really be going live quite yet, there is more data to fill in.)

3. Basic info (don’t click update yet)

First you’ll fill out the “Basic Info” tab, then we’ll do the “Advanced Settings” tab in the next step. You’ll be filling out the name of the live stream, a description of the live stream, adding tags, categories, license, etc. here. One thing to remember:

  • Make sure publish after transcoding checkbox is turned on!

This ensures once your livestream ends, the recording will automatically post to your channel.

4. Advanced Settings

This is where you can upload a “standby” image that shows up before the stream goes live, while everyone is watching the stream URL and waiting for things to start.

This is what we used for the Creative Freedom Summit:

5. Start Live Stream on PeerTube

Now you can hit the update button in the lower right corner. The stream will appear like this – it’s in a holding pattern until you start streaming from Jitsi:

6. Copy / Paste Live Stream URL for Jitsi

Final step in Peer tube… once you’ve got the livestream up, click on the “…” icon under the video and towards the right:

Select “Display live information.” You’ll get a dialog like this:

You need to copy both the Live RTMP URL as well as the Live stream key. You will combine them into one URL and then copy paste that into Jitsi.

So here’s examples from my test run of these two text blocks to copy:

Live RTMP Url:
rtmp://peertube.linuxrocks.online:1935/live

Live stream key:
8b940f96-c46d-46aa-81a0-701de3c43c8f

What you’ll need to paste into Jitsi is these two text blocks combined with a “/” between them, like so:

rtmp://peertube.linuxrocks.online:1935/live/8b940f96-c46d-46aa-81a0-701de3c43c8f

Live Stage + Social Event Room: Jitsi

We used the free and open source hosted Jitsi Meet video conferencing platform for our “live stage.” We created a Jitsi meeting room with a custom URL at https://meet.jit.si and only shared this URL with speakers and meeting organizers.

We configured the meeting to have a lobby (this is available in meeting settings once you join your newly-created meeting room) so speakers could join a few minutes before their talk was on  without fear of interrupting the talk before theirs. (Our host volunteers let them in when the talk before was done.) Another option is to add a password to the room. We got by just by having a lobby configured. It did seem, upon testing, that moderation status in the room isn’t persistent: if you are a moderator and leave the room, it appeared from our testing that you lose your moderator status and moderation settings such as the lobby setup. So I kept our Jitsi room open and active for the duration of the conference by leaving it open on my computer. (Your mileage may vary on this aspect!)

Jitsi has a built-in live streaming option, where you can post a URL to a video service and it will stream your video to that service. We had confidence in this solution, because it is what we used to host and livestream weekly Fedora Design Team meetings. For the Creative Freedom Summit, we connected our Jitsi Live Stage (for speakers and hosts) to a channel we set up on the Linux Rocks PeerTube.

Jitsi lets speakers share their screens to drive their own slides or live demos.

Live Streaming Jitsi to PeerTube

1. Join the meeting and click the “…” icon next to the red hangup button, at the bottom of the screen.

2. Select “Start live stream” from the menu that pops up.

3. Copy/paste the PeerTube URL+key text

4. Listen for your Jitsi Robot friend

A feminine voice will come on in a few seconds or so to tell you “Live streaming is on.” Once she sounds, smile! You’re live streaming 🙂

5. Stop the Live Stream

This will stop the PeerTube URL you set up from working. So you’ll have to repeat these steps again to start things back up.

Jitsi Tips

Managing Recordings via turning the Jitsi stream on and off

One of the things we learned during the conference was that it is better to turn the Jitsi stream off between talks, so you will have one raw recording file posted to PeerTube per talk. We were letting it run as long as it would the first day, so some recordings have multiple talks in the same video, which made using the instant replay function for folks trying to catch up a little bit harder. They needed to seek inside the video to find the talk of interest to watch, or wait for the edited version of the talk to be posted days or weeks later.

Preventing audio feedback

Another issue we figured out live during the event that never cropped up during our dry run tests was audio feedback loops. These were entirely my fault (sorry, to everyone who attended!) What happened is that I was setting up the Jitsi / PeerTube links and monitoring the streams as well as helping host and emcee the event. Even though I knew that once we went live I needed to mute any PeerTube browser tabs I had open, I either had more PeerTube tabs open than I thought and missed one, or the live stream would autostart in my Element client (which I had open to monitor the chat) and I didn’t have an easy way to mute Element. You’ll see in some of the speaker intros I made, I knew I had about 30 seconds before the audio feedback would start, so I gave very rushed/hurried intros!

I think there’s a couple simpler ways you could approach avoiding this situation:

  • If possible, make sure your host / emcee is not also the person setting up / monitoring the streams and chat. (Not always possible depending on how many volunteers you have at any given time.)
  • If possible, monitor the streams on one computer, and emcee from another. This way, you have one mute button to hit on the computer you’re using for monitoring, and it simplifies your hosting experience and the other.

This is something worth practicing and refining ahead of time.

Backstage: Element

A screenshot showing 3 chat room listings in Element: Creative Freedom Summit with a white logo, Creative Freedom Summit Backstage with a black logo, and Creative Freedom Summit Hosts with an orange logo

We set up a “Backstage” invite-only chat room a week or so before the conference started and invited all of our speakers to it. This helped us ensure a couple of things:

  • Our speakers were onboarded to Element/Matrix well before the event’s start and had the opportnuity to get help signing up if they had any issues (nobody did)
  • We started a live communication channel across all speakers in advance enough of the event that we could send announcements / updates pretty easily.

The channel served as a very nice place for the duration of the event to coordinate and help handle transitions between speakers, give heads up about whether or not the schedule was running late, and in one instance quickly reschedule a talk when one of our speakers had an emergency and couldn’t make the original scheduled time.

We also set up a room for hosts, but in our case it ended up being extraneous: we just used the backstage channel to coordinate. We found 2 channels was easy to monitor but three was just too much to be convenient.

Announcements and Q&A: Etherpad / Hackmd.io

Screenshot of an etherpad titled "General information" that has some info about the Creative Freedom Summit

We set up a pinned widget in our main Element channel that had some general information about the event, including the daily schedule, code of conduct, etc. We also had a section per talk of the day for attendees to drop questions for Q&A, which the host present in Jitsi with the speaker live read out loud for the speaker.

We found over the first day or two that some attendees were having issues with the Etherpad widget not loading, so we switched to an embedded hackmd.io document pinned to the channel as a widget, and that seemed to work a little better. We’re not 100% sure what was going on with the widget loading issues, but we were able to post a link to the raw (non-embedded) link as well in the channel topic so folks were able to get around any issues accessing it via the widget.

Integrated and Centralized Conference Experience

A video feed is in the upper left corner; a hackmd.io announcement page in the upper right, and an active chat below.

Matrix via Fedora’s Element server was the key single place to go to attend conference. Matrix chat rooms in Element have a widget system that allows you to embed websites into the chat room as part of the experience, and that functionality was important for having our Matrix chat room serve as the central place to attend.

We embedded the PeerTube livestream right into the channel – you can see it in the screenshot above in the upper left. Once the conference was over, we were able to share a playlist of the unedited video replays playlist, and now that our volunteer project for editing the videos is complete, the channel instead has the playlist of edited talks in order.

As discussed in the previous section, we embedded a hackmd.io note in the upper right corner, and used that to post the day’s schedule, post announcements, and also had an area for Q&A right in the pad. I really had wanted to set up a Matrix bot to handle Q&A, but I struggled to get one up and running. This might make for a cool project for next year, though. 🙂

Chat during the conference occured right in the main chat under these widgets.

There are a couple considerations to make when using a Matrix / Element chat room as the central place for an online conference such as this:

  • The optimal experience is going to be in the Element desktop client or in a web browser on a desktop system. While you can view the widgets in the Element mobile client (although some attendees struggled to discover this, the UI is less-than-obvious), it is the most convenient to use Element on a desktop. Other Matrix clients may not be able to view the widgets.
  • Attendees can easily DIY their own experience piecemeal if desired. For users not using the Element client to attend the conference, they reported not having any issues joining in on the chat and viewing the PeerTube livestream URL directly. We shared the livestream URL and the hackmd URL in the channel topic, which made this accessible to folks who preferred to not run Element.

Website

Screenshot showing the top of creativefreedomsummit.com, with the headline "Create. Learn. Connect." against a blue and purple gradient background.

Ryan Gorley developed the Creative Freedom Summit website using WordPress. It is hosted by WPengine and is a one-pager that includes the conference schedule embedded from sched.org.

Post-event

Post-event survey

We used the open source survey tool LimeSurvey and sent it out within a week or two to attendees via the Element Chat channel as well as via our PeerTube video channel to learn more about how we did handling the event. The organizers of the event continue to meet post-event on a regular basis and one of the things we focused on those post-event meetings was developing the questions for the survey in a shared hackmd.io document. Some of the things we learned from the event that might be of interest to you in planning your own open source powered online conference:

  • By far, most event attendees learned about the event from Mastodon and Twitter (together covering 70% of respondents.)
  • 33% of attendees used the Element desktop app to attend, and 30% of attendees used the Element Chat web app. So roughly 63% of attendees used the integrated Matrix / Element experience, and the rest watched directly on PeerTube or watched replays after.
  • 35% of attendees indicated they  made connections with other creatives at the event via the chat, so the chat experience is pretty important to events if part of your goal is enabling networking and connections.

Captioning

During the event, we received very positive feedback from attendees who particularly appreciated when some of the talks were live captioned by another attendee in the chat and wished out loud for live captioning for better accessibility. While the stack we’ve outlined here did not include live captioning, there are open source solutions for this. One such tool is called Live Captions and was covered by Seth Kenlon in an opensource.com article “Open source video captioning on Linux.”  While this tool is meant for the attendee consuming the video content locally, we could potentially have a host for the conference running this tool and sharing it to the livestream in Jitsi, perhaps via the use of the open source broadcasting tool OBS so everyone watching the live stream could benefit from the captions.

In editing the videos post-event, however, we also discovered a tool built into Kdenlive, our open source video editor of choice, that generates and automatically places subtitles in the videos. There are some basic instructions on how to do this in the Kdenlive manual, but Fedora Design Team member Kyle Conway who helped with the post-event video editing put together a comprehensive tutorial (including video instruction) on how to automatically generate and add subtitles to videos in Kdenlive, and it is well worth the read and watch if you are interested in this feature.

Video editing volunteer effort

As soon as the event was over. we rallied a group of volunteers from the conference Element channel to work together on editing the videos down, including title cards and intro/outro music and general cleanup. (Some of our automatic replay recordings were split across two files or combined in one file with multiple other talks and needed to be reassembled or cropped down.)

We used a GitLab epic to organize the work, with an FAQ and call for volunteer help organized by skillset, with issues attached for each video needed. We had a series of custom labels we would set on each video so it was clear what state the video was in and what kind of help was needed. All of the videos at this point have been edited; some need descriptions written for their description area on the Creative Freedom Summit channel, and many have the auto-generated subtitles that have not been edited for spelling mistakes and other corrections that are typically needed from auto-generated text.

Screenshot of the list of videos needing editing help in GitLab

The way we handled passing the videos around – since the files could be quite large – is that we had volunteers download the raw video from the unedited recording on the main PeerTube channel for the Creative Freedom Summit. When they had an edited video ready to share, we had a private PeerTube account they could upload the edited videos to, and admins with access to the main channel’s account periodically grabbed videos from the private account and uploaded them into the main account. Note that PeerTube doesn’t have a system where multiple accounts have access to the same channel, so we had to engage in a bit of password sharing which can be a bit nerve-wracking, so we felt this was a reasonable compromise to limit how many people had the main password but still enable volunteers to be able to submit edited videos without too much hassle.

Ready to give it a try?

I hope this comprehensive description of how we ran the Creative Freedom Summit conference using an open source stack of tools inspires you to try it for your open source conference. Let us know how it goes and feel free to reach out if you have questions or suggestions for improvement! Our channel is at:
https://matrix.to/#/#creativefreedom:fedora.im

Episode 370 – Open Source is bigger than you can imagine

Posted by Josh Bressers on April 10, 2023 12:00 AM

Josh and Kurt talk about some data on the size of NPM. Josh wrote a blog post and a report about the amount of SEO spam in NPM was released. Open source is enormous, and it’s mostly one person. It’s hard to imagine how this all works sometimes and this lack of understanding can create challenges.

<audio class="wp-audio-shortcode" controls="controls" id="audio-3094-1" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_370_Open_Source_is_bigger_than_you_can_imagine.mp3?_=1" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_370_Open_Source_is_bigger_than_you_can_imagine.mp3</audio>

Show Notes

GNOME extension Screen Autorotate available

Posted by Luya Tshimbalanga on April 09, 2023 08:40 PM

 While waiting for a bug fix affecting majority of 2-in-1 laptops running on GNOME Wayland session, gnome-shell-extension-screen-autorotate is now available in Fedora repository and EPEL 9. Give a try on your device Possibly this extension will get added on the incoming Fedora Design Suite 39 as default for the owners of convertible laptops.




More cli fun

Posted by Yuan Yijun on April 07, 2023 04:22 PM

When Secure Boot is enabled, the "akmods-nvidia" package will build and install kmod-nvidia that is not usable right away. Previously I followed some documents to run a cli script to "sign the modules" but it stopped working recently.

  1. On JY's machine running F38, the script I copied from the old computer only signs .ko files. But the newly installed system creates .xz file. The modules must be extracted before signing, and there is "unxz" and "xz" to do it in place.
  2. Then when searching for how others do it nowadays, I got to know that akmods-nvidia can sign the package while building the modules. It is also very simple if one follows the Fedora 36+ document
  3. I tried to place the previously created keys to the folder /etc/pki/akmods since they were already enrolled. It did not work. Maybe it missed some fields. Didn't check, just recreated them. Now the new key worked flawlessly!

Next I tried to turn on Secure Boot on the machine running Fedora Silverblue. It didn't work, because the environment that akmods-nvidia runs its build does NOT have access to the same /etc/pki/akmods folder.

The same link however gives the solution: akmods-nvidia will see the files, if they are installed as an override (local package.) And the local package is kind of easy to build. The only problem is that only the root user has read access to the files, while the root user does not have a good rpmbuild environment. Keeping the private key file in multiple locations (in every tree, in the RPM) is not very secure.

Friday’s Fedora Facts: 2023-14

Posted by Fedora Community Blog on April 07, 2023 03:28 PM

Here’s your weekly Fedora report. Read what happened this week and what’s coming up. Your contributions are welcome (see the end of the post)!

I have weekly office hours most Wednesdays in the morning and afternoon (US/Eastern time). Drop by if you have any questions or comments about the schedule, Changes, elections, or anything else. See the upcoming meetings for more information.

Announcements

CfPs

<figure class="wp-block-table">
ConferenceLocationDateCfP
openSUSE Conference 2023Nürnberg, DE26–28 Maycloses 9 Apr
TechBashMount Pocono, PA, US7–10 Novcloses 11 Apr
Pacific Northwest Software Quality ConferencePortland, OR, US and virtual9–11 Octcloses 16 Apr
Web Weekend KathmanduKathmandu, NP23–24 Sepcloses 21 Apr
DevRelCon LondonLondon, UK7–8 Sepcloses 21 Apr
Cincy DeliverCincinnati, OH, US28 Julcloses 30 Apr
ShipIt ConDublin, IE1 Sepcloses 1 May
Indy.Code()Indianapolis, IN, US10–11 Augcloses 30 Apr
FOSS Security CampusBerlin, DE26–29 Sepcloses 14 May
React NorwayLarvik, NO16 Juncloses 15 May
Write The Docs Atlanticvirtual10–12 Sepcloses 15 May
Front ConferenceZurich, CH31 Aug–1 Sepcloses 31 May
Inclusive Design 24virtual21 Sepcloses 4 Jun
RubyConf ThailandBangkok, TH6–7 Octcloses 4 Jun
NodeConf EUKilkenny, IE6–8 Novcloses 28 Jun
</figure>

Help wanted

Meetings & events

Releases

<figure class="wp-block-table">
Releaseopen bugs
F364485
F374016
F38 (pre-release)1188
Rawhide6945
</figure>

Prioritized Bugs

See the Prioritized Bugs documentation for information on the process, including how to nominate bugs.

<figure class="wp-block-table">
Bug IDComponentStatus
2015490initial-setupASSIGNED
</figure>

Fedora Linux 38

Blockers

<figure class="wp-block-table">
BugComponentStatusBlocker status
2113005shimNEWAccepted (Final)
2185122fedora-releaseMODIFIEDProposed (Final)
</figure>

Schedule

Below are some upcoming schedule dates. See the schedule website for the full schedule.

  • 2023-04-18 — Final release early target date

Changes

The table below lists Changes status. See the ChangeSet page or Bugzilla for more information.

<figure class="wp-block-table">
StatusCount
ASSIGNED1
MODIFIED1
ON_QA46
CLOSED2
</figure>

Fedora Linux 39

Changes

The table below lists proposed Changes. See the ChangeSet page or Bugzilla for information on approved Changes.

<figure class="wp-block-table">
ProposalTypeStatus
SPDX License Phase 2System-WideApproved
EC2 AMIs default to the gp3 EBS volume typeSelf-ContainedApproved
Register EC2 Cloud Images with IMDSv2-only AMI flagSelf-ContainedApproved
Changes of defaults in createrepo_c-1.0.0System-WideFESCo #2976
Register EC2 Cloud Images with uefi-preferred AMI flagSelf-ContainedFESCo #2978
RPM 4.19System-WideFESCo #2980
</figure>

Contributing

Have something you want included? You can file an issue or submit a pull request in the fedora-pgm/pgm_communication repo.

The post Friday’s Fedora Facts: 2023-14 appeared first on Fedora Community Blog.

40 years of the first email to Sweden

Posted by Kushal Das on April 07, 2023 02:49 PM

40 years ago today, at 14:02 on 1983/04/07 (7th April), Björn Eriksen received the first ever email in Sweden. It was from Jim McKie of European Unix Network (EUnet) in Amsterdam. Björn had a VAX 780 running BSD. The following is the actual email:

SWE_Mail
Return-Path:
Date: Thu, 7 Apr 83 14:02:08 MET DST
From: mcvax!jim (Jim McKie)
To: enea!ber
Subject: Hello

You are now hooked to the mcvax. This is just a test.
Reply, we will be calling you again soon!

Ignore any references to a machine called "yoorp", it
is just a test. Mail should go to mcvax!….".

Regards, Jim McKie. (mcvax!jim).

This email was transmitted over using UUCP. After a few years, in 1986, Björn registered .se TLD.

I was not even born, when this email was received :)

Council policy proposal: equalize “auxiliary” positions

Posted by Fedora Community Blog on April 06, 2023 04:08 PM

At our hackfest earlier this year, the Council agreed that we want to drop the distinction between full and auxiliary positions on the Council. Instead, we should have all members on an equal footing. The concerns expressed by some on the former Fedora Board (the predecessor to the Council) haven’t come to pass. But we have seen a negative impact: people in these roles feel less empowered to act, and unsure about their standing as a “real” member of the Council.

I propose to remove this distinction. Please discuss this in the Fedora Discussion topic. The Council will begin voting on this proposal on 21 April.

The post Council policy proposal: equalize “auxiliary” positions appeared first on Fedora Community Blog.

Community Blog monthly summary: March 2023

Posted by Fedora Community Blog on April 06, 2023 08:00 AM

This is the latest in our monthly series summarizing the past month on the Community Blog. Please leave a comment below to let us know what you think.

Stats

In March, we published 16 posts. The site had 5,730 visits from 3,836 unique viewers. 2,307 visits came from search engines, while 43 came from Fedora Discussion and 38 came from Fedora Planet.

The most read post last month was “Fedora Linux 38 development schedule” with 1,386 views. The most read post published last month was “How to rebase to Fedora Silverblue 38 Beta” with 338 views.

Badges

Your content here!

The Community Blog is the place to publish community-facing updates on what you’re working on in Fedora. The process is easy, so submit early and submit often.

The post Community Blog monthly summary: March 2023 appeared first on Fedora Community Blog.

Cockpit 289

Posted by Cockpit Project on April 06, 2023 12:00 AM

Cockpit is the modern Linux admin interface. We release regularly.

Here are the release notes from Cockpit 289, cockpit-machines 287, and cockpit-podman 66:

Metrics: Indicate high usage and use colorblind-friendly colors

Graphs on the metrics page indicate high usage by using a darker variant of the color. Additionaly, colors have been adjusted to use a colorblind-optimized subset of PatternFly chart colors.

228601347-df99586b-3c21-467f-a74d-1c0f020c2afc

Accounts: Improve password validation

When creating an account, password validation actively performs a check on every keystroke, once the same numbers of character have been met. Additionally, weak passwords are now shown with a warning to discourage usage, but can still be overridden in most cases.

Screenshot from 2023-04-05 12-41-47

Machines: Show an alert when virtualization is disabled in BIOS/EFI

Cockpit-Machines displays a full-page alert when virtualization is disabled in the BIOS/EFI settings, preventing potential issues when running a VM.

screenshot of show an alert when virtualization is disabled in bios/efi

Thanks to Subho Ghosh for this contribution!

Podman: Custom healthcheck actions

When health checks fail, Cockpit-Podman can now optionally restart, stop, or force stop a container. This feature requires Podman 4.3 or higher.

screenshot of custom healthcheck actions

Podman: Container list can be sorted

Cockpit-Podman’s container list now supports sorting by name, owner, CPU, memory, and state.

screenshot of container list can be sorted

Try it out

Cockpit 289, cockpit-machines 287, and cockpit-podman 66 are available now:

آموزش نصب و پیکربندی Cilium در Kubernetes – بخش ۵

Posted by Fedora fans on April 05, 2023 01:16 PM
cilium-kubernetes-ebpf

cilium-kubernetes-ebpf

در بخش پنجم از سلسه مطلب «آموزش نصب و پیکربندی Cilium در Kubernetes» ، قصد داریم تا در مورد L3/L4 Policy صحبت کنیم.

اعمال L3/L4 Policy:

هنگام استفاده از Cilium، آدرس های endpoint IP هنگام تعریف سیاست های امنیتی (security policies) بی ربط هستند. در عوض، می‌توانید از برچسب‌های (labels) اختصاص داده شده به pod ها برای تعریف سیاست‌های امنیتی استفاده کنید. این سیاست ها بر اساس برچسب‌ها (labels)، صرف نظر از اینکه کجا یا چه زمانی در داخل کلاستر اجرا می‌شود، روی pod های مناسب اعمال می‌شوند.

ما با سیاست پایه ای (basic policy) شروع می‌کنیم که درخواست‌های فرود deathstar را فقط به فضاپیماهایی که دارای برچسب (org=empire) هستند محدود می‌کند. این به هیچ یک از فضاپیماهایی که برچسب org=empire را ندارند اجازه نمی‌دهد حتی با سرویس deathstar ارتباط برقرار کنند. این یک سیاست ساده (simple policy) است که فقط روی پروتکل IP (لایه 3 شبکه) و پروتکل TCP (لایه 4 شبکه) فیلتر می شود، بنابراین اغلب به عنوان یک سیاست امنیتی شبکه L3/L4 نامیده می شود (L3/L4 network security policy).

نکته: Cilium در واقع stateful connection tracking را انجام می‌دهد، به این معنی که اگر policy به frontend اجازه دسترسی به backend را بدهد، به‌طور خودکار به تمام بسته‌های پاسخ مورد نیاز که بخشی از پاسخ‌دهی backend به frontend هستند در چارچوب همان اتصال TCP/UDP اجازه می‌دهد.

L4 Policy با Cilium و Kubernetes:

cilium_http_l3_l4_gsg

با استفاده از CiliumNetworkPolicy زیر می توانیم اینکار را انجام دهیم:

apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: "rule1"
spec:
  description: "L3-L4 policy to restrict deathstar access to empire ships only"
  endpointSelector:
    matchLabels:
      org: empire
      class: deathstar
  ingress:
  - fromEndpoints:
    - matchLabels:
        org: empire
    toPorts:
    - ports:
      - port: "80"
        protocol: TCP

CiliumNetworkPolicies با استفاده از “endpointSelector” برای شناسایی sources و destination هایی که این policy برای آنها اعمال می‌شود که با label های pod مطابقت دارند. Policy بالا، ترافیک ارسال شده از هر pod دارای برچسب (org=empire) به pod های deathstar با برچسب (org=empire، class=deathstar) را در پورت TCP 80 در whitelists قرار می دهد.

برای apply کردن این L3/L4 policy می توان دستور زیر را اجرا کرد:

kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.12/examples/minikube/sw_l3_l4_policy.yaml

حال اگر درخواست های فرود را دوباره اجرا کنیم، فقط pod های tiefighter با برچسب org=empire موفق خواهند شد. Pod های xwing مسدود خواهند شد!

kubectl exec tiefighter -- curl -s -XPOST deathstar.default.svc.cluster.local/v1/request-landing

این همانطور که انتظار می رود کار می کند. اکنون همان درخواست اجرا شده از یک پاد xwing ناموفق خواهد بود:

kubectl exec xwing -- curl -s -XPOST deathstar.default.svc.cluster.local/v1/request-landing

این درخواست hang می کند، بنابراین جهت kill کردن curl کلیدهای Control-C را فشار دهید، یا منتظر بمانید تا time out شود. یک نمونه خروجی از اجرای دستورهای گفته شده را در تصویر پایین مشاهده می کنید:

cilium-policy-output

Inspecting the Policy

اگر cilium endpoint list را دوباره اجرا کنیم، می‌بینیم که pod های دارای برچسب org=empire و class=deathstar اکنون طبق policy بالا، ingress policy enforcement را فعال کرده‌اند:

kubectl -n kube-system exec cilium-rwmwr -- cilium endpoint list

یک نمونه خروجی از اجرای دستور گفته شده را در تصویر پایین مشاهده می کنید:

endpoint-list

شما همچنین می توانید جزئیات policy را از طریق kubectl بررسی کنید:

kubectl get cnp
kubectl describe cnp rule1

یک نمونه خروجی از اجرای دستور گفته شده را در تصویر پایین مشاهده می کنید:

cilium-cnpادامه دارد …

The post آموزش نصب و پیکربندی Cilium در Kubernetes – بخش ۵ first appeared on طرفداران فدورا.

Upgrade of Copr servers

Posted by Fedora Infrastructure Status on April 05, 2023 12:00 PM

We're updating copr packages to the new versions which will bring new features and bugfixes.

This outage impacts the copr-frontend and the copr-backend.

pagure.io outage

Posted by Fedora Infrastructure Status on April 04, 2023 06:40 PM

https://pagure.io is currently down. There were some issues causing email loops of comments that are being investigated.

Update: Pagure services restarted.

Learning syslog-ng: a table of contents for my tutorial series

Posted by Peter Czanik on April 04, 2023 12:51 PM

Last year, one of the returning questions I received was how to learn syslog-ng. My answer was that read the first few chapters of the documentation, read my blogs related to your use case, and then read a few relevant parts from the rest of the documentation. Our documentation is praised by users, but it is still a reference documentation. I was asked if a less detailed, more to the point, preferably video tutorial is available.

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

Your request was heard. In the past couple of months, I published a tutorial series in blog and video format, which brings you from basic logging concepts to using syslog-ng to collect, parse, enrich log messages and store them to Elasticsearch. Of course, these 5-10 minute videos are not enough to learn anything in depth, but they introduce you to all major syslog-ng functionalities.

Even if you are a seasoned syslog-ng user, there is a good chance that you will learn something new from this introductory tutorial series: the “if” statement, in-line configuration elements, the inlist() filter or the JSON template function, just to name a few.

If you have roughly 1.5 hours, then I recommend going through all the videos from the beginning to the end. You can reach the play list on YouTube at: https://www.youtube.com/playlist?list=PLoBNbOHNb0i5Pags2JY6-6wH2noLaSiTb

If you would rather pick only a few topics from the tutorial series, here is a table of contents, with short summaries, pointers to the blog and video versions and the related parts from the documentation. Unfortunately, the documentation for the latest version is not available yet, pointers are included to the web version of the syslog-ng version 3.37 documentation.

Of course, once you read/watched my syslog-ng tutorials, reading the blogs and relevant parts of the documentation is still highly recommended.

Introduction

The introduction gives you an overview of the tutorial series and defines what syslog-ng is.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/CVxeYE5t9iE" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Basic concepts

In this part, we cover some of the basic concepts behind syslog-ng. We talk about why central log collection is important, and then discuss the four major roles of syslog-ng: log collection, processing, filtering and finally storage. We conclude this part with a short introduction to various message formats.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/unXX69XUtnE" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Syslog-ng editions, and where to get them from

In this part we cover the various syslog-ng editions (open source, commercial and appliance), and where to get them from. The focus of this tutorial series is the Open Source Edition (OSE), but to avoid confusion, I also briefly introduce the other two.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/_BXp4Y5PNKk" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Configuration and testing

This is the first practical part of the tutorial series. It introduces you to the syslog-ng configuration, shows you how to stop and start syslog-ng, and how to send a test message.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/nd4rpeW2e_Y" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Sources

In this part we learn about syslog-ng source definitions and how to check the syslog-ng version and its enabled features. The tutorial shows you the source syntax and lists some of the more popular source drivers. The documentation lists all the sources and all their parameters.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/6P9PIrKYRKE" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Destinations and log path

In this part we learn about syslog-ng destinations and the log path. At the end of the session, we will also perform a quick syntax check. As usual, the tutorial shows you the destination and log path syntax and lists some of the more popular destination drivers. The documentation lists all the destinations and all their parameters. The part about the log path also includes many concepts that we only talk about in later parts of the tutorial.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/mqIQqeSm4W4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Networking

In this part we learn about syslog-ng network logging, and why relays are important in a logging infrastructure. At the end of the session, we will send test messages to a syslog-ng network source.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/Tp6bnUx7uH4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Macros and templates

In this part we learn about syslog-ng macros and templates. At the end of the session, we will know how to do a simple log rotation using macros.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/Dfktsh7C5fU" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Filters

In this part we learn about syslog-ng filters. At the end of the session, we will see a more complex filter using an “if” statement and a template function.

Parsing

In this part we learn about message parsing using syslog-ng. We only scratch the surface, so reading the documentation is recommended, especially if you want to try PatternDB.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/xZwYqUrvdqw" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Enriching log messages

In this part we learn about enriching log messages. Enriching in this case means that you can create additional name-value pairs based on message content. There are several ways how you can enrich log messages using syslog-ng.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/tFHyvLgiSyI" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Elasticsearch (and Opensearch, Zinc, Humio, etc.)

In this part we learn about how to send log messages to Elasticsearch. Note that while I keep referring to the driver as “Elasticsearch destination”, you can use it with several other software utilizing the Elasticsearch API, such as Opensearch, Zinc, Humio and probably more. This part shows you not only how to send log messages to Elasticsearch, but also combines many of the previously learned syslog-ng features into a single configuration.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/44rFCmSdb6M" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Updating syslog-ng, syslog-ng 4

In this part we learn about updating syslog-ng, and some of the new features of syslog-ng 4.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/205eMGS51XU" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

FMN Replacement Blog – March

Posted by Fedora Community Blog on April 04, 2023 08:00 AM

It’s been about two months since our last blog post was out. The team wants to give everyone an update on our progress and let you know that we are nearly at the finish line!

So where did we leave off?

WAAAAAY back in early September 2022, we sent out an email to the community to lay out the reasons for replacing Fedora Messaging Notifications (FMN). At the time of writing the last blog post, we had deployed our code to the staging environment and were in the process of bug hunting. Some of our feature sets had been finished, like users receiving message notifications via IRC, but most were still in a “in progress” state. We were quietly optimistic about delivering the finished project on time.

Where are we now?

In the last two months, we’ve deployed to the production environment, had our infrastructure team look for any bugs and file new tickets, and completed the work on our outstanding feature sets.

Lets take a look at each of the feature sets

  • Performance Optimization: This was really one of the main issues with the “old” FMN, users were not receiving their notifications in a timely manner, even up to a week later. The team have made fixing and improving this the top priority of the “new” FMN.
  • Users receiving their notifications via email, matrix, and IRC: As the last quarter flew along, each of the ways users prefer to receive their notifications have been incorporated into the “new” FMN.
  • Updating schemas to be inline with FMN requirements: Each application’s message schema needed to be updated to comply with the new FMN requirements.

What’s next?

We recently met to discuss final items in the backlog, and what we need to get to the end line. We agreed that two weeks would be sufficient time to complete all items and release this to a worldwide audience. After this release, we will put a call out for external testers. Find bugs, find issues, and file tickets to help us make this as robust an application as possible. With that in mind, we haven’t yet set the “old” FMN sunset date. Once we releaes the “new” FMN into the wild, please use that version.

The post FMN Replacement Blog – March appeared first on Fedora Community Blog.

Using pyOCD on Fedora

Posted by Zamir SUN on April 03, 2023 02:44 PM

Install pyOCD

pip3 install --user pyocd

Config udev rules and MCU pack

Add udev rules for your debugger

Download the cmsis-dap udev rules to /etc/udev/rules.d/ . If it does not contain the USB VID/PID of your debugger, add a line similar to that. For exmaple, for WCH-Link with USB info like “1a86:8012 QinHeng Electronics WCH-Link”

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8012", MODE="666", GROUP="plugdev", TAG+="uaccess"

Then, run the following commands to make the rules take effect.

sudo udevadm control --reload-rules 
sudo udevadm trigger

Download the Device Family Pack (DFP)

In my case, I am trying with MM32F3273. First I need to figure out the target name by

pyocd pack  find mm32f32

It will take a while to download all the pack info and provide the search result. Figure out the pack name and install it. In this case, my pack name is MM32F3273G8P.

pyocd pack install MM32F3273G8P

Start using pyOCD

Now we can actually start using pyOCD.

To flash firmware into your board

pyocd flash -t MM32F3273G8P your-firmware.elf

To fire up gdbserver for debugging

pyocd gdbserver -t MM32F3273G8P

And then you can attach gdb to this server

[zsun@nas build]$ gdb your-firmware.elf 
...
(gdb) target extended-remote 127.0.0.1:3333
...
0x08000fce in GPIO_ClearBits ()
(gdb) bt
#0  0x08000fce in GPIO_ClearBits ()
#1  0x0800160a in main ()

To be continued.

Episode 369 – OpenAI broke ChatGPT then tried to blame open source

Posted by Josh Bressers on April 03, 2023 12:00 AM

Josh and Kurt talk about OpenAI having a bug in ChatGPT, then they tried to blame open source. It didn’t go very well. In this episode Josh and Kurt argue a lot, maybe someday we’ll know who was the least wrong.

<audio class="wp-audio-shortcode" controls="controls" id="audio-3089-2" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_369_OpenAI_broke_ChatGPT_then_tried_to_blame_open_source.mp3?_=2" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_369_OpenAI_broke_ChatGPT_then_tried_to_blame_open_source.mp3</audio>

Show Notes

Dear pep582

Posted by Kushal Das on April 02, 2023 06:48 AM

Dear pep582,

By now, you know that your idea has been rejected, but it came with suggestions for any future ideas. You thought you could be more useful if everyone gets it in the same way, but that will also cause more maintenance burden to the upstream authors in the future. I personally tried to stay with you during this 5 year+ long journey. A lot happened in life during that time. You helped me to make new friends, and helped many young ones during the workshops.

Even though formally the PEP is rejected, the implementation will be updated as required. You helped before, and you will help many in the future too. Just the way to reach you will be different.

Kushal

What is GNOME’s Philosophy?

Posted by TheEvilSkeleton on April 02, 2023 12:00 AM

Introduction

GNOME’s philosophy is sophisticated and there is a lot of room for forgetting important information, as design and user experience are, in my opinion, really difficult to understand, while being really easy to misunderstand as well.

For starters, I will explain the key focus of GNOME. Then, I will be explaining and elaborating on how GNOME approaches it. I will also share my opinion on that matter.

Disclaimer: I am not speaking on the behalf of GNOME.

Wikipedia’s Definition

To quote from Wikipedia:

[P]roductivity has been a key focus for GNOME. […] [T]he design of the GNOME [graphical user interface (GUI)] is guided by concepts described in the GNOME [Human Interface Guidelines (HIG)], itself relying on insights from cognitive ergonomics. Following the HIG, developers can create high-quality, consistent, and usable GUI programs, as it addresses everything from GUI design to recommended pixel-based layout of widgets.

[…]

GNOME aims to make and keep the desktop environment physically and cognitively ergonomic for people with disabilities. The GNOME HIG tries to take this into account as far as possible […]

To reiterate this snippet, I’m going to break down into a list of key factors that make up GNOME’s philosophy and elaborate on each of them, and hope that it gives a more thorough insight on GNOME’s philosophy.

Productivity

As explained on Wikipedia, productivity is the focal point of GNOME. Productivity, in computer terminology, means that the software is designed to be efficient; to get work done. However, whether something is productive or not for a specific person or use case is entirely subjective. For example, GNOME is not designed for tinkerers, gamers and power users, so applications targeted for GNOME may likely be unsuitable for those range of users and use cases. On the other hand, GNOME targets a specific audience and attempts to make it efficient for them, in a peculiar way.

Target Audience

GNOME’s target audience is people with disabilities. Even though it’s not written in the Wikipedia article, I would also say that the average computer and mobile user is part of the target audience, because many of GNOME’s default settings are targeted for them. I will be referring them as “user(s)” thereafter.

I would also claim that developers interested in GNOME are part of the target audience. Recently, there have been many initiatives that made GNOME more fun and convenient for developers, for example libadwaita, GNOME Circle, Blueprint, and This Week in GNOME. GNOME also participates in programs that facilitate participating in FOSS, such as Google Summer of Code and Outreachy.

To clarify, I will not be referring developers as users.

Coherence

One of GNOME’s goals is to provide a coherent ecosystem for users and developers. This means, everything made for GNOME should ideally feel like they belong in GNOME.

The GNOME Human Interface Guidelines (HIG) are guidelines for developers to follow while developing their own application. The HIG guides them to use the right widgets, grammar, etc. and guides them into making a more accessible application. This leads to a uniform set of applications that aid users familiarize with GNOME, while also taking a step forward on accessibility and responsiveness.

Peacefulness and Organization

Another thing that wasn’t mentioned in the Wikipedia article and is almost never discussed, in my opinion, is a peaceful and organized interface. GNOME aims to achieve this by discouraging some (sometimes conventional) features that often lead to clutter and distractions, such as desktop icons and the dock/taskbar.

Another example is heavily focusing the workflow around workspaces (commonly known as virtual desktops). Workspaces are useful for organizing windows, especially when they are treated as a first-class feature.

For example, I use the first workspace for browsing, the second workspace for development and writing articles, the third workspace for chat applications, the fourth workspace for emails, and finally the fifth workspace for everything else. This makes it really easy for me to navigate through applications by switching workspaces, as I have the order memorized, with everything cleanly separated.

Cognitive Ergonomics

“Cognitive ergonomics is concerned with mental processes, such as perception, memory, reasoning, and motor response […]“(Source) Cognitive is the process of learning something. Ergonomics is understanding how humans interact with the system. I will be explaining those mental processes, as well.

Note: This will be an oversimplified explanation of those mental processes; this may be inaccurate, as peak accuracy is not the priority.

Perception

Perception is ensuring that the information is legible for the user, and that it triggers as few conditions as possible (forgetting, disorientation, etc.).(Source)

For example, GNOME applications focus on narrowing elements (text, buttons, etc.) and placing important elements relative to the middle of the window. Narrowing text is crucial to readability, as wide lines of text can increase the reading difficulty, because this makes it more difficult to track lines of text:(Source)

Memory

Memory is ensuring that the information displayed to the user is easy to remember. Using complicated terminologies and/or overexplaining something can contribute to forgetting certain or all pieces of information described. Typically, being clear, concise, and using familiar terminologies can help the user remember information.(Source)

Reasoning

“Reasoning is the process by which we use the knowledge we have to draw conclusions or infer something new about the domain of interest.”(Source) One such example of making something reasonable is by using common sense and/or familiar terminologies to explain a more complex topic.

Motor Response

In the context of user experience, motor response is “[a]ny action taken by the user in response to their environment (e.g., the visual presentation of a design) and the cognitive processing they perform.”(Source) Cognitive processing is the procedure for comprehending the environment.

Some kinds of hints often help the user predict an action. Let’s take clicking on a button for example. Whenever the cursor hovers over a button, the button ‘highlights’, to indicate that it is being hovered. This helps the user predict that left-clicking (or tapping) will trigger this button and perform an action.

Indicators help users understand where they are and predict where they will go after an action, which helps them act on it as well. For example, in the App Grid, a page indicator designates the page the user is on. The user can then infer the direction they’d want to go to (whether they should go to the previous page or next page), depending on the situation:

On the first page, the user knows that there is no previous page, so they naturally go to the next page if they are aware of the current page. Likewise, the user only goes to the previous page when they are on the last page.

Conclusion

To summarize GNOME’s philosophy, its primary focus is productivity. To achieve this, GNOME targets a specific audience, namely people with disabilities, average computer and mobile users, and developers interested in GNOME. GNOME takes a step to provide a coherent, peaceful and organized workflow and ecosystem, relying on insights from cognitive ergonomics.

As said at the beginning, GNOME’s philosophy is sophisticated, as the whole workflow is focused around productivity, with a unique approach. Hopefully, this gives you a better insight on GNOME’s high level goal, and how it approaches it.

My SCaLE20x adventure

Posted by Alejandro Acosta on March 31, 2023 10:36 PM

I know I’ve mentioned it before, but SCaLE conference is getting better each year. SCaLE is probably the best conference in North America that has a strong focus on the community and it is always a cause of joy to see such a diverse audience and attendees under the same roof and under the same sentiment of belonging. The success of the conference -the one that has made possible twenty editions of it-  doesn’t come free, there’s an enthusiastic group of incredible people behind it. Kudos and lot of recognition to each of them.

If I was asked to describe this year’s experience in SCaLE with a single word, I would say that is “Chances”. I’m going to go deeper into this ahead, but this conference made me wonder several times “what are the chances of this happening?”. One of the advantages of attending a nerds conference is that you may find someone who would actually calculate it. It reminds me of that Sheldon quote that reads “was that rhetoric or would you like me to do the math?”  LOL

Due to COVID pandemic (and probably other strong reasons), this year’s SCaLE was just eight months apart from last edition. It may not sound like a big deal but there are some factors that made a big difference: not the usual twelve months for planning, sunny hot summer weather versus rainy chilly winter weather and the chance of venue as well, this year the conference returned to Pasadena.

This time I arrived early enough to attend the conference from day one. Thursday is usually used for community events like Kubernetes Community Day, CEPH Day, PostgreSQL day, workshops,  etc. Since my flight landed at 6:00am I was able to practically use most of the day in the Kubernetes community day. 

I attended the GitOps workshop , big attendance to this event, found an empty spot and sat there for the development of the planned activities. While I was there, I couldn’t avoid noticing that the guy next to my was attending a few things on his company’s Slack, I approached to him and told him “I’m sorry but I couldn’t avoid noticing that you’re in Company X Slack channel, I just joined that company a couple of days ago as a contractor”. He was happy to see people of his own even though I wasn’t able to mention my teammates, my team manager, our team name and stuff like that since I was in the onboarding process and the only thing that I’ve done there was attending a couple of daily meetings. Anyway, he helped me identify a few things of my new team and together we completed the remaining activities of the workshops. What are the chances? Let’s not do that math 

We used the rest of the Thursday for setting up the Fedora booth. This year we had Fedora’s ambassadors Perry Rivera, Brian Monroe, Scott Williams from the Southern California area  and Iván Chavero and myself from México. Have I mentioned that this year I was the event owner for SCaLE?  I was and it was a bit challenging since I don’t live in the area and I needed someone local to receive the stuff and coordinate the local logistics like swag shipping. Brian was of valuable help in this and I got so much help from my friends that it didn’t feel like an overwhelming burden as I thought it was going to be. I’ll be happy to do it again if needed.  Booth was completed and it was time to call it a day.

<figure class="wp-block-image size-large is-resized"></figure>

On Friday morning they had the LA DevOps day    , a co-located event dedicated to the DevOps community and professionals who wish to improve the interaction and integration between the traditional silos of Development and Operations. The opening talk was delivered by John Willis  -author of several books on DevOps- and this time his talk was on their book “Investments Unlimited”. A great talk and a magnificent opportunity to hear from a big leaguer in DevOps like John.

The morning time flew fast and right after lunch it was time for expo floor. This year the attendance was bigger than last year’s, probably due to venue capacity and less covid cautions, anyway, as soon as the Pasadena Convention Center opened its exhibition floor doors, we happily started receiving the crowd. Talking to people at Fedora booth is not only part of my mission in the conference, but it is also one of my favorite parts. Fedora always have this attraction that people just stop by, even though our booth is community driven and may not appear too attractive at first glance. We had swag, sign in page for further contact and a QR code for getting the Fedora badge for the event. Our badge was awarded 22 times, in my opinion an important number since not everybody has a FAS account nor has the Intention to open an account just for this purpose

Friday was over, exhibition floor was closed and how long came Saturday. This day I wore my Fedora Mexico t-shirt just as a token of  pride and to recognize the work of the community in Mexico and honestly and mostly because I love it. This single fact caused an effect that I wasn’t expecting  , it attracted the attention of people that somehow have a connection with Mexico and otherwise I wouldn’t be able to identify.

<figure class="wp-block-image size-large is-resized"></figure>

I stopped by the New Relic booth because they had a challenge to create a dashboard that looked attractive, you complete the challenge and you get some swag (maybe a interesting idea to try for Fedora in upcoming events). Thing is that one of the New Relic guys asked me if I came from Mexico, yes, then what part, Chihuahua, and one question led to another, I know someone from Chihuahua, do you know Jane Doe?  My cousin is related to them and PUM!!  Your cousin is my wife’s aunt living in San Diego. Just by identifying me coming from Mexico turned out in getting to know a relative I wasn’t aware that even existed. What are the chances? Let’s not do that math

At noon we had lunch in the expo market, a convenient place inside of the exhibition floor to grab a bite. I took a seat at one of the shared tables and the guy next to me asked me if I was from Mexico. Dude was from Monterrey, Mexico. This is starting to look like a weird pattern.

We talked a lot during lunch, this was his first time for SCaLE but he was so looking forward for not being his last, he loved it and he was determined to coming back to it in the future. I told him that a few years ago, the community in Mexico was just a guy from his hometown and me, and today is a growing, active and enthusiastic community with several members, needless to say he was welcomed to join.  Again, just by wearing my Fedora Mexico t-shirt attracted a conversation that probably would not have happened otherwise. What are the chances? Let’s not do that math

A few minutes before closing Saturday I stopped by the Argo booth. I have tried Argo Ci/CD for POcs, labs and testing and I really love it. Guy in the booth looked at my shirt and asked THE question. Yes, I’m from Mexico. Which part? Chihuahua, in northern Mexico, we share borders with New Mexico and Texas, we’re located about 250 miles south of El Paso. Guy interrupted me and said “oh yes yes, my dad lives there, I’m very aware of it. What are the chances? Let’s not do that math

This day we also got interviewed by the Tux Digital guys. It was an informal talk, part serious part relaxed, in which we had the opportunity to talk about our role in Fedora project, what we like love about it, what makes us different, ways to get involved, etc.

<figure class="wp-block-image size-large is-resized"></figure>

Expo floor closed but Saturday is not over until game night is over. Even though I was beaten,  tired, I couldn’t miss game night because I know that is an important part of the social exchange and also perhaps the only space and time that I get to see old SCaLE friends that I may not see in the rest of the event.

And then came Sunday, usually a not too busy day as the expo is open just for a few hours, but one of my favorite days because they usually close with a keynote from a real Rockstar from the industry. This year was no disappointment and the closing talk was given by Ken Thompson himself!  There are not many opportunities to meet a personality this big, listening to him live and meeting in person is an experience that I cannot put into words. This is an invaluable gift that you get once in a lifetime. Contrary to what we all expected, he didn’t talk about Unix, or Go , or any of his big and well known achievements, instead he talked about a personal project that he’s been working on for 70+ years and it was delightful to hear. Not going to spoil it, see the recording for yourselves in the Conference’s YouTube channel.

<figure class="wp-block-image size-large is-resized"></figure>

Finally, just to put the cherry on the pie, on the event closure it was mentioned that we were awarded as the «Most Memorable Booth» !!! This is in recognition to the vendor with the most memorable experience for visitors and attendees. Worth mentioning this is something that attendees vote for while visiting the expo.

<figure class="wp-block-image size-large is-resized"></figure>

And so it ends, a magnificent conference this year. This time we’ll have to wait for another twelve long months compared to the previous few, but I’m sure that it will be totally worthed .

Friday’s Fedora Facts: 2023-13

Posted by Fedora Community Blog on March 31, 2023 08:15 PM

Here’s your weekly Fedora report. Read what happened this week and what’s coming up. Your contributions are welcome (see the end of the post)!

I have weekly office hours most Wednesdays in the morning and afternoon (US/Eastern time). Drop by if you have any questions or comments about the schedule, Changes, elections, or anything else. See the upcoming meetings for more information.

Announcements

CfPs

<figure class="wp-block-table">
ConferenceLocationDateCfP
DevConf USBoston, MA, US16–18 Augcloses 3 Apr
Upstreamvirtual7 Juncloses 7 Apr
openSUSE Conference 2023Nürnberg, DE26–28 Maycloses 9 Apr
TechBashMount Pocono, PA, US7–10 Novcloses 11 Apr
Pacific Northwest Software Quality ConferencePortland, OR, US and virtual9–11 Octcloses 16 Apr
Web Weekend KathmanduKathmandu, NP23–24 Sepcloses 21 Apr
DevRelCon LondonLondon, UK7–8 Sepcloses 21 Apr
Cincy DeliverCincinnati, OH, US28 Julcloses 30 Apr
ShipIt ConDublin, IE1 Sepcloses 1 May
Indy.Code()Indianapolis, IN, US10–11 Augcloses 30 Apr
FOSS Security CampusBerlin, DE26–29 Sepcloses 14 May
React NorwayLarvik, NO16 Juncloses 15 May
Write The Docs Atlanticvirtual10–12 Sepcloses 15 May
Front ConferenceZurich, CH31 Aug–1 Sepcloses 31 May
Inclusive Design 24virtual21 Sepcloses 4 Jun
NodeConf EUKilkenny, IE6–8 Novcloses 28 Jun
</figure>

Help wanted

Upcoming test days

Meetings & events

Releases

<figure class="wp-block-table">
Releaseopen bugs
F364502
F373950
F38 (pre-release)1158
Rawhide6892
</figure>

Prioritized Bugs

See the Prioritized Bugs documentation for information on the process, including how to nominate bugs.

<figure class="wp-block-table">
Bug IDComponentStatus
2015490initial-setupON_QA
</figure>

Fedora Linux 38

Blockers

<figure class="wp-block-table">
BugComponentStatusBlocker status
2171350kernelNEWAccepted (Final)
2179591plasma-workspaceNEWAccepted (Final)
2113005shimNEWAccepted (Final)
2177153abrtVERIFIEDProposed (Final)
2183034podmanNEWProposed (Final)
</figure>

Schedule

Below are some upcoming schedule dates. See the schedule website for the full schedule.

  • 2023-04-04Final freeze begins
  • 2023-04-18 — Final release early target date

Changes

The table below lists Changes status. See the ChangeSet page or Bugzilla for more information.

<figure class="wp-block-table">
StatusCount
ASSIGNED3
MODIFIED1
ON_QA45
CLOSED2
</figure>

Fedora Linux 39

Changes

The table below lists proposed Changes. See the ChangeSet page or Bugzilla for information on approved Changes.

<figure class="wp-block-table">
ProposalTypeStatus
SPDX License Phase 2System-WideFESCo #2972
EC2 AMIs default to the gp3 EBS volume typeSelf-ContainedFESCo #2974
Register EC2 Cloud Images with IMDSv2-only AMI flagSelf-ContainedFESCo #2975
Changes of defaults in createrepo_c-1.0.0System-WideFESCo #2976
Register EC2 Cloud Images with uefi-preferred AMI flagSelf-ContainedAnnounced
RPM 4.19System-WideAnnounced
</figure>

Contributing

Have something you want included? You can file an issue or submit a pull request in the fedora-pgm/pgm_communication repo.

The post Friday’s Fedora Facts: 2023-13 appeared first on Fedora Community Blog.

CPE Weekly update – Week 13

Posted by Fedora Community Blog on March 31, 2023 10:44 AM

This is a weekly report from the CPE (Community Platform Engineering) Team. If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on libera.chat.

We provide you both infographics and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in depth details look below the infographic.

Week: 27 – 31 March 2023

<figure class="wp-block-image size-large"><figcaption class="wp-element-caption">CPE Infographic</figcaption></figure>

Highlights of the week

Infrastructure & Release Engineering

Goal of this Initiative

Purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
The ARC (which is a subset of the team) investigates possible initiatives that CPE might take on.
Planning board
Docs

Update

Fedora Infra

  • Upgraded bodhi to 7.1.1
  • Updated our massupdate SOP (pr: https://pagure.io/infra-docs-fpo/pull-request/194 )
  • Bunch of updating/rebooting servers
  • OSX FedoraMediaWriter 5.0.6 build and sign
  •  Moved bastion02 dl04/03/02/01 all to rhel9
  • investigated batcave01 to rhel9, need fedora-messaging in epel9

CentOS Infra including CentOS CI

  • Preparing CentOS Stream 10 storage volume for builds/composes
  • Debugging a service account abusing koji api calls for Stream (filing disk space)
  • Preparing koji.mbox.centos.org archive
  • Still reinstalling/moving machines from centos 7 to rhel 9
  • Migrated https://buildlogs.centos.org cdn (CDN77) origin nodes to RHEL9

Release Engineering

  • epel8-modularity retired
  • Openh264 for rawhide is live
  • Aarch64 minimal images are now release blocking deliverables
  • Catch up the OPS work

CentOS Stream

Goal of this Initiative

This initiative is working on CentOS Stream/Emerging RHEL to make this new distribution a reality. The goal of this initiative is to prepare the ecosystem for the new CentOS Stream.

Updates

  • Following up some last items of the 8/9 workflows project

EPEL

Goal of this initiative

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

Updates

  • WIP – EPEL docs overhaul
    • Incorporating early feedback for outline
  • RPM packaging workshop accepted for Summit

    FMN replacement

    Goal of this initiative

    FMN (Fedora-Messaging-Notification) is a web application allowing users to create filters on messages sent to (currently) fedmsg and forward these as notifications on to email or IRC.
    The goal of the initiative is mainly to add fedora-messaging schemas, create a new UI for a better user experience and create a new service to triage incoming messages to reduce the current message delivery lag problem. Community will profit from speedier notifications based on own preferences (IRC, Matrix, Email), unified fedora project to one message service and human-readable results in Datagrepper.
    Also, CPE tech debt will be significantly reduced by dropping the maintenance of fedmsg altogether.

    Updates

    • UI & UX improvements
    • Bug fixes

      Community Design

      Goal of this initiative

      CPE has few members that are working as part of Community Design Team. This team is working on anything related to design in Fedora Community.

      Updates

      • Fedora Design TikTok created – content is being made / scheduled. Gitlab here.
      • F38 wallpaper complete
      • Progress on F37 Release / Creative Freedom Summit videos

        The post CPE Weekly update – Week 13 appeared first on Fedora Community Blog.

        PHP version 8.1.18RC1 and 8.2.5RC1

        Posted by Remi Collet on March 31, 2023 06:26 AM

        Release Candidate versions are available in testing repository for Fedora and Enterprise Linux (RHEL / CentOS / Alma / Rocky and other clones) to allow more people to test them. They are available as Software Collections, for a parallel installation, perfect solution for such tests, and also as base packages.

        RPM of PHP version 8.2.5RC1 are available

        • as base packages
          • in the remi-php82-test repository for Enterprise Linux 7
          • in the remi-modular-test for Fedora 35-37 and Enterprise Linux ≥ 8
        • as SCL in remi-test repository

        RPM of PHP version 8.1.18RC1 are available

        • as base packages
          • in the remi-php81-test repository for Enterprise Linux 7
          • in the remi-modular-test for Fedora 35-37 and Enterprise Linux ≥ 8
        • as SCL in remi-test repository

        emblem-notice-24.pngPHP version 8.0 is now in security mode only, so no more RC will be released.

        emblem-notice-24.pngInstallation : follow the wizard instructions.

        Parallel installation of version 8.2 as Software Collection:

        yum --enablerepo=remi-test install php82

        Parallel installation of version 8.1 as Software Collection:

        yum --enablerepo=remi-test install php81

        Update of system version 8.2 (EL-7) :

        yum --enablerepo=remi-php82,remi-php82-test update php\*

        or, the modular way (Fedora and EL ≥ 8):

        dnf module reset php
        dnf module enable php:remi-8.2
        dnf --enablerepo=remi-modular-test update php\*

        Update of system version 8.1 (EL-7) :

        yum --enablerepo=remi-php81,remi-php81-test update php\*

        or, the modular way (Fedora and EL ≥ 8):

        dnf module reset php
        dnf module enable php:remi-8.1
        dnf --enablerepo=remi-modular-test update php\*

        Notice: version 8.2.4RC1 is in Fedora rawhide for QA.

        emblem-notice-24.png EL-9 packages are built using RHEL-9.1

        emblem-notice-24.png EL-8 packages are built using RHEL-8.7

        emblem-notice-24.png EL-7 packages are built using RHEL-7.9

        emblem-notice-24.png oci8 extension now uses Oracle Client version 21.8, intl extension now uses libicu 71.1

        emblem-notice-24.png RC version is usually the same as the final version (no change accepted after RC, exception for security fix).

        emblem-notice-24.png versions 8.1.18 and 8.2.5 are planed for April 13th, in 2 weeks.

        Software Collections (php81, php82)

        Base packages (php)

        Fedora rawhide – fixed bugs 2023/02

        Posted by Filipe Rosset on March 30, 2023 11:56 PM

        Bug 2161445 – converseen-0.9.10.1 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2161445

        Opened Bug 2169129 – please update libofx to latest 0.10.9
        https://bugzilla.redhat.com/show_bug.cgi?id=2169129

        Opened Bug 2169130 – please build libofx for epel9
        https://bugzilla.redhat.com/show_bug.cgi?id=2169130

        Opened Bug 2007012 – homebank 5.6.1 fails to build with el8
        https://bugs.launchpad.net/homebank/+bug/2007012/

        Merge for muParser #1 Version bump to v2.3.4 (bug #2143538)
        https://src.fedoraproject.org/rpms/muParser/pull-request/1#request_diff

        Bug 2158980 – Enable support for systemd socket activation in tmux
        https://bugzilla.redhat.com/show_bug.cgi?id=2158980

        Bug 2113119 – bibletime: FTBFS in Fedora rawhide/f37
        https://bugzilla.redhat.com/show_bug.cgi?id=2113119

        Bug 2163514 – [abrt] bibletime: std::__atomic_base::load(): bibletime killed by SIGSEGV
        https://bugzilla.redhat.com/show_bug.cgi?id=2163514

        Bug 2155021 – python-empy fails to build with Python 3.12: ModuleNotFoundError: No module named ‘distutils’
        https://bugzilla.redhat.com/show_bug.cgi?id=2155021

        Opened Bug 2169138 – error while building bibletime due fop package
        https://bugzilla.redhat.com/show_bug.cgi?id=2169138

        Bug 2168084 – bindfs-1.17.2 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2168084

        Bug 2111053 – Please branch and build bonnie++ in epel9
        https://bugzilla.redhat.com/show_bug.cgi?id=2111053

        Bug 2156629 – iverilog-12_0 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2156629

        Bug 2164892 – dgit-10.6 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2164892

        Bug 2169785 – converseen-0.9.11.0 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2169785

        Updated parallel to 20230122
        https://src.fedoraproject.org/rpms/parallel/c/222b3af399ea2cd2a888c909c7e4805078e22dbe?branch=rawhide

        Bug 2164770 – emacs-slime-2.28 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2164770

        Bug 2155002 – marisa fails to build with Python 3.12: ModuleNotFoundError: No module named ‘distutils’
        https://bugzilla.redhat.com/show_bug.cgi?id=2155002

        Bug 2048094 – python3-marisa provides python3dist(marisa) = 0
        https://bugzilla.redhat.com/show_bug.cgi?id=2048094

        Bug 2113143 – cdw: FTBFS in Fedora rawhide/f37
        https://bugzilla.redhat.com/show_bug.cgi?id=2113143

        Fedora rawhide – fixed bugs 2022/12

        Posted by Filipe Rosset on March 30, 2023 11:54 PM

        Bug 2138951 – aime-8.20221031 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2138951

        Bug 2142183 – sakura-3.8.6 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2142183

        Bug 2142228 – dgit-10.1 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2142228

        Released nsca-ng-1.6-7 for el9
        https://koji.fedoraproject.org/koji/buildinfo?buildID=2088779

        Bug 2120081 – branch request epel9 and epel8 for clinfo
        https://bugzilla.redhat.com/show_bug.cgi?id=2120081

        Bug 2151122 – homebank-5.6 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2151122

        Bug 2141856 – [abrt] homebank: g_type_check_instance_cast(): homebank killed by SIGSEGV
        https://bugzilla.redhat.com/show_bug.cgi?id=2141856

        Bug 2150732 – aime-8.20221204 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2150732

        Bug 2152459 – dgit-10.4 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2152459

        Bug 2157249 – gbrainy-2.4.6 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2157249

        Update homebank to 5.6.1
        https://src.fedoraproject.org/rpms/homebank/c/32c2e1a001339d469bef2da0d59d00f71a79df59?branch=rawhide

        Bug 2159141 – converseen-0.9.10.0 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2159141

        Bug 2161033 – fapg-0.44 is available
        https://bugzilla.redhat.com/show_bug.cgi?id=2161033

        Why would writing be any different?

        Posted by Joe Brockmeier on March 30, 2023 09:59 PM

        Fair warning, I’m going to wade into the whole AI/ChatGPT discussion. It’s been discussed to death, but I’m going to jump in anyway. Feel free to click away if you’re already sick of the topic.  I’m going to use “ChatGPT” as a stand-in for ML/AI-driven writing tools, even though it’s not the only one on the market and there’s certainly more to come.

        Anyway, it seems like ChatGPT is poised to automate away a lot of writing work, and we’re in for tools that are going to produce a whole lot of content of varying quality and accuracy whether we like that prospect or not.Whether this seems good or bad depends a whole lot on where you’re sitting and whether you value writing as a core skill or an art, or if you just want to do more faster and cheaper.

        Today I was skimming a discussion on Mastodon with a bunch of folks agreeing with each other that ChatGPT-driven content was awful, nobody should use it, that writing was important, etc. I want to agree, to some extent I do agree, but I also recognize that this set of arguments is not novel and has been employed over and over again in the face of technical advances from the printing press to synthesizers to damn near anything else you can name that let people do more faster and cheaper.

        Here’s the thing: In my more than 50 years I haven’t seen “more, faster and cheaper” lose. Ever.

        Furthermore, people are very, very selective in what jobs shouldn’t be automated away or changed drastically by automation.

        Look down at your shoes, assuming you’re wearing any right now. Are you wearing hand-crafted artisanal shoes that cost hundreds of dollars, or are you wearing mass produced footwear that was put together in a factory setting with the lowest cost labor possible?

        Look at your other clothes and around your house. How much of your stuff would’ve been hand-crafted 50, 100 years ago, but is a product of industrialization and automation today? Do you use self checkout or do you only shop places that still only use real humans as cashiers? Ever studied a language with an app instead of a tutor?

        But, you say, that stuff isn’t art. It’s not the same at all. OK.

        You listen to music? By any chance did any of the artists use synthesizers instead of a horn section or string players? Did anybody use a drum machine instead of a real, live human playing percussion?

        Automation and mechanization wasn’t supposed to come for the writers, right? Our jobs were supposed to be safe. Only people can write, computers can’t write.

        Suddenly, they kind of can. Not as well as people, in a lot of ways, but holy shit have they advanced way faster than they were supposed to.

        My dad used to make a good living as a pinstriper and sign painter in the 70s and 80s. Towards the end of the 80s vinyl sign cutters and plotters ate a huge chunk of his business, very quickly. They didn’t and couldn’t do the same quality of work, and weren’t as flexible. As far as I know, they still can’t. The product doesn’t last as long, and it just doesn’t have that human touch.

        People didn’t care. More, faster and cheaper. Sorry, your skill has been rendered obsolete. Please enjoy the fond memory of a living wage.

        I don’t know how ChatGPT-type tools are going to impact those of us who make some or all of our living with the written word. I don’t think it’s going to be good, exactly. Some people are likely to be relegated to prompt-jockeying and cleaning up ChatGPT output, fact-checking and fixing its “hallucinations” and shoveling content ever faster. Some folks may do fine, their niche protected by raw talent or sheer luck, or both. Others are probably going to get squeezed out and forced to retrain to do something else.

        But, you see, we’ll have more. Faster, and cheaper.

        As long as it’s all about accelerating things and more and more profit, don’t expect that we’ll hit the brakes on AI-driven content in any of its forms. We didn’t hit the brakes for cobblers, we didn’t hit the brakes for seamstresses, we didn’t hit the brakes for sign painters. It seems like folly to expect that this would be any different at all. Because it won’t be, even though I’d certainly like to be wrong on this front.

        This is just a tiny corner of the discussion, and I have a lot more on my mind about it, but that’s enough for now.

        Data Scientists should develop their software engineering skills

        Posted by ! Avi Alkalay ¡ on March 30, 2023 09:41 AM

        Yes, Data Scientists should develop their software engineering skills. Let me react to a LinkedIn post by Neil Leiser.

        But Data Scientists can’t do it alone, or by themselves. Read on.

        I see that software engineering, IT architecture is a touchy subject amongst even the best data scientists, usually because they came from other knowledge domains as economy, statistics, pure math, physics, biology etc. This is a normal evolution. Data Science demands a wide broad skill set, sometimes too wide and too broad. Data Scientists need to handle Docker and HTTP APIs along with outliers, RMSE, ROC curves and Gaussian distributions. Go figure…

        ML engineers — usually folks that have more software engineering background — should help here.

        But the most important thing ➔ it is the mission of the CDO, tech lead or CTO with strategic vision to clearly detect these gaps and design a roadmap to handle them, not just with conventional training but also encouraging mixed squads whose members will exchange skills and knowledge, leveraging multi-disciplinar environments where everybody grows together.

        Also on my LinkedIn.

        server update/reboots

        Posted by Fedora Infrastructure Status on March 29, 2023 09:00 PM

        We will be applying updates and rebooting various servers as well as re-installing some. Services may be up and down in the outage window and package maintainers are advised to avoid submmiting builds.

        Kiwi TCMS 12.1

        Posted by Kiwi TCMS on March 29, 2023 08:00 PM

        We're happy to announce Kiwi TCMS version 12.1!

        IMPORTANT: this is a minor release which contains security related updates, general improvements, bug fixes and new translations!

        You can explore everything at https://public.tenant.kiwitcms.org!

        Supported upgrade paths:

        5.3   (or older) -> 5.3.1
        5.3.1 (or newer) -> 6.0.1
        6.0.1            -> 6.1
        6.1              -> 6.1.1
        6.1.1            -> 6.2 (or newer)
        

        ---

        Upstream container images (x86_64):

        kiwitcms/kiwi   latest  590c0cd6f25f    521MB
        

        IMPORTANT: version tagged and multi-arch container images are available only to subscribers!

        Changes since Kiwi TCMS 12.0

        Security

        • Add the Content-Security-Policy header to block inline JavaScript. Fixes CVE-2023-27489
        • Add the X-Frame-Options header to deny loading Kiwi TCMS into an iframe
        • Add the X-Content-Type-Options header

        Improvements

        • Update django-grappelli from 3.0.4 to 3.0.5
        • Update django-simple-history from 3.2.0 to 3.3.0
        • Update jira from 3.4.1 to 3.5.0
        • Update markdown from 3.4.1 to 3.4.3
        • Update pygithub from 1.57 to 1.58.1
        • Update tzdata from 2022.7 to 2023.3
        • Do not allow last super-user to be deleted (Ivajlo Karabojkov)
        • Improve loading time on test runs pages which have large number of executions with components, parameters and/or tags (@somenewacc)
        • Expose all RPC methods in the documentation
        • Update documentation to describe transitions for TestRun statuses. Closes Issue #3124

        Settings

        • Allow uWSGI configuration override via the file /Kiwi/etc/uwsgi.override

        API

        • New API method TestRun.add_attachment (David M. Johnson)
        • New API method Environment.filter() method. Refs Issue #3034 (@somenewacc)
        • New API method Environment.create(). Closes Issue #3034 (@somenewacc)

        Bug fixes

        • Fix /admin/testcases/template/ page not being able to render the text editor

        Refactoring

        • Refactor bugtracker integration
        • Remove unnecessary onChanged function for DurationWidget
        • Refactoring to avoid inline <script> tags

        Translations

        Kiwi TCMS Enterprise v12.1-mt

        • Based on Kiwi TCMS v12.1

        • Update dj-database-url from 1.2.0 to 1.3.0

        • Update kiwitcms-github-app from 1.4.1 to 1.5.1

        • Update kiwitcms-trackers-integration from 0.3.0 to 0.4.0

        • Add test for missing migrations

          Private images:

          quay.io/kiwitcms/version            12.1 (aarch64)          571870729367    29 Mar 2023     528MB
          quay.io/kiwitcms/version            12.1 (x86_64)           590c0cd6f25f    29 Mar 2023     520MB
          quay.io/kiwitcms/enterprise         12.1-mt (aarch64)       0a1e2f092351    29 Mar 2023     734MB
          quay.io/kiwitcms/enterprise         12.1-mt (x86_64)        9f44aaab7646    29 Mar 2023     725MB
          

        IMPORTANT: version tagged, multi-arch and Enterprise container images are available only to subscribers!

        How to upgrade

        Backup first! Then execute the commands:

        cd path/containing/docker-compose/
        docker-compose down
        docker-compose pull
        docker-compose up -d
        docker exec -it kiwi_web /Kiwi/manage.py upgrade
        

        Refer to our documentation for more details!

        Happy testing!

        ---

        If you like what we're doing and how Kiwi TCMS supports various communities please help us grow!

        Melhorias para o Pix do BaCen

        Posted by ! Avi Alkalay ¡ on March 29, 2023 12:17 PM

        O Banco Central do Brasil acertou em cheio com o Pix, inovação bancária digna de ser copiada por qualquer BC do mundo. Mas ainda acho o Pix bem burocrático de ser usado. Vejo que ele é um sucesso porque era algo muitíssimo desejado, não por ter boa usabilidade nem por promover boas práticas. Minha veia de designer de aplicações não pode deixar de sugerir algumas melhorias que poderiam ser feitas numa próxima revisão, especialmente em relação a usabilidade.

        1. Em primeiro lugar, ficar usando e divulgando CPF e celular como endereço bancário fere de mais a privacidade das pessoas. Há o endereço aleatório, que é um indigesto UDID, mas seu uso é pouco incentivado. Telefone como endereço Pix deveria ser usado só entre amigos que já têm o número um do outro. E CPF então, nem se fala… Eu nem tenho coragem de citar aqui e agora as coisas que poderia descobrir sobre você tendo só o seu CPF. Este parágrafo fica como dica para você, usuário do Pix — use chave aleatória sempre que puder.
        2. Outro aspecto pouco prático é que a pessoa que divulga um endereço Pix precisa informar se aquilo é um CPF ou celular, pois há CPFs que se parecem com número de telefone e vice-versa. E o pagador precisa dizer ao banco que tipo de chave é essa (CPF, telefone), não é detectado automaticamente.
        3. Mais um aspecto triste é o Pix-copia-e-cola ser sub-utilizado. Para quem não sabe — e muitos não sabem —, o Pix-copia-e-cola é um código comprido que tem tudo: endereço do credor, valor, mensagem. Se preciso cobrar alguém, eu gero um Pix-copia-e-cola e passo para a pessoa. Acontece que quase ninguém sabe o que fazer com esse código e como usá-lo para efetivamente executar o pagamento. O pagador primeiro precisa saber do que se trata, navegar pelos menus do aplicativo bancário e colá-lo no lugar certo. Este é um exemplo de Pix-copia-e-cola válido que você pode usar para me pagar R$10:
          00020126890014BR.GOV.BCB.PIX01364cf0670d-87f9-4056-b48b-cbe57aa29ba40227Exemplo de Pix-copia-e-cola520400005303986540510.005802BR5914AVIRAM ALKALAY6009SAO PAULO622605222X9lnULfWGEqFhJGgrYWXC63046086

        Eis uma sugestão de solução para todos esses problemas

        Bastaria o endereço Pix ser uma URL, visto que URLs já representam o endereço de praticamente tudo no universo digital. Segue uma sugestão de solução hipotética.

        • Endereço Pix que é um telefone:
          pix://11912344321.tel
        • Endereço Pix que é um CPF:
          pix://78912365422.cpf
        • Endereço Pix que é uma chave aleatória:
          pix://abc-xyz-kyw.alt
        • URL de um Pix-copia-e-cola que contém credor (endereço aleatório), valor (R$10) e mensagem (“olá mundo”):
          pix://abc-xyz-kyw.alt/?val=10.00&msg=olá%20mundo
        • O código QR da última URL:<figure class="wp-block-image size-large is-resized"></figure>
        • Menos conhecido ainda, um Pix pode ser feito diretamente para uma conta bancária, sem CPF nem telefone nem endereço aleatório, igual um TED. Nesse caso a URL ficaria assim:
          pix://{{instituição, agência e conta bancária codificadas}}.cc/?val=10.00&msg=olá%20mundo

        Os parâmetros para valor ou mensagem, ou ambos, poderiam ser omitidos para deixar o pagador preenchê-los, opcionalmente.

        No mundo físico, essas URLs seriam divulgadas como códigos QR impressos. E sendo um QR/URL válido, a câmera que o captura, ou o simples ato de clicar no link, abriria o tratador correto, que provavelmente seria o aplicativo do seu banco, mas não precisaria pedir para o pagador escrever mais nada, só pediria confirmação para a transação cujos dados e parâmetros estariam todos já resolvidos e no lugar certo.

        <figure class="wp-block-image size-large">Jornada do usuário que paga um Pix se o credor fosse uma URL</figure>

        Com exatos 2 toques de tela (passos 1️⃣ e 3️⃣) e mais a inevitável autenticação no aplicativo bancário (passo 2️⃣), o pagamento seria realizado.

        Do jeito que é hoje:

        • Não existe link de Pix para se clicar
        • Códigos QR só são legíveis com a câmera da app bancária; um leitor qualquer de códigos QR não consegue disparar o aplicativo bancário
        • Caso o pagador inicie o processo com um endereço textual, terá que manualmente copiar e colar o texto pois números de telefone e de CPF não viram links automaticamente. E entre os passos 2 e 3 do diagrama de jornada acima ainda tem que manualmente selecionar e preencher diversas outras informações

        New gitlab.freedesktop.org spamfighting abilities

        Posted by Peter Hutterer on March 29, 2023 07:31 AM

        As of today, gitlab.freedesktop.org allows anyone with a GitLab Developer role or above to remove spam issues. If you are reading this article a while after it's published, it's best to refer to the damspam README for up-to-date details. I'm going to start with the TLDR first.

        For Maintainers

        Create a personal access token with API access and save the token value as $XDG_CONFIG_HOME/damspam/user.token Then run the following commands with your project's full path (e.g. mesa/mesa, pipewire/wireplumber, xorg/lib/libX11):

        $ pip install git+https://gitlab.freedesktop.org/freedesktop/damspam
        $ damspam request-webhook foo/bar
        # clean up, no longer needed.
        $ pip uninstall damspam
        $ rm $XDG_CONFIG_HOME/damspam/user.token
        
        The damspam command will file an issue in the freedesktop/fdo-bots repository. This issue will be automatically processed by a bot and should be done by the time you finish the above commands, see this issue for an example. Note: the issue processing requires a git push to an internal repo - if you script this for multiple repos please put a sleep(30) in to avoid conflicts.

        Once the request has been processed (and again, this should be instant), any issue in your project that gets assigned the label Spam will be processed automatically by damspam. See the next section for details.

        For Developers

        Once the maintainer for your project has requested the webhook, simply assign the Spam label to any issue that is spam. The issue creator will be blocked (i.e. cannot login), this issue and any other issue filed by the same user will be closed and made confidential (i.e. they are no longer visible to the public). In the future, one of the GitLab admins can remove that user completely but meanwhile, they and their spam are gone from the public eye and they're blocked from producing more. This should happen within seconds of assigning the Spam label.

        For GitLab Admins

        Create a personal access token with API access for the @spambot user and save the token value as $XDG_CONFIG_HOME/damspam/spambot.token. This is so you can operate as spambot instead of your own user. Then run the following command to remove all tagged spammers:

        $ pip install git+https://gitlab.freedesktop.org/freedesktop/damspam
        $ damspam purge-spammers
        
        The last command will list any users that are spammers (together with an issue that should make it simple to check whether it is indeed spam) and after interactive confirmation purge them as requested. At the time of writing, the output looks like this:
        $ damspam purge-spammers
        0: naughtyuser              : https://gitlab.freedesktop.org/somenamespace/project/-/issues/1234: [STREAMING@TV]!* LOOK AT ME
        1: abcuseless               : https://gitlab.freedesktop.org/somenamespace/project/-/issues/4567: ((@))THIS STREAM IS IMPORTANT
        2: anothergit               : https://gitlab.freedesktop.org/somenamespace/project/-/issues/8778: Buy something, really
        3: whatawasteofalife        : https://gitlab.freedesktop.org/somenamespace/project/-/issues/9889: What a waste of oxygen I am
        Purging a user means a full delete including all issues, MRs, etc. This is nonrecoverable!
        Please select the users to purge:
        [q]uit, purge [a]ll, or the index: 
             
        Purging the spammers will hard-delete them and remove anything they ever did on gitlab. This is irreversible.

        How it works

        There are two components at play here: hookiedookie, a generic webhook dispatcher, and damspam which handles the actual spam issues. Hookiedookie provides an HTTP server and "does things" with JSON data on request. What it does is relatively generic (see the Settings.yaml example file) but it's set up to be triggered by a GitLab webhook and thus receives this payload. For damspam the rules we have for hookiedookie come down to something like this: if the URL is "webhooks/namespace/project" and damspam is set up for this project and the payload is an issue event and it has the "Spam" label in the issue labels, call out to damspam and pass the payload on. Other rules we currently use are automatic reload on push events or the rule to trigger the webhook request processing bot as above.

        This is also the reason a maintainer has to request the webhook. When the request is processed, the spambot installs a webhook with a secret token (a uuid) in the project. That token will be sent as header (a standard GitLab feature). The project/token pair is also added to hookiedookie and any webhook data must contain the project name and matching token, otherwise it is discarded. Since the token is write-only, no-one (not even the maintainers of the project) can see it.

        damspam gets the payload forwarded but is otherwise unaware of how it is invoked. It checks the issue, fetches the data needed, does some safety check and if it determines that yes, this is spam, then it closes the issue, makes it confidential, blocks the user and then recurses into every issue this user ever filed. Not necessarily in that order. There are some safety checks, so you don't have to worry about it suddenly blocking every project member.

        Why?

        For a while now, we've suffered from a deluge of spam (and worse) that makes it through the spam filters. GitLab has a Report Abuse feature for this but it's... woefully incomplete. The UI guides users to do the right thing - as reporter you can tick "the user is sending spam" and it automatically adds a link to the reported issue. But: none of this useful data is visible to admins. Seriously, look at the official screenshots. There is no link to the issue, all you get is a username, the user that reported it and the content of a textbox that almost never has any useful information. The link to the issue? Not there. The selection that the user is a spammer? Not there.

        For an admin, this is frustrating at best. To verify that the user is indeed sending spam, you have to find the issue first. Which, at best, requires several clicks and digging through the profile activities. At worst you know that the user is a spammer because you trust the reporter but you just can't find the issue for whatever reason.

        But even worse: reporting spam does nothing immediately. The spam stays up until an admin wakes up, reviews the abuse reports and removes that user. Meanwhile, the spammer can happily keep filing issues against the project. Overall, it is not a particularly great situation.

        With hookiedookie and damspam, we're now better equipped to stand against the tide of spam. Anyone who can assign labels can help fight spam and the effect is immediate. And it's - for our use-cases - safe enough: if you trust someone to be a developer on your project, we can trust them to not willy-nilly remove issues pretending they're spam. In fact, they probably could've deleted issues beforehand already anyway if they wanted to make them disappear.

        Other instances

        While we're definitely aiming at gitlab.freedesktop.org, there's nothing in particular that requires this instance. If you're the admin for a public gitlab instance feel free to talk to Benjamin Tissoires or me to check whether this could be useful for you too, and what changes would be necessary.

        Moving online discussion to Matrix

        Posted by Cockpit Project on March 29, 2023 12:00 AM

        Effective today, the Cockpit Project is moving our primary online discussion forum from IRC to Matrix.

        You can now find us in #cockpit:fedoraproject.org. You can follow the link to login using an existing Matrix account, or easily create a new one using a variety of single sign-on parters (including GitHub and GitLab).

        The old IRC channel on libera.chat has been discontinued. It is no longer possible to write messages there. We’ve elected not to bridge the channel, mostly on account of recent reliability issues.

        Honestly, we’re a bit sad to be leaving IRC after so long. Matrix is a secure (end-to-end encrypted) and decentralized (server federated) platform with open specifications and many Free Software implementations of both clients and servers. It has a strong IRC-based heritage. It was a natural choice for our project.

        We look forward to seeing you there!

        Syslog-ng 101, part 13: Updating syslog-ng, syslog-ng 4

        Posted by Peter Czanik on March 28, 2023 01:08 PM

        Version 4 of syslog-ng is now available. The good news is that it is fully backwards compatible. If the version string in your configuration is set to a 3.X version, it will work as expected even after updating to version 4. Of course you might run into corner cases, but I had no problems even with complex configurations. Today, we learn about updating syslog-ng, and some of the new features of syslog-ng 4.

        You can watch the video on YouTube:

        <iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/205eMGS51XU" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>
        and the complete playlist at https://www.youtube.com/playlist?list=PLoBNbOHNb0i5Pags2JY6-6wH2noLaSiTb

        Or you can read the rest the tutorial as a blog at: https://www.syslog-ng.com/community/b/blog/posts/syslog-ng-101-part-13-updating-syslog-ng-syslog-ng-4

        <figure><figcaption>

        syslog-ng logo

        </figcaption> </figure>

        Hello world!

        Posted by Didier Fabert (tartare) on March 28, 2023 06:54 AM

        Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

        What is Apache Spark

        Posted by ! Avi Alkalay ¡ on March 27, 2023 07:08 PM

        Apache Spark is like Python’s Pandas and is like SQL databases. It can manipulate datasets, filter, integrate, transform.

        <figure class="wp-block-image size-large is-resized"></figure>

        But Spark was designed from scratch with horizontal scalability and parallelism in mind, which makes it capable of handling datasets with billions or even unknown number of rows — even if a bit less flexible than Pandas.

        This is not new in the industry. Enterprise editions of commercial SQL databases are parallel and scalable since a very long time, being also very expensive in all levels of the stack: service/support, software and hardware.

        But Spark is free software. And can use Hadoop — also a free software — as scalable and highly available storage, on cheap commodity hardware. In addition, it has a vibrant community and a democratic ecosystem of services and support.

        As with all Open Source, Apache Spark changes the economic landscape of massive data processing systems market, taking money out of a few proprietary HW and SW vendors and pulverizing it locally on people and support.

        From my LinkedIn of 2021-03-18 07:02:56

        What means to be Driven By Data

        Posted by ! Avi Alkalay ¡ on March 27, 2023 06:53 PM

        I’ve seen companies saying they have Big Data because they implemented Hadoop or a data lake and maybe Spark.

        That’s just wrong.

        Big Data, or more precisely, to be Data Driven, is a state where the data a company produces can be reused, as soon as possible, to optimize itself. And there are many ways to reuse data: all meetings and decisions happen with abundance of data, or recently generated data instantly feeds machine learning algorithms to optimize transactions, just to name a few situations.

        To be Driven by Data is part culture and part infrastructure. On the infrastructure side, IT teams still struggle with limited visions about how data should flow pervasively and how access should be granted. They fear about security and performance while they should fear of missing out the data opportunity.

        Data Streaming is a breakthrough recent technology that is here to help with more fluent data access. For an agile and effective data architecture, Data Streaming is much more strategic and important than just a bigger data warehouse because it is the component that can unleash your data and finally make it useful.

        On my LinkedIn of 2021-05-30 15:11:58

        Die, e-mail, die, die

        Posted by ! Avi Alkalay ¡ on March 27, 2023 06:50 PM

        Nobody here reads e-mails. Avoid sending e-mails. If you need to send an e-mail to someone, notify him/her on Slack in order to actually have them reading it.

        First week on a startup.

        Die, e-mail, die, die. Finally!

        Also on my LinkedIn of 2021-06-11 12:29:05

        How programmers should record time

        Posted by ! Avi Alkalay ¡ on March 27, 2023 06:45 PM

        We the data people immediately identify a poorly designed system when we see it handling date and time as plain local time, instead of the number of seconds since January 1st 1970 of time zone 0.

        • This post was published on 1,626,425,523 (UTC, always UTC).
        • Jesus was born -62,399,513,432.
        • Man visited the moon between -14,552,880 and 93,172,200.
        • And so on…

        Just your daily dose of nerdy facts…

        Also on my LinkedIn of 2021-07-16 09:10:06

        Contribute at the Fedora CoreOS, Upgrade, and IoT Test Days

        Posted by Fedora Magazine on March 27, 2023 04:58 PM

        Fedora test days are events where anyone can help make certain that changes in Fedora work well in an upcoming release. Fedora community members often participate, and the public is welcome at these events. If you’ve never contributed to Fedora before, this is a perfect way to get started.

        There are five upcoming test days in the next two weeks covering three topics:

        • Tues 28 March through Sunday 02 April, is to test the Fedora CoreOS.
        • Wed March 28th through March 31st , is to test the Upgrade
        • Monday April 03 through April 07 , is to test Fedora IoT .

        Come and test with us to make Fedora 38 even better. Read more below on how to do it.

        Fedora 38 CoreOS Test Week

        The Fedora 38 CoreOS Test Week focuses on testing FCOS based on Fedora 38. The FCOS next stream is already rebased on Fedora 38 content, which will be coming soon to testing and stable. To prepare for the content being promoted to other streams the Fedora CoreOS and QA teams have organized test days on Tues, March 28, 2023 (results accepted through Sun , April 2). Refer to the wiki page for links to the test cases and materials you’ll need to participate. The FCOS and QA team will meet and communicate with the community sync on a Google Meet at the beginning of test week and async over multiple matrix/element channels. Read more about them in this announcement.

        Upgrade test day

        As we come closer to Fedora Linux 38 release dates, it’s time to test upgrades. This release has a lot of changes and it becomes essential that we test the graphical upgrade methods as well as the command line. As a part of these test days, we will test upgrading from a full updated, F36 and F37 to F38 for all architectures (x86_64, ARM, aarch64) and variants (WS, cloud, server, silverblue, IoT).

        IoT test week

        For this test week, the focus is all-around; test all the bits that come in a Fedora IoT release as well as validate different hardware. This includes:

        • Basic installation to different media
        • Installing in a VM
        • rpm-ostree upgrades, layering, rebasing
        • Basic container manipulation with Podman.

        We welcome all different types of hardware, but have a specific list of target hardware for convenience.

        How do test days work?

        A test day is an event where anyone can help make certain that changes in Fedora work well in an upcoming release. Fedora community members often participate, and the public is welcome at these events. Test days are the perfect way to start contributing if you not in the past.

        The only requirement to get started is the ability to download test materials (which include some large files) and then read and follow directions step by step.

        Detailed information about all the test days are on the wiki page links provided above. If you are available on or around the days of the events, please do some testing and report your results.


        Next Open NeuroFedora meeting: 27 March 1300 UTC

        Posted by The NeuroFedora Blog on March 27, 2023 12:14 PM
        Photo by William White on Unsplash

        Photo by William White on Unsplash.


        Please join us at the next regular Open NeuroFedora team meeting on Monday 27 March at 1300 UTC. The meeting is a public meeting, and open for everyone to attend. You can join us over:

        You can use this link to convert the meeting time to your local time. Or, you can also use this command in the terminal:

        $ date --date='TZ="UTC" 1300 2023-03-27'
        

        The meeting will be chaired by @ankursinha. The agenda for the meeting is:

        We hope to see you there!

        Episode 368 – The Sovereign Tech Fund with Fiona Krakenbürger

        Posted by Josh Bressers on March 27, 2023 12:00 AM

        Josh and Kurt talk to Fiona Krakenbürger about the Sovereign Tech Fund. This is a fund created by Germany to fund important open source projects. Fiona has amazing insight into how this fund was created, what it’s doing today to help fund open source. She discusses where we go from here and what the future will look like. The Sovereign Tech Fund is a forward thinking program to fund open source across the world. This episode is a window into the future.

        <audio class="wp-audio-shortcode" controls="controls" id="audio-3085-3" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_368_The_Sovereign_Tech_Fund_with_Fiona_Krakenburger.mp3?_=3" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_368_The_Sovereign_Tech_Fund_with_Fiona_Krakenburger.mp3</audio>

        Show Notes

        Hi-Tech Meets Lo-Tech

        Posted by Jon Chiappetta on March 26, 2023 08:14 PM
        <figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
        <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="371" src="https://www.youtube.com/embed/yclN7Pws8Lw?feature=oembed" title="Switchbot Setup" width="660"></iframe>
        </figure>

        Found this little device on Amazon called Switchbot and it is currently helping me to get into the garage without having to program anything extra or buy more openers or what not!

        What If Everybody Did It (WIEDI)?

        Posted by Joe Brockmeier on March 26, 2023 06:22 PM

        Most people, I think, tend only to think about their actions and interactions as one-offs. That is, we think “what happens if I do this” and consider the impact from that perspective. But what if we considered the outcomes and impacts if everybody (or even a lot of people) do the same thing? We might act differently. And maybe we should think that way more often. Let’s talk about What If Everybody Did It (WIEDI)? (Don’t worry, there’s a tie-in to open source and community in here, too…)

        The big picture

        Most of the time, people don’t seem to consider actions in aggregate unless it’s pointed out. Consider littering. In the United States it used to be just normal for people to throw garbage out of the car, because there weren’t norms against it. That’s not surprising when you consider that car ownership didn’t really become mainstream until the 1930s and 1940s, and then things like fast food (and the packaging that supports it) became more mainstream in the 1950s and 1960s.

        So people just chucked their garbage out the window with great regularity. And, you know, how big a deal is it if one person just tosses a paper bag or drink cup out a window? Inconsiderate, sure. But it’s pretty big country. One jerk tossing trash out the window all over the place is not going to do much in the grand scheme of things. Where’s the harm, right? The harm is in aggregate.

        Litter used to be ridiculous. It’s still a problem, but it used to be so much worse. What happened? To greatly oversimplify, they ran a big PSA campaign in the 70s to stop littering, and it changed (many) people’s behavior. Litter is still an issue, but less of one. Why?

        Not just because they made littering look like the irresponsible practice that it is, but because they showed the negative impact when everybody litters. If one person throws garbage out of the car window, the impact is small. But when everybody does it, it’s a massive eyesore. They made people think about WIEDI. But, pretty much, just about litter.

        What if we considered all, or even many, of our actions through the lens of WIEDI?

        • If one person picks up some garbage, that’s nice but won’t have a great impact. If everybody makes a practice of picking up garbage, things will look much nicer.
        • If one person is rude to service workers, that’s awful but isolated and lower impact. If everybody is rude, it’s brutal and demoralizing for people in service jobs.
        • If one person contributes a bug report or patch to open source projects they use instead of just complaining about bugs, it helps a little bit. If everybody does that, open source projects will be healthier.
        • If one person DMs or emails event organizers a question they could’ve looked up (or waited on), it’s no big deal. If everybody does it, it puts an even bigger burden on the organizers who are trying to handle the event.
        • If one startup withdraws all its money from a bank that’s struggling a bit, they can handle it. If everybody does it… well, we know that one.

        Community impact

        If you work in a community facing role in open source or tech, the impact of individual behavior at scale becomes immediately obvious. You’ll find yourself fielding a lot of requests or behaviors that, individually, have little impact. At scale, they tend to be very noticeable. Sometimes for the good, sometimes not.

        Consider conferences. Lots of people want individualized attention for their conference submissions, feedback on why they weren’t accepted. Seems kinda reasonable on an individual level, right? Why can’t you take 15 minutes to look through the submissions and tell me why mine wasn’t accepted?

        If one person asks, that’s no big problem. If two people ask… that’s 30 minutes. And if 20 people ask… well, there goes a day or two. And that’s assuming there’s no further discussion or objections.

        On the positive side, think about well-curated wikis. They’re rare, but when a project has a strong culture of updating info on the wiki (or whatever) it’s great. If everybody does a little work to update a project’s info, it’s not heavy lifting for a single person and the net effect is fantastic.

        And some community norms spring out of WIEDI. Take the ASF’s guidelines around “if it didn’t happen on the mailing list, it didn’t happen,” and other guidelines around consensus that explicitly give a time limit for feedback (lazy consensus). Why? Because those norms came out of understanding what happens if “everybody” (or just a lot of people) make decisions offlist and/or turn up two weeks after something is decided and want to reopen a discussion. It’s unworkable. Is it a problem as a one-off? Not usually – but the cumulative effect is awful, so it’s better to have a community norm that codifies the behavior that helps projects run more smoothly.

        Individually our impact is (usually) small. If I’m the kindest, most considerate person I can be or the biggest jerk I could be, my impact is limited. But if we all move in one direction or the other, the potential is enormous. So think about WIEDI and try to aim for the kind, considerate, constructive ways you might make an impact and move the needle — however slightly — towards the good.

        Bring it to other people’s attention, too. “Hey, what if everybody did that?” Not just for negative things, but also positive. “Hey, thanks for updating the wiki about that thing. If everybody does that, we’ll be in great shape!” or “great bug report, if all bug reports were that detailed my job would be so much easier!”

        Try to think about WIEDI a few times a day, for little actions and for big actions. Returning shopping carts. Chipping in some money for a GoFundMe. Going to a local restaurant or coffee shop instead of a chain. Deciding not to poke somebody for an update you don’t actually need, but you’re just itching to find out a little sooner. Being understanding about mistakes instead of complaining.

        I’m sure that you can think of plenty of examples yourself. Would love to hear some examples or other people’s thoughts of WIEDI in action.