Bonum Certa Men Certa

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



  • 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:

          https://www.kernel.org/pub/software/scm/git/

          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 people).

          * 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 status.aheadBehind.

          * "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" command.

          * "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 pack-objects.

          * 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 corrected.

          * "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 corrected.

          * 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 different.

          * 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 corrected.

          * 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 updated.

          * "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 corrected.

          * "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 fixed.

          * 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 corrected. (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.

        • PLUNDERING CAMBODIA'S FORESTS

          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.



Recent Techrights' Posts

Google Has Mass Layoffs (Again), But the Problem is Vastly Larger
started as a rumour about January 2025
Electronic Frontier Foundation Defends Companies That Attack Free Speech Online (Follow the Money)
One might joke that today's EFF has basically adopted the same stance as Donald Trump and has a "warm spot" for BRICS propaganda
 
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, December 21, 2024
IRC logs for Saturday, December 21, 2024
Links 21/12/2024: EU on Solidarity with Ukraine, Focus on Illegal and Unconstitutional Patent Court in the EU (UPC)
Links for the day
[Meme] Microsofters at the End of David's Leash
Hand holding the leash. Whose?
Deciphering Matt's Take on WordPress, Which is Under Attack From Microsofters-Funded Aggravator
the money sponsoring the legal attacks on WordPress and on Matt is connected very closely to Microsoft
Gemini Links 21/12/2024: Projections, Dead Web ('Webapps' Replacing Pages), and Presentation of Pi-hole
Links for the day
American Samoa One of the Sovereign States Where Windows Has Fallen Below 1% (and Stays Below It)
the latest data plotted in LibreOffice
[Meme] Brian's Ravioli
An article per minute?
Links 21/12/2024: "Hey Hi" (AI) or LLM Bubble Criticised by Mainstream Media, Oligarchs Try to Control and Shut Down US Government
Links for the day
LLM Slop is Ruining the Media and Ruining the Web, Ignoring the Problem or the Principal Culprits (or the Slop Itself) Is Not Enough
We need to encourage calling out the culprits (till they stop this poor conduct or misconduct)
Christmas FUD From Microsoft, Smearing "SSH" When the Real Issue is Microsoft Windows
And since Microsoft's software contains back doors, only a fool would allow any part of SSH on Microsoft's environments, which should be presumed compromised
Paywalls, Bots, Spam, and Spyware is "Future of the Media" According to UK Press Gazette
"managers want more LLM slop"
On BetaNews Latest Technology News: "We are moderately confident this text was [LLM Chatbot] generated"
The future of newsrooms or another site circling down the drain with spam, slop, or both?
"The Real New Year" is Now
Happy solstice
Microsoft OSI Reads Techrights Closely
Microsoft OSI has also fraudulently attempted to censor Techrights several times over the years
"Warning About IBM's Labor Practices"
IBM is not growing and its revenue is just "borrowed" from companies it is buying; a lot of this revenue gets spent paying the interest on considerable debt
[Meme] The Easier Way to Make Money
With patents...
The Curse (to Microsoft) of the Faroe Islands
The common factor there seems to be Apple
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Friday, December 20, 2024
IRC logs for Friday, December 20, 2024
Gemini Links 21/12/2024: Death of Mike Case, Slow and Sudden End of the Web
Links for the day
Links 20/12/2024: Security Patches, Openwashing by Open Source Initiative, Prison Sentence for Bitcoin Charlatan and Fraud
Links for the day
Another Terrible Month for Microsoft in Web Servers
Consistent downward curve
LLM Slop Disguised as Journalism: The Latest Threat to the Web
A lot of it is to do with proprietary GitHub, i.e. Microsoft
Gemini Links 20/12/2024: Regulation and Implementing Graphics
Links for the day
Links 20/12/2024: Windows Breaks Itself, Mass Layoffs Coming to Google Again (Big Wave)
Links for the day
Microsoft: "Upgrade" to Vista 11 Today, We'll Brick Your Audio and You Cannot Prevent This
Windows Update is obligatory, so...
The Unspeakable National Security Threat: Plasticwares as the New Industrial Standard
Made to last or made to be as cheap as possible? Meritocracy or industrial rat races are everywhere now.
Microsoft's All-Time Lows in Macao and Hong Kong
Microsoft is having a hard time in China, not only for political reasons
[Meme] "It Was Like a Nuclear Winter"
This won't happen again, will it?
If You Know That Hey Hi (AI) is Hype, Then Stop Participating in It
bogus narrative of "Hey Hi (AI) arms race" and "era/age of Hey Hi" and "Hey Hi Revolution"
Bangladesh (Population Close to 200 Million) Sees Highest GNU/Linux Adoption Levels Ever
Microsoft barely has a grip on this country. It used to.
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Thursday, December 19, 2024
IRC logs for Thursday, December 19, 2024