Feeds

LN Webworks: Integrating Drupal And Tailwind CSS: Step-By-Step Guide

Planet Drupal - Tue, 2024-08-13 03:31

It’s hectic and time-consuming when it comes to making something that takes a long time. Yes, we are talking about CSS stylesheets. It’s not easy to design a website because it’s not ‘effortless’. 

In this blog, we will talk about the Integration of Drupal and Tailwood CSS to make this process a little bit easier for you. 

A brief About Tailwind CSS

Tailwind CSS adopts a utility-first approach rather than building a class for the component. Tailwind CSS is a utility-first approach that makes creating applications faster and easier

Tailwind CSS offers limited benefits but assures you the flexibility and power to create your unique site. 

Categories: FLOSS Project Planets

Specbee: How to set up Apache Solr Plugin on Ubuntu in a Lando environment and configure Search API Solr in Drupal

Planet Drupal - Tue, 2024-08-13 02:48
Imagine delivering faster, more accurate search results to your users. Apache Solr makes that possible. Built on Apache Lucene, this open-source search platform powers enterprise-level search and analytics. It’s not just about speed—Solr's advanced features like full-text search, hit highlighting, faceted search,  real-time indexing, and more can significantly enhance your business's data handling and customer experience. In this article, you’ll learn how to set up Apache Solr on Ubuntu within a Lando environment and configure it with the Search API. By the end, you'll understand how to leverage Solr's powerful search capabilities to enhance your Drupal website’s performance and user experience. What You’ll Need Ubuntu Server (20.04 or Later): Ensure you have a server running Ubuntu 20.04 or a more recent version. Java Development Kit (JDK) or Java Runtime Environment (JRE): Apache Solr requires either JDK or JRE to function properly. Make sure Java is installed on your server. Terminal/Command Line Access: You'll need access to a terminal or command line interface to execute commands during the setup. Familiarity with Linux Commands: Basic knowledge of Linux commands is essential to navigate and configure the server efficiently. Setting Up : A Step-by-Step Process Step 1: Update the System Before diving into the installation, it's crucial to ensure your system is up-to-date. This helps prevent compatibility issues and ensures you have the latest security patches. Open the terminal and execute the following command: sudo apt-get update && sudo apt-get upgrade -y Updating your system's package list before installing new packages is always recommended. This command updates your package list and upgrades any outdated packages. Step 2: Install Java Apache Solr requires Java to run. To get started, you'll need to install the Java Development Kit (JDK). sudo apt-get install default-jdk -y Verify Installation: java -version Once installed, verify the Java installation to ensure it's set up correctly. Java is essential for running Solr, so make sure this step is completed without errors. Step 3: Download and Install Solr Next, you'll download the latest version of Apache Solr and install it on your server with this command: wget https://downloads.apache.org/lucene/solr/8.11.3/solr-8.11.3.tgz Extract the downloaded archive: tar xzf solr-8.11.3.tgz Navigate to the Solr installation script directory: cd solr-8.11.3/bin/ Run the installation script with sudo: sudo ./install_solr_service.sh ../solr-8.11.3.tgz Looking to enhance your Drupal site’s performance even further? Our expert team specializes in custom Drupal development and can help you optimize your search functionality for better user engagement. Step 4: Start and enable Solr Service After Solr is installed, you need to start the Solr service and enable it to start automatically on system boot. sudo systemctl start solrsudo systemctl enable solr Starting the Solr service allows it to begin running on your server. Enabling the service ensures it starts automatically whenever your server reboots, ensuring Solr is always available. Step 5: Configure Solr for Your Drupal Project To integrate Solr with your Drupal project, you'll need to modify the .lando.yml file. Add the Following Code to .lando.yml: services:   search:     type: solr:8     config:       dir: ./solr_8.x     core: drupal     portforward: trueAfter adding the above code, run the following command to rebuild your Lando environment: lando rebuild Step 6: Install & Configure Search API Solr With Solr configured, the next step is to install and enable the Search API Solr module in your Drupal project. Use Composer to install the Search API Solr module.lando composer require 'drupal/search_api_solr:^4.3'  Enable the module by navigating to admin > Extend > Search API Solr or running this command from the terminal:lando drush en search_api_solr  After enabling go to Configuration > Search and metadata > Search API Click on Add server to configure Solr as your search server and save the configuration. How to Add a Search Index Now, let’s create a search index that will allow your site to use Solr for searching content. Navigate to Add index within the Search API configuration. Choose a name for your index. Pick the datasources from which Solr will pull content. Choose the Solr server you configured earlier. Click on Save to save the configuration. After setting up the index, you'll need to configure the fields that Solr will index. Navigate to the Fields tab. Click Add fields and select fields like Title and Body. Add content fields based on your requirements, then save the changes. Access the newly created index and click on Index Now to begin indexing your site’s content. Enable Highlighting in Apache Solr To enhance user experience, enable highlighting in Solr to emphasize matching search terms. Steps: Go to the Processors tab in the Search API configuration. Check the Highlight option. Configure the settings as needed and save the configuration. Highlighting will make it easier for users to see relevant search terms in the search results, improving the overall usability of your site. Final Thoughts By following these steps, you'll have a fully operational Solr search setup, optimized for integration with Drupal. This setup not only improves search performance but also enhances the user experience by delivering faster and more relevant search results. Need help with your Drupal setup? Our Drupal development services can assist with fine-tuning your search functionality. Reach out for expert support.
Categories: FLOSS Project Planets

Talking Drupal: Talking Drupal #463 - Drupal vs DIY Site Builders

Planet Drupal - Mon, 2024-08-12 14:00

Today we are talking about DIY Site Builders, what are the benefits over Drupal (If Any), and When using Drupal makes sense with guest Ivan Stegic. We’ll also cover Drupal 11 as our module of the week.

For show notes visit: www.talkingDrupal.com/463

Topics
  • What is a DIY site builder
  • Does TEN7 use DIY site builders
  • How are DIY site builders better than Drupal
  • Are they less expensive than Drupal
  • HAve you ever suggested a site builder to a client
  • What does a migration from a site builder look like
  • Do you think starshot will make Drupal competitive with site builders
Resources Guests

Ivan Stegic - ten7.com ivanstegic

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Josh Miller - joshmiller

MOTW Correspondent

Martin Anderson-Clutz - mandclu.com mandclu

  • Brief description:
    • Have you been wanting a version of Drupal that can use Workspaces, Recipes, and Single Directory Components, while running all the latest versions of its underlying technologies? Drupal 11 is all of that and more
  • Module name/project name:
  • Brief history
    • How old: created on Aug 2 by catch of Tag1 and Third & Grove
  • Module features and usage
    • Limited additions vs 10.3: by design to make the transition easier
      • Mostly in the recipes API, e.g. new config actions
    • Recap of new features vs. 10.0
      • Workspaces
      • Revisions and workflow are possible in the UI for Blocks and Taxonomy Terms
      • UI updates for creating and reusing fields, as well as bulk content operations
      • New Access Policy API and Single Directory Components
      • New Navigation and Announcements Feed modules
    • Contrib support out of the gate: about ⅔ of the top 200 modules already support Drupal 11
      • Adding modules that Rector estimates will only need info.yml or automated fixes brings us to over 80% of the top 200, or about 75% of all Drupal 10-compatible projects on Drupal.org
    • Updated dependencies: PHP 8.3, Symfony 7, CKEditor 5 42.0,2, Twig 3.9, Yarn 4, jQuery 4.0.0-beta, jQuery UI 1.14-beta.2 and more
    • Modules moved to contrib (smaller core):
      • Actions UI
      • Activity Tracker
      • Book
      • Forum
      • Statistics
      • Tour
    • Drupal 10 will receive maintenance support until mid-2026, so the community created this release of Drupal 11 early to give sites as much time as possible to make the transition, in this case almost 2 years!
Categories: FLOSS Project Planets

Scarlett Gately Moore: KDE, Kubuntu, Debian Qt6 updates plus Kubuntu Noble .1 updates.

Planet Debian - Mon, 2024-08-12 12:33

Another loss last week of a friend. I am staying strong and working through it. A big thank you to all of you that have donated to my car fund, I still have a long way to go. I am not above getting a cheap old car, but we live in sand dunes so it must be a cheap old car with 4×4 to get to my property. A vehicle is necessary as we are 50 miles away from staples such as food and water. We also have 2 funerals to attend. Please consider a donation if my work is useful to you. https://gofund.me/1e784e74 All of my work is currently unpaid work, as I am between contracts. Thank you for your consideration. Now onto the good stuff, last weeks work. It was another very busy week with Qt6 packaging in Debian/Kubuntu and KDE snaps. I also have many SRUs for Kubuntu Noble .1 release that needs their verification done.

Kubuntu:

Debian:

Starting the salvage process for kdsoap which is blocking a long line of packages, notably kio-extras.

  • qtmpv – in NEW
  • arianna – in NEW
  • xwaylandvideobridge – NEW
  • futuresql – NEW
  • kpat WIP – failing tests
  • kdegraphics-thumbnailers (WIP)
  • khelpcenter – experimental
  • kde-inotify-survey – experimental
  • ffmpegthumbs – experimental
  • kdialog – experimental
  • kwalletmanager – experimental
  • libkdegames – pushed some fixes – experimental
  • Tokodon – Done, but needs qtmpv to pass NEW
  • Gwenview – WIP needs – kio-extras (blocked)

KDE Snaps:

Please note: Please help test the –edge snaps so I can promote them to stable.

WIP Snaps or MR’s made

  • Kirigami-gallery ( building )
  • Kiriki (building)
  • Kiten (building)
  • kjournald (Building)
  • Kdevelop (WIP)
  • Kdenlive (building)
  • KHangman (WIP)
  • Kubrick (WIP)
  • Palapeli (Manual review in store dbus)
  • Kanagram (WIP)
  • Labplot (WIP)
  • Kjumpingcube (MR)
  • Klettres (MR)
  • Kajongg –edge (Broken, problem with pyqt)
  • Dragon –edge ( Broken, dbus fails)
  • Ghostwriter –edge ( Broken, need to workout Qt webengine obscure way of handling hunspell dictionaries.)
  • Kasts –edge ( Broken, portal failure, testing some plugs)
  • Kbackup –edge ( Needs auto-connect udisks2, added home plug)
  • Kdebugsettings –edge ( Added missing personal-files plug, will need approval)
  • KDiamond –edge ( sound issues )
  • Angelfish –edge https://snapcraft.io/angelfish ( Crashes on first run, but runs fine after that.. looking into it)
  • Qrca –edge ( needs snap connect qrca:camera camera until auto-connect approved, will remain in –edge until official release)

Thanks for stopping by.

Categories: FLOSS Project Planets

KDE, Kubuntu, Debian Qt6 updates plus Kubuntu Noble .1 updates.

Planet KDE - Mon, 2024-08-12 12:33

Another loss last week of a friend. I am staying strong and working through it. A big thank you to all of you that have donated to my car fund, I still have a long way to go. I am not above getting a cheap old car, but we live in sand dunes so it must be a cheap old car with 4×4 to get to my property. A vehicle is necessary as we are 50 miles away from staples such as food and water. We also have 2 funerals to attend. Please consider a donation if my work is useful to you. https://gofund.me/1e784e74 All of my work is currently unpaid work, as I am between contracts. Thank you for your consideration. Now onto the good stuff, last weeks work. It was another very busy week with Qt6 packaging in Debian/Kubuntu and KDE snaps. I also have many SRUs for Kubuntu Noble .1 release that needs their verification done.

Kubuntu:

Debian:

Starting the salvage process for kdsoap which is blocking a long line of packages, notably kio-extras.

  • qtmpv – in NEW
  • arianna – in NEW
  • xwaylandvideobridge – NEW
  • futuresql – NEW
  • kpat WIP – failing tests
  • kdegraphics-thumbnailers (WIP)
  • khelpcenter – experimental
  • kde-inotify-survey – experimental
  • ffmpegthumbs – experimental
  • kdialog – experimental
  • kwalletmanager – experimental
  • libkdegames – pushed some fixes – experimental
  • Tokodon – Done, but needs qtmpv to pass NEW
  • Gwenview – WIP needs – kio-extras (blocked)

KDE Snaps:

Please note: Please help test the –edge snaps so I can promote them to stable.

WIP Snaps or MR’s made

  • Kirigami-gallery ( building )
  • Kiriki (building)
  • Kiten (building)
  • kjournald (Building)
  • Kdevelop (WIP)
  • Kdenlive (building)
  • KHangman (WIP)
  • Kubrick (WIP)
  • Palapeli (Manual review in store dbus)
  • Kanagram (WIP)
  • Labplot (WIP)
  • Kjumpingcube (MR)
  • Klettres (MR)
  • Kajongg –edge (Broken, problem with pyqt)
  • Dragon –edge ( Broken, dbus fails)
  • Ghostwriter –edge ( Broken, need to workout Qt webengine obscure way of handling hunspell dictionaries.)
  • Kasts –edge ( Broken, portal failure, testing some plugs)
  • Kbackup –edge ( Needs auto-connect udisks2, added home plug)
  • Kdebugsettings –edge ( Added missing personal-files plug, will need approval)
  • KDiamond –edge ( sound issues )
  • Angelfish –edge https://snapcraft.io/angelfish ( Crashes on first run, but runs fine after that.. looking into it)
  • Qrca –edge ( needs snap connect qrca:camera camera until auto-connect approved, will remain in –edge until official release)

Thanks for stopping by.

Categories: FLOSS Project Planets

FSF Events: Free Software Directory meeting on IRC: Friday, August 16, starting at 12:00 EDT (16:00 UTC)

GNU Planet! - Mon, 2024-08-12 11:35
Join the FSF and friends on Friday, August 16 from 12:00 to 15:00 EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.
Categories: FLOSS Project Planets

PyCharm: PyCharm 2024.2 Is Here: Improvements for Jupyter Notebooks, Databricks Integration, New AI Assistant Features, and More!

Planet Python - Mon, 2024-08-12 10:06

Offering a wide range of new and improved functionality, including Hugging Face integration, new AI Assistant features, a new default UI, and an overall better user experience, PyCharm 2024.2 is a must for anyone looking to increase their productivity. 

Learn about all the updates on our What’s New page, download the latest version from our website, or update your current version through our free Toolbox App.

Download PyCharm 2024.2 PyCharm 2024.2 key features Databricks integration PRO

PyCharm now provides direct integration with Databricks via a plugin. You can connect to a Databricks cluster, execute scripts and notebooks as workflows, execute files directly in a Spark shell on a cluster, and monitor the progress – all from the comfort of your IDE.

This integration allows you to harness the power of your IDE when working with Databricks, making the process faster and easier. 

Hugging Face integration PRO

PyCharm 2024.2 can now suggest the most relevant Hugging Face models based on your use case. When you select a model, the IDE will suggest inserting a code snippet that allows you to use it directly in the open file, and PyCharm will download and install any missing dependencies automatically.

You can also identify unused models installed on your machine and delete them to free up disk space directly from the IDE. 

Additionally, you can inspect your Hugging Face Datasets library data as an interactive dataframe, utilizing features like the chart view, pagination, and the ability to sort and export tables.

Read more Jupyter notebooks PRO

Instantly preview the value of a chosen variable simply by hovering over the variable’s line. You no longer need to use the debugger or print statements!

Furthermore, you can now expand and collapse cells, as well as run them straight from the gutter. Additionally, cells now display their statuses and assigned tags.

All these improvements are designed to make working with Jupyter notebooks in PyCharm seamless, fast, and efficient. 

AI cells in Jupyter notebooks

With our new AI cell option, you can add prompts directly inside your notebooks and work with AI Assistant right from there. A light bulb icon next to the AI cell provides suggestions about the next steps in your data analysis workflow.

One-click dataframe visualization

Visualize your dataframes with the help of AI Assistant, which now provides suggestions about the graphs and plots most suitable to your context.

AI Assistant

JetBrains AI Assistant 2024.2 enhances cloud-based code completion with faster, more accurate suggestions and a better UX, including syntax highlighting and the option to accept suggestions incrementally. The AI chat now uses the latest GPT-4o model and supports chat references and semantic search. 

New features include AI integration in the Terminal tool window for command generation, AI-assisted VCS conflict resolution, and customizable prompts for documentation and unit test creation.

Learn about these and other AI Assistant enhancements in this dedicated blog post.

Database tools PRO New AI Assistant features 

With the text-to-SQL feature, you can generate SQL code directly in the editor by clicking Generate Code with AI and entering your prompt. You can accept, regenerate, or refine the code, and take it to the AI chat if you have further questions.

Additionally, AI Assistant can help with modifying tables, allowing you to request changes like switching all VARCHAR data types to CHAR.

It can also help you understand and fix SQL problems, suggesting explanations and fixes. 

Read more User experience Preview option in Search Everywhere

The Search Everywhere dialog now includes an option to preview the codebase elements you’re searching for, offering additional context and making it easier to navigate through your project.

Improved full line code completion PRO

In 2024.2, full line code completion suggestions now include code highlighting, and new shortcuts allow you to accept individual words or entire lines from longer suggestions. We’ve also refined how accepted changes are integrated into your code, eliminating any formatting issues.

Run/Debug String variable visualizers for JSON, XML, and other formats

Debugging and browsing long string variables with complex data formats is now much easier. The updated debugger offers properly formatted visualizations for string variables with strings encoded in JSON, XML, HTML, JWT, and URL.

Frameworks and technologies PRO GraalJS as the execution engine for the HTTP Client 

We’ve upgraded the JavaScript execution engine used in the HTTP Client to GraalJS. This allows you to use all GraalJS features, including full support for the ECMAScript 2023 specification, when testing endpoints with PyCharm’s HTTP Client and using JavaScript in .http files to handle the results.

HTTP Client improvements

In the HTTP Client, we’ve added XPath functionality for querying and manipulating XML and HTML documents, support for iterating through collections using JSONPath to automate requests, and the ability to create and add custom API methods effortlessly. 

Enhanced Terraform support 

We’ve enhanced PyCharm’s Terraform support with full line code completion, improved context-aware code completion, refined syntax highlighting, and better error detection with quick-fix suggestions. Additionally, a quick documentation feature now provides instant tooltips, offering immediate information to streamline your Terraform workflow.

Frontend PRO Improved support for major web frameworks

PyCharm can now resolve paths for frameworks that use file-system-based routing. It can also resolve link paths based on your project’s file system, providing autocompletion and navigation for Next.js, Nuxt, SvelteKit, and Astro. There is also support for new Svelte 5 snippets and render tags. 

Additionally, we’ve implemented language server protocol (LSP) support for Astro and upgraded the Vue LSP to Vue Language Service v2, improving code completion and the overall developer experience.

Ability to run and debug TypeScript files directly

You can now run and debug TypeScript files from different entry points, including the file context menu, the Run widget, and the Current File configuration. 

Remote development PRO Reverse port forwarding

With reverse port forwarding, you can now connect a remote IDE to ports available on the client machine. This is particularly useful for mobile development and connecting to local databases.

Download PyCharm 2024.2

These are all the key features of this release, but there’s much more to explore! Visit our What’s New page or release notes for the full breakdown and additional details about the features mentioned here. 

If you encounter any problems, please report them in our issue tracker so we can address them promptly. 

Connect with us on X (formerly Twitter) to share your thoughts on PyCharm 2024.2. We’re looking forward to hearing them!

Categories: FLOSS Project Planets

Real Python: Python News Roundup: August 2024

Planet Python - Mon, 2024-08-12 10:00

In July, there was some exciting news for the Python community as the Python core development team released versions 3.13.0b4 and 3.13.0rc1 of the language. The 3.13.0b4 release marked the end of the beta phase and paved the way for the release candidate phase.

Note that 3.13.0rc1 is a pre-release, so you shouldn’t use it for production environments. However, it provides a great way to try some new and exciting language features.

There’s also great some news from the Python Software Foundation, PyOhio 2024, and the Python ecosystem.

Let’s dive into the most exciting Python news from last month!

Python 3.13.0b4 and 3.13.0rc1

Python 3.13 has reached its fourth beta release, marking the end of the beta phase. Beta releases serve to test new features and bug fixes. However, it’s important to note that this is a preview release and it isn’t recommended for use in production environments.

If you’re a library maintainer, you’re encouraged to test your code with this new version so you can prepare it to support the latest features of the language.

Note: To learn more about pre-releases, check out the How Can You Install a Pre-Release Version of Python? tutorial.

One of the most significant new features of Python 3.13 is the improved interactive interpreter or REPL, which now provides several cool features, including:

  • Colorized prompts
  • Multiline editing with history preservation
  • Interactive help browsing with F1 and a separate command history
  • History browsing with F2
  • Paste mode for larger blocks of code with F3
  • REPL-specific commands like help, exit, and quit without the call parentheses

This is exciting news! The standard REPL up until Python 3.13 was lacking, and sometimes it was necessary to install a third-party tool like bpython or IPython to compensate.

Again, with this release, the beta phase has officially ended, and the first release candidate—3.13.0rc1—is considered the penultimate release preview. In this release candidate phase, only bug fixes are allowed.

The second candidate, which is the last planned release preview, should be out on September 3, 2024, and the official release of 3.13 should be ready on October 1, 2024. Only more excitement lies ahead!

The Python Software Foundation (PSF) Shares Great News Read the full article at https://realpython.com/python-news-august-2024/ »

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

Week 11 recap - Final Stretch

Planet KDE - Mon, 2024-08-12 09:53
As we near the end of GSOC, I'm wrapping things up and getting the code ready for the final review. There's still a rare edge case that happens here and there but overall the new pixel-perfect feature works pretty well and will be usable for pixel ar...
Categories: FLOSS Project Planets

The Drop Times: Drupal GovCon 2024: The Heartbeat of the DC Drupal community

Planet Drupal - Mon, 2024-08-12 09:12
Drupal GovCon 2024 kicks off tomorrow in Washington, D.C., uniting professionals from government, non-profits, education, and the private sector for a free, three-day conference. With over 800 participants expected, this event promises rich sessions, networking opportunities, and insights from the organizers, shared exclusively with The DropTimes, the official media partner.
Categories: FLOSS Project Planets

Mike Driscoll: Creating Progress Bars in Your Terminal with Python and Textual

Planet Python - Mon, 2024-08-12 08:21

The Textual package is a great way to create GUI-like applications with Python in your terminal. These are known as text-based user interfaces or TUIs. Textual has many different widgets built-in to the framework.

One of those widgets is the ProgressBar. If you need to show the progress of a download or long-running process, then you will probably want to use a progress bar or some kind of spinner widget to show the user that your application is working.

This tutorial will show you how to create a simple progress bar with Textual!

Installation

If you do not have Textual installed yet, you can get it by using Python’s handy pip tool. Open up your terminal and run the following command there:

python -m pip install textual

Textual will get installed, along with all its dependencies. You may want to create a virtual environment first and install Textual there.

Creating a ProgressBar in Textual

Creating a progress bar with Textual is pretty straightforward. The following code is based on an example from the Textual documentation. The main difference is that this version uses a button to start the timer, simulating a download or some other long-running process rather than catching a key event.

You can copy this code into your favorite Python editor and give it a quick study:

# progressbar_demo.py from textual.app import App, ComposeResult from textual.containers import Center, Middle from textual.timer import Timer from textual.widgets import Button, ProgressBar class Progress(App[None]): timer = Timer def compose(self) -> ComposeResult: with Center(): with Middle(): yield ProgressBar() yield Button("Start") def on_mount(self) -> None: """ Set up the timer to simulate progress """ self.timer = self.set_interval(1 / 10, self.advance_progressbar, pause=True) def advance_progressbar(self) -> None: """ Called to advance the progress bar """ self.query_one(ProgressBar).advance(1) def on_button_pressed(self) -> None: """ Event handler that is called when button is pressed """ self.query_one(ProgressBar).update(total=100) self.timer.resume() if __name__ == "__main__": app = Progress() app.run()

The compose() method is kind of fun as it uses both the Center() and the Middle() containers to position the widgets in the middle of the terminal. You then set up the timer object in on_mount() and you start the timer in on_button_pressed()which is the Button widget’s event handler.

When you run this code, you will initially see what’s known as an indeterminate progress bar. What that means is that Textual doesn’t have any information about how long the progress is, so the progress bar just shows a kind of “bouncing” or “cycling” progress:

When you press the “Start” button, you will see the progress bar go from 0-100%, and the text fields to the right will update as well:

If you want to make your progress bar stand out, add a gradient. A gradient will make the colors of the progress bar change over time and make the widget look neat!

Wrapping Up

Adding a progress bar or simply showing some kind of informational widget that lets the user know your application is working is always a good idea. You don’t want the user to think the application has crashed or frozen. The user might be forced to close the application and lose their information after all!

Fortunately, Textual makes adding a progress bar easy. Not only is it easy, but the progress bar is easy to update so you can accurately give the user a sense of when the work will be done. Give it a try and see what you think!

Related Reading

Want to learn more about Textual? Check out the following articles:

The post Creating Progress Bars in Your Terminal with Python and Textual appeared first on Mouse Vs Python.

Categories: FLOSS Project Planets

The Drop Times: Latest Breakthroughs in the Drupal Starshot Initiative

Planet Drupal - Mon, 2024-08-12 04:00
<p class="dropcaps">The Drupal Starshot Initiative, introduced at DrupalCon Portland, is making significant strides in defining its direction and goals. Recently, <a href="https://www.thedroptimes.com/42164/drupal-announces-new-track-leads-starshot-project-advancement">the initiative announced the creation of "tracks"</a> to concentrate development efforts on specific areas. This approach is set to streamline progress and ensure that each aspect of the project receives the attention it needs.</p><p>The Drupal community's response has been robust, with nearly 65 submissions for leadership roles within these tracks. Leaders have been selected, drawing expertise from a diverse set of companies. However, three tracks are still in search of leadership, and the project remains focused on evolving through community-driven collaboration.</p><p>Our founder, Anoop John, <a href="https://youtu.be/aU2Hueh6i-s">conducted an interview</a> with Dries Butyaert at the beginning of July, which we <a href="https://www.thedroptimes.com/interview/41572/chief-who-drives-and-driven-drupal-talk-with-dries-buytaert">published on July 18</a>. In it, Dries, optimistic about the path the initiative is taking, said:&nbsp;</p><blockquote><p><em>"We have been working hard on the Starshot initiative, dedicating around six hours a day to it. We have made a lot of progress."</em></p></blockquote><p>and we are witnessing that enthusiasm spreading like wildfire in the community. As detailed in Dries Buytaert's <a href="https://www.thedroptimes.com/42132/drupal-starshot-new-strategy-marketers">blog post</a>, the Starshot Initiative—currently a temporary name—targets empowering marketers and expanding Drupal's market presence. Aimed at projects with budgets between $30,000 and $120,000 USD, the initiative focuses on ease of use, flexibility, smart defaults, and strong integrations, making Drupal a gold standard for marketers. Key features include AI-assisted tools, advanced content modeling, and efficient content reuse, all designed to help marketers scale their sites without being hindered by technical limitations.</p><p><span style="box-sizing:border-box;margin:0;padding:0;text-align:left;">The&nbsp;</span><a href="https://www.thedroptimes.com/42104/drupal-starshot-initiative-introduces-new-contribution-bonuses" target="_blank"><span style="box-sizing:border-box;margin:0;padding:0;text-align:left;">Drupal Starshot Initiative has introduced new contribution bonuses</span></a><span style="box-sizing:border-box;margin:0;padding:0;text-align:left;"> to encourage community involvement further</span>. These bonuses are designed to reward those who lead and contribute to the project, leveraging Drupal's powerful contribution credit system. This includes 10 credits per issue for contributions to specific Starshot modules, 50 credits per week for organizational pledges of dedicated team members, and 1 credit per $100 invested in the innovation fund, starting from a $5,000 minimum.</p><p>Looking ahead, the impact of Drupal 11 and the Starshot Initiative on web development is expected to be profound. Drupal 11 brings innovations such as improved APIs, a revamped admin interface, and enhanced performance, making it more powerful and user-friendly. Starshot builds on this by simplifying installation and configuration, making Drupal accessible even to newcomers.</p><p>As the community continues to work hard on Starshot, anticipation is building for more updates at DrupalCon Barcelona in September. Dries hinted that they hope to showcase real progress, from marketing efforts to the first implementation of "recipes," one of the key technical components of Starshot.</p><p>Now, let's explore what <em>The Drop Times</em> has been reporting on over the past week.</p><p><a href="https://www.thedroptimes.com/41622/which-cms-powers-top-us-university-websites-comprehensive-analysis">A comprehensive study by The Drop Times</a> reveals that 35.4% of U.S. universities prefer Drupal for its flexibility and robust community support. The study highlights Drupal's growing role in academic content management.</p><p><a href="https://www.thedroptimes.com/interview/42044/resurrected-with-resilience-dallas-ramsdens-drupal-legacy">In a conversation</a> with <em><strong>Elma John</strong></em>, a former sub-editor with <em>The DropTimes</em>, <a href="/people/32359/dreambubbler" data-entity-type="node" data-entity-uuid="20d35642-6e8c-4a72-baa3-e3000e862103" data-entity-substitution="canonical">Dallas Ramsden</a>, CEO of Xequals, shares his 16-year journey with Drupal, including surviving a life-threatening accident and transitioning to teaching. His story is one of resilience and dedication to the Drupal community.</p><p><strong>Alka Elizabeth</strong>, sub-editor at The Drop Times, <a href="https://www.thedroptimes.com/42015/closer-look-at-ffws-transition-jakala">reports on JAKALA, a leading data and AI company, acquiring digital experience solutions provider FFW.</a> This deal, the largest non-public digital agency acquisition in Europe for 2023, significantly expands JAKALA's global workforce and market position.</p><p>The Drupal Association has introduced the <a href="https://www.thedroptimes.com/42169/drupals-starshot-edition-bounty-program-seeks-accelerate-contribution-and-reward-innovation">Starshot Edition of its Bounty Program</a>, offering credits to contributors for their involvement in key projects. This initiative aims to accelerate progress within the community.</p><p><a href="https://www.thedroptimes.com/42098/drupal-ai-module-alpha-6-update-released">The AI Module in Drupal has launched its Alpha 6 update,</a> including most core functionalities. A series of instructional videos has been created to help users navigate these new features.</p><p><a href="https://www.thedroptimes.com/42102/introducing-dresktop-multi-platform-tool-drupal-project-management">Jose Daniel Estrada introduces Dresktop</a>, a desktop application designed to simplify Drupal project management, inspired by Acquia Desktop and other tools.</p><p><a href="https://www.thedroptimes.com/42133/drupalorg-outage-resolved-after-brief-downtime">The Drupal.org website experienced a brief outage</a>, but thanks to swift action, the issue was promptly resolved, with insights from <a href="/people/27085/hestenet" data-entity-type="node" data-entity-uuid="a83a1737-f31e-4f40-8f7b-2d0c7228bedb" data-entity-substitution="canonical">Tim Lehnen</a>, CTO of the Drupal Association.</p><p>Acquia and other sponsors will <a href="https://www.thedroptimes.com/42031/drupal-govcon-community-party-in-college-park">host a community party for Drupal GovCon attendees on August 13</a>. The event promises an evening of relaxation and networking.</p><p><a href="https://www.thedroptimes.com/42153/last-chance-submit-sessions-twin-cities-drupal-camp-2024">Session proposals for Twin Cities Drupal Camp 2024 are open until August 15</a>. The camp, taking place at the University of Minnesota, encourages last-minute submissions.</p><p><a href="https://www.thedroptimes.com/42168/visit-droptimes-stall-at-drupal-govcon-2024">The Drop Times will participate in Drupal GovCon from August 13 to 15</a>, inviting attendees to discuss the latest trends in Drupal and digital governance at our stall.</p><p>With DrupalCon Barcelona 2024 approaching, <a href="https://www.thedroptimes.com/42079/drupalcon-barcelona-2024-register-now-regular-rate">attendees are encouraged to secure their tickets at the regular rate</a> before August 19 for significant savings.</p><p>DrupalCon Singapore 2024 will be held from December 09 to 11, <a href="https://www.thedroptimes.com/42129/drupalcon-singapore-2024-agenda-released">featuring a wide array of sessions tailored to the Drupal community</a>.</p><p><a href="https://www.thedroptimes.com/42097/drupal-tech-talk-37-be-held-in-tilburg-september-5">The 37th Drupal Tech Talk will take place on September 5, 2024</a>, at Spoorlaan 348 in Tilburg at 19:00 CEST. Hosted by <a href="/organization/14123/indicia" data-entity-type="node" data-entity-uuid="2b89aed5-bc5a-46b2-ac70-f89061095844" data-entity-substitution="canonical">Indicia</a> and organized by <a href="/organization/19104/finalist" data-entity-type="node" data-entity-uuid="c470dfbd-89db-4300-b989-4b3a1d4b26bf" data-entity-substitution="canonical">Finalist</a>, <a href="/organization/19339/react-online" data-entity-type="node" data-entity-uuid="2a5e3872-c5a2-4b50-8e22-475659cc6ad2" data-entity-substitution="canonical">React Online</a>, <a href="/organization/20011/swis" data-entity-type="node" data-entity-uuid="6546e414-fe75-40bb-acef-8d376b614fc8" data-entity-substitution="canonical">SWIS</a>, and <a href="/organization/19533/synetic" data-entity-type="node" data-entity-uuid="c3fa64e1-ea1a-4a90-8e1d-fe355452b3c9" data-entity-substitution="canonical">Synetic</a>, this meetup promises insightful sessions, networking, and community building. Dutch Drupal developers will gather to share experiences, learn from experts, and enjoy food and drinks.</p><p>We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now.</p><p>To get timely updates, follow us on <a href="https://www.linkedin.com/company/the-drop-times/">LinkedIn</a>, <a href="https://twitter.com/thedroptimes">Twitter</a> and <a href="https://www.facebook.com/thedroptimes">Facebook</a>. You can also, join us on Drupal Slack at <a href="https://drupal.slack.com/archives/C04A6AZGYF6">#thedroptimes</a>.</p><p>Thank you,<br>Sincerely<br><strong>KAZIMA ABBAS</strong><br><strong>Sub-editor, </strong><em><strong>The DropTimes</strong></em><strong>.</strong></p>
Categories: FLOSS Project Planets

Zato Blog: How to correctly integrate APIs in Python

Planet Python - Mon, 2024-08-12 04:00
How to correctly integrate APIs in Python 2024-08-12, by Dariusz Suchojad

Understanding how to effectively integrate various systems and APIs is crucial. Yet, without a dedicated integration platform, the result will be brittle point-to-point, spaghetti integrations, that never lead to good outcomes.

Read this article about Zato, an open-source integration platform in Python, for an overview of what to avoid and how to do it correctly instead.

More blog posts
Categories: FLOSS Project Planets

Golems GABB: Scaling and Performance Optimization of Drupal

Planet Drupal - Mon, 2024-08-12 03:24
Scaling and Performance Optimization of Drupal Editor Mon, 08/12/2024 - 10:24

The future is not distant anymore, so what kind of "good Drupal performance and scalability" can we expect in 2024? Moreover, what implementations can be done via Drupal's features and options to impress an online audience?
Nowadays, in the era of digital content, a website should be ultramodern in both presentation and performance. Consumers prefer easy experiences. Hence, the ability of an organization to do this for them is a critical factor in service delivery. Regarding the user side of the services, sites should hold up with rapid traffic growth, constantly upgrade, and provide users with a wide range of features.
Moreover, such a growing level of cross-communication may not only meet those expectations but also go far beyond them to help organizations grow in the digital domain. 

Categories: FLOSS Project Planets

Freexian Collaborators: Monthly report about Debian Long Term Support, July 2024 (by Roberto C. Sánchez)

Planet Debian - Sun, 2024-08-11 20:00

Like each month, have a look at the work funded by Freexian’s Debian LTS offering.

Debian LTS contributors

In July, 13 contributors have been paid to work on Debian LTS, their reports are available:

  • Bastien Roucariès did 20.0h (out of 20.0h assigned).
  • Chris Lamb did 18.0h (out of 18.0h assigned).
  • Daniel Leidert did 5.0h (out of 4.0h assigned and 6.0h from previous period), thus carrying over 5.0h to the next month.
  • Guilhem Moulin did 8.75h (out of 4.5h assigned and 15.5h from previous period), thus carrying over 11.25h to the next month.
  • Lee Garrett did 51.5h (out of 10.5h assigned and 43.0h from previous period), thus carrying over 2.0h to the next month.
  • Lucas Kanashiro did 5.0h (out of 5.0h assigned and 15.0h from previous period), thus carrying over 15.0h to the next month.
  • Markus Koschany did 40.0h (out of 40.0h assigned).
  • Ola Lundqvist did 4.0h (out of 10.0h assigned and 14.0h from previous period), thus carrying over 20.0h to the next month.
  • Roberto C. Sánchez did 5.0h (out of 5.25h assigned and 6.75h from previous period), thus carrying over 7.0h to the next month.
  • Santiago Ruano Rincón did 6.0h (out of 16.0h assigned), thus carrying over 10.0h to the next month.
  • Sean Whitton did 2.25h (out of 6.0h assigned), thus carrying over 3.75h to the next month.
  • Sylvain Beucler did 39.5h (out of 2.5h assigned and 51.0h from previous period), thus carrying over 14.0h to the next month.
  • Thorsten Alteholz did 11.0h (out of 11.0h assigned).
Evolution of the situation

In July, we have released 1 DLA.

August will be the month that Debian 11 makes the transition to LTS. Our contributors have already been hard at work with preparatorty tasks and also with making contributions to packages in Debian 11 in close collaboration with the Debian security team and package maintainers. As a result, users and sponsors should not observe any especially notable differences as the transition occurs.

While only one DLA was released in July (as a result of the transitional state of Debian 11 “bullseye”), there were some notable highlights. LTS contributor Guilhem Moulin prepared an update of libvirt for Debian 11 (in collaboration with the Old-Stable Release Managers and the Debian Security Team) to fix a number of outstanding CVEs which did not rise to the level of a DSA by the Debian Security Team. The update prepared by Guilhem will be included in Debian 11 as part of the final point release at the end of August, one of the final transition steps by the Release Managers as Debian 11 moves entirely to the LTS Team’s responsibility. Notable work was also undertaken by contributors Lee Garrett (fixes on the ansible test suite and a bullseye update), Lucas Kanashiro (Rust toolchain, utilized by the clamav, firefox-esr, and thunderbird packages), and Sylvain Beucler (fixes on the ruby2.5/2.7 test suites and CI infrastructure), which will help improve the quality of updates produced during the next LTS cycle.

June was the final month of LTS for Debian 10 (as announced on the debian-lts-announce mailing list). No additional Debian 10 security updates will be made available on security.debian.org.

However, Freexian and its team of paid Debian contributors will continue to maintain Debian 10 going forward for customers of the Extended LTS offer. Subscribe right away if you sill have Debian 10 systems which must be kept secure (and which cannot yet be upgraded).

Thanks to our sponsors

Sponsors that joined recently are in bold.

Categories: FLOSS Project Planets

Freexian Collaborators: Debian Contributions: autopkgtest/incus builds, live-patching, Salsa CI, Python 3.13 (by Stefano Rivera)

Planet Debian - Sun, 2024-08-11 20:00
Debian Contributions: 2024-07

Contributing to Debian is part of Freexian’s mission. This article covers the latest achievements of Freexian and their collaborators. All of this is made possible by organizations subscribing to our Long Term Support contracts and consulting services.

autopkgtest/Incus build streamlining, by Colin Watson

Colin contributed a change to allow maintaining Incus container and VM images in parallel. Both of these are useful (containers are faster, but some tests need full machine isolation), and the build tools previously didn’t handle that very well.

This isn’t yet in unstable, but once it is, keeping both flavours of unstable images up to date will be a simple matter of running this regularly:

RELEASE=sid autopkgtest-build-incus images:debian/trixie RELEASE=sid autopkgtest-build-incus --vm images:debian/trixie Linux live-patching, by Santiago Ruano Rincón

In collaboration with Emmanuel Arias, Santiago continued the work on the support for applying security fixes to the Linux kernel in Debian, without the need to reboot the machine. As mentioned in the previous month report, kpatch 0.9.9-1 (and 0.9.9-2 afterwards) was uploaded to unstable in July, closing the Intent to Salvage (ITS) bug. With this upload, the remaining RC bugs were solved, and kpatch was able to transition to Debian testing recently. Kpatch is expected to be an important component in the live-patching support, since it makes it easy to build a patch as a kernel module. Emmanuel and Santiago continued to work on the design for Linux live-patching and presented the current status in the DebConf24 presentation.

Salsa CI, by Santiago Ruano Rincón

To be able to add RISC-V support and to avoid using tools not packaged in Debian (See #331), the Salsa CI pipeline first needed to move away from kaniko to build the images used by the pipeline. Santiago created a merge request to use buildah instead, and it was merged last month. Santiago also prepared a couple of more MRs related to how the images are built: initial RISC-V support, that should be merged after improving how built images are tested. The switch to buildah introduced a regression in the work-in-progress MR that adds new build image so the build job can run sbuild. Santiago hopes to address this regression and continue with the sbuild-related MRs in August.

Additionally, Santiago also contributed to the install docker-cli instead of docker.io in the piuparts image MR, and reviewed others such as reprotest: Add –append-build-command option, fix failure at manual pipeline run when leaving RELEASE variable empty and Fix image not found error on image building stage.

Python 3.13 Betas, by Stefano Rivera

As Python 3.13 is approaching the first release, Stefano has been uploading the beta releases to Debian unstable. Most of these have uncovered small bugs that needed to be investigated and fixed.

Stefano also took the time to review the current patch set against cPython in Debian.

Python 3.13 isn’t marked as a supported Python release in Debian’s Python tooling, yet, so nothing has been built against it, yet. Now that the Python 3.12 transition has completed, the next task will be to start trying to build Debian’s Python module packages against Python 3.13, to estimate the work required to transition to 3.13 in unstable.

Miscellaneous contributions
  • Carles Pina updated the packages python-asyncclick, python-pyaarlo and prepared updates for python-ring-doorbell and simplemonitor.
  • Carles Pina updated (reviewing or translating) Catalan translations for adduser, apt-listchanges, debconf and shadow.
  • Colin merged OpenSSH 9.8, and prepared a corresponding release note for DSA support now being disabled. This version included some substantial changes to split the server into a listener binary and a per-session binary, and those required some corresponding changes in the GSS-API key exchange patch. Sorting out the details of this and getting it to work again took some time.
  • Colin upgraded 11 Python packages to new upstream versions, and modernized the build process and/or added non-superficial autopkgtests to several more.
  • Raphaël Hertzog tweaked tracker.debian.org’s debci task to work around changes in the JSON output. He also improved tracker.debian.org’s ability to detect bounces due to spam to avoid unsubscribing emails that are not broken, but that are better than Debian at rejecting spam.
  • Helmut Grohne monitored the /usr-move transition with few incidents. A notable one is that some systems have ended up with aliasing links that don’t match the ones installed by base-files which could lead to an unpack error from dpkg. This is now prevented by having base-files.preinst error out.
  • Helmut investigated toolchain bootstrap failures with gcc-14 in rebootstrap but would only discover the cause in August.
  • Helmut sent a MR for the cross-exe-wrapper requested by Simon McVittie for gobject-introspection. It is a way of conditionally requesting qemu-user when emulation is required for execution during cross compilation.
  • Helmut sent three patches for cross build failures.
  • Thorsten Alteholz uploaded packages lprint and magicfilter to fix RC-bugs that appeared due to the introduction of gcc-14.
  • Santiago continued to work on activities related to the DebConf24 Content Team, including reviewing the schedule and handling updates on it.
  • Santiago worked on preparations for the DebConf25, to be held in Brest, France, next year. A video of the BoF presented during DebConf24 can be found here.
  • Stefano worked on preparations for DebConf24, and helped to run the event.
Categories: FLOSS Project Planets

The Last Month in GSoC

Planet KDE - Sun, 2024-08-11 07:00

I’ve realized that it’s been nearly a month since the last update about my GSoC project, so it’s time to publish a new one.

I’ve been upstreaming the Python bindings to their corresponding repositories and addressing the comments. Many thanks to Nico, Christophe, Volker, Ben and Carl (my mentor) for their comments! The CMake part has improved a lot and it’s almost ready to be merged. CI support should be ready for FreeBSD and Linux. We can add support for Windows if people are interested.

I’ll probably write a tutorial on how to add Python bindings to a library next week.

Categories: FLOSS Project Planets

Ravi Dwivedi: How My Schengen Visa Was Refused by Austria

Planet Debian - Sun, 2024-08-11 02:29

Vienna - the capital of Austria - is one of the most visited cities in the world, popular for its rich history, gardens, and cafes, along with well-known artists like Beethoven, Mozart, Gödel, and Freud. It has also been consistently ranked as the most livable city in the world.

For these reasons, I was elated when my friend Snehal invited me last year to visit Vienna for a few days. We included Christmas and New Year’s Eve in my itinerary due to the city’s popular Christmas markets and lively events. The festive season also ensured that Snehal had some days off for sightseeing.

Indians require a visa to visit Austria. Since the travel dates were near, I rushed to book an appointment online with VFS Global in Delhi, and quickly arranged the required documents. However, at VFS, I found out that I had applied in the wrong appointment category (tourist), which depends on the purpose of the visit, and that my travel dates do not allow enough time for visa authorities to make a decision. Apparently, even if you plan to stay only for a part of the trip with the host, you need to apply under the category “Visiting Friends and Family”.

Thus, I had to book another appointment under this category, and took the opportunity to shift my travel dates to allow at least 15 business days for the visa application to be processed, removing Christmas and New Year’s Eve from my itinerary.

The process went smoothly, and my visa application was submitted by VFS. For reference, here’s a list of documents I submitted -

  • VFS appointment letter

  • Duly-filled visa application form

  • Original passport

  • Copy of passport

  • 1 photograph

  • My 6 months bank account statement

  • Cover letter

  • Consent form (that visa processing will take up to 15 business days)

  • Snehal’s job contract

  • My work contract

  • Rent contract of Snehal

  • Residence permit of Snehal

  • A copy of Snehal’s passport

  • Invitation letter from Snehal

  • Return flight ticket reservations

  • Travel insurance for the intended travel dates

The following charges were collected from me.

Service Description Amount (Indian Rupees) Cash Handling Charge - SAC Code: (SAC:998599)

0

VFS Fee - India - SAC Code: (SAC:998599)

1,820

VISA Fee - India - SAC Code:

7,280

Convenience fee - SAC Code: (SAC:998599)

182

Courier Service - SAC Code: (SAC:998599)

728

Courier Assurance - SAC Code: (SAC:998599)

182

Total

10,192

I later learned that the courier charges (728 INR) and the courier assurance charges (182 INR) mentioned above were optional. However, VFS didn’t ask whether I wanted to include them. If you apply for a visa through VFS, remember to request them to remove courier assurance charges from your bill.

My visa application was submitted on the 21st of December 2023. A few days later, on the 29th of December 2023, I received an email from the Austrian embassy asking me to submit an additional document -

Subject: AUSTRIAN VISA APPLICATION - AMENDMENT REQUEST: Ravi Dwivedi VIS 4331

Dear Applicant,

On 22.12.2023 your application for Visa C was registered at the Embassy. You are requested to kindly send the scanned copies of the following documents via email to the Embassy or submit the documents at the nearest VFS centre, for further processing of your application:

  • Kindly submit Electronic letter of guarantee “EVE- Elektronische Verpflichtungserklärung” obtained from the “Fremdenpolizeibehörde” of the sponsor’s district in Austria. Once your host company/inviting company has obtained the EVE, please share the reference number (starting from DEL_____) received from the authorities, with the Embassy.

Kindly Note: It is in your own interest to fulfil the requirements as indicated above and submit the missing documents within 14 days of the receipt of this email. Otherwise a decision will be taken based on the documentation available. “Sie werden in Ihrem Interesse ersucht, die gekennzeichneten Mängel so schnell wie möglich zu beheben bzw. fehlende Unterlagen umgehend nachzureichen, um die weitere Bearbeitung des Antrages zu ermöglichen. Sollten Sie innerhalb 14 Tagen die gekennzeichneten Mängel nicht beheben bzw. die fehlenden Unterlagen nicht nachreichen, wird über den vorliegenden Antrag ohne diese Unterlagen bzw. Mängelbehebung entschieden.” Austrian Embassy New Delhi

R.J/ Consular Section +91 11 2419 2700 EP-13, Chandragupta Marg, Chanakyapuri, New Delhi 110 021, India bmeia.gv.at/botschaft/new-delhi facebook.at/AustrianEmbassyNewDelhihttp://www.facebook.at/AustrianEmbassyNewDelhi | twitter.com/MFA_Austriahttp://www.twitter.com/MFA_Austria

[refocus1][Signatur_V+30]https://www.bmeia.gv.at/en/european-foreign-policy/foreign-trade/refocus-austria/[Logo_AT_IN_22px]

I misunderstood the required document to be a scanned copy of the letter of guarantee form signed by Snehal, and responded by attaching it.

Upon researching, Snehal determined that the document is an electronic letter of guarantee, and is supposed to be obtained at a local police station in Vienna. He visited a police station the next day and had a hard time conversing due to the language barrier (German is the common language in Austria, whereas Snehal speaks English). That day was a weekend, so he took an appointment for Monday, but in the meantime the embassy had finished processing my visa.

My visa was denied, and the refusal letter stated:

The Austrian embassy in Delhi examined your application; the visa has been refused.

The decision is based on the following reason(s):

  • The information submitted regarding the justification for the purpose and conditions of the intended stay was not reliable.

  • There are reasonable doubts as to your intention to leave the territory of the Member States before the expiry of the visa.

Other remarks:

You have been given an amendment request, which you have failed to fulfil, or have only fulfilled inadequately, within the deadline set.

You are a first-time traveller. The social and economic roots with the home country are not evident. The return from Schengen territory does therefore not seem to be certain.

Neither my travel agent nor the VFS application center mentioned this document, called the Elektronische Verpflichtungserklärung (EVE). Additionally, the required documents list from the VFS website leads to a dead link. Snehal also told me that his wife’s visa was approved earlier without this document. I suggest that the Austrian visa authorities fix that URL and write instructions on how hosts can obtain that document.

Credits to Snehal and Contrapunctus for editing, Badri for proofreading.

Categories: FLOSS Project Planets

Tidy First? Recommendation to read Kent Beck's book

Planet KDE - Sat, 2024-08-10 18:01

Most of the time programmers do not write new code. Instead, they read, try to understand,  extend, and fix bugs in existing code. While some parts of KDE are pretty new and follow modern standards, many parts are more then two decades old -- following obsolete coding principles, using outdated ways of solving problems, and having additions from several persons with different styles. Often when we read code, we immediately spot things we could improve.

Kent Beck's approach is applying a series of small tidyings that leads to structural change and an overall better software design. In his new book Tidy First? he describes his idea in three parts: Tidyings, how to manage tidyings, and software design theory.

In the first part the author introduces generic tidyings like dead code removal, moving declaration and initialization together, introducing new interfaces, or explicit parameters. Most proposals are not new, but it is a good reminder to follow them and fix these things wherever you come across them in code you are working with. After reading the first part, I felt motivated to create some tidying commits right away. For KDE more specific tidying could be added: Fix deprecation warnings from Qt and KF, replace C-style code by C++, use modern C++ (range-base for loop, initialization lists), fix compiler warnings.

The second part gives hints on how to organize and commit tidyings. Separate tidyings from new features or behavioral changes. Find a balance between asking for review of your tidyings too often or with too extensive reviews.

In the third part Kent Beck offers some basic ideas from software design, especially future options and code coupling.

The book is worth reading for both commercial and open-source developers. Both are facing similar issues. Open-source developers are not worrying about costs, but precious spare time dedicated to coding for their pet project. Every projects has bit rot and profits from regular tidyings by their developers.

People interested in software design will recognize the ideas from classic books like Structured Design or Refactoring: Improving the Design of Existing Code. Nevertheless, Tidy First? makes the knowledge easily accessible. Most chapters are only one to three pages long and the book stays below a hundred pages.

This is the first book of a planned series of small books. Kent Beck develops his ideas in his blog (partially pay-walled) and discusses his views with his readers. Some blog post make it into Kevin's weekly web reviews.

Categories: FLOSS Project Planets

Benjamin Mako Hill: For Additional Confusion

Planet Debian - Sat, 2024-08-10 11:56

The Wikipedia article on antipopes can be pretty confusing! If you’d like to be even more confused, it can help with that!

Categories: FLOSS Project Planets

Pages