Thursday, August 27, 2020

Adversarial Interoperability

“Interoperability” is the act of making a new product or service work with an existing product or service: modern civilization depends on the standards and practices that allow you to put any dish into a dishwasher or any USB charger into any car’s cigarette lighter.

But interoperability is just the ante. For a really competitive, innovative, dynamic marketplace, you need adversarial interoperability: that’s when you create a new product or service that plugs into the existing ones without the permission of the companies that make them. Think of third-party printer ink, alternative app stores, or independent repair shops that use compatible parts from rival manufacturers to fix your car or your phone or your tractor.

Adversarial interoperability was once the driver of tech’s dynamic marketplace, where the biggest firms could go from top of the heap to scrap metal in an eyeblink, where tiny startups could topple dominant companies before they even knew what hit them.

But the current crop of Big Tech companies has secured laws, regulations, and court decisions that have dramatically restricted adversarial interoperability. From the flurry of absurd software patents that the US Patent and Trademark Office granted in the dark years between the first software patents and the Alice decision to the growing use of “digital rights management” to create legal obligations to use the products you purchase in ways that benefit shareholders at your expense, Big Tech climbed the adversarial ladder and then pulled it up behind them.

That can and should change. As Big Tech grows ever more concentrated, restoring adversarial interoperability must be a piece of the solution to that concentration: making big companies smaller makes their mistakes less consequential, and it deprives them of the monopoly profits they rely on to lobby for rules that make competing with them even harder.

For months, we have written about the history, theory, and practice of adversarial interoperability. This page rounds up our writing on the subject in one convenient resource that you can send your friends, Members of Congress, teachers, investors, and bosses as we all struggle to figure out how to re-decentralize the Internet and spread decision-making power around to millions of individuals and firms, rather than the executives of a handful of tech giants.

(Republished from EFF Deeplinks under a Creative Commons Attribution 4.0 license)

Continue reading Adversarial Interoperability on SitePoint.


by Cory Doctorow via SitePoint

5 Small Business Doing Great in 2020

This year has brought many challenges to businesses of all kinds. Some industries like restaurants and fitness facilities have seen the worst of it, whereas other industries like delivery services, cleaning supplies and technology and software that supports remote work and distance collaboration...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Web Desk via Digital Information World

Twitter is experimenting with a more precise ‘Quotes’ listing to replace ‘Retweets and comments’

Just recently, in an effort to make things more transparent and easily accessible by the users, Twitter had rolled out a separate listing of ‘Retweets’ and ‘Retweets with comment’ under each tweet. However, within a few months, Twitter seems to have been in the process of changing minds. Reverse...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Arooj Ahmed via Digital Information World

Pinterest Tests ‘Popular’ And ‘Best Seller’ Labels On Product Pins So Users Can See Which Products Are Trending

Pinterest is experimenting with adding information to Product Pins, and the company detailed updates to Pinterest’s Shopping Spotlights curated suggestions under the search tab. The company started rolling Shopping Spotlights back in May of this year. Shopping Spotlights provide users access to...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Arooj Ahmed via Digital Information World

Chart: TikTok Conquers the Global Market in Lockdown

With a majority of the world’s population ‘homebound’ during the lockdowns to contain the spread of coronavirus – TikTok ultimately became a savior. The social media platform not only allowed consumers to share creative content but also provided them with lighthearted videos to calm the...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Saima Salim via Digital Information World

A Malware Discovered In Some Cheap Chinese-Made Smartphones Can Steal Data And Money From Users

According to a new report published by security researchers, some low-cost Chinese smartphones come with preinstalled malware that has stolen data as well as money from people who can't afford high-end devices. China-based Transsion Holdings is the company behind Infinix and Tecno mobile brands....

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Arooj Ahmed via Digital Information World

The Complete Guide to Windows Terminal

In this article, we’ll explore Windows Terminal, the ideal accompaniment to WSL2. It’s fast, configurable, looks great, and offers all the benefits of both Windows and Linux development.

Windows has fully embraced Linux, and WSL2 makes it a seamless pleasure.

Your distro’s terminal can be accessed by:

  1. clicking its Start menu icon
  2. entering wsl or bash at a Powershell or command prompt
  3. using a third-party terminal option such as Cmder, ConEmu, and Hyper with a profile which launches %windir%\system32\bash.exe ~
  4. setting Linux as the default shell in VS Code by pressing Ctrl + Shift + P and typing/choosing Terminal: Select Default Shell, and selecting WSL Bash.

Windows Terminal offers a further choice, but you won’t regret installing it. The new application features:

  • support for WSL2, SSH, Powershell, cmd and other command lines
  • multiple tabs and split panes
  • configurable themes, background images, and transparency effects
  • a search box
  • custom key bindings
  • GPU accelerated text rendering
  • a great-looking new font, Cascadia Code
  • low resource usage (typically 10MB per tab)
  • auto-updating (if using the Microsoft Store)
  • good documentation
  • and it’s open source!

Windows Terminal

How to Install Windows Terminal

The easiest way to install Windows Terminal is via the Microsoft Store:

ms-windows-store://pdp/?ProductId=9n0dx20hk701

If this link fails, try opening the Microsoft Store in your browser or launching the Microsoft Store app from the Windows Start menu and searching for “Terminal”.

Note: be careful not to select the earlier “Windows Terminal Preview” application.

Windows Terminal at the Microsoft Store

Hit Get and wait a few seconds for installation to complete.

If you don’t have access to the Store, you can download the latest release from GitHub.

The Windows Terminal app icon is now available in the Windows Start menu. For easier access, right-click the icon and choose Pin to Start or More, followed by Pin to taskbar.

Getting Started with Windows Terminal

When it’s first run, Windows Terminal starts with Powershell as the default profile. A drop-down menu is available to launch other tabs and access the settings:

Windows Terminal start

Terminal automatically generates profiles for all WSL distros and Windows shells you have installed, although it’s possible to disable generation in the global settings.

Managing Tabs and Panes

Open a new tab for the default profile by clicking the + icon or Ctrl + Shift + T. To open a tab for a different profile, choose it from the drop-down menu or press Ctrl + Shift + N, where N is the profile’s number.

Press Alt + Shift + D to duplicate and split the pane. The active pane is split in two along the longest axis each time it is used:

Windows Terminal split panes

To force creation of a:

  • vertical pane, press Alt + Shift + +, or
  • horizontal pane, press Alt + Shift + -

To open another profile in a new pane, hold down the Alt key when choosing it from the drop-down menu.

Hold down Alt and use the cursor keys to switch between active panes from the keyboard. The size of a pane can be adjusted by holding Alt + Shift and using the cursor keys to resize accordingly.

Tabs can be renamed by double-clicking the text. You can also change the name or color by right-clicking the tab and choosing a menu option:

Windows Terminal tab name and color

This only affects the current tab; it doesn’t permanently change the profile.

To close the active pane or tab, press Alt + Shift + W or enter the terminal’s standard exit command (usually exit).

Text size

The text size of the active terminal can be resized with Ctrl + + and Ctrl + -. Alternatively, hold down Ctrl and scroll the mouse wheel.

Scrolling

Use the scroll bar to navigate through the terminal output. Alternatively, hold down Ctrl and press cursor up, cursor down, Page Up or Page Down to navigate using the keyboard.

Press Ctrl + Shift + F to open the search box:

Windows Terminal search

Enter any term then use the up and down icons to search the terminal output. Click the Aa icon to activate and deactivate exact-case matching.

Copy and Paste

By default, copy and paste are bound to Ctrl + Shift + C and Ctrl + Shift + V respectively, although Ctrl + C and Ctrl + V will also work.

Note: be wary that Ctrl + C can terminate a Linux application, so using Shift is advisable.

An automatic copy-on-select option is available in the global settings, and you can also paste the current clipboard item by right-clicking the mouse.

Settings

Settings are accessed from the drop-down menu or Ctrl + , (comma). The configuration is defined in a single settings.json file, so you may be prompted to choose a text editor. VS Code is a great choice, although Notepad is fine if you’re happy to edit without color-coding and syntax checking.

settings.json controls:

  1. global settings, which apply to all profiles
  2. profile settings, which define profiles
  3. custom color scheme settings, and
  4. keybinding settings

The file uses the following format:

// This file was initially generated by Windows Terminal
{

  // general settings, e.g.
  "initialRows": 40,

  // profile settings
  "profiles":
  {

    "defaults":
    {
      // settings that apply to all profiles
    }
    "list":
    [
      // list of individual profiles, e.g.
      {
        "guid": "{81d1dceb-c123-5678-90a1-123abc456def}",
        "name": "Windows PowerShell",
        "commandline": "powershell.exe"
      },
      {
        "guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
        "name": "Ubuntu",
        "source": "Windows.Terminal.Wsl"
      }
    ]

  }

  // custom color schemes, e.g.
  "schemes": [
    {
      "name": "My new theme",
      "cursorColor": "#FFFFFF",
      "selectionBackground": "#FFFFFF",
      "background" : "#0C0C0C",
      "foreground" : "#CCCCCC"
    }
  ],

  // custom key bindings, e.g.
  "keybindings:
  [
    { "command": "find", "keys": "ctrl+shift+f" }
  ]

}

Defaults are defined in defaults.json. Open it by holding down Alt when clicking Settings in the drop-down menu.

Warning: do not change the defaults file! Use it to view default settings and, where necessary, add or change a setting in settings.json.

Global Settings

The following global settings are the most useful, although more are documented in the Windows Terminal documentation.

"defaultProfile" defines the GUID of the profile used as the default when Windows Terminal is launched.

Set "copyOnSelect" to true to automatically copy selected text to your clipboard without having to press Ctrl + Shift + C.

Set "copyFormatting" to false to just copy plain text without any styling. (I wish this were the default for every application everywhere!)

Set "initialColumns" and "initialRows" to the number of characters for the horizontal and vertical dimensions.

"tabWidthMode" can be set to:

  1. "equal": each tab is the same width (the default)
  2. "titleLength": each tab is set to the width of its title, or
  3. "compact": inactive tabs shrink to the width of their icon.

"disabledProfileSources" sets an array which prevents profiles being automatically generated. For example:

  "disabledProfileSources": [
    "Windows.Terminal.Wsl",
    "Windows.Terminal.Azure",
    "Windows.Terminal.PowershellCore"
  ],

This would disable all generated profiles; remove whichever ones you want to retain.

Continue reading The Complete Guide to Windows Terminal on SitePoint.


by Craig Buckler via SitePoint