Feeds
CTI Digital: Enhancing Drupal Content Editing with Same Page Preview Module
As I embarked on a recent journey to enhance the usability of Drupal from the perspective of both site owners and editors, I stumbled upon what could be a game changer for content editors – the "Same Page Preview" module.
Golems GABB: Building a Mobile App with Drupal as a Backend
Do you know that almost 90% of developers who use Drupal as a backend for their mobile apps have their stash, lucky coding socks? This is interesting because developers believe it allows them to work more efficiently.
We may have exaggerated about 90 percent, but building a mobile app development with Drupal as a backend is perfect. There are many reasons for this because Drupal as a tool has all the necessary features and capabilities to unleash the potential of the application fully and, of course, emphasize the skill of its creator. But how does it work?
LN Webworks: Drupal 11's Arrival in 2024 – Is Your Website Prepared?
Drupal 11 is on the horizon, set to make its debut in either August or December 2024. That may seem like a distant future, but in the ever-evolving world of web development, a year and a half can go by in the blink of an eye. So, the big question we're here to explore is this: Is your website ready for the release of Drupal 11?
Let’s take a closer look at why it's crucial not to procrastinate when it comes to Drupal 11 preparation. We'll also discuss the importance of getting a head start and why the process should be more of a steady, consistent effort rather than a last-minute scramble.
An Overview of The Why and How of Drupal 11Drupal 11 is generating quite the buzz, and for good reason. Anticipation is building as the Drupal community delves into discussions about Drupal 11, even before Drupal 10 has made its grand exit. This unprecedented level of excitement around Drupal 11 makes it a release like no other.
Paolo Melchiorre: Database generated columns⁽²⁾: Django & PostgreSQL
An introduction to database generated columns, using PostgreSQL and the new GeneratedField added in Django 5.0.
parallel @ Savannah: GNU Parallel 20231122 ('Grindavík') released
GNU Parallel 20231122 ('Grindavík') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
Got around to using GNU parallel for the first time from a suggestion by @jdwasmuth ... now I'm wishing I started using this years ago
-- Stefan Gavriliuc @GavriliucStefan@twitter
New in this release:
- -a file1 -a +file2 will link file2 to file1 similar to ::::+
- --bar shows total time when all jobs are done.
- Bug fixes and man page updates.
News about GNU Parallel:
- Using GNU Parallel in bash scripts to optimize python processes https://climate-cms.org/posts/2023-11-02-gnu-parallel.html
GNU Parallel - For people who live life in the parallel lane.
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
find . -name '*.jpg' |
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/
You can install GNU Parallel in just 10 seconds with:
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
fetch -o - http://pi.dk/3 ) > install.sh
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
12345678 883c667e 01eed62f 975ad28b 6d50e22a
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
$ bash install.sh
Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.
When using programs that use GNU Parallel to process data for publication please cite:
O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.
If you like GNU Parallel:
- Give a demo at your local user group/team/colleagues
- Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
- Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
- Request or write a review for your favourite blog or magazine
- Request or build a package for your favourite distribution (if it is not already there)
- Invite me for your next conference
If you use programs that use GNU Parallel for research:
- Please cite GNU Parallel in you publications (use --citation)
If GNU Parallel saves you money:
- (Have your company) donate to FSF https://my.fsf.org/donate/
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
When using GNU SQL for a publication please cite:
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.
Daniel Roy Greenfeld: Three Years at Kraken Tech
A summary of the past year as I finish my third year working for Kraken Tech, an Octopus Energy Group subsidiary.
Note: As I write this I'm recovering from a sprained shoulder I received in a bicycle accident that makes it hard to type. I'm mostly using voice-to-text, so the text might not be in my normal "writing voice".
I changed rolesI transitioned from leading the tech team for Kraken Tech USA to being an individual contributor for the global team. I do this periodically, cycling between writing code to leading teams, and back again.
It is never easy to transition between roles but this time in particular it was particularly hard. The US Kraken Tech team is a group of talented, diverse, and passionate people. I'm so honored I had the chance to work with them. I'm constantly amazed by what they have accomplished and what they continue to do.
In my new role I'm on the "Developer Foundations" team, exploring ways to improve the coding experience at the company. I've enjoyed writing code full-time again, there's a clarity of purpose that's been fun to embrace. Mostly that's been working in Python with a bit of Django, with short detours into Rust and Golang.
One more thing: For the moment I still have the old management-sounding title, but expect to get something more accurate in the next few months.
I blogged moreDue to that I'm coding full-time again, I more than doubled the number of posts I wrote in 2022.
I worked in the London, UK OfficeAudrey and Uma joined me on a move to London, which I documented here.
It has been a delight being able to work in-person with my peers, or at least close in timezone. I'm usually in the office about three out of every five days. I would make it five-out-of-five but I do better with deep thinking outside normal office commotion.
I attended large in-person tech eventsAfter a break of four years I managed to attend the following in chronological order, with transit mode specified:
- Django London (walk or train)
- PyCon Italy (airplane)
- PyCon UK (train)
- Django Paris (train)
I very much enjoyed meeting old friends and making new ones. Plus, exploring the cities of London, Cardiff, and Paris were adventures of their own.
Helped scale up Kraken Tech to address climate changeAs an individual concerned about global climate change I do my part:
- I compost about 80% of my family's food waste
- Do our best to recyle all the family's cardboard and paper products
- We live in a tiny flat with an electric stove
- Am experimenting with using a portable electric heater instead of the methane gas boiler
- Have reduced unnecessary air travel as much as possible (which is hard - I love airplanes and airports)
That's great, but I have managed to scale that up tens of thousands of times over by working for Kraken Tech.
As one employee of nine hundred and thirty seven (937) at Kraken Tech, I take payment from a collective of companies whose products are all designed with the purpose of saving the planet. Kraken Tech in particular is responsible for about 55 million people getting onto renewable energy or using non-renewable resources more efficiently.
Let's math that out, using conservative numbers:
58,697.97 = 55,000,000 / 937Summary: Each employee of Kraken Tech is roughly responsible for 58,698 (rounding up) people contributing significantly less to global climate change.
So if you are in tech in any capacity (coding, management, etc), consider using your skills to help us in our mission of making a healthier planet.
Come and help me save the planetI'll be upfront that if you want to make the biggest bucks possible in tech, travel a lot, and fly in first place seats, go work for a Big Tech Company or a fintech. Personally, I would rather work toward making the planet better for our descendants. That to me is much more important than helping a billionaire score another billion.
I invite anyone who is reading this to join me on my mission of saving the planet. Our careers page is here.
Please understand that Kraken Tech only hires in countries in which we have a legal entity. So if a role isn't listed for the country in which you can legally work, we probably can't hire you.
If for whatever reason you can't get a job working with me, apply to work at somewhere else into decarbonization. Let me know where you go and I'll celebrate your joining our shared mission.
Andrew Cater: 20231123 - UEFI install on a Raspberry Pi 4 - step by step instructions to a modified d-i
Andy (RattusRattus) and I have been formalising instructions for using Pete Batard's version of Tianocore (and therefore UEFI booting) for the Raspberry Pi 4 together with a Debian arm64 netinst to make a modified Debian installer on a USB stick which "just works" for a Raspberry Pi 4.
Thanks also to Steve McIntyre for initial notes that got this working for us and also to Emmanuel Rocca for putting up some useful instructions for copying.
Plug in a USB stick - use dmesg or your favourite method to see how it is identified.
Make a couple of mount points under /mnt - /mnt/data and /mnt/cdrom
1. Grab a USB stick, Partition using MBR. Make a single VFAT
partition, type 0xEF (i.e. EFI System Partition)
For a USB stick (identified as sdX) below:
$ sudo parted --script /dev/sdX mklabel msdos $ sudo parted --script /dev/sdX mkpart primary fat32 0% 100% $ sudo mkfs.vfat /dev/sdX1 $ sudo mount /dev/sdX1 /mnt/data/Download an arm64 netinst.iso
https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.2.0-arm64-netinst.iso
2. Copy the complete contents of partition *1* from a Debian arm64
installer image into the filesystem (partition 1 is the installer
stuff itself) on the USB stick, in /
3. Copy the complete contents of partition *2* from that Debian arm64
installer image into that filesystem (partition 2 is the ESP) on
the USB stick, in /
# Same story with the second partition on the ISO $ sudo mount /dev/mapper/loop0p2 /mnt/cdrom/ $ sudo rsync -av /mnt/cdrom/ /mnt/data/ $ sudo umount /mnt/cdrom
$ sudo kpartx -d debian-testing-amd64-netinst.iso $ sudo umount /mnt/data
4. Grab the rpi edk2 build from https://github.com/pftf/RPi4/releases
(I used 1.35) and extract it. I copied the files there into *2*
places for now on the USB stick:
/ (so the Pi will boot using it)
/rpi4 (so we can find the files again later)
5. Add the preseed.cfg file (attached) into *both* of the two initrd
files on the USB stick
- /install.a64/initrd.gz and
- /install.a64/gtk/initrd.gz
cpio is an awful tool to use :-(. In each case:
$ cp /path/to/initrd.gz .
$ gunzip initrd.gz
$ echo preseed.cfg | cpio -H newc -o -A -F initrd
$ gzip -9v initrd
$ cp initrd.gz /path/to/initrd.gz
If you look at the preseed file, it will do a few things:
- Use an early_command to unmount /media (to work around Debian bug
#1051964)
- Register a late_command call for /cdrom/finish-rpi (the next
file - see below) to run at the end of the installation.
- Force grub installation also to the EFI removable media path,
needed as the rpi doesn't store EFI boot variables.
- Stop the installer asking for firmware from removable media (as
the rpi4 will ask for broadcom bluetooth fw that we can't
ship. Can be ignored safely.)
6. Copy the finish-rpi script (attached) into / on the USB stick. It
will be run at the end of the installation, triggered via the
preseed. It does a couple of things:
- Copy the edk2 firmware files into the ESP on the system that's
just been installer
- Remove shim-signed from the installed systems, as there's a bug
that causes it to fail on rpi4. I need to dig into this to see
what the issue is.
That's it! Run the installer as normal, all should Just Work (TM).
# The preseed file itself causes a problem - the installer medium is
# left mounted on /medis so things break in cdrom-detect. Let's see if
# we can fix that!
d-i preseed/early_command string umount /media || true
# Run our command to do rpi setup before reboot
d-i preseed/late_command string /cdrom/finish-rpi
# Force grub installation to the RM path
grub-efi-arm64 grub2/force_efi_extra_removable boolean true
# Don't prompt for missing firmware from removable media,
# e.g. broadcom bluetooth on the rpi.
d-i hw-detect/load_firmware boolean false
!/bin/sh
set -x
grep -q -a RPI4 /sys/firmware/acpi/tables/CSRT
if [ $? -ne 0 ]; then
echo "Not running on a Pi 4, exit!"
exit 0
fi
# Copy the rpi4 firmware binaries onto the installed system.
# Assumes the installer media is mounted on /cdrom.
cp -vr /cdrom/rpi4/. /target/boot/efi/.
# shim-signed doesn't seem happy on rpi4, so remove it
mount --bind /sys /target/sys
mount --bind /proc /target/proc
mount --bind /dev /target/dev
in-target apt-get remove --purge --autoremove -y shim-signed
Andrew Cater: Arm Cambridge - mini-Debcamp 23 November 2023
At Arm for two days before the mini-Debconf this weekend.
First time at Arm for a few years: huge new buildings, shiny lecture theatre.
Arm have made us very welcome. A superb buffet lunch and unlimited coffee plus soft drinks - I think they know what Debian folk are like.
Not enough power blocks laid out at the beginning - only one per table - but we soon fixed that 😀
The room is full of Debian folk: some I know, some new faces. Reminiscing about meeting some of them from 25 years ago - and the chance to thank people for help over a long time.
Andy (RattusRattus) and I have been working out the bugs on an install script using UEFI for a Raspberry Pi 4. More on that in the next post, maybe.
As ever, it's the sort of place where "I can't get into the wiki" is sorted by walking three metres across the room or where an "I can't find where to get X for Raspberry Pi" can be solved by asking the person who builds Raspbian. "Did you try and sign up to the Debian wiki last week - you didn't follow the instructions to mail wiki@ - I _know_ you didn't because I didn't see the mail ... "
My kind of place and my kind of people, as ever.
Thanks again to Arm who are one of our primary sponsors for this mini-Debconf.
Reuven Lerner: Prepare yourself for a better career, with my new Python learning memberships
For years, students and clients have asked me for a membership program that includes all of my products. And for years, I’ve said, “No.”
Why not? Because I didn’t just want to offer access to my courses. I wanted to make something more than that — with a constant array of new content, interactions among Python users from around the world, and regular opportunities for me to speak with (and learn from) people like you.
Well, good news: After a few months of thought and work, I’m launching my new membership service with all of my Python content — plus much, much more.
Already sound interesting? Go here for more info: https://lernerpython.com/bfcm-2023/
Let’s start with the content: I have an extensive library of Python training and exercises. It costs many thousands of dollars to purchase all of these materials.
But these memberships are about much more than just the courses:
- Get answers to your questions: I’ll be holding office hours twice each month, once for Python and once for Pandas. Come with your questions — from my courses, exercises, books, or your own projects — and I’ll do my best to answer. Can’t attend in person? Send me your question via e-mail, and I’ll answer on the recording.
- Share with other Python coders: I’m opening a forum where you’ll be able to ask and answer questions, share code that you’re working on, and get general Python-related advice.
- Sharpen your skills with exercises: My courses all include tons of exercises. A Python membership will get you access to Weekly Python Exercise, six 15-week courses full of Python practice. A Pandas membership will additionally give you access to Bamboo Weekly, with Pandas puzzles based on current events. We’re all interested in sharpening our skills, and I’m committed to creating exercises that help you to do so.
- Keep up-to-date with special events: I’m going to give regular talks and lectures on a variety of topics — new developments in Python and Pandas, on machine learning, and on old favorite such as regular expressions, object-oriented programming, concurrency, and advanced Python techniques. I’m also planning to invite guest speakers who can enlighten us all on new and interesting topics. As a member, you’ll be invited to join me at these exclusive events.
My goal, as always, is to help people to earn more money, work on better projects, and ultimately have more opportunities. As part of this weekend’s Black Friday sale, I’m offering a 25% discount to the first 100 people to sign up for my community plans:
- Python tier, with all of my Python + Git courses, monthly office hours, and Weekly Python Exercise: https://store.lerner.co.il/subscription/91461/annual/buy?coupon=BF2023MEM
- Python + data tier, with everything in the Python tier plus my NumPy and Pandas courses, an additional data-only session of office hours each month, and a subscription to Bamboo Weekly: https://store.lerner.co.il/subscription/91462/annual/buy?coupon=BF2023MEM
Questions or comments? Just e-mail me at reuven@lerner.co.il, and I’ll answer ASAP.
The post Prepare yourself for a better career, with my new Python learning memberships appeared first on Reuven Lerner.
Qt Creator 12 released
We are happy to announce the release of Qt Creator 12!
TechBeamers Python: 40 Google Interview Questions You Need to Join Google in 2023
Thinking about Google interviews? It’s like going on an adventure! Google’s questions are like solving puzzles that let your creative side show. No need for big words; these questions are about everyday things. From simple thinking to practical solutions, it’s a fun ride. Explore the world of Google interview questions—where it’s simple yet exciting—and see [...]
The post 40 Google Interview Questions You Need to Join Google in 2023 appeared first on TechBeamers.
Bits from Debian: Discontinuing rsync service on archive.debian.org
The proposed and previously announced changes to the rsync service have become effective with archive.debian.org hostname now being discontinued.
The worldwide Debian mirrors network has served archive.debian.org via both HTTP and rsync. As part of improving the reliability of the service for users, the Debian mirrors team is separating the access methods to different host names:
-
http://archive.debian.org/ will remain the entry point for HTTP clients such as APT
-
rsync://rsync.archive.debian.org/debian-archive/ is now available for those who wish to mirror all or parts of the archives.
rsync service on archive.debian.org has stopped, and we encourage anyone using the service to migrate to the new host name as soon as possible.
If you are currently using rsync to the debian-archive from a debian.org server that forms part of the archive.debian.org rotation, we also encourage Administrators to move to the new service name. This will allow us to better manage which back-end servers offer rsync service in future.
Note that due to its nature the content of archive.debian.org does not change frequently - generally there will be several months, possibly more than a year, between updates - so checking for updates more than once a day is unnecessary.
For additional information please reach out to the Debian Mirrors Team maillist.
Niels de Feyter: Maximize Productivity and Success as a Drupal Contractor: 6 Expert Tips
Niels de Feyter: Is Drupal Still the Leading CMS in 2022 and 2023?
Niels de Feyter: Retrospective Drupal Dev Days April 2022 in Gent Belgium
Niels de Feyter: Drupal 8 survey Feeds Migrate usage and functionality
Niels de Feyter: Watch Drupalcon Now Orleans sessions on Youtube
That is also true for the now ongoing DrupalCon New Orleans 2016.
An excellent option for learning and understanding Drupal. (and following the event!)
Niels de Feyter: I am getting excited about Drupal 8
In a conceptual way, Drupal 8 is not so different from Drupal 7. The Administration-UI’s are the same and you probably will also use the same modules for a project. Site builders will feel really comfortable.
All-in-all I am getting excited about Drupal 8!
Niels de Feyter: Watch Drupalcon Barcelona 2015 sessions on Youtube
https://www.youtube.com/user/DrupalAssociation/videos
Posted by the Drupal Association.
Hope you can learn from it too!