WireGuardNT: A high-performance WireGuard implementation for the Windows kernel

WireGuard author Jason Donenfeld recently announced the WireGuardNT project, a native port of WireGuard for the Windows kernel. Like the other versions, WireGuardNT, lowercase “wireguard-nt”, started out as a port of the Linux version of the codebase. After a successful initial porting effort, the NT codebase quickly diverged to better fit the native NTisms and NDIS (Windows Network Stack) APIs, and the end result was a deeply integrated and high-performance WireGuard implementation for the NT kernel that leverages the full functionality of the NT kernel and NDIS.

elementary OS 6 "Odin" released, the biggest update so far

elementary OS 6 “Odin” is now available. Officially, this is the largest update to the platform to date. This release focuses on. Empowering users to take control and express themselves Continually innovate new features Make elementary OS more accessible and inclusive Download at: https://elementary.io/ Major updates to elementary OS 6.0 include a new dark style, improvements around application sandboxing using Flatpak, multi-touch support across the desktop, an improved notification experience, support for firmware updates via LVFS/Fwupd, a rewritten email client, an improved webcam application, and enhanced installer, and more.

Intel fully adopts LLVM for its C/C++ compiler

In a blog post, James Reinders, Intel’s long-time compiler expert, revealed that they will be using the LLVM open source infrastructure for the next generation of Intel C/C++ compilers; and shared some information about it. “LLVM helps us achieve our goal of providing the best C/C++ compiler for the Intel architecture. The latest Intel C/C++ compilers use LLVM to provide faster compile times, better optimizations, enhanced standards support, and support for GPU and FPGA offloading …… The benefits of using LLVM are many and I will provide recommendations for upgrading from a classic compiler to an LLVM-based compiler.

Mozilla testing Firefox/100.0 user agent, checking site compatibility

With the update of Mozilla Firefox browser yesterday, Firefox version number has reached 91. Although the current version number is still in double digits, according to the official upgrade roadmap, Mozilla will release Firefox Nightly 100 in March next year. Mozilla has launched an experiment to change the Firefox browser’s user agent to the three-digit “Firefox/100.0” version in order to test whether any websites will load abnormally due to the user agent problem when Firefox version number is updated to 100 in the future.

Firefox releases data report, loses nearly 50 million users worldwide

Whether it’s Edge, Brave, Vivaldi in foreign countries, or 360 or QQ in China, these third-party browsers all use the Chromium engine. Mozilla’s Firefox is one of the few well-known browsers that is not based on Chromium. As long as users have some observation of others around them, they will find that more and more users have switched to Chromium-based browsers instead of Firefox. Recently, Firefox published its public data report since 2018, and the official report is a further confirmation of users’ observations.

Microsoft open source GCToolkit, a tool for parsing GC logs

Microsoft’s Java Engineering Group has announced the open source availability of GCToolkit, a set of libraries for analyzing Java garbage collection (GC) log files. According to the introduction, the GCToolkit toolkit parses GC log files into discrete events and provides an API for aggregating data from these events, enabling users to perform arbitrarily complex analyses of the state of managed memory in the Java Virtual Machine (JVM) as represented by garbage collection logs.

Google Microsoft teams up for major update to Chromium's virtual keyboard

Microsoft and Google are working on a new API for Chromium-based browsers like Chrome and Edge called “VirtualKeyboard” that updates the on-screen keyboard for typing on Windows, macOS, Chrome OS and Android and provides better control. According to the documentation, Virtual Keyboard (VK) is a public JavaScript API that puts control of the on-screen keyboard in the hands of Web developers. As it stands now, developers have very limited control over VK, and the keyboard’s performance is not ideal for scenarios where developers want users to use a website’s built-in keyboard to enter passwords on Android.

Google plans to bring a full version of Chrome to Fuchsia OS

Whether it’s desktop, mobile or a smart home device with a screen, every operating system needs a web browser, and while Fuchsia OS already uses some of Chromium’s code, Google is preparing to bring Chrome and all its features to Fuchsia OS. As mentioned above, Fuchsia OS currently already includes a Chromium-based browser, but for now it’s very small and has few additional features and only simple web browsing. Despite the support of the Chromium project, there has been no indication that Chrome will make its way to Fuchsia OS.

Intel provides extensive graphics driver optimizations for Linux 5.15

On Friday, Intel engineers committed a large amount of code on the DRM-Next branch of the Linux kernel, mainly on the kernel graphics driver, with the following highlights. Extensive code refactoring to increase the use of TTM dispensers and prepare for the DRM scheduler. Cleaned up uAPI and dropped faster GPU relocation paths on older platforms, instead mitigating performance issues by updating to the latest UMD version. Initially implemented code for ADL-P/XeHP and DG2 platforms, fixed ADL-S and removed CNL code.

About Redisson Lock

I wrote an article about the red lock implementation in Redis a long, long time ago, but in a production environment, the distributed lock component used in my projects has always been Redisson, a Java-based Redis client framework written with features of In-Memory Data Grid Redisson is a Java-based Redis client framework (Redis Java Client) with features of In-Memory Data Grid, which extends the basic data types of Redis with

Node Event Loop

JavaScript is single-threaded and asynchronous operations are particularly important. Whenever you use functions outside the engine, you need to interact with the outside world, thus creating asynchronous operations. Because there are so many asynchronous operations, JavaScript has to provide a lot of asynchronous syntax. It’s like, some people get hit all the time, and they have to become very resilient, or they’re screwed. Node’s asynchronous syntax is more complex than the browser’s, because it talks to the kernel and has to make a special library, libuv, to do this.

Microsoft to disable JavaScript JIT to improve Edge security

Microsoft Edge vulnerability research lead Johnathan Norman revealed that the team is experimenting with a new feature in Edge that disables the JavaScript JIT compiler to enable some additional security protection. They also gave the experiment an interesting and slightly provocative name, “Super Duper Secure Mode (SDSM)”. According to Norman, JIT compilation is a “very complex process that few people understand, with very small errors. But while JIT improves browser performance, it also introduces vulnerabilities, and “performance and complexity usually come at a cost, which we usually bear in the form of security vulnerabilities and subsequent patches.

Sophos acquires Refactr to advance DevSecOps

Sophos revealed this week that it has acquired Refactr, a provider of an automation platform that makes it easier to add static and dynamic security scanning and application testing to the DevOps pipeline. Sophos will extend the Refactr DevSecOps automation platform to add security orchestration automation and response (SOAR) capabilities, said Joe Levy, chief technology officer at Sophos. Levy said the goal is to make it easier for DevOps and cybersecurity teams to collaborate when these integrations are implemented in early 2022.

Why is the HTML <picture> element so rarely used?

The HTML <picture> element has been around for many years (it appeared in 2014), but it is rarely used, why? I have summarized the following 3 reasons. no one knows about it cumbersome to use it can be replaced This element is obviously very practical The HTML <picture> element is useful, and is often used in conjunction with the <source> element (which can be multiple) and the <img> element (which

Cracking ReCaptcha with YesCaptcha

Maybe you haven’t heard of what ReCAPTCHA is, probably for some reason this CAPTCHA doesn’t appear much in China, but I think you should have seen or used it more or less. It looks like this. At this point, as soon as we click the checkbox at the top, the CAPTCHA algorithm will first use its “risk analysis engine” to do a security check, and if it passes the test

GoReplay Manual

1. Installation GoReplay is written in Go and has a single executable file, which can be downloaded from the official Release page and placed in the PATH directory. 1 2 3 wget https://github.com/buger/goreplay/releases/download/v1.2.0/gor_v1.2.0_x64.tar.gz tar -zxvf gor_v1.2.0_x64.tar.gz mv gor /usr/local/bin 2. Basic Use The overall use of the GoReplay command line is to specify the input and input side, and then GoReplay copies the traffic from the input side to the output side.

Introduction to Apache Parquet column-oriented Storage Format

Apache Parquet is a columnar storage format that can be used by any project in the Hadoop ecosystem.Parquet is language- and platform-agnostic.Parquet was originally developed and open-sourced in collaboration with Twitter and Cloudera, and graduated from Apache’s incubator as an Apache top-level project in May 2015 . In the Spark project, Parquet is also its default data source. The default data source configuration can be modified via spark.sql.sources.default. What is column-oriented Storage Format In a relational database, the practical use of columnar storage is little different from row storage.

Use Git Hook to Restrict Commit Emails

Here’s the thing. Recently, the group created a new code repository to develop a new product, and since it’s raining hard in Beijing today, many of my colleagues chose to work from home (including me), so I chose to use my own PC to work. But I used my own personal email address for the Git information on my PC. 1 2 git config --global user.name "Germey" git config --global user.

Slice Principle Analysis

As a Go novice, I’m curious to see any “weird” code; for example, I recently saw a few methods; the pseudo-code is as follows. 1 2 3 4 5 6 7 8 func FindA() ([]*T,error) { } func FindB() ([]T,error) { } func SaveA(data *[]T) error { } func SaveB(data *[]*T) error { } I believe that most newcomers to Go are confused when they see this code, the most confusing of which is

K0s Introduction

I’ve been using kubeadm to deploy kubernetes clusters for the last two years, and it’s generally convenient to work with some of my own small scripts and some automation tools; however, I’m really worried about the stability of full containerization, and I’ve encountered inexplicable certificate expiration errors, and finally rebooted to solve such problems; so I’m also exploring more convenient binary deployment methods, such as this k0s. 1. k0s Introduction