Feeds
mark.ie: My LocalGov Drupal contributions for week-ending December 20th, 2024
Rewriting a lot of JavaScript and creating a contact component.
Kdenlive 24.12.0 released
We are happy to announce Kdenlive 24.12. This release focuses on bug fixes, improved stability, and usability enhancements across the board. Numerous crashes and glitches have been addressed, including issues with audio capture, effect zones, high DPI display rendering, and subtitle editing. Proxies, rotoscoping, and project management workflows have been significantly refined, resolving lags, incorrect EXIF orientation handling, and archiving problems. We’ve managed to sneak in some little nifty features as well like the ability to resize multiple timeline items, Shift + Del shortcut to extract clips from the timeline, added actions to quickly add Marker/Guides in a specific category and mixes (same track transitions) can be 1 frame long.
Under the hood, we’ve dropped support for Qt5 and now require Qt6, alongside updated dependencies (MLT 7.28 and KF 6.3). This release comes with a lot of code cleanups and refactored Whisper settings. Optimized threading and memory management. Additionally, fail-safe measures have been taken to prevent invalid project profiles and script names.
Subtitles
We’ve added support for Advanced SubStation Alpha (ASS) subtitles, a widely used text-based format renowned for its flexibility in creating highly styled and customizable subtitles. ASS subtitles support advanced features such as font family, size, and color; text outlines and shadows; alignment and positioning; scaling and rotation; margins and spacing; and effects, including masking and other enhancements.
Subtitle Manager
The new subtitle manager is now integrated with style management and has been divided into four sections: Files, Layers and Content, Style, and Info, which correspond to the four main components of ASS subtitles.
Files – create, import and export subtitles
Layers and Content – create/remove subtitle tracks and apply styling
Styles – create and manage styles
Info – displays information about subtitles
Subtitle Style Editor
The new and powerful Subtitle Style Editor allows you to control all the styling capabilities of the ASS format. Animated Subtitles
The ASS format supports three types of effects: Banner, where the text scrolls sideways across the screen; Scroll, where the text moves vertically; and Karaoke, where each word is highlighted in sync with the audio. Currently, only the Banner and Scroll effects are accessible through the user interface, but additional styling, including Karaoke effects, can be applied using ASS tags. Currently, only the Banner and Scroll effects are accessible through the user interface, but additional styling, including Karaoke effects, can be applied using ASS tags. Speech-to-Text
We’ve polished the Speech to Text features ensuring a smoother and more reliable experience. Seamless installation, GPU translation and threading issues have fixed. We’ve also resolved issues with the display of Vosk, Whisper and Seamless model folder sizes on Windows. Added the ability to update all virtual environment packages have updated to the latest version of Whisper. Lastly, the Whisper settings interface has been refactored.
Effects
With this version, we complete the final task of our fundraiser: builtin effects and a redesigned effects interface. Rendering of keyframe types like Bounce, Circular, and Exponential has been improved, alongside fixes for zone-based effects, rotoscoping lag, shape filter rendering, improved precision for time remapping, motion tracker models and prev/next seeking in monitor. It is also now possible to have single-frame mixes (same track transitions).
Interface redesign
The new Effect Stack redesign enhances usability with clearer organization of keyframeable and non-keyframeable parameters, improved layout consistency, more compact and clean. We’ve also added info buttons in effect headers for quick access to documentation. Built-in Effects
To make your workflow much more fluid, the new effects panel gives direct access to effect parameters, allowing to quickly and easily adjust them. Currently built-in effects are Transform and Flip for video clips and Volume for audio clips. Built-in effects can be enabled/disabled in the settings.
New EffectsAs usual there is always room for some eye candy, so we’ve added two color correction effects, HSL Primaries and HSL Range as well as GPS Effects (Images below displaying Distance, Altitude and Speed among many other values).
Other Highlights
- Fix audio capture issues
- Added Shift + Del shortcut to extract clip from timeline
- Fix clip monitor history menu not showing up on audio clips
- Fix spacer tool leaving a few frames after last clip
- Implement resizing multiple timeline items
- Fix Pexels Videos provider
- Fix Alt+click to loop between clips using an effect in project monitor
- Titler: ensure only plain text can be pasted
- Titler: added support for tabulations
- Add Actions to quickly add Marker/Guides in a specific category
Full changelog
- Save extracted frames in project folder is project is supposed to save files in its parent folder. Commit. Fixes bug #496486.
- Fix proxied image messes exif orentation. Commit. Fixes bug #496681.
- Fix audio capture, ensure default monitor scene is active to start recording. Commit. See bug #496263.
- Don’t allow question mark in script names (not supported by MLT). Commit. Fixes bug #496763.
- Fix motion tracker effect link to documentation and create models folder in any case to avoid error message. Commit.
- Allow creating 1 frame mixes. Commit.
- Fix resizing mix to 1 frame duration breaking mix position. Commit.
- Move enable builtin effects from asset panel to Kdenlive Settings dialog. Commit.
- Various built in effect fixes on copy effect. Commit.
- Properly display the full log on missing render file. Commit.
- Ensure we display an error if the render job finishes but rendered file does not exist. Commit.
- Don’t enable keyframes in timeline if an effect is disabled. Commit.
- Disable keep original size feature as it has issues (causes distortion if another transform is added in timeline). Commit.
- Archiving: don’t show two abort buttons. Commit.
- Fix incorrect code change that broke tests. Commit.
- Don’t allow creating invalid project profiles with strange pixel aspect ratio. Commit.
- Don’t change timeline audio/video targets while dragging. Commit. Fixes bug #496354.
- Minor cleanup, ProjectClip cannot be of type Timeline. Commit.
- Fix title widget incorrectly showing text color as gradient if it was once switched to gradient. Commit.
- Fix wrong HW profile selected when transcoding. Commit.
- Add shortcut to extract clip from timeline. Commit.
- Add the new MLT HSL color correction effects to the correct category. Commit.
- Fix guides not appearing in first timeline of newly created projects. Commit.
- Fix corners effect broken and lag. Commit.
- Fix crash in effectstack. Commit.
- Fix disabled built-in effects incorrectly flagged as non built-in. Commit.
- Fix crash trying to remove keyframes when there are none. Commit. Fixes bug #496391.
- Fix merge error in fix for windows crash in file with missing drive. Commit.
- Fix Clip In Project Bin not opening the item’s folder in secondary bins. Commit.
- Fix rotoscoping lag on keyframe change. Commit.
- Fix recent commit breaking tests. Commit.
- Cleanup, fix incorrect invokation of setProducer. Commit.
- Master effects: don’t try to refresh both monitors on each effect param change, simply mark the inactive monitor as needing a refresh on next focus action. Commit.
- Fix render dialog cleanup always disabled. Commit.
- Minor cleanup in renderjob. Commit.
- Disable inactive timeline tabs. Commit.
- Fix abort rendering. Commit.
- Fix Windows crash openening a project with a missing file on a non available drive. Commit.
- Fix fit to width/height when clip sample aspect ratio != 1. Commit. See bug #96404.
- Don’t try opening invalid sequence. Commit.
- Mark sequence clips with 0 tracks as invalid. Commit.
- Gpsgraphics: Fix default value for bg scale and opacity. Commit.
- Fix subtitle style editor scaling. Commit.
- Fix seamless transalation on GPU. Commit.
- Fix vosk model size calculation on Windows. Commit.
- Fix crash loading project with effect zone. Commit.
- Fix display of Whisper/Seamless model folder size on Windows. Commit.
- Fix another missing slash in tag end. Commit.
- Fix missing slash in tag end. Commit.
- Fix clip monitor history menu not showing up on audio clips. Commit.
- Cleanup subtitle edit ui. Commit.
- Fix incorrect param name. Commit.
- Gpsgraphic: fix range and comment. Commit.
- Fix gpsgraphic default values. Commit.
- Disable failing shared_ptr check. Commit.
- Cleanup Subtitles style dialog to better follow the app UI style. Commit.
- Effects XML changes to include keyframes. Commit.
- Remove reference to unused file. Commit.
- Fix crash/corruption in qml after sequence close. Commit.
- Only set timeline context properties once. Commit.
- Cleanup renderjob. Commit.
- Update avfilter_drawgrid.xml. Commit.
- Update avfilter_drawbox.xml. Commit.
- Fix missing change in last commit. Commit.
- Fix highdpi painting of color wheels. Commit.
- Fix colorwheel drawing on highdpi. Commit.
- Add some debug around project close. Commit.
- Fix Lift(Gamma/Gain layout issues. Commit.
- Bump MLT dependency to 7.28. Commit.
- Fix threading issue in seamless install, add context info buttons to settings page. Commit.
- Bump KF dependency to 6.3. Commit.
- Update all venv packages on request. Commit.
- Various fixes for TTS. Commit.
- Don’t include quiet packages in feature_summary. Commit.
- Fix possible concurrency crash in settings caused by pthon deps check. Commit.
- Enforce latest version of whisper. Commit.
- Fix tests and snapping bug introduced in recent spacer tool fix. Commit.
- Refactor whisper settings. Commit.
- Cleaunp. Commit.
- Fix spacer tool leaving a few frames after last clip. Commit.
- Don’t update subtitle edit on each selection change. Commit.
- Fix changing font size in subtitle editor. Commit.
- Add classes for specific clip types (timeline, playlist clips), cleanup. Commit.
- [dev-docs] Remove Qt5 mentions from build instructions. Commit.
- Implement resizing multiple timeline items. Commit.
- Fix Pexels Videos provider. Commit.
- Fix resetting Help shortcuts on each application launch. Commit. Fixes bug #495373.
- Fix replacing bin AV clip with mlt playlist. Commit.
- Fix .mlt playlist files lose audio thumb on project reopen. Commit.
- Dont try to read .mlt playlists as kdenlive project files on reload. Commit.
- Fix shadowed variable causing incorrect clip removal on project opening, fix crash opening project with timeline clip missing in bin. Commit. See bug #493486.
- Fix monitor seek to prev/next keyframe not working in rotoscoping. Commit.
- Fix rendering custom image sequence profile. Commit.
- Fix incorrect string param. Commit.
- QString refactor: replace QString() with QStringLiteral(). Commit.
- Fix mdocument modified on open: don’t try to convert already updated subtitles. Commit.
- Subtitles: fix cut on newline handling after recent change. Commit.
- Fix: A/V Check for avformat files is swapped. Commit.
- Fix newline handling in subtitles, fix crash on delete in simple editor. Commit.
- Fix clip jobs like stabilize creating invalid folders. Commit.
- Fix freeze loading project with invalid folder id. Commit.
- Update packaging instructions. Commit.
- Don’t invalidate timeline preview when replacing an audio clip in bin. Commit.
- Ensure monitor is cleared and ruler hidden when no clip or a folder is selected in bin. Commit.
- Fix title producer update on edit undo. Commit. Fixes bug #494142.
- Revert incorrect change. Commit.
- Fix typo in dance.xml. Commit.
- Fix single item(s) move. Commit.
- Cleanup. Commit.
- Fix cycle effects playling timeline and sometimes broken after reopening project. Commit.
- Fix recent regression breaking all sort of things when opening projects. Commit.
- Fix crash when dragging clip and using mouse wheel. Commit.
- Don’t play when clicking monitor container if disabled in settings. Commit.
- Fix effect zones lost on project reopening. Commit.
- Fix effect zone for timeline clips. Commit.
- Render jobs: differentiate status between waiting and starting. Commit.
- Various fixes for bin clip effects. Commit.
- Disable check for ghost effects that currently removes valid effects. Commit.
- Detect and fix track producers with incorrect effects. Commit.
- Include cleanup. Commit.
- Fix bin effects not deleted from timeline instances. Commit.
- Don’t try to build clone effect it if does not apply to the target. Commit.
- Fix deleting effect does not reset on monitor view and crash applying effect zone to bin clip. Commit.
- Don’t unnecessarily check MLT tractors. Commit.
- Fix crash opening file with missing clips. Commit.
- Remove unused code. Commit.
- Don’t erase temporary playlists in debug mode. Commit.
- Remove dead code. Commit.
- Fix null disconnect error in tests. Commit.
- Disable workaround to better understand failures in test suite. Commit.
- Fix crash on project close. Commit.
- In render debug mode, enforce MLT’s repository to fix AppImage render suite failure. Commit.
- Add more debug output to render log files. Commit.
- Renderer: add debug option to prevent deleting the render log file. Commit.
- Fix possible crash opening an interlaced project. Commit.
- Remember last used zone in effect zone. Commit. See bug #493555.
- Only show system notifications for MLT error messages. Commit.
- Fix builtin effects sometimes appear after normal effects. Commit.
- Ensure clip properties tab icons are not rotated. Commit.
- Fix Shape Alpha filter affecting project audio. Commit.
- Git pushMerge branch ‘master’ of invent.kde.org:multimedia/kdenlive. Commit.
- Fix group effect button displayed in empty effect stack. Commit.
- Drop DBus in favor of QLocalSocket to communicate between renderer and main app. Commit.
- Fix Alt+click to loop between clips using an effect in project monitor. Commit.
- Fix crash on close. Commit.
- Fix copy/paste clip duplicates builtin effect. Commit.
- Add MLT_REPOSITIORY to render log. Commit.
- Add more checks for render progress report. Commit.
- Don’t delete render log file if rendering does not create an output file. Commit.
- Fix possible crash on quit. Commit.
- Fix render job possibly aborting before starting. Commit.
- Correctly handle failure to create venv: give feedback to the user and don’t keep a broken venv setup. Commit.
- [REUSE] Port to REUSE.toml. Commit.
- Fix crash loading audio clip. Commit.
- Subtitle edit: fix character count and editor font size. Commit.
- Fix some warnings, add some debug info if a rendered file is missing or empty. Commit.
- Built-in effects fixes, add option to keep source clip size on import. Commit.
- Don’t try to connect to dbus jobview on command line rendering. Commit.
- Fix recent Qt6 warnings. Commit.
- Add message box informing user we will open a browser window when clicking documentation button in effect/transition. Commit.
- FIx looping through clips in project monitor effect scene. Commit.
- Fix loop selected clip. Commit.
- Effect stack now updates when switching between Project Bin and Timeline, fix a few focus issues. Commit.
- Properly hide “built-in stack” and “group effects” button when needed, add an info link button for compositions. Commit.
- Fix type. Commit.
- Properly hide/show the save stack icon. Commit.
- Fix minor typo. Commit.
- Replace : and ? chars in guides names for rendering. Commit. See bug #492595.
- Don’t trigger timeline scroll when mouse exits timeline on a clip drag, it caused incorrect droppings and ghost clips. Commit. See bug #492720.
- Effect Stack: add info button in effect headers redirecting to our documentation. Commit.
- Fix scolling timeline with rubberband or when dragging from file manager can move last selected clip in timeline. Commit. Fixes bug #492635.
- Fix adding marker from project notes always adds it at 00:00. Commit. Fixes bug #492697.
- Improve the ASS format subtitling support. Commit.
- Correctly draw other Keyframe types in timeline (Bounce, circular, cubic, exponential). Commit.
- Fix blurry widgets on high DPI displays. Commit.
- Fix keyframe param not correctly enabled on first keyframe click. Commit.
- Fix curveeditor crash on empty track. Commit.
- Fix on monitor seek to next/previous keyframe buttons. Commit.
- Ensure rendering with separate file for each audio track keeps the correct audio tag in the file name. Commit.
- Switch time remap to the new precision spin box allowing 6 decimals instead of previous 2. Commit. See bug #492274.
- Fix render project folder sometimes lost, add proper enums instead of unreadable ints. Commit. See bug #492476.
- Fix MLT lumas not correctly recognized by archive feature. Commit. Fixes bug #492435.
- Use custom spin box allowing arbitrary digits for speed dialog. Commit. See bug #492274.
- Fix configure toolbars messing UI layout. Commit.
- Fix mouse wheel changing parameter effect on scroll. Commit.
- Fix effect stack layout issues. Commit. See bug #492314.
- Port away from depreciated qSetGlobalQHashSeed(). Commit.
- Port QCheckBox away from depreciated stateChanged to checkStateChanged. Commit.
- Port depreciated qAsConst to std::as_const. Commit.
- Drop support for Qt5. Commit.
- Effects List: ensure deprecated category is always listed last. Commit.
- Fix tabulations in Titler (requires latest MLT git). Commit.
- Titler: ensure only plain text can be pasted, prepare support for tabulations (needs MLT patch). Commit.
- Disable track / clip effect stack now create an undo entry. Commit.
- Archiving: when archiving used clips only, remove unused clips from Project Bin. Commit.
- Fix archive doesn’t save the video assets when run multiple times. Commit.
- Automatic backup now correctly saves and restores subtitles. Commit. See bug #490459.
- After a crash, recover last subtitle file if possible. Commit. See bug #490459.
- Fix document notes timecode links may be broken after project reload. Commit. See bug #443597.
- Correctly refresh EffectStack when en/disabling built-in effects. Commit.
- Ensure non keyframeable params appear on top of keyframable, fix effect stack layout glitch. Commit.
- Fix some effects like obscure broken in monitor. Commit.
- Fix broken qml font on AppImage. Commit.
- Cleanup Text Based Edit Widget to make it more consistent and use less space. Commit.
- Remove virtual keyword when we use override. Commit.
- Remove incorrect taskmanager unlock. Commit.
- Fix transcode log sometimes empty. Commit.
- Fix various composition parameter layout issues. Commit.
- Minor fixes for MSVC. Commit.
- Update kiss_fft. Commit.
- Revert “Fix checkpackages generating an exception when run”. Commit.
- Fix checkpackages generating an exception when run. Commit.
- Remove duplicate include. Commit.
- Fix some compile warning. Commit.
- Align all job progress to same width in clip monitor. Commit.
- Fix mem leak in asset params and composition view corruption. Commit.
- Improve drag and drop of effects, don’t create 2 separate entries on dropping effect from list. Commit.
- Fix effect stack scroll on drag. Commit.
- Add Actions to quickly add Marker/Guides in a specific category. Commit.
- Redesign effect parameter widgets and introduce built in effects. Commit.
- Add a control uuid to each bin clip to ensure clips can not get mixed on project opening. Commit.
The post Kdenlive 24.12.0 released appeared first on Kdenlive.
CKEditor: CKEditor 5, now with self-service licensing and version override for Drupal
The Python Show: 50 - Imposter Syndrome
Imposter syndrome is a topic that some engineers and developers struggle with. It’s basically a type of self-doubt. WebMD has a good description and some good ideas for fighting self-doubt.
Ways to combat imposter syndrome:
List out your accomplishments on a regular basis (keep it in a Google doc)
Review the list
If you receive compliments, record them (make a copy, write it down, take a screenshot) and store those too
Reminder: you will never stop learning. Embrace it!
🚨 Python devs, this one’s for you. If you’re tired of struggling with context-unaware coding tools, let me introduce you to a game-changer I’ve been exploring: Zencoder.
Here’s why it’s caught my attention:
1️⃣ Python-friendly to its core. Whether you’re building web apps, analyzing data, or automating tasks, Zencoder delivers context-aware suggestions that actually understand your project. No more “guessing” code completions. But don't worry it supports other programming languages as well!
2️⃣ Custom AI agents you can create and tweak. Imagine having a bot that automates your repetitive Python tasks—refactoring, testing, debugging—leaving you free to tackle the fun parts.
3️⃣ Natural language to code magic. Want to build a quick game for fun or a Python script in seconds? Just describe it in plain English, and Zencoder makes it happen. (Yes, it’s that good.)
I’ve also been loving how it seamlessly supports unit testing and bug fixing—a massive time-saver for clean code lovers like me.
Check out Zencoder if you’re looking for an AI assistant that actually gets Python devs:
Droptica: Drupal 11 - Release Date, Features, and What to Expect
This year, we lived to see the release of a new version of Drupal. Drupal 11 brought many new features, such as intuitive menus and ready-made configurations (called recipes), making it an even better choice as a platform for building a dedicated CMS. How does this system differ from previous versions, and how can you take advantage of its capabilities when building your website? Find out why you should consider choosing this system or upgrading to Drupal 11.
Freelock Blog: Add conflict detection on reservation forms
Our Yacht Club client has three workslips that members can reserve for up to 3 days. Using core taxonomy, content types, views, and the Events, Conditions, and Actions (ECA) module, we built a system to allow members to make reservations, and have the system prevent double-bookings.
2024 end-of-year review: policy and standards
As 2024 draws to a close, the Open Source Initiative (OSI) reflects on an eventful year marked by significant achievements in advocating for Open Source principles in policy and standards development worldwide. Below, we highlight key milestones, initiatives and ongoing work from the year.
Global engagementsColumbia Convening on AI: Led by the Mozilla Foundation and the Columbia Institute of Global Politics, OSI participated in this collaboration to build a framework for openness in AI. The convening produced technical and policy memorandums advancing the discourse on open and equitable AI development.
United Nations “OSPOs for Good”: OSI participated in a panel on this NYC event, emphasizing Open Source’s role in defining Open Source AI. Collaborative discussions underscored the growing recognition of Open Source in global governance.
Open Source Congress: OSI participated in the second Open Source Congress, hosted in Beijing by the Open Atom Foundation. This event fostered collaboration among nonprofit leaders in the Open Source ecosystem.
Digital Public Goods Alliance (DPGA): OSI continued its active role as a member of the DPGA, contributing to the Annual Members Meeting held in Singapore. The event highlighted OSI’s involvement in promoting open standards, software and AI models as part of the global ecosystem of Digital Public Goods.
European policy workCyber Resilience Act (CRA): After having successfully helped the community to understand the challenges of the first draft of the Cyber Resilience act, OSI’s focus shifted to implementation in the second half of the year, joining the Eclipse Open Regulatory Compliance Group, a group designed to help Open Source developers implement the CRA. In addition to this, we are preparing to work with European standardization organizations to ensure the standards developed for the CRA are implementable for Open Source developers.
Standardization Advocacy: OSI provided feedback on the Standard Essential Patents Regulation and standardization frameworks, ensuring they align with Open Source principles. Efforts included ensuring software standards can be freely implemented by the community. In parallel to this, OSI is working to find ways to involve Open Source developers in the standardization process. OSI remains a member at ETSI and regularly engages with representatives of other standards bodies.
Collaboration with Eclipse Foundation: A Memorandum of Understanding with the Eclipse Foundation marked a strategic partnership to influence Open Source AI policy and the implementation of the Cyber Resilience Act.
AI Act Advocacy: After the introduction of an exemption for Open Source AI in the AI act, lawmakers have faced an unprecedented wave of openwashing in the AI space. OSI has expanded its educational efforts, meeting with lawmakers and staffers, presenting the Open Source AI Definition, and highlighting cases of openwashing. In addition to this, OSI was selected as one of the stakeholders for the drafting of the Code of Practice on General-Purpose AI, a set of rules designed to help companies comply with the AI act. OSI has used this opportunity to help address some of the challenges Open Source AI developers face, and to clearly differentiate between Open Source and open weight AI.
New Appointments: OSI welcomed Jordan Maris as EU Policy Analyst, strengthening its advocacy presence in Brussels.
Community Outreach: Blogs, workshops and participation in conferences like FOSDEM and CPDP-ai in Brussels ensured robust engagement with diverse stakeholders.
U.S. policy workOpen Policy Alliance: Designed to bring nonprofit organizations together, the OPA focuses on educating and informing U.S. public policy decisions related to Open Source software, content, research and education. OSI’s leadership in the OPA strengthened policy efforts across the U.S., including invited participation roundtables with federal agencies, responding to public calls for comments on security, sustainability and open source AI models, educating policymakers on Open Source’s societal benefits, and securing philanthropic support for Open Source policy initiatives.
AI Policy Development: Partnering with Carnegie Mellon University, OSI co-founded the Open Forum for AI, focusing on human-centered AI development. The initiative reflects OSI’s commitment to ensuring AI policies protect openness and transparency.
Federal Advocacy: OSI contributed responses to Requests for Comments (RFCs) on AI and cybersecurity, emphasizing the value of openness in safeguarding public interest, working together with other organizations like the Mozilla Foundation and the Center for Democracy & Technology.
Community Outreach: Blogs, workshops and participation in events like All Things Open in Raleigh, NC and Open Forum for AI in Washington D.C. fostered strong engagement with a diverse range of stakeholders.
Looking ahead: 2025The year ahead promises continued focus on:
- Implementing AI Act and CRA provisions
- Expanding outreach and educational programs for policymakers
- Strengthening global partnerships
OSI remains committed to championing Open Source principles in the policy landscape, ensuring developers and communities worldwide thrive in an environment of transparency, collaboration and innovation.
We extend our gratitude to our partners, allies and community members for their support in advancing OSI’s mission. Together, we are shaping a more open and equitable future. Please consider donating to or sponsoring the OSI.
Smartbees: Drupal Scheduler Module – What Is It and How Can It Help You Manage Content?
Scheduler is one of many modules that have contributed to facilitating content management on Drupal-based websites. The CMS is highly efficient and widely used by universities, businesses, and others, necessitating additional automated publishing options.
The Drop Times: Drupal Needs to Innovate: Neurodiversity Might be the Answer
CodeLift: Terminology for Drupal Migration Projects
The Drop Times: From Data to Impact: How a Decoupled Drupal & Gatsby Transformation Empowered IDMC’s Global Advocacy
Gregory Colpart: MiniDebConf Toulouse 2024
After the MiniDebConf Marseille 2019, COVID-19 made it impossible or difficult to organize new MiniDebConfs for a few years. With the gradual resumption of in-person events (like FOSDEM, DebConf, etc.), the idea emerged to host another MiniDebConf in France, but with a lighter organizational load. In 2023, we decided to reach out to the organizers of Capitole du Libre to repeat the experience of 2017: hosting a MiniDebConf alongside their annual event in Toulouse in November. However, our request came too late for 2023. After discussions with Capitole du Libre in November 2023 in Toulouse and again in February 2024 in Brussels, we confirmed that a MiniDebConf Toulouse would take place in November 2024!
We then assembled a small organizing team and got to work: a Call for Papers in May 2024, adding a two-day MiniDebCamp, coordinating with the DebConf video team, securing sponsors, creating a logo, ordering T-shirts and stickers, planning the schedule, and managing registrations. Even with lighter logistics (conference rooms, badges, and catering during the weekend were handled by Capitole du Libre), there was still quite a bit of preparation to do.
On Thursday, November 14, and Friday, November 15, 2024, about forty developers arrived from around the world (France, Spain, Italy, Switzerland, Germany, England, Brazil, Uruguay, India, Brest, Marseille…) to spend two days at the MiniDebCamp in the beautiful collaborative spaces of Artilect in Toulouse city center.
Then, on Saturday, November 16, and Sunday, November 17, 2024, the MiniDebConf took place at ENSEEIHT as part of the Capitole du Libre event. The conference kicked off on Saturday morning with an opening session by Jérémy Lecour, which included a tribute to Lunar (Nicolas Dandrimont). This was followed by Reproducible Builds – Rebuilding What is Distributed from ftp.debian.org (Holger Levsen) and Discussion on My Research Work on Sustainability of Debian OS (Eda). After lunch at the Capitole du Libre food trucks, the intense afternoon schedule began: What’s New in the Linux Kernel (and What’s Missing in Debian) (Ben Hutchings), Linux Live Patching in Debian (Santiago Ruano Rincón), Trixie on Mobile: Are We There Yet? (Arnaud Ferraris), PostgreSQL Container Groups, aka cgroups Down the Road (Cédric Villemain), Upgrading a Thousand Debian Hosts in Less Than an Hour (Jérémy Lecour and myself), and Using Debusine to Automate Your QA (Stefano Rivera & co).
Sunday marked the second day, starting with a presentation on DebConf 25 (Benjamin Somers), which will be held in Brest in July 2025. The morning continued with talks: How LTS Goes Beyond LTS (Santiago Ruano Rincón & Roberto C. Sánchez), Cross-Building (Helmut Grohne), and State of JavaScript (Bastien Roucariès). In the afternoon, there were Lightning Talks, PyPI Security: Past, Present & Future (Salvo “LtWorf” Tomaselli), and the classic Bits from DPL (Andreas Tille), before closing with the final session led by Pierre-Elliott Bécue.
All talks are available on video (a huge thanks to the amazing DebConf video team), and many thanks to our sponsors (Viridien, Freexian, Evolix, Collabora, and Data Bene). A big thank-you as well to the entire Capitole du Libre team for hosting and supporting us… see you in Brest in July 2025!
Articles about (or mentioning) MiniDebConf Toulouse:
- A Mini Adventure at MiniDebConf Toulouse
- Bits from MiniDebConf Toulouse 2024
- Reproducible Builds: November 2024 Updates
- Bits from the DPL: December 2024
- Chris Watson’s Blog: November 2024 Activity
- Freexian Blog: Debian Contributions November 2024
LostCarPark Drupal Blog: Drupal Advent Calendar day 19 - Marketing Track
Welcome back for day 19 of the Drupal Advent Calendar, and today we are welcoming Suzanne Dergacheva and Will Huggins to tell us about the marketing of Drupal CMS.
The Starshot marketing track has been focused on designing the website content and journeys that will promote Drupal CMS, attracting new audiences of marketers, designers and content creators that may never have previously considered Drupal. You can see the first wave of this content.
As we move towards the launch on 15th January 2025, we will be adding to this content to build a compelling narrative that positions Drupal CMS as the…
TagsBenjamin Mako Hill: Being a bread torus
A concerned nutritional epidemiologist in Tokyo realizes that if you are what you eat, that means…
It’s a similar situation in Seoul, albeit with less oil and more confidence.
New: the Fast Sketch Plugin for Krita
Together with Intel, we have been working a new plugin for Krita: the fast sketch plugin, or maybe, better, a fast inking plugin. This is an experimental plugin that makes it (sometimes) possible to automatically ink a sketch, using neural networks.
This plugin uses models to figure out how to ink a sketch: the included models were trained on openly available data: there was no scraping or stealing involved! The plugin comes with a manual that explains how to get the scripts you can use to create a model trained on your own data: what you need are before and after images of your sketch and your uncolored inked drawing, and the training software can run on your own hardware (it will take a lot of time, though).
Throughout the development process we've been discussing this plugin with artists on the Krita Artists forum.
Artwork by @BeARToys (CC BY-SA)
The plugin can be downloaded and extracted in a Windows Krita 5.2.6 folder and should then be enabled in the plugin manager in Krita's settings dialog.
There is also a download of Krita 5.3.0 pre-alpha available that includes the plugin for Windows and Linux. Currently, we don't have a working MacOS version ready, and since the plugin is implemented in Python, there will be no Android packages.
Download Windows- Plugin: Fast Sketch Plugin 1.0.2 FastSketchPlugin1.0.2.zip
- Portable zip file: Krita 5.3.0 pre-alpha krita-x64-5.3.0-prealpha-cdac9c31.zip
- 64 bits Linux: krita-x64-5.3.0-prealpha-cdac9c31.zip
Drupal Association blog: DrupalCon Atlanta 2025 - How to Convince Your Boss (Sample Letter Enclosed)
DrupalCon Atlanta 2025 is coming up, and you’re excited to attend. But there’s one small challenge—convincing your boss to approve the trip. Don’t worry, this guide will help you build a solid case. Let’s get started!
Why You Should Attend DrupalCon Atlanta 2025Your boss may ask if sending you to DrupalCon is a smart investment. But first, ask yourself: are you convinced? Here’s why attending DrupalCon Atlanta 2025 is an excellent idea for both you and your organization:
Learn New Skills- Training Sessions: Find out all you wanted to know about Drupal CMS, Drupal 11, headless architecture, and sharpen your skills with hands-on learning.
- Keynotes: Hear directly from leaders like Dries Buytaert (DriesNote) and others about the future of Drupal and the web.
- Sessions: Learn practical tips and solutions from experts.
- Networking: Connect with thousands of Drupal professionals who share your passion.
- Industry Summits: Join focused discussions in Higher Ed, Nonprofit, Government, Healthcare, and Community to find solutions to your challenges.
- Contribution Sprints: Learn how to contribute to Drupal even if you’re not a coder. This is a great way to give back to the community.
- Calling all event organizers! Receive one free ticket for every five attendees who register from your local association, camp, or community. When registering, be sure to identify which local Drupal camp, community, or association you are a member of.
Here’s a ready-made letter to help you seal the deal:
Dear [Boss’s Name],
I am writing to express my strong interest in attending DrupalCon 2025 from 24 to 27th March in Atlanta, Georgia. This is the premier event for Drupal professionals, and attending will significantly benefit my professional growth and our organization’s goals.
Here’s why my attendance at DrupalCon is a valuable investment:
- Skill Enhancement: Targeted training aligns with our projects, enhancing my expertise.
- Industry Insights: Networking at Industry Summits will keep us updated on best practices and innovative solutions.
- Strategic Vision: Keynotes, especially DriesNote, offer strategic insights vital for our long-term planning.
- Community Engagement: Networking with thousands of community members ensures immediate answers and collaborations.
- Role-Specific Learning: Connecting with peers in our specific roles provides insights into the latest in Drupal.
- Contribution Sprint: Active participation contributes to Drupal's strength, enhancing our company's reputation.
I am seeking approval for the associated expenditures, which include:
EXPENSE
AMOUNT
Airfare
Visa Fees (if required)
Ground Transportation
Hotel
Meals
Conference Ticket (and/or Summit/Training)
TOTAL EXPENSE
[Add this line if you’re traveling from overseas] The Drupal Association can issue an official letter of invitation to obtain a visa for my travel to the United States.
The Drupal Association can also issue a Certificate of Attendance for the conference if required for our records.
Please accept this proposal to attend, as I'm confident in the significant return we will receive for the small investment. For more information on the event, please visit the conference website: https://events.drupal.org/atlanta2025
I'm available to discuss this further at your earliest convenience.
Sincerely,
[Your Full Name]
[Your Position]
[Your Contact Information]
Django Weblog: Django 6.x Steering Council Election Results
The Steering Council for the Django 6.x release cycle will be:
- Carlton Gibson
- Emma Delescolle
- Frank Wiles
- Lily Foote
- Tim Schilling
Voting breakdown:
- 400 eligible voters
- 215 votes received (54%)
We had 400 eligible voters, and received 215 votes (54%). See the full voting breakdown on RankedVote.
Congratulations to the new council members! And thank you to all 12 candidates who stood for election, and everyone who took part in the voting.
—
For anyone looking for further opportunities to have their say on the future of Django, consider submitting our 2024 Django Developers survey, closing in 3 days.
Simon Josefsson: Guix Container Images for GitLab CI/CD
I am using GitLab CI/CD pipelines for several upstream projects (libidn, libidn2, gsasl, inetutils, libtasn1, libntlm, …) and a long-time concern for these have been that there is too little testing on GNU Guix. Several attempts have been made, and earlier this year Ludo’ came really close to finish this. My earlier effort to idempotently rebuild Debian recently led me to think about re-bootstrapping Debian. Since Debian is a binary distribution, it re-use earlier binary packages when building new packages. The prospect of re-bootstrapping Debian in a reproducible way by rebuilding all of those packages going back to the beginning of time does not appeal to me. Instead, wouldn’t it be easier to build Debian trixie (or some future release of Debian) from Guix, by creating a small bootstrap sandbox that can start to build Debian packages, and then make sure that the particular Debian release can idempotently rebuild itself in a reproducible way? Then you will eventually end up with a reproducible and re-bootstrapped Debian, which pave the way for a trustworthy release of Trisquel. Fortunately, such an endeavour appears to offer many rabbit holes. Preparing Guix container images for use in GitLab pipelines is one that I jumped into in the last few days, and just came out of.
Let’s go directly to the point of this article: here is a GitLab pipeline job that runs in a native Guix container image that builds libksba after installing the libgpg-error dependency from Guix using the pre-built substitutes.
test-amd64-latest-wget-configure-make-libksba: image: registry.gitlab.com/debdistutils/guix/container:latest before_script: - lndir /gnu/store/*profile/etc/ /etc - rm -f /etc/group - groupadd --system guixbuild - for i in $(seq -w 1 10); do useradd -g guixbuild -G guixbuild -d /var/empty -s $(command -v nologin) -c "Guix build user $i" --system guixbuilder$i; done - export HOME=/ - export LANG=C.UTF-8 - guix-daemon --disable-chroot --build-users-group=guixbuild & - guix archive --authorize < /share/guix/ci.guix.gnu.org.pub - guix archive --authorize < /share/guix/bordeaux.guix.gnu.org.pub - guix describe - guix package -i libgpg-error - GUIX_PROFILE="//.guix-profile" - . "$GUIX_PROFILE/etc/profile" script: - wget https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2 - tar xfa libksba-1.6.7.tar.bz2 - cd libksba-1.6.7 - ./configure - make V=1 - make check VERBOSE=t V=1You can put that in a .gitlab-ci.yml and push it to GitLab and you will end up with a nice pipeline job output.
As you may imagine, there are several things that are sub-optimal in the before_script above that ought to be taken care of by the Guix container image, and I hope to be able to remove as much of the ugliness as possible. However that doesn’t change that these images are useful now, and I wanted to announce this work to allow others to start testing them and possibly offer help. I have started to make use of these images in some projects, see for example the libntlm commit for that.
You are welcome to join me in the Guix container images for GitLab CI/CD project! Issues and merge requests are welcome – happy hacking folks!
Simon Josefsson: Guix Container Images for GitLab CI/CD
I am using GitLab CI/CD pipelines for several upstream projects (libidn, libidn2, gsasl, inetutils, libtasn1, libntlm, …) and a long-time concern for these have been that there is too little testing on GNU Guix. Several attempts have been made, and earlier this year Ludo’ came really close to finish this. My earlier effort to idempotently rebuild Debian recently led me to think about re-bootstrapping Debian. Since Debian is a binary distribution, it re-use earlier binary packages when building new packages. The prospect of re-bootstrapping Debian in a reproducible way by rebuilding all of those packages going back to the beginning of time does not appeal to me. Instead, wouldn’t it be easier to build Debian trixie (or some future release of Debian) from Guix, by creating a small bootstrap sandbox that can start to build Debian packages, and then make sure that the particular Debian release can idempotently rebuild itself in a reproducible way? Then you will eventually end up with a reproducible and re-bootstrapped Debian, which pave the way for a trustworthy release of Trisquel. Fortunately, such an endeavour appears to offer many rabbit holes. Preparing Guix container images for use in GitLab pipelines is one that I jumped into in the last few days, and just came out of.
Let’s go directly to the point of this article: here is a GitLab pipeline job that runs in a native Guix container image that builds libksba after installing the libgpg-error dependency from Guix using the pre-built substitutes.
test-amd64-latest-wget-configure-make-libksba: image: registry.gitlab.com/debdistutils/guix/container:latest before_script: - lndir /gnu/store/*profile/etc/ /etc - rm -f /etc/group - groupadd --system guixbuild - for i in $(seq -w 1 10); do useradd -g guixbuild -G guixbuild -d /var/empty -s $(command -v nologin) -c "Guix build user $i" --system guixbuilder$i; done - export HOME=/ - export LANG=C.UTF-8 - guix-daemon --disable-chroot --build-users-group=guixbuild & - guix archive --authorize < /share/guix/ci.guix.gnu.org.pub - guix archive --authorize < /share/guix/bordeaux.guix.gnu.org.pub - guix describe - guix package -i libgpg-error - GUIX_PROFILE="//.guix-profile" - . "$GUIX_PROFILE/etc/profile" script: - wget https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2 - tar xfa libksba-1.6.7.tar.bz2 - cd libksba-1.6.7 - ./configure - make V=1 - make check VERBOSE=t V=1You can put that in a .gitlab-ci.yml and push it to GitLab and you will end up with a nice pipeline job output.
As you may imagine, there are several things that are sub-optimal in the before_script above that ought to be taken care of by the Guix container image, and I hope to be able to remove as much of the ugliness as possible. However that doesn’t change that these images are useful now, and I wanted to announce this work to allow others to start testing them and possibly offer help. I have started to make use of these images in some projects, see for example the libntlm commit for that.
You are welcome to join me in the Guix container images for GitLab CI/CD project! Issues and merge requests are welcome – happy hacking folks!
MidCamp - Midwest Drupal Camp: Just 25 days to go until the call for speakers closed for MidCamp 2025
As the holiday season approaches, we’re excited to include you—our future speakers! You may have heard we have a guest speaker this year, so submit your session and be on the lineup with Drupal founder, Dries Buytaert 🤩
Call for SpeakersSince 2014, MidCamp has hosted over 300 amazing sessions, and we’re ready to add your talk to that legacy. We’re seeking presentations for all skill levels—from Drupal beginners to advanced users, as well as end users and business professionals. Check out our session tracks for full details on the types of talks we’re looking for.
Missed the last Session Proposal Workshop? Don't worry, we have another one in January right before the submission deadline!
- January 7, 2025: Last Change Session Proposal Workshop - Crafting an Outstanding Proposal
- Session Proposals Open: November 25, 2024
- Proposal Deadline: January 12, 2025
- Speakers Notified: Week of February 17, 2025
- MidCamp Sessions: May 20-21, 2025
Looking to connect with the Drupal community? Sponsoring MidCamp is the way to do it! With packages starting at $600, there are opportunities to suit any budget. Whether you’re recruiting talent, growing your brand, or simply supporting the Drupal ecosystem, MidCamp sponsorship offers great value.
Act early to maximize your exposure!
Learn more about sponsorship opportunities
Stay in the LoopDon’t miss a beat!
- Join us on MidCamp Slack to chat and get updates.
- Follow us on socials, including Bluesky and Mastodon, for announcements and news.
Keep an eye on our news page and subscribe to our newsletter for updates on the venue, travel options, social events, and speaker announcements.
Ready to submit your session? Let’s make MidCamp 2025 unforgettable!