Feeds

Russell Coker: Samsung Galaxy Note 9 Review

Planet Debian - 13 hours 24 min ago

After the VoLTE saga [1] and the problems with battery life on the PinePhonePro [2] (which lasted 4 hours while idle with the screen off in my last test a few weeks ago) I’m running a Galaxy Note 9 [3] with the default Samsung OS as my daily driver.

I don’t think that many people will be rushing out to buy a 2018 phone regardless of my review. For someone who wants a phone of such age (which has decent hardware and a low price) then good options are the Pixel phones which are all supported by LineageOS.

I recommend not buying this phone due to the fact that it doesn’t have support for VoLTE with LineageOS (and presumably any other non-Samsung Android build) and doesn’t have support from any other OS. The One Plus 6/6T has Mobian support [4] as well as LineageOS support and is worth considering.

The Note 9 still has capable hardware by today’s standards. A 6.4″ display is about as big as most people want in their pocket and 2960×1440 resolution in that size (516dpi) is probably as high as most people can see without a magnifying glass. The model I’m using has 8G of RAM which is as much as the laptop I was using at the start of this year. I don’t think that many people will have things that they actually want to do on a phone which needs more hardware than this. The only hardware feature in new phones which beats this is the large folding screen in some recent phones, but $2500+ (the price of such phones in Australia) is too much IMHO and the second hand market for folding phones is poor due to the apparently high incidence of screens breaking.

The Note 9 has the “Dex” environment for running as a laptop if you connect it to a USB-C dock. It can run nicely with a 4K monitor with USB keyboard and mouse. The UI is very similar to that of older versions of Windows.

The Samsung version of Android seems mostly less useful than the stock Google version or the LineageOS version. The Samsung keyboard flags words such as “gay” as spelling errors and it can’t be uninstalled even when you install a better keyboard app. There is a “Bixby” button on the side of the phone to launch the Bixby voice recognition app which can’t be mapped to any useful purpose, The Google keyboard has a voice dictation option which I will try out some time but that’s all I desire in terms of voice recognition. There are alerts about Samsung special deals and configuration options including something about signing in to some service and having it donate money to charity, I doubt that any users want such features. Apart from Dex the Samsung Android build is a good advert for LineageOS.

The screen has curved sides for no good reason. This makes it more difficult to make a protective phone case as a case can’t extend beyond the screen at the sides and therefore if it’s dropped and hits an edge (step, table, etc) then the glass can make direct contact with something. Also the curved sides reflect sunlight in all directions, this means that the user has to go to more effort to avoid reflecting the sun into their eyes and that a passenger can more easily reflect sunlight into the eyes of a car driver. It’s an impressive engineering feat to make a curved touch-screen but it doesn’t do any good for users.

The stylus is good as always and the screen is AMOLED so it doesn’t waste much power when in dark mode. There is a configuration option to display a clock all the time when the screen is locked because that apparently doesn’t use much power. I haven’t felt inclined to enable the always on screen but it’s a nice feature for those who like such things.

The VoLTE implementation is apparently a bit unusual so it’s not supported by LineageOS and didn’t work on Droidian for the small amount of time that Droidian supported it.

Generally this phone is quite nice hardware it’s just a pity that it demonstrates all of the downsides to buying a non-Pixel phone.

Related posts:

  1. Samsung Galaxy Note 2 A few weeks ago I bought a new Samsung Galaxy...
  2. Samsung Galaxy Note 3 In June last year I bought a Samsung Galaxy Note...
  3. Samsung Galaxy Note 10.1 2014 In May 2014 I bought a Samsung Galaxy Note 10.1...
Categories: FLOSS Project Planets

Drupal Starshot blog: Join the Drupal Starshot team as a track lead

Planet Drupal - Tue, 2024-07-16 18:27

Drupal Starshot seeks track leads to drive key project components. Apply by July 31st and help bring Drupal Starshot to life!

The Drupal Starshot initiative has been making significant progress behind the scenes, and I'm excited to share some updates with the community.

Leadership team formation and product definition

Over the past few months, we've been working diligently on Drupal Starshot. One of our first steps was to appoint a leadership team to guide the project. With the leadership team in place as well as the new Starshot Advisory Council, we shifted our focus to defining the product. We've made substantial progress on this front and will be sharing more details about the product strategy in the coming weeks.

Introducing Drupal Starshot tracks

We already started to break down the initiative into manageable components, and are introducing the concept of "tracks". Tracks are smaller, focused parts of the Drupal Starshot project that allow for targeted development and contributions. We've already published the first set of tracks on the Drupal Starshot issue queue on Drupal.org.

Example tracks include:

  1. Creating Drupal Recipes for features like contact forms, advanced search, events, SEO and more.
  2. Enhancing the Drupal installer to enable Recipes during installation.
  3. Updating Drupal.org for Starshot, including product marketing and a trial experience.

While many tracks are technical and need help from developers, most of the tracks need contribution from designers, UX experts, marketers, testers and site builders.

Recruiting more track leads

Several tracks already have track leads and have made significant progress:

However, we need many additional track leads to drive our remaining tracks to completion.

We're now accepting applications for track lead positions. Interested individuals and organizations can apply by completing our application form. The application window closes on July 31st, two weeks from today.

Key responsibilities of a track lead

Track leads can be individuals, teams, or organizations, including Drupal Certified Partners. While technical expertise is beneficial, the role primarily focuses on strategic coordination and project management. Key responsibilities include:

  • Defining and validating requirements to ensure the track meets the expectations of our target audience.
  • Developing and maintaining a prioritized task list, including creating milestones and timelines.
  • Overseeing and driving the track's implementation.
  • Collaborating with key stakeholders, including the Drupal Starshot leadership team, module maintainers, the marketing team, etc.
  • Communicating progress to the community (e.g. blogging).
Track lead selection and announcement

After the application deadline, the Drupal Starshot Leadership Team will review the applications and appoint track leads. We expect to announce the selected track leads in the first week of August.

While the application period is open, we will be available to answer any questions you may have. Feel free to reach out to us through the Drupal.org issue queue, or join us in an upcoming zoom meeting (details to be announced / figured out).

Looking ahead to DrupalCon Barcelona

Our goal is to make significant progress on these tracks by DrupalCon Barcelona, where we plan to showcase the advancements we've made. We're excited about the momentum building around Drupal Starshot and can't wait to see the contributions from the community.

If you're passionate about Drupal and want to play a key role in shaping its future, consider applying for a track lead position.

Stay tuned for more updates on Drupal Starshot, and thank you for your continued support of the Drupal community.

— Dries Buytaert

Categories: FLOSS Project Planets

Nonprofit Drupal posts: July Drupal for Nonprofits Chat

Planet Drupal - Tue, 2024-07-16 15:50

Join us THURSDAY, July 18 at 1pm ET / 10am PT, for our regularly scheduled call to chat about all things Drupal and nonprofits. (Convert to your local time zone.) We'll be taking August off, so this is the last chat of the summer.

We don't have anything specific on the agenda this month, so we'll have plenty of time to discuss anything that's on our minds at the intersection of Drupal and nonprofits.  Got something specific you want to talk about? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

This free call is sponsored by NTEN.org and open to everyone. 

  • Join the call: https://us02web.zoom.us/j/81817469653

    • Meeting ID: 818 1746 9653
      Passcode: 551681

    • One tap mobile:
      +16699006833,,81817469653# US (San Jose)
      +13462487799,,81817469653# US (Houston)

    • Dial by your location:
      +1 669 900 6833 US (San Jose)
      +1 346 248 7799 US (Houston)
      +1 253 215 8782 US (Tacoma)
      +1 929 205 6099 US (New York)
      +1 301 715 8592 US (Washington DC)
      +1 312 626 6799 US (Chicago)

    • Find your local number: https://us02web.zoom.us/u/kpV1o65N

  • Follow along on Google Docs: https://nten.org/drupal/notes

View notes of previous months' calls.

Categories: FLOSS Project Planets

PyCoder’s Weekly: Issue #638 (July 16, 2024)

Planet Python - Tue, 2024-07-16 15:30

#638 – JULY 16, 2024
View in Browser »

Customize VS Code Settings

In this course, Philipp helps you customize your Visual Studio Code settings to switch from a basic cluttered look to a clean presentable look. This is not just pleasant on the eyes, but also gives you a nice user interface if you want to share on a Zoom call or screen recording.
REAL PYTHON course

Incident Report: Leaked GitHub Personal Access Token

A PyPI admin accidentally leaked credentials into a Docker container. It has since been fixed and the credentials revoked. This is the report by that same admin outlining what happened and how to help prevent similar mistakes in the future.
EE DURBIN

GPU Accelerate Your Data Science Workflows End-to-End

Discover how to create, accelerate, and deploy data pipelines with RAPIDS for GPU-accelerated data science workflows. Take one of our Data Science courses for free when you join the NVIDIA Developer Program →
NVIDIA sponsor

Free-Threaded CPython Is Ready to Experiment With!

An overview of the ongoing efforts to improve and roll out support for free-threaded CPython throughout the Python open source ecosystem. Associated Hacker News discussion.
RALF GOMMERS

PSF Announces Infrastructure Engineer

PYTHON SOFTWARE FOUNDATION

DjangoCon US 2024 Announces Talks

DJANGOCON

Django Security Releases Issued: 5.0.7 and 4.2.14

DJANGO SOFTWARE FOUNDATION

Register for Kiwi PyCon, Aug 23-25

KIWIPYCON.NZ • Shared by Kiwi PyCon

Quiz: Split Datasets With scikit-learn.train_test_split()

REAL PYTHON

Python Jobs Python Tutorial Writer (Anywhere)

Real Python

Python Video Course Instructor (Anywhere)

Real Python

More Python Jobs >>>

Articles & Tutorials Free, Unbelievably Stupid Wi-Fi on Long-Haul Flights

Deep in a need to procrastinate on a flight between London and San Francisco, Robert discovered that changing his name on an airline’s frequent flyer account was free over the plane’s WiFi. What’s a developer to do? Work on their tickets? No, create an entire TCP/IP protocol using this loophole. The result is the PySkyWiFi package.
ROBERT HEATON

Digging Into Graph Theory in Python With David Amos

Have you wondered about graph theory and how to start exploring it in Python? What resources and Python libraries can you use to experiment and learn more? This week on the show, former co-host David Amos returns to talk about what he’s been up to and share his knowledge about graph theory in Python.
REAL PYTHON

My Programming Beliefs as of July 2024

This collection of thoughts outlines how Evan approaches coding, with the understanding that this might change in the future. His beliefs include using spikes, the difference between simple and easy, a preference for enums over booleans, and more.
EVAN HAHN

Breaking Out of Nested Loops With Generators

Have you ever had the situation where you’ve got a nested loop and need to break out of the outer one? One way of dealing with this problem is refactoring the loop to use a generator. This post shows you how.
RODRIGO GIRÃO SERRÃO

“Extracting Wisdom” From Conference Videos

There are so many conferences and so many videos, you can’t possibly watch them all. This post shows you how to extract information to summarize a talk so you can quickly decide what you want to watch.
GONÇALO VALÉRIO

Creating a Simple Pastebin Service in Python and Flask

Learn how to build a functional pastebin service using Python and Flask. This tutorial covers web development basics, file handling, and syntax highlighting.
MUHAMMAD RAZA

How a Decorator Crashed My Flask App

This blog post shows how failing to use functools.wraps can cause issues with FlaskAPI. Learn why you should always use wraps and what went wrong.
SUYOG DAHAL

Python Has Too Many Package Managers

Overview of Python’s Package management ecosystem in 2024 and associated Hacker News Discussion
LARRY DU

Creating Images in Your Terminal With Python and Rich Pixels

Rich Pixels, a package from one of the folks at Textual, allows you to create images in your terminal and display them.
MIKE DRISCOLL

How Do You Choose Python Function Names?

This tutorial discusses the rules and conventions for choosing Python function names and why they’re important.
REAL PYTHON

Using HTMX With FastAPI

This tutorial looks at how use HTMX with FastAPI by creating a simple todo web app and deploying it on Render.
PAUL ESCH-LAURENT • Shared by Michael Herman

Projects & Code ViperIDE: MicroPython IDE for Web and Mobile

GITHUB.COM/VSHYMANSKYY

ML System Design: 450 Case Studies to Learn From

EVIDENTLYAI.COM • Shared by Daria Maliugina

reladiff: High-Perf Diffing of Large Datasets Across Databases

GITHUB.COM/EREZSH

Yen: The Last Python Environment Manager You’ll Ever Need

GITHUB.COM/TUSHARSADHWANI • Shared by Tushar Sadhwani

Events Weekly Real Python Office Hours Q&A (Virtual)

July 17, 2024
REALPYTHON.COM

PyData Bristol Meetup

July 18, 2024
MEETUP.COM

PyLadies Dublin

July 18, 2024
PYLADIES.COM

Chattanooga Python User Group

July 19 to July 20, 2024
MEETUP.COM

PyKla Monthly Meetup

July 24, 2024
MEETUP.COM

PyLadies Amsterdam

July 24, 2024
MEETUP.COM

PyOhio 2024

July 27 to July 28, 2024
PYOHIO.ORG

Happy Pythoning!
This was PyCoder’s Weekly Issue #638.
View in Browser »

[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Categories: FLOSS Project Planets

GNU Taler news: Video interview with Özgur Kesim on age-restricted digital cash

GNU Planet! - Tue, 2024-07-16 14:30
On the occasion of the Point Zero Forum's Innovation Tour, Evgeny Grin has interviewed Özgur Kesim who designed and implemented an age restricition mechanism inside the GNU Taler coins.
Categories: FLOSS Project Planets

GNU Taler news: Video interview with Isidor Walliman, creator of the Netzbon regional currency in Basel

GNU Planet! - Tue, 2024-07-16 14:30
On the occasion of the Point Zero Forum's Innovation Tour, Evgeny Grin has interviewed Isidor Wallimann who is introducing GNU Taler for the local currency Netzbon in Basel.
Categories: FLOSS Project Planets

Dave Hibberd: What I've been up to in Open Ham Radio - July 2024

Planet Debian - Tue, 2024-07-16 14:10
I do a lot in free software for ham radio, and Steve at Zero Retries encouraged me to take this email I sent him and translate it into something here. UK Packet Radio Network UKPRN is going nicely, with the Nottingham and South segment really quite impressively interconnected over RF - https://nodes.ukpacketradio.network/packet-network-map.html?rfonly=1 I’m excited to see the growth down there! We’re sorting out forwarding and routes in Aberdeen too, and working to grow the RF path to Inverness.
Categories: FLOSS Project Planets

tasklist @ Savannah: Cleaning out old jobs

GNU Planet! - Tue, 2024-07-16 10:35

When I opened this Savannah project I imported items from the old GNU tasklist document. 20 years later all of the context has been lost (if there ever was any) so now if anyone asks about these tasks it just leads to frustration on everyone's part.

I therefore deleted the original help wanted entries that date back to 2003. If anyone wants to help the GNU project, the best way to do that is to pick one of the FSF's High-Priority projects:

https://www.fsf.org/campaigns/priority-projects

Categories: FLOSS Project Planets

LabPlot 2.11 released

Planet KDE - Tue, 2024-07-16 10:30

Say hello to LabPlot 2.11!

This brand new release comes with many new features, improvements and performance enhancements in several areas, as well as support for more data formats and visualisation types.

The main new features are outlined below. For a more detailed overview of the changes in this release, please refer to the ChangeLog file.

The source code of LabPlot, the Flatpak and Snap packages for Linux, as well as the installer for Windows and the image for MacOS are available from our download page.

What’s new in 2.11? Worksheet

This release includes more visualisations, usability improvements and a new worksheet preview panel:

  • You can now use Lollipop, Q-Q and KDE plots
  • We have implemented error bars for bar plots
  • There is a new preview panel for all available worksheets in the project
  • You can use the navigation panel in the presenter widget to select, zoom and navigate in the presenter mode
  • You can lock worksheet elements to prevent accidental changes
  • LabPlot 2.11 allows you to show or hide the entry in the legend for all supported plot types and not just xy-curve
  • You can give your worksheets a fresh new look with the Dracula theme
Spreadsheet

Spreadsheets gain more functions and operations to modify, generate and understand the data:

  • We have extended the search and replace features
  • You can check statistical properties of the parent in a new child spreadsheet
  • We have added sparklines in the header of a spreadsheet
  • LabPlot 2.11 comes with spreadsheet linking to synchronize the number of rows across multiple spreadsheets
  • We have implemented triangular distributions for PDF, CDF, and pseudorandom number generation
  • Equidistant value generation has been extended
Analysis

Analysis tools added to LabPlot 2.11 include:

  • Note showing the fit results
  • Faster computation of the baseline removal (we switched to Eigen3 internally)
Import/Export

LabPlot 2.11 adds support for new file formats and multiple optimizations to improve the handling of edge-case scenarios:

  • You can now import Open Document Spreadsheet (ODS) files.
  • Templates for ASCII and Binary import filters allow you to save and load current filter settings
  • There is a new feature that allows you to to specify the data range to be read (start/end values for columns and records) when importing from SQL databases
  • LabpPlot can now gracefully handle out-of-memory situations when importing large amounts of data
  • LabPlot 2.11 displays better error messages during the import
  • We provide additional information about BLF files (application name with which the file was created with, etc.)
  • We have made several fixes and improvements to the import of Origin’s OPJ files
Notebook

The 2.11 release adds a number of usability enhancements to the Notebook interface:

  • You can now export the notebook to PDF
  • We provide statistics and a “plot data” action from the context menu in the project explorer for variables created in the Notebook
  • There is a new option in the application settings to run a selected CAS engine on startup
Categories: FLOSS Project Planets

Real Python: Exercises Course: Introduction to Web Scraping With Python

Planet Python - Tue, 2024-07-16 10:00

Web scraping is the process of collecting and parsing raw data from the Web, and the Python community has come up with some pretty powerful web scraping tools.

The Internet hosts the greatest source of information on the planet. Many disciplines, such as data science, business intelligence, and investigative reporting, can benefit enormously from collecting and analyzing data from websites.

In this course, you’ll practice:

  • Parsing website data using string methods and regular expressions
  • Parsing website data using an HTML parser
  • Interacting with forms and other website components

[ 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

Specbee: Personalizing Experiences in Drupal: CRMs, E-commerce Integration, and UTMs

Planet Drupal - Tue, 2024-07-16 08:50
I love shopping on Amazon. It's not just about the convenience and fast delivery; it's also how it tailors my experience. From my shopping history to my preferences and even where I'm from, Amazon makes it easy to find exactly what I want. It has been proven that personalized web experiences can significantly boost revenue for any organization. A McKinsey study* found that 71% of consumers expect personalization, and 76% get frustrated when it’s missing. Personalizing website content requires user data. This data gathered with explicit permission, often comes from third-party tools like Marketo, Salesforce, or Shopify. Drupal makes working with integrations like these a breeze. In this article, you’ll learn about creating personalized web experiences in Drupal using consensually collected user data from third-party tools. If your goal is to provide a unified, personalized web experience that meets your users’ needs and drives revenue growth, you need to read this article. We'll even walk you through it with an example. Why prioritize personalized, unified user experiences The primary objective of delivering personalized and unified website experiences is to create a cohesive experience that aligns with users’ digital profiles. By focusing on personalization, businesses can enhance user satisfaction and build stronger customer loyalty. Unified experiences ensure consistency across all touchpoints, creating a cohesive brand image and simplifying the user journey. Tailored User Experience: Customize content and recommendations based on user profiles stored in CRMs like Marketo and Salesforce. Revenue Growth: Increase opportunities for cross-selling and upselling through a seamless shopping cart experience. Cross-Promotion: Recommend best-matched products, services, and content throughout the website using AI-based algorithms. Personalization methods There are multiple ways to personalize a webpage, ensuring a highly customized user experience: Persona-Based Personalization: Content is tailored based on the defined personas. UTM Tags: UTM tags in URLs can track the effectiveness of online marketing campaigns and personalize content accordingly. Combination of Both: For even more refined personalization, combine persona-based personalization with UTM tags, allowing for a highly targeted approach. Scope and Technologies : A Sample Drupal Project To make things simpler, let’s explain implementing personalization on a sample Drupal website project. Let’s say the project has a corporate website and an ecommerce store and focuses on integrating the following technologies: Drupal: Used for the corporate website, with necessary modules for integration. Marketo: Marketing CRM housing most digital profiles. Salesforce: Sales CRM containing additional profile information. Shopify: E-commerce platform for transactions. UTM Tags : A set of parameters that can be added to a URL to track the performance of online marketing campaigns Let’s assume that the business requirement is to use Drupal to deliver a personalized shopping cart experience for targeted personas. Which means, when the user logs in with their credentials, the user’s details are fetched from CRMs like Marketo and Salesforce. This information is then used to segment users and display best matched products and content throughout the website. Integrating Shopify, Marketo, and Smart Content with Drupal Shopify Integration Shopify is a leading e-commerce platform that allows businesses to create online stores with ease. In our sample Drupal project, the user journey begins on the Corporate Website, where they discover the product. When they click the "Purchase" or "Add to Cart" button, they are seamlessly redirected to the Shopify product page to complete their transaction. This integration ensures a smooth transition, combining the robust content management of Drupal with the powerful e-commerce capabilities of Shopify. Enabling the Shopify module allows synchronization of products and collections with your Drupal site. Configuration involves setting up API keys and syncing products to provide a unified shopping experience. You can enable the cron run to sync products and collections. Once the sync is done, you can visit your store by clicking on Shopify in your toolbar. You can then perform various activities like viewing all your products, collections (stored as taxonomy terms), tags, change the product display order, and more. Once everything is set up, you have two ways to personalize your content based on user roles or other details. You can display recommended products by: Calling only the required items through the Shopify API directly from your Shopify store. Syncing the products to your Drupal site and adding the necessary tags, allowing you to pull information based on these tags. This approach gives you greater control over your personalization activities. Marketo Integration Marketo enables marketers to create personalized campaigns, manage leads, and measure performance across various channels. Integrating the Marketo MA module with your Drupal website helps you deliver personalized, targeted marketing campaigns and track user interactions on your Drupal site. In our sample Drupal project, the Marketo MA module retrieves user details from Marketo and delivers personalized content based on it. User details such as region, member type, member title, company, job function, and job level are retrieved from Marketo using the user's email ID upon login. The site's content is then dynamically tailored based on these values, ensuring a personalized user experience. You can, for example, display a different banner for a marketing professional and a different one for a developer on their home page. To configure the Marketo MA module, navigate to the module configuration page in your Drupal admin panel. Next, enter your Marketo credentials, including the Client ID, Client Secret, and Munchkin Account ID. These can be obtained from your Marketo account under the Admin section. The Smart Content Drupal module The Smart Content module personalizes site content by setting conditions and displaying blocks based on user segments. For example, you can display different promotional banners to users based on whether they are new visitors, returning customers, or located in a specific region. To implement this module, you will first need to download the module and configure it. Next, you can create different segments based on user personas or if they’re new, returning or regional visitors. It's now time to create personalized content blocks for these segments. For example, for returning customers, you can create a content block with a loyalty reward banner that reads: “Welcome back! Enjoy a special discount just for you.” Next, you can setup conditions for the display of each of these blocks. For example, for the returning customers block, set the condition to display if the user has a specific purchase history. Lastly, you can now embed these personalized blocks to your block layout or your custom template where you want it to appear. For a deeper understanding of using the Smart Content module, check out this detailed article. UTM Tags UTM tags (Urchin Tracking Module tags) are small snippets of text added to the end of a URL to help track the performance of online marketing campaigns across various traffic sources. Not just that, they’re a great way to personalize your content based on the UTM tags content which can let marketers know where their website traffic is coming from and how users interact with their content. The Smart content UTM tags module is an add-on Smart content module that leverages UTM parameters to deliver personalized content to users. This module integrates seamlessly with the Smart Content module, allowing for dynamic content personalization. A typical URL with UTM tags might look like this: https://www.specbee.com/?utm_source=google&utm_medium=cpc&utm_campaign=… Now, based on the UTM tags, you can create your segments in the Smart content module. Steps to Creating a Personalized Experience Step 1: Defining User Personas The first step in creating a personalized experience is defining user personas. These personas can be based on various roles such as marketing, sales, and engineering. Each persona represents a segment of your audience with distinct characteristics, preferences, and needs. By clearly defining these personas, you can create targeted content that resonates with each group. Step 2: Uploading Content to Components Once personas are defined, the next step is to create and upload relevant content to your website components. These components can include text, images, videos, and other multimedia elements. Each piece of content should address the specific needs and interests of a particular persona. Step 3: Placing Components Based on Persona With the content uploaded, you can place these components on your website pages based on the defined personas. This involves organizing the content to align with the user journey and ensure that each persona sees the most relevant information. Step 4: Mapping Persona to User via Marketo When a user logs into your website, their job title or role is identified through Marketo, a leading marketing automation platform. Marketo maps the user to the appropriate persona based on their job title or other relevant information. Step 5: Displaying Personalized Content Once the user’s persona is mapped, the corresponding components and content are dynamically displayed on the page. This means that each user sees a personalized version of the Drupal website tailored to their specific persona, enhancing their overall experience and engagement with your site. References https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/the-value-of-getting-personalization-right-or-wrong-is-multiplying Final Thoughts Drupal’s flexibility makes it perfect for delivering personalized user experiences. By integrating your Drupal site with CRM tools and using smart content along with user personas, you can ensure your visitors get content tailored to their needs and interests. We've done something similar for our customer SEMI with our Drupal development services, so if you have a similar need, reach out to us today!
Categories: FLOSS Project Planets

GNU Taler news: Video interview with Christian Blättler on his work on tokens for unlinkable discounts and subscriptions

GNU Planet! - Tue, 2024-07-16 05:47
On the occasion of the Point Zero Forum's Innovation Tour, Berna Alp has interviewed Christian Blättler who implemented a system for using GNU Taler for unlikable discounts and subscriptions.
Categories: FLOSS Project Planets

GNU Taler news: Video interview with Nic Eigel, co-author of the GNU Taler real-time auditor

GNU Planet! - Tue, 2024-07-16 05:47
On the occasion of the Point Zero Forum's Innovation Tour, Berna Alp has interviewed Nicola Eigel who implemented a real-time auditor for the GNU Taler exchange with his colleague Cédric Zwahlen.
Categories: FLOSS Project Planets

Bits from Debian: Wind River Platinum Sponsor of DebConf24

Planet Debian - Tue, 2024-07-16 03:45

We are pleased to announce that Wind River has committed to sponsor DebConf24 as a Platinum Sponsor.

For nearly 20 years, Wind River has led in commercial open source Linux solutions for mission-critical enterprise edge computing. With expertise across aerospace, automotive, industrial, telecom, more, the company is committed to open source through initiatives like eLxr, Yocto, Zephyr, and StarlingX.

With this commitment as Platinum Sponsor, Wind River is contributing to make possible our annual conference, and directly supporting the progress of Debian and Free Software, helping to strengthen the community that continues to collaborate on Debian projects throughout the rest of the year.

Wind River plans to announce an exiting new project based on Debian at this year's DebConf!

Thank you very much, Wind River, for your support of DebConf24!

Become a sponsor too!

DebConf24 will take place from 28th July to 4th August 2024 in Busan, South Korea, and will be preceded by DebCamp, from 21st to 27th July 2024.

DebConf24 is accepting sponsors! Interested companies and organizations should contact the DebConf team through sponsors@debconf.org, or visit the DebConf24 website at https://debconf24.debconf.org/sponsors/become-a-sponsor/.

Categories: FLOSS Project Planets

Kushal Das: Friends, the most important part of any conference

Planet Python - Tue, 2024-07-16 01:33

At the beginning one goes to the conferences to listen to the talks and make new contacts. You meet a lot of new faces every time. Over time a few of them will become great friends and then all conferences will become about friends.

We wait for the conferences so that we can meet our friends. I went back to PyCon US this year after 5 years, means I met many friends after 5 years. It was so happy feeling to see them again.

Last week I went to my first ever Euro Python in Prague, finally the visa was good in the right days of the year. This means I managed to meet more friends, a few of them just after a month (as they were present in PyCon US) and some after many many years. Really enjoyed the social event place selections by the organizers.

Personally the social events allowed me to go full scale nerd out on technical and social issues with friends. I was really missing these discussions. Heard more stories and discussed about fun ideas. One is below :)

$ python Python 3.12.4 (main, Jun 7 2024, 00:00:00) [GCC 14.1.1 20240607 (Red Hat 14.1.1-5)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> hello 🤌🤌🤌 Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'hello' is not defined. Did you mean: 'help'? >>> [].set("different exception") 🤌🤌🤌 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'list' object has no attribute 'set' >>>
Categories: FLOSS Project Planets

KDE Plasma 6.1.3, Bugfix Release for July

Planet KDE - Mon, 2024-07-15 20:00

Tuesday, 16 July 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.1.3.

Plasma 6.1 was released in June 2024 with many feature refinements and new modules to complete the desktop experience.

This release adds two weeks' worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:

  • KWin Plugins nightlight: Relax custom times constraints. Commit. Fixes bug #489366
  • Fix KCM Clock save on non-systemd distros. Commit.
  • KWin Tiling: Don't put maximized windows in tile. Commit. Fixes bug #489463
View full changelog
Categories: FLOSS Project Planets

How to: Profile your display in the Plasma Wayland session

Planet KDE - Mon, 2024-07-15 18:00

Profiling displays is already not a super simple thing on its own, but things get more complicated when you try to profile your display in Wayland - profiling applications don’t support Wayland yet, some APIs on the compositor side to make it work well are still missing, and there’s a general lack of information on the topic. So today I’ll show you how to profile your display in the Plasma Wayland session.

I did this in Fedora 40, but you can follow these steps in other distributions as well.

Step 1: Install DisplayCal and start it

This sounds easy, but

  • it’s not packaged for Fedora. That’s being worked on, but right now it’s not an option | edit: turns out there is a COPR for it
  • installing it with pip just gave me a bunch of compilation errors, and I haven’t figured out how to fix them
  • the package on Flathub is really old and broken

To work around that, I used distrobox to install the Arch Linux package for DisplayCAL:

sudo dnf install distrobox distrobox create --name archinabox --image archlinux:latest distrobox enter archinabox sudo pacman -S displaycal distrobox-export --app displaycal exit

After running these commands, DisplayCAL can be started from any app launcher, like Kickoff or KRunner.

Step 2: Setup

To get correct measurement results, the compositor needs to pass the pixel data from the profiling app directly to the display, and not do any color management itself. This will be automated at some point, but for now you need to manually ensure that

  • HDR is disabled
  • the color profile of the display is set to “None” in the display settings
  • night light is off, or at least suspended in the system tray
  • all KWin effects that modify colors, like the color blindness correction effect, are disabled
  • if you’re on a new-ish AMD laptop and want to profile the internal display, that you’re either plugged in to a power source, or have the power profile set to performance, to disable a power saving feature that changes the colors

Now start DisplayCal and head to the Calibration tab. Here it’s important to set the tone curve to “as measured”, and untick interactive display adjustment, as those don’t work correctly right now and will mess up the profile.

You’ve done everything correctly if the button on the bottom of the application shows “Profile only”.

Last but not least, you also need to adjust the display settings to what you want to use with the profile later, as the profile is only correct for one specific set of display settings. This includes the brightness of the display!

Step 3: Profile

In the profiling tab of DisplayCAL, select your desired settings - in most cases the default will be sufficient - and click “Profile only”. When it asks if you want to continue with the current calibration curves, select “use linear calibration instead” and de-select “embed calibration curves in profile”. Then put the colorimeter in the center of the screen, and let it do its thing.

Once it’s done, it’ll ask you to install the profile. Installing it will not automatically enable that profile to be used, but it’ll save the profile in ~/.config/color/icc/devices/display/ and you can select that file in the display settings.

Step 4: Verification (optional)

If you’d like to make sure the profile is correct or accurate enough, you can use DisplayCAL to verify the result. Make sure you’ve set the profile in the display settings, switch to the verification tab in DisplayCAL and select your newly created profile in the “settings”

Here again, because DisplayCAL doesn’t support Wayland yet, you need to adjust a few settings for everything to work correctly. You need to select the simulation profile “Rec.709 ITU-R BT.709”, select “Use simulation profile as display profile” and set the tone curve to “Gamma 2.2”. Afterwards, click on “Measurement report”, choose a location to save it in, put the colorimeter in the center of the screen again and wait for it to complete.

Don’t be alarmed if the result says the whitepoint is wrong, this is simply caused by DisplayCAL assuming we want to target the whitepoint of the simulation profile, which doesn’t necessarily match the whitepoint of your display.

What about calibration though?

To calibrate the display, that is, to adjust brightness, tone curves for non color managed applications and the whitepoint of the display, DisplayCAL uses an X11 API to set the gamma lookup tables of the GPU. That API doesn’t work in the Wayland session and the profiling process doesn’t handle that situation properly, which is why all calibration needs to be disabled for the created profile to be correct.

DisplayCAL (or ArgyllCMS, which does the actual profiling) could add support for applying a lookup table in the application instead of having the compositor do it, but we can also handle calibration entirely on the compositor side instead, which offers a bit more flexibility.

Changing the tone curves for non color managed applications doesn’t make sense in the Plasma Wayland session, as all windows are always color managed, so that part is already dealt with. Adjusting the brightness on screens that don’t have any native means of brightness control is already implemented for Plasma 6.2, and I have a working proof of concept for changing the whitepoint of the display without needing a new ICC profile too, so we should be at feature parity soon. I’ll talk more about these adjustments in a future post.

Categories: FLOSS Project Planets

The Open Source Initiative joins CMU in launching Open Forum for AI: A human-centered approach to AI development

Open Source Initiative - Mon, 2024-07-15 16:32

The Open Source Initiative (OSI) is pleased to share that we are joining the founding team of Open Forum for AI (OFAI), an initiative designed by Carnegie Mellon University (CMU) to foster a human-centered approach to artificial intelligence. OFAI aims to enhance our understanding of AI and its potential to augment human capabilities while promoting responsible development practices.

The missions of OSI and OFAI are well-aligned; at the heart of OFAI is a commitment to ensuring that AI development serves the public interest. With the support of renowned partners like Omidyar Network, NobleReach Foundation, and internal CMU funding, OFAI is positioned to serve as a pivotal platform for shaping AI strategies and policies that prioritize safety, privacy, and equity.

The OSI is proud to be part of this project. Stefano Mafulli and Deb Bryant from the OSI will participate in OFAI, integrating their efforts toward a standard Open Source AI Definition through a collaborative process involving stakeholders from the Open Source community, industry, and academia as well as their contributions to public policy.  

A collective effort

The success of OFAI hinges on the diverse expertise it convenes. Leading this initiative is Sayeed Choudhury, Associate Dean for Digital Infrastructure at CMU and a member of the OSI Board. Alongside him, a team of CMU faculty members and external advisors will contribute knowledge in ethics, computational technologies, and inclusive AI research. 

Notable participants like Michele Jawando from Omidyar Network and Arun Gupta from NobleReach Foundation have emphasized the importance of Open Source AI in driving innovation and inclusivity as well as the need for a human-centered, trust-based approach to AI development.

OFAI’s ambitious goals

OFAI aims to influence AI policy by coordinating research and policy objectives and advocating for transparent and inclusive AI development. The initiative will focus on five key areas: 

  • Research
  • Technical prototypes
  • Policy recommendations
  • Community engagement
  • Talent for service

Deb Bryant will lead Community Engagement, building in part upon the broad community of interest gathered through the public process of OSI’s Defining Open Source AI.

One of OFAI’s foundational projects is the creation of an “Openness in AI” framework, which seeks to make AI development more transparent and inclusive. This framework will serve as a vital resource for policymakers, researchers, and the broader community.

Looking ahead

With the OSI set to deliver a stable version of the Open Source AI Definition at All Things Open in October, the launch of OFAI magnifies the importance of this work to bring together diverse stakeholders to ensure AI technologies align with societal values and public interests.

Categories: FLOSS Research

Pages