#gnu #linux #nano #editor #text #soft #programming #code #news #software
- An overlong line is no longer automatically hard-wrapped.
- Smooth scrolling (one line at a time) has become the default.
- A newline character is no longer automatically added at end of buffer.
- The line below the title bar is by default part of the editing space.
- Option --breaklonglines (-b) turns automatic hard-wrapping back on.
- Option --jumpyscrolling (-j) gives the chunky, half-screen scrolling.
- Option --finalnewline (-f) brings back the automatic newline at EOF.
- Option --emptyline (-e) leaves the line below the title bar unused.
- <Alt+Up> and <Alt+Down> now do a linewise scroll instead of a findnext.
- Any number of justifications can be undone (like all other operations).
- When marked text is justified, it becomes a single, separate paragraph.
- Option --guidestripe= draws a vertical bar at the given column.
- Option --fill= no longer turns on automatic hard-wrapping.
- When a line continues offscreen, it now ends with a highlighted ">".
- The halfs of a split two-column character are shown as "[" and "]".
- A line now scrolls horizontally one column earlier.
- The bindable functions 'cutwordleft' and 'cutwordright' were renamed
- to 'chopwordleft' and 'chopwordright' as they don't use the cutbuffer.
- The paragraph-jumping functions were moved from Search to Go-to-Line.
- Option --rebinddelete is able to compensate for more misbindings.
- Options --morespace and --smooth are obsolete and thus ignored.
- The --disable-wrapping-as-root configure option was removed.
The world’s first genderless voice assistant is challenging gender stereotypes
There’s an obvious gender imbalance in technology and voice assistants. Whether it’s Siri, Cortana, Alexa, or another female voice telling you when to turn right on Google Maps, it’s most commonly an AI ‘woman’ who takes our commands.
With so much female servitude in our smart devices, along with the rapid deployment of AI, it should come as no surprise that technology is hardwiring sexism into our future — but Q, the world’s first genderless voice, hopes to eradicate gender bias in technology.
Created by a group of linguists, technologists, and sound designers, Q hopes to “end gender bias” and encourage “more inclusivity in voice technology.” They recorded the voices of two dozen people who identify as male, female, transgender, or non-binary in search for a voice that typically “does not fit within male or female binaries.” To find this voice, the Q team conducted a test involving over 4,600 people, who were asked to rate the voice on a scale of 1 (male) to 5 (female).
From this experiment, audio researchers were able to define a frequency range which is gender neutral. They recorded several voices, working on the pitch, the tone and the format filter and finally achieved “Q.”
Despite the underrepresentation of women in AI development, it’s no coincidence that almost all voice assistants are given typically female names, such as Amazon’s Alexa, Microsoft’s Cortana, and Apple’s Siri. According to several studies, regardless of the listener’s gender, people typically prefer to hear a male voice when it comes to authority, but prefer a female voice when they need assistance.
While a genderless voice is a step in the right direction towards inclusivity, technology cannot progress and move away from gender bias without diversity in creative and leadership roles. Gendered voice assistants reinforce deeply ingrained gender biases because the data being used in machine learning training is based upon human behavior — robots are only sexist because the humans they learn from are.
Q is not only challenging gender stereotypes, but also encouraging tech companies to take societal responsibility when it comes to diversity and inclusivity.
Overview of changes since NetworkManager-1.14
This is a new stable release of NetworkManager. Notable changes include:
\* Check connectivity per address family.
* Support "main.systemd-resolved" to let NetworkManager configure DNS settings
in systemd-resolved without making it the main DNS plugin of NetworkManager.
\* Write "/var/run/NetworkManager/no-stub-resolv.conf" with original nameservers.
That is useful with caching DNS plugins like "systemd-resolved" or "dnsmasq" where
"/var/run/NetworkManager/resolv.conf" refers to localhost.
* Change default "ipv4.dhcp-client-id" setting for the internal DHCP plugin from
"duid" to "mac". This is a change in behavior on upgrade when using the internal
DHCP plugin (unless the default is overwritten in "NetworkManager.conf" or specified
per connection profile).
\* Improve handling of DHCP router options with internal DHCP plugin. For one, accept
multiple routers and add a default-route to each. On D-Bus expose the original DNS
and NTP servers without cleaning up local nameservers.
* Allow binding a connections lifetime to the DBus client that activated it.
* Add support for establishing Wi-Fi Direct connections (Wi-Fi P2P).
* Add support for WireGuard VPN tunnels to NetworkManager. D-Bus API and libnm
support all options. nmcli supports creating and managing WireGuard profiles,
with the exception of configuring and showing peers.
\* Add initrd generator to be used by dracut and use it as new way of handling
* Deprecated "plugins.monitor-connection-files" setting in NetworkManager.conf.
This option will have no effect in future versions.
\* Add AP and Ad-hoc support for iwd Wi-Fi backend.
* Warn about invalid settings in "NetworkManager.conf".
* Support announcing "ANDROID_METERED" DHCP option for shared mode.
* Support SAE authentication as used for 802.11s Meshing and WPA3-Personal.
* NetworkManager is no longer installed as D-Bus activatable service.
* Mark docker bridges as unmanaged via udev rule.
* Add new PolicyKit permission "org.freedesktop.NetworkManager.wifi.scan" for controlling
# dnf copr enable jdoss/wireguard
# dnf install wireguard-dkms wireguard-tools
# curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
# yum install epel-release
# yum install wireguard-dkms wireguard-tools
NetworkManager 1.16 got native support for WireGuard VPN tunnels (NEWS). WireGuard is a novel VPN tunnel protocol and implementation that spawned a lot of interest. Here I will not explain how WireGuard itself works. You can find very good documentation and introduction at wireguard.com.MORE at Gnome.org (config examples, settings, etc.):
MORE & MORE (full text + links + screenshots): https://dfir.it/blog/2019/02/26/the-supreme-backdoor-factory/
The Supreme Backdoor Factory
Feb 26th, 2019 5:53 pm
Recently I was playing with VirusTotal Intelligence and while testing some dynamic behavior queries I stumbled upon this strange PE binary (MD5: 7fce12d2cc785f7066f86314836c95ec). The file claimed to be an installer for the JXplorer 220.127.116.11, a Java-based “cross platform LDAP browser and editor” as indicated on its official web page. Why was it strange? Mostly because I did not expect an installer for a quite popular LDAP browser to create a scheduled task in order to download and execute PowerShell code from a subdomain hosted by free dynamic DNS provider.
I initially planned to keep this write-up short and focus on dissecting suspicious JXplorer binary. However, analyzing the JXplorer binary turned out to be only the first step into the world of backdoored software.
In order to validate my VirusTotal finding I downloaded a matching version of Windows installer (18.104.22.168) from the official JXplorer SourceForge repository. Unsurprisingly, the MD5 hashes of both files were different. Last thing I wanted to do was to disassemble two 7 megabytes PE binaries so I started with simpler checks in order to locate difference(s). As binaries were packed with UPX, I unpacked them with the upx tool and compared MD5s of PE sections. The sections were all identical, with exception of the resource section. I was not sure how content of the PE resource section could affect behavior of the installer so I used VBinDiff to see the exact difference. The tool actually revealed the following modifications:
- The manifest file located in the resource section, specifically the requestedExecutionLevel property. The original file required Administrator privileges (requireAdministrator) while the modified was fine with running with caller’s privilege level
- Additional newline character appended to the file - explaining 1 byte size difference between the files
- A relatively small (3230 bytes) blob of what seemed to be ZLIB compressed data at offset 0x4be095. Note the clear text file names just before the ZLIB header (http-2.7.9.tm, platform-1.0.10.tm).
The first two differences did not seem to be important so I focused on the last one. The identified ZLIB data was placed in the PE file overlay space and I figured that it was likely part of an archive used by the installer to store JXplorer files. Fortunately, JXplorer web page mentioned that JXplorer was using the BitRock Install Builder and after short search I managed to find the following Tcl unpacker for BitRock archives: bitrock-unpacker.
Once I installed the ActiveTcl and downloaded required SDX file I used the bitrock-unpacker script to unpack JXplorer installation files from both installers. Then I used the WinMerge tool to compare resulting files and directories. To my surprise there were no differences which meant that JXplorer application files were left intact. That also meant that I needed to dig a bit further.
After going through bitrock-unpacker code I noticed that it first mounted the Metakit database in order to extract installer files that were used to locate and extract the Cookfs archive storing JXplorer files. Using existing bitrock-unpacker code I created this Tcl script to dump all installer files from the Metakit database to disk. This time comparing BitRock installer files yielded interesting results.
WinMerge showed one difference - a file named http-2.7.9.tm, located in the \lib\tcl8\8.4\ directory.
Despite having the same size and timestamps (atime, ctime, mtime as extracted from the Cookfs archive) the file http-2.7.9.tm (MD5: f6648f7e7a4e688f0792ed5a88a843d9, VT) extracted from the modified installer did not remind standard http.tcl module. Instead it contained exactly what I was looking for.
Below is the summary of actions performed by the http-2.7.9.tm script:
- Create a scheduled task named Notification Push to download and execute PowerShell code from hxxp://svf.duckdns[.]org
- Write a JAR file (MD5: 9d4aeb737179995a397d675f41e5f97f, VT) to %TEMP%..\Microsoft\ExplorerSync.db. Create a scheduled task ExplorerSync to execute ExplorerSync.db
- Write a JAR file (MD5: 533ac97f44b4aea1a35481d963cc9106, VT) to %TEMP%\BK.jar and execute it with the following command line parameters: hxxp://coppingfun[.]ml/blazebot %USERPROFILE%\Desktop\sup-bot.jar
- Execute additional JAR file downloaded in the previous step
- ping a legitimate domain supremenewyork[.]com
Some of the actions were a bit odd to me (Why would you drop malware(?) to user’s Desktop? Why would you choose that specific domain supremenewyork[.]com?). That got me thinking that I might be dealing with a testing version of modified installer. The names of files (blazebot, sup-bot) did not ring any bells either so I decided to do a bit of online research.
WTF is a personal information dashboard for your terminal, developed for those who spend most of their day in the command line.It allows you to monitor systems, services, and important information that you otherwise might keep browser tabs open for, the kinds of things you don’t always need visible, but do check in on every now and then.
go get -u github.com/wtfutil/wtf
top: 4 // top starts in the 4th row
left: 9 // left starts in the 9th column
height: 2 // span down rows 4 & 5 (18 characters in size, total)
width: 2 // span across cols 9 & 10 (20 characters in size, total)
# How _wide_ the columns are, in terminal characters. In this case we have
# six columns, each of which are 35 characters wide
columns: [35, 35, 35, 35, 35, 35]
# How _high_ the rows are, in terminal lines. In this case we have five rows
# that support ten line of text, one of three lines, and one of four
rows: [10, 10, 10, 10, 10, 3, 4]
openFileUtil: open # the name of the utility to call to open files
refreshInterval: 1 # the app refreshes once per second
This whole shoot was a creative kick in the pants for me. It was the first time I turned my steering wheel towards the more stripped down, meaningful style I've been shooting over the past year.
Full Set: bensasso.com/blog/meredith-adelaide
Questions are always welcome if you have them! We're all in this together.