Protected: Grafana Notes

This content is password protected. To view it please enter your password below:

Protected: Moz Dashboard Dataflow Notes

This content is password protected. To view it please enter your password below:

Linux Alerting Circa 2020: signal-cli, ssmtp

Trying to present the smallest attack service possible? Don’t want to run a local mailserver? Check, check.

From java land, use signal-cli, aka signal-cli.

From systems land, ssmtp via a google account. Here’s a how-to.

And this for the 2FA bits.

Then to test it:

echo "this is the body" | mail -s "quint automation: alerting active" bdekoz@mozilla.com

Dell Precision 5820 Tower Notes

Notes for running Fedora 29 on the Dell Precision 5820 Tower workstation. The particular model has Intel Xeon W-2155, ie 10 cores at 3.3-4.5 GHz, 32GB RAM, 500GB NVMe drive, Nvidia P400 graphics cards with mDP outs.

BIOS Settings

Linux needs certain BIOS settings flipped:

  • Secure Boot Disabled
  • System Config -> SATA to AHCI (RAID might work but untested)
  • Misc Devices -> Enable SD Card, SD Card boot
  • Boot Sequence -> UEFI, UEFI boot path security off

Install

Used the netinstall ISO image written to a SD card, and then booted the computer off this device (Hold down the function 12 key at startup to get a boot menu.)

There is no getting around the video oddness when installing. Embrace the suck. This is the only tricky part of installing on this hardware (well, the SSD drive can be a bit problematic if not using a very current Fedora version, so don’t do that).

What worked:

Add

inst.text

to the linux boot line, which boots you into text mode (aka init 3). Then,
start the network and install the Nvidia drivers from RPMFusion.

ifup en01;
dnf install -y kmod-nvidia

This should add the nouveau modules to the blacklist on future boots, but to make sure this is how to do it on the linux boot line:

rd.driver.blacklist=nouveau modprobe.blacklist=nouveau

 

Dual Boot, Windows VM, etc.

Let’s be able to run windows 10, either via virtualization or natively.

To extract the windows key from the machine when using linux, try:

sudo cat /sys/firmware/acpi/tables/MSDM | tail -c 32 | xargs -0 echo

Then use that key to install windows 10 from the ISO, or use it in an existing KVM image.

To install natively, shrink your windows install away to a mere sliver so that most space can be used by a linux install via…

Just right click on “My Computer”, choose “Manage”, and you will get a popup window, choose “Disk Management” in the left navigation bar. And then, your hard disk condition will show as follow. Then you need to right click on the partition which you want to shrink, and choose “Shrink Volume”.

ARP Database Notes

Software configuration for commodity x86/86_64 linux art research platform.

Prerequisites

Assume Fedora 27. See base document for full software stack.

Database Setup 1: server mysql

Both the wiki and wordpress require a database. So, pick the MySQL database, which is packaged as mariadb on Fedora. Project page for MariaDB.

dnf install -y mariadb mariadb-server php-mysqlnd phpMyAdmin

Secure it (and set the root password on the database) with

mysql_secure_installation

And enable and start it via

systemctl enable mariadb.service
systemctl start mariadb.service

To use the web-ui to administer, go to

http://localhost/phpmyadmin/

Configuration file is: /etc/my.cnf
Log file is:/var/log/mariadb/mariadb.log
The site files are in prefix:/var/lib/mysql

Database Setup 2: per-user postgressql

For non-platform use, aka for individual users, pick the glom front-end for the postgres database. Some platform notes are here.

dnf install -y postgresql postgresql-server postgresql-libs postgresql-contrib phpPgAdmin

Initialize the database

postgresql-setup --initdb --unit postgresql

Then enable and start

systemctl enable postgresql
systemctl start postgresql

To use the web-ui to administer, go to

http://localhost:8080/phppgadmin

There is a graphical database called glom that is similar to FileMakerPro on the mac and Access on windows.

dnf install -y glom

IPFS Configuration and Optimization Notes

See background information and other details see IPFS Background.

IPFS Background

Background

Some info:
Stanford Seminar, IPFS and the Permanent Web, October 22, 2015.

Main problem points with current web: offline, distributed, permanence, security, speed, lack of richer communication protocols.

Merkle Web, Merkle Tree, Merkle Links: protocol to upgrade how the web works. Related to git’s merkledag. Instead of using a centralized address to locate, use a combination of data x hash function as the address, that way it can be shared.

A quick summary:

Taking a higher-level approach to network design, like Paul Baran and some of the earliest categorization of networks, as featured in 1964’s On Distributed Communications. See network designs for centralized, distributed, peer, isolated, etc.

There is also no ‘presence linking’ in the status quo, meaning that there isn’t a notion for a peer to announce itself in several transports, so that other peers can guarantee that it is always the same peer.

This is especially problematic when sharing media. Any file, any media: when shared on a centralized network, the total amount of data required to share is the size of the original media times multiplied by the number of shares (modulo caching, if be). Ten or 20x multiples are common.

The solution is a distributed web with content uniquely identified, so it can be properly served by multiple peers in a resilient manner. In addition, this works for disconnected, offline, and slow networks.

Instead, social platforms are throwing tons of capital to build walled gardens on centralized networks. Apps continue to dominate the mobile web.

Some hype:
TEDxSanFrancisco, The Next Internet Revolution, December, 2016.

There is documentation for the distributed web as a free gitbook, The Decentralized Web Primer.

Sources, Protocol Specifications

InterPlanetary File System wikipedia.

The IPFS Project, a hypermedia transport protocol project. Based on a network stack encoded in libp2p. See specs documentation here. The naming system is IPNS.

Online community is found here.

Part of Protocol Labs

Questions
what about other peer to peer networking libraries, namely libtorrent? libp2p design compare?

language bindings for libp2p are javascript, go, rust, python. What else is in development?

See Also

Dtube