Sex ratios
The sex ratio of male to female dragonflies varies both temporally and
spatially. Adult dragonflies have a high male-biased ratio at breeding
habitats. The male-bias ratio has contributed partially to the females using
different habitats to avoid male harassment.
As seen in Hine's emerald dragonfly (Somatochlora hineana), male populations
use wetland habitats, while females use dry meadows and marginal breeding
habitats, only migrating to the wetlands to lay their eggs or to find mating
partners.
Unwanted mating is energetically costly for females because it
affects the amount of time that they are able to spend foraging.
We've more or less finished testing on the Debian install images. Now moving on to the debian-live images. Bugs found and being triaged live as I type. Lots of typing and noises in the background of the video conference. Now at about 12-14 hours in on this for some of the participants. Lots of good work still going on, as ever.
Various of the folk doing this have taken a food break until 1900 local. A few glitches, a few that needed to be tried over again - but it's all going fairly well.
It is likely that at least one of the CD images will be dropped. The XFCE desktop install CD for i386 is now too large to fit on CD media. The netinst .iso files / the DVD 1 file / any of the larger files available via Jigdo will all help you achieve the same result.
There are relatively few machines that are i386 architecture only - it might be appropriate for people to use 64 bit amd64 from this point onwards as pure i386 machines are now approaching ten years old as a minimum. If you do need a graphical user environment for a pure i386 machine, it can be installed by using an expert install or using tasksel in the installation process.
DebConf3
This tshirt is 17 years old and from DebConf3. I should probably wash it at 60 celcius for once...
DebConf3 was my first DebConf and took place in Oslo, Norway, in 2003. I was very happy to be invited,
like any Debian contributor at that time, and that Debian would provide food and accomodation for everyone.
Accomodation was sleeping on the floor in some classrooms of an empty school and I remember having
tasted grasshoppers provided by a friendly Gunnar Wolf there, standing in line on the first day with the
SSH maintainer (OMG!1 (update: I originally wrote here that it wasn't Colin back then, but Colin
mailed me to say that he was indeed maintaining SSH even back then, so I've met a previous maintainer
there)) and meeting the one Debian person I had actually
worked with before: Thomas Lange or MrFAI (update: Thomas also mailed me and said this was at DebConf5).
In Oslo I also was exposed to Skolelinux / Debian Edu for the first
time, saw a certain presentation from the FTP masters and also noticed some people recording the talks,
though as I learned later these videos were never released to the public. And there was this fiveteen year old
called Toresbe, who powered on the PDP's which were double his age. And then actually made use of them. And and and.
I'm very happy I went to this DebConf. Without going my Debian journey would have been very different today.
Thanks to everyone who made this such a welcoming event. Thanks to anyone who makes any event welcoming!
We've now settled into a reasonable rhythm: RattusRattus and Isy and Sledge all working away hard in Cambridge: Schweer in Germany and me here in Cheltenham.
Lots of chat backwards and forwards and a good deal of work being done, as ever.
It's really good to be back in the swing of it and we owe thanks to folk for setting up infrastructure for us to use for video chat, which makes a huge difference: even though I know what they're like, it's still good to see my colleagues.
The media testing process has started slightly late. There will be a _long_ testing process over much of the day: the final media image releases are likely to be at about 0200-0300UTC tomorrow.
Just settling in for a long day of testing: as ever, it's good to be chatting with my Debian colleagues in Cambridge and with Schweer in Germany. It's going to be a hot one - 30 Celsius (at least) and high humidity for all of us.
The point release is happening today for Debian Buster 10.5. This is an important release because it incorporates all the recent security fixes from the latest GRUB / Secure Boot "Boothole" security problems.
Behind the scenes, there has been a lot of work to get this right: a release subject to an embargo to allow all the Linux releases to co-ordinate this as far as possible, lots of consistent effort, lots of cooperation - the very best of Free/Libre/Open Source working together.
Secure Boot shims are signed with a different key to go to upstream this time around: in due course, when revocation of old, insecure code happens to plug the security hole, older media may be deny-listed. All the updates for all the affected packages (listed in https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot/ ) are included in this release.
This has been a major wake-up call: the work behind the scenes has meant that each affected Linux distribution will be in a much better position going forward and working together is always good.
Here s my (tenth) monthly update about the activities I ve done in the F/L/OSS world.
Debian
This was my 17th month of contributing to Debian.
I became a DM in late March last year and a DD last Christmas! \o/
Well, this month I didn t do a lot of Debian stuff, like I usually do, however, I did a lot of things related to Debian (indirectly via GSoC)!
Anyway, here are the following things I did this month:
Also, I log daily updates at gsocwithutkarsh2102.tk.
Whilst the daily updates are available at the above site^, I ll breakdown the important parts of the later half of the second month here:
Marc Andre, very kindly, helped in fixing the specs that were failing earlier this month. Well, the problem was with the specs, but I am still confused how so. Anyway..
Finished documentation of the second cop and marked the PR as ready to be reviewed.
David reviewed and suggested some really good changes and I fixed/tweaked that PR as per his suggestion to finally finish the last bits of the second cop, RelativeRequireToLib.
Merged the PR upon two approvals and released it as v0.2.0!
We had our next weekly meeting where we discussed the next steps and the things that are supposed to be done for the next set of cops.
Introduced rubocop-packaging to the outer world and requested other upstream projects to use it! It is being used by 13 other projects already!
Started to work on packaging-style-guide but I didn t push anything to the public repository yet.
Worked on refactoring the cops_documentation Rake task which was broken by the new auto-corrector API. Opened PR #7 for it. It ll be merged after the next RuboCop release as it uses CopsDocumentationGenerator class from the master branch.
Whilst working on autoprefixer-rails, I found something unusual. The second cop shouldn t really report offenses if the require_relative calls are from lib to lib itself. This is a false-positive. Opened issue #8 for the same.
Continuation of GSoC for other Ruby related stuff!
Whilst working on rubocop-packaging, I contributed to more Ruby projects, refactoring their library a little bit and mostly fixing RuboCop issues and fixing issues that the Packaging extension reports as offensive .
Following are the PRs that I raised:
Debian (E)LTS
Debian Long Term Support (LTS) is a project to extend the lifetime of all Debian stable releases to (at least) 5 years. Debian LTS is not handled by the Debian security team, but by a separate group of volunteers and companies interested in making it a success.
And Debian Extended LTS (ELTS) is its sister project, extending support to the Jessie release (+2 years after LTS support).
This was my tenth month as a Debian LTS and my first as a Debian ELTS paid contributor.
I was assigned 25.25 hours for LTS and 13.25 hours for ELTS and worked on
the following things:
Other(s)
Sometimes it gets hard to categorize work/things into a particular category.
That s why I am writing all of those things inside this category.
This includes two sub-categories and they are as follows.
Personal:
This month I did the following things:
Released v0.2.0 of rubocop-packaging on RubyGems!
It s open-sourced and the repository is here.
Bug reports and pull requests are welcomed!
Released v0.1.0 of get_root on RubyGems!
It s open-sourced and the repository is here.
Wrote max-word-frequency, my Rails C1M2 programming assignment.
And made it pretty neater & cleaner!
Refactored my lts-dla and elts-ela scripts entirely and wrote them in Ruby so that there are no issues and no false-positives!
Check lts-dla here and elts-ela here.
And finally, built my first Rails (mini) web-application!
The repository is here. This was also a programming assignment (C1M3).
And furthermore, hosted it at Heroku.
Open Source:
Again, this contains all the things that I couldn t categorize earlier.
Opened several issues and PRs:
Issue #8273 against rubocop, reporting a false-positive auto-correct for Style/WhileUntilModifier.
Issue #615 against http reporting a weird behavior of a flaky test.
PR #3791 for rubygems/bundler to remove redundant bundler/setup require call from spec_helper generated by bundle gem.
Issue #3831 against rubygems, reporting a traceback of undefined method, rubyforge_project=.
Issue #238 against nheko asking for enhancement in showing the font name in the very font itself.
PR #2307 for puma to constrain rake-compiler to v0.9.4.
And finally, I joined the Cucumber organization! \o/
Thank you for sticking along for so long :)
Until next time. :wq for today.
rejected
autotalent (not the package),
bart (logo),
mumble-server (client UI),
hpcc (not a screenshot)
approved deletion of
theli (replacing incorrect screenshot)
rejected deletion of
gnome-bluetooth/aptitude/torbrowser-launcher (unintelligible),
phpbb3/hashcat/onboard/kcharselect (spam),
various packages (not the place to report abuse),
vim (not the place to send kudos)
Administration
Debian wiki:
unblock IP addresses,
approve accounts,
reset email addresses
I was assigned 20 hours of work by Freexian's Debian LTS initiative,
but only worked 5 hours this month and returned the remainder to the
pool.
Now that Debian 9 'stretch' has entered LTS, the stretch-backports
suite will be closed and no longer updated. However, some stretch
users rely on the newer kernel version provided there. I prepared
to add Linux 4.19 to the stretch-security suite, alongside the standard
package of Linux 4.9. I also prepared to update the
firmware-nonfree package so that firmware needed by drivers in Linux
4.19 will also be available in stretch's non-free section. Both
these updates will be based on the packages in stretch-backports,
but needed some changes to avoid conflicts or regressions for users
that continue using Linux 4.9 or older non-Debian kernel versions.
I will upload these after the Debian 10 'buster' point release.
Here is my monthly update covering what I have been doing in the free and open source software world during July 2020 (previous month):
Opened a pull request to make the build reproducible in PyERFA, a set of Python bindings for various astronomy-related utilities (#45), as well as one for PeachPy assembler to make the output of codecode/x86_64.py reproducible (#108).
As part of being on the board of directors of the Open Source Initiative and Software in the Public Interest I attended their respective monthly meetings and participated in various licensing and other discussions occurring on the internet, as well as the usual internal discussions regarding logistics and policy etc. This month, it was SPI's Annual General Meeting and the OSI has been running a number of remote strategy sessions for the board.
Updated travis.debian.net, my hosted service for projects that host their Debian packaging on GitHub, to use the Travis CI continuous integration platform) to fix a compatibility issue with the latest version of mk-build-deps. [...][...]
For Lintian, the static analysis tool for Debian packages:
Update the regular expression to search for all the released versions in a .changes file. [...]
Avoid false-positives when matching sensible-utils utilities such as i3-sensible-pager. (#966022)
Rename the send-patch tag to patch-not-forwarded-upstream. [...]
Drop reminders from 26 tags that false-positives should be reported to Lintian as this is implicit in all our tags. [...]
Reproducible Builds
One of the original promises of open source software is that distributed peer review and transparency of process results in enhanced end-user security. However, whilst anyone may inspect the source code of free and open source software for malicious flaws, almost all software today is distributed as pre-compiled binaries. This allows nefarious third-parties to compromise systems by injecting malicious code into ostensibly secure software during the various compilation and distribution processes.
The motivation behind the Reproducible Builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised.
The project is proud to be a member project of the Software Freedom Conservancy. Conservancy acts as a corporate umbrella allowing projects to operate as non-profit initiatives without managing their own corporate structure. If you like the work of the Conservancy or the Reproducible Builds project, please consider becoming an official supporter.
This month, I:
Opened pull requests to make the build reproducible in pyerfa (#45) as well as one for PeachPy to make the output of codecode/x86_64.py reproducible (#108).
In Debian:
Submitted the following patches to fix reproducibility-related toolchain issues within Debian:
dh-fortran-mod: Please make the output reproducible. (#965255)
gem2deb: should not install mkmf.log files. (#964772)
nmap: Please make the obfuscated nmap_service.exe file reproducible. (#964369)
strip-nondeterminism is our tool to remove specific non-deterministic results from a completed build. This month, I made sure that we did not install the internal handler documentation generated from Perl POD documents [...] and fixed a trivial typo [...].
diffoscope
Elsewhere in our tooling, I made the following changes to diffoscope, including preparing and uploading versions 150, 151, 152, 153 & 154 to Debian:
New features:
Add support for flash-optimised F2FS filesystems. (#207)
Don't require zipnote(1) to determine differences in a .zip file as we can use libarchive. [...]
Allow --profile as a synonym for --profile=-, ie. write profiling data to standard output. [...]
Increase the minimum length of the output of strings(1) to eight characters to avoid unnecessary diff noise. [...]
Drop some legacy argument styles: --exclude-directory-metadata and --no-exclude-directory-metadata have been replaced with --exclude-directory-metadata= yes,no . [...]
Bug fixes:
Pass the absolute path when extracting members from SquashFS images as we run the command with working directory in a temporary directory. (#189)
Correct adding a comment when we cannot extract a filesystem due to missing libguestfs module. [...]
Don't crash when listing entries in archives if they don't have a listed size such as hardlinks in ISO images. (#188)
Output improvements:
Strip off the file offset prefix from xxd(1) and show bytes in groups of 4. [...]
Don't emit javap not found in path if it is available in the path but it did not result in an actual difference. [...]
Fix ... not available in path messages when looking for Java decompilers that used the Python class name instead of the command. [...]
Logging improvements:
Add a bit more debugging info when launching libguestfs. [...]
Reduce the --debug log noise by truncating the has_some_content messages. [...]
Fix the compare_files log message when the file does not have a literal name. [...]
Codebase improvements:
Rewrite and rename exit_if_paths_do_not_exist to not check files multiple times. [...][...]
Add an add_comment helper method; don't mess with our internal list directly. [...]
Replace some simple usages of str.format with Python 'f-strings' [...] and make it easier to navigate to the main.py entry point [...].
In the RData comparator, always explicitly return None in the failure case as we return a non-None value in the success one. [...]
Tidy some imports [...][...][...] and don't alias a variable when we don't end up using. [...]
Clarify the use of a separate NullChanges quasi-file to represent missing data in the Debian package comparator [...] and clarify use of a 'null' diff in order to remember an exit code. [...]
Frontdesk duties, including responding to user/developer questions, reviewing packages, participating in mailing list discussions, offering comments on our survey and attended our IRC contributor meeting. I also made some changes to tools after the move from the Debian version supported [...].
Issued DLA 2273-1 for shiro, first to fix a path-traversal issue where a specially-crafted request could cause an authentication bypass (CVE-2020-1957) and then to fix an encoding issue introduced in the handling of the previous CVE-2020-1957 path-traversal issue which itself could have also caused an authentication bypass (CVE-2020-11989).
Issued DLA 2274-1 to fix a possible signature verification issue in the fwupd firmware update tool as the return value of gpgme_op_verify_result was not being checked.
Issued DLA 2299-1 and ELA 252-1 in order to prevent a privilege escalation vulnerability discovered in Net-SNMP, a set of tools for collecting and organising information about devices on computer networks.
Issued DLA 2300-1 as it was discovered that there was an issue where kdepim-runtime would default to using unencrypted POP3 communication despite the user interface indicating that encryption was in use.
You can find out more about the project via the following video:
Here are my uploads for the month of July, which is just a part of my free software activities, I ll try to catch up on the rest in upcoming posts. I haven t indulged in online conferences much over the last few months, but this month I attended the virtual editions of Guadec 2020 and HOPE 2020. HOPE isn t something I knew about before and I enjoyed it a lot, you can find their videos on archive.org.
Debian Uploads
2020-07-05: Sponsor backport gamemode-1.5.1-5 for Debian buster-backports.
2020-07-06: Sponsor package piper (0.5.1-1) for Debian unstable (mentors.debian.net request).
2020-07-14: Upload package speedtest-cli (2.0.2-1+deb10u1) to Debian buster (Closes: #940165, #965116).
2020-07-15: Upload package calamares (3.2.27-1) to Debian unstable.
2020-07-15: Merge MR#1 for gnome-shell-extension-dash-to-panel.
2020-07-15: Upload package gnome-shell-extension-dash-to-panel (38-1) to Debian unstable.
2020-07-15: Upload package gnome-shell-extension-disconnect-wifi (25-1) to Debian unstable.
2020-07-15: Upload package gnome-shell-extension-draw-on-your-screen (6.1-1) to Debian unstable.
2020-07-15: Upload package xabacus (8.2.8-1) to Debian unstable.
2020-07-15: Upload package s-tui (1.0.2-1) to Debian unstable.
2020-07-15: Upload package calamares-settings-debian (10.0.2-1+deb10u2) to Debian buster (Closes: #934503, #934504).
2020-07-15: Upload package calamares-settings-debian (10.0.2-1+deb10u3) to Debian buster (Closes: #959541, #965117).
2020-07-15: Upload package calamares-settings-debian (11.0.2-1) to Debian unstable.
2020-07-19: Upload package bluefish (2.2.11+svn-r8872-1) to Debian unstable (Closes: #593413, #593427, #692284, #730543, #857330, #892502, #951143).
2020-07-19: Upload package bundlewrap (4.0.0-1) to Debian unstable.
2020-07-20: Upload package bluefish (2.2.11+svn-r8872-1) to Debian unstable (Closes: #965332).
2020-07-22: Upload package calamares (3.2.27-1~bpo10+1) to Debian buster-backports.
2020-07-24: Upload package bluefish (2.2.11_svn-r8872-3) to Debian unstable (Closes: #965944).
The diffoscope maintainers are pleased to announce the release of diffoscope
version 154. This version includes the following changes:
[ Chris Lamb ]
* Add support for F2FS filesystems.
(Closes: reproducible-builds/diffoscope#207)
* Allow "--profile" as a synonym for "--profile=-".
* Add an add_comment helper method so don't mess with our _comments list
directly.
* Add missing bullet point in a previous changelog entry.
* Use "human-readable" over unhyphenated version.
* Add a bit more debugging around launching guestfs.
* Profile the launch of guestfs filesystems.
* Correct adding a comment when we cannot extract a filesystem due to missing
guestfs module.
So even after years and years of experience, core tools still find ways to
surprise me. Today I tried to do some timestamp comparisons with mawk
(vnl-filter, to be more precise), and ran into a detail of the language that
made it not work. Not a bug, I guess, since both mawk and gawk are affected.
I'll claim "language design flaw", however.
Let's say I'm processing data with unix timestamps in it (seconds since the
epoch). gawk and recent versions of mawk have strftime() for that:
$ date
Wed Jul 29 15:31:13 PDT 2020
$ date +"%s"
1596061880
$ date +"%s" mawk ' print strftime("%H",$1) '
15
And let's say I want to do something conditional on them. I want only data after
9:00 each day:
$ date +"%s" mawk 'strftime("%H",$1) >= 9 print "Yep. After 9:00" '
That's right. No output. But it is 15:31 now, and I confirmed above that
strftime() reports the right time, so it should know that it's after 9:00, but
it doesn't. What gives?
As we know, awk (and perl after it) treat numbers and strings containing numbers
similarly: 5+5 and ="5"+5= both work the same, which is really convenient.
This can only work if it can be inferred from context whether we want a number
or a string; it knows that addition takes two numbers, so it knows to convert
="5"= into a number in the example above.
But what if an operator is ambiguous? Then it picks a meaning based on some
internal logic that I don't want to be familiar with. And apparently awk
implements string comparisons with the same < and > operators, as numerical
comparisons, creating the ambiguity I hit today. strftime returns strings, and
you get silent, incorrect behavior that then demands debugging. How to fix? By
telling awk to treat the output of strftime() as a number:
$ date +"%s" mawk '0+strftime("%H",$1) >= 9 print "Yep. After 9:00" '
Yep. After 9:00
With the benefit of hindsight, they really should not have reused any operators
for both number and string operations. Then these ambiguities wouldn't occur,
and people wouldn't be grumbling into their blogs decades after these decisions
were made.
This is part of a series of posts on compiling a custom version of Qt5 in order
to develop for both amd64 and a Raspberry Pi.
After having had
some success with a sysroot
in having a Qt5 cross-build environment that includes QtWebEngine, the next
step is packaging the sysroot so it can be available both to build the
cross-build environment, and to do cross-development with it.
The result is this Debian source package
which takes a Raspberry Pi OS disk image, provisions it in-place, extracts its
contents, and packages them.
Yes. You may want to reread the last paragraph.
It works directly in the disk image to avoid a nasty filesystem issue on
emulated 32bit Linux over a 64bit mounted filesystem.
This feels like the most surreal Debian package I've ever created, and this
saga looks like one of the hairiest yaks I've ever shaved.
Integrating this monster codebase, full of bundled code and hacks, into a
streamlined production and deployment system has been for me a full stack
nightmare, and I have a renewed and growing respect for the people in the
Qt/KDE team in Debian, who manage to stay on top of this mess, so that it all
just works when we need it.
So a few months ago kiddo one dropped an apparently fairly large cup of coffee onto her one and only trusted computer. With a few months (then) to graduation (which by now happened), and with the apparent genuis bar verdict of it s a goner a new one was ordered. As it turns out this supposedly dead one coped well enough with the coffee so that after a few weeks of drying it booted again. But give the newer one, its apparent age and whatnot, it was deemed surplus. So I poked around a little on the interwebs and conclude that yes, this could work.
Fast forward a few months and I finally got hold of it, and had some time to play with it. First, a bootable usbstick was prepared, and the machine s content was really (really, and check again: really) no longer needed, I got hold of it for good.
tl;dr It works just fine. It is a little heavier than I thought (and isn t air supposed to be weightless?) The ergonomics seem quite nice. The keyboard is decent. Screen-resolution on this pre-retina simple Air is so-so at 1440 pixels. But battery live seems ok and e.g. the camera is way better than what I have in my trusted Lenovo X1 or at my desktop. So just as a zoom client it may make a lot of sense; otherwise just walking around with it as a quick portable machine seems perfect (especially as my Lenovo X1 still (ahem) suffers from one broken key I really need to fix ).
Below are some lightly edited notes from the installation. Initial steps were quick: maybe an hour or less? Customizing a machine takes longer than I remembered, this took a few minutes here and there quite a few times, but always incremental.
Initial Steps
Download of Ubuntu 20.04 LTS image: took a few moments, even on broadband, feels slower than normal (fast!) Ubuntu package updates, maybe lesser CDN or bad luck
Plug into USB, recycle power, press Option on macOS keyboard: voila
After a quick hunch no to live/test only and yes to install, whole disk
install easy, very few questions, somehow skips wifi
so activate wifi manually and everythings pretty much works
Customization
First deal with fn and ctrl key swap. Install git and followed this github repo which worked just fine. Yay. First (manual) Linux kernel module build needed need in half a decade? Longer?
Fire up firefox, go to download chrome , install chrome. Sign in. Turn on syncing. Sign into Pushbullet and Momentum.
syncthing which is excellent. Initially via apt, later from their PPA. Spend some time remembering how to set up the mutual handshakes between devices. Now syncing desktop/server, lenovo x1 laptop, android phone and this new laptop
keepassx via apt and set up using Sync/ folder. Now all (encrypted) passwords synced.
Discovered synergy now longer really free, so after a quick search found and installed barrier (via apt) to have one keyboard/mouse from desktop reach laptop.
Added emacs via apt, so far empty , so config files yet
Added ssh via apt, need to propagate keys to github and gitlab
Added R via add-apt-repository --yes "ppa:marutter/rrutter4.0" and add-apt-repository --yes "ppa:c2d4u.team/c2d4u4.0+". Added littler and then RStudio
Added wajig (apt frontend) and byobu, both via apt
Created ssh key, shipped it to server and github + gitlab
Cloned (not-public) dotfiles repo and linked some dotfiles in
Many people labour under the assumption that pop culture is trivial and useless while only 'high' art can grant us genuine and eternal knowledge about the world. Given that we have a finite time on this planet, we are all permitted to enjoy pop culture up to a certain point, but we should always minimise our interaction with it, and consume more moral and intellectual instruction wherever possible.
Or so the theory goes. What these people do not realise is that pop and mass culture can often provide more information about the world, humanity in general and what is even more important ourselves.
This is not quite the debate around whether high art is artistically better, simply that pop culture can be equally informative. Jeremy Bentham argued in the 1820s that "prejudice apart, the game of push-pin is of equal value with the arts and sciences of music and poetry", that it didn't matter where our pleasures come from. (John Stuart Mill, Bentham's intellectual rival, disagreed.) This fundamental question of philosophical utilitarianism will not be resolved here.
However, what might begin to be resolved is our instinctive push-back against pop culture. We all share an automatic impulse to disregard things we do not like and to pretend they do not exist, but this wishful thinking does not mean that these cultural products do not continue to exist when we aren't thinking about them and, more to our point, continue to influence others and even ourselves.
Take, for example, the recent trend for 'millennial pink'. With its empty consumerism, faux nostalgia, reductive generational stereotyping, objectively ugly sthetics and tedious misogyny (photographed with Rose Gold iPhones), the very combination appears to have been deliberately designed to annoy me, curiously providing circumstantial evidence in favour of intelligent design. But if I were to immediately dismiss millennial pink andanyoftheothercountlessculturaltrendsIdislikesimplybecauseIfindthemdisagreeable, I would be willingly keeping myself blind to their underlying ideology, their significance and their effect on society at large.
If I had any ethicalorpoliticalreservations I might choose not to engage with them economically or to avoid advertising them to others, but that is a different question altogether.
Even if we can't notice this pattern within ourselves we can first observe it in others. We can all recall moments where someone has brushed off a casual reference to pop culture, be it Tiger King, TikTok, team sports or Taylor Swift; if you can't, simply look for the abrupt change of tone and the slightly-too-quick dismissal. I am not suggesting you attempt to dissuade others or even to point out this mental tic, but merely seeing it in action can be highly illustrative in its own way.
In summary, we can simultaneously say that pop culture is not worthy of our time relative to other pursuits while consuming however much of it we want, but deliberately dismissing pop culture doesn't mean that a lot of other people are not interacting with it and is therefore undeserving of any inquiry. And if that doesn't convince you, just like the once-unavoidable millennial pink, simply sticking our collective heads in the sand will not mean that wider societal-level ugliness is going to disappear anytime soon.
Anyway, that's a very long way of justifying why I plan to re-watch TNG.
A bugfix release of our (still small) ttdo package arrived on CRAN overnight. As introduced last fall, the ttdo package extends the most excellent (and very minimal / zero depends) unit testing package tinytest by Mark van der Loo with the very clever and well-done diffobj package by Brodie Gaslam to give us test results with visual diffs:
This release corrects a minor editing error spotted by the ever-vigilant John Blischak.
The NEWS entry follow.
Changes in ttdo version 0.0.6 (2020-07-27)
Correct a minor editing mistake spotted by John Blischak.