278. This version includes the following changes:
[ Chris Lamb ]
* Temporarily remove procyon-decompiler from Build-Depends as it was removed
from testing (#1057532). (Closes: #1082636)
* Add a helpful contextual message to the output if comparing Debian .orig
tarballs within .dsc files without the ability to "fuzzy-match" away the
leading directory. (Closes: reproducible-builds/diffoscope#386)
* Correctly invert "X% similar" value and do not emit "100% similar".
(Closes: reproducible-builds/diffoscope#391)
* Update copyright years.
In my previous post,
I mentioned that Lockdown mode is activated when Secure Boot is enabled. One way
to override this was to use a self-compiled upstream kernel. However, sometimes
we might want to use the distribution kernel itself. This post explains how to
disable lockdown mode while keeping Secure Boot enabled with a distribution
kernel.
One of the highlights of this year s hackfest was the wide range of backgrounds
represented by our 40 participants (both on-site and remotely). Developers and
experts from various companies and open-source projects came together to
advance the Linux Display ecosystem. You can find the list of participants
here.
The event covered a broad spectrum of topics affecting the development of Linux
projects, user experiences, and the future of display technologies on Linux.
From cutting-edge topics to long-term discussions, you can check the event
agenda
here.
Structured Agenda and Timeboxes: Each session had a defined scope, time
limit (1h20 or 2h10), and began with an introductory talk on the topic.
With the KMS color management API taking shape, we discussed refinements and
best approaches to cover the variety of color pipeline from different
hardware-vendors. We are also investigating techniques for a performant
SDR<->HDR content reproduction and reducing latency and power consumption when
using the color blocks of the hardware.
IN\_FORMAT, segmented LUTs,
interpolation types, etc. Developers from Qualcomm and ARM also added
information regarding their hardware.
Upstream work related to this session:
hw_done callback to timestamp
when the hardware programming of the last atomic commit is complete. Also an
API to pre-program color pipeline in a kind of A/B scheme. It may not be
supported by all drivers, but might be useful in different ways.
rw systemctl enable --now kvmd-oled kvmd-oled-reboot kvmd-oled-shutdown systemctl enable --now kvmd-fan roThe default webadmin username/password is admin/admin. To change the passwords run the following commands:
rw kvmd-htpasswd set admin passwd root roIt is configured to have the root filesystem mounted read-only which is something I thought had gone out of fashion decades ago. I don t think that modern versions of the Ext3/4 drivers are going to corrupt your filesystem if you have it mounted read-write when you reboot. By default it uses a self-signed SSL certificate so with a Chrome based browser you get an error when you connect where you have to select advanced and then tell it to proceed regardless. I presume you could use the DNS method of Certbot authentication to get a SSL certificate to use on an internal view of your DNS to make it work normally with SSL. The web based software has all the features you expect from a KVM. It shows the screen in any resolution up to 1920*1080 and proxies keyboard and mouse. Strangely lsusb on the machine being managed only reports a single USB device entry for it which covers both keyboard and mouse. Managing Computers For a tower PC disconnect any regular monitor(s) and connect a HDMI port to the HDMI input on the KVM. Connect a regular USB port (not USB-C) to the OTG port on the KVM, then it should all just work. For a laptop connect the HDMI port to the HDMI input on the KVM. Connect a regular USB port (not USB-C) to the OTG port on the KVM. Then boot it up and press Fn-F8 for Dell, Fn-F7 for Lenovo or whatever the vendor code is to switch display output to HDMI during the BIOS initialisation, then Linux will follow the BIOS and send all output to the HDMI port for the early stages of booting. Apparently Lenovo systems have the Fn key mapped in the BIOS so an external keyboard could be used to switch between display outputs, but the PiKVM software doesn t appear to support that. For other systems (probably including the Dell laptops that interest me) the Fn key apparently can t be simulated externally. So for using this to work on laptops in another city I need to have someone local press Fn-F8 at the right time to allow me to change BIOS settings. It is possible to configure the Linux kernel to mirror display to external HDMI and an internal laptop screen. But this doesn t seem useful to me as the use cases for this device don t require that. If you are using it for a server that doesn t have iDRAC/ILO or other management hardware there will be no other monitor and all the output will go through the only connected HDMI device. My main use for it in the near future will be for supporting remote laptops, when Linux has a problem on boot as an easier option than talking someone through Linux commands and for such use it will be a temporary thing and not something that is desired all the time. For the gdm3 login program you can copy the .config/monitors.xml file from a GNOME user session to the gdm home directory to keep the monitor settings. This configuration option is decent for the case where a fixed set of monitors are used but not so great if your requirement is display a login screen on anything that s available . Is there an xdm type program in Debian/Ubuntu that supports this by default or with easy reconfiguration? Conclusion The PiKVM is a well engineered and designed product that does what s expected at a low price. There are lots of minor issues with using it which aren t the fault of the developers but are due to historical decisions in the design of BIOS and Linux software. We need to change the Linux software in question and lobby hardware vendors for BIOS improvements. The feature for connecting to an ATX PSU was unexpected and could be really handy for some people, it s not something I have an immediate use for but is something I could possibly use in future. I like the way they shipped the hardware for it as part of the package giving the user choices about how they use it, many vendors would make it an optional extra that costs another $100. This gives the PiKVM more functionality than many devices that are much more expensive. The web UI wasn t as user friendly as it might have been, but it s a lot better than iDRAC so I don t have a serious complaint about it. It would be nice if there was an option for creating macros for keyboard scancodes so I could try and emulate the Fn options and keys for volume control on systems that support it.
One of the highlights of this year s hackfest was the wide range of backgrounds
represented by our 40 participants (both on-site and remotely). Developers and
experts from various companies and open-source projects came together to
advance the Linux Display ecosystem. You can find the list of participants
here.
The event covered a broad spectrum of topics affecting the development of Linux
projects, user experiences, and the future of display technologies on Linux.
From cutting-edge topics to long-term discussions, you can check the event
agenda
here.
Structured Agenda and Timeboxes: Each session had a defined scope, time
limit (1h20 or 2h10), and began with an introductory talk on the topic.
With the KMS color management API taking shape, we discussed refinements and
best approaches to cover the variety of color pipeline from different
hardware-vendors. We are also investigating techniques for a performant
SDR<->HDR content reproduction and reducing latency and power consumption when
using the color blocks of the hardware.
IN\_FORMAT, segmented LUTs,
interpolation types, etc. Developers from Qualcomm and ARM also added
information regarding their hardware.
Upstream work related to this session:
hw_done callback to timestamp
when the hardware programming of the last atomic commit is complete. Also an
API to pre-program color pipeline in a kind of A/B scheme. It may not be
supported by all drivers, but might be useful in different ways.
A new release 0.0.4 of the RcppFastAD package
by James Yang and myself
is now on CRAN.
RcppFastAD
wraps the FastAD
header-only C++ library by James which provides a C++
implementation of both forward and reverse mode of automatic
differentiation. It offers an easy-to-use header library (which we
wrapped here) that is both lightweight and performant. With a little of
bit of Rcpp glue, it is also easy to
use from R in simple C++ applications. This release updates the quick
fix in release
0.0.3 from a good week ago. James took a good look and
properly disambiguated the statement that lead clang to complain, so we
are back to compiling as C++17 under all compilers which makes for a
slightly wider reach.
The NEWS file for this release follows.
Courtesy of my CRANberries, there is also a diffstat report for the most recent release. More information is available at the repository or the package page. If you like this or other open-source work I do, you can sponsor me at GitHub.Changes in version 0.0.4 (2024-09-24)
- The package now properly addresses a clang warning on empty variadic macros arguments and is back to C++17 (James in #10)
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Note
This post is a continuation of my previous article on enabling the Unified Kernel Image (UKI) on Debian.
sudo ls /efi/loader/keys/chamunda
db.auth KEK.auth PK.auth
sbsign --key <path-to db.key> --cert <path-to db.crt> \
/usr/lib/systemd/boot/efi/systemd-bootx64.efi
Note
If you encounter warnings about mount options, update your fstab with the umask=0077 option for the EFI partition.
SecureBootPrivateKey=/path/to/db.key
SecureBootCertificate=/path/to/db.crt
sudo dpkg-reconfigure linux-image-$(uname -r)
# Repeat for other kernel versions if necessary
sudo dpkg-reconfigure linux-image-$(uname -r)
/etc/kernel/postinst.d/dracut:
dracut: Generating /boot/initrd.img-6.10.9-amd64
Updating kernel version 6.10.9-amd64 in systemd-boot...
Signing unsigned original image
Using config file: /etc/kernel/uki.conf
+ sbverify --list /boot/vmlinuz-6.10.9-amd64
+ sbsign --key /home/vasudeva.sk/Documents/personal/secureboot/db.key --cert /home/vasudeva.sk/Documents/personal/secureboot/db.crt /tmp/ukicc7vcxhy --output /tmp/kernel-install.staging.QLeGLn/uki.efi
Wrote signed /tmp/kernel-install.staging.QLeGLn/uki.efi
/etc/kernel/postinst.d/zz-systemd-boot:
Installing kernel version 6.10.9-amd64 in systemd-boot...
Signing unsigned original image
Using config file: /etc/kernel/uki.conf
+ sbverify --list /boot/vmlinuz-6.10.9-amd64
+ sbsign --key /home/vasudeva.sk/Documents/personal/secureboot/db.key --cert /home/vasudeva.sk/Documents/personal/secureboot/db.crt /tmp/ukit7r1hzep --output /tmp/kernel-install.staging.dWVt5s/uki.efi
Wrote signed /tmp/kernel-install.staging.dWVt5s/uki.efi
systemctl reboot --boot-loader-menu=0
During COVID companies suddenly found themselves able to offer remote working where it hadn t previously been on offer. That s changed over the past 2 or so years, with most places I m aware of moving back from a fully remote situation to either some sort of hybrid, or even full time office attendance. For example last week Amazon announced a full return to office, having already pulled remote-hired workers in for 3 days a week.
I ve seen a lot of folk stating they ll never work in an office again, and that RTO is insanity. Despite being lucky enough to work fully remotely (for a role I d been approached about before, but was never prepared to relocate for), I feel the objections from those who are pro-remote often fail to consider the nuances involved. So let s talk about some of the reasons why companies might want to enforce some sort of RTO.
default_destination_recipient_limit
and
default_destination_rate_delay
If default_destination_recipient_limit is over 1, then
default_destination_rate_delay is equal to the minimum delay between sending
email to the same domain.
So, I m staring our IP addresses out at 30m - which prevents any single domain
from receiving more than 2 messages per hour. Sadly, there are a lot of
different domain names that deliver to the same set of popular corporate MX
servers, so I am not sure I can accurately control how many messages a given
provider sees coming from a given IP address. But it s a start.
A bigger problem is that messages that exceed the limit hang out in the
active queue until they can be sent without violating the rate limit. Since I
can t fully control the number of messages a given queue receives (due to my
inability to control the DNS round robin weights), a lot of messages are going
to be severely delayed, especially ones with an @gmail.com domain name.
I know I can temporarily set relayhost to a different queue and flush
deferred messages, however, as far as I can tell, it doesn t work with
active messages.
To help mitigate the problem I m only using our bulk mail queue to warm up IPs,
but really, this is not ideal.
Suggestions welcome!
# Put the message on hold in the warming up instance
postsuper -c /etc/postfix-warmingup -h $queueid
# Copy to a warmed up instance
cp --preserve=mode,ownership,timestamp /var/spool/postfix-warmingup/hold/$queueid /var/spool/postfix-warmedup/incoming/
# Queue the message
postqueue -c /etc/postfix-warmedup -i $queueid
# Delete from the original queue.
postsuper -c /etc/postfix-warmingup -d $queueid
421 4.7.0 [TSS04] Messages from 204.19.241.9 temporarily deferred due to unexpected volume or user complaints - 4.16.55.1; see https://postmaster.yahooinc.com/error-codes (in replySo I will keep it as 30m for another 24 hours or so and then move to 15m. Now that I can flush the backlog of active messages I am in less of a hurry.
systemctl reload. I
wonder if there is a setting to control this retry? Or better yet, why can t
these messages that exceed the rate delayed be deferred instead?
This post is a review for Computing Reviews for 50 years of queries , a article published in Communications of the ACMThe relational model is probably the one innovation that brought computers to the mainstream for business users. This article by Donald Chamberlin, creator of one of the first query languages (that evolved into the ubiquitous SQL), presents its history as a commemoration of the 50th anniversary of his publication of said query language. The article begins by giving background on information processing before the advent of today s database management systems: with systems storing and processing information based on sequential-only magnetic tapes in the 1950s, adopting a record-based, fixed-format filing system was far from natural. The late 1960s and early 1970s saw many fundamental advances, among which one of the best known is E. F. Codd s relational model. The first five pages (out of 12) present the evolution of the data management community up to the 1974 SIGFIDET conference. This conference was so important in the eyes of the author that, in his words, it is the event that starts the clock on 50 years of relational databases. The second part of the article tells about the growth of the structured English query language (SEQUEL) eventually renamed SQL including the importance of its standardization and its presence in commercial products as the dominant database language since the late 1970s. Chamberlin presents short histories of the various implementations, many of which remain dominant names today, that is, Oracle, Informix, and DB2. Entering the 1990s, open-source communities introduced MySQL, PostgreSQL, and SQLite. The final part of the article presents controversies and criticisms related to SQL and the relational database model as a whole. Chamberlin presents the main points of controversy throughout the years: 1) the SQL language lacks orthogonality; 2) SQL tables, unlike formal relations, might contain null values; and 3) SQL tables, unlike formal relations, may contain duplicate rows. He explains the issues and tradeoffs that guided the language design as it unfolded. Finally, a section presents several points that explain how SQL and the relational model have remained, for 50 years, a winning concept, as well as some thoughts regarding the NoSQL movement that gained traction in the 2010s. This article is written with clear language and structure, making it easy and pleasant to read. It does not drive a technical point, but instead is a recap on half a century of developments in one of the fields most important to the commercial development of computing, written by one of the greatest authorities on the topic.
Note
These steps may not work on your system if you are using the default Debian installation. This guide assumes that your system is using systemd-boot as the bootloader, which is explained in the post linked below.
Install the systemd-ukify package:
sudo apt-get install systemd-ukify
Create the following configuration in /etc/kernel/install.conf:
layout=uki
initrd_generator=dracut
uki_generator=ukify
Define the kernel command line for the UKI image. Create /etc/kernel/uki.conf with the following content:
[UKI]
Cmdline=@/etc/kernel/cmdline
sudo dpkg-reconfigure linux-image-$(uname -r)
bootctl list
type: Boot Loader Specification Type #2 (.efi)
title: Debian GNU/Linux trixie/sid (2d0080583f1a4127ac0b073b1a9d3e61-6.10.9-amd64.efi) (default) (selected)
id: 2d0080583f1a4127ac0b073b1a9d3e61-6.10.9-amd64.efi
source: /boot/efi/EFI/Linux/2d0080583f1a4127ac0b073b1a9d3e61-6.10.9-amd64.efi
sort-key: debian
linux: /boot/efi/EFI/Linux/2d0080583f1a4127ac0b073b1a9d3e61-6.10.9-amd64.efi
options: systemd.gpt_auto=no quiet root=LABEL=root_disk ro systemd.machine_id=2d0080583f1a4127ac0b073b1a9d3e61
type: Boot Loader Specification Type #2 (.efi)
title: Debian GNU/Linux trixie/sid (2d0080583f1a4127ac0b073b1a9d3e61-6.10.7-amd64.efi)
id: 2d0080583f1a4127ac0b073b1a9d3e61-6.10.7-amd64.efi
source: /boot/efi/EFI/Linux/2d0080583f1a4127ac0b073b1a9d3e61-6.10.7-amd64.efi
sort-key: debian
linux: /boot/efi/EFI/Linux/2d0080583f1a4127ac0b073b1a9d3e61-6.10.7-amd64.efi
options: systemd.gpt_auto=no quiet root=LABEL=root_disk ro systemd.machine_id=2d0080583f1a4127ac0b073b1a9d3e61
type: Automatic
title: Reboot Into Firmware Interface
id: auto-reboot-to-firmware-setup
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Version 0.3.15 of the Rblpapi package arrived on CRAN today. Rblpapi provides a direct
interface between R and the Bloomberg
Terminal via the C++
API provided by Bloomberg (but note that a valid Bloomberg license
and installation is required).
This is the fifteenth release since the package first appeared on CRAN in 2016. This release updates
to the current version 3.24.6 of the Bloomberg API, and rounds out a few
corners in the packaging from continuous integration to the
vignette.
The detailed list of changes follow below.
Courtesy of my CRANberries, there is also a diffstat report for the this release. As always, more detailed information is at the Rblpapi repo or the Rblpapi page. Questions, comments etc should go to the issue tickets system at the GitHub repo. If you like this or other open-source work I do, you can sponsor me at GitHub.Changes in Rblpapi version 0.3.15 (2024-09-18)
- A warning is now issued if more than 1000 results are returned (John in #377 addressing #375)
- A few typos in the rblpapi-intro vignette were corrected (Michael Streatfield in #378)
- The continuous integration setup was updated (Dirk in #388)
- Deprecation warnings over
char*where C++ classNameis now preferred have been addressed (Dirk in #391)- Several package files have been updated (Dirk in #392)
- The
requestformation has been corrected, and an example was added (Dirk and John in #394 and #396)- The Bloomberg API has been upgraded to release 3.24.6.1 (Dirk in #397)
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
[redacted]
X-Spam-Flag: YES
X-Spam-Level: ******
X-Spam-Status: Yes, score=6.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
[redacted]
* 1.0 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL
* [185.220.101.64 listed in xxxxxxxxxxxxx.zen.dq.spamhaus.net]
* 3.0 RCVD_IN_SBL_CSS Received via a relay in Spamhaus SBL-CSS
* 2.5 RCVD_IN_AUTHBL Received via a relay in Spamhaus AuthBL
* 0.0 RCVD_IN_PBL Received via a relay in Spamhaus PBL
[redacted]
[very first received line follows...]
Received: from [10.137.0.13] ([185.220.101.64])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-378956d2ee6sm12487760f8f.83.2024.09.11.15.05.52
for <xxxxx@mayfirst.org>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 11 Sep 2024 15:05:53 -0700 (PDT)
185.220.101.64 which appears
to be a Tor exit node.
The sender is using their own client to relay email directly to Gmail. Like any
sane person, they don t trust Gmail to protect their privacy, so they are
sending via Tor. But WTF, Gmail is not stripping the sending IP address from
the header.
I m a big fan of harm reduction and have always considered using your own
client to relay email with Gmail as a nice way to avoid some of the
surveillance tax Google imposes.
However, it seems that if you pursue this option you have two unpleasant
choices:
I realize that because I have several chairs, the phrase my chair is ambiguous. To reduce confusion, I will refer to the head of my academic department as my office chair going forward.
Things developed since my last post. Some lesions opened up on my ankle which was initially good news: the pain substantially reduced. But they didn t heal fast enough and so medics decided on surgical debridement. That was last night. It seemed to be successful and I m in recovery from surgery as I write. It s hard to predict the near-future, a lot depends on how well and fast I heal.
I ve got a negative-pressure dressing on it, which is incredible: a constantly maintained suction to aid in debridement and healing. Modern medicine feels like a sci fi novel.
The debridement operation was a success: nothing bad grew afterwards. I was
discharged after a couple of nights with crutches, instructions not to
weight-bear, a remarkable, portable negative-pressure "Vac" pump that lived by
my side, and some strong painkillers.
About two weeks later, I had a skin graft. The surgeon took some skin from my
thigh and stitched it over the debridement wound. I was discharged same-day,
again with the Vac pump, and again with instructions not to weight-bear, at
least for a few days.
This time I only kept the Vac pump for a week, and after a dressing change
(the first time I saw the graft), I was allowed to walk again. Doing so is
strangely awkward, and sometimes a little painful. I have physio exercises
to help me regain strength and understanding about what I can do.
The donor site remained bandaged for another week before I saw it. I was
expecting a stitched cut, but the surgeons have removed the top few layers
only, leaving what looks more like a graze or sun-burn. There are four
smaller, tentative-looking marks adjacent, suggesting they got it right on
the fifth attempt. I'm not sure but I think these will all fade away to
near-invisibility with time, and they don't hurt at all.
I've now been off work for roughly 12 weeks, but I think I am returning
very soon. I am looking forward to returning to some sense of normality.
It's been an interesting experience. I thought about writing more
about what I've gone through, in particular my experiences in Hospital,
dealing with the bureaucracy and things falling "between the gaps".
Hanif Kureishi has done a better job than I could.
It's clear that the NHS is staffed by incredibly passionate people, but
there are a lot of structural problems that interfere with care.
| Series: | Library Trilogy #2 |
| Publisher: | Ace |
| Copyright: | 2024 |
| ISBN: | 0-593-43796-9 |
| Format: | Kindle |
| Pages: | 366 |
A minor update 0.3.10 for our nanotime
package is now on CRAN. nanotime
relies on the RcppCCTZ
package (as well as the RcppDate
package for additional C++ operations) and offers efficient high(er)
resolution time parsing and formatting up to nanosecond resolution,
using the bit64
package for the actual integer64 arithmetic. Initially
implemented using the S3 system, it has benefitted greatly from a
rigorous refactoring by Leonardo who not only rejigged
nanotime internals in S4 but also added new S4 types for
periods, intervals and durations.
This release updates one S4 methods to very recent changes in r-devel
for which CRAN had reached out.
This concerns the setdiff() method when applied to two
nanotime objects. As it only affected R 4.5.0, due next
April, if rebuilt in the last two or so weeks it will not have been
visible to that many users, if any. In any event, it now works again for
that setup too, and should be going forward.
We also retired one demo function from the very early days,
apparently it relied on ggplot2 features that have since
moved on. If someone would like to help out and resurrect the demo,
please get in touch. We also cleaned out some no longer used tests, and
updated DESCRIPTION to what is required now. The NEWS snippet below has
the full details.
Thanks to my CRANberries, there is a diffstat report for this release. More details and examples are at the nanotime page; code, issue tickets etc at the GitHub repository and all documentation is provided at the nanotime documentation site. If you like this or other open-source work I do, you can sponsor me at GitHub.Changes in version 0.3.10 (2024-09-16)
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Next.