Feeds

Introduction to Delivery Performance Analytics

Planet KDE - Fri, 2023-12-22 11:43
Delivery Performance Analytics is a consulting service dedicated to continuously enhancing how organizations sustainably deliver better software-defined products faster, while increasing the workforce’s well-being, by combining a data analytics approach with a proficient multidisciplinary consulting team.
Categories: FLOSS Project Planets

The Drop Times: The Genesis and Evolution of Token: A Conversation with Jeff Eaton

Planet Drupal - Fri, 2023-12-22 11:29
Delve into the genesis and growth of Drupal's most popular and most- installed Token module through an exclusive interview with its creator, Jeff Eaton. Explore the impact of the module in shaping Drupal's dynamic capabilities and its evolution over the years.
Categories: FLOSS Project Planets

PyCharm: Django vs FastAPI: Which is the Best Python Web Framework?

Planet Python - Fri, 2023-12-22 10:02
Introduction If you’re new to web development and have only recently heard of “Frameworks” as a method of speeding up your application development, then you’re in the right place. Today, we’ll explore the two most popular web frameworks in the Python ecosystem currently, namely Django and FastAPI. In this blog post, we’ll help you understand […]
Categories: FLOSS Project Planets

Web Review, Week 2023-51

Planet KDE - Fri, 2023-12-22 09:05

Let’s go for my web review for the week 2023-51.

Do we need to rethink what free software is?

Tags: tech, foss, licensing, ethics

A bit of an older article I’m bumping into again. It lays out fairly well the current limits and issues with Free Software as it is defined today. I’m unconvinced it can be solved via licenses but the debate needs to happen… I feel that somehow it’s too much ignored.

https://mjg59.dreamwidth.org/52907.html


Adam Mosseri spells out Threads’ plans for the fediverse - The Verge

Tags: tech, facebook, fediverse, social-media

Looks like Meta is moving forward with more ActivityPub compatibility for Threads. This raises real questions about what they genuinely want to implement and what they’ll abandon along the way.

https://www.theverge.com/2023/12/15/24003435/adam-mosseri-threads-fediverse-plans


The Fediverse, Meta and the Tolerance Paradox

Tags: tech, facebook, fediverse, social-media

As Threads being connected to the Fediverse might turn into a reality, this article becomes all the more important. The question of this connection being even desirable is an important one.

https://www.viennawriter.net/blog/the-fediverse-meta-and-the-tolerance-paradox-en/


How bad are the thousands of new stochastically-generated websites?

Tags: tech, web, search, ai, gpt, criticism, knowledge

When SEO and generated content meet… this isn’t pretty. The amount of good content on the web reduced in the past decade, it looks like we’re happily crossing another threshold in mediocrity.

https://infosec.exchange/@bhawthorne/111601578642616056


Heather Ford: Is the Web Eating Itself? LLMs versus verifiability - Ethan Zuckerman

Tags: tech, ai, gpt, knowledge, wikipedia

The actual dangers of generative AI. Once the web is flooded with generated content, what will happen to knowledge representation and verifiability?

https://ethanzuckerman.com/2023/10/10/heather-ford-is-the-web-eating-itself-llms-versus-verifiability/


Facebook Is Being Overrun With Stolen, AI-Generated Images That People Think Are Real

Tags: tech, ai, machine-learning, gpt, social-media, criticism

Here we are… We’re really close to crossing into this territory where any fiction can disguise itself for reality. The problem is that we’ll literally be drowning in such content. The social impacts can’t be underestimated.

https://www.404media.co/facebook-is-being-overrun-with-stolen-ai-generated-images-that-people-think-are-real/


Cory Doctorow: What Kind of Bubble is AI?

Tags: tech, economics, business, ai, gpt

That’s a very good question. What will be left once all the hype is gone? Not all bubbles leaving something behind… we can hope this one will.

https://locusmag.com/2023/12/commentary-cory-doctorow-what-kind-of-bubble-is-ai/


Google OAuth is broken (sort of) - Truffle Security

Tags: tech, google, oauth, security

Interesting finding. This shows a potential issue in how identities are verified by providers.

https://trufflesecurity.com/blog/google-oauth-is-broken-sort-of/


SMTP Smuggling - Spoofing E-Mails Worldwide - SEC Consult

Tags: tech, security, email

New technique for SMTP smuggling… vulnerable servers then allow to spoof while still passing DMARC checks properly. Check your providers and server configuration.

https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/


Terrapin Attack

Tags: tech, ssh, security

Interesting new attack on the SSH protocol. This is hard to achieve outside of the LAN though.

https://terrapin-attack.com/


The World Before Git - by Sarup Banskota

Tags: tech, version-control, git, history

Back to the history of VCS, anyone still remember and used SCCS? Well, I did use it…

https://osshistory.org/p/the-world-before-git


PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPU

Tags: tech, ai, machine-learning, gpt

Interesting inference engine. The design is clever with an hybrid CPU-GPU approach to limit the memory demand on the GPU and the amount of data transfers. The results are very interesting, especially surprising if the apparently very limited impact on the accuracy.

https://ipads.se.sjtu.edu.cn/_media/publications/powerinfer-20231219.pdf


Medusa: Simple Framework for Accelerating LLM Generation with Multiple Decoding Heads

Tags: tech, ai, machine-learning, gpt, optimization

Interesting technique to speed up the generation of large language models.

https://sites.google.com/view/medusa-llm


Interface Dispatch | Lukas Atkinson

Tags: tech, programming, object-oriented, compiler

Nice state of the art view on how dynamic dispatch is implemented in several languages. Does a good way showing the trade-offs involved.

https://lukasatkinson.de/2018/interface-dispatch/


Database Fundamentals

Tags: tech, databases, distributed

An exploration of how databases work from first principles, going all the way to distributed nodes etc. Good list of topics to explore further.

https://tontinton.com/posts/database-fundementals/


Maybe We Don’t Need UUIDv7 After All

Tags: tech, databases, uuid

It might not be as clear cut as sometimes assumed. With the right index UUIDv4 can still do as key in databases.

https://lu.sagebl.eu/notes/maybe-we-dont-need-uuidv7/


How many CPU cores can you actually use in parallel?

Tags: tech, multithreading, performance, python

This is unsurprisingly highly depend on the actual code, not only on the hardware.

https://pythonspeed.com/articles/cpu-thread-pool-size/


Performance engineering, profilers, and seeing the invisible - Made of Bugs

Tags: tech, profiling, optimization

Or why using a profiler is not as easy as it sounds. This requires quite some experience and the ability to tap in other information not present in the profile.

https://blog.nelhage.com/post/profilers-seeing-the-invisible/


ELF binaries and everything

before main() starts Tags: tech, elf, unix, system

Ever wondered how ELF and ld.so work? This is a good primer on the topic with a few OpenBSD specifics.

https://2023.eurobsdcon.org/slides/eurobsdcon2023-janne_johansson-ELF-binaries.pdf


A curiously recurring lifetime issue

Tags: tech, api, safety, c++

This is an easy mistake to make. I’d say the API isn’t helping there either, there’s an improvement to find in Cap’n’proto to make it safer.

https://blog.dureuill.net/articles/recurring-lifetime/


Memory Safety is a Red Herring

Tags: tech, memory, safety, rust, c++, java, python

Very interesting musing about undefined behaviors and language constraints. This is a bit Rust focused for obvious reasons but is also looking at what other languages have been doing.

https://steveklabnik.com/writing/memory-safety-is-a-red-herring


Never trust a programmer who says they know C++ by Louis Brandy

Tags: tech, c++, learning, interviews

An old post, but very much true… People who really know C++ have stared the abyss in the eye, and you can tell.

http://lbrandy.com/blog/2010/03/never-trust-a-programmer-who-says-he-knows-c/


Simulating Fluids, Fire, and Smoke in Real-Time

Tags: tech, shader, 3d, simulation, physics, mathematics

Wonder how to implement such real-time simulations? This is a good summary of all the math involved. Also comes with code snippets and demos.

https://andrewkchan.dev/posts/fire.html


The day I started believing in Unit Tests

Tags: tech, tests, embedded

Interesting story about using unit tests by someone who thought it was a waste of time… until, they helped uncover a bug which was widespread. Also it was in an embedded context which comes with its own challenges.

https://mental-reverb.com/blog.php?id=42


Advice for new software devs who’ve read all those other advice essays • Buttondown

Tags: tech, programming, craftsmanship

This is a good set of advices for beginners. I especially like the ones about best practices, trying different things and why it makes sense to be conservative tech wise.

https://buttondown.email/hillelwayne/archive/advice-for-new-software-devs-whove-read-all-those/


Technical Debt is not real

Tags: tech, technical-debt

This is indeed a more complex topic than it sounds. When someone complains about “technical debt” always inquire what it really means to them, what this is about, what are the symptoms.

https://www.foxhound.systems/blog/technical-debt-is-not-real/


Managing Technical Debt - Jacob Kaplan-Moss

Tags: tech, technical-debt, product-management, project-management, metrics

Good approach for tackling it indeed. The crux of the issue is really measuring the tech debt since it’s still a fuzzy concept and we have no good metrics for it.

https://jacobian.org/2023/dec/20/tech-debt/


Ask Questions, Repeat The Hard Parts, and Listen – Rands in Repose

Tags: management, leadership, decision-making

This is an impressive piece about decision making and leadership. I love the approach: seeking to get the decision out of the person instead of deciding for them.

https://randsinrepose.com/archives/ask-questions-repeat-the-hard-parts-and-listen/


How Lego builds a new Lego set

Tags: lego, design

Fascinating article explaining how some Lego sets are designed.

https://www.theverge.com/c/23991049/lego-ideas-polaroid-onestep-behind-the-scenes-price


Bye for now!

Categories: FLOSS Project Planets

Real Python: The Real Python Podcast – Episode #184: PyCoder's Weekly 2023 Wrap Up

Planet Python - Fri, 2023-12-22 07:00

It's been a fascinating year for the Python language and community. PyCoder's Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2023. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and Python trends from across the year.

[ 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

CKEditor: Drupal CKEditor 4 LTS

Planet Drupal - Fri, 2023-12-22 06:09
This is a comprehensive guide for the Drupal CKEditor 4 End of Life. In addition to discussing the specifics of how and when CKEditor 4 support will end, this article also offers options for secure, continued use of CKEditor 4 in Drupal 7 and Drupal 10+. From January 1, 2024 and onwards, CKEditor 4 will no longer receive open source security updates in the Drupal ecosystem, as CKEditor 4 has reached its end of life period. However, extended CKEditor 4 support will be available until the end of 2026, with an accompanying module. This allows more time for integrators before they eventually upgrade to its successor, CKEditor 5, which is a core module in Drupal 10.
Categories: FLOSS Project Planets

Joachim Breitner: The Haskell Interlude Podcast

Planet Debian - Fri, 2023-12-22 04:04

It was pointed out to me that I have not blogged about this, so better now than never:

Since 2021 I am – together with four other hosts – producing a regular podcast about Haskell, the Haskell Interlude. Roughly every two weeks two of us interview someone from the Haskell Community, and we chat for approximately an hour about how they came to Haskell, what they are doing with it, why they are doing it and what else is on their mind. Sometimes we talk to very famous people, like Simon Peyton Jones, and sometimes to people who maybe should be famous, but aren’t quite yet.

For most episodes we also have a transcript, so you can read the interviews instead, if you prefer, and you should find the podcast on most podcast apps as well. I do not know how reliable these statistics are, but supposedly we regularly have around 1300 listeners. We don’t get much feedback, however, so if you like the show, or dislike it, or have feedback, let us know (for example on the Haskell Disourse, which has a thread for each episode).

At the time of writing, we released 40 episodes. For the benefit of my (likely hypothetical) fans, or those who want to train an AI voice model for nefarious purposes, here is the list of episodes co-hosted by me:

Can’t decide where to start? The one with Ryan Trinkle might be my favorite.

Thanks to the Haskell Foundation and its sponsors for supporting this podcast (hosting, editing, transscription).

Categories: FLOSS Project Planets

CodersLegacy: Selenium: How to scroll to the Bottom of the Page (Python)

Planet Python - Fri, 2023-12-22 02:54

In this tutorial, we will explore how to use Selenium in Python to scroll to the bottom of a webpage gradually. Scrolling is often required when dealing with dynamically loading content or capturing data from a website that requires scrolling to access all information.

Common examples of such sites are YouTube (shorts) where videos are generated as you scroll down. Another example is e-commerce sites which display alot of products, and use lazy-loading on their images (to load the images only as you scroll down to them).

Many such sites exist, hence learning how to automate scrolling is necessary.

Prerequisites

Before you begin, make sure you have Python and the necessary packages installed. You can install the required packages using the following:

pip install selenium webdriver_manager Setting up Selenium with ChromeDriver

First, let’s set up Selenium with ChromeDriver. We’ll use webdriver_manager to automatically download and manage the ChromeDriver executable (Follow the link to learn how to use this module for the other browsers).

from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service as ChromeService from selenium import webdriver import time # Set up ChromeDriver service = ChromeService(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service)

Next, we load up the webpage we wish to scrape (or automate). We will be using Wikipedia as an example, as its main page is usually lengthy enough to demonstrate the scroll effect.

driver.get("https://en.wikipedia.org/wiki/Main_Page")

You may replace this with any other URL. The scrolling technique we will learn in this tutorial is not url-specific.

Scrolling Down Gradually

Now, let’s define a JavaScript function to scroll down gradually. This function will be executed using the execute_script function, which takes JavaScript code as a parameter in the form of a string.

= scrollHeight; if (!reachedBottom) { setTimeout(scroll, scrollInterval); } } scroll(); } scrollToBottom(); """ driver.execute_script(scroll_script) driver.quit()" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button">scroll_script = """ function scrollToBottom() { var scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); var scrollStep = 200; // Adjust this value to control the scroll speed var scrollInterval = 100; // Adjust this value to control the scroll interval function scroll() { window.scrollBy(0, scrollStep); var reachedBottom = window.innerHeight + window.scrollY >= scrollHeight; if (!reachedBottom) { setTimeout(scroll, scrollInterval); } } scroll(); } scrollToBottom(); """ driver.execute_script(scroll_script) driver.quit()

Adjust the values of scrollStep and scrollInterval to control the scroll speed and interval between scrolls, respectively. If your internet connection is slow, or the website is heavy/slow, you may want to reduce the scroll speed (by lowering interval and scroll step) so that the site loads alongside the scroll.

This code may seem a little complicated, but just remember there is only one “core” line of code here, the window.scrollBy function.

window.scrollBy(0, scrollStep)

This function is responsible for the actual “scrolling”. The rest of the code is simply built around this line, to ensure we don’t scroll beyond the limit of the page. The window object contains useful information about the page which can be used to determine when we have reached the end.

= scrollHeight;" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button">var reachedBottom = window.innerHeight + window.scrollY >= scrollHeight;

The above line is an expression which evaluates to True if we have reached the bottom of the page. It is calculated by checking if the sum of the current viewport height and scroll position is equal to or greater than the total scrollable height.

This marks the end of the Selenium Tutorial on How to scroll to the Bottom of the Page. Any suggestions or contributions for CodersLegacy are more than welcome. Questions regarding the tutorial content can be asked in the comments section below.

The post Selenium: How to scroll to the Bottom of the Page (Python) appeared first on CodersLegacy.

Categories: FLOSS Project Planets

LostCarPark Drupal Blog: Drupal Advent Calendar day 22 - Working Groups

Planet Drupal - Fri, 2023-12-22 02:00
Drupal Advent Calendar day 22 - Working Groups james Fri, 12/22/2023 - 07:00

Welcome back to the the Drupal Advent Calendar, and we’re down to the last few doors. For door 22, we are joined by Jordana Fung (jordana), who tells us about Community Working Groups.

Giving back while growing too: volunteering within Drupal

When I decided to go to my first Drupal event, I was scared, anxious and unsure. I decided to go outside of my comfort zone and looked up an event close to where I’d be while visiting family in the US. I am not exaggerating when I say that this was one of the best decisions I’ve ever made in my life.

I fell in love with the community then and there. There’s…

Tags
Categories: FLOSS Project Planets

Bounteous.com: Moderate All the Content: Establishing Workflows in Drupal 10

Planet Drupal - Fri, 2023-12-22 01:59
Learn about workflow configuration and customizations to empower your website’s content approver and publisher roles.
Categories: FLOSS Project Planets

Bounteous.com: Composability and Drupal: Going Headless at Scale

Planet Drupal - Fri, 2023-12-22 01:59
Discover how composable architectures offer unparalleled speed, agility, and flexibility to empower organizations in navigating the ever-changing landscape of technological advancements and evolving consumer needs, and how Drupal can be a key part of a composable solution!
Categories: FLOSS Project Planets

Bounteous.com: Upgrading to Drupal 10 (And Beyond) With Composer

Planet Drupal - Fri, 2023-12-22 01:59
Every iteration of Drupal brings a multitude of security improvements, accessibility improvements, and a host of new features created by the Drupal community.
Categories: FLOSS Project Planets

Bounteous.com: Introduction to ChatOps with Acquia BLT and Slack

Planet Drupal - Fri, 2023-12-22 01:59
Learn how to set up ChatOps with Acquia BLT to improve your team’s communication and efficiency by automatically sharing Drupal DevOps messaging to a single channel.
Categories: FLOSS Project Planets

Bounteous.com: What’s New in Acquia Site Studio 6.9?

Planet Drupal - Fri, 2023-12-22 01:59
Acquia has been busy releasing new features for their low-code, drag-and-drop solution called Site Studio!
Categories: FLOSS Project Planets

Bounteous.com: Use the Acquia CMS Headless Beta to Improve Headless Applications

Planet Drupal - Fri, 2023-12-22 01:59
As a developer, building a partially or fully headless Drupal site can feel like a daunting task. There are always more questions than answers when getting started.
Categories: FLOSS Project Planets

Bounteous.com: Building Enterprise Drupal Sites with Acquia Build and Launch Tool (BLT)

Planet Drupal - Fri, 2023-12-22 01:59
Learn more about Acquia’s Built and Launch Tool (BLT) and how this Drupal-specific extensible toolset can help you build, test, and deploy your code.
Categories: FLOSS Project Planets

Bounteous.com: Drupal 10: Uncovering New Features and Benefits

Planet Drupal - Fri, 2023-12-22 01:59
Drupal 10 continues to pave the way for great user experiences into the future. Check out the new features and benefits that Drupal 10 has to offer!
Categories: FLOSS Project Planets

Bounteous.com: Your Team's Technical Guide to Drupal Code Reviews

Planet Drupal - Fri, 2023-12-22 01:59
A checklist and technical Guide to complete Drupal code reviews to improve your codebase and processes.
Categories: FLOSS Project Planets

Bounteous.com: The Acquia Triple Certification: Distinguishing Yourself as a Drupal Developer

Planet Drupal - Fri, 2023-12-22 01:59
Distinguish yourself as a Drupal Developer by getting Acquia Triple Certified. Learn more about the exams and the impact they can have on your career.
Categories: FLOSS Project Planets

Bounteous.com: PHP 7 to 8: Entering the Modern Era of Programming Languages

Planet Drupal - Fri, 2023-12-22 01:59
Whether it’s using new syntax, experiencing the speed boosts of the JIT compiler, or trying out new features of the language, PHP 8 has many improvements that developers and Drupal sites can benefit from.
Categories: FLOSS Project Planets

Pages