The 3 Vite plugins I use on every new Rails project

I’ve completely switched away from Sprockets and Webpacker and am using Vite for my current Rails projects. One thing I’ve discovered is that while the default Vite-Rails installation is nice, it is not very opinionated. I always end up adding these three plugins on top of the standard Vite-Rails config: autoprefixer, rollup-plugin-gzip, and vite-plugin-full-reload. Here’s how to set them up: https://mattbrictson.com/blog/3-vite-rails-plugins

Python 3.11.4, 3.10.12, 3.9.17, 3.8.17, 3.7.17, and 3.12.0 beta 2 are now available

Greetings! Time for another combined release of six separate versions of Python!

Before you scroll away to the download links

Please test the 3.12 beta! Downloading it and trying it out helps us a
lot in ensuring Python 3.12.0 will be as polished as possible.

We welcome 3.10 to the prestigious club of security-only releases.
It’s officially an old version of Python now! If you haven’t rewritten
all your if:elif:else:s with pattern matching yet, are you even still writing Python?

At the same time, it looks like 3.7 is reaching end-of-life. Unless
another security release happens in June, 3.7.17 will be the final
release of Python 3.7. I mean, now that I typed it out for all you to
read, I’m sure I jinxed it. But in case I didn’t, I would like to thank
Ned Deily for serving as the release manager of Python 3.6 and Python
3.7. He was my mentor as Release Manager, and continues serving Python
as the provider of Mac installers for new releases. Thank you, Ned!

Speaking of installers, Steve Dower used to be the sole provider of
Windows installers for Python releases for years now. His secret was a
well-automated Azure pipeline that let him build, sign, and publish
releases with minimal manual effort. Now he extended the power to press
the blue “Run pipeline” button to more members of the team. Thank you,
Steve! This is an important bus factor increment. In fact, the Windows
installers for both 3.12.0b2 and 3.11.4 were made by me initiated by me. If there’s anything wrong with them, well, I guess that means I pressed the button wrong.

Security fixes in today’s releases

Updating is recommended due to security content:

  • 3.7 – 3.12: gh-103142:
    The version of OpenSSL used in Windows and Mac installers has been
    upgraded to 1.1.1u to address CVE-2023-2650, CVE-2023-0465,
    CVE-2023-0466, CVE-2023-0464, as well as CVE-2023-0286, CVE-2022-4303,
    and CVE-2022-4303 fixed previously in 1.1.1t (gh-101727).
  • 3.7 – 3.11: gh-102153: urllib.parse.urlsplit()
    now strips leading C0 control and space characters following the
    specification for URLs defined by WHATWG in response to CVE-2023-24329.
  • 3.7 – 3.11: gh-99889: Fixed a security in flaw in uu.decode() that could allow for directory traversal based on the input if no out_file was specified.
  • 3.7 – 3.11: gh-104049: Do not expose the local on-disk location in directory indexes produced by http.client.SimpleHTTPRequestHandler.
  • 3.7 – 3.11: gh-101283: subprocess.Popen now uses a safer approach to find cmd.exe when launching with shell=True.
  • 3.8 – 3.11: gh-103935: trace.__main__ now uses io.open_code() for files to be executed instead of raw open().
  • 3.8 – 3.11: gh-102953: The extraction methods in tarfile, and shutil.unpack_archive(), have a new filter argument that allows limiting tar features than may be surprising or dangerous, such as creating files outside the destination directory. See Extraction filters for details.
  • 3.9: gh-102126: Fixed a deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock.
  • 3.9: gh-100892: Fixed a crash due to a race while iterating over thread states in clearing threading.local.

Python 3.12.0 beta 2

Get it here: 3.12.0b2

116 new commits since 3.12.0 beta 1.

Python 3.11.4

Get it here: 3.11.4

233 new commits.

Python 3.10.12

Get it here: 3.10.12

Security-only release with no binaries. 20 new commits.

Python 3.9.17

Get it here: 3.9.17

Security-only release with no binaries. 26 commits.

Python 3.8.17

Get it here: 3.8.17

Security-only release with no binaries. 24 commits.

Python 3.7.17

Get it here as it might be the last release of 3.7 ever:
3.7.17

Security-only release with no binaries. 21 commits.

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development
and these releases possible! Please consider supporting our efforts by
volunteering yourself or through organization contributions to the Python Software Foundation.


Łukasz Langa @ambv
on behalf of your friendly release team,

Ned Deily @nad
Steve Dower @steve.dower
Pablo Galindo Salgado @pablogsal
Łukasz Langa @ambv
Thomas Wouters @thomas

 

Chrome gets new mid-tier compiler: Maglev

We’re bringing a new mid-tier compiler to Chrome. Maglev is a just-in-time compiler that can quickly generate performant machine code for all relevant functions within the first one-hundredth of a second. It reduces overall CPU time to compile code while also saving battery life. Our measurements show Maglev has provided a 7.5 percent improvement on Jetstream and a 5 percent improvement in Speedometer. Maglev will start rolling out in Chrome version 114, which begins release on June 5. Let’s hope making benchmarks run faster also makes actual websites load faster.

The AI renaissance and why Open Source matters

The AI renaissance and why Open Source matters
The AI renaissance and why Open Source matters

Sharing knowledge and sharing code has always been a key driver for innovation in Artificial Intelligence. Researchers have gathered together since AI was established as a field to develop and advance novel techniques, from Natural Language Processing to Artificial Neural Networks, from Machine Learning to Deep Learning.

The post <span class=’p-name’>The AI renaissance and why Open Source matters</span> appeared first on Voices of Open Source.

Tips for Developing Secure Android Apps

Want to build a safe Android application? Look nowhere else! We’ll outline the top 5 recommendations for creating a secure Android app in this YouTube Shorts video. You’ll discover crucial methods to safeguard your app and its users from potential security flaws, from authentication to data encryption. Don’t pass up these insightful tips from professionals in the field. Learn how to create Android apps with the highest level of security by tuning in right away to improve your app development skills!

For more insights click here:-

https://www.appsdevpro.com/blog/benefits-of-android-app-for-your-business/
https://www.appsdevpro.com/blog/cost-to-hire-android-app-developer/
https://www.appsdevpro.com/blog/ios-app-vs-android-app/
https://www.appsdevpro.com/blog/why-and-how-to-build-an-android-app/

Follow Us on Social Media:-

Facebook : https://www.facebook.com/appsdevpro
Twitter : https://twitter.com/appsdevpro
LinkedIn : https://www.linkedin.com/company/appsdevpro-usa/
Instagram : https://www.instagram.com/appsdevpro

Covid Inquiry chair opens preliminary hearing

Baroness Heather Hallett has opened the preliminary hearing of the Covid Inquiry in central London. The government is currently challenging the Inquiry’s request for access to Boris Johnson’s unredacted WhatsApp messages and notebooks at the High Court – with a heading expected by the end of June. Report by Ajagbef. Like us on Facebook at http://www.facebook.com/itn and follow us on Twitter at http://twitter.com/itn

Tech/News/2023/23

Tech/News/2023/23
Other languages: Bahasa Indonesia, Deutsch, English, Tiếng Việt, Türkçe, français, galego, italiano, polski, suomi, svenska, čeština, русский, українська, עברית, العربية, فارسی, हिन्दी, বাংলা, ಕನ್ನಡ, ไทย,…

PreviousNext: What if? Pitching for a Decoupled Layout Builder

It’s time to transform and improve the Layout Builder UI experience. What if we could rewrite it using React? Check out our video pitch (made using React), which received the highest average rank in the Pitch-burgh contest at DrupalCon!

by
lee.rowlands
/ 6 June 2023

At PreviousNext, we enjoy getting curious, tackling challenges and finding innovative solutions for our clients and the wider Drupal community. This constant drive for the future is why we’re such prolific contributors to the Drupal project

What if we used our curiosity and expertise to explore the concept of a decoupled Layout Builder?

 

The Pitch

Simply put, we believe creating a better experience for the Layout Builder user interface is possible. Getting there would mean leveraging a modern Javascript framework, like React, that communicates with Drupal over JSON.

We would plan to design an API that describes the future state of how a Decoupled Layout Builder could work, dramatically enhancing the content editor experience and bringing Drupal into the modern era of web UX. It would also strengthen Drupal’s reputation with marketers.

 

The case for an improved Layout Builder user experience

What if Layout Builder could move forward? It’s currently built with Drupal technologies that haven’t significantly progressed in ten years.

Page edits use Drupal’s AJAX API, which requires a round trip back to the server to perform UI updates. The server updates state on the server side and then returns a series of Javascript commands to update the page state.

This round trip is inconsistent with the instant experience users expect from the modern web. 

 

Our solution

Applications that leverage modern Javascript frameworks perform optimistic updates. They update the UI immediately and then update state on the server in the background.

We want layout retrieval and updates to happen in real time for more dynamic editing. To achieve this, we would rebuild the Layout Builder UI using React and identify the pain points.

This would be a significant jump, similar to the change to the block-based editor in WordPress.

Rather than starting from scratch, we could leverage a lot of prior art from the WordPress community. However, we would also bring our strengths into play, retaining our uniquely Drupal focus on structured data instead of serialising to HTML. 

 

Proof of concept

React is the best and most obvious option for the proof of concept. It was selected as the framework of choice for Drupal core development and has a large ecosystem. It was also successful in helping set WordPress up for the future. 

What if it’s Drupal’s turn next?

To retain structured data, it would be necessary to provide React versions of our existing formatters and widgets and a way for developers to create their own.

This approach would require a Javascript way of declaring layouts. Again, we could take a lot of this from existing layout plugins but would require a React component for the HTML representation.

We would also need to incorporate a Javascript way of declaring blocks. Much could be derived from our existing structured content modelling. However, assuming there would be a build step where this data is used for scaffolding Javascript code is reasonable.

JSON:API could be leveraged where possible, but we envisage needing to make new JSON endpoints for data that doesn’t map to entities.

Once we had achieved a non-twig way of rendering widgets, formatters, blocks and layouts, we could keep the layout state in the browser, mutate it immediately and persist to the backend in the background.

 

Is a decoupled Layout Builder feasible?

There are a number of hard problems we’ll need to solve here, such as how we allow modules to ship Javascript that relies on bundling, how we ensure there’s only one version of React loaded into the page, and how we allow modules to rely on other packages from npm. Solving those will be a big part of this work, and even if a React-powered Layout Builder doesn’t make its way from experimental to stable, the lessons learned in the process could solve some long-standing hard problems for Drupal in the front end space.

 

React in video

We decided it would be a fitting way to demonstrate how powerful React is by using it to make our Pitch-burgh video submission. 

We received the highest average rank when the video was shown during the Driesnote address at DrupalCon Pittsburgh, and look forward to the next steps for this exciting concept. 

Huge shout out to the team who worked on creating the pitch video especially the wizard of words Fiona, frontend Guru Jack and the excellent QA and GIF selection from Kim and Tina.

Enjoy!