Feeds
mark.ie: My LocalGov Drupal contributions for week-ending June 7th, 2024
Here's what I've been working on for my LocalGov Drupal contributions this week. Thanks to Big Blue Door for sponsoring the time to work on these.
Five Jars: Stress-Free Unit Testing in Drupal: Test Helpers Module
Wim Leers: XB week 3: shape matching
Monday was a U.S. holiday, which meant I was able to go full-steam ahead on the storage MR for Experience Builder (XB) that I started the prior week. On Tuesday, I continued that work, and spun off a second MR that allows changing the source type and source value … for which I shared a 2.5-minute screencast in #experience-builder late on Tuesday.
In it, you’ll see a hacky-as-hell UI. It’s currently named TwoTerribleTextAreasWidget to convey in no uncertain terms that this is throwaway code :D Its purpose: help stand up infrastructure and get the back-end pieces in place to power the UI (see last week’s screenshot), which is currently using hardcoded data.
Missed a prior week? See all posts tagged Experience Builder.
Goal: make it possible to follow high-level progress by reading ~5 minutes/week. I hope this empowers more people to contribute when their unique skills can best be put to use!
For more detail, join the #experience-builder Slack channel. Check out the pinned items at the top!
The video is the first step in visualizing all the pieces of Alex “effulgentsia”’s data model proposal in #3440578. In a nutshell, you can see that for each placed component, this video proves:
- it is possible to exactly match Single Directory Components (SDC) props against Drupal field types (to be precise: props inside those fields)
- while allowing those values to be:
- either dynamic: reuse of structured data that already exists on the entity (XB aims to embrace that strength of Drupal, not to diminish it)
- or static: fixed values stored in JSON-in-the-database as described in #3440578 1
- crucially, we can automatically surface only sensible choices, and present the choices in an order that encourages best practices, using only schema matching2 (SDCs use JSON schema, whereas the Drupal entity/field system uses Typed Data + validation constraints)
I was relieved to see that effulgentsia indicated this indeed matches his vision :)
Just those two source types (dynamic and static) are insufficient, which is why Felix has been hard at work to bring us a working PoC of adapters too, which are able to
- adapt data into a shape that Drupal does not provide a field type for (for example: the type: string, format: time)
- combine multiple data sources (any combination of static and dynamic) into a single shape (for example: combine an image + Image Style inputs and to adapt them into an image that uses that style
Adapters were merged on Friday!
That was more technical than previous weeks. The more technical readers might, if they squint again just like last week for the UI, be able to see how Lauri “lauriii”, effulgentsia and I see the different pieces connect. I know that many of you are longing for detailed architectural diagrams. They do not exist today. We had to first prove what we envisioned was feasible. There’s a bit more proving to be done first, but then such documentation & diagrams will be my top priority.
Before sharing that video on Tuesday, I met with Cristina “ckrina”, Jared “jponch”, Mateu “e0ipso” and Mike “mherchel”, about design tokens, which is another crucial part of XB. e0ipso had already been working on a PoC for bringing design tokens to SDC, whereas ckrina felt it was important to start defining which design tokens should exist. We ended up concluding unanimously that building a few concrete components and making them use design tokens would help define that — so ckrina, jponch and mherchel are tackling that next.
The meeting was recorded and shared and sparked a lively discussion, where Pierre “pdureau” chimed in with interesting UI Suite-based opinions
It’s great to see this work in motion, because both the exploratory “how should it work from a design POV?” and the concrete SDC support work are necessary, and both will inform the direction of #3444424: [META] Configuration management: define needed config entity types.
On Wednesday, #3450586: [META] Early phase back-end work coordination and #3450592: [META] Early phase front-end work coordination were created, to start making it possible for any Drupal contributor to 1) see what’s happening, 2) find issues to contribute to. (The list of available issues is sparse at this early stage, because there barely is a codebase, and not all architectural puzzle pieces exist yet.)
Later that day, I rode my bicycle over to meet with 4 people of the Dropsolid team. They’re very eager to contribute to XB (their CEO, Dominique “domidc” almost didn’t let me leave the DrupalCon venue when it was closing, that’s how enthusiastic they are :D), and they bring a unique perspective: they focus on “mid-market” and have hundreds (thousand?) of sites using Layout Builder. Thanks to to that, they intimately know some of Layout Builder’s architectural choices that XB should avoid. On the code contribution side, I was able to point them to the 2 meta issues above that had been created only hours prior. On the UX/product side of XB, they’re coordinating with lauriii next, so expect to hear more in a future update.
Perhaps the best place to contribute to XB today is actually in SDC! Kyle “ctrlADel” Einecker discovered an SDC bug during DrupalCon Portland (#3446933) that definitely will block XB. e0ipso worked on a fix and penyaskito RTBC‘d it on Thursday. This also connects with #3446083 and #3446722 which focuses on defining different ways of composing components out of existing SDCs for XB to support.
Also on Wednesday, Lee “larowlan” helped the UI transition from miragejs to msw.
To round the week out, Ben “bnjmnm” finished his epic battle with the CI gods on Friday and won!: he got Cypress working on XB’s GitLab CI pipeline. Both Ben and Jesse were raving about the excellent DX that Cypress has compared to other (end-to-end) testing frameworks for JS. With the CI pieces in place, we’re ending this week on a strong note: future UI work will be able to move faster thanks to Cypress, and Cypress-on-CI!
Thanks to Lauri for reviewing this!
-
To generate field widgets for these, we conjure instances of those field types out of thin air! ↩︎
-
Schema matching basically is a fancy word for shape matching. ↩︎
Community Working Group posts: 2024 Aaron Winborn Award Winner: Mike Anello
At DrupalCon Portland 2024, members of the Drupal Community Working Group were pleased to announce the winner of the 2024 Aaron Winborn Award, Mike Anello (ultimike.)
About Mike Anello
Mike Anello winner of the Aaron Winborn Award 2024
Mike has been an integral part of the Drupal Community for nearly 20 years. His leadership is evident through his long-term involvement with the Community Working Group and its Conflict Resolution Team, as well as his role as the lead organizer of Florida Drupal Camp. As a co-founder and educator at DrupalEasy, he continues to mentor and inspire numerous community members, helping to lower barriers to entry. Mike consistently shares his expertise as a presenter and facilitator at many Drupal events. His contributions inspire many, both directly and indirectly, throughout our community.
Heartfelt NominationsEach year many individuals are nominated for the award. But this year, one nomination seemed to sum the rest up with a simple, “You damned well know why Mike Anello deserves this award more than anyone else. Seriously.”
Other nominations were less direct but full of grace and patience, much like Mike’s contribution to Drupal over the years. Here are a few others:
“Mike is a model community member who has had an exponential impact on the success of our community. I can't think of anyone more deserving of this award.”
“I believe hundreds of folks have been impacted positively by Mike over their career.”
“Without Mike Anello, I don't know if I would have been as enthralled with Drupal as I became. I still remember the first time I met Mike at DrupalCamp Atlanta in 2013. He inspired me to do more than work with Drupal; he inspired me to join the Drupal community. His work with DrupalEasy continues to build an education pipeline that brings in new community members and levels those who may already be involved so that they can grow their careers.”
The CWG has contacted all nominees to let them know of their nomination and shared some details about what their nominators wrote about them, thanking them for their continued work in the community.
About the Aaron Winborn Award
The 2024 Aaron Winborn Award
The award is named after a long-time Drupal contributor who lost his battle with ALS in 2015. This award recognizes an individual who, like Aaron, demonstrates personal integrity, kindness, and an above-and-beyond commitment to the Drupal project and community.
Previous winners of the award are Cathy Theys, Gabór Hojtsy, Nikki Stevens, Kevin Thull, Leslie Glynn, Baddý Breidert, AmyJune Hineline, Angie Byron, and Randy Fay. Current CWG Conflict Resolution Team members, along with previous winners, selected the winner based on nominations submitted by Drupal community members.
Nominations for next year's award will open in early 2025.
File attachments: ma-24-awa.jpeg awa2024-award.pngGNU Taler news: GNU Taler at PointZeroForum innovation tour
Python Engineering at Microsoft: Python in Visual Studio Code – June 2024 Release
We’re excited to announce the June 2024 release of the Python and Jupyter extensions for Visual Studio Code!
This release includes the following announcements:
- VS Code Native REPL for Python with Intellisense and syntax highlighting
- Pytest improvements in the testing rewrite
If you’re interested, you can check the full list of improvements in our changelogs for the Python, Jupyter and Pylance extensions.
VS Code Native REPL for Python with Intellisense and syntax highlightingStarting in this release, we are experimenting with a new REPL in the Python extension which includes features such as Intellisense and syntax highlighting to make your Python development experience more efficient. For those familiar with Jupyter’s Interactive Window, this REPL may look similar; however, it has two key differentiators: it does not rely on the Jupyter extension, nor does it require a kernel to be installed in your development environment. This VS Code Native REPL for Python also adheres to principles present in the REPL built-in to Python itself, in that history is immutable.
To enable this feature, set "python.REPL.sendToNativeREPL": true in your settings.json file. This will execute code in the VS Code Native REPL on Shift+Enter and Run Selection/Line. Moreover, the Native REPL will smartly execute on Enter, similar to Python’s original interactive interpreter, if you add the setting "interactiveWindow.executeWithShiftEnter": false, in your settings.json. You can opt to continue to use the REPL built-in to Python located in the terminal ( >>> ) by setting "python.REPL.sendToNativeREPL": false in your settings.json.
As we continue iterating on this feature, all feedback is welcomed and can be made as issues in our GitHub repository.
Pytest improvements in the testing rewriteThe experience with pytest when using the Python Testing Rewrite has been improved to better support setting pytest’s cwd (current working directory) when it is adjacent to the VS Code workspace root, and for displaying parameterized tests on the Test Explorer when function names are repeated across classes. Additionally, we reduced test discovery failure scenarios by adding the system configuration script path to PATH to enable shells for test execution.
As we continue to add improvements to the testing experience under the rewrite to make the experience more stable and performant, we will begin adopting the rewrite as default in the upcoming month on pre-release of the Python extension.
Other Changes and EnhancementsWe have also added small enhancements and fixed issues requested by users that should improve your experience working with Python and Jupyter Notebooks in Visual Studio Code. Some notable changes include:
- You can now enable/disable auto-indent with Pylance without having to restart the server (pylance-release#5778)
- “Implement all inherited abstract classes” Code Action is now available as a Quick Fix for the reportAbstractUsage diagnostic (pylance-release#5757)
We would also like to extend special thanks to this month’s contributors:
- @LouisGobert Show PyPi links in requirements.txt in @vscode-python#23288
- @andybbruno Fix KeyError: 'params' when running tests in @vscode-python#23397
As we are planning and prioritizing future work, we value your feedback! Below are a few issues we would love feedback on:
- Design proposal for test coverage in (@vscode-python#22827)
Try out these new improvements by downloading the Python extension and the Jupyter extension from the Marketplace, or install them directly from the extensions view in Visual Studio Code (Ctrl + Shift + X or ⌘ + ⇧ + X). You can learn more about Python support in Visual Studio Code in the documentation. If you run into any problems or have suggestions, please file an issue on the Python VS Code GitHub page.
The post Python in Visual Studio Code – June 2024 Release appeared first on Python.
Lullabot: Will Drupal Starshot Help Drupal Compete?
Recently, Dries Buytaert announced the Drupal Starshot leadership team. Lullabot's Cristina Chumillas will be the UX lead. In this role, Cristina will "define the design and user experience vision" for the product.
The Python Show: 43 - Python Image Processing with Pillow
In this episode, Mike has Alex Clark on the show. Alex is the leading developer of the fork of the Python Imaging Library (PIL), known as Pillow.
We chatted about the following topics:
The origins of Pillow
Lessons learned in open source development
Surprising use cases for Pillow
AI and Pillow
and much more!
Django - https://www.djangoproject.com/
Wagtail - https://wagtail.org/
Faker - https://github.com/joke2k/faker
django-allauth - https://allauth.org/
django-extensions - https://github.com/django-extensions/django-extensions
django-sql-explorer - https://www.sqlexplorer.io/
logfire - https://pydantic.dev/logfire
Pillow demo - https://github.com/python-pillow/pillow-demo
https://www.jeremykun.com/2012/01/01/random-psychedelic-art/
https://github.com/readme/featured/nasa-ingenuity-helicopter
Alex’s band - https://headstraightband.com
Dries Buytaert: Announcing the Drupal Starshot leadership team
Although my blog has been quiet, a lot has happened with the Drupal Starshot project since its announcement a month ago. We provided an update in the first Drupal Starshot virtual meeting, which is available as a recording.
Today, I am excited to introduce the newly formed Drupal Starshot leadership team.
Meet the leadership team Product Lead: Dries BuytaertI will continue to lead the Drupal Starshot project, focusing on defining the product vision and strategy and building the leadership team. In the past few weeks, I have cleared other responsibilities to dedicate a significant amount of time to Drupal Starshot and Drupal Core.
Technical Lead: Tim Plunkett (Acquia)Tim will oversee technical decisions and facilitate contributions from the community. His role includes building a team of Drupal Starshot Committers, coordinating with Drupal Core Committers, and ensuring that Drupal Starshot remains stable, secure, and easy to upgrade. With 7 years of engineering leadership experience, Tim will help drive technical excellence. Acquia is providing Tim the opportunity to work full-time on the Drupal Starshot project.
User Experience Lead: Cristina Chumillas (Lullabot)Cristina will define the design and user experience vision for Drupal Starshot. She will engage with contributors to initiate research activities and share the latest UI/UX best practices, ensuring a user-centric approach. She has been leading UX-related Drupal Core initiatives for over 7 years. Lullabot, Cristina's employer, has generously offered her the opportunity to work on Drupal Starshot full-time.
Product Owner: Pamela Barone (Technocrat)Pam will help ensure alignment and progress among contributors, including defining and prioritizing work. She brings strong communication and organizational skills, having led Drupal projects for more than 12 years.
Contribution Coordinator: Gábor Hojtsy (Acquia)Gábor will focus on making it easier for individuals and organizations to contribute to Drupal Starshot. With extensive experience in Open Source contribution and community engagement, Gábor will help communicate progress, collaborate with the Drupal Association, and much more. Acquia will provide Gábor with the opportunity to work full-time on the Drupal Starshot project.
Starshot Council (Advisory Board)To support the leadership team, we are establishing the Starshot Council, an advisory board that will include:
- Three end-users (site builders)
- Three Certified Drupal Partners
- Two Drupal Core Committers (one framework manager and one release manager)
- Three Drupal Association board members, one from each of the following Board Working Groups: Innovation, Marketing, and Fundraising
- Two staff members from the Drupal Association
The council will meet monthly to ensure the leadership team remains aligned with the broader community and strategic goals. The Drupal Association is leading the effort to gather candidates, and the members of the Starshot Council will be announced in the coming weeks.
More opportunities to get involvedThere are many opportunities for others to get involved as committers, designers, developers, content creators, and more.
We have specific tasks that need to be completed, such as finishing Project Browser, Recipes and Automatic Updates. To help people get involved with this work, we have set up several interactive Zoom calls. We'll update you on our progress and give you practical advice on where and how you can contribute.
Beyond the tasks we know need to be completed, there are still many details to define. Our next step is to identify these. My first priority was to establish the leadership team. With that in place, we can focus on product definition and clarifying the unknowns. We'll brief you on our initial ideas and next steps in our next Starshot session this Friday.
ConclusionThe Drupal Starshot project is off to an exciting start with this exceptional leadership team. I am grateful to these talented individuals for stepping up to drive this important project. Their combined expertise and dedication will drive excitement and improvements for the Drupal platform, ultimately benefiting our entire community. Stay tuned for updates as we continue to make strides in this ambitious initiative.
Python Software Foundation: Affirm your PSF Membership Voting Status
Every PSF voting-eligible Member (Supporting, Managing, Contributing, and Fellow) needs to affirm their membership to vote in this year’s election.
If you wish to vote in this year’s election, you must affirm your intention to vote no later than Tuesday, June 25th, 2:00 pm UTC to participate in this year’s election. This year’s Board Election vote begins Tuesday, July 2nd, 2:00 pm UTC and closes on Tuesday, July 16th, 2:00 pm UTC. You should have received an email from "psf@psfmember.org <Python Software Foundation>" with subject "[Action Required] Affirm your PSF Membership voting status" that contains information on how to affirm your voting status. If you were expecting to receive the email but have not (make sure to check your spam!), please email psf-elections@pyfound.org and we’ll assist you.
Section 4.2 of the PSF Bylaws requires that “Members of any membership class with voting rights must affirm each year to the corporation in writing that such member intends to be a voting member for such year.”
The PSF did not enforce this before 2023 because it was technically challenging. Now that we can track our entire voting membership on psfmember.org, we are implementing this requirement.
Our motivation is to ensure that our elections can meet quorum as required by Section 3.9 of our bylaws. As our membership has grown, we have seen that an increasing number of Contributing, Managing, and Fellow members with indefinite membership do not engage with our annual election, making quorum difficult to reach.
An election that does not reach quorum is invalid. This would cause the whole voting process to be re-held as well as create an undue amount of effort on the part of the PSF Staff.
You can see your membership record and status on your PSF Member User Information page (note you must be logged in to psfmember.org to view that page). If you are a voting-eligible member (active Supporting, Managing, Contributing, and Fellow members of the PSF) and do not already have a login, please create an account on psfmembership.org first and then email psf-donations@python.org so we can link your membership to your account. Please ensure you have an account linked to your membership so that we can have the most up-to-date contact information for you in the future.
You’ll get an email from OpaVote with a ballot on or before July 2nd and then you can vote!
Check out our PSF Membership page to learn more. If you have questions about membership or nominations please email psf-donations@python.org. Join the PSF Discord for the Board Office Hours, June 11th, 4-5 PM UTC, and June 18th, 12-1 PM UTC. You are also welcome to join the discussion about the PSF Board election on our forum.
Drupal Starshot blog: Experience Builder week 3: shape matching
Monday was a U.S. holiday, which meant I was able to go full-steam ahead on the storage MR for Experience Builder (XB) that I started the prior week. On Tuesday, I continued that work, and spun off a second MR that allows changing the source type and source value … for which I shared a 2.5-minute screencast in #experience-builder late on Tuesday.
In it, you’ll see a hacky-as-hell UI. It’s currently named TwoTerribleTextAreasWidget to convey in no uncertain terms that this is throwaway code :D Its purpose: help stand up infrastructure and get the back-end pieces in place to power the UI (see last week’s screenshot), which is currently using hardcoded data.
The video is the first step in visualizing all the pieces of Alex “effulgentsia”’s data model proposal in #3440578. In a nutshell, you can see that for each placed component, this video proves:
- it is possible to exactly match Single Directory Components (SDC) props against Drupal field types (to be precise: props inside those fields)
- while allowing those values to be:
- either dynamic: reuse of structured data that already exists on the entity (XB aims to embrace that strength of Drupal, not to diminish it)
- or static: fixed values stored in JSON-in-the-database as described in #3440578 1
- crucially, we can automatically surface only sensible choices, and present the choices in an order that encourages best practices, using only schema matching2 (SDCs use JSON schema, whereas the Drupal entity/field system uses Typed Data + validation constraints)
I was relieved to see that effulgentsia indicated this indeed matches his vision :)
Just those two source types (dynamic and static) are insufficient, which is why Felix has been hard at work to bring us a working PoC of adapters too, which are able to
- adapt data into a shape that Drupal does not provide a field type for (for example: the type: string, format: time)
- combine multiple data sources (any combination of static and dynamic) into a single shape (for example: combine an image + Image Style inputs and to adapt them into an image that uses that style
Adapters were merged on Friday!
That was more technical than previous weeks. The more technical readers might, if they squint again just like last week for the UI, be able to see how Lauri “lauriii”, effulgentsia and I see the different pieces connect. I know that many of you are longing for detailed architectural diagrams. They do not exist today. We had to first prove what we envisioned was feasible. There’s a bit more proving to be done first, but then such documentation & diagrams will be my top priority.
Before sharing that video on Tuesday, I met with Cristina “ckrina”, Jared “jponch”, Mateu “e0ipso” and Mike “mherchel”, about design tokens, which is another crucial part of XB. e0ipso had already been working on a PoC for bringing design tokens to SDC, whereas ckrina felt it was important to start defining which design tokens should exist. We ended up concluding unanimously that building a few concrete components and making them use design tokens would help define that — so ckrina, jponch and mherchel are tackling that next.
The meeting was recorded and shared and sparked a lively discussion, where Pierre “pdureau” chimed in with interesting UI Suite-based opinions
It’s great to see this work in motion, because both the exploratory “how should it work from a design POV?” and the concrete SDC support work are necessary, and both will inform the direction of #3444424: [META] Configuration management: define needed config entity types.
On Wednesday, #3450586: [META] Early phase back-end work coordination and #3450592: [META] Early phase front-end work coordination were created, to start making it possible for any Drupal contributor to 1) see what’s happening, 2) find issues to contribute to. (The list of available issues is sparse at this early stage, because there barely is a codebase, and not all architectural puzzle pieces exist yet.)
Later that day, I rode my bicycle over to meet with 4 people of the Dropsolid team. They’re very eager to contribute to XB (their CEO, Dominique “domidc” almost didn’t let me leave the DrupalCon venue when it was closing, that’s how enthusiastic they are :D), and they bring a unique perspective: they focus on “mid-market” and have hundreds (thousand?) of sites using Layout Builder. Thanks to to that, they intimately know some of Layout Builder’s architectural choices that XB should avoid. On the code contribution side, I was able to point them to the 2 meta issues above that had been created only hours prior. On the UX/product side of XB, they’re coordinating with lauriii next, so expect to hear more in a future update.
Perhaps the best place to contribute to XB today is actually in SDC! Kyle “ctrlADel” Einecker discovered an SDC bug during DrupalCon Portland (#3446933) that definitely will block XB. e0ipso worked on a fix and penyaskito RTBC‘d it on Thursday. This also connects with #3446083 and #3446722 which focuses on defining different ways of composing components out of existing SDCs for XB to support.
Also on Wednesday, Lee “larowlan” helped the UI transition from miragejs to msw.
To round the week out, Ben “bnjmnm” finished his epic battle with the CI gods on Friday and won!: he got Cypress working on XB’s GitLab CI pipeline. Both Ben and Jesse were raving about the excellent DX that Cypress has compared to other (end-to-end) testing frameworks for JS. With the CI pieces in place, we’re ending this week on a strong note: future UI work will be able to move faster thanks to Cypress, and Cypress-on-CI!
Thanks to Lauri for reviewing this!
-
To generate field widgets for these, we conjure instances of those field types out of thin air! ↩︎
-
Schema matching basically is a fancy word for shape matching. ↩︎
This blog has been re-posted and edited with permission from Wim Leer's blog
The Drop Times: Drupaljam Partners with TDT for Media Coverage
Debian Brasil: MiniDebConf Belo Horizonte 2024 - a brief report
From April 27th to 30th, 2024, MiniDebConf Belo Horizonte 2024 was held at the Pampulha Campus of UFMG - Federal University of Minas Gerais, in Belo Horizonte city.
This was the fifth time that a MiniDebConf (as an exclusive in-person event about Debian) took place in Brazil. Previous editions were in Curitiba (2016, 2017, and 2018), and in Brasília 2023. We had other MiniDebConfs editions held within Free Software events such as FISL and Latinoware, and other online events. See our event history.
Parallel to MiniDebConf, on 27th (Saturday) FLISOL - Latin American Free Software Installation Festival took place. It's the largest event in Latin America to promote Free Software, and It has been held since 2005 simultaneously in several cities.
MiniDebConf Belo Horizonte 2024 was a success (as were previous editions) thanks to the participation of everyone, regardless of their level of knowledge about Debian. We value the presence of both beginner users who are familiarizing themselves with the system and the official project developers. The spirit of welcome and collaboration was present during all the event.
2024 edition numbersDuring the four days of the event, several activities took place for all levels of users and collaborators of the Debian project. The official schedule was composed of:
- 06 rooms in parallel on Saturday;
- 02 auditoriums in parallel on Monday and Tuesday;
- 30 talks/BoFs of all levels;
- 05 workshops for hands-on activities;
- 09 lightning talks on general topics;
- 01 Live Electronics performance with Free Software;
- Install fest to install Debian on attendees' laptops;
- BSP (Bug Squashing Party);
- Uploads of new or updated packages.
The final numbers for MiniDebConf Belo Horizonte 2024 show that we had a record number of participants.
- Total people registered: 399
- Total attendees in the event: 224
Of the 224 participants, 15 were official Brazilian contributors, 10 being DDs (Debian Developers) and 05 (Debian Maintainers), in addition to several unofficial contributors.
The organization was carried out by 14 people who started working at the end of 2023, including Prof. Loïc Cerf from the Computing Department who made the event possible at UFMG, and 37 volunteers who helped during the event.
As MiniDebConf was held at UFMG facilities, we had the help of more than 10 University employees.
See the list with the names of people who helped in some way in organizing MiniDebConf Belo Horizonte 2024.
The difference between the number of people registered and the number of attendees in the event is probably explained by the fact that there is no registration fee, so if the person decides not to go to the event, they will not suffer financial losses.
The 2024 edition of MiniDebconf Belo Horizonte was truly grand and shows the result of the constant efforts made over the last few years to attract more contributors to the Debian community in Brazil. With each edition the numbers only increase, with more attendees, more activities, more rooms, and more sponsors/supporters.
The MiniDebConf schedule was intense and diverse. On the 27th, 29th and 30th (Saturday, Monday and Tuesday) we had talks, discussions, workshops and many practical activities.
On the 28th (Sunday), the Day Trip took place, a day dedicated to sightseeing around the city. In the morning we left the hotel and went, on a chartered bus, to the Belo Horizonte Central Market. People took the opportunity to buy various things such as cheeses, sweets, cachaças and souvenirs, as well as tasting some local foods.
After a 2-hour tour of the Market, we got back on the bus and hit the road for lunch at a typical Minas Gerais food restaurant.
With everyone well fed, we returned to Belo Horizonte to visit the city's main tourist attraction: Lagoa da Pampulha and Capela São Francisco de Assis, better known as Igrejinha da Pampulha.
We went back to the hotel and the day ended in the hacker space that we set up in the events room for people to chat, packaging, and eat pizzas.
CrowdfundingFor the third time we ran a crowdfunding campaign and it was incredible how people contributed! The initial goal was to raise the amount equivalent to a gold tier of R$ 3,000.00. When we reached this goal, we defined a new one, equivalent to one gold tier + one silver tier (R$ 5,000.00). And again we achieved this goal. So we proposed as a final goal the value of a gold + silver + bronze tiers, which would be equivalent to R$ 6,000.00. The result was that we raised R$7,239.65 (~ USD 1,400) with the help of more than 100 people!
Thank you very much to the people who contributed any amount. As a thank you, we list the names of the people who donated.
Food, accommodation and/or travel grants for participantsEach edition of MiniDebConf brought some innovation, or some different benefit for the attendees. In this year's edition in Belo Horizonte, as with DebConfs, we offered bursaries for food, accommodation and/or travel to help those people who would like to come to the event but who would need some kind of help.
In the registration form, we included the option for the person to request a food, accommodation and/or travel bursary, but to do so, they would have to identify themselves as a contributor (official or unofficial) to Debian and write a justification for the request.
Number of people benefited:
- Food: 69
- Accommodation: 20
- Travel: 18
The food bursary provided lunch and dinner every day. The lunches included attendees who live in Belo Horizonte and the region. Dinners were paid for attendees who also received accommodation and/or travel. The accommodation was held at the BH Jaraguá Hotel. And the travels included airplane or bus tickets, or fuel (for those who came by car or motorbike).
Much of the money to fund the bursaries came from the Debian Project, mainly for travels. We sent a budget request to the former Debian leader Jonathan Carter, and He promptly approved our request.
In addition to this event budget, the leader also approved individual requests sent by some DDs who preferred to request directly from him.
The experience of offering the bursaries was really good because it allowed several people to come from other cities.
Photos and videosYou can watch recordings of the talks at the links below:
And see the photos taken by several collaborators in the links below:
ThanksWe would like to thank all the attendees, organizers, volunteers, sponsors and supporters who contributed to the success of MiniDebConf Belo Horizonte 2024.
SponsorsGold:
Silver:
Bronze:
Supporters OrganizersDjango Weblog: PyCharm &amp; Django Campaign 2024
The Django Software Foundation's biggest fundraising event of the year is here!
Get 30% off PyCharm, Support Django
Each year, our friends at JetBrains, the creators of PyCharm, run an incredible deal. You get a 30% discounted year of PyCharm, AND the DSF gets 100% of the money. Yes, 100%! It's making a donation and directly getting a great product in return!
The fundraiser will be split this year, and the first half runs until June 15th! Buy PyCharm and support Django!
In the past, JetBrains through the PyCharm fundraiser has provided approximately one quarter of the Django Software Foundation's budget!
Donations like this fundraiser allow the DSF to function. Our two wonderful Fellows, Natalia Bidart and Sarah Boyce keep Django running smoothly, picking up pieces that would otherwise not happen.
The other side of the DSF is our support for Django groups across the globe. We supported every DjangoCon, particularly with donating funding towards opportunity grants for more people to be able to attend these conferences. The DSF also supports smaller events around the world, including DjangoGirls events.
Finally, I want to tell you about PyCharm itself.
PyCharm is an integrated development environment (IDE) that helps professional Python web developers be more productive, be more confident, and write better code. It supports the full Python web workflow out of the box, including popular Python web frameworks, such as Django, frontend technologies, and databases.
Here are the main benefits of using PyCharm in your Django development:
- The built-in Django run/debug configuration type makes it easy to configure and start the Django server.
- First-in-class code assistance for Django and Django templates, including navigation between views and templates, the ability to debug templates visually.
- Code assistance for the Django REST Framework.
- Refactoring and navigation for endpoints across your project in the Endpoints tool window.
- Built-in HTTP Client.
- Database integration, including PostgreSQL, SQLite, Redis and more!
- Support for your frontend stack: JavaScript, React, Node.js, Tailwind CSS, and more.
Get Django work done with PyCharm, a powerful IDE tailored for Django web development!
Consider this the easiest charitable donation you will ever make, when you get such a great product in return!
Get 30% off PyCharm, Support Django
Other ways to donateIf you would like to donate in another way, especially if you are already a PyCharm customer, here are other ways to donate to the DSF:
- On our website via credit card
- Via GitHub Sponsors
- For those able to make a larger donation, particularly corporate sponsors ($2000+), more information is here: Corporate membership
Thank you,
Catherine Holmes
DSF Assistant
Paul Wise: FLOSS Activities May 2024
This month I didn't have any particular focus. I just worked on issues in my info bubble.
Changes- ulfius: fix uwsc quiet mode
- duck: add indicators of obsolete sites (1 2)
- Debian BTS usertags: fix buildd, porter, derivatives, BSP tags
- Debian wiki pages: ArchiveQualification/loong64, BSP, DebianEvents/de/2024/FrOSCon19, DebianUnstable, Firmware/Open, HardwareQualification/riscv64, Kubernetes, Packaging/Pre-Requisites/nspawn, Ports/loong64, Ports/riscv64, Python3-six-removal, Sparc64, Teams/Cloud, WhyTheName, rt.debian.org
- Incorrect URL in fracatux
- Features in socat, lintian, KDE Plasma Shell
- Warnings in pyasn, onionshare-cli, osc
- Broken manual page in jbig2
- Incorrect EOF handling in ncat
- Debian BTS usertags: changes for the month
- Debian wiki: approve accounts
- Respond to queries from Debian users and contributors on the mailing lists and IRC
All work was done on a volunteer basis.
MidCamp - Midwest Drupal Camp: NEW DATE - MidCamp returns in 2025!
With an earlier DrupalCon next year we’ve adjusted the MidCamp dates
so make plans to be in Chicago, and join us at the DePaul University Student Center, for May 20-22, 2025.
Here’s our tentative timeline:
-
Today: You read this Save the Date
-
Fall 2024: Call for speakers will open
-
Late 2024: Call for speakers closes
-
Late Jan/Early Feb: Speakers & schedule is announced!
-
May 20-22, 2025: Meet us at MidCamp!
We will be releasing more posts with venue details, hotel and travel options, fun social events, speaker announcements and more!
Help us Make MidCampMidCamp doesn't run on commit credits and coffee, it takes lots of dedicated volunteers and almost 6 months of work to make it happen. We need volunteers who can commit just an hour a week from November through May to help us make the magic happen.
Join the MidCamp Slack where we make announcements from time to time. We’re also on X (formerly Twitter) and Mastodon.
If you’re interested in helping further, reach out in the #midcamp-organizers channel. We'll find you a task and get you some Drupal credits.
Matt Layman: Polish, Debug Toolbar, Email Signals - Building SaaS with Python and Django #193
Needlessly Public
When working on a legacy codebase that has leading-edge C++ constructs, but also deeply legacy design decisions, sometimes there’s nifty ways to use the one against the other.
Here is a class with a needlessly public data member. I don’t know who wrote it, git history stops in 2014. At least there’s some modern C++ around it.
class Example { public: void reset(int x) { std::ranges::fill(needlesslyPublic, x); } static constexpr std::size_t publicSize = 8; int needlesslyPublic[publicSize] = {}; }; int consumer(Example & e, int index) { return e.needlesslyPublic[index]; }Now, it so happens that I know that the only place that writes to this needlessly public data member is the member function reset(). Every other access is read-only, like in the function consumer().
Legacy codebases will also have lots of missing const, which is something clang-tidy can help with, and often use int where std::size_t is meant – but those are critiques for the function consumer(), not the Example class.
Now, I’ve got 400 places in the codebase that all access needlesslyPublic for reading, and I don’t feel like causing code-churn in those places. So I want to keep the name and its access specifier (public) intact, while ensuring read-only access from elsewhere. I don’t care about having to recompile things, though.
Narrator: Enter “the totally-bogus data-pointer”.
class Example { public: void reset(int x) { std::ranges::fill(m_needlesslyPublic, x); } static constexpr std::size_t publicSize = 8; const int * needlesslyPublic = &m_needlesslyPublic[0]; private: int m_needlesslyPublic[publicSize] = {}; };Thanks to in-class initialization, and the fortune that the needlessly-public thing is an array, I can move the array into private, and re-introduce the public name as a pointer. It’s a legacy code base, we just love array-pointer-decay. So now needlesslyPublic[i] dereferences the pointer, but the dereferenced type is a const int & so it is read-only. The one place that writes to the array can use the private data member, which is writable.
Minimal fuss, easily detects that one other place (there’s always one) in the codebase that writes to the data member, no code-churn in read-only consumers.
Narrator: But did you forget serialization? Copying? Moves?
Ugh. While being clever about one bunch consumers, I totally forgot that this was adding the size of a pointer to each object and that this pointer was meaningless outside of the specific object and its location in memory. Copying an object should copy the contents of m_needlesslyPublic and not change the pointer. The pointer always needs to keep pointing to the array owned by this object.
Rather than going into the weeds of copy- and move-construction (rule of five), I realized that the relevant bit was operator[] on the needlessly public data member.
Narrator: Enter “the array-ish”.
Read-only consumers are only interested in needlesslyPublic[i], so what if I provide an object that has that interface, but read-only? Here is a nested class Hidden that provides such an interface:
class Example { public: void reset(int x) { std::ranges::fill(needlesslyPublic.data, x); } static constexpr std::size_t publicSize = 8; class Hidden { friend class Example; public: int operator[](std::size_t index) const { return data[index]; } private: int data[publicSize] = {}; }; Hidden needlesslyPublic; };I don’t like the friend declaration (nobody likes friends). But it works, in the sense that consumers have no code change, read-only behavior is enforced, and only the methods of class Example can write to the hidden data. It’s like a const data member, but writable!
Narrator: What about non-array data members?
Look mr-know-it-all-narrator, if I really wanted to play silly games with member access, I would write Python and use attributes.
This particular approach works only because all my consumers use some specific syntax – array indexing – which I can capture with operator[]. If the needlessly public data member was some non-array type, then I don’t have any syntax to grab hold of.
For my particular legacy codebase, I ended up using the pointer approach to verify that all (but one) access was read-only, and then rolled it back because the Hidden class example didn’t work well with others. For the foreseeable future I need to rely on process and code reviews to keep this sane.
GNU Taler news: GNU Taler v.11 released
Kubuntu, KDE, Debian: I am still here, in loving memory of my brother.
I am still here, busy as ever, I just haven’t found the inspiration to blog. So soon after the loss of my son, I have lost my only brother a couple weeks ago. It has been a tough year for our family. Thank you everyone for you love and support during this difficult time. I will do my best in re-capping my work, there has been quite a bit as I am “keeping busy with work” so I don’t dwell to much on the sadness.
KDE Snaps:
Trying to debug the unable to save files breakage in the latest Krita builds without luck.
KisOpenGLCanvas
Renderer::reportFailedShaderCompilation\[0m: Shad
er Compilation Failure: "Failed to add vertex sh
ader source from file: matrix_transform.vert - Ca
use: "
I have implemented everything from https://snapcraft.io/docs/gpu-support , it has worked for years and now suddenly it just stopped. I have had to put it on hold for now, it is unpaid work and I simply don’t have time.
With the help of my GSOC student we are improving the Qt6 snap MR: https://invent.kde.org/neon/snap-packaging/kde-qt6-core-sdk/-/merge_requests/3 and many improvements on top of that. This exposed many issues with the kf6 snap and the linking to static libs. Those are being worked on now.
Updated qt to 6.7.1
Qt6 apps in the works: okular, ark, gwenview, kwrited, elisa
Kubuntu:
So many SRu’s for the Noble release, I will probably miss a few.
https://bugs.launchpad.net/ubuntu/+source/ark/+bug/2068491 Ark cannot open 7-zip files. Sadly the patches were for qt6, waiting for a qt5 port upstream.
https://bugs.launchpad.net/ubuntu/noble/+source/merkuro/+bug/2065063 Crash due to missing qml. Fix is in git, no upload rights. Requested sponsor.
https://bugs.launchpad.net/ubuntu/+source/tellico/+bug/2065915 Several applications no longer work on architectures that are not amd64 due to hard coded paths. All fixed in git. Several uploaded to oracular, several sponsorship has been requested. Noble updates rejected despite SRU, going to retry.
https://bugs.launchpad.net/ubuntu/+source/sddm/+bug/2066275 The dreaded black screen on second boot bug is fixed in git and oracular. Noble was rejected despite the SRU. Will retry.
https://bugs.launchpad.net/ubuntu/+source/kubuntu-meta/+bug/2066028 Broken systray submenus. Fixed in git and oracular. Noble rejected despite SRU. Will retry.
https://bugs.launchpad.net/ubuntu/+source/plasma-workspace/+bug/2067747 Long standing bug with plasma not loading with lightdm. Fixed in git and oracular. Noble rejected… will retry.
https://bugs.launchpad.net/ubuntu/+source/plasma-workspace/+bug/2067742 CVE-2024-36041Fixed in git and oracular, noble rejected, will retry.
And many more…
I am applying for MOTU in hopes it will reduce all of my uploading issues. https://wiki.ubuntu.com/scarlettmoore/MOTUApplication
Debian:
kf6-knotifications and kapidox. Will jump into Plasma 6 next week !
Misc:
Went to LinuxFest Northwest with Valorie! We had a great time and it was a huge success, we had many people stop by our booth.
As usual, if you like my work and want to see Plasma 6 in Kubuntu it all depends on you!
Kubuntu will be out of funds soon and needs donations! Thank you for your consideration.
Personal:
Support for my grandson: https://www.gofundme.com/f/in-loving-memory-of-william-billy-dean-scalf