Links 17/8/2019: Unigine 2.9 and Git 2.23

Posted in News Roundup at 10:58 am by Dr. Roy Schestowitz

  • GNU/Linux

    • Desktop

      • The New Firmware Manager: Updating firmware across Linux distributions

        Over the past few months, System76 has been developing a simple, easy-to-use tool for updating firmware on Pop!_OS and System76 hardware. Today, we’re excited to announce that you can now check and update firmware through Settings on Pop!_OS, and through the firmware manager GTK application on System76 hardware running other Debian-based distributions.

        One of the issues we faced with with firmware management on Linux was the lack of options for graphical frontends to firmware management services like fwupd and system76-firmware. For fwupd, the only solutions available were to distribute either GNOME Software or KDE Discover, which is not viable for Linux distributions which have their own application centers, or frontends to package managers. For system76-firmware, an official GTK application existed, but it only supported updating System76 firmware, when it would be more ideal if it could support updating firmware from both services.

      • System76 Unveils Their Firmware Manager Project For Graphically Updating Firmware

        While most major hardware vendors have been adopting LVFS+Fwupd for firmware updating on Linux, Linux PC vendor System76 has notably been absent from the party for a variety of reasons. Today they announced their new Firmware Manager project that bridges the gap between their lack of LVFS support and their own hosted firmware service.

    • Server

      • IBM

        • Writing Kubernetes controllers the wrong way is still useful

          When you try to shoehorn an idea, approach, or code into a situation that’s not expecting it, you get surprising and fun results.

          In his Lightning Talk at the 17th annual Southern California Linux Expo (SCaLE 17x), “Writing Kubernetes controllers ‘the wrong way’ is still useful,” sysadmin Chris McEniry shares his experience with an out-of-cluster etcd-controller.

          Watch Chris’ Lightning Talk to learn more about managing etcd controllers and living to tell the tale.

    • Kernel Space

      • Linux 5.4 To Expose What’s Keeping The System Awake Via Sysfs

        The next Linux kernel version will expose the real-time sources of what’s keeping the system awake via Sysfs compared to existing source information that previously was only available via DebugFS.

        With Linux 5.4, wakeup source statistics will now be exposed under /sys/class/wakeup/wakeup*/ for tracking wakeups, their counts, and related bits for profiling the system for power usage optimizations.

        Suspend-blocking wakeup sources have been available under DebugFS to be useful for bug reporting and analyzing battery consumption. This solidifies the work now under Sysfs with a stable ABI. In addition to the interfaces now stable in adding them to sysfs, it makes them more accessible compared to DebugFS often being restricted to root or other restrictions in place by different distribution kernels.

      • Linux Foundation

        • VMware’s proposed Pivotal acquisition shows Cloud Foundry’s strength

          Abby Kearns, executive director of the Cloud Foundry Foundation, reports that in the soon-to-be-released Cloud Foundry end-user survey, “In just two years, broad deployment of Cloud Foundry has nearly doubled. With 45% of our users describing their Cloud Foundry use as ‘broad’ (compared to 30% in 2018 and 23% in 2017).”

    • Applications

      • 10 Best Terminal emulators for Linux that are worth giving a try

        Terminal emulator on a Linux system does not need any introduction. It is one of the most important tools in a Linux system, all users know about. The Terminal emulator on Linux can be useful for installing a program, changing some system settings, opening a program or run any script and do any other small and big tasks on a Linux computer with just the appropriate command. Thus, it will not be wrong, if you call it the heart of a Linux system from a user’s perspective. Just like most other elements in a Linux system, a new Terminal emulator can also be installed and used.

        So, without any further delay, let’s get started with the top 10 alternatives to the default Linux Terminal emulator and the reasons you should opt for them.

      • Proprietary

        • Spotify to Test Subscription Price Hike in Scandinavia

          The streaming giant will raise the price of its family plan by about 13%, the sources said, stressing that the effort is a test and the company has not locked in a price rise in Scandinavia or anywhere. It was unclear whether the company would add assets to the subscription plan to accompany the price hike.

        • After Initial Tests In Norway, Spotify Is Testing Higher Prices Throughout Scandinavia

          Early investor Sean Parker described a strategy back in 2010 that may be coming to fruition. Once you have enough playlists and your entire collection tied to Spotify, Parker brashly declared that “we’ve got you by the balls.” Parker was originally referring to converting .mp3 downloading customers to streaming platforms, and it’s a strategy that has worked well as digital downloads have plummeted.

          Spotify may feel that its pricing is too generous on its family tier, which makes it ripe for experimentation. The current family plan costs about $15/month for five people to use the service.

        • Spotify to Test a More Expensive Version of Its Popular Music Service

          With 108 million paying customers, Spotify is the largest paid music service in the world, and it’s unlikely to surrender that crown any time soon. The company says it’s growing faster than its closest competitor, Apple Music, which also charges $15 a month for a family plan and had about 60 million customers at midyear.

          But Spotify still loses money. The company has been reluctant to increase prices because it’s still in a growth stage, relying on discounts to keep customers and attract new ones as people become accustomed to streaming on-demand. While the company has grown quickly, only a minority of music listeners around the world have adopted the technology, and Spotify executives have said the addressable market is at least 1 billion people.

    • Instructionals/Technical

    • Wine or Emulation

    • Games

      • Rust will offer refunds as they stop shipping Linux client

        Multiplayer survival game Rust will soon stop shipping its Linux client and offer refunds to those who have played using it. They’ve penned a blog post explaining that it had become a “cheater’s sanctuary,” and that a September update addressing performance and security not being supported on the OS was the final straw, despite believing that supporting Linux is still “the right thing to do.”

      • Mutant Year Zero Road To Eden | Linux Gaming | Ubuntu 18.04 | Steam Play

        Mutant Year Zero Road To Eden running through Steam play.

      • UNIGINE 2.9: C# Component System, Better Shadows, SSSSS, Dome Screens Support, Weather Add-On
      • Unigine 2.9 Further Enhances Its Stunning Visuals

        It’s a pity there doesn’t seem to be any new adoption of Unigine as a game engine, but this visually impressive platform does continue seeing much success in the area of industrial simulations, professional VR platforms, and related areas. With Unigine 2.9 this Linux-friendly graphics engine is even more stunning.

        On the visual front, Unigine 2.9 has delivered better shadows with smoother edges and realistic penumbra. There are also lighting improvements to find with Unigine 2.9, improved screen-space subsurface scattering, better screen-spaced effects, improved tone mapping, faster voxel-based light baking, and other advancements in its visual capabilities.

    • Desktop Environments/WMs

      • GNOME and KDE team up on the Linux desktop, docs for Nvidia GPUs open up, a powerful new way to scan for firmware vulnerabilities, and more news

        Linux on desktop computers has been a space of fragmentation. In a recent announcement, “the two chief Linux desktop rivals, GNOME Foundation and KDE, have agreed to work together.”

        Both organizations will be sponsors of Linux App Summit (LAS) 2019 in Barcelona this November. This move, in part, appears to be in response to desktop computing no longer being the best place to fight for dominance. No matter the reason, Linux desktop fans have a new reason to hope for a future where there is a standardized GUI environment.

      • K Desktop Environment/KDE SC/Qt

        • Magnetic Lasso for Krita is here

          I won’t say that I am done with Magnetic Lasso now, but the results are a lot better now to be honest. Take a look at one of the tests that I did,

    • Distributions

      • Debian Family

        • [antiX] swapgs mitigations kernels available

          Latest secure kernels available in the repos for 32 and 64 bit architecture (stretch, buster, testing and sid).

          5.2.8 (64bit and 32 bit pae and non-pae-486)
          4.19.66 (64bit and 32 bit pae and non-pae-486)
          4.9.189 (64 bit and 32 bit pae and non-pae-486)

          Users are strongly advised to upgrade.

    • Devices/Embedded

    • Free, Libre, and Open Source Software

      • Australian Signals Directorate open sources data analysis tool

        The security agency described Constellation as a NetBeans Java application that can be “used to inform decision making and advance data-driven innovation”. The source code has been released under the Apache License 2.0.

      • ASD makes in-house data analysis app open source

        The Australian Signals Directorate (ASD) has released an open source version of its in-house data visualisation and analysis tool, Constellation, connecting the security agency with the outer world.

        The tool — which is available via GitHub — was designed to help “inform decision-making and advance data-driven innovation” and can be used to “solve large and complex problems in a simple and intuitive way”, according to the agency.

      • Anime studio, Khara, is planning to use open-source Blender software

        The open-source 3D creation software, Blender, will be picked up by the Japanese anime studio, Khara. It’ll begin partially using the software for its current development ‘EVANGELION:3.0+1.0’ but will make the full switch once that project is finished. The current project is expected to end in June next year, so after that point, its employees will start using Blender for the majority of their work.

        At the moment, Khara uses 3ds Max from Autodesk on a subscription basis; however, the company found that it had to reach out to small and medium-sized businesses for its projects. Due to the limitations of those companies, it’s harder for them to afford 3ds Max. By switching to Blender, Khara says it can work better with external firms.

      • Web Browsers

        • Chromium

          • Chrome murders FTP like Jeffrey Epstein

            What is it with these people? Why can’t things that are working be allowed to still go on working? (Blah blah insecure blah blah unused blah blah maintenance blah blah web everything.)

            This leaves an interesting situation where Google has, in its very own search index, HTML pages served by FTP its own browser won’t be able to view…

      • Programming/Development

        • Creating a Docker Swarm Stack with Terraform (Terrascript Python), Persistent Volumes and Dynamic HAProxy.

          Before someone blame me about why I am not using Kubernetes, AWS ECS, Mesos or anything but Swarm the answer is simple: Docker Swarm is an inexpensive and very simple thin orchestrator. Because of this it miss a lot of features that Kubernetes already implemented by default. Most of important data centers (Google, AWS, Azure, Oracle, IBM, Digital Ocean, etc) already implemented some sort of Kubernetes as a Service make it easy its adoption. However, docker swarm does not have any datacenter are implementing it and are creating some of structure ready to go as K8s has.

        • Python Filter()

          Python filter() function applies another function on a given iterable (List/String/Dictionary, etc.) to test which of its item to keep or discard. In simple words, it filters the ones that don’t pass the test and returns the rest as a filter object.

          The filter object is of the iterable type. It retains those elements which the function passed by returning True. We can also convert it to List or Tuple or other types using their factory functions.

          In this tutorial, you’ll learn how to use the filter() function with different types of sequences. Also, you can refer to the examples that we’ve added to bring clarity.

        • Sending HTML messages with Net::XMPP (Perl)

          This started with a very simple need: wanting to improve the notifications I’m receiving from various sources.

        • Excellent Free Books to Master Programming

          A quick search of the internet reveals a plethora of books for programmers. No one has time to read even a minuscule fraction of the available books.

          What you need is a curated list of programming books. Better than that. A curated list of free programming books. Free and open source books still have a cost — your time. And just because a book is free/open source doesn’t, itself, signify any great quality to the work. Hence the need for some recommendations for free books to help you learn C, C++, Java, Python, R, or whatever language takes your fancy.

          The books we’re recommending will help increase your technical skills and make you proficient in the language of your choice. And some of them even provide a little light relief on the way. Humor can be a great aid to learning.

        • Oracle Continues Working On eBPF Support For GCC 10

          Back in May we wrote about Oracle’s initial plans for introducing an eBPF back-end to GCC 10 to allow this GNU compiler to target this general purpose in-kernel virtual machine. Up to this point LLVM Clang has been the focused compiler for eBPF but those days are numbered with Oracle on Friday pushing out the newest GCC patches.

          Oracle working on eBPF support for GCC is part of the company’s efforts on improving DTrace on Linux. Friday’s “V2″ patches of GCC eBPF support have some bug fixes as well as being re-based to the latest GCC 10 development code.

        • RUST – most loved programming language ever – C++ with safety – new programming language from Mozilla for Mozilla and Safety
        • Git 2.23 Brings New Switch & Restore Sub-Commands

          Most notable for Git 2.23 are the new git switch and git restore sub-commands as experimental alternatives to git checkout. The new switch/restore sub-commands aim to separate the responsibilities of checking out into the changing of branches and the operations that change files.

        • Git v2.23.0
          The latest feature release Git v2.23.0 is now available at the
          usual places.  It is comprised of 505 non-merge commits since
          v2.22.0, contributed by 77 people, 26 of which are new faces.
          The tarballs are found at:
          The following public repositories all have a copy of the 'v2.23.0'
          tag and the 'master' branch that the tag points at:
            url = https://kernel.googlesource.com/pub/scm/git/git
            url = git://repo.or.cz/alt-git.git
            url = https://github.com/gitster/git
          New contributors whose contributions weren't in v2.22.0 are as follows.
          Welcome to the Git development community!
            Ariadne Conill, Barret Rhoden, Ben Avison, Carmine Zaccagnino,
            Daniel Ferreira, Doug Ilijev, Dr. Adam Nielsen, Jakub Wilk,
            John Lin, Mark Rushakoff, Matheus Tavares, Mazo, Andrey,
            Michael Osipov, Michael Platings, Miguel Ojeda, Mike Mueller,
            Morian Sonnet, Philipp Weißmann, Quentin Nerden, Robert Morgan,
            Simon Williams, Steven Roberts, Tigran Mkrtchyan, Varun Naik,
            Vishal Verma, and Xin Li.
          Returning contributors who helped this release are as follows.
          Thanks for your continued support.
            Ævar Arnfjörð Bjarmason, Alessandro Menti, Alexander
            Shopov, Beat Bolli, Boxuan Li, brian m. carlson, Carlo Marcelo
            Arenas Belón, Cesar Eduardo Barros, Chris Mayo, Christian
            Couder, Christopher Díaz Riveros, Denton Liu, Derrick Stolee,
            Dimitriy Ryazantcev, Edmundo Carmona Antoranz, Elijah Newren,
            Emily Shaffer, Eric Wong, Felipe Contreras, Jean-Noël Avila,
            Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin,
            Johannes Sixt, Jonathan Nieder, Jonathan Tan, Jordi Mas, Josh
            Steadmon, Junio C Hamano, Karsten Blees, Marc-André Lureau,
            Martin Ågren, Matthew DeVore, Matthias Rüster, Mike Hommey,
            Nguyễn Thái Ngọc Duy, Nickolai Belakovski, Paolo Bonzini,
            Peter Krefting, Philip Oakley, Phillip Wood, Ramsay Jones, René
            Scharfe, Rohit Ashiwal, Stephen Boyd, SZEDER Gábor, Taylor Blau,
            Thomas Gummerer, Trần Ngọc Quân, and William Chargin.
          Git 2.23 Release Notes
          Updates since v2.22
          Backward compatibility note
           * The "--base" option of "format-patch" computed the patch-ids for
             prerequisite patches in an unstable way, which has been updated to
             compute in a way that is compatible with "git patch-id --stable".
           * The "git log" command by default behaves as if the --mailmap option
             was given.
          UI, Workflows & Features
           * The "git fast-export/import" pair has been taught to handle commits
             with log messages in encoding other than UTF-8 better.
           * In recent versions of Git, per-worktree refs are exposed in
             refs/worktrees// hierarchy, which means that worktree names
             must be a valid refname component.  The code now sanitizes the names
             given to worktrees, to make sure these refs are well-formed.
           * "git merge" learned "--quit" option that cleans up the in-progress
             merge while leaving the working tree and the index still in a mess.
           * "git format-patch" learns a configuration to set the default for
             its --notes= option.
           * The code to show args with potential typo that cannot be
             interpreted as a commit-ish has been improved.
           * "git clone --recurse-submodules" learned to set up the submodules
             to ignore commit object names recorded in the superproject gitlink
             and instead use the commits that happen to be at the tip of the
             remote-tracking branches from the get-go, by passing the new
             "--remote-submodules" option.
           * The pattern "git diff/grep" use to extract funcname and words
             boundary for Matlab has been extend to cover Octave, which is more
             or less equivalent.
           * "git help git" was hard to discover (well, at least for some
           * The pattern "git diff/grep" use to extract funcname and words
             boundary for Rust has been added.
           * "git status" can be told a non-standard default value for the
             "--[no-]ahead-behind" option with a new configuration variable
           * "git fetch" and "git pull" reports when a fetch results in
             non-fast-forward updates to let the user notice unusual situation.
             The commands learned "--no-show-forced-updates" option to disable
             this safety feature.
           * Two new commands "git switch" and "git restore" are introduced to
             split "checking out a branch to work on advancing its history" and
             "checking out paths out of the index and/or a tree-ish to work on
             advancing the current history" out of the single "git checkout"
           * "git branch --list" learned to always output the detached HEAD as
             the first item (when the HEAD is detached, of course), regardless
             of the locale.
           * The conditional inclusion mechanism learned to base the choice on
             the branch the HEAD currently is on.
           * "git rev-list --objects" learned the "--no-object-names" option to
             squelch the path to the object that is used as a grouping hint for
           * A new tag.gpgSign configuration variable turns "git tag -a" into
             "git tag -s".
           * "git multi-pack-index" learned expire and repack subcommands.
           * "git blame" learned to "ignore" commits in the history, whose
             effects (as well as their presence) get ignored.
           * "git cherry-pick/revert" learned a new "--skip" action.
           * The tips of refs from the alternate object store can be used as
             starting point for reachability computation now.
           * Extra blank lines in "git status" output have been reduced.
           * The commits in a repository can be described by multiple
             commit-graph files now, which allows the commit-graph files to be
             updated incrementally.
           * "git range-diff" output has been tweaked for easier identification
             of which part of what file the patch shown is about.
          Performance, Internal Implementation, Development Support etc.
           * Update supporting parts of "git rebase" to remove code that should
             no longer be used.
           * Developer support to emulate unsatisfied prerequisites in tests to
             ensure that the remainder of the tests still succeeds when tests
             with prerequisites are skipped.
           * "git update-server-info" learned not to rewrite the file with the
             same contents.
           * The way of specifying the path to find dynamic libraries at runtime
             has been simplified.  The old default to pass -R/path/to/dir has been
             replaced with the new default to pass -Wl,-rpath,/path/to/dir,
             which is the more recent GCC uses.  Those who need to build with an
             old GCC can still use "CC_LD_DYNPATH=-R"
           * Prepare use of reachability index in topological walker that works
             on a range (A..B).
           * A new tutorial targeting specifically aspiring git-core
             developers has been added.
           * Auto-detect how to tell HP-UX aCC where to use dynamically linked
             libraries from at runtime.
           * "git mergetool" and its tests now spawn fewer subprocesses.
           * Dev support update to help tracing out tests.
           * Support to build with MSVC has been updated.
           * "git fetch" that grabs from a group of remotes learned to run the
             auto-gc only once at the very end.
           * A handful of Windows build patches have been upstreamed.
           * The code to read state files used by the sequencer machinery for
             "git status" has been made more robust against a corrupt or stale
             state files.
           * "git for-each-ref" with multiple patterns have been optimized.
           * The tree-walk API learned to pass an in-core repository
             instance throughout more codepaths.
           * When one step in multi step cherry-pick or revert is reset or
             committed, the command line prompt script failed to notice the
             current status, which has been improved.
           * Many GIT_TEST_* environment variables control various aspects of
             how our tests are run, but a few followed "non-empty is true, empty
             or unset is false" while others followed the usual "there are a few
             ways to spell true, like yes, on, etc., and also ways to spell
             false, like no, off, etc." convention.
           * Adjust the dir-iterator API and apply it to the local clone
             optimization codepath.
           * We have been trying out a few language features outside c89; the
             coding guidelines document did not talk about them and instead had
             a blanket ban against them.
           * A test helper has been introduced to optimize preparation of test
             repositories with many simple commits, and a handful of test
             scripts have been updated to use it.
          Fixes since v2.22
           * A relative pathname given to "git init --template= "
             ought to be relative to the directory "git init" gets invoked in,
             but it instead was made relative to the repository, which has been
           * "git worktree add" used to fail when another worktree connected to
             the same repository was corrupt, which has been corrected.
           * The ownership rule for the file descriptor to fast-import remote
             backend was mixed up, leading to an unrelated file descriptor getting
             closed, which has been fixed.
           * A "merge -c" instruction during "git rebase --rebase-merges" should
             give the user a chance to edit the log message, even when there is
             otherwise no need to create a new merge and replace the existing
             one (i.e. fast-forward instead), but did not.  Which has been
           * Code cleanup and futureproof.
           * More parameter validation.
           * "git update-server-info" used to leave stale packfiles in its
             output, which has been corrected.
           * The server side support for "git fetch" used to show incorrect
             value for the HEAD symbolic ref when the namespace feature is in
             use, which has been corrected.
           * "git am -i --resolved" segfaulted after trying to see a commit as
             if it were a tree, which has been corrected.
           * "git bundle verify" needs to see if prerequisite objects exist in
             the receiving repository, but the command did not check if we are
             in a repository upfront, which has been corrected.
           * "git merge --squash" is designed to update the working tree and the
             index without creating the commit, and this cannot be countermanded
             by adding the "--commit" option; the command now refuses to work
             when both options are given.
           * The data collected by fsmonitor was not properly written back to
             the on-disk index file, breaking t7519 tests occasionally, which
             has been corrected.
           * Update to Unicode 12.1 width table.
           * The command line to invoke a "git cat-file" command from inside
             "git p4" was not properly quoted to protect a caret and running a
             broken command on Windows, which has been corrected.
           * "git request-pull" learned to warn when the ref we ask them to pull
             from in the local repository and in the published repository are
           * When creating a partial clone, the object filtering criteria is
             recorded for the origin of the clone, but this incorrectly used a
             hardcoded name "origin" to name that remote; it has been corrected
             to honor the "--origin " option.
           * "git fetch" into a lazy clone forgot to fetch base objects that are
             necessary to complete delta in a thin packfile, which has been
           * The filter_data used in the list-objects-filter (which manages a
             lazily sparse clone repository) did not use the dynamic array API
             correctly---'nr' is supposed to point at one past the last element
             of the array in use.  This has been corrected.
           * The description about slashes in gitignore patterns (used to
             indicate things like "anchored to this level only" and "only
             matches directories") has been revamped.
           * The URL decoding code has been updated to avoid going past the end
             of the string while parsing %-- sequence.
           * The list of for-each like macros used by clang-format has been
           * "git branch --list" learned to show branches that are checked out
             in other worktrees connected to the same repository prefixed with
             '+', similar to the way the currently checked out branch is shown
             with '*' in front.
             (merge 6e9381469e nb/branch-show-other-worktrees-head later to maint).
           * Code restructuring during 2.20 period broke fetching tags via
             "import" based transports.
           * The commit-graph file is now part of the "files that the runtime
             may keep open file descriptors on, all of which would need to be
             closed when done with the object store", and the file descriptor to
             an existing commit-graph file now is closed before "gc" finalizes a
             new instance to replace it.
           * "git checkout -p" needs to selectively apply a patch in reverse,
             which did not work well.
           * Code clean-up to avoid signed integer wraparounds during binary search.
           * "git interpret-trailers" always treated '#' as the comment
             character, regardless of core.commentChar setting, which has been
           * "git stash show 23" used to work, but no more after getting
             rewritten in C; this regression has been corrected.
           * "git rebase --abort" used to leave refs/rewritten/ when concluding
             "git rebase -r", which has been corrected.
           * An incorrect list of options was cached after command line
             completion failed (e.g. trying to complete a command that requires
             a repository outside one), which has been corrected.
           * The code to parse scaled numbers out of configuration files has
             been made more robust and also easier to follow.
           * The codepath to compute delta islands used to spew progress output
             without giving the callers any way to squelch it, which has been
           * Protocol capabilities that go over wire should never be translated,
             but it was incorrectly marked for translation, which has been
             corrected.  The output of protocol capabilities for debugging has
             been tweaked a bit.
           * Use "Erase in Line" CSI sequence that is already used in the editor
             support to clear cruft in the progress output.
           * "git submodule foreach" did not protect command line options passed
             to the command to be run in each submodule correctly, when the
             "--recursive" option was in use.
           * The configuration variable rebase.rescheduleFailedExec should be
             effective only while running an interactive rebase and should not
             affect anything when running a non-interactive one, which was not
             the case.  This has been corrected.
           * The "git clone" documentation refers to command line options in its
             description in the short form; they have been replaced with long
             forms to make them more recognisable.
           * Generation of pack bitmaps are now disabled when .keep files exist,
             as these are mutually exclusive features.
             (merge 7328482253 ew/repack-with-bitmaps-by-default later to maint).
           * "git rm" to resolve a conflicted path leaked an internal message
             "needs merge" before actually removing the path, which was
             confusing.  This has been corrected.
           * "git stash --keep-index" did not work correctly on paths that have
             been removed, which has been fixed.
             (merge b932f6a5e8 tg/stash-keep-index-with-removed-paths later to maint).
           * Window 7 update ;-)
           * A codepath that reads from GPG for signed object verification read
             past the end of allocated buffer, which has been fixed.
           * "git clean" silently skipped a path when it cannot lstat() it; now
             it gives a warning.
           * "git push --atomic" that goes over the transport-helper (namely,
             the smart http transport) failed to prevent refs to be pushed when
             it can locally tell that one of the ref update will fail without
             having to consult the other end, which has been corrected.
           * The internal diff machinery can be made to read out of bounds while
             looking for --function-context line in a corner case, which has been
             (merge b777f3fd61 jk/xdiff-clamp-funcname-context-index later to maint).
           * Other code cleanup, docfix, build fix, etc.
             (merge fbec05c210 cc/test-oidmap later to maint).
             (merge 7a06fb038c jk/no-system-includes-in-dot-c later to maint).
             (merge 81ed2b405c cb/xdiff-no-system-includes-in-dot-c later to maint).
             (merge d61e6ce1dd sg/fsck-config-in-doc later to maint).
          Changes since v2.22.0 are as follows:
          Alessandro Menti (3):
                l10n: it.po: update the Italian translation
                l10n: it.po: update the Italian translation for v2.23.0
                l10n: it.po: update the Italian localization for v2.23.0 round 2
          Alexander Shopov (1):
                l10n: bg.po: Updated Bulgarian translation (4674t)
          Ariadne Conill (3):
                log: add warning for unspecified log.mailmap setting
                documentation: mention --no-use-mailmap and log.mailmap false setting
                tests: defang pager tests by explicitly disabling the log.mailmap warning
          Barret Rhoden (8):
                fsck: rename and touch up init_skiplist()
                Move oidset_parse_file() to oidset.c
                blame: use a helper function in blame_chunk()
                blame: add the ability to ignore commits and their changes
                blame: add config options for the output of ignored or unblamable lines
                blame: optionally track line fingerprints during fill_blame_origin()
                blame: use the fingerprint heuristic to match ignored lines
                blame: add a test to cover blame_coalesce()
          Beat Bolli (2):
                unicode: update the width tables to Unicode 12.1
                grep: print the pcre2_jit_on value
          Ben Avison (1):
                clone: add `--remote-submodules` flag
          Boxuan Li (2):
                userdiff: add Octave
                userdiff: fix grammar and style issues
          Carlo Marcelo Arenas Belón (6):
                fsmonitor: avoid signed integer overflow / infinite loop
                wrapper: avoid undefined behaviour in macOS
                trace2: correct typo in technical documentation
                xdiff: drop system includes in xutils.c
                xdiff: remove duplicate headers from xhistogram.c
                xdiff: remove duplicate headers from xpatience.c
          Carmine Zaccagnino (1):
                l10n: it.po: remove an extra space
          Cesar Eduardo Barros (1):
                mingw: embed a manifest to trick UAC into Doing The Right Thing
          Chris Mayo (1):
                send-email: update documentation of required Perl modules
          Christian Couder (7):
                t/helper: add test-oidmap.c
                t: add t0016-oidmap.sh
                oidmap: use sha1hash() instead of static hash() function
                test-hashmap: remove 'hash' command
                doc: improve usage string in MyFirstContribution
                test-oidmap: remove 'add' subcommand
                t0016: add 'remove' subcommand test
          Christopher Díaz Riveros (1):
                l10n: es: 2.23.0 round 2
          Daniel Ferreira (1):
                dir-iterator: add tests for dir-iterator API
          Denton Liu (5):
                git-format-patch.txt: document --no-notes option
                format-patch: teach format.notes config option
                config: learn the "onbranch:" includeIf condition
                config/alias.txt: change " and ' to `
                config/alias.txt: document alias accepting non-command first word
          Derrick Stolee (51):
                commit-graph: fix the_repository reference
                revision: use generation for A..B --topo-order queries
                revision: keep topo-walk free of unintersting commits
                sha1-file: split OBJECT_INFO_FOR_PREFETCH
                repack: refactor pack deletion for future use
                Docs: rearrange subcommands for multi-pack-index
                multi-pack-index: prepare for 'expire' subcommand
                midx: simplify computation of pack name lengths
                midx: refactor permutation logic and pack sorting
                multi-pack-index: implement 'expire' subcommand
                multi-pack-index: prepare 'repack' subcommand
                midx: implement midx_repack()
                multi-pack-index: test expire while adding packs
                midx: add test that 'expire' respects .keep files
                t5319-multi-pack-index.sh: test batch size zero
                commit-graph: return with errors during write
                commit-graph: collapse parameters into flags
                commit-graph: remove Future Work section
                commit-graph: create write_commit_graph_context
                commit-graph: extract fill_oids_from_packs()
                commit-graph: extract fill_oids_from_commit_hex()
                commit-graph: extract fill_oids_from_all_packs()
                commit-graph: extract count_distinct_commits()
                commit-graph: extract copy_oids_to_commits()
                commit-graph: extract write_commit_graph_file()
                commit-graph: use raw_object_store when closing
                packfile: close commit-graph in close_all_packs
                packfile: rename close_all_packs to close_object_store
                commit-graph: document commit-graph chains
                commit-graph: prepare for commit-graph chains
                commit-graph: rename commit_compare to oid_compare
                commit-graph: load commit-graph chains
                commit-graph: add base graphs chunk
                commit-graph: rearrange chunk count logic
                commit-graph: write commit-graph chains
                commit-graph: add --split option to builtin
                commit-graph: merge commit-graph chains
                commit-graph: allow cross-alternate chains
                commit-graph: expire commit-graph files
                commit-graph: create options for split files
                commit-graph: verify chains with --shallow mode
                commit-graph: clean up chains after flattened write
                commit-graph: test octopus merges with --split
                commit-graph: test --split across alternate without --split
                commit-graph: normalize commit-graph filenames
                commit-graph: test verify across alternates
                fetch: add --[no-]show-forced-updates argument
                fetch: warn about forced updates in branch listing
                pull: add --[no-]show-forced-updates passthrough
                t5319: use 'test-tool path-utils' instead of 'ls -l'
                commit-graph: fix bug around octopus merges
          Dimitriy Ryazantcev (2):
                l10n: ru.po: update Russian translation
                l10n: localizable upload progress messages
          Doug Ilijev (1):
                README: fix rendering of text in angle brackets
          Dr. Adam Nielsen (1):
                gitignore.txt: make slash-rules more readable
          Edmundo Carmona Antoranz (1):
                builtin/merge.c - cleanup of code in for-cycle that tests strategies
          Elijah Newren (6):
                t9350: fix encoding test to actually test reencoding
                fast-import: support 'encoding' commit header
                fast-export: avoid stripping encoding header if we cannot reencode
                fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8
                fast-export: do automatic reencoding of commit messages only if requested
                merge-recursive: avoid directory rename detection in recursive case
          Emily Shaffer (7):
                documentation: add tutorial for first contribution
                documentation: add anchors to MyFirstContribution
                grep: fail if call could output and name is null
                doc: hint about GIT_DEBUGGER in CodingGuidelines
                doc: add some nit fixes to MyFirstContribution
                rev-list: teach --no-object-names to enable piping
                transport-helper: enforce atomic in push_refs_with_push
          Eric Wong (3):
                update-server-info: avoid needless overwrites
                server-info: do not list unlinked packs
                repack: disable bitmaps-by-default if .keep files exist
          Felipe Contreras (5):
                t5801 (remote-helpers): cleanup refspec stuff
                t5801 (remote-helpers): add test to fetch tags
                fetch: trivial cleanup
                fetch: make the code more understandable
                fetch: fix regression with transport helpers
          Jakub Wilk (1):
                doc: don't use git.kernel.org as example gitweb URL
          Jean-Noël Avila (2):
                l10n: reformat some localized strings for v2.23.0
                l10n: fr v2.23.0 round 2
          Jeff Hostetler (13):
                cache-tree/blame: avoid reusing the DEBUG constant
                msvc: mark a variable as non-const
                msvc: do not re-declare the timespec struct
                msvc: define ftello()
                msvc: fix detect_msys_tty()
                msvc: update Makefile to allow for spaces in the compiler path
                status: add status.aheadbehind setting
                status: warn when a/b calculation takes too long
                status: ignore status.aheadbehind in porcelain formats
                msvc: support building Git using MS Visual C++
                msvc: add a compile-time flag to allow detailed heap debugging
                msvc: do not pretend to support all signals
                msvc: ignore .dll and incremental compile output
          Jeff King (57):
                cmd_{read,write}_tree: rename "unused" variable that is used
                builtin: consistently pass cmd_* prefix to parse_options
                submodule: drop unused prefix parameter from some functions
                clone: drop dest parameter from copy_alternates()
                read-cache: drop unused parameter from threaded load
                wt-status: drop unused status parameter
                mktree: drop unused length parameter
                name-rev: drop unused parameters from is_better_name()
                pack-objects: drop unused rev_info parameters
                receive-pack: drop unused "commands" from prepare_shallow_update()
                remove_all_fetch_refspecs(): drop unused "remote" parameter
                rev-list: drop unused void pointer from finish_commit()
                show-branch: drop unused parameter from show_independent()
                verify-commit: simplify parameters to run_gpg_verify()
                help_unknown_ref(): duplicate collected refnames
                help_unknown_ref(): check for refname ambiguity
                upload-pack: strip namespace from symref data
                am: simplify prompt response handling
                am: read interactive input from stdin
                am: drop tty requirement for --interactive
                am: fix --interactive HEAD tree resolution
                interpret-trailers: load default config
                verify-tag: drop signal.h include
                wt-status.h: drop stdio.h include
                describe: fix accidental oid/hash type-punning
                upload-pack: rename a "sha1" variable to "oid"
                pack-bitmap-write: convert some helpers to use object_id
                pack-objects: convert packlist_find() to use object_id
                pack-objects: convert locate_object_entry_hash() to object_id
                object: convert lookup_unknown_object() to use object_id
                object: convert lookup_object() to use object_id
                object: convert internal hash_obj() to object_id
                object: convert create_object() to use object_id
                khash: drop broken oid_map typedef
                khash: rename kh_oid_t to kh_oid_set
                delta-islands: convert island_marks khash to use oids
                pack-bitmap: convert khash_sha1 maps into kh_oid_map
                khash: drop sha1-specific map types
                khash: rename oid helper functions
                hash.h: move object_id definition from cache.h
                hashmap: convert sha1hash() to oidhash()
                delta-islands: respect progress flag
                blame: drop some unused function parameters
                object-store.h: move for_each_alternate_ref() from transport.h
                check_everything_connected: assume alternate ref tips are valid
                test-lib: introduce test_commit_bulk
                t5310: increase the number of bitmapped commits
                t3311: use test_commit_bulk
                t5702: use test_commit_bulk
                t5703: use test_commit_bulk
                t6200: use test_commit_bulk
                xdiff: clamp function context indices in post-image
                t: sort output of hashmap iteration
                t7700: clean up .keep file in bitmap-writing test
                repack: silence warnings when auto-enabled bitmaps cannot be built
                repack: simplify handling of auto-bitmaps and .keep files
                t0000: reword comments for "local" test
          Jiang Xin (3):
                l10n: git.pot: v2.23.0 round 1 (130 new, 35 removed)
                l10n: git.pot: v2.23.0 round 2 (4 new, 6 removed)
                l10n: zh_CN: for git v2.23.0 l10n round 1~2
          Johannes Schindelin (47):
                Drop unused git-rebase--am.sh
                t3400: stop referring to the scripted rebase
                .gitignore: there is no longer a built-in `git-rebase--interactive`
                sequencer: the `am` and `rebase--interactive` scripts are gone
                rebase: fold git-rebase--common into the -p backend
                bisect--helper: verify HEAD could be parsed before continuing
                fill_stat_cache_info(): prepare for an fsmonitor fix
                mark_fsmonitor_valid(): mark the index as changed if needed
                bundle verify: error out if called without an object database
                poll (mingw): allow compiling with GCC 8 and DEVELOPER=1
                kwset: allow building with GCC 8
                winansi: simplify loading the GetCurrentConsoleFontEx() function
                config: avoid calling `labs()` on too-large data type
                t3404: fix a typo
                mingw: fix a typo in the msysGit-specific section
                Mark .bat files as requiring CR/LF endings
                t0001 (mingw): do not expect a specific order of stdout/stderr
                obstack: fix compiler warning
                mingw: replace mingw_startup() hack
                msvc: fix dependencies of compat/msvc.c
                t0001: fix on case-insensitive filesystems
                msvc: avoid debug assertion windows in Debug Mode
                mingw: enable stack smashing protector
                mingw: get pw_name in UTF-8 format
                mingw: use Unicode functions explicitly
                rebase --am: ignore rebase.rescheduleFailedExec
                mingw: fix possible buffer overrun when calling `GetUserNameW()`
                diff: munmap() file contents before running external diff
                mingw: support spawning programs containing spaces in their names
                clean: show an error message when the path is too long
                rebase: fix white-space
                git: mark cmd_rebase as requiring a worktree
                Vcproj.pm: auto-generate GUIDs
                Vcproj.pm: do not configure VCWebServiceProxyGeneratorTool
                Vcproj.pm: urlencode '<' and '>' when generating VC projects
                contrib/buildsystems: ignore irrelevant files in Generators/
                contrib/buildsystems: error out on unknown option
                contrib/buildsystems: handle libiconv, too
                contrib/buildsystems: also handle -lexpat
                contrib/buildsystems: handle options starting with a slash
                contrib/buildsystems: add a backend for modern Visual Studio versions
                msvc: add a Makefile target to pre-generate the Visual Studio solution
                vcxproj: also link-or-copy builtins
                .gitignore: ignore Visual Studio's temporary/generated files
                bin-wrappers: append `.exe` to target paths if necessary
                git: avoid calling aliased builtins via their dashed form
                config: work around bug with includeif:onbranch and early config
          Johannes Sixt (5):
                userdiff: two simplifications of patterns for rust
                t7610-mergetool: do not place pipelines headed by `yes` in subshells
                t7610-mergetool: use test_cmp instead of test $(cat file) = $txt
                mergetool: dissect strings with shell variable magic instead of `expr`
                mergetool: use shell variable magic instead of `awk`
          John Lin (1):
                status: remove the empty line after hints
          Jonathan Nieder (1):
                t: decrease nesting in test_oid_to_path
          Jonathan Tan (5):
                t5616: refactor packfile replacement
                index-pack: prefetch missing REF_DELTA bases
                t5616: use correct flag to check object is missing
                t5616: cover case of client having delta base
                t5551: test usage of chunked encoding explicitly
          Jordi Mas (2):
                l10n: Update Catalan translation
                l10n: Update Catalan translation
          Josh Steadmon (1):
                trace2: correct trace2 field name documentation
          Junio C Hamano (21):
                The first batch after 2.22
                The second batch
                The third batch
                The fourth batch
                The fifth batch
                transport-helper: avoid var decl in for () loop control
                rm: resolving by removal is not a warning-worthy event
                CodingGuidelines: spell out post-C89 rules
                The sixth batch
                The seventh batch
                Flush fixes up to the third batch post 2.22.0
                Merge fixes made on the 'master' front
                Git 2.23-rc0
                test-dir-iterator: do not assume errno values
                A few more last-minute fixes
                log: flip the --mailmap default unconditionally
                log: really flip the --mailmap default
                Git 2.23-rc1
                Git 2.23-rc2
                Git 2.22.1
                Git 2.23
          Karsten Blees (2):
                gettext: always use UTF-8 on native Windows
                mingw: initialize HOME on startup
          Marc-André Lureau (1):
                userdiff: add built-in pattern for rust
          Mark Rushakoff (2):
                doc: typo: s/can not/cannot/ and s/is does/does/
                doc: fix repeated words
          Martin Ågren (3):
                ref-filter: fix memory leak in `free_array_item()`
                RelNotes/2.21.1: typofix
                RelNotes/2.23.0: fix a few typos and other minor issues
          Matheus Tavares (8):
                clone: better handle symlinked files at .git/objects/
                dir-iterator: use warning_errno when possible
                dir-iterator: refactor state machine model
                dir-iterator: add flags parameter to dir_iterator_begin
                clone: copy hidden paths at local clone
                clone: extract function from copy_or_link_directory
                clone: use dir-iterator to avoid explicit dir traversal
                clone: replace strcmp by fspathcmp
          Matthew DeVore (5):
                list-objects-filter-options: error is localizeable
                list-objects-filter: correct usage of ALLOC_GROW
                url: do not read past end of buffer
                url: do not allow %00 to represent NUL in URLs
                ref-filter: sort detached HEAD lines firstly
          Matthias Rüster (1):
                l10n: de.po: Update German translation
          Mazo, Andrey (8):
                git-p4: detect/prevent infinite loop in gitCommitByP4Change()
                git-p4: add failing test for "git-p4: match branches case insensitively if configured"
                git-p4: match branches case insensitively if configured
                git-p4: don't groom exclude path list on every commit
                git-p4: add failing test for "don't exclude other files with same prefix"
                git-p4: don't exclude other files with same prefix
                git-p4: add failing test for "git-p4: respect excluded paths when detecting branches"
                git-p4: respect excluded paths when detecting branches
          Michael Osipov (1):
                configure: Detect linking style for HP aCC on HP-UX
          Michael Platings (2):
                blame: add a fingerprint heuristic to match ignored lines
                t8014: remove unnecessary braces
          Miguel Ojeda (1):
                clang-format: use git grep to generate the ForEachMacros list
          Mike Hommey (2):
                dup() the input fd for fast-import used for remote helpers
                Use xmmap_gently instead of xmmap in use_pack
          Mike Mueller (1):
                p4 unshelve: fix "Not a valid object name HEAD0" on Windows
          Morian Sonnet (1):
                submodule foreach: fix recursion of options
          Nguyễn Thái Ngọc Duy (63):
                git-checkout.txt: spell out --no-option
                git-checkout.txt: fix one syntax line
                doc: document --overwrite-ignore
                git-checkout.txt: fix monospace typeset
                t: rename t2014-switch.sh to t2014-checkout-switch.sh
                checkout: advice how to get out of detached HEAD mode
                checkout: inform the user when removing branch state
                checkout: keep most #include sorted
                checkout: factor out some code in parse_branchname_arg()
                checkout: make "opts" in cmd_checkout() a pointer
                checkout: move 'confict_style' and 'dwim_..' to checkout_opts
                checkout: split options[] array in three pieces
                checkout: split part of it to new command 'switch'
                switch: better names for -b and -B
                switch: add --discard-changes
                switch: remove -l
                switch: stop accepting pathspec
                switch: reject "do nothing" case
                switch: only allow explicit detached HEAD
                switch: add short option for --detach
                switch: implicit dwim, use --no-guess to disable it
                switch: no worktree status unless real branch switch happens
                switch: reject if some operation is in progress
                switch: make --orphan switch to an empty tree
                t: add tests for switch
                completion: support switch
                doc: promote "git switch"
                checkout: split part of it to new command 'restore'
                restore: take tree-ish from --source option instead
                restore: make pathspec mandatory
                restore: disable overlay mode by default
                checkout: factor out worktree checkout code
                restore: add --worktree and --staged
                restore: reject invalid combinations with --staged
                restore: default to --source=HEAD when only --staged is specified
                restore: replace --force with --ignore-unmerged
                restore: support --patch
                t: add tests for restore
                completion: support restore
                user-manual.txt: prefer 'merge --abort' over 'reset --hard'
                doc: promote "git restore"
                help: move git-diff and git-reset to different groups
                Declare both git-switch and git-restore experimental
                merge: remove drop_save() in favor of remove_merge_branch_state()
                init: make --template path relative to $CWD
                worktree add: sanitize worktree names
                worktree add: be tolerant of corrupt worktrees
                merge: add --quit
                completion: do not cache if --git-completion-helper fails
                fetch: only run 'gc' once when fetching multiple remotes
                t2027: use test_must_be_empty
                switch: allow to switch in the middle of bisect
                completion: disable dwim on "git switch -d"
                fetch-pack: move capability names out of i18n strings
                fetch-pack: print all relevant supported capabilities with -v -v
                fetch-pack: print server version at the top in -v -v
                sha1-file.c: remove the_repo from read_object_with_reference()
                tree-walk.c: remove the_repo from fill_tree_descriptor()
                tree-walk.c: remove the_repo from get_tree_entry()
                tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()
                match-trees.c: remove the_repo from shift_tree*()
                Use the right 'struct repository' instead of the_repository
                t7814: do not generate same commits in different repos
          Nickolai Belakovski (3):
                ref-filter: add worktreepath atom
                branch: update output to include worktree info
                branch: add worktree info on verbose output
          Paolo Bonzini (2):
                request-pull: quote regex metacharacters in local ref
                request-pull: warn if the remote object is not the same as the local one
          Peter Krefting (1):
                l10n: sv.po: Update Swedish translation (4676t0f0u)
          Philip Oakley (16):
                git.c: show usage for accessing the git(1) help page
                Doc: git.txt: remove backticks from link and add git-scm.com/docs
                doc branch: provide examples for listing remote tracking branches
                msvc: include sigset_t definition
                msvc: define O_ACCMODE
                msvc: add pragmas for common warnings
                Vcproj.pm: list git.exe first to be startup project
                contrib/buildsystems: ignore invalidcontinue.obj
                contrib/buildsystems: fix misleading error message
                contrib/buildsystems: handle quoted spaces in filenames
                contrib/buildsystems: ignore gettext stuff
                contrib/buildsystems: redirect errors of the dry run into a log file
                contrib/buildsystems: optionally capture the dry-run in a file
                contrib/buildsystems: handle the curl library option
                .gitignore: touch up the entries regarding Visual Studio
                .mailmap: update email address of Philip Oakley
          Philipp Weißmann (1):
                l10n: de.po: Fix typo in German translation
          Phillip Wood (12):
                rebase: fix a memory leak
                rebase: warn if state directory cannot be removed
                sequencer: return errors from sequencer_remove_state()
                rebase --abort/--quit: cleanup refs/rewritten
                rebase -r: always reword merge -c
                add -p: fix checkout -p with pathological context
                show --continue/skip etc. consistently in synopsis
                sequencer: always allow tab after command name
                sequencer: factor out todo command name parsing
                status: do not report errors in sequencer/todo
                git-prompt: improve cherry-pick/revert detection
                t3420: remove progress lines before comparing output
          Quentin Nerden (2):
                docs: git-clone: refer to long form of options
                docs: git-clone: list short form of options first
          Ramsay Jones (1):
                env--helper: mark a file-local symbol as static
          René Scharfe (10):
                cleanup: fix possible overflow errors in binary search, part 2
                coccinelle: use COPY_ARRAY for copying arrays
                use COPY_ARRAY for copying arrays
                config: use unsigned_mult_overflows to check for overflows
                config: don't multiply in parse_unit_factor()
                config: simplify parsing of unit factors
                commit-graph: release strbufs after use
                dir-iterator: release strbuf after use
                test-dir-iterator: use path argument directly
                sha1-file: release strbuf after use
          Robert Morgan (1):
                gpg(docs): use correct --verify syntax
          Rohit Ashiwal (5):
                sequencer: add advice for revert
                sequencer: rename reset_for_rollback to reset_merge
                sequencer: use argv_array in reset_merge
                cherry-pick/revert: add --skip option
                cherry-pick/revert: advise using --skip
          SZEDER Gábor (12):
                t3404: modernize here doc style
                t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
                pager: add a helper function to clear the last line in the terminal
                t5551: use 'test_i18ngrep' to check translated output
                rebase: fix garbled progress display with '-x'
                progress: use term_clear_line()
                Document that 'git -C ""' works and doesn't change directory
                ci: don't update Homebrew
                ci: disable Homebrew's auto cleanup
                ci/lib.sh: update a comment about installed P4 and Git-LFS versions
                travis-ci: build with GCC 4.8 as well
                Documentation/git-fsck.txt: include fsck.* config variables
          Simon Williams (1):
                git-p4: allow unshelving of branched files
          Stephen Boyd (2):
                format-patch: inform user that patch-id generation is unstable
                format-patch: make --base patch-id output stable
          Steven Roberts (1):
                gpg-interface: do not scan past the end of buffer
          Taylor Blau (1):
                ref-filter.c: find disjoint pattern prefixes
          Thomas Gummerer (16):
                stash: fix show referencing stash index
                apply: replace marc.info link with public-inbox
                apply: only pass required data to skip_tree_prefix
                apply: only pass required data to git_header_name
                apply: only pass required data to check_header_line
                apply: only pass required data to find_name_*
                apply: only pass required data to gitdiff_* functions
                apply: make parse_git_diff_header public
                range-diff: fix function parameter indentation
                range-diff: split lines manually
                range-diff: don't remove funcname from inner diff
                range-diff: suppress line count in outer diff
                range-diff: add section header instead of diff header
                range-diff: add filename to inner diff
                range-diff: add headers to the outer hunk header
                stash: fix handling removed files with --keep-index
          Tigran Mkrtchyan (1):
                tag: add tag.gpgSign config option to force all tags be GPG-signed
          Trần Ngọc Quân (2):
                l10n: vi.po (4676t): Updated Vietnamese translation
                l10n: vi(4674t): Updated translation for Vietnamese
          Varun Naik (1):
                read-cache.c: do not die if mmap fails
          Vishal Verma (1):
                merge: refuse --commit with --squash
          William Chargin (1):
                restore: fix typo in docs
          Xin Li (1):
                clone: respect user supplied origin name when setting up partial clone
          brian m. carlson (10):
                t: add helper to convert object IDs to paths
                t1410: make hash size independent
                t1450: make hash size independent
                t5000: make hash independent
                t6030: make test work with SHA-256
                t0027: make hash size independent
                t0090: make test pass with SHA-256
                t1007: remove SHA1 prerequisites
                t1710: make hash independent
                t2203: avoid hard-coded object ID values
          Ævar Arnfjörð Bjarmason (21):
                send-email: move the read_config() function above getopts
                send-email: rename the @bcclist variable for consistency
                send-email: do defaults -> config -> getopt in that order
                tests: add a special setup where prerequisites fail
                Makefile: remove the NO_R_TO_GCC_LINKER flag
                send-email: remove cargo-culted multi-patch pattern in tests
                send-email: fix broken transferEncoding tests
                send-email: document --no-[to|cc|bcc]
                hash-object doc: stop mentioning git-cvsimport
                send-email: fix regression in sendemail.identity parsing
                Revert "test-lib: whitelist GIT_TR2_* in the environment"
                config tests: simplify include cycle test
                env--helper: new undocumented builtin wrapping git_env_*()
                config.c: refactor die_bad_number() to not call gettext() early
                t6040 test: stop using global "script" variable
                tests: make GIT_TEST_GETTEXT_POISON a boolean
                tests README: re-flow a previously changed paragraph
                tests: replace test_tristate with "git env--helper"
                tests: make GIT_TEST_FAIL_PREREQS a boolean
                tests: mark two failing tests under FAIL_PREREQS
                clone: test for our behavior on odd objects/* content
  • Leftovers

    • Health/Nutrition

      • The Biotech-Industrial Complex Gets Ready to Define What is Human

        Fabricating part-human-part-nonhuman animals, with features of both, seemed like something out of Greek mythology until the late 20th century. New research then on “geeps,” fully developed, viable mixtures of goats and sheep, showed that constructing such “chimeras” was a real possibility. Still, the warning by H.G. Wells, a century before, in his novel “The Island of Dr. Moreau,” that scientific experiments like this could go terribly awry, seemed fantastical. But this will soon change. At the end of July, it was reported that the biologist Juan Carlos Izpisúa Belmonte, director of a laboratory at the Salk Institute in California, produced fetal human-monkey chimeras. He did this in collaboration with researchers in China. And this month the Japanese government is expected to give the go-ahead to scientist Hiromitsu Nakauchi, leader of teams at the University of Tokyo and Stanford University in California, to conduct similar experiments with the goal of bringing human-pig chimeras to full term. These novel forms of life will soon be among us.

    • Defence/Aggression

      • Prevention Through Deterrence: The Strategy Shared by the El Paso Shooter and the U.S. Border Patrol

        It is a simple strategy. First: murder Latinos in the U.S. Second: news of the killings spreads south. Third: fear of violent death paralyzes those hoping to leave Mexico. Terror deters migrants.

      • Venezuela Retains Political Control After New US Coercive Measures

        In political terms the government of Venezuela had a good month of July while managing very critical economic circumstances. Reps of 120 Non Aligned Movement (NAM) countries attended their ministerial meeting in Caracas, and more than 700 delegates from dozens of leftist parties and social movements from about 32 countries were in attendance for the 25th encounter of the Sao Paulo Forum (SPF) also in Caracas a few days later. Even the quick recovery from what appeared to be another sabotage to the electric power grid that occurred in the days between the two meetings was seen as a sign of an efficient and responsive government fully in control.

      • The Unbroken Line: From Slavery to the El Paso Shooting

        This week Saira Rao, a former Congressional candidate in Colorado posted a mulit-tweet commentary on the topic of plantation tours in the American south. Rao, who is Indian-American said, “Having grown up in Virginia, I’ve visited many plantations. Every time it’s been the same. White guide humanizing slaveowners, how kind so & so was to those whom they enslaved.” She went on to say she had been on a recent tour that was completely different. On this tour the guide, who was white, told of the actual history of slavery, including the brutal oppression by slaveowners of the people they enslaved. When some of the white visitors “bristled” and questioned whether it was “really that bad”, and one of the white tourees commented, “bet they stayed in line because they were treated so well.”, the tour guide turned to her, “finger pointed up and said: ‘These white people were terrorists. Just like white people today shooting everyone.’”

      • End Endless War and Bring Peace to Korea

        July 27 marked the 66th anniversary of the signing of the Korean War armistice, which brought an end to hostilities that killed nearly five million people, including almost 40,000 U.S. service members.

      • It’s No Wonder the Military likes Violent Video Games, They Can Help Train Civilians to Become Warriors

        Still from “Operation Flashpoint.”

      • Russia and China are Growing Closer Again

        In her famous decree in 1767 Empress Catherine the Great proclaimed Russia to be a European power. She wanted Russia to be a major player in European politics. She compelled the Europeans to accept Russia as a great power as a condition for doing business. In 1815 Russia was considered an equal in the 1815 Concert of Europe. In contrast, Imperial China at that time was self-sufficient and inward looking. It basked in its own superior culture. It did not want to open up trade relations with Europe and the emperor questioned the ability of the British who were knocking on the door to “acquire the rudiments” of Chinese civilization.

    • Transparency/Investigative Reporting

      • UN Rapporteur on Torture’s Letters to UK, Ecuador, US and Sweden

        UN Special Rapporteur on Torture Nils Melzer visited Julian Assange at HMP Belmarsh on 9 May 2019, and has written letters to the governments of the United States, United Kingdom, Ecuador and Sweden to express that he is “gravely concerned” about Assange’s treatment and to urge the latter three governments to ensure Assange is not extradited to the United States.

      • Talk To The Totalitarian Hand: State Responses To The Torture Of Julian Assange, Morally Disengaging Media, And What It Means For Us All

        On Sunday June 28th 2019, Western democracy arrived at an historic crossroads. Moving forward from this day, citizens of Western nations will head down one of two paths.

        The first path leads towards genuine democracies, wherein governments are accountable to the publics they govern, and publics have a right to know what leaders do in their name. It is a path along which a free press fosters an informed electorate, capable of making informed decisions at election time. Such principles are not only fundamental prerequisites for democracy, but essential protections against government abuses of all kinds.

        The second path heads down totalitarian terrain, currently being blazed by the Trump administration, wherein governments decide who is free to speak and who is not, including who is a ‘journalist’ and who is not, by granting themselves the power to silence those who make them look bad. This pathway not only spells death to democracy and the public’s right to know, it is a recipe for state-sanctioned abuse.

        As the Science of Human Rights Coalition warns in a document titled Human Rights 101, “Unless citizens want their governments to support human rights, government leaders rarely will do so… [Human rights principles] carry no weight unless the people know them, unless the people understand them, unless the people demand that they be lived.”

      • Julian Assange faces ‘TORTURE’ if extradited to US – UN rapporteur warns

        Julian Assange will most likely be subjected to torture if he is extradited to the US, the UN special rapporteur on torture warned, revealing Assange’s current living conditions.
        The UN special rapporteur on torture, Nils Melzer, visited Assange at Belmarsh Prison in London with two medical experts in May to access the extent of the ill-treatment the WikiLeaks founder has been subjected to over the years. Following the examination, Melzer wrote letters to the American, British, Ecuadorian, and Swedish governments outlining his conclusions.

      • We Are Millions

        International solidarity photo campaign #WeAreMillions to demonstrate global support for WikiLeaks publisher Julian Assange, and to defend press freedom.

      • Media dead silent as Wikileaks insider explodes the myths around Julian Assange

        It is the journalists from The Guardian and New York Times who should be in jail, not Julian Assange, said Mark Davis last week. The veteran Australian investigative journalist, who has been intimately involved in the Wikileaks drama, has turned the Assange narrative on its head. The smears are falling away. The mainstream media, which has so ruthlessly made Julian Assange a scapegoat, is silent in response.

        Greg Bean likens the revolutionary work of Julian Assange to that of Johannes Gutenberg who invented the printing press. Government reaction, 580 years later, is similarly savage.

      • The German media and Julian Assange: Silence and slander

        Over a week after a US federal court threw out a civil case brought by the Democratic National Committee (DNC) against Julian Assange, the German media has been dominated by an embarrassed silence. On July 30, Judge John Koeltl from the US District Court for the Southern District of New York struck a major blow against the Democratic Party and bourgeois media’s claim that Assange is a “Russian agent.” He explicitly rejected the assertion that the WikiLeaks founder had “conspired with Russia.”
        When Assange was dragged out of the Ecuadorian embassy in London by British police officers and thrown into the high security Belmarsh Prison, leading newspapers, including the Bild, TAZ, and Süddeutsche Zeitung, either denounced Assange or enthused over his arrest. Now, with the false allegations against Assange having been disproved in a court of law, hardly any German-speaking newspaper has found the time to report on this important development.
        The only article that appears in a Google search, along with the WSWS reports, is a piece from July 31, just one day after the ruling, published in Spiegel Online entitled, “US ruling: WikiLeaks was allowed to publish hacked emails from Democrats.” The article makes a mockery of objective reporting. It typifies the bourgeois media’s role as a propaganda arm for the intelligence agencies and federal government.

      • Jennifer Robinson, a leading member of Assange’s legal team, speaks with the WSWS

        Jennifer Robinson: The decision in the DNC suit on our “motion to dismiss,” which was successful, is incredibly important as a principled free speech position but also for WikiLeaks.
        It confirmed longstanding principles that journalists can receive information that has been released in breach of the media law, or has been stolen, and publish that information. This principle is protected under the [US Constitution’s] First Amendment for all journalists and for all media organisations.
        It is also incredibly important that the judge found that WikiLeaks benefits from the First Amendment equally, just like any other media organisation. He also raised concern that if the DNC’s suit were successful against WikiLeaks, it could be used against all other media organisations and journalists.
        The recognition that we can be protected by the First Amendment is critical, particularly in the context of the statement made by Mike Pompeo—now US secretary of state—when he was CIA director, that WikiLeaks is a “hostile non-state intelligence agency” and Julian Assange does not benefit from the First Amendment. We now know Assange absolutely does benefit from the First Amendment and this will be important ongoing for WikiLeaks.

      • Assange’s Persecution Rides on Feeble Lies

        Though most are unaware of the details, such hostile pursuit has concerned more than a few countries and institutions. UN Special Rapporteur on Torture, Nils Melzer, recently stated that in “20 years of work with victims of war, violence and political persecution, I have never seen a group of democratic states ganging up to deliberately isolate, demonize and abuse a single individual for such a long time.”

        This follows upon the UN Working Group on Arbitrary Detention’s finding in 2015, reiterated in 2018, that Assange had been continuously arbitrarily detained in one from or another since 2010.


        In this primary and neglected context, the account that the US has given of itself has been a spectacular self-incrimination. The two sentences quoted above happen to assert the main premise of Assange and appointees from the UN who saw fit to defend him. For it is plainly implied in the quote that staying in the embassy was the logical means he appropriated to avoid negative repercussions intentionally prepared for him by the US in response his publishing.

        The US is accordingly reduced to pretending that, as claimed above, the charges are internationally and nationally lawful. There is nothing to back this up other than legal paragraphs that have been long shunned, relentless obfuscation and a bully’s glare. The charges have been nigh universally denounced as an unprecedented threat to democracy which contradicts the letter and spirit of the US first amendment.

        The response to Melzer from the US accordingly backfires and largely because its position from the outset has been foreign to reason. Its officials were obliged to reply to Melzer and apparently felt they managed to do this without committing to an abortive position. If so, they were deeply mistaken for reasons above, and also below.

    • Environment

      • Neoliberalism and Environmental Calamity

        Current conditions represent a political emergency of sorts, meaning that ways of solving environmental and social problems will either be worked out or circumstances, led by the environment, will assume a life of their own. Given that these conditions are the result of historical processes that were decades and centuries in the making, understanding how we got here is crucial to resolving them.

      • Review: Bruno Latour’s Down to Earth: Politics in the New Climatic Regime

        Some of us are old enough to remember the bomb shelter panic of the 1950’s. If you build a bomb shelter in your back yard and a warning signal comes that you need to hurry into the space, what do you do if your neighbors try to force themselves inside with you? Your shelter has only enough provisions for you and your family. Do you shoot your neighbors who try to get into the shelter that you have spent a small fortune building, presumably on your own property? What’s the moral quandary here?

      • Norway to stop €30 million Amazon protection subsidy, saying Brazil ‘broke agreement’ on deforestation

        Days after Germany also withdrew money promised for forest protection in Brazil, Norway said the South American nation “broke the agreement” with contributors to the Amazon Fund.

        Norway was the single largest donor, giving almost 830 million euros to the fund since its creation 11 years ago.

      • Russia’s Federal Weather Service says ‘meteorological situation’ dispersed radioactive gases around Arkhangelsk

        The burst of gamma radiation detected in the city of Severodvinsk after a supposed rocket explosion on August 8 could be related to a cloud of radioactive noble gases that passed through the area, according to Russia’s Federal Weather Service.

      • Wildlife/Nature

        • Wildlife corridors can mean life or death

          Connectivity is also essential for wildlife. For most wildlife, though, these pathways are becoming more and more impeded because of manmade structures — from sprawling suburbs on our coasts to roads and highways in the desert southwest. For wildlife, a lack of connectivity can mean life or death. It can mean starvation, traversing high-traffic roadways, or isolation and limited access to mating partners. Ultimately, a loss of connectivity can mean death or extinction for populations of wildlife.


          Meet the man on a mission to take down Cambodia’s timber tycoons and expose a rampant illegal cross-border trade.

        • Russian ecologist points to illegal dump as likely source of seagulls that forced Moscow plane to land in cornfield

          On August 15, two Ural Airlines pilots landed their Airbus A321 liner in a cornfield when both of its engines failed shortly after takeoff. The airplane’s crew indicated that birds fell into both engines during a collision with a flock of seagulls. Following the emergency landing, multiple sources argued that the birds may have been attracted to the area surrounding the airport by an illegal garbage dump: Waste has been accumulating for years near Lake Glushitsa less than two kilometers (1.2 miles) from the Zhukovsky airport, where the plane took off.

    • Finance

      • How a Video Gambling Company Helped Bankroll Local Politicians

        If you don’t know by now, Illinois Gov. J.B. Pritzker signed a massive gambling expansion bill in June that paves the way for six new casinos to be constructed across the state.

        One of those casinos is to be built in Waukegan, where my colleague Jason Grotto reported a doozy of a story last week. Here’s some of what his investigation revealed:

      • The NYT Gets the Story on Automation and Inequality Completely Wrong

        I am a big fan of expanding the welfare state but I am also a big fan of reality-based analysis. For this reason, it’s hard not to be upset over yet another column telling us that the robots are taking all the jobs and that this will lead to massive inequality.

      • To Defeat Fascism, We Must Dismantle Capitalism

        Henry A. Giroux’s book “The Terror of the Unforeseen” analyzes the conditions that have enabled and led to Donald Trump’s rule and the consequences of that rule, which have ushered in an authoritarian version of capitalism. Giroux provides a realistic analysis that holds out the hope that, through collective efforts, change is possible and democracy can be saved.

        There is an intellectual debate on whether or not the power wielded by the likes of Trump, Nigel Farage, Marine Le Pen, Viktor Orbán, Matteo Salvini, Geert Wilders, Heinz-Christian Strache, or Jörg Meuthen and Alexander Gauland constitutes fascism. Some analysts — such as Noam Chomsky, Neil Faulkner, John Bellamy Foster, Robert Kagan, Gáspar Miklós Tamás, and Enzo Traverso — speak of creeping fascism, new fascism, or post-fascism. They find both continuities and discontinuities between the classical forms of fascism in Italy and Germany and these contemporary right-wing politicians. Representatives of this position hold that Trump is not Hitler, but stress certain similarities between the two.

        Others — including Wendy Brown, Nancy Fraser, Roger Griffin, Chantal Mouffe, Cas Mudde, Robert Paxton, David Renton, and Slavoj Žižek — argue that it is an exaggeration to characterize Trump and other contemporary demagogues as fascists. They prefer terms such as the new authoritarianism, libertarian authoritarianism, reactionary neoliberalism, right-wing populism, the populist radical right, or demagoguery on behalf of oligarchy. They see Trump as dangerous, but stress that his authoritarianism is quite different from classical fascism and Hitler.

      • Bernie Sanders Leads 2020 Democratic Field Among College Students: Poll

        A Chegg-College Pulse poll released Thursday showed Sen. Bernie Sanders leading the 2020 Democratic presidential field among college students, a voting bloc that could play a major role in the upcoming election.

        The survey found that 29 percent of likely Democratic voters attending college or university chose Sanders as their top pick for the presidential nomination. Sen. Elizabeth Warren (D-Mass.) took second place with 22 percent support.

        The rest of the 2020 Democratic presidential pack trailed far behind Sanders and Warren, with former Vice President Joe Biden, who leads most national polls, placed a distant third at 10 percent.

    • AstroTurf/Lobbying/Politics

      • Hong Kong protesters are calling for massive ATM withdrawals in an economic warning to China

        The Hong Kong student who started this latest protest, which activists have named the Cashout HKD to USD, told INSIDER that as of Thursday, over 70 million Hong Kong dollars (nearly $9 million) had been withdrawn, both in Hong Kong currency and in US currency; the claim couldn’t be independently verified. More than 400 protesters have recorded their withdrawals, and a Telegram channel for the protest has over 1,500 members.

      • How Beijing wages its media assault on the credibility of the Hong Kong protesters

        Chinese state-run news outlets promptly posted edited video of the attack, labelling the protesters as “rioters” who “tortured and humiliated” the man.

        One outlet called the demonstrators “street thugs who want Hong Kong to ‘go to hell.’”

        While images of the demonstrations have transfixed the world, they’ve also become a key tool in an information war that continues to intensify.

      • Amazon Uses a Twitter Army of Employees to Fight Criticism of Warehouses

        The FC ambassadors were introduced in 2018 and first attracted attention about a year ago. At the time, Krystal Hu, a reporter for Yahoo Finance, said that the company told her there were 14 FC ambassadors and that they were paid to patrol social media full time. They popped up again in February, when various accounts began spouting anti-union talking points (“unions are thieves” that make it difficult for employers to “discipline, terminate or promote”).

        On Thursday, Amazon would not answer questions about how many ambassadors it employs or how exactly their jobs work.

      • Welcome to the Greenbrier, the Governor-Owned Luxury Resort Filled With Conflicts of Interest

        On a sunny Monday afternoon two and a half years ago, Jim Justice, the wealthiest man in West Virginia, took the oath of office as the state’s 36th governor.

        Standing at the base of the Capitol steps in Charleston, he assured his fellow West Virginians that his vast business empire of coal mines, vacation resorts and agricultural companies — many of them regulated by the state agencies he would soon control — posed no conflicts with his new job.

      • Candidates Need a Moral Vision

        “Yes we can,” went Barack Obama’s presidential campaign slogan, inspired by labor rights activist Dolores Huerta.

      • MSNBC and the Next Election: Racism is the Issue (and Don’t Talk about Socialism)

        After Donald Trump unexpectedly won the 2016 election, the Democrats and the mainstream media they shape sought to explain the disaster as a result of Russian meddling. Such meddling, which had been alleged for months, was documented in an (unconvincing) intelligence report prepared by the lame-duck Obama administration, made public Jan. 6, 2017; Congress followed up, demanding the appointment of a special prosecutor to investigate Russian interference and possible collusion between any Russians and the Trump team. After two years the report concluded that there was no evidence of collusion, causing many downcast looks among news anchors reporting the bad news. Suddenly Trump’s impeachment—for which the MSNBC and CNN anchors openly cheer—looked less likely.

      • Have They No Decency?

        Before lightening and the Electoral College struck, making Donald Trump president, he famously boasted that he could walk out onto Fifth Avenue, shoot somebody, and become even more popular than he already was with his base.

      • DCCC Is Out of Step With Democratic Values

        The latest shakeup over a lack of diversity in senior leadership at the Democratic Congressional Campaign Committee shows that House Democrats’ campaign arm remains out of touch with the values of its grassroots Democratic voters.

        This first became evident in March when DCCC Chair Cheri Bustos announced a “blacklist” policy, which sought to stifle the people-powered democratic process by requiring political consultants to sign a loyalty pledge to incumbent Democrats. Recent comments from black and Latino lawmakers about a lack of diversity in senior leadership, as well as complaints about a tone-deaf approach to issues relating to race, show that the DCCC continues to refuse to evolve and change. Instead, there seems to be an implicit policy of silencing new voices and sidelining historically marginalized communities in order to protect the power of the status quo.

        At a time when President Trump is openly voicing racist rhetoric and seeking to divide us, the Democratic Party has to be a model of the America we are proud to be—an America that welcomes new voices, embraces diversity and opens the doors of power wide.

        This spring, Our Revolution met with Rep. Bustos after holding rallies outside her office and delivering more than 30,000 petitions opposing the blacklist policy. After promising to follow up with us, Rep. Bustos has remained silent—and the blacklist policy has remained in place. The recent staff shakeup is another symptom of the same problem.

        Our nation is a diverse melting pot of hard-working Americans. Sadly, not all politicians are doing their best to serve all their constituents. Not all Democrats are created equally, and some are not aligned to the principles and morals of their congressional district.

    • Censorship/Free Speech

      • Bernie Sanders Fires Back at Netanyahu and Israel

        Sen. Bernie Sanders told MSNBC Thursday night that perhaps Israel should not be receiving billions of dollars in U.S. military aid after the right-wing government of Prime Minister Benjamin Netanyahu barred Reps. Ilhan Omar and Rashida Tlaib from entering the country.

        “I wish I could tell you…that I am shocked. I am not,” Sanders, a 2020 Democratic presidential candidate, said of President Donald Trump’s support for Israel’s decision. “We have a president who, tragically, is a racist, is a xenophobe, and who is a religious bigot.”

      • Israel Fears a Visit by Ilhan Omar and Rashida Tlaib

        On July 16, Somali-American Minnesota Representative Ilhan Omar, together with Representatives John Lewis and Palestinian-American Rashida Tlaib, introduced bill HR-496 which is meant to affirm Americans’ “right to participate in boycotts in pursuit of civil and human rights at home and abroad, as protected by the First Amendment to the Constitution”. 

      • Twitter is Trying to Erase the Past

        I recently got an e-mail saying I had violated Twitter’s rules for hateful conduct. I immediately thought my account password had been compromised, or that this was a phishing attempt. I rarely post to Twitter anymore, except to promote this website or other personal projects. The e-mail was real though, and Twitter locked my account for a Tweet I made nearly a decade ago!


        If Twitter is scanning old tweets and attempting to erase them, they’re also erasing a part of their history and the history of their users. They’re trying to wash over a troubled situation within our current context by rewriting the past. It’s just another indication that we should stop using third party platforms where we are the product and don’t have control over the content we generate.

    • Privacy/Surveillance

      • Microsoft bucks trend, maintains contractor reviews of voice recording

        Last week, a whistleblower went to the press to reveal that Microsoft relied on employees and contractors to review recordings made by its Skype Translator call platform and its Cortana voice assistant. The company had documentation informing users that audio recorded by its services might be reviewed to improve systems for language processing, but there was no explicit mention that the reviews would be done by humans.

      • DeVos-Linked Adoption Agency Exposed Highly Sensitive Children’s Medical Data

        The exposed data was stored on PDFs openly available on its website. Some PDFs were called “Children Medical Examination Records” that included the names, dates of birth, the hospital or orphanage they were based in, and extremely sensitive medical information.

        This includes a child’s HIV status, number of teeth, lab test results, and whether the child has any physical deformities (“Spine: no deformity” “Liver: not palpable under the rib; “Anus: no abnormal findings” are examples of the data contained on the form). Other information exposed includes a “Growth Report” that explains the child’s background and “motor skills and intellectual development.” One notes that a child arrived “wearing yellow baby clothes and she was placed in a paper box” and that, between the age of 10 and 12 months, “she knows her name, can get biscuits, and feeds herself.”

      • Danish Round-Up: [Attackers] obtain data of hundreds of Tivoli visitors

        “The perpetrators [cracked] into Tivoli’s digital universe, ‘My Tivoli’,” explained Jonas Buhl Gregersen, Tivoli’s director of IT and business development, to BT.

    • Freedom of Information/Freedom of the Press

      • Bernie Sanders Is As Frustrated as Ever With Corporate Media

        That may have sounded conspiratorial to some of the senator’s critics. But, the candidate noted, “There was, in the middle of that debate—I mean, this is how absurd it is—a commercial coming from the health care industry echoing exactly what the moderator spoke about.”

      • The global gag on free speech is tightening

        Last year 25 governments imposed internet blackouts. Choking off connectivity infuriates people and kneecaps economies. Yet autocrats think it worthwhile, usually to stop information from circulating during a crisis.

    • Civil Rights/Policing

      • Britain’s ‘central & widespread’ role in CIA torture program exposed in damning report

        Britain played a “central” role in the rendition, secret detention, and torture of prisoners by the CIA in the “War on Terror,” a journalistic inquiry claims.
        Compiled by the Rendition Project and the Bureau of Investigative Journalism, the 400-page paper, entitled ‘CIA Torture Unredacted,’ dates back to July but has gone largely unreported since then.

      • A Year After an Inmate Was Choked to Death in Jail, a Murder Charge but Few Details

        Prosecutors in Fresno County have charged a man with murdering a 19-year-old jail inmate more than a year ago, newly filed court records show, but detectives say they’re still trying to determine if there are additional suspects.

        Lorenzo Herrera was choked to death in the Fresno County Main Jail on March 24, 2018.

      • Race is a Social Construct, But It Still Matters

        When I teach about race in sociology classes, I often begin by asking students how and when the idea of race came about.

      • “Dirtbag,” “Savages,” “Subhuman”: A Border Agent’s Hateful Career and the Crime That Finally Ended It

        It was late November 2017, and Matthew Bowen, a veteran Border Patrol agent, was seething. A fellow Border Patrol agent in Texas had just been found dead in the field, and Bowen was certain someone who’d been crossing the border illegally was responsible for murdering him.

        “Snuffed out by some dirtbag,” Bowen, stationed in Nogales, Arizona, said in a text later obtained by federal authorities.

      • Tit For Tat: Baltimore Takes Another Hit, This Time From Uruguay

        I imagine that however a Baltimorean feels when their city is attacked by the barbarian in the White House it has to be worse when the city is slighted by Uruguay, one of the world’s most progressive countries. On August 5th the Uruguayan Ministry of Foreign Affairs issued a warning to Uruguayans traveling to the United States to take maximum precautions in the face of indiscriminate violence emanating from hate crimes including those based on racism. The warning stated that this violence had cost the lives of more than 250 people in the first seven months of the year. The warning advises avoiding Detroit, Baltimore, and Albuquerque, citing Ceoworld Magazine 2019 for the claim that these are among the 20 most dangerous cities in the world. I have not found this ranking on the Ceoworld website. No American city makes Ceoworld’s list of the 10 most dangerous cities of the world, but there are rankings on the Internet listing Baltimore (in addition to other American cities) as one of the world’s most dangerous cities.

      • Is America Crazy?

        The United States witnessed three mass shootings in one week recently in California, Texas, and Ohio. There have been more than 250 mass shootings so far in 2019, more than one a day. This year in America, more than 33,000 shooting incidents have killed more than 8,700 people.

      • Who Inflicts the Most Gun Violence in America? The U.S. Government and Its Police Forces

        Yes, gun violence is a problem in America, although violent crime generally remains at an all-time low.

      • Las Vegas Man Arrested in Plots Against Jews Was Said to Be Affiliated With Atomwaffen Division

        For two years, the basic description had appeared in reporting by ProPublica and Frontline: Atomwaffen Division is a neo-Nazi organization eager for a race war and committed to terrorist attacks against Jews, immigrants and other targets in the U.S. — power grids, nuclear facilities — that would foment fear.

        The description ran in stories describing how the group had been connected to five murders in recent years, including one involving a gay, Jewish college student in California. It appeared in a Frontline film raising questions about the federal response to domestic terrorism threats just weeks after 11 Jewish worshipers were allegedly killed by a racist gunman in Pittsburgh.

      • ICE: You’re Not Welcome in the South

        Last week, I dropped my kids off for their first day of school in our small Alabama town of not even 7,000 people. The kids were excited, but I was a nervous wreck.

      • Harare protestors brave riot Police to demand ‘CHANGE!’ – still with no clue ‘WHAT CHANGES!’ it’s futile

        The nation heaved a huge sigh of relief when it was reported that the Zanu-PF regime had given the green light for the MDC demos to go ahead.

      • Deepika Padukone opens up about the use of prosthetics to play acid attack survivour in Chhapaak
      • Our Lords, Their Flies

        As a college student, after reading Lord of the Flies for the second time (I’d first read it as a young teenager), I asked the professor in my philosophy of literature class if he thought humans were inherently evil. He responded by asking if I was pursued by daemons. Taken aback, I replied that I didn’t know anything about “daemons,” much less if I were being pursued by them, but I did know that Golding’s book struck a powerful chord and I suspected then that it would, along with possible daemons, pursue me for the rest of my life.

      • ‘Iran tortured me into confessing to be an Israeli spy’

        A once-successful Iranian businessman says he is lucky to be alive after being tortured by the Iranian authorities into a false confession of spying for Israel and assassinating Iranian nuclear scientists – a crime punishable by hanging.
        The story of Mazyar Ebrahimi, who now lives abroad, also sheds a light on a bitter rivalry between Iran’s intelligence agencies, as BBC Persian’s Jiyar Gol reports.
        I met Mazyar Ebrahimi in Frankfurt in July, several months after he called me out of the blue from Germany. I was surprised, as I had assumed he had been executed long ago.

      • Red State Rip Off: Cutting Worker Pay by $1.5 Billion

        Last month, the House voted to incrementally raise the minimum wage to $15 an hour.

      • The Side of Trump We Rarely See

        It is a side of the Trump we have never seen nor, indeed believed he had. It was remarkable not only for its subtlety but for the person at whom it was directed. It goes to show that wonders in this administration never cease.

        I refer to the Trump’s attacks on Baltimore. The language the trump used was vituperative and it threw everyone completely off the track, even Maryland Rep. Elijah Cummings. It all started on July 27th and it was cleverly done through a series of tweets.

        Tweets, as followers of such things know, are series of comments that are limited in length to 280 characters. They are admirably suited to the trump since his knowledge of virtually anything that comes to his attention can always be demonstrated in 280 characters and, frequently, even fewer than that

        The tweet is useful to the Trump not only to announce his major policy initiatives. It is equally useful in enabling him to concisely, but without sacrificing crudity, attack the hundreds of people he dislikes. On the rare occasions when 280 characters, some of them in upper case for added emphasis, are not up to the task the Trump has assigned them, he overcomes the hurdle presented by sending out multiple tweets thus enabling him to adequately vent his feelings. Occasionally he can use tweets to throw his pursuers off his scent and that is what he brilliantly did beginning on July 27, 2019.

      • William J. Astore on Torture USA

        Five years ago, President Obama infamously said, “We tortured some folks.” And no one was held accountable; indeed, as Tom Tomorrow put it in a cartoon from that time, “The only government official who went to jail for it [John Kiriakou] was the whistleblower who exposed it.” In the cartoon, Tom Tomorrow has Obama say that, “Still, we must accept responsibility! Which is to say: we must briefly acknowledge the unpleasantness in the upcoming torture report, and then quickly move on.”

        And that’s exactly what America did: quickly move on, without consequences (except for Kiriakou). And then candidates like Donald Trump emerged, boasting of how much he’d increase the use of torture. And thus Trump as president could pick Gina Haspel, implicated in the torture regime, as the new head of the CIA. Well done, President Obama.

    • Monopolies

      • Embrace Fans: How One Mystery Modder Has Kept System Shock 2 Playable

        There’s this weird thing in the video game industry in terms of how the industry reacts to fans doing things with their games. On one side, you have publishers that strictly control what fans can do with their games, even going the legal threat route at times. Other publishers are more permissive with game IP and are then shocked at what fans manage to do with their games. Still other publishers proactively create tools within their games to allow fans to create wildly cool productions within the games and then celebrate those fans. And, of course, there are fans manipulating properties such as original soundtracks to create new music as an homage to the original score.

        There is a wide spectrum of what fans want to do to express their fandom with video games, in other words, and also a spectrum of ways publishers respond to these dedicated fans. The original Doom, for instance, was created nearly three decades ago, but an active modding community has kept the game relevant by building on that original work. In the case of System Shock 2, however, it turns out the game originally released in 1999 is essentially only playable on modern machines due to the dedication of one single mystery fan.

      • New York City Bar Opinion on Receipt of Inadvertently Sent Documents

        In Opinion 2019-3 (May 16, 2019), the Association of the Bar of the City of New York, gave guidance on an issue on which most state ethics rules leave lawyers hanging. Under Model Rule 4.4(b), and similar state rules including the USPTO rules, a lawyer who receives a document related to the representation of a client, and knows or should know it was inadvertently sent, must notify the sender and then… the rule stops.

        Obviously, the other side will (if the document has any significance) ask for the lawyer to return or delete it and, just as obviously, if the document has any significance the lawyer’s client will want the lawyer to not return it and, if it had been privileged, to argue it no longer is because it was inadvertently sent without due care.

      • Patents and Software Patents

        • Hot summer for Ninth Circuit motions panel: Qualcomm’s motion to stay enforcement of FTC remedies still pending after more than 3 weeks

          Imagine you’re a judge on the United States Court of Appeals for the Ninth Circuit, and from time to time you serve on the Motions Panel that changes every month. Motions to stay the enforcement of injunctions are the most critical ones to resolve, short of anything related to executions, but there aren’t any pending in the Ninth Circuit.

          Most motions, including those motions to stay enforcement, involve relatively narrow issues. But from time to time, a “monster” motion comes along. That’s what happened when Qualcomm, understandably though I mostly disagree with them on substance, sought a stay of the enforcement of the injunction the FTC had obtained from Judge Lucy H. Koh of the United States District Court for the Northern District of California.


          The decision will be interesting, but whatever the outcome may be, let’s not overrate it. An appeals court may well stay enforcement, especially for the duration of an expedited appeal, but nevertheless affirm, in whole or in large parts, when the focus is entirely on the merits, or it may deny a stay but identify serious issues later on.

          The time that it’s taking them to decide can’t be reliably interpreted. The only safe assumption is that they are kind of overwhelmed. It might mean that they’re working on a rationale that will enable them to grant the motion without taking such a strong position that would suggest the merits panel could decide only one way. It could also mean that they’ve concluded the motion should be denied, but in light of governmental brouhaha about the end of the world being nigh, the appeals court wants to write up a thorough denial. Qualcomm might internally–and reasonably–view the time that this is taking as a sign that is more likely than not to be positive, especially since I guess they feared a swift denial of their motion. Contrary to Qualcomm’s representations, it’s not like anything dramatic would happen to Qualcomm’s business in the very short term, given that any license (re)negotiations would take a lot longer at any rate.

      • Copyrights

        • Cloudflare Flags Copyright Lawsuits as Potential Liabilities Ahead of IPO

          Cloudflare, the CDN company currently serving around 20 million Internet domains, sites, applications and APIs, has filed to go public. In its statement, the company warns that the activities of some of its customers, which include pirate sites, could expose it to significant copyright infringement liabilities in the future.

        • YouTube Forbids Monetizing Short Music Clips Through Manual Content-ID Claims

          YouTube has announced that it will update its manual Content-ID claiming policy. Starting next month, rightsholders are forbidden from manually claiming videos that use short or unintentional music fragments. Those who repeatedly violate this new policy will have their manual claiming rights revoked. With the new policy, YouTube hopes to improve fairness in the creator ecosystem.

Computer-Generated Patent Applications Show That Patents and Innovations Are Very Different Things

Posted in Law, Patents at 10:00 am by Dr. Roy Schestowitz

Also, this demonstrates that computers aren’t “inventors”; entirely different concepts.


Summary: The ‘cheapening’ of the concept of ‘inventor’ (or ‘invention’) undermines the whole foundation/basis of the patent system and deep inside patent law firms know it

SOMETIMES it helps to see even the patent microcosm admitting the obvious truth. A glimmer of honesty is a rare sight inside that microcosm. But they now realise that the legitimacy of the whole system they make a living from is at risk.

Consider "HEY HI" (AI) patents; there are several aspects to it, one of which being computer-generated patents and another being patents on computer code that's said to be "HEY HI" (we wrote about it this morning). We’ve dealt with both of these (there are more) and Barry Eagar left this comment, to be published (authorised by a moderator) this morning:

The rationale behind patent systems is the “quid pro quo”. That is, the concept of encouraging innovation by rewarding innovators with a monopoly. How will an AI module be encouraged to do anything? It seems to me that Dr Thaler has been encouraged by the promise of a monopoly over the production of “inventions”. If the AI module is named as the “inventor”, then the quid pro quo principle is disturbed. It matters not that the AI module is named as a co-inventor. Co-inventorship implies a sharing of the promise of the reward.

It can’t be denied that the AI module has carried out an act of “invention” according to the ordinary English language definition. However, “invention” must mean something different in the context of a patent. It is for that reason that “invention” is defined in some way in most patent legislation. It is codified in Europe and defined more generically in the U.S. Either way, the definition together with the other statutory obligations that must be met for the grant of a patent have been formulated to answer the question: “Should the state reward the inventor(s) with a patent monopoly for the contribution to the technical field?” Those advocating for the allocation of the epithet “inventor” to an AI module in the context of a patent are failing to consider the raison d’etre of the patent system. How do we reward an AI module?

That brings us to a much broader question. When and how do we grant personality rights to an AI module? It may be inevitable that we must. Perhaps only then can an AI module be named as an “Inventor” in the context of a patent system.

This was likely said by this Australian attorney, who claims that his practice also covers “software”. When will law firms quit conflating innovations with patents? Eagar speaks of “patent monopoly”, which is quite accurate. But when he speaks of “the concept of encouraging innovation by rewarding innovators with a monopoly” he is not correct; it’s actually encouragement of publication (as opposed to the branch of trade secrets), not “innovation”. The arguments in the copyright domain typically mention “creativity”. But that too is a misnomer. We need to go back to basics and appreciate patent quality, not the number of patents.

Concerns About IBM’s Commitment to OpenSource.com After the Fall of Linux.com and Linux Journal

Posted in IBM, Red Hat at 8:55 am by Dr. Roy Schestowitz

Long history to that domain, from OSI control (not today’s OSI) to Red Hat alias and now IBM’s


Summary: The Web site OpenSource.com is over two decades old; in its current form it’s about a decade old and it contains plenty of good articles, but will IBM think so too and, if so, will investment in the site carry on?

PUBLISHING is tough. It’s especially tough when writers expect a salary. Where does money come from? It varies; there are options. A publisher we often link to (because it writes about a dozen articles per day), Common Dreams, apparently has rich donors pumping a million bucks into it every year, but they want something in return (maybe ideological). Maybe the donors are the readers alone. What about GNU/Linux? In its true and pure form nobody ‘owns’ it; it’s not proprietary.

Linux Journal's sad demise just months after Linux.com's demise (the site might go offline permanently within days or weeks due to lack of funds) is very troubling. We already see the effect; there’s a lot less news about GNU/Linux. Here in Techrights, e.g. for the purpose of daily links, we need to dig deeper and deeper in order to find links and picks. There’s an information vacuum and it’s being exploited by few malicious corporations, e.g. for googlebombing. They hijack the narrative and misinform the public.

“IBM has just confirmed nearly 1,000 layoffs in the UK in spite of financial resurgence in that market.”For a variety of reasons we’ve long been sceptical of IBM’s intentions. Will it keep Red Hat’s news sites going (there are several)? And if so, which ones? If there’s no “business model”, then IBM will likely shut it down. IBM has just confirmed nearly 1,000 layoffs in the UK in spite of financial resurgence in that market. That’s just typical IBM. If a site doesn’t help IBM sales, it probably won’t last long. If a member of staff isn’t profitable to IBM, he or she will be handed a pink slip. Last we checked, OpenSource.com had outsourced the technical/back end aspect to Acquia; it is a large Drupal site and it won’t be cheap to maintain it, let alone pay writers to add new articles to it. Without new articles a site becomes merely an archive. It’s less attractive because it’s eternally outdated.

Rikki Endsley, the person who edited OpenSource.com for a long time, retweeted Linux Journal and added: “Well this is sad news. Sending hugs out to the Linux Journal folks.” Jim Hall, who wrote for Linux Journal and sometimes writes for OpenSource.com, wrote about it last week (at OpenSource.com).

Endsley’s relocation or reassignment is curious.

Months ago we noticed that she had stopped writing for OpenSource.com. We asked questions like, did she leave (jump) or was she pushed? Did IBM play a role in this? Nobody from Red Hat is willing to say anything. Some of them saw these questions. Some might even have answers.

“Nobody from Red Hat is willing to say anything.”Her profile says: “Rikki Endsley is the Developer Program managing editor at Red Hat, and a former community architect and editor for Opensource.com.” Twitter says “Editor ✒️ @RHdevelopers”.

She’s no longer listed here in “Meet the team” (of OpenSource.com) however. “Jen Wike Huger is the managing editor for Opensource.com,” it says and many of the articles are nowadays technical posts from Red Hat’s own staff. It’s not what it used to be. Lots of posts are promotion of Red Hat products like Ansible.

It seems clear that Endsley is still with Red Hat, but we wonder what goes on at Red Hat; she still tweets, but there are no posts in the site she edited (since the middle of February). Is IBM committed to it? In October 2018 IBM made its plans known (for Red Hat), but IBM isn’t a publisher and it has lots of financial issues.

“Is IBM committed to it? In October 2018 IBM made its plans known (for Red Hat), but IBM isn’t a publisher and it has lots of financial issues.”Endsley probably knows what’s going on. We contacted her earlier today and have not heard back. The Red Hat developers site she does participate in, possible alongside other Red Hat roles, but the main question is, what is going on at OpenSource.com? They must have published about 10,000 articles, some of them very long and detailed. My wife has read OpenSource.com for about 6 years, almost every day. She says the quality of the articles has vastly decreased and she hardly finds anything of interest there anymore.

Is OpenSource.com potentially the next casualty of the media-pocalypse? We hope not. The people who have closely been involved with the site probably know a lot more and have a rough (if not good) idea what IBM plans for the site. Something must have been communicated to them at some point since last year. Was Endsley reassigned, based on her skills, to another department/site? Did she choose to move. Unless someone opens his/her mouth, we can only speculate. The silence doesn’t inspire much confidence.

Electronic Frontier Foundation Makes a Mistake by Giving Award to Microsoft Surveillance Person

Posted in EFF, FSF, Google, Microsoft, Patents at 6:25 am by Dr. Roy Schestowitz

Like they don’t give a f*** about their reputation anymore


Summary: At age 30 (almost) the Electronic Frontier Foundation still campaigns for privacy; so why does it grant awards to enemies of privacy?

In July 1990 the Electronic Frontier Foundation (EFF) was founded by John Gilmore, John Perry Barlow, and Mitch Kapor. Barlow died a couple of years ago, so the EFF is now run by its chief executive officer Cindy Cohn. Some of our longtime readers say they have lost confidence in the EFF; the old timers actually told us it had lost direction and nowadays caters for ‘hipsters’ with their ‘gadgets’ near its headquarters (main office in California). The EFF recently lost the person who fought software patents for the EFF (he moved to Mozilla) and they never cared about software patents in Europe or EPO scandals. Never. Not even once. They have some extremely valuable people, such as Cory Doctorow (who fought for the EFF on copyright issues in Europe), but we recently felt upset that they had taken money from Google. This harmed the EFF’s position on patents — and to a lesser degree on copyrights — and indirectly harmed all of us who fight software patents. Even the EFF’s own, namely Birgitta Jónsdóttir, openly expressed dissatisfaction over this. She cited Techrights at the time.

“It probably wouldn’t have happened under Barlow’s watch.”Nobody is perfect and the EFF certainly isn’t perfect. Similarly, several years ago we expressed our disagreement with the FSF after it had given an award to a provocateur who liaised with other provocateurs. 4 years ago there was another anti-Torvalds coup. Don’t forget who did it and how. It was attempted again not so long ago and for the first time in almost 30 years Torvalds took a break from Linux development.

We don’t want to link or name who the EFF has just granted an award to; but it’s someone hypocritical from Microsoft and someone who contributed a great deal to the company’s ‘surveillance capitalism’. Is the EFF totally drunk? Stoned maybe? It probably wouldn’t have happened under Barlow’s watch.

Come on, EFF. You can do better than this.

Caturdays and Sundays at Techrights Will Get Busier

Posted in Site News at 4:12 am by Dr. Roy Schestowitz

Not cat photos but analysis of issues pertaining (or puuurtaining) to Software Freedom


Summary: Our plan to spend the weekends writing more articles about Software Freedom; it seems like a high-priority issue

THE growth of openwashing recently necessitated more and more responses (some of which too long for editorial comments in daily links). So last weekend we started the “Openwashing Report” — a series we intend to continue this weekend. This does not mean that we will focus any less on the EPO, Campinos, Battistelli and so on.

“There’s a certain urgency as windows seem to be closing on digital freedom…”Having recently (about 3 weeks ago) 'quit' Twitter I now have more time to spend writing articles. Weekends in particular will be spent writing about Free/libre software, GNU/Linux and technology rights (as per this site’s name). We will try to publish more articles per day (at our peak about a decade ago we averaged at more than 10 articles a day). As I’m working full time (job unrelated to this site) it’s more likely that weekends as opposed to weekdays will have more articles produced (counterintuitive as paid writers publish throughout the week and barely during weekends). There’s a certain urgency as windows seem to be closing on digital freedom; we now have listening devices out there; Microsoft admits recording and retaining it all (it’s a GAFAM thing). This is considered almost ‘normal’ now. How did we get to this point? How do we get out of it? Expect a bit of a focus shift. Let’s hope that each Caturday can make a positive difference by means of reporting the ills. We’re watching Free software adversaries.


Why Techrights Doesn’t Do Social Control Media

Posted in Site News at 3:36 am by Dr. Roy Schestowitz

More about Social Control than about Media. Standing on one’s own means more freedom of speech and no self-censorship.

One-tree hill

Summary: Being managed and censored by platform owners (sometimes their shareholders) isn’t an alluring proposition when a site challenges conformist norms and the status quo; Techrights belongs in a platform of its own

AFTER posting more than 670,000 tweets and having coined the term "Social Control Media" (which even Julian Assange and Wikileaks adopted) I decided to no longer use Twitter except to check replies once a day. It had become a massive productivity drain and usually an utter waste of time. I still have stuff posted there, albeit only as copies exported from decentralised and Free software platforms such as Diaspora and Pleroma (Mastodon-compatible).

“It seems pretty clear where Twitter is going with this; it wants to eventually become another Facebook.”A decade ago Techrights, Boycott Novell and TechBytes had active accounts in Identi.ca (and two of these in Twitter as well). At some stage it seemed clear that this kind of activity was detrimental to — not contributory towards — actual journalism. Techrights never had a Twitter account and character length is still a major limitation. Over the years surveillance and bloat got a lot worse; almost exactly a year ago Twitter also killed third-party tools by deprecating key APIs. It seems pretty clear where Twitter is going with this; it wants to eventually become another Facebook. We probably don’t have to explain why Facebook is so bad (many aspects to that).

There’s nothing to regret here overall; we didn’t participate in these sites and we probably lost nothing by staying out of these. I have personal accounts there, but these express my personal views (on politics) rather than the site’s.

“There’s nothing to regret here overall; we didn’t participate in these sites and we probably lost nothing by staying out of these.”Social Control Media (so-called ‘social’ ‘media’) is neither social nor media; when people socialise they don’t get managed by the billions by one single company/shareholders and media has generally (historically) checked claims/facts. Twitter lacks that.

Social Control Media has sadly ‘replaced’ the “long form” writings in a lot of blogs. That’s a shame really. Quality is being compromised for the sake of speed and concision. When we’re trying to actually find/syndicate reliable blogs we nowadays come to realise that many are inactive/dormant. Instead of sites they become “accounts” (on someone else’s platform, complete with throttling, censorship and ads); what used to be a site/blog is just some Twitter account that posts and reposts unverified nonsense. Techrights doesn’t wish to ever become something so shallow.

Patent Prosecution Highways and Examination Highways Are Dooming the EPO

Posted in Europe, Patents at 2:23 am by Dr. Roy Schestowitz

Chicago night traffic

Summary: Speed is not a measure of quality; but today’s EPO is just trying to get as much money as possible, as fast as possible (before the whole thing implodes)

QUALITY of patents granted by the European Patent Office (EPO) is very different from what it was a decade or more ago. Battistelli wasn’t the first to lower patent quality, but he certainly was the biggest blow to it. After he was done attacking judges and driving out talented examiners António Campinos came in, openly promoting software patents in Europe under the guise of “4IR” and other nonsensical buzzwords.

“We will address the quality & timeliness of the European #patent granting procedure an see a demonstration of our new Espacenet that is soon to be launched at this event in The Hague,” the EPO wrote in a new tweet.

“Lack of press coverage about systematic declines in EP quality is actually part of the problem.”So I asked: “What do you mean by “quality & timeliness”?

“Those are now the same thing at EPO (which conflates speed of grant with “quality”) …”

Many people, attorneys included, have already brought up this point. What good will European Patents (EPs) be if their assigned parties cannot use them in court? Sooner or later those parties may no longer bother with EPs at all.

Lack of press coverage about systematic declines in EP quality is actually part of the problem. Somehow the media does not seem to care about new pilots and controversial programmes designed to lower patent quality while misusing words like "Quality", "Collaborative" and "Improvement". Media in Europe clearly decided if not ‘conspired’ to turn a blind eye to further EPO leaks and whistleblowers (it wasn’t always this way). Instead it promotes lies, funded directly by the EPO. At least we know whose side such media is on.

“Somehow the media does not seem to care about new pilots and controversial programmes designed to lower patent quality while misusing words like “Quality”, “Collaborative” and “Improvement”.”We are still seeing all sorts of stories about EPs that perish in courts. It means that suing using EPs has a high associated risk; there’s a good chance nobody will benefit except the lawyers. Earlier in the week Hogan Lovells’ litigation team published a writeup about a Dutch lawsuit with an EP, copied onto here for extra exposure. To quote from JD Supra:

Celltrion claimed that the EP is invalid for lack of novelty, arguing that it is not entitled to invoke the priority of P1. According to Celltrion, the Inventor did not (timely) transfer the priority right to Biogen. The parties agreed that if the EP was not entitled to the priority right, a certain publication would destroy the patent’s novelty.

Biogen argued that the priority right was automatically transferred to Biogen at the time of its creation because the Inventor and Biogen had entered into an “Employee Proprietary Information and Inventions and Dispute Resolution Agreement” (“the Agreement“).

In 2017, the District Court ruled against Biogen and considered that Biogen was not entitled to the priority of P1 (and hence that the EP lacked novelty). Biogen appealed the decision and in its (interim) decision of 30 July, the Court of Appeal ruled on the formal entitlement to priority. However, it has not yet dealt with other validity arguments raised by Celltrion.


It makes sense that, any formal deficiency in such a transfer should not have a possible lethal consequence for the validity of a patent. Unfortunately, it is unclear whether the Dutch Court of Appeal agrees with the EPO’s joint applicants approach so, watch this space for further developments.

From the above, which may not be a closed case, it seems rather likely that the lawsuit will go nowhere. In our experience, having surveyed lots of lawsuits every day for about a decade, the likelihood of patent lawsuits being “successful” (for the plaintiff/claimant), has virtually collapsed. Many patents granted by patent offices are later rejected by judges and juries. For the lawyers this may not matter much; they bill by the hour irrespective of the outcome of cases. But deep inside they know that low legal certainty will eventually cause reluctance to sue and pursue (applications).

Software Patents Won’t Come Back Just Because They’re (Re)Framed/Branded as “HEY HI” (AI)

Posted in America, Europe, Law, Patents at 12:38 am by Dr. Roy Schestowitz

Building another house of cards or patent bubble

AI hype at EPO

Summary: The pattern we’ve been observing in recent years is, patent applicants and law firms simply rewrite applications to make these seem patent-eligible on the surface (owing to deliberate deception) and patent offices facilitate these loopholes in order to fake ‘growth’

THIS site has changed a bit this year. Since springtime we’ve increased focus on GNU/Linux and since last winter we’ve been gradually reducing coverage of U.S. Patent and Trademark Office (USPTO) affairs, focusing instead on the European Patent Office (EPO) under António Campinos, Battistelli‘s friend. There’s still plenty of coverage about 35 U.S.C. § 101 cases in our daily links (which recently became bi-daily) and we habitually write about software patents. It’s just that in the world as a whole, notably in the US, such patents are waning. How does one ‘work around’ Mayo/Alice (SCOTUS)? It’s not simple, but at the examination phase it’s easier to manipulate the examiners into granting patents on algorithms. Days ago Watchtroll once again blasted the Patent Trial and Appeal Board (PTAB), equating its work with “harassment” of “patent owners” [sic], then urging Andrei Iancu to stop or at least curtail inter partes reviews (IPRs). This sort of blowhard nonsense from Watchtroll’s founder simply reveals just how desperate and foolish patent zealots have become.

“The writers at IAM constantly promote these buzzwords, as does the EPO.”Watchtroll, however, does not have a monopoly on such nonsense. And to think that the EPO’s management liaises with Watchtroll is a rather disturbing thought.

The desire to ‘dance’ around the law and grant bogus, abstract patents isn’t new. Methods appear to have increased in number and these typically boil down to semantics and buzzwords.

“It certainly seems like the world of patents is increasingly dominated by marketing phonies and imposters, not technical people. That’s a profound problem.”“Through strategic claim drafting, oil and gas companies can overcome Section 101 and obtain patents covering digital technologies and AI, say Charles Collins-Chase, Jennifer Roscetti and Paul Townsend of Finnegan,” wrote the patent maximalists in “Oil and gas digitalisation: overcoming §101 to obtain valuable patents“. They basically celebrate software patents that are fake patents using buzzwords like "HEY HI" and other nonsense put forth by the likes of Finnegan, a litigation giant that sponsors the likes of IAM. The writers at IAM constantly promote these buzzwords, as does the EPO. What would courts say? They’re not in the business of granting as many patents as possible, so a sober analysis would likely squash such patents. But it’s not cheap; court battles are very expensive.

Citing the EPO’s “Problem-Solution Approach”, patent attorney “MaxDrei” (frequent commenter on EPO matters at IP Kat) wrote about some of these ridiculous "HEY HI" patents that reach the EPO and other patent offices. To quote the comment:

Let us take the two examples and address them like the EPO does, using its Problem-Solution Approach. So, two part form of claim, characterized by…..fractal. Thus, the beverage container I take to be old except that its bumps and dimples are, well, fractal ones.

According to the application as filed, what is the technical problem (X) for which “fractal” is the solution? What is it that fractal bumps do that conventional bump patterns fail to do? We need to know that, so we can scour the prior art universe for hints or suggestions that, if X is your problem, it might be worth rendering your bumps as “fractal”.

Could it be that the only problem we can derive from the application as filed is the problem of finding an alternative? Could it be that the algorithm was also searching the prior art to find an alternative and found it in “fractal”?

As to the candle invention, I can see that random or pseudo-random flickering might command attention more strikingly than metronomic flickering. But again, what is the technical problem (Y) for which the solution is “fractal”?

The imaginary person skilled in the art is deemed dispassionately to scour all the prior art, looking for hints or suggestions. Is this not the same as what the machine “inventor” is doing? If it finds any such hint or suggestion, has it executed an act of invention? But then; what if it keeps quiet about where it found its hint or suggestion and instead holds out its feature combination as its own flash of inspiration? Who can deny it?

As we argued earlier this month, this whole “HEY HI” nonsense poses a risk to the very legitimacy of patent systems. There are several reasons for this. But the aspect most troubling to us is the degree to which “HEY HI” gets leveraged as a mere buzzword; just about any algorithm — never mind if machine learning-centric or not — is being cast or framed as “HEY HI” because it does something ‘clever’. It certainly seems like the world of patents is increasingly dominated by marketing phonies and imposters, not technical people. That’s a profound problem. Watchtroll blocked me in Twitter after it had lost an argument over software patents — an argument which incidentally revealed that Watchtroll’s founder doesn’t even know what software is and how it works!

RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channels: Come and chat with us in real time

New to This Site? Here Are Some Introductory Resources




Samba logo

We support

End software patents


GNU project


EFF bloggers

Comcast is Blocktastic? SavetheInternet.com

Recent Posts