G R A F F I T I !
C A L E N D A R !
x
-
+

Binary Powers

<
o
>
2 0
1
2 1
2
2 2
4
2 3
8
2 4
16
2 5
32
2 6
64
2 7
128
ASCII code points
2 8
256
2 9
512
2 10
1024 1
1024
1 Kibibyte (KiB)
2 11
2048
2 12
4096
2 13
8192
2 14
16384
2 15
32768
Quartz resonation per second
2 16
65536
Number of Linux ports
2 17
131072
2 18
262144
2 19
524288
2 20
1024 2
1048576
1 Mebibyte (MiB)
...
...
...
...
2 30
1024 3
1 Gibibyte (GiB)
2 40
1024 4
1 Tebibyte (TiB)
2 50
1024 5
1 Pebibyte (PiB)
2 60
1024 6
1 Exbibyte (EiB)
2 70
1024 7
1 Zebibyte (ZiB)
2 80
1024 8
1 Yobibyte (YiB)
2 90
1024 9
1 Robibyte (RiB)
2 100
1024 10
1 Quebibyte (QiB)

Binary prefix
Multiple-byte units

x
-
+

Linux "find" Command

<
o
>
find
<dir>
[-not] -name
<regex>
 . . .
 . . .
-type
<d,f,...>
 . . .
 . . .
-mtime
[+/-]<integer>
 . . .
 . . .
-maxdepth
<integer>
 . . .
 . . .
-mindepth
<integer>
 . . .
 . . .
 . . .
 . . .
-exec <command> {} [/dev/null] \;
x
-
+

Computer Links

<
o
>
Online Calculators & Tools - RapidTables.com
  RGB to Hex color conversion (RapidTables)
  Hex to RGB Color Converter (RapidTables)
  HTML character codes (RapidTables)
  Roman Numerals 1-100 Chart (RapidTables)

Linux OS Presentation
8 Benefits Of Linux OS

Root name server
List of Internet top-level domains
List of Internet top-level domains (simple)
Country code top-level domain

Computer History Museum (CHM)
Computers | Timeline of Computer History | Computer History Museum
The Silicon Engine
tutorialspoint
Software Development Life Cycle (SDLC) Overview
Official Ubuntu Documentation
LAMP (software bundle)

phpMyAdmin
phpPgAdmin

MEAN (software bundle)

Color Wheel - Color Calculator | Sessions College
All colors - hex colors, rgb colors, and named colors...

Favicon Generator for all platforms: iOS, Android, PC/Mac...
W3Schools Online Web Tutorials
HTML Div Table - Online Tools

Documentation: Apache HTTP Server - The Apache HTTP Server Project
nginx
Home - Lighttpd - fly light

PostgreSQL: Documentation
MySQL :: MySQL Documentation
Whois Lookup, Domain Availability & IP Search - DomainTools
Finding Elements in the DOM
Create a new fiddle - JSFiddle
about URI scheme
List of Chrome URLs

What Date Format Is This? Detect & Convert Online
Date Formatter - Convert & Format Dates Instantly
Convert a date
Epoch Converter - Unix Timestamp Converter
Milliseconds to Date Converter
TimeBie -- Time Converters among Different Time Zones

Javascript Char Codes (Key Codes)
JavaScript Key Code Event Tool | Toptal®
Code Beautify
ip subnet calculator
Locate IP Address
File Download & Upload Time Calculator | File Transfer Time | Data Transfer Speed
Internet Speed Test
An introduction to Git: what it is, and how to use it
JS Essentials: The JavaScript Engine
DB-Engines Ranking
Ten sentences with all the Scrum Master advice you’ll ever need
Elastic Stack (ELK Stack)
Can I use... Support tables for HTML5, CSS3, etc
Cheap SSL Certificates. Buy SSL/HTTPS Certificate $3.98
SSL Certificate Checker
IP Chicken - What is my IP address? Free public IP lookup.
PostgreSQL command line cheatsheet · GitHub
The History of Slonik, the PostgreSQL Elephant Logo
What Are Favicons: Everything You Need to Know in 2021
XMLHttpRequest vs Fetch API
10 useful HTML file upload tips for web developers
Relentless Coding - Make Less Options Permanent or the Missing Lessrc
PortableApps.com - Portable software for USB, portable, and cloud drives
RenameUSBDrive - ubuntu
Improving SSD Lifespan on Linux: What I Learned Not to Do
The Differences Between MBR and GPT
Ubuntu upgrade or update a single package using apt-get
How to Change Linux Partition Label Names on EXT4 / EXT3 / EXT2 and Swap
Extend the life of your SSD drive with fstrim
DNS leak test
What Is My IP Address - See Your Public Address - IPv4 & IPv6
Pentest-Tools.com | 25+ Online Penetration Testing Tools
Storing Passwords Securely With PostgreSQL and Pgcrypto
MX Lookup Tool - Check your DNS MX Records online - MxToolbox
Viewport Size for Devices
PostgreSQL Tutorial
17 Practical psql Commands That You Don’t Want To Miss
psql Tips and Tricks
Semantic HTML
HTML Semantic Elements
Visual Studio Code
Polypane, The browser for ambitious developers
Why the C Programming Language Still Runs the World | Toptal®
How to Query a Postgres JSONB Column
Nullware
Hack The Box: Hacking Training For The Best | Individuals & Companies
.bashrc generator: create your .bashrc PS1 with a drag and drop interface
explainshell.com - match command-line arguments to their help text
TWRP (software)

What is my viewport
Difference Between Viewport, Screen Resolution, DPR, and PPI for Responsive Web Development
mydevice.io : web devices capabilities
Screen sizes, viewport size and CSS media queries for popular Smart Watches | YesViz

Eloquent JavaScript
JavaScript Key Code Event Tool | Toptal®
A simplified introduction to Dart and Flutter
How to Install and Use Etcher on Linux for Making Live Linux USB
balenaEtcher (Flash OS images to SD cards & USB drives)
digraph - VIM Documentation
5 Ways to Empty or Delete a Large File Content in Linux
Best Android apps in 2024
Free Send Icon, Symbol. Download PNG, SVG

Kent Wallpapers - Wallpaper Cave
Linux Tux Wallpapers - Wallpaper Cave

47 Keyboard Shortcuts That Work in All Web Browsers
JavaScript Event Keycodes
Nokia Bell Labs
Bell Labs Holmdel Complex
Why are internet cookies called cookies?
Z3 (computer)
Usage share of web browsers
The Brief History Of Aix, HP-UX, Solaris, BSD, And LINUX
What Are stdin, stdout, and stderr on Linux?
Linux signals
Vim Cheat Sheet
Bash - GNU Project - Free Software Foundation
Ryan's Tutorials - A bunch of Technology Tutorials
Figlet cheatsheet
HTML URL Encoding
List of computing mascots
Computer processor history
What's the Difference Between Linux and Unix?
List of HTTP status codes
Stack Exchange
HTML5
HTML element
Connections Museum Seattle | The Telecommunications History Group, Inc
Mockaroo - Random Data Generator and API Mocking Tool | JSON / CSV / SQL / Excel

Atom (text editor)
Atom
Sublime Text
Sublime Text - Text Editing, Done Right
List of text editors
vi (text editor)

Free Downloadable Fonts and Dingbats | FontRiver
DaFont - Download fonts
Classful network
Statcounter Global Stats - Browser, OS, Search Engine including Mobile Usage Share
Cover Your Tracks
Tools | Netcraft
Web Server Survey | Netcraft
LXR / The Linux Cross Reference
Browserling – Online cross-browser testing
Free Clipart Collection: Download High-Quality Graphics on Clipart Library

The Story Behind all the Animals on O'Reilly's Book Covers - The New Stack
Animal Menagerie - O'Reilly Media

CodePen: Online Code Editor and Front End Web Developer Community
Opera Web Browser | Faster, Safer, Smarter | Opera
13 Best Languages for Web Development in 2024 | BrowserStack
JavaScript Fetch API For Beginners – Explained With Code Examples

Alan Turing
Turing machine

Mastering 'fstrim': A Linux Command for SSD Optimization
Bash History Display Date And Time For Each Command - nixCraft
7 Legal Ways To Get Free eBooks
WebPageTest - Website Performance and Optimization Test
Sed Command in Linux/Unix with examples - GeeksforGeeks
URL encoding/decoding with sed - bureau-it.com
List of TCP and UDP port numbers
Sitemap Checker - XML Sitemap Validator & Visual Viewer
How-to: Setup Prompt Statement variables
Print a QR code for guests to join your Wi-Fi network
Packages for Linux and Unix
Pause your code with breakpoints  |  Chrome DevTools  |  Chrome for Developers
Difference Between REST API and RESTful API | GeeksforGeeks
Reqres - A hosted REST-API ready to respond to your AJAX requests
How to Use the Linux top Command (and Understand Its Output)
The UNIX School: sed - 10 examples to print lines from a file

Regex Tutorial - Lookahead and Lookbehind Zero-Length Assertions
Regular expression syntax cheat sheet - JavaScript | MDN
Regex Tutorial - Repetition with Star and Plus

Web performance | MDN
Web APIs | MDN

30 Ways To Improve Your Website Performance | PageDart
Semrush - Online Marketing Can Be Easy

Wumbo
The Open Graph protocol
React VS Angular VS Vue – Which Framework is the Best?
Escape sequences in C
Database
SQL
JavaScript: Displaying JSON data as a table in HTML - Sling Academy
Tree view
How to check Linux job status | LabEx
2017 Ukraine ransomware attacks
Anonymous (hacker group)
Stuxnet
Photonic integrated circuit
ElevenLabs

DARPA
ARPANET
Darknet

Flatpak vs. Snap vs. AppImage

Domain Name Sales History - NameBio
Domain Name Journal - The Domain Industry News Magazine at DNJournal.com
American Registry for Internet Numbers
Autonomous system (Internet)

IP info REST API

Atlas (computer)
Atanasoff–Berry computer (ABC)

Example Domain
What are the best private browsers in 2025?

URL Decode and Encode - Online
URL Encode and Decode - Online

SVG Repo - Free SVG Vectors and Icons
Device Info - Web browser security, privacy, and troubleshooting tool.

Complex instruction set computer
Reduced instruction set computer
MIPS architecture
Comparison of instruction set architectures
RISC vs CISC - GeeksforGeeks

Linux Bash - Making it even easier to get started with Linux Bash
  Profile a script’s execution time with `BASH_XTRACEFD` - Linux Bash
  Debugging Bash Scripts with `set -x` - Linux Bash

How to Extract Bash Substring? [5 methods] - LinuxSimply

Wiki Table to CSV online converter
CSV to JSON - CSVJSON
MediaWiki API help - Wikipedia
  wikipedia.org/w/api.php...
The Red Hat ecosystem: Then vs. now | TechTarget
Hardware abstraction
History of programming languages
History of computing hardware (1960s–present)
History of computing hardware
Digital twin
List of the oldest currently registered Internet domain names
15 Best Open Source Software You Must Try in 2025
Hedy Lamarr
Browse Journals & Magazines by Title | IEEE Xplore
JSF Standards
C++ Core Guidelines
AUTOSAR
Payload (computing)
Ubuntu (typeface)
Typeface vs Font: What's the Difference - GeeksforGeeks
Symbolics.com - The First Domain Name Ever Registered on the Internet
LocalSend: Share files to nearby devices
Omakub — An Omakase Developer Setup for Ubuntu 24.04+ by DHH
Omarchy — Beautiful, Modern & Opinionated Linux by DHH
Ex Machina
Geoffrey Hinton
torvalds (Linus Torvalds) · GitHub
Linux Desktops tier list for 2025: what's good, and what's not! - YouTube
Pop!_OS
COSMIC desktop
Download Pop!_OS by System76
Character encoding
Namespace
GitHub - turbo/treetop: Accurate memory and CPU usage stats for a linux process tree.
Pure CSS Tree View: Simple & Unlimited Nesting | CSS Script
Unminify CSS - Free CSS Compressor and Formatter
Download free SVG clip art and silhouettes for Cricut cutting machines.
Responsive web design
Flathub - Apps for Linux
Brainfuck
coreboot
IETF | About
A Deep Dive into JSON: Part 2. JSON & Numbers
Qubes OS
What is JSONL? An Introduction to JSON Lines Format - JSONL Tools
Cheatsheets | Linuxize
Registration Data Access Protocol
ICANN Lookup
XZ Utils backdoor
R (programming language)
Linux, Git, Docker Cheat Sheets and Quick Reference | GoLinuxCloud
Sprite (computer graphics)
x
-
+

vim.basic

<
o
>

Vim (text editor)
kemiko's vi/vim Command Reference
vi cheat sheet at DuckDuckGo
Vim basic commands · GitHub
Vim Tips Wiki | Fandom
Vim Cheat Sheet
Editor war
Overview of a terminal

h
move cursor left
<integer>h
move cursor left <integer> columns
j
move cursor down
<integer>j
move cursor down <integer> lines
k
move cursor up
<integer>k
move cursor up <integer> lines
l
move cursor right
<integer>l
move cursor right <integer> columns
/<string/regex>Enter
search forward
/\c<string/regex>Enter
search forward (case insensitive)
?<string/regex>Enter
search backward
?<string/regex>Enter
search backward (case insensitive)
/<string/regex>.*<string/regex>...Enter
search with anything between multiple <string/regex>
?\c<string/regex>Enter
search (backward/case insensitive)
n
next match in search (same direction)
N
next match in search (opposite direction)
:<integer>Enter
move cursor to <integer> line
<integer>G
move cursor to <integer> line
G
move cursor to last line
0 or |
move cursor to first column
^
move to the first non-blank character
<integer>|
move cursor to <integer> column
$
move cursor to last column
<integer> $
move cursor to last column <integer> lines down
Ctrl f
move forward one full screen
Ctrl b
move backward one full screen
w
move to next word
b
move to previous word
<integer> Enter
move <integer> lines down
)
move a sentence forward
(
move a sentence back
}
move a paragraph forward
{
move a paragraph back
%
go to matching parenthesis/bracket (square/curly)
zEnter
move cursor line to top of screen
  • Tips/Tricks...
    • VI saves to the swap file within a second of a change
    • If editor is lost/gone...run "vi -r <file>" to recover
    • If editor is lost/gone and a file was never saved...run "vi -r <.file.swp>" to recover
    • Why redo,undo (ctrl-r,u) can be a best friend...intended use plus use like a vim mark
    • ":as" or "ga" get the ascii code of cursor character
    • :help, :set, :sort, :digraph, :color <schema>, :syntax <on,off>:.,$<command>etc
    • ct<character>   # change from cursor to first occurrence of <character>
    • dt<character>   # delete from cursor to first occurrence of <character>
    • yt<character>   # yank from cursor to first occurrence of <character>
  • VI modes...normal/command, insert, and visual
  • Add macros, marks, etc
    • qa, "macro key strokes", q, @a (play macro)
    • place cursor, ma, `a (go to mark) and 'a (go to beginnng of mark line)
  • Added swap recovery scripts...in Linux - BASH -> "Scripts (files)" at bottom named swap[1-4*.sh.
x
-
+

JavaScript (JS)

<
o
>
JavaScript is a versatile programming language primarily used to create interactive features on websites, allowing for dynamic content updates and user interaction. It operates alongside HTML and CSS, enabling developers to manipulate web page elements and respond to user actions in real-time.

Links

JavaScript
ECMAScript
JavaScript and HTML DOM
Properties and Methods
HTML Event Attributes
Jake Archibald on the web browser event loop, setTimeout, micro tasks, requestAnimationFrame, ...
Element size and scrolling
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue

CSS
HTML
JSON
jq (programming language)
TypeScript

"JSON Query (jq)" pane
"Cascading Style Sheets (CSS)" pane

Browser Console

// comment(s)
/* comment(s) */
ctrl-a   // select all (console)
ctrl-c   // copy selected text (console)
ctrl-l   // clear displayed text NOT history (console)
ctrl-v   // paste copied text (console)
ctrl-x   // cut selected text (console)
ctrl-y   // redo undos (console)
ctrl-z   // undo the history line by line (console)
debugger;
document.activeElement
typeof operator
Object.keys( console )
alert( )
confirm( )
console.clear( )
console.dir( object, options )   // display the JavaScript representation of the DOM node
console.dir( object, { colors: true, depth: null } )   great options to use
console.error( )
console.log( )
console.table( array )   // display an array as a formatted table
console.trace( )
console.warn( )
localStorage.clear( )
document.getElementsById( 'name' )
document.getElementsByClassName( 'name' )
document.getElementsByTagName( 'name' )
document.getElementsByName( 'name' )
event.preventDefault( );
event.stopPropagation( );
document.styleSheets[9].rules[9] || document.styleSheets[9].cssRules[9]
document.styleSheets[9].cssRules[9].style.backgroundImage
element.style.display="block"   // "inline-block", "none"
element.style.textAlign="center"   // "left", "right"...CSS "text-align"
element.style.zIndex = 9   // CSS "z-index"
document.querySelector( CSS selector );
document.querySelectorAll( body .class );
JSON.stringify( object )   // turns a JavaScript object into JSON text and returns that JSON text as a string
JSON.parse( string )   // turns a string of JSON text into a JavaScript object
null != element.match( string )
string = element.replace( string )
window (global), var (local fn), and let (local block)
basically there are two event models in JavaScript...event capturing and event bubbling
element.classList.contains( 'className' );
element.client*
element.offset*   // offsetLeft, offsetTop, offsetWidth, offsetHeight...offsetParent
element.scroll*
if( document.querySelector( '.myDivClass' ) !== null )
{
  // it exists
}
for( var x in window )
{
  if( window[x] instanceof Function) console.log( x );
}
for( var x in document )
{
  if( document[x] instanceof Function) console.log( x );
}
console.log( window );
for( var property in element )
{
  console.log( element[property] );
}
getEventListeners( document )
document.querySelector("link[rel~='icon']")   // simple
(document.querySelector("link[rel*='icon'], link[rel*='shortcut icon']") ? document.querySelector("link[rel*='icon'], link[rel*='shortcut icon']").href : window.location.protocol + "//" + window.location.host + "/favicon.ico")   // complex
document.querySelector("link[rel*='icon'], link[rel*='shortcut icon']")?.href || new URL("/favicon.ico", window.location.href).href   // ES2020
document.title
let score = 91;
let grade = (score >= 90) ? "A" :
            (score >= 80) ? "B" :
            (score >= 70) ? "C" :
            (score >= 60) ? "D" : "F";
console.log( grade );   // output: A

Debugging

Put a "debugger;" statement in your code
  • hard starting point
  • great code marker
Get past/thru a loop
  • click the line number of the ending "}"
  • click "Resume script execution (F8)
  • unclick the highlighted line number
  • continue debugging
Write your own debugging library
  • write functions that are only helpful for debugging code
  • put a one line comment inside the function at the very top
  • Type the function name, without "()", in the console to print the definition with comment
  • put your debugging functions into their own JavaScript file
  • <script type="text/javascript" src="debug.js"></script>
  • call these functions from the console
  • // DEBUGGING CODE
    document.addEventListener( 'click', (e) => {
    console.log( "Clicked element:", e.target );
    } );
  • remove from production code
Comment out an entire function
  • make a copy of a function to be heavily modified
  • change the original function name in the definition
  • fool proof with internal comments
  • super easy to un/do
  • after change is verified good remove the original copy

Browser Address Bar

chrome://about
chrome://version
chrome://settings
chrome://settings/cookies
chrome://settings/clearBrowserData
chrome://favicon/<http[s]://site.com>
chrome://bookmarks
file:///
Shortcut Keys
Ctrl + D...bookmark page
Ctrl + L...jump to location bar
Ctrl + U...view sourc code
Ctrl + Shift + I...open Dev Tools
Console (Dev Tools)
Ctrl + a   // Select all.
Ctrl + c   // Copy.
Ctrl + l   // Clear.
Ctrl + v   // Paste.
Ctrl + x   // Cut selected.
Ctrl + y   // Redo undo.
Ctrl + z   // Undo.
allow pasting   // type in console to allow pasting

opera://about
opera://settings
opera://settings/content/cookies
opera://settings/siteData
opera://bookmarks
opera://history
opera://flags
file:///

"LibreWolf" pane

Functions

// Function to get scrollbar width
function getScrollbarWidth( )
{
  const outer = document.createElement( 'div' );
  outer.style.visibility = 'hidden';
  outer.style.overflow = 'scroll';
  outer.style.position = 'absolute';
  outer.style.top = '-9999px';
  outer.style.width = '100px';
  outer.style.height = '50px';
  document.body.appendChild( outer );

  const inner = document.createElement( 'div' );
  inner.style.height = '200px';   // Force scrolling
  outer.appendChild( inner );

  const scrollbarWidth = outer.offsetWidth - outer.clientWidth;
  document.body.removeChild( outer );

  return scrollbarWidth;
}

The Event Loop & Asynchronicity

The **Event Loop** is the mechanism that allows JavaScript to perform non-blocking operations despite being single-threaded. It manages the execution stack, the heap (memory allocation), and the queue system.

Key Components

  • **Call Stack:** Where synchronous code (functions) is executed.
  • **Web APIs (Browser):** Functions provided by the browser, not JS itself (e.g., setTimeout(), AJAX, DOM events).
  • **Callback Queue (Task Queue):** Holds tasks (like event handlers or setTimeout callbacks) waiting to be pushed to the stack.
  • **Microtask Queue:** A higher-priority queue for Promises and queueMicrotask(). The event loop prioritizes draining the Microtask Queue *before* checking the Callback Queue.

Common Pitfalls

A zero-delay setTimeout(fn, 0) doesn't run immediately. It runs only after the current stack is completely empty, ensuring asynchronous tasks wait for synchronous code to finish.


Modern Features (ES6+)

Essential syntax for cleaner, more functional JavaScript development.

`Hello ${name}`   // **Template Literals** (for interpolation)
...arrayOrObject   // **Spread Operator** (merges, copies arrays/objects)
const { a, b } = obj;   // **Destructuring** (pulls values from objects/arrays)
async function / await   // **Async/Await** (cleaner promise handling)
const func = () => {};   // **Arrow Functions** (lexical this binding)
element?.property   // **Optional Chaining** (safely access nested properties)
value ?? 'default'   // **Nullish Coalescing** (handles null or undefined)

DOM Manipulation Essentials

The most common and efficient methods for element creation and manipulation.
document.createElement('div')   // Create a new node
element.appendChild(childNode)   // Add a child
element.addEventListener('click', handler)   // Attach an event
element.textContent / element.innerHTML   // Reading/setting content
element.dataset.myValue   // Accessing `data-my-value` attributes
element.closest('.parent')   // Find nearest ancestor matching selector
window.onload / document.ready / DOMContentLoaded   // Page loading events

x
-
+

Linux Web Server (oxygen)

<
o
>
Linux
  • use PuTTY to SSH to server
  • put server name in the window title
    • can be set in PuTTY
    • can be dynamic with server's command prompt
      • PS1="# \u@\h:\w \t #"a (review oxygen's prompt)
  • use different colors for different servers
Naming
  • general to specific
  • noun then verb
  • camelCase
  • keep database column names in code until ready to output on report
JSON (JavaScript Object Notation)
  • layer between database and user
  • can generate per report and/or for multiple reports
  • make for process/queue time
  • make a daily build to cover multiple files
PHP Headers
  • "base" for error, debugging, language... settings. Pulling in all other headers
  • "database" for connecting to databases
  • "datetime" for formatting dates and times
  • "page" for headers, footers, etc
BASH Scripts
  • set_env
  • backup.sh
  • email.sh
  • diskChk.sh
  • loadChk.sh
  • swapChk.sh
To Do
  • git source control (configs and app code)
  • masquerade as xyz.abc.com (instead of oxygen.xyz.abc.com)
  • add page loaded timestamp in report footer (already in headers)
x
-
+

WikipediA (1st)

<
o
>
x
-
+

Musicians

<
o
>
x
-
+

Audio Clips (music)

<
o
>
x
-
+

Apache2 Server

<
o
>
Comments
  • Inline comments
    • # comment(s)
  • Block comments
    • <IfDefine IgnoreBlockComment>
         comment(s)
      </IfDefine>
Apache HTTP server control interface
  • List help
    • apachectl -h
  • List server root directory (configs)
    • apachectl -t -D DUMP_RUN_CFG 2>/dev/null | grep 'ServerRoot' | awk -F'"' '{print $2}'
  • List server error file
    • apachectl -t -D DUMP_RUN_CFG 2>/dev/null | grep 'Main Error' | awk -F'"' '{print $2}'
  • show all loaded modules
    • apachectl -M
    • apachectl -t -D DUMP_MODULES
  • Show parsed vhost settings
    • apachectl -S
    • apachectl -t -D DUMP_VHOSTS
  • Restart server
    • apachectl -k restart
  • Test configs
    • apachectl -t
    • apachectl configtest
List all available modules
  • ls /etc/apache2/mods-available
List all available and enabled modules
  • ls /etc/apache2/mods-*
a2ensite, a2dissite - enable or disable an apache2 site / virtual host
  • Config file(s) are in <ServerRoot>/sites-available
  • a2ensite <configFile>
  • a2dissite <configFile>
Reload configs
  • systemctl reload apache2
  • OR
  • service apache2 reload
Retrieve runtime configuration from a local Apache 2 HTTP server
  • List help
    • a2query -h
  • List available sites
    • a2query -s
  • Checks whether the module(s) are/is enabled
    • a2query -m <module>
Manage user files for basic authentication
  • List help
    • htpasswd
  • Create a new file
    • htpasswd -c .htpasswd user
  • Add user to file
    • htpasswd .htpasswd user
  • Display line to added to file
    • htpasswd -n user
htaccess file basic setup
  • AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile .htpasswd
    Require valid-user
Log rotate config
  • /etc/logrotate.d/apache2
My custom script called from "/etc/logrotate.d/apache2"
  • /usr/sbin/apacheAccessLog.sh   Ancient script...have and do use newer methods
Retrieves only the HTTP headers (metadata) from the server
  • curl -I https://panes.us


#] root@web:~ 21:47:16 0 [# cat /usr/sbin/apacheAccessLog.sh
#!/bin/bash

filename="/var/log/apache2/access.log.1"
hostname="localhost"
username="apache"
password="******"
database="apache"
sqltable="accessLog"

mysql -h${hostname} -u${username} -p${password} ${database} << EOQ
LOAD DATA LOCAL INFILE "${filename}" INTO TABLE $sqltable
FIELDS TERMINATED BY '\t'
EOQ

mysql> select substring( datetime, 1, 10 ) as dt, filename as fn, count(*) as ct from accessLog where datetime > date_sub( now( ), interval 30 day ) and filename = '/var/www/html/us/panes/index.html' group by dt, fn;
mysql> select substring( datetime, 1, 10 ) as dt, filename as fn, substring( request, 1, 64 ) as rq, count(*) as ct from accessLog where datetime > date_sub( now( ), interval 30 day ) and filename = '/var/www/html/us/panes/index.html' group by dt, fn, rq order by ct desc;
mysql> select * from accessLog where datetime > date_sub( now( ), interval 1 day) and status = 404;
mysql> select count(*), substring( request, 1, 64 ), filename from accessLog where datetime > date_sub( now( ), interval 1 day) and status = 404 group by request, filename order by count(*) desc;
mysql> select * from accessLog where datetime > date_sub( now( ), interval 1 day) and status not in( 401, 404 );
mysql> select count(*), substring( request, 1, 64 ), filename from accessLog where datetime > date_sub( now( ), interval 1 day) and status not in( 401, 404 ) group by request, filename order by count(*) desc;
mysql> select filename, count(*) from accessLog where datetime > date_sub( now( ), interval 1 day ) and status <> 404 group by filename order by count(*) desc;
mysql> select filename, count(*) from accessLog where datetime > date_sub( now( ), interval 1 day ) and status not in( 401, 404) group by filename order by count(*) desc;
mysql> select substr( filename, 1, 29 ), count(*) from accessLog where datetime > date_sub( now( ), interval 1 day ) and status not in( 401, 404 ) and filename regexp '/var/www/html/us/kohlmeyer/[cekp]' group by substr( filename, 1, 29 ) order by count(*);

Apache HTTP Server - Wikipedia
Apache HTTP Server
Difference between Apache and Nginx
x
-
+

Hangman (elements)

<
o
>


Wrong Letters:

hangman0.png

x
-
+

Linux - BASH

<
o
>

Overview

BASH (Bourne Again SHell) is the standard command-line interpreter and scripting language for most Unix-like operating systems (Linux, macOS). It is the program that reads and executes commands entered by a user in a terminal.

Dual Role

BASH's power comes from its dual functionality:
  1. Interactive Shell: It acts as the primary interface for users to control the operating system in real-time. It provides features like command history, tab completion, and command editing, making system navigation efficient.
  2. Programming Language: It allows system administrators and developers to write shell scripts (files ending in .sh). These scripts automate complex or repetitive tasks, combining multiple system commands with logical programming constructs like loops (for, while) and conditional statements (if/else).

Core Concepts

  • Commands & Utilities: BASH runs external programs (utilities) like ls, grep, find, awk, etc.
  • Piping (|): It excels at chaining commands, where the output of one command serves as the input for the next. This allows for complex data processing.
  • Environment: BASH manages the environment variables (e.g., $PATH, $HOME) that define the session, influence program behavior, and determine where the system looks for executable files.
  • Redirection: It allows users to redirect the output of a command to a file (>) or use a file as input (<).

Author

  • Brian Fox

Initial release

  • 1989-06-08

Developer

  • Chet Ramey

In essence, BASH is the glue that connects the user, the system utilities, and the operating system kernel, making it an indispensable tool for system control and automation.


Setup

balenaEtcher (Flash OS images to SD cards & USB drives)
LocalSend: Share files to nearby devices

Basics

Settings

Command Execution Order

I. Precedence (The Lookup Hierarchy)

  1. Alias Expansion: This is the very first step, but only under specific conditions (interactive shell or shopt -s expand_aliases). This is why you can use an alias to override almost anything, including built-ins, but it is not a part of the standard PATH search.
  2. Explicit Path: If the command contains a slash (e.g., ./script.sh or /bin/ls), BASH assumes you provided the path and tries to execute that file directly.
  3. Shell Function: Functions take precedence over built-ins and executables in $PATH. This is a common method for overriding system commands (e.g., creating a function named ls that always includes your favorite options).
  4. Shell Built-in: These are commands compiled directly into the BASH shell itself (e.g., cd, echo, read). They are faster than external executables.
  5. Hash Table Check: BASH keeps a memory (the hash table) of where it previously found external executables. If the command name is in the hash table, BASH uses that cached path. This speeds up command execution, as it avoids searching all directories in $PATH every time.
  6. $PATH Search: This is the traditional search. BASH checks each directory listed in the $PATH environment variable in order, executing the first matching file it finds.
  7. command_not_found_handle: If all searches fail, BASH calls this function if it is defined (often used by distributions to suggest packages to install).
  8. Error (127): The final outcome if no command is found.

II. Controlling What BASH Uses (Built-in Commands)

Built-in Command Purpose Precedence Used
builtin <name> Forces BASH to use the shell built-in of that name, bypassing aliases and functions. Forces (4) Shell Built-in
command <name> Forces BASH to use a built-in or search the $PATH, bypassing aliases and functions. Skips (1) & (3), executes (4) or later.
/path/to/command Forces BASH to use a specific executable file on disk, bypassing all other lookups. Forces (2) Explicit Path

III. Debugging and Cleanup

The provided cleanup and debugging tools (unalias, unset, hash -d, hash -t) are the correct BASH commands for managing the namespace and the command hash table. Knowing how to use hash -t to check a cached path is particularly useful for debugging stale path issues.


Commands

Environment Files


#] kemiko@box:~ 09:47:15 0 [# cat .xinitrc
/usr/bin/xmodmap /home/kemiko/.xmodmap
#] kemiko@box:~ 09:47:16 0 [#
          


#] kemiko@box:~ 09:47:18 0 [# cat .xmodmap
! Swap caps lock and escape...awesome for VI, but can be a pain for other apps
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
#] kemiko@box:~ 09:47:19 0 [#
          


#] kemiko@box:~ 12:55:36 0 [# cat .inputrc
set editing-mode vi
set keymap vi-command
set enable-bracketed-paste Off   # fixes/changes full line paste to the shell "executing" the newline...BASH 4.4 and newer
#] kemiko@box:~ 12:55:37 0 [#
          


#] kemiko@box:~ 09:49:10 0 [# cat .vimrc
" color scheme to use
color kemiko

set paste

set softtabstop=2
set expandtab
set shiftwidth=2

" macro definitions
let @y = "YP"
let @z = "YPj"

syntax on
set list
au BufRead /tmp/psql.edit.* set syntax=sql

" set listchars=tab:>-,trail:~,extends:>,precedes:<,nbsp:␣
" set listchars=tab:→\,trail:•,extends:»,precedes:«,eol:↲,nbsp:␣
set listchars=tab:➜➜,trail:∙,precedes:«,extends:»,eol:↲,nbsp:␣
syntax match NonAscii "[^\x00-\x7F]"
highlight NonAscii ctermbg=red guibg=red

" Highlight tabs as errors.
match Error /\t/

command! NonAscii /\v[^\x00-\x7F]
command! SpaceAll /^ \+$/
command! SpaceEnd / \+$/

" SOP: System Integrity - Automatic Squirrel/Graffiti Removal
" Decided against because of 
 tag content
"autocmd BufWritePre /var/www/html/us/panes.dev/* :%s/\s\+$//e
"autocmd BufWritePre /var/www/html/us/panes.dev/**/* :%s/\s\+$//e
"autocmd BufWritePre */panes.dev/* :%s/\s\+$//e
#] kemiko@box:~ 09:49:11 0 [#
          


#] kemiko@box:~ 09:53:31 0 [# cat .vim/colors/kemiko.vim
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=2 sw=2
" Vim color file
" Maintainer:   Kent M Kohlmeyer
" Last Change:  2018-09-05

hi clear
set background=dark
if exists("syntax_on")
  syntax reset
endif
let g:colors_name = "kemiko"

highlight Comment    term=bold     ctermfg=darkgray
highlight Constant   ctermfg=14    cterm=none       guifg=#00ffff gui=none
highlight Identifier ctermfg=6     guifg=#00c0c0
highlight Statement  ctermfg=3     cterm=bold       guifg=#c0c000 gui=bold
highlight PreProc    ctermfg=10    guifg=#00ff00
highlight Type       ctermfg=2     guifg=#00c000
highlight Special    ctermfg=12    guifg=#0000ff
highlight Error      ctermbg=9     guibg=#ff0000
highlight Todo       ctermfg=4     ctermbg=3        guifg=#000080 guibg=#c0c000
highlight Directory  ctermfg=2     guifg=#00c000
highlight StatusLine ctermfg=11    ctermbg=12       cterm=none    guifg=#ffff00 guibg=#0000ff gui=none
highlight Normal     guifg=#ffffff guibg=#000000
highlight Search     ctermbg=3     guibg=#c0c000
#] kemiko@box:~ 09:53:32 0 [#
          


#] kemiko@box:~ 10:16:51 0 [# cat ~/.ssh/config
Host *
ServerAliveInterval 600
ServerAliveCountMax 5
#] kemiko@box:~ 10:16:52 0 [#
          


#] kemiko@box:~ 09:49:07 0 [# cat .gdbinit
# .gdbinit; 2024-12-09; Kent M Kohlmeyer (kemiko)

# alias gdb='gdb --quiet'

# show, info, help
# b = break
# d = delete
# l = list
# n = next
# q = quit
# r = run
# ! = rerun history command

#  for suggestion/completion...even shows user defines

# set prompt (gdb)
set prompt \033[1m(gdb) \033[0m
set height 36
set listsize 36
set pagination 0

# on|off
set print array
# on|off
set print pretty

set history filename ~/.gdbhist
# on|off
set history save
# on|off
set history expansion
set history size 256

define clr
  shell clear
end

define pin
  shell printf "\033[%d;%dH" "$arg0" "$arg1"
end
#] kemiko@box:~ 09:49:08 0 [#
          


#] kemiko@box:~ 00:39:53 0 [# cat .bashrc
# generic/default lines removed for this example

umask 0002

LS_COLORS='di=1:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90'
export LS_COLORS

set -o vi

bind -m vi-command 'Control-l: clear-screen'
bind -m vi-insert 'Control-l: clear-screen'

export EDITOR='/usr/bin/vi'
export PAGER='/usr/bin/less -SX'

PATH=${PATH}:/data/bin

fnFileBase( )
{
  BASENAME=$(basename ${1})
  echo ${BASENAME} | awk -F'.' '{print $1}'
}

fnFileExt( )
{
  BASENAME=$(basename ${1})
  echo ${BASENAME##*.}
}

fnDate( )
{
  date +%Y%m%d
}

fnDateLog( )
{
  date +%Y-%m-%d
}

fnTime( )
{
  date +%H%M%S
}

fnTimeLog( )
{
  date +%H:%M:%S
}

fnAbsoluteValue( )
{
  if [ "${1}" -eq "${1}" ] 2>/dev/null
  then
    [ $1 -lt 0 ] && echo $((-$1)) || echo $1
  else
    :
  fi
}

# return 1 = true and 0 = false
fnInteger( )
{
  local integer="$1"

  if [ "${integer}" -eq "${integer}" ] 2>/dev/null
  then
    return 1;
  else
    return 0;
  fi
}

if [ -f ~/.defines ]; then
    . ~/.defines
fi

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

if [ -f ~/.functions ]; then
    . ~/.functions
fi

function fnPrompt
{
  EXITSTATUS="$?"
  BOLD="\[\e[1m\]"
  RED="\[\e[1;31m\]"
  BLACK="\[\e[30;1m\]"
  GREEN="\[\e[32;1m\]"
  BLUE="\[\e[34;1m\]"
  YELLOW="\[\e[33;1m\]"
  WHITE="\[\e[37;1m\]"
  GRAY="\[\e[90;1m\]"
  OFF="\[\e[m\]"

  # 1. Define the non-printing title sequence inside the function
  TITLE_PROMPT='\[\e]0;\u@\h:\w\a\]' # Define or just use the string directly

  # 2. Define the visible part of the prompt
  PROMPT="${GRAY}#] ${RED}\u${GRAY}@${YELLOW}\h${GRAY}:${BLUE}\w ${WHITE}\t"

  # 3. Inject TITLE_PROMPT right before the PROMPT variable in the PS1 assignment
  if [ "${EXITSTATUS}" -eq 0 ]
  then
     PS1="${TITLE_PROMPT}${PROMPT} ${GREEN}0 ${GRAY}[#${OFF} "
  else
     PS1="${TITLE_PROMPT}${PROMPT} ${RED}1 ${GRAY}[#${OFF} "
  fi

  PS2="${BOLD}>${OFF} "
}

PROMPT_COMMAND=fnPrompt   # PROMPT_COMMAND runs just milliseconds before your prompt appears
#] kemiko@box:~ 00:39:54 0 [#
          


#] kemiko@box:~ 12:56:56 0 [# cat .aliases
# .aliases; 2024/06/17; Kent M Kohlmeyer (kemiko)

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

alias ls='ls -latr'
#alias grep='grep -Iind skip'   # -n, --line-number can get annoying especially when piping to another
alias grep='grep -Iid skip'

alias www-data="chown -R www-data:www-data ."

alias swpls='ls -latr .*.sw?'

alias swpfnd='find . -name ".*.sw?"'

alias backup='/usr/local/bin/backup.sh'

alias du='du -h --max-depth=1 . | sort -h'

alias job='fnJob'

alias tsls='ls -l --time-style=+%Y-%m-%d@%H:%M'
alias tssort='sort -k6,6'
# tsls | tssort

alias free='/usr/local/bin/free.sh'

alias topc="top -o COMMAND"   # sort by field "%COMMAND"...if already in top press 'C'
alias topm="top -o %MEM"      # sort by field "%MEM"...if already in top press 'M'
alias topp="top -o %CPU"      # sort by field "%CPU"...if already in top press 'P'
alias topu="top -o USER"      # sort by field "%USER"...if already in top press 'U'

alias less='/usr/bin/less -SX'   # --chop-long-lines, --no-init

alias gdb='gdb -q'   # -quiet
#] kemiko@box:~ 12:56:57 0 [#
          


#] kemiko@box:~ 22:39:27 0 [# cat .defines
# .defines; 2024/06/17; Kent M Kohlmeyer (kemiko)

BOLD="\e[1m"
BASE="\e[0m"
BLK="\e[30;1m"
RED="\e[31;1m"
GRN="\e[32;1m"
YLW="\e[33;1m"
BLU="\e[34;1m"
WHT="\e[37;1m"
GRY="\e[90;1m"
#] kemiko@box:~ 22:39:28 0 [#
          


#] kemiko@box:~ 11:22:03 0 [# cat .functions
# .functions; 2024/06/17; Kent M Kohlmeyer (kemiko)

fnFileExtension( )
{
  BASENAME=$(basename ${1})
  echo ${BASENAME##*.}
}

fnFileBasename( )
{
  basename=$(basename ${1})
  extension=$(fnFileExtension $basename)
  echo $basename | awk -F".$(echo $extension)" '{print $1}'
}

fnDate( )
{
  date +%Y%m%d
}

fnDateLog( )
{
  date +%Y-%m-%d
}

fnTime( )
{
  date +%H%M%S
}

fnTimeLog( )
{
  date +%H:%M:%S
}

fnAbsoluteValue( )
{
  if [ "${1}" -eq "${1}" ] 2>/dev/null
  then
    [ ${1} -lt 0 ] && echo $((-${1})) || echo ${1}
  fi
}

function fnPrompt
{
  # In your initialization file (.bashrc) source this function and add "PROMPT_COMMAND=fnPrompt"

  EXITSTATUS="$?"
  BOLD="\[\e[1m\]"
  RED="\[\e[1;31m\]"
  BLACK="\[\e[30;1m\]"
  GREEN="\[\e[32;1m\]"
  BLUE="\[\e[34;1m\]"
  YELLOW="\[\e[33;1m\]"
  WHITE="\[\e[37;1m\]"
  GRAY="\[\e[90;1m\]"
  OFF="\[\e[0m\]"

  PROMPT="${GRAY}#] ${RED}\u${GRAY}@${YELLOW}\h${GRAY}:${BLUE}\w ${WHITE}\t"

  if [ "${EXITSTATUS}" -eq 0 ]
  then
     PS1="${PROMPT} ${GREEN}0 ${GRAY}[#${OFF} "
  else
     PS1="${PROMPT} ${RED}1 ${GRAY}[#${OFF} "
  fi

  PS2="${BOLD}>${OFF} "

  export PS1 PS2
}

function fnJob( )
{
  # Awesome function for bringing a background job, by name NOT number, to the foreground...
  # I couldn't use an alias (issues with pipes, etc) or shell script ("jobs" command doesn't work)
  # An argument, jobs command string, must be entered..."-/+" work like with the "fg" command
  # The first "match" will be brought to the foreground
  # If there isn't a "match" in the background the argument entered will be opened with "vi"

  if [ ${#} -eq 0 ]
  then
    # Can't use the standard shell script "${0}" to get the function name
    printf '\e[1mUsage: %s <filename>\n' "${FUNCNAME[0]}\e[0m"
    return 1
  fi

  jobNumber=$(jobs | "grep" "${1}" | cut -d] -f1 | cut -c2- | head -n 1)
  fileName=$("ls" | "grep" "${1}" | head -n 1)

  if [ "${jobNumber}" != "" ]
  then
    fg "${jobNumber}"
  elif [ "${fileName}" != "" ]
  then
    eval vi "${fileName}"
  else
    eval vi "${1}"
  fi
}

function fnDecodeURL( )
{
  echo "$@" \
  | sed -E 's/%([0-9a-fA-F]{2})/\\x\1/g;s/\+/ /g'
}

function fnEncodeURL( )
{
  # Conform RFC 3986

  echo "$@" \
  | sed \
  -e 's/ /%20/g' \
  -e 's/:/%3A/g' \
  -e 's/,/%2C/g' \
  -e 's/\?/%3F/g' \
  -e 's/#/%23/g' \
  -e 's/\[/%5B/g' \
  -e 's/\]/%5D/g' \
  -e 's/@/%40/g' \
  -e 's/!/%21/g' \
  -e 's/\$/%24/g' \
  -e 's/&/%26/g' \
  -e "s/'/%27/g" \
  -e 's/(/%28/g' \
  -e 's/)/%29/g' \
  -e 's/\*/%2A/g' \
  -e 's/\+/%2B/g' \
  -e 's/,/%2C/g' \
  -e 's/;/%3B/g' \
  -e 's/=/%3D/g'
}
#] kemiko@box:~ 11:22:04 0 [#
          

Scripting Tips

  • Use shebang "#!/usr/bin/env bash" over "#!/bin/bash" for portablity
  • Use consistant naming/styling
    • Naming convention (programming)
      • flatcase, kebab-case, camelCase, PascalCase, snake_case, CONSTANT_CASE, COBOL-CASE, Ada_Case, etc
    • Programming style
    • Indentation style
  • Comments
    • Overview
    • Main sections
    • Individual parts that future you or others may find hard to understand at a glance
  • Quote or backslash commands in scripts to prevent aliases when debugging with cut/paste into the shell
  • Second line of your scripts should be "#set -x"...for debugging un/comment as needed
  • Wrap variable name references in "${}" when in traffice or in question
  • Use "$(command)" instead of "`command`"...easier to read/debug and can be nested...vim friendly % bracket match
  • If you could only have one command what would it be? Mine would be "find" because it can execute other commands.
  • printf vs echo command
    • printf
      • part of the UI
      • part of the logic
      • part of final behavior
    • echo
      • this is temporary
      • this is noise
      • should be removed later

Scripts (quick)

echo -ne "\033]0;<title>\007"   # set terminal title..."<title>" being anything you want
for i in ${PATH//:/ }; do ls $i; done | sort | uniq | wc -l     # rough number of system commands
locate --regexp "\.ttf$" | awk -F'/' '{print $NF}' | sort | uniq -c | sort -n     # "locate" all TTFs...uniq list with count of each font
locate --regexp "\.ttf$" | while read file; do ls -lah --time-style=long-iso "$file"; done | grep ' 202' | sort -k6,6 -n     # "locate" all TTFs...list from the 2020s
while [ true ]; do date; "free" -m; read key; done     # watch memory usage
while [ true ]; do date; "free" -m; sleep 30; done     # watch memory usage

Scripts (files)

Shebang (Unix)

#] kemiko@web:/usr/local/bin 18:52:28 0 [# cat termTitle.sh
#!/bin/bash
#set -x

# termTitle.sh; 2025/10/11; Kent M Kohlmeyer (kemiko)

# Initialize title parts
title=""

# Set options
U="${USER:-$(whoami)}"
H="${HOSTNAME:-$(hostname -s)}"
P="${PWD:-$(pwd)}"
T=$(tty)
# Strip the leading "/dev/" using pure Bash expansion
T=${T##/dev/}

args=("$@")

# Check if arguments are empty (no positional parameters passed)
if [ ${#args[@]} -eq 0 ] # Use ${#args[@]} for robust array size check
then
  # Assign the default options as SEPARATE array elements
  #args=("-h" "-t" "-p")

  # Instead set the default title as...
  title="${U}@${H}:${P}"
  echo title=$title
  echo -ne "\033]0;${title}\007"
  exit 0
fi

# Print the arguments for debugging (using quotes for best practice)
#echo "Arguments to process: ${args[@]}"

# Loop through all elements of the array correctly
for arg in "${args[@]}"
do
  case "$arg" in
    -h|--host)
      title+="${H}:"
      ;;
    -p|--pwd)
      title+="${P}:"
      ;;
    -t|--tty)
      title+="${T}:"
      ;;
    -u|--user)
      title+="${U}:"
      ;;
    *)
      title+="$arg:"
      ;;
  esac
done

# Trim trailing colons
title=$(echo "$title" | sed 's/:*$//')
echo title=$title

# Set terminal title
echo -ne "\033]0;${title}\007"
#] kemiko@web:/usr/local/bin 18:52:30 0 [#
          


#] kemiko@web:/usr/local/bin 08:51:35 0 [# cat backup.sh
#!/bin/bash
#set -x

# backup.sh; 2017/07/18; Kent M Kohlmeyer (kemiko)

# source environment file(s)
. /usr/local/bin/.defines > /dev/null 2>&1
. /usr/local/bin/.functions > /dev/null 2>&1

if [ ${#} -eq 0 ]
then
  printf "\e[1;29mUsage: %s <file>\e[0m\n" "${0}"
  exit 1
fi

if [ ! -s ${1} ]
then
  printf "\e[1;29mFile \"${1}\" does not exist with size!\e[0m\n"
  exit 1
fi

dir=".backup"
date=$(fnDate)
file=$(basename ${1})

if [ -s ${file} ]
then
  if [ ! -d ${dir} ]
  then
    mkdir ${dir}
    chmod 750 ${dir}
  fi
  cp -ip ${file} ${dir}/${file}.${date}
  chmod 440 ${dir}/${file}.${date}
fi
#] kemiko@web:/usr/local/bin 08:51:36 0 [#
          


#] kemiko@web:/usr/local/bin 20:56:51 0 [# cat integerTest.sh
#!/bin/bash

# integerTest.sh; 2025/09/21; Kent M Kohlmeyer (kemiko)

if [ -n "${1}" ] && [ "${1}" -eq "${1}" ] 2>/dev/null
then
  echo number
else
  echo not a number
fi
#] kemiko@web:/usr/local/bin 20:56:53 0 [#
          


#] kemiko@web:/usr/local/bin 20:30:25 0 [# cat lines.sh
#!/bin/bash
#set -x

# lines.sh; 2024/06/15; Kent M Kohlmeyer (kemiko)
# display range of lines from a file

# source defines
. /usr/local/bin/.defines > /dev/null 2>&1

if [ ${#} -lt 3 ]
then
  printf "${BOLD}Usage: $(basename ${0}) <file> <start line> <stop line>${BASE}\n"
  exit 1
fi

if [ ! -s ${1} ]
then
  printf "${BOLD}\"${1}\" is not a regular file with size!${BASE}\n"
  exit 1
fi

if [ "${2}" -eq "${2}" ] 2>/dev/null && [ "${3}" -eq "${3}" ] 2>/dev/null
then
  :
else
  printf "${BOLD}\"${2}\" (start) and/or \"${3}\" (stop) is not an integer${BASE}\n"
  exit 1
fi

if [ ${2} -le 0 ] || [ ${3} -le 0 ]
then
  printf "${BOLD}\"${2}\" (start) and/or \"${3}\" (stop) can't be zero/negative${BASE}\n"
  exit 1
fi

if [ ${3} -gt $(wc -l ${1} | cut -d' ' -f1) ]
then
  printf "${BOLD}\"${3}\" (stop) shouldn't be greater than the file line count of \"$(wc -l ${1} | cut -d' ' -f1)\"${BASE}\n"
  exit 1
fi

if [ "${2}" -gt "${3}" ] 2>/dev/null
then
  printf "${BOLD}\"${2}\" (start) can't be greater than \"${3}\" (stop)${BASE}\n"
  exit 1
fi

head -n ${3} ${1} | tail -n $(expr ${3} - ${2} + 1)
#] kemiko@web:/usr/local/bin 20:30:26 0 [#
          


#] kemiko@web:/usr/local/bin 08:57:18 0 [# cat free.sh
#!/bin/bash
#set -x

# 2024-07-26; free.sh; Kent M Kohlmeyer (kemiko)

# This script shows memory usage in...
# bytes, kibibytes, mebibytes, or gibibytes

# Add seconds argument to pause until...
# <enter> is pressed

# don't echo key presses to screen
stty -echo

# don't show cursor
tput civis

trap 'tput cnorm; stty echo; exit 1' 0 1 2 15

# set defaults
size=m
seconds=86400

if [ ${#} -eq 0 ]
then
  printf "\e[1mUsage: %s <b|k|m|g> [seconds]\e[0m\n" "${0}"
  exit 1
fi

if [ ${1} != b ] && [ ${1} != k ] && [ ${1} != m ] && [ ${1} != g ]
then
  printf "\e[1mArgument one, \"${1}\", is not \"b|k|m|g\"\e[0m\n"
  exit 1
else
  size=${1}
fi

# test if argument two is set
if [ -z ${2+x} ]
then
  :
else
  # test if argument two is an integer
  if [ "${2}" -eq "${2}" ] 2>/dev/null
  then
    seconds=${2}
  else
    printf "\e[1mArgument two, \"${2}\", is not an integer\e[0m\n"
    exit 1
  fi
fi

clear

while [ 1 ]
do
  printf "\e[1m%s\e[0m\n" "$(date '+%Y-%m-%d @ %H:%M:%S (%A)')"
  free -w${size}
  read -t ${seconds}
done
#] kemiko@web:/usr/local/bin 08:57:19 0 [#
          


#] kemiko@web:/tmp 23:47:18 0 [# cat glibc.c
#include <stdio.h>
#include <gnu/libc-version.h>

int main( void )
{
  puts( gnu_get_libc_version ( ) );

  return 0;
}
#] kemiko@web:/tmp 23:47:19 0 [#
          


#] kemiko@web:/usr/local/bin 09:13:01 0 [# cat highlight.sh
#!/bin/bash
#set -x

# 2025-01-06; highlight.sh; Kent M Kohlmeyer (kemiko)

# This script highlights pattern(s) in file(s)

if [ ${#} -eq 0 ]
then
  printf "\e[1mUsage: %s <regex> <file(s)>\e[0m\n" "${0}"
  exit 1
fi

init=0
filesValid=""
filesError=""
errors=0
for file in "${@}"
do
echo file: ${file}
  if [ ${init} -eq 0 ]
  then
    init=1
  else
    if [ -f ${file} ]
    then
      filesValid=$(printf "%s %s" "${filesValid}" "${file}")
    else
      errors=$(expr ${errors} + 1)
      filesError=$(printf "%s \"%s\"" "${filesError}" "${file}")
    fi
  fi
done

if [ ${errors} -gt 0 ]
then
  printf "\e[1mError: %s file(s) are not valid...%s\e[0m\n" "${errors}" "${filesError}"
  exit ${errors}
fi

"egrep" -iIn --color=auto "${1}|$" ${filesValid} /dev/null

exit 0
#] kemiko@web:/usr/local/bin 09:13:02 0 [#
          


#] kemiko@web:/usr/local/bin 17:55:52 0 [# cat commentsRemoveWebPage.sh
#!/bin/bash
#set -x

# 2024-11-23; commentsRemoveWebPage.sh; Kent M Kohlmeyer (kemiko)

# Removes HTML and CStyle (JavaScript) comments
# If running a large file this will take a lot of "time"
# Usage: [time] cat <input file> | commentsRemoveWebPage.sh > <output file>

scriptHead=0
scriptTail=0

commentSingle=0
commentMultiHead=0
commentMultiTail=0

commentHTMLHead=0
commentHTMLTail=0

if [ -t 0 ]
then
  printf "\e[1mPlease supply stdin\e[0m\n"
  exit 1
fi

# Setting "IFS='' (Field Splitting) prevents readline from
# stripping leading and trailing whitespace from the line.
# Use "read -r" to not interpret a backslash (\) character
while IFS='' read -r line
do
  echo "${line}" | "grep" '<script>' > /dev/null 2>&1
  if [ ${?} -eq 0 ]
  then
    scriptHead=1
  fi

  echo "${line}" | "grep" '</script>' > /dev/null 2>&1
  if [ ${?} -eq 0 ]
  then
    scriptTail=1
  fi

  if [ ${scriptHead} -eq 1 ] && [ ${scriptTail} -eq 1 ]
  then
    echo "${line}"
    scriptHead=0
    scriptTail=0
  elif [ ${scriptHead} -eq 1 ]
  then
    if [ ${#line} -eq 0 ]
    then
      echo "${line}"
    else
      echo "${line}" | "grep" '\/\*' > /dev/null 2>&1
      if [ ${?} -eq 0 ]
      then
        commentMultiHead=$(expr ${commentMultiHead} + 1)
      fi

      echo "${line}" | "grep" '\*\/' > /dev/null 2>&1
      if [ ${?} -eq 0 ]
      then
        commentMultiTail=1
      fi

      if [ ${commentMultiHead} -eq 1 ] && [ ${commentMultiTail} -eq 1 ]
      then
        output=$(echo "${line}" | sed 's; *\/\*.*\*\/ *;;')
        if [ ${#output} -ne 0 ]
        then
          echo "${output}"
        fi
        commentMultiHead=0
        commentMultiTail=0
      elif [ ${commentMultiTail} -eq 1 ]
      then
        output=$(echo "${line}" | sed 's;.*\*\/ *;;')
        if [ ${#output} -ne 0 ]
        then
          echo "${output}"
        fi
        commentMultiHead=0
        commentMultiTail=0
      elif [ ${commentMultiHead} -ge 1 ]
      then
        if [ ${commentMultiHead} -eq 1 ]
        then
          output=$(echo "${line}" | sed 's; *\/\*.*;;')
          if [ ${#output} -ne 0 ]
          then
            echo "${output}"
          fi
        fi
        commentMultiHead=$(expr ${commentMultiHead} + 1)
      else
        commentSingle=0
        echo ${line} | "grep" '\/\/' > /dev/null 2>&1
        if [ ${?} -eq 0 ]
        then
          commentSingle=1
        fi

        url=0
        echo ${line} | "grep" ':\/\/' > /dev/null 2>&1
        if [ ${?} -eq 0 ]
        then
          url=1
        fi

        if [ ${commentSingle} -eq 1 ] && [ ${url} -ne 1 ]
        then
          output=$(echo "${line}" | sed 's; *\/\/.*;;')
          if [ ${#output} -ne 0 ]
          then
            echo "${output}"
          fi
        else
          echo "${line}"
        fi
      fi
    fi
  elif [ ${scriptTail} -eq 1 ]
  then
    echo "${line}"
    scriptHead=0
    scriptTail=0
  else
    echo "${line}" | "grep" '<!--' > /dev/null 2>&1
    if [ ${?} -eq 0 ]
    then
      commentHTMLHead=$(expr ${commentHTMLHead} + 1)
    fi

    echo "${line}" | "grep" '\-\->' > /dev/null 2>&1
    if [ ${?} -eq 0 ]
    then
      commentHTMLTail=1
    fi

    if [ ${commentHTMLHead} -eq 1 ] && [ ${commentHTMLTail} -eq 1 ]
    then
      output=$(echo "${line}" | sed 's/ *<!--.*--> *//')
      if [ ${#output} -ne 0 ]
      then
        echo "${output}"
      fi
      commentHTMLHead=0
      commentHTMLTail=0
    elif [ ${commentHTMLTail} -eq 1 ]
    then
      output=$(echo "${line}" | sed 's/.*--> *//')
      if [ ${#output} -ne 0 ]
      then
        echo "${output}"
      fi
      commentHTMLHead=0
      commentHTMLTail=0
    elif [ ${commentHTMLHead} -ge 1 ]
    then
      if [ ${commentHTMLHead} -eq 1 ]
      then
        output=$(echo "${line}" | sed 's/ *<!--.*//')
        if [ ${#output} -ne 0 ]
        then
          echo "${output}"
        fi
      fi
      commentHTMLHead=$(expr ${commentHTMLHead} + 1)
    else
      echo "${line}"
    fi
  fi
done
#] kemiko@web:/usr/local/bin 17:55:53 0 [#
          


#] kemiko@web:/usr/local/bin 23:36:25 0 [# cat swap1Backup.sh
#!/bin/bash

# swap1Backup.sh; 2024/09/15; Kent M Kohlmeyer (kemiko)

# backup all vi swap files with "backup.sh" script

ls .*sw? |
cut -c2- |
awk -F'.sw' '{print $1}' |
while read file
do
  /usr/local/bin/backup.sh ${file} < /dev/tty
done
#] kemiko@web:/usr/local/bin 23:36:26 0 [#
          


#] kemiko@web:/usr/local/bin 23:36:29 0 [# cat swap2Recover.sh
#!/bin/bash

# swap2Recover.sh; 2024/09/15; Kent M Kohlmeyer (kemiko)

# recover vi files with command switches

ls .*sw? |
cut -c2- |
awk -F'.sw' '{print $1}' |
while read file
do
  echo ${file}
  vi -X -r ${file} -c "w!" -c "q!" < /dev/tty &&> /dev/null
done
#] kemiko@web:/usr/local/bin 23:36:30 0 [#
          


#] kemiko@web:/usr/local/bin 23:36:33 0 [# cat swap3Diff.sh
#!/bin/bash

# swap3Diff.sh; 2024/09/15; Kent M Kohlmeyer (kemiko)

# diff command all vi recovered files
# | grep "^<" or "^>" for viewing old vs new sparately

date=$(date +%Y%m%d)

ls .*sw? |
cut -c2- |
awk -F'.sw' '{print $1}' |
while read file
do
  echo ${file}
  diff .backup/${file}.${date} ${file}
done
#] kemiko@web:/usr/local/bin 23:36:34 0 [#
          


#] kemiko@web:/usr/local/bin 23:36:36 0 [# cat swap4Remove.sh
#!/bin/bash

# swap4Remove.sh; 2024/09/15; Kent M Kohlmeyer (kemiko)

if [[ ${#} -eq 0 || (${1} != 'y' && ${1} != 'Y' && ${1} != 'n' && ${1} != 'N') ]]
then
  printf "\e[1mUsage: ${0}  ("y" = prompt, "n" = no prompt)\e[0m\n"
  exit 1
fi

ls .*sw? |
while read file
do
  if [[ ${1} == 'y' || ${1} == 'Y' ]]
  then
    rm -i ${file} < /dev/tty
  else
    \rm  ${file}
  fi
done
#] kemiko@web:/usr/local/bin 23:36:37 0 [#
          

Links

Bash (Unix shell)
List of GNU packages
POSIX
LinuxSimply: Learn Linux & Get Linux Solutions
  Introduction to Linux Operating System - LinuxSimply
Linux Usage and Administration - Earthly Blog
The Shell That Runs the World
Shellshock (software bug)

x
-
+

Minerals and More

<
o
>
The following Mineral List has many colors...
Blank out background/wallpaper image

"Selected" through "CoNtRoL PaNeL" =

Anthracite = rgb( 49, 49, 49 )
Charcoal = rgb( 54, 69, 79 )
Graphite = rgb( 56, 56, 56 )
Gunmetal = rgb( 42, 52, 57 )
Hematite = rgb( 96, 96, 96 )
Jet = rgb( 52, 52, 52 )
Onyx = rgb( 53, 57, 53 )
Slate Gray = rgb( 112, 128, 144 )

Background color hints:
-Adjust colors: set the "CoNtRoL PaNeL" ➜ "Color" drop-down to "Background". Then use the color sliders above it.
-View settings: double click the "CoNtRoL PaNeL" title bar or the footer. View "About" pane ➜ "Background:" value.
brown = rgb(136, 78, 31)
brown/purple = rgb(137, 106, 103)
chocolate = rgb(115, 82, 51)
crimson = rgb(128, 0, 0)
forest = rgb(18, 71, 18)
grey/blue = rgb(185, 185, 197)
gray/gold = rgb(153, 153, 102)
gray/green = rgb(128, 149, 120)
green = rgb(31, 136, 80)
green (darker) = rgb(27, 119, 66)
metal = rgb(111, 115, 118)
mustard = rgb(225, 173, 1)
mustard (light) = rgb(233, 193, 95)
olive = rgb(99, 114, 88)
orange (medium) = rgb(230, 140, 63)
orange (bright) = rgb(255, 103, 42)
rust = rgb(176, 101, 40)
sand = rgb(221, 198, 154)
sand (darker) = rgb(168, 150, 136)

RGB to Hex color conversion (RapidTables)
Hex to RGB Color Converter (RapidTables)
Web colors - Wikipedia
RGB color model - Wikipedia
HSL and HSV - Wikipedia
Color Theory 101: A Complete Color Guide (2024) • Colors Explained
Online Color Picker
Invert Colors Online, Find Opposite Color - InvertColors.net
Complementary (Opposite) color generator - colorxs.com
Color Designer - the most comprehensive color tools platform
HTML Color Codes 🎨
Coloris | A lightweight and elegant JavaScript color picker. Written in vanilla ES6, no dependencies. Accessible.
HTML Color Codes
Color Wheel - Color Calculator | Sessions College
All colors - hex colors, rgb colors, and named colors...
Color Hex - ColorHexa.com
x
-
+

Database(s)

<
o
>
PostgreSQL, Informix, etc

SQL Joins

In a database, a tuple represents a single row in a table, containing data for one specific record, while attributes are the columns that define the properties of the data in that tuple. Each attribute corresponds to a specific type of information, such as a name or an ID, and together they form the relation (structure) of the table.

Select (SQL)
Projection (relational algebra)
SQL Joins
Outline of databases
Category:Database management systems
Database
Database application
Relational database
Relational database management system
Comparison of relational database management systems
DB-Engines ranking (WikipediA)
DB-Engines Ranking
Boyce–Codd normal form
SQL
Difference between Selection and Projection in DBMS - GeeksforGeeks
Database model
Create, read, update and delete
ACID
The Untold Story of Databases
x
-
+

Informix

<
o
>
Informix History

Informix Exam...Application Test Developer Questions
  1. Database Objects (16%)
  2. Traditional Data Manipulation (30%)
  3. SPL Programming (14%)
  4. Core Concepts (24%)
    • Database
    • Data Integrity
    • Data Modeling
    • Configuration Management Database
  5. Extensibility (16%)
Replication technologies in Informix Dynamic Server
  • Enterprise Replication (ER)
  • Shared Disk (SD) secondary
  • High-Availability Data Replication (HDR)
  • Remote Standalone (RS) secondary
International Informix Users Group (IIUG)
itop (Informix Top)...a tool I wrote in C (see code below)
  • Create open source project
  • Add filter
  • Add sort
IBM links
  • What is Informix?
  • Informix Servers 12.10
  • Informix Servers 14.10
WikipediA links
  • Informix Corporation
  • Informix
  • IBM Informix C-ISAM
YouTube Videos
  • Best Practices for Getting Started with Informix
  • The basics of getting up and running with Informix by Tom Beebe
  • Informix Best Practices for Configuring CPU, Memory and ONCONFIG settings
  • Informix Best Practices - Disks and Database Space Layout by Art Kagel
  • Informix Best Practices - Schema Design Tips by Art Kagel
  • Informix Performance Tuning Webcast on March 12, 2013 by Art Kagel
  • Informix Best Practice Informix Query Performance Tuning Basics by Mike Walker
  • Informix Best Practices Webcast on Backup, Recovery, and High Availability Disaster Recovery (HDR)
  • Informix Best Practices - Using the Sysmaster database to perform an Informix Server Heath Check
  • Informix Best Practices - Introduction to Informix Enterprise Replication by Thomas Beebe
  • New Informix Toys and Tools - NoSQL, Mongodb Support, Data Streams with Node-RED, by Tom Beebe
  • Informix Best Practices Webcast on Informix Connection Manager
#] kemiko@box:~/src 19:42:47 0 [# cat itop.ec
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

static char SourceID[] = "itop.ec; 2016/12/03; Kent M Kohlmeyer";

/*
  This program displays the top processes the Informix engine is currently running.

  To "make" the executable with debugging symbols or not

  esql -G itop.ec -o itop
           OR
  esql itop.ec -o itop

To Do:
1)
  catch SIGINT ctrl-c...fclose( fp ); AND pin( cursor, 0 );

#include <signal.h>

static volatile int keepRunning = 1;

void intHandler(int dummy) {
    keepRunning = 0;
}

// ...

int main(void) {

   signal(SIGINT, intHandler);

   while (keepRunning) {
      // ...

2)
  Take argv[0] out of the output

 */

#define pin( row, col ) printf( "%c[%d;%dH", 27, ( row ), ( col ) )
#define SIDRECS 30
#define PIDRECS 1500

struct recordsid
{
  int sid;
  int pid;
  char hostname[16+1];
  char username[32+1];
  char connected[25+1];
  int ops;
};

struct recordpid
{
  int pid;
  int ppid;
  char command[64+1];
};

int compare( const void *a, const void *b )
{
  struct recordsid *orderA = (struct recordsid *)a;
  struct recordsid *orderB = (struct recordsid *)b;

  if( orderA->ops < orderB->ops )
  {
    return 1;
  }
  else if( orderA->ops > orderB->ops )
  {
    return -1;
  }
  else
  {
    return 0;
  }
}

int clear( int line )
{
  printf( "%c[%d;%df", 27, line, 0 );
  printf( "%c[0J", 27 );
}

void rtrim( char *string )
{
  int i;

  for( i = strlen( string ) - 1; i > 0; i-- )
  {
    if( string[i] == ' ' )
    {
      string[i] = '\0';
    }
    else
    {
      break;
    }
  }
}

void lpad( char *string, int width )
{
  int i;
  int j;
  char buffer[15+1] = "";

  strcpy( buffer, string );

  for( i = 0; i < width - strlen( buffer ); i++ )
  {
    string[i] = ' ';
  }

  for( j = 0; j < width - i; j++ )
  {
    string[i+j] = buffer[j];
  }

  string[j+i] = '\0';
}

int main( int argc, char **argv )
{
/*
  struct recordpid
  {
    int pid;
    int ppid;
    char command[64+1];
  };
 */
  struct recordsid sidold[SIDRECS];
  struct recordsid sidnew[SIDRECS];
  struct recordsid siddelta[SIDRECS];
  struct recordpid pidrec[PIDRECS];
  memset( &sidold, '\0', sizeof( sidold ) );
  memset( &sidnew, '\0', sizeof( sidnew ) );
  memset( &siddelta, '\0', sizeof( siddelta ) );
  EXEC SQL BEGIN DECLARE SECTION;
  int sid;
  int pid;
  char hostname[15];
  char username[15];
  char connected[25];
  int ops;
  EXEC SQL END DECLARE SECTION;
  int i;
  int j;
  int k;
  int display;
  char line[128+1];
  int looppid = 1;
  int loopppid = 1;
//EXEC SQL END DECLARE SECTION;
  int argr = 15;
  int args = 5;
//int argt = 0;
  int argb = 0;
  char system[16+1];
  FILE *fp;
  char batch[64+1];
  int loopmain = 0;
  int iops = 0;
  time_t seconds;
  struct tm *datetime;
  char datesystem[20];
  int cursor = 0;
  int foundpid = 0;
  int foundppid = 0;

  sprintf( system, "%s", getenv( "SYSTEM_NAME" ) );

  for( i = 1; i < argc; i++ )
  {
    if( strstr( argv[i], "-h" ) )
    {
      printf( "%c[1m", 27 );
      printf( "\nUsage: %s -[hrs]\n\n", argv[0] );
      printf( "-h  ...help\n" );
      printf( "-rX ...records to display (default is 15)\n" );
/*
      printf( "-s ....display SQL\n" );
 */
      printf( "-sX ...seconds to refresh (default is 5)\n\n" );
      printf( "-b  ...batch mode\n\n" );
      printf( "%c[0m", 27 );
      exit( 1 );
    }
    if( strstr( argv[i], "-r" ) )
    {
      sscanf( argv[i] + 2, "%d", &argr );
      if( argr <= 0 || argr > 30 )
      {
        argr = 30;
      }
    }
/*
    if( strstr( argv[i], "-t" ) )
    {
      argt = 1;
    }
 */
    if( strstr( argv[i], "-s" ) )
    {
      sscanf( argv[i] + 2, "%d", &args );
      if( args < 0 || args > 60 )
      {
        args = 5;
      }
    }
    if( strstr( argv[i], "-b" ) )
    {
      sscanf( argv[i] + 2, "%d", &argb );
      if( argb < 0 || argb > 60 )
      {
        argb = 5;
      }
    }
  }

  if( argb )
  {
    sprintf( batch, "%s.log", argv[0] );
    if( (fp = fopen( batch, "w" )) == NULL )
    {
      printf( "Can not open file %s\n", batch );
      exit( 1 );
    }
/*
    else
    {
      fprintf( stdout, "HELLO" );
      fflush( stdout );
    }
 */
  }
  else
  {
    clear( 0 );
  }

  for( ; ; )
  {
    memset( &sidnew, '\0', sizeof( sidnew ) );
    cursor = 2;

    EXEC SQL WHENEVER SQLERROR STOP;
    EXEC SQL CONNECT to 'sysmaster';

    EXEC SQL declare sysmastercursor cursor for
    SELECT FIRST 30 s.sid, pid, trim(hostname), trim(username), dbinfo('utc_to_datetime',connected), isreads+bufreads+bufwrites+pagreads+pagwrites
    INTO :sid, :pid, :hostname, :username, :connected, :ops
    FROM syssessions s, syssesprof p
    WHERE s.sid = p.sid
    ORDER BY 6 DESC;

    EXEC SQL open sysmastercursor;

    memset( &pidrec, '\0', sizeof( pidrec ) );
    FILE *ps = popen( "ps -ef", "r" );

    for( i = 0; fgets( line, sizeof( line ), ps ) != 0; i++ )
    {
      if( i > 0 )
      {
        pidrec[i].pid = atoi( &line[9] );
        pidrec[i].ppid = atoi( &line[15] );
        strcpy( pidrec[i].command, &line[48] );
      }
    }
    pclose( ps );

    for( i = 0; i < SIDRECS; i++ )
    {
      EXEC SQL fetch sysmastercursor;
      if( strncmp( SQLSTATE, "00", 2 ) != 0 )
      {
        break;
      }
      sidnew[i].sid = sid;
      sidnew[i].pid = pid;
      memcpy( &sidnew[i].hostname, &hostname, strlen( hostname ) + 1 );
      memcpy( &sidnew[i].username, &username, strlen( username ) + 1 );
      memcpy( &sidnew[i].connected, &connected, strlen( connected ) + 1 );
      sidnew[i].ops = ops;
    }

    EXEC SQL close sysmastercursor;
    EXEC SQL free sysmastercursor;

    EXEC SQL disconnect current;

    memcpy( &siddelta, &sidnew, sizeof( struct recordsid ) * SIDRECS );
    for( i = 0; i < SIDRECS; i++ )
    {
      for( j = 0; j < SIDRECS; j++ )
      {
        if( siddelta[i].sid == sidold[j].sid )
        {
          siddelta[i].ops -= sidold[j].ops;
/* This causes some rows to be off between hostname and username
          siddelta[i].hostname[10] = '\0';
          siddelta[i].username[10] = '\0';
          siddelta[i].connected[19] = '\0';
   changed later before output */
        }
      }
    }

    qsort( siddelta, SIDRECS, sizeof( struct recordsid ), compare );

    if( !argb )
    {
      clear( 2 );
      //printf( "Host: %-29sDate: %-41sIops: %10d\n", system, "2016-12-19 20:01:14", iops );
      printf( "\n" );
      cursor++;
    }

    /* Output the records to screen or file */
    for( i = 0, iops = 0; i < argr; i++ )
    {
      if( siddelta[i].ops )
      {
        if( strstr( siddelta[i].hostname, system ) )
        {
          rtrim( siddelta[i].username );
          lpad( siddelta[i].username, 12 );
          rtrim( siddelta[i].hostname );
          rtrim( siddelta[i].connected );
          if( !argb )
          {
            printf( "%c[1m%8d %7d%s@%-10s %22s %35d%c[0m\n",27,siddelta[i].sid,siddelta[i].pid,siddelta[i].username,siddelta[i].hostname,siddelta[i].connected,siddelta[i].ops,27 );
            cursor += 2;
          }
          else
          {
            fprintf( fp, "%8d %7d%s@%-10s %22s %35d\n",siddelta[i].sid,siddelta[i].pid,siddelta[i].username,siddelta[i].hostname,siddelta[i].connected,siddelta[i].ops );
          }

          /* find and print first parent */
          for( j = 0, foundpid = 0, foundppid = 0, looppid = 1; j < PIDRECS && looppid == 1; j++ )
          {
            if( siddelta[i].pid == pidrec[j].pid )
            {
              foundpid = 1;
              if( !argb )
              {
                printf( "         %7d  %7d %s", pidrec[j].pid, pidrec[j].ppid, pidrec[j].command );
                cursor++;
              }
              else
              {
                fprintf( fp, "         %7d  %7d %s", pidrec[j].pid, pidrec[j].ppid, pidrec[j].command );
              }

              /* find and print second parent */
              for( k = 0, loopppid = 1; k < PIDRECS && loopppid == 1; k++ )
              {
                if( pidrec[j].ppid == pidrec[k].pid )
                {
                  foundppid = 1;
                  if( !argb )
                  {
                    printf( "                  %7d  %7d %s\n", pidrec[k].pid, pidrec[k].ppid, pidrec[k].command );
                    cursor++;
                  }
                  else
                  {
                    fprintf( fp, "                  %7d  %7d %s\n", pidrec[k].pid, pidrec[k].ppid, pidrec[k].command );
                  }
                  loopppid = 0;
                }
              }
              looppid = 0;
            }
          }
          if( !foundpid )
          {
            if( !argb )
            {
              printf( "\n\n" );
              cursor++;
            }
            else
            {
              fprintf( fp, "\n\n" );
            }
          }
          if( !foundppid )
          {
            if( !argb )
            {
              printf( "\n" );
              cursor++;
            }
            else
            {
              fprintf( fp, "\n" );
            }
          }
        }
        else   // isn't going to have local PPIDs
        {
          rtrim( siddelta[i].username );
          lpad( siddelta[i].username, 12 );
          rtrim( siddelta[i].hostname );
          rtrim( siddelta[i].connected );
          if( !argb )
          {
            printf( "%c[1m%8d %7d%s@%-10s %22s %35d%c[0m\n\n\n\n",27,siddelta[i].sid,siddelta[i].pid,siddelta[i].username,siddelta[i].hostname,siddelta[i].connected,siddelta[i].ops,27 );
            cursor += 4;
          }
          else
          {
            fprintf( fp, "%8d %7d%s@%-10s %22s %35d\n\n\n\n",siddelta[i].sid,siddelta[i].pid,siddelta[i].username,siddelta[i].hostname,siddelta[i].connected,siddelta[i].ops );
          }
        }
        iops += siddelta[i].ops;
      }
      else   // make the screen and file fixed length
      {
        if( !argb )
        {
          printf( "\n\n\n\n" );
          cursor += 4;
        }
        else
        {
          fprintf( fp, "\n\n\n\n" );
        }
      }
    }

    memcpy( &sidold, &sidnew, sizeof( struct recordsid ) * SIDRECS );
/*
    loopmain++;

    if( argb == loopmain )
    {
      fclose( fp );
      return( 0 );
    }
 */

//  printf( "Host: %-29sDate: %-41sIops: %10d\n", system, "2016-12-19 20:01:14", iops );
    seconds = time( 0 );
    datetime = localtime( &seconds );
    sprintf( datesystem, "%04d-%02d-%02d %02d:%02d:%02d", datetime->tm_year + 1900, datetime->tm_mon + 1, datetime->tm_mday, datetime->tm_hour, datetime->tm_min, datetime->tm_sec );

    //clear( );
    if( argb )
    {
//chg      fprintf( fp, "Host: %-29sDate: %-41sLoad: %10d\n", system, datesystem, iops );
      fprintf( fp, "Host: %-31sDate: %-39sLoad: %10d\n", system, datesystem, iops );
      fprintf( fp, "--------------------------------------------------------------------------------------------------\n" );
      fflush( fp );
    }
    else
    {
      pin( 0, 0 );
//chg      fprintf( stdout, "Host: %-29sDate: %-42sLoad: %9d\n", system, datesystem, iops );
      fprintf( stdout, "Host: %-31sDate: %-39sLoad: %10d\n", system, datesystem, iops );
      pin( cursor, 0 );
      fflush( stdout );
    }
    loopmain++;

    if( argb == loopmain )
    {
      fclose( fp );
      return( 0 );
    }
    sleep( args );
  }
}
#] kemiko@box:~/src 19:42:51 0 [#
x
-
+

Web Utilities

<
o
>
Karl's Mortgage Calculator
Convert a date
Precious Metals Price Charts
Calculator Soup
Calculator.net
  Interest Calculator (Calculator.net)
  Circle Calculator (Calculator.net)
  Fraction Calculator (Calculator.net)
  Volume Calculator (Calculator.net)
Stock Prices
Internet Speed Test
Real Estate Values
Basic Facts
Dictionary
Thesaurus
Acronym Finder
WikipediA
The World Factbook
Internet Movie Database
AirDroid Web
Messages for web (Android SMS)
RealClear Politics
WeTransfer
Tachymeter (watch)
CalculateMe.com - Comprehensive Conversion Utility
Online Calculators, Network Tools, PHP Functions Tutorials
Idioms and phrases
Etymonline - Online Etymology Dictionary
Etymology World Online
U.S. Census Bureau QuickFacts: United States
Oregon Population By Year
Popular Baby Names (Social Security Online)
OEC - The Observatory of Economic Complexity | OEC - The Observatory of Economic Complexity
United States (USA) Exports, Imports, and Trade Partners | The Observatory of Economic Complexity
Search for site:oec.world treemap usa
howstuffworks
fontstruct
PrintWhatYouLike.com
slydial
The True Size Of...
Create your own Custom Map
Read the Bible Online (English Standard Version)
BIBLEVISE (World English Bible)
Transparent Government Spending | Open The Books
Commonly Misspelled Words in English | Ginger Writer
Commonly Confused Words in English | Ginger Writer
Musescore.com | The world's largest free sheet music catalog and community
   Closer – Nine Inch Nails Sheet music for Piano (Solo) Easy | Musescore.com
Wayback Machine
Home - The Fact File
Ballotpedia
Free Icons and PNG Backgrounds
OSAA - Records & Archives
Thesaurus and Word Tools | WordHippo
ScienceABC » Science Explained In Simple Words
Free Midi - Best Free High Quality Midi Site
World Map / World Atlas / Atlas of the World Including Geography Facts and Flags - WorldAtlas.com
Discogs - Music Database and Marketplace
Car Wallpapers and HD Backgrounds for Desktop | Car Pixel
Monday Mandala | Free Printables & Coloring Pages
Distance calculator - Calculate the distance online!
Visualize the Entire Global Economy in One Chart
HowMuch.net - Understanding Money
   Mapped: Uninsured Rates by State
   This Map Shows Every State's Biggest Export
   Visualizing How Much Americans Pay in Taxes in Every State
Global Data and Statistics | Data Pandas
80 types of charts & graphs for data visualization (with examples)
Difference between Graphs and Charts | GeeksforGeeks
The Good Data Project
   The Beauty of Square Pie Charts — The Good Data Project
MissingMoney.com | Search for Unclaimed Property
OpenStreetMap
Macrotrends | The Long Term Perspective on Markets
Famous Birthdays: celebrity bios and today's birthdays
Home Page - ToS;DR
Remove Background from Image for Free - remove.bg
The Unabridged Devil's Dictionary Quotes by Ambrose Bierce
What do AM and PM mean?
List of Commonly Used Abbreviations | YourDictionary
AdvancedConverter
Download Cool wallpapers and images
66 Books of the Bible List (In Order With Summaries)
Polymarket | The World's Largest Prediction Market
Alternative.to
Free topographic maps, elevation, terrain
Springfield! TV Show Scripts and Movie Scripts
MelodyInbox - Free MP3 Downloader (No Ads, Fast & Legal)
Heatfeed Vimeo Video Downloader - Save Videos in HD
Cost Of Living By State
Cover Your Tracks
x
-
+

About AOS

<
o
>

Alpha and Omega Semiconductor Limited, or AOS, is a designer, developer and global supplier of a broad range of power semiconductors, including a wide portfolio of Power MOSFET, IGBT and Power IC products.   AOS has developed extensive intellectual property and technical knowledge that encompasses the latest advancements in the power semiconductor industry, which enables it to introduce innovative products to address the increasingly complex power requirements of advanced electronics.   AOS differentiates itself by integrating its Discrete and IC semiconductor process technology, product design, and advanced packaging know-how to develop high performance power management solutions.   AOS's portfolio of products targets high-volume applications, including portable computers, flat panel TVs, LED lighting, smart phones, battery packs, consumer and industrial motor controls and power supplies for TVs, computers, servers and telecommunications equipment.   For more information, please visit www.aosmd.com.   For investor relations, please contact So-Yeon Jeong at investors@aosmd.com.

CONTACT:
Alpha and Omega Semiconductor Limited
Investor Relations
So-Yeon Jeong
408-789-3172
investors@aosmd.com
        
x
-
+

Calculator, Simple Interest

<
o
>
Principal
Interest
Year(s)
Δ Principal
x
-
+

"Quotes"

<
o
>
"Great Minds Discuss Ideas; Average Minds Discuss Events; Small Minds Discuss People" ― First Lady Eleanor Roosevelt "In America, there are two tax systems: one for the informed and one for the uninformed. Both are legal" ― Learned Hand “Lottery: A tax on people who are bad at math.” ― Ambrose Bierce "Insanity: doing the same thing over and over again and expecting different results" ― Unknown "Nothing in all the world is more dangerous than sincere ignorance and conscientious stupidity" ― Martin Luther King, Jr "I would explain, but I don't have enough time or crayons" ― Unknown "I am always doing that which I cannot do, in order that I may learn how to do it" ― Pablo Picasso "The devil is in the details" ("God is in the details") ― Gustave Flaubert "But instinct is something which transcends knowledge. We have, undoubtedly, certain finer fibers that enable us to perceive truths when logical deduction, or any other willful effort of the brain, is futile" ― Nikola Tesla "Laughter is the shortest distance between two people" ― Victor Borge "I love and appreciate how much we have in common and also those places where we differ" ― Agent Pumpkin "If you tell the truth you don't have to remember anything" ― Mark Twain "Trust me my heart is always in a good place for you" ― Agent K^2 "Always think of those whom love you" ― Agent K^2 "There's never a moment when I'm not thinking of you. There will never be a time when I don't love you. ― Agent Pumpkin "I contend that for a nation to try to tax itself into prosperity is like a man standing in a bucket and trying to lift himself up by the handle" ― Winston Churchill "Yesterday is history. Tomorrow is a mystery. And today? Today is a gift. That's why we call it the present." ― First Lady Eleanor Roosevelt "First they came for the socialists, and I did not speak out— Because I was not a socialist. Then they came for the trade unionists, and I did not speak out— Because I was not a trade unionist. Then they came for the Jews, and I did not speak out— Because I was not a Jew. Then they came for me—and there was no one left to speak for me." ― Martin Niemöller "If you don't read the news, you're uninformed. If you do read the news, you're misinformed." ― Unknown (Denzel Washington - recently) "It’s easier to ask forgiveness than to get permission." ― Unknown (Grace Hopper - recently) "A crisis is a terrible thing to waste." ― Paul Romer "First come the innovators, who see opportunities that others don’t and champion new ideas that create genuine value. Then come the imitators, who copy what the innovators have done. Sometimes they improve on the original idea, often they tarnish it. Last come the idiots, whose avarice undermines the very innovations they are trying to exploit." ― Warren Buffet "Your thoughts become things!" ― Rhonda Byrne "There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns -- the ones we don't know we don't know." ― Donald Rumsfeld "The trouble with socialism is that you eventually run out of other people's money." ― Margaret Thatcher "There is no limit to the amount of good you can do if you don't care who gets the credit." ― Ronald Reagan "Everything should be made as simple as possible, but not simpler." ― Albert Einstein
x
-
+

Hall of Fame

<
o
>
Fame: Linux mascot
DOB: 1991-08-25
Tux (Linux)
Fame: Inventor
DOB: 1856-07-10
Nikola
Fame: Best Emoji
DOB: 2018-04-07
Toji
Fame: Lady Liberty
DOB: 1886-10-28
Statue of Liberty
Fame: ExGF
DOB: 1979-11-05
Pumpkin
Fame: Business man/President of US
DOB: 1946-06-14
Donald Trump
Fame: Tough Sport
DOB: ~1826
Pole Vaulter
Fame: Cool Toy
DOB: 1949
Lego
Fame: Cool Character
DOB: 1948
Marvin the Martian
Fame: Cool Character
DOB: 1985-11-18
Hobbes
Fame: Used In Most Construction
DOB: 1839
Excavator
Fame: Research and scientific development
DOB: 1925-01
Bell Labs
Fame: Free software
DOB: 1983-09-27
GNU
Fame: Relational DB
DOB: 1996-07-08
Slonik (PostgreSQL)
Fame: UNIX minicomputer
DOB: 1970
pdp11
Fame: Man's best friend
DOB: 1850's
Jack Russell Terrier
Fame: Stealth fighter
DOB: 1997-09-07
F-22 Raptor
Fame: Great fruit and color
DOB: 314 BCE
Orange
Fame: Media player
DOB: 2001-02-01
VLC Media Player
Fame: Awesome Radio
DOB: ~2023
Raddy RF75A
x
-
+

Sandbox

<
o
>
|PANES | | |PANES /^\ |PANES | |~~~| | | |^^^^^^^| / \ /^\ |[]+ | |~~~| |^^^^^^^| | +[]| | | | +[]|/\/\/\/\^/\/\/\/\|^^^^^^^| |+[]+ |~~~~~~~~~~~~~~~~~| +[]| | | [] /^\ [] |+[]+ | | +[]+| [] || || [] | +[]+| |[]+ | || || |[]+ | |_______|-----------------|_______|
Build a sand castle... or two!
x
-
+

Playground

<
o
>
________ __ ___ \____ \ | _____ ___ __ ___________ ___ __ __ ____ __| _/ | ___/ | \__ \\ | |/ __ \ __ \ / __\| | \/ \ / __ | | | | |__/ __ \\___ / /_/ \ | \_\ /_/ | | / | \/ /_/ | |__| |____(____ / ____\___ /|__| \___/|____/|___| /\____ | \/\/ /_____/ \/ \/
Run around!

x
-
+

Garage

<
o
>

Car

AC Cobra
Alfa Romeo 33 Stradale
Alfa Romeo 4C
Alfa Romeo Diva
AMC AMX
AMC AMX III
AMC Eagle
AMC Javelin
Aston Martin DB9
Aston Martin One-77
Audi Quattro
Austin-Healey 3000
BMW E30
Buick Roadmaster (1949–1953)
Bugatti Veyron
Bugatti Chiron
Bugatti La Voiture Noire
Caterham 21
Chevrolet Camaro (first generation)
Yenko Camaro
Chevrolet Camaro (fifth generation)
Chevrolet Bolt
Chevrolet Corvair (second_generation)
Chevrolet Corvair (Yenko Stinger)
Chevrolet HHR
Chevrolet Van (first generation)
Chevrolet Van (second generation)
Chevrolet Volt
Chrysler Airflow
Chrysler Prowler
Chrysler PT Cruiser
Datsun 240Z
Datsun 410
Datsun 510
Datsun 520
Datsun 620
Datsun Sports (second generation)
De Tomaso Pantera
Dodge A100
Dodge Avenger Coupe
Dodge Challenger (first generation)
Dodge Challenger (third generation)
Dodge Charger (second generation)
Dodge Dakota (first generation)
Dodge Deora
Dodge Fageol Postal Truck (1956)
Dodge Power Wagon
Dodge Viper
Ferrari America
Ferrari 250
Ferrari Dino
Ferrari 288 GTO
Ferrari 308 GTB/GTS
Ferrari Testarossa
Ferrari F355
Ferrari 599
Fiat Barchetta
Ford (1932)
Ford Bronco (first generation)
Ford Bronco (sixth generation)
Ford Courier (first generation)
Ford E-Series (first generation)
Ford GT
Ford RS200
Ginetta G33
Honda S600
Honda NSX (first generation)
Honda S2000
Hummer H2
Ineos Grenadier
International Harvester Scout
Jaguar XK140
Jeep CJ-5
Jeep FJ
Jeep Gladiator (SJ)
Jeep Forward Control
Jeep Wrangler TJ
Jeepster (Willys-Overland)
Jiotto Caspita
Koenigsegg Jesko
Lada Niva
Lamborghini Miura
Lamborghini Calà (1995)
Lamborghini Countach
Lamborghini Silhouette
Lamborghini Jalpa
Lamborghini Gallardo
Land Rover Defender
Lotec C1000
Lotus Elise
Lotus Esprit
MANIAC Meteor Mimarlik (Karavan)
Mazda Cosmo
Mazda3 Sedan (2007)
Mazda MX-5
Mazda RX-7
Mazda RX-8
McLaren F1
McLaren 570S
McLaren Senna
Mercury Eight
Mitsubishi Mighty Max/Dodge Ram 50
Nissan Hardbody (Z24i & KA24E - 2.4L)
Nissan GT-R
Pagani Zonda
Plymouth Barracuda (third generation)
Polestar 4
Pontiac Aztek
Pontiac Fiero
Pontiac GTO (first generation)
Pontiac GTO (second generation)
Pontiac GTO (fifth generation)
Pontiac Solstice
Porsche 356
Porsche 550
Porsche 911
Porsche 959
Porsche 918 Spyder
Shelby Mustang
Subaru Impreza WRX
Toyota 86 (second generation)
Toyota Celica (first generation)
Toyota Celica (seventh generation)
Toyota Land Cruiser J40
Toyota MR2
Toyota Supra (Fifth generation)
Toyota Truck (fifth generation)
Triumph TR6
Vector W8
Volkswagen Beetle
Volkswagen Type 2 (first generation)
Volkswagen Jetta (third generation) with a VR6 engine
W Motors Lykan HyperSport
Xiaomi SU7
Titans Metal

Xiaomi Titans Metal is a proprietary alloy developed by Xiaomi that is used in their electric vehicles, achieving high strength and resilience while being about 17% lighter than traditional aluminum. This material is part of Xiaomi's innovative approach to manufacturing, which includes advanced die-casting techniques to enhance production efficiency and vehicle performance.

Overview of Xiaomi Titans Metal

Xiaomi Titans Metal is a proprietary alloy developed by Xiaomi for use in their electric vehicles (EVs). This innovative material plays a crucial role in enhancing the performance and efficiency of their vehicles.

Key Features

  • High Strength and Resilience: Xiaomi Titans Metal is designed to provide superior strength and resilience compared to traditional aluminum.
  • Weight Reduction: The alloy is approximately 17% lighter than conventional aluminum, contributing to improved vehicle efficiency and performance.
  • Advanced Manufacturing: The development of this alloy is part of Xiaomi's broader strategy to innovate in automotive manufacturing, particularly through advanced die-casting techniques.

Manufacturing Process

Integrated Die-Casting Technology

Xiaomi employs integrated die-casting technology to produce vehicle components using Titans Metal. This process involves:
  • Single Component Production: Multiple parts are molded into a single component, reducing the number of individual pieces and simplifying assembly.
  • Efficiency: The casting process is significantly faster, allowing for quicker production times and lower manufacturing costs.

Economic Implications

The use of Xiaomi Titans Metal and integrated die-casting technology has several economic impacts:
  • Cost-Effective Production: By reducing the number of parts and assembly time, Xiaomi can offer competitive pricing for their EVs.
  • Repair Challenges: While production costs are lower, the design may lead to higher repair costs due to the difficulty in replacing large, integrated components after accidents.

Conclusion

Xiaomi Titans Metal represents a significant advancement in automotive materials, combining lightweight properties with high strength. This innovation, alongside advanced manufacturing techniques, positions Xiaomi as a competitive player in the electric vehicle market.

Modena platform

The Modena platform is a self-developed technology by Xiaomi used in their electric vehicles, specifically the SU7 sedan and the YU7 crossover, which integrates the battery pack as a structural component for enhanced safety and performance. This innovative design features upside-down battery cells to improve safety by directing potential fire or force away from occupants during a crash.

Overview of the Modena Platform

The Modena platform is an innovative technology developed by Xiaomi for their electric vehicles, specifically the SU7 sedan and the YU7 crossover. This platform integrates the battery pack as a structural component, enhancing both safety and performance.

Key Features

  • Battery Configuration: The Modena platform utilizes upside-down battery cells. This design helps to redirect potential fire or force downwards, away from vehicle occupants, significantly improving safety during accidents.
  • Structural Integration: The battery pack is not just a power source but also contributes to the vehicle's structural integrity, allowing for a more efficient use of space and weight distribution.

Vehicle Applications

Vehicle Model Type Key Features
SU7 Sedan Upside-down battery cells, structural battery pack
YU7 Crossover SUV Enhanced safety features, integrated battery design

The Modena platform represents Xiaomi's commitment to safety and innovation in the electric vehicle market, setting a new standard for vehicle design and engineering.


Kei Car / Truck

Autozam AZ-1
Honda Beat
Suzuki Cappuccino

Subaru Sambar
Honda Acty

Suzuki Jimny

Monster Truck

Grave Digger (monster truck)

Unimog

Mercedes-Benz Unimog U 4000 by SYA Mobil
Mercedes-Benz Unimog U 4000 by SYA Mobil
Mercedes-Benz Unimog U 4000 by SYA Mobil
Mercedes-Benz Unimog U 4000 by SYA Mobil
Mercedes-Benz Unimog U 4000 by SYA Mobil
Unicat MD52H MB UNIMOG 6X6 (Mercedes-Benz Unimog U 4000)

Tractor

John Deere Model D
Minneapolis-Moline UTU
John Deere 4020
John Deere 855
Kubota M5-111

Military

Alvis Stalwart
BAE Systems Hägglunds Bandvagn 206
BAE Systems Land Systems Hägglunds Bandvagn 410
Chrysler Defense M1 Abrams
Ford GPA "Seep"
General Dynamics Stryker
Humvee
KrAZ 6322
MAN KAT1
Oshkosh M1070
Paramount Group Marauder
Stewart & Stevenson M1079
Tatra 815
UAZ-469
Willys MB/Ford GPW "Jeep"

Misc

Diamond T Doodlebug
Divco Model 13
Tempo Matador

Auto Enthusiasts

Chip Foose
Doug DeMuro
Emelia Hartford
Jay Leno
Jeremy Clarkson
Nicole Johnson
Sarah Greenwood

Links

"Companies, Car"
Automotive industry
Who Owns Which Car Brands?
12 Car Brands Owned By Volkswagen
Glossary of motorsport terms
List of motor racing circuits by FIA grade
10 Cars With The Most Loyal Fan Bases
Portal axle
x
-
+

SSH connection attempts

<
o
>
1. Filter for interactive SSH logins
   bash> grep sshd.\*Failed /var/log/auth.log | less

2. Filter for failed connections (i.e. no login attempted, could be a port scanner, etc)
   bash> grep sshd.\*Did /var/log/auth.log | less
              
x
-
+

Class Outline - 2018/02/20

<
o
>
  1. Terminal
    • Basics...
      • simple commands...hostname, whoami, pwd, ls...
      • less overhead
      • super flexible...can do everything!
      • great tools
      • automation
      • VI
    • SSH to webserver
      • file structure dev, run and production
      • Files...panes*, hangman*, etc
      • reversi
  2. Browser
    • mulitiple tabs
      • great for testing...don't refresh
    • incognito window
      • fooled me with localStorage
    • refresh
      • get programming change into memory
      • page is really messed up
    • Inspect/JavaScript console
      • find elements in pages
      • localStorage
      • view CSS
      • type in console
  3. Page "find" layout and functionality
    • issue with highlight inside panes
  4. To Do List
    • explain what I ran into making this pane
x
-
+

Agent Jinxes

<
o
>
Password

x
-
+

Places to Visit

<
o
>
Antarctica
Ascension Island
Australia
Azores
Bermuda
Cuba
Dubai
Egypt
Hawaii
Hong Kong
Iceland
Isle of Man
Israel
Japan
Macau
Madagascar
Malaysia / Singapore
Moldova
Mauritius
Morocco
Nepal
New York City
New Zealand
Saint Helena
United States, Florida, Jacksonville
United States, Indiana (Details)
  • Indianapolis
    • Indianapolis Motor Speedway
    • Lucas Oil Indianapolis Raceway Park
    • Indianapolis City Market
    • Indianapolis Catacombs
    • White River State Park
      • Indiana State Museum
    • Indianapolis Cultural Trail
    • Indiana Central Canal
    • Indianapolis Museum of Art
  • Purdue University
  • Lake Michigan
  • University of Notre Dame
  • Bluespring Caverns
  • Butt Drugs
  • Schimpff's Confectionery
Paper Places!
Algarve
Cape Perpetua (Thor's Well)
Elephant Trunk Hill
Kenya
Kiama, New South Wales
Ofu-Olosega
Silver Falls State Park
Zadar
x
-
+

Three Sysadmin Rules...

<
o
>
You Can’t (And Shouldn’t) Break

Rule #1: Backup Everything ( and validate the backup regularly )
Rule #2: Master the Command Line ( and avoid the UI if possible )
Rule #3: Automate Everything ( and become lazy )

Rule #4: Document very well ( in code and in man pages )
x
-
+

Island Albums (K^2)

<
o
>
Alice In Chains - Dirt
Guns N' Roses - Appetite for Destruction
Metallica - ...And Justice for All
Pantera - The Great Southern Trendkill
Pink - Funhouse
Rage Against the Machine - Rage Against the Machine
Red Hot Chili Peppers - Californication
Sevendust - Animosity
Three Days Grace - Three Days Grace
Tool - Undertow

Honorable mention:
Alanis Morissette - Jagged Little Pill
Anthrax - Sound of White Noise
Collective Soul - Hints Allegations and Things Left Unsaid
Faith No More - King for a Day... Fool for a Lifetime
Garbage - Version 2.0
Gin Blossoms - New Miserable Experience
Gruntruck - Push
Lady Gaga - The Fame
Mudvayne - Lost and Found
Pink - Missundaztood
Shakira - Laundry Service
System of a Down - Toxicity
The Offspring - Smash
The Wallflowers - Bringing Down the Horse
x
-
+

Travel - NYC (planning)

<
o
>
New York City
Boroughs of New York City
Neighborhoods in New York City
Manhattan
List of Manhattan neighborhoods
Brooklyn
List of Brooklyn neighborhoods

History of New York City (1898-1945)
History of New York City (1946-77)
History of New York City (1978-present)

Best Things To Do in New York City
American Museum of Natural History
Cathedral of Saint John the Divine
Brooklyn Bridge
Central Park
Chinatown, Manhattan
Columbia University
Coney Island
Ellis Island
Empire State Building
Grand Central Terminal
High Line
The Market NYC
National September 11 Memorial & Museum
One World Trade Center (Observatory)
30 Rockefeller Plaza (Top of the Rock)
St. Patrick's Cathedral (Manhattan)
Statue of Liberty
Times Square
Trump Tower
Wall Street

The most beautiful NYC buildings
Mood Fabrics
The Free Staten Island Ferry
New York CityPASS
Rockefeller Legos
Circle Line Sightseeing Cruises
Big Bus Tours
x
-
+

Agent Questions

<
o
>
Password


x
-
+

Companies, Dream

<
o
>
Adobe
Advanced Micro Devices
Alphabet Inc.
Apple
ASML Holding
AT&T
Bell Labs
BlackRock
CANONICAL (ubuntu)
CATERPILLAR
Digital Equipment Corporation (Compaq then HP)
FedEx
Informix Corporation (IBM)
Kubota
Lamborghini (Volkswagen Group/Audi)
Lockheed Martin
Maersk
Motorola
MSC (Mediterranean Shipping Company)
Nike
Nikon
NVIDIA
Red Hat (IBM)
SAMSUNG
Shazam (Apple)
SpaceX
Sun microsystems (Oracle)
The Lego Group
Toyota
VMware
WikipediA
Yanmar
x
-
+

Interview Questions

<
o
>
▸ Interviewer

▸ What historical periods interested you?
This checks for intellectual curiosity and ability to connect past events to modern problem-solving.
▸ What do you think is the most important/significant invention?
A strong answer requires critical thought about societal impact. Good answers often cite things like the Printing Press, Semiconductor, or Sewage System.
▸ What is your life story? The decisions you made along the way, and why you made them.
This is a behavioral question designed to test self-reflection, planning, and ability to communicate complex personal narratives concisely.
▸ What are the most difficult problems you have worked on and how did you solve them?
Use the STAR method (Situation, Task, Action, Result) to describe a technical or complex challenge, emphasizing the process of diagnosis and resolution.
▸ What was your favorite year in/of life?
A light question designed to gauge optimism, passion, and ability to recall positive events.
▸ What was your biggest missed opportunity?
This gauges risk tolerance and self-reflection. A strong answer shows learning from the experience rather than simply regret, and confirms a willingness to seize future chances.
▸ Who do you look up to?
This identifies values and aspirations. The person chosen often reflects the candidate's perception of success, ethics, or professional excellence.
▸ What is the one experience you would really like to relive?
A light question designed to reveal what brings the candidate genuine joy or satisfaction, often relating to professional accomplishment or personal milestone.
▸ Where do you see yourself in the next five years?
This checks ambition and commitment to the field. A good answer aligns their career growth with the company's trajectory and opportunities.
▸ Do you enjoy focusing on one task or many?
This assesses work style and adaptability. Neither answer is inherently right; the key is the justification (e.g., "I prefer deep focus, but I can context-switch effectively when needed").
▸ Do you prefer working with people or alone?
This assesses collaboration style. The ideal answer balances both: acknowledging the need for deep, focused, solo work (coding/writing) with the equal importance of teamwork and communication (planning/debugging/review).
▸ Do you prefer pushing a pencil or getting your hands dirty?
This is an analogy for planning vs. execution. "Pencil" implies planning, documentation, or architecture; "hands dirty" implies immediate coding, debugging, or systems integration. A good developer values both stages.
▸ Love job vs love pay?
This tests motivation and long-term satisfaction. The answer should balance financial stability with passion for the work. A strong candidate emphasizes job satisfaction but confirms compensation must be competitive/fair.
▸ Have you ever been fired, laid off, or asked to leave? If so, why?
A classic behavioral risk assessment. If the answer is yes, the focus must be on accountability, learning, and growth derived from the experience, not on blaming past employers.
▸ Do you root for underdogs?
A soft question that touches on empathy, fairness, and willingness to challenge the status quo. It can reveal if the candidate supports smaller teams, emerging technologies, or difficult projects.
▸ If you have time to waste on your phone...what would you do?
This is a lifestyle question to gauge leisure interests and digital consumption habits. Responses might range from reading tech news or articles (positive) to social media scrolling (neutral/negative).
▸ Do you play video games? If so, what type(s)?
A casual question that can reveal problem-solving styles (e.g., strategy, puzzle games) or teamwork experience (MMOs, cooperative games).
▸ If you play video games do you use the "cheat codes"? If so, why?
This tests adherence to rules vs. efficiency/curiosity. Using cheats to quickly test mechanics (like a QA role) is different from using them to simply avoid effort. Good answers focus on the reason for the deviation.
▸ How many odd vs even calendar days are there?
This checks for precision and detailed calculation. Note: Many people quickly give the trick answer that there is only one more odd day than even day (183 vs. 182, based on the sequential day number 1–365).
The actual count for calendar date numbers (1st, 2nd, 3rd... 31st) in a standard 365-day year is:
  • There are 186 odd-numbered calendar dates (e.g., 1st, 3rd, 5th... 31st).
  • There are 179 even-numbered calendar dates (e.g., 2nd, 4th, 6th... 30th).
The answer is more odd days by a margin of 7.
▸ What was the toughest challenge in your life? What was the outcome?
This is a resilience and character assessment. The key is not the challenge itself, but the process used to overcome it, emphasizing perseverance and positive outcome/learning.
▸ What was the scariest moment in your life?
A deep behavioral/personal question. Focus on the emotional management during the event and how the candidate handled high-stress situations. Avoid overly dramatic or inappropriate topics.
▸ Which character do you like better ':' or ';'? Why?
This tests code philosophy. The semicolon ';' terminates statements in C-style languages; the colon ':' starts a block in others. A good answer reveals if the candidate prioritizes explicit termination or minimalist syntax.
▸ Which character do you like better '<' or '>'? Why?
This tests context awareness. Both are crucial (e.g., HTML tags, comparison operators). The preference usually depends on the candidate's core domain (frontend vs. backend logic).
▸ Which character do you like better '/' or '\'? Why?
This tests OS and web history knowledge. The forward slash '/' is the universal separator for URLs and Unix/Linux paths. The backslash '\' is primarily used in Windows file systems. The forward slash is generally preferred for its universality and platform neutrality.
▸ Which character do you like better '.' or '?', or '!'? Why?
This tests communication style. The choice reveals if the candidate favors finality '.', inquiry '?', or urgency/emotion '!'.
▸ What is the percentage difference measuring a rectangle corner to corner diagionally vs the edges?
The maximum saving is for a square, where you save ≈ 30% of the distance (the actual figure is 29.3%). For other rectangles, the saving percentage is less than 30%, but measuring diagonally always saves distance.
▸ Why is a circle 360 degrees?
This is based on the Babylonian sexagesimal (base 60) number system and their observations that the solar year is approximately 360 days. The number 360 is highly divisible (by 2, 3, 4, 5, 6, 8, 9, 10, 12, etc.), which made it perfect for astronomy and calculations.
▸ Why is time measured in 60?
Time is measured in 60 because the ancient Sumerians and later the Babylonians used a sexagesimal (base 60) system for mathematics and astronomy, a system well-suited for division into many equal parts. This system was inherited by later civilizations.
▸ Please explain an admin role vs a developer role.
This checks for knowledge of organizational structure and the modern DevOps philosophy.
  • A Developer designs, builds, and tests the application environment, then fixes and enhances the code in production.
  • An Admin (or Operations) secures, deploys, and ensures uptime of the production environment via hardware replacement, load monitoring, backups, and patching.
There is a classic discussion of who is more important. Modern philosophy (DevOps) emphasizes strong communication and shared ownership, though some shops still maintain strictly separate duties.

▸ Interviewee

▸ What is the style of your general/project management?
This checks for alignment with the company's culture (e.g., Agile, Waterfall, Scrum). The interviewer should be prepared to describe their approach to prioritization, communication, and expectation setting.
▸ What are goals and reviews like?
This reveals the feedback and performance culture. The interviewer should describe the frequency (annual/quarterly), the format (360/top-down), and how goal setting (OKRs/SMART) is implemented.
▸ How big is the team I will be working on?
A crucial question for the candidate to gauge the scope of responsibility (large team = specialized role, small team = generalist). The interviewer should state the size and the composition (e.g., 5 engineers, 1 designer, 1 PM).
▸ What exact platform(s) does your shop use?
This tests for technical fit. The interviewer should list the core technologies (e.g., cloud provider, primary language, database, CI/CD tools) and any upcoming migration plans.
▸ What is your test environment like?
This reveals quality assurance maturity. The interviewer should detail the staging environments, the automation level (unit/integration/E2E tests), and the process for deploying code for QA.
▸ Do you pay for professional training?
This reveals the company's investment in employee growth. The interviewer should detail the budget, tuition reimbursement, conference allowances, or internal training programs available.
▸ Does this position require on call?
A critical question to confirm work-life balance. The interviewer must clearly state the frequency (e.g., 1 week in 6), compensation (paid standby/OT), and whether it's severity-level dependent.
▸ Do you pay for a work cell phone?
A simple perk/expense question. If the job requires mobile access for monitoring or communication, the company typically provides or subsidizes the device/plan.
▸ Do you have an ESPP and/or a 401K?
This checks for financial benefits. ESPP (Employee Stock Purchase Plan) offers discounted company stock. 401K should detail the company matching structure (e.g., 50% match up to 6% salary).
▸ What is your vacation/holiday time? Is it a PTO bucket?
This clarifies paid time off policies. PTO (Paid Time Off) is a single bucket for vacation and sick days. The interviewer should state the number of days and whether time rolls over or is use-it-or-lose-it.
▸ What is your medical insurance like?
This medical insurance question requires detailing the plan type (HMO/PPO), deductible, and employee premium contribution.
▸ May I see my where my desk will be?
The desk location should actually be shown or and explanation of why it can not be shown.
x
-
+

Island Albums (Pumpkin)

<
o
>
Pearl Jam - Ten
Pink Floyd - The Dark Side of the Moon
The Smashing Pumpkins - Siamese Dream
Deftones - Saturday Night Wrist
Led Zeppelin - IV
Radiohead - The Bends
Aaron Copland - Appalachian Spring
Kenny Chesney - The Big Revival
Halsey - Hopless Fountain Kingdom
A Perfect Circle - Mer de Noms
x
-
+

Idioms

<
o
>
Idiom: a group of words established by usage as having a
meaning not deducible from those of the individual words
Idioms and phrases
Favorite idioms are colored
(Do a) 180
(With) 20/20 hindsight
24/7
30,000 foot view
86('d)
50/50 (fifty-fifty)
A bird in the hand is better than two in the bush
A bit of a stretch
(Even) A broken/stopped clock is right twice a day
A chip off the old block
(Throw) A curve ball
A dime a dozen
A far cry
A hop, skip, and a jump
A little bird told me
(Have) A lot on your plate
A pencil pusher
A picture is worth a thousand words
A rising tide lifts all boats
A roll in the hay
A rough patch
A sandwich short of a picnic
A short fuse
A snowball’s chance in hell
A steal
A storm is brewing
A wash
(Be) A weight off (one's) mind/shoulders
(Cast) A wide net
Above board
Above the law
Actions speak louder than words
Add(ing) up
Ahead of the curve
Air (one's) dirty laundry
All bark and no bite
All hands on deck
All talk, no walk
All the marbles
Ambulance chasing
Amped-up
Ants in your pants
Apple of my eye
Apples to apples
Apples to oranges
Are you game
Arm candy
As if
As the crow flies
Ass handed to you
Assclown
At a crossroads
At a snail's pace
At arm's length
At large
At the back of (your) mind
At the drop of a hat
At the end of (your) rope
Average Joe
(An) Ax(e) to grind
Baby steps
Back of the envelope
(Whoa,) Back the bus up
Back to square one
(Go) Back to the drawing board
Back to/against the wall
Back-alley
Back-of-the-envelope
Backdoor
Backfire
Backhanded compliment
Backpedal
Backseat driver
Backstabber
(A) Bad apple
Back to the salt mines
Bad boy
(A) Bad egg
Bait and switch
(Have) Back to the wall
(Excess) Baggage
Baked in(to the cake)
Bald-faced lie
Ball of yarn
(A) Ballpark figure
Balls to the wall
Balls-out
Bare bones
Barfly
Barking up the wrong tree
Batten down the hatches
Battery challenged/issues
Be even (with someone)
Be out
Be short (with someone)
Be toast
Beat a dead horse
Beat around the bush
Beat (it) out (of)
Beat the clock
Beater
(To) Beef up
Behind your back
Bells and whistles
Bend a knee
Bend (one's) ear
Bend over backwards
(Go on a) Bender
(To get) Bent out of shape
Beside yourself with joy
(Put one's) Best foot forward
Bet you dollars to doughnuts
Bet your bottom dollar
Better (to be) safe than sorry
(The) Big cheese
Big deal
Bigger fish to fry
Bigwig
Bingo
(A) Bird's eye view
Birdbrain
Birds of a feather (flock together)
Bite off more than you can chew
Bite the bullet
Bittersweet
Bite your tongue
Black and white
Blacklist
Black sheep
Blank out
Black swan
Black sheep
Black tie
(A) Blessing in disguise
Blood in the water
Blow a gasket
Blow off (some) steam
Blow (something) out of the water
Blow smoke
Blow sunshine up (one's) ass
Blow the lid off
Blow this popsicle stand
Blow your cork
Blown away
Blue box
Blue in the face
Blue screen of death
Boatload
(And) Bob's your uncle
Boil down
Boil the ocean
Bold-faced lie
(Drop a) bombshell
Boo
Bookworm
Booty call
(A) Boomer
Boots on the ground
(Give someone) Both barrels
Bottle up
Bottleneck
(The) Bottom line
Bottom of the barrel
Bottomless
Bottoms up
Box in
Brain cramp/freeze
(It's not) Brain surgery
Bread and butter
Breadwinner
Break a leg
Break the ice
Break the mold
Brick
Brick and mortar
Bring home the bacon
Broaden your horizons
Broken record
Brownie points
Brush off
Brush up
Brute force
Bucket list
Buckle down
Buckle up
Bug
(Like a) Bull in a china shop
Bulletproof
Burn
Burn bridges
(Some money is) Burn(ing) a hole in your pocket
Burn(ing) daylight
Burn(ing) the Midnight oil
Burn(ing) daylight
Bury(ing) the hatchet
Bust (your) balls
Busy as a bee
Busy beaver
Butchered
Butter up
Butterfingers
(Have) Butterflies in (your) stomach
Butthead
Butthurt
Button your lip
Buttons are working but the electricity's out
(I don't) Buy it
Buzz off
By Heart
By leaps and bounds
By the balls
By the book
(To escape) By the skin of your teeth
Cadillac
(A) Calkwalk
Call in/out/off
Call it
Callback hell
(The) Calm before the storm
Came unleashed
Camp(ing) out
(Open a) Can of worms
(You) Can't change a leopard's spots
(You) Can't put the toothpaste back in the tube
Can't see the forest through the trees
(You) Can't teach an old dog new tricks
Carrot and stick
Carry (someone's) water
Carrying coals to Newcastle
Cash cow
Cat got your tongue?
Catcall
Catch my drift
Catch red-handed
Catfish(ing)
Caught between a rock and a hard place
Caught flat-footed
Caught with (one's) hand in the cookie jar
Chain of command
Chalk it up
Change of heart
Charley horse (punch)
Chase your (own) tail
Chatty Cathy
(The) Check is in the mail
Checked out
Cheesy
Cherry-pick
Cherry on top
Chew (your) ear off
Chicken and egg
Chicken out
(A) Chip off the old block
(A) Chip on (your) shoulder
Chump change
(Poor as a) Churchmouse
Circle back
Circle the drain
Circle the wagons
Clam up
Clean (one's) clock
Clear sailing
Clapping seals
Cleanliness is next to godliness
Click
(When something) Clicks
Clicky, clicky
Cliffhanger
Clock(ed)
Close call
Close, but no cigar
Cloud nine
Clown(s)
(Give someone the) Cold shoulder
Cold turkey
Combo
Come clean
Come out in the wash
Come rain or shine
Come out of (your) shell
Come unglued
Coming out of (your) ears
Coming out of the woodwork
Common denominator
Connect the dots
Cookie cutter
Cool as a cucumber
Cool your jets
Cost an arm and a leg
Couch potato
Cough it up
Couldn't find (one's) way out of a paper bag
Couldn't pour water out of a boot if there was instructions on the heel
Count me out
(A) Country mile
Cover a lot of ground
Cover (your) bases
Cozy up
Crack a windows
Cramp (one's) style
Crank it up
Crap/shit sandwich
Crapshoot
Cream of the crop
Crickets
Crocodile tears
Crop dusting
Cry (someone) a river
(Don't) Cry over spilt/spilled milk
Cry wolf
Crystal clear
(Not my) Cup of tea
Curtains
Cut bait
Cut corners
Cut from the same cloth
Cut it (out)
Cut (someone) some slack
Cut the cheese
Cut the cord
(To) Cut corners
(Can't/Don't) Cut the mustard
Cut your losses
Cut both ways
Cut to the chase
(As) Cute as a button
Dangle a carrot
(In a) Dark alley
Dark horse
Dawn of a new day
Dawn on (someone)
Dead duck
Dead in the water
Dead soldier
Dead weight
Deadhead
Death sentence
Death trap
(A) Deep dive
Deep pockets
Deer in the headlights
Dial it back/down
Diamond in the rough
Diddly-squat
Didn't age well
Die on this hill
(A whole) Different animal
(A) Different ball game
(In a) Different light
Dig deep
Dig in
Dime a dozen
Dive into
Ditto
Do unto others as you would have them do unto you
Do (you) a solid
Dodge a bullet
Doesn't grow on trees
(Money) Doesn't grow on trees
Dog days of Summer
Dog-ear
Dog eat dog
Dog pile
Dog them
Dog whistle
Doggy bag
(In the) Doghouse
(All) Dolled up
Don't count your chickens before they hatch
Don't give up your day job
Don't hate the player, hate the game
Don't have a leg to stand on
Don't judge a book by its cover
Don't mind
Don't poke the bear
Don't put all your eggs in one basket
(Don't put the) Cart before the horse
Don't shit where you eat
Dorkus maximus
Dot your i's and cross your t's
Double standard
(Do a) Double take
Double-dipping
(A) Double-edged sword
Down for the count
Down the drain/toilet
(Go) Down the rabbit hole
Down the road
Down to the wire
Down wind
Drag (your) feet
Draw a blank
Draw a line in the sand
Draw the shortest straw
(A) Drive-by
Drop it
Drop like flies
Drop(ped) the ball
Dry run
Dumb dick
Dumpster diving
Dumpster fire
Duped
(A) Dust up
Eager beaver
Eagle eye(s)
(Keep an) Ear to the ground
Earbuddies
Early bird
Earworm
Easier said than done
Easter egg
Easy money
Easy on the eyes
Eat my dust
Eat crow
Egg on your face
Egghead
Elbow grease
(The) Elephant in the room
Elevator doesn't go to the top floor
End game
Enough weight
Every cloud has a silver lining
Every pot has a lid
Everyone and their grandma
(When) Everything clicks (into place)
Everything but the kitchen sink
Evil eye
Eye candy
Eye of the beholder
Eye of the storm
Fair-weather friend
Fall by the wayside
Fall into (your) lap
Fall off the turnip truck
Fall off the wagon
Fall on deaf ears
Fall on your sword
Fall through the cracks
Falling into a trap
Fart in a windstorm
Fast track
(A) Field day
Fight fires
Fight tooth and nail
Fill (someone's) shoes
(The) Fine print
(Get) Fired
Firing on all cylinders
Fish for (something)
(A) Fish out of water
Fishtailing
(Be) Fishy
Fit as a fiddle
(To) Fit like a glove
Fixed their wagon
Flash in the pan
Flat-footed
(The) Flip side (of something)
Float an idea
Floats your boat
Fly in the ointment
Fly off the handle
(Be a) Fly on the wall
(With) Flying colors
Fold(ed)
Follow to the letter
Food chain
(Put) Foot in (your) mouth
(Get a) Foot in the door
For Pete's sake
For the birds
For the long haul
For the record
Fork in the road
Frankly speaking (to be frank)
(As) Free as a bird
Free lunch
Friend with benefits
(Straight) From the horse's mouth
F*ck buddy
Full of shit
Funny business
Gain traction
Game changer
Game the system
Gang up on
Gaslight(ing)
Get a room
Get back on the horse
Get canned
Get (your) ducks in a row
Get (your) feet wet
Get hairly
Get (your) hands dirty
Get (one's) hopes up
Get it out of your system
Get off my back/case
Get (something) off my chest
Get/start off on the wrong foot
Get off the ground
Get the ax(e)
Get the ball rolling
Get the boot
Get the hell out of Dodge
Get the memo
Get the picture
Get the short end of the stick
Get this show on the road
Get to first base
Get to the bottom of (something)
Get under (your) skin
Get your act together
Getting a taste of your own medicine
Ghost in the shell
Ghost town
Gig
Give (someone) a blank stare
Give it a shot
Give it a whirl
Give me a break
Give me (some) skin
Give me the keys
Give (someone) the benefit of the doubt
Give the green light
Give (someone) the stink eye
Glass ceiling
(The) Glass is half full/empty
Glued to
Go against the grain
Go big or go home
Go broke
Go commando
Go down in flames
Go hog wild
Go nuclear
Go postal
Go south
Go the extra mile
Go the way of the dodo (bird)
Go to bat (for someone)
Go to hell in a handbasket
Go/ing to the well (too often)
Go up in smoke
Go with the flow
Gold digger
Golden boy/girl
Gold plate(d)
Golden goose
Good bones
Goofy (footed)
Goose egg
Grand
Grandstanding
Grapevine
Grasping at straws
Grassroots
Gravy
Grease monkey
Grease the skids
(It's all) Greek to me
Green thumb
Greener pastures
(Be a) Greenhorn
(The) Grind
Grow a pair
Grow on (someone)
Growing pains
Grumpy pants
Guilt trip
(A) Guinea pig
Gun it
Gun shy
Guys
Gut feeling
Hair on fire
Hair-trigger
Half-baked
(Get) Hammered
(The) Hamster has died but the wheel is still going
Ham-handed
Ham it up
Hand in hand
Hand in glove
Hand over fist
Handful
Handle with kid gloves
(One's) hands are tied
Hang in there
Hang it up
Hang (one) out to dry
Hanging by a thread
(As) Happy as a clam
Happy accident
Happy camper
Hard and fast
(Cold,) Hard cash
Has a hollow leg
(S/he) Hasn't seen the football since kickoff
Hauling balls
Have a ball
Have a bee in your bonnet
Have a Dog in the fight
Have a good head on (your) shoulders
Have a screw loose
Have an ace up the sleeve
Have clean hands
Have your work cut out
Head for the hills
Head in the sand
Head over heels/feet
Heads up!
Healthy as a horse
Heartbreaking
Heat(ed)
(A) Heavy hand
Helicopter parent(ing)
Hidden gem
High and dry
(As) High as a kite
(Get off your) High horse
Hit (something) out of the (ball)park
Hit the bricks
Hit the gas
Hit the ground running
Hit the sack/hay
Hit the nail on the head
Hit the road
Hit your stride
Hit-or-miss
Hobby horse
Hogwash
Hold (your) breath
Hold (something) close to (one's/the) vest
Hold feet to the fire
Hold (one's) hand
Hold on to your hat
Hold the line
(Doesn't) Hold water
Hold your horses
Hold your tongue
(In a) Holding pattern
Holy cow
Homegrown
Homework
Homerun
Hoof it
Hook up
Hook, line, and sinker
(The) Horse is out of the barn
Horse of a different color
Horse trading
Horseplay
(A) House of cards
Hot potato
(Do some) Housekeeping
Humor me
(Eat) Humble pie
(Well,) I'll be a monkey's uncle
I'm rubber, you're glue
I'm (a little) rusty
Icing on the cake
If I had a nickel for every time that happened (, I would be rich)
In a nutshell
In a bubble
In a (pretty) pickle
In a pinch
In cement
In concert
In deep water
In hand
In my humble opinion (IMHO)
In one ear and out the other
In the bag
In the ballpark
In the black
In the blink of an eye
In the cards
In the closet
In the crosshairs
In the dark
In the flesh
In the hot seat
In the long run
(Keep) In the loop
In the nick of time
In the pipeline
In the red
In the same boat
(Deep) In the weeds
In (your) wheelhouse
In your backyard
Inch up
Indian giver
Inside baseball
Inside job
Inside track
Into the wind
Iron out (the wrinkles)
(Too many) Irons in the fire
It takes two halves of scissors to cut
It takes two to tango
It's on me
Jerry-rig
Jog your memory
Joker(s)
Josh (around/something/you)
Juggling act
(From the) Jump
Jump/throw in the deep end
(Go) Jump in a/the lake
Jump on the bandwagon
Jump out
Jump ship
Jump the gun
Jump the shark
Jump to conclusions
Jump through hoops
(A) Karen
Keep an eye on (the ball)
Keep an eye out
Keep (your) eyes peeled
Keep (your) fingers crossed
Keep (your) nose to the grindstone
Kick around
Kick the bucket
Kick the can down the road
Kick the tires
Kick to the curb
Kicks
Kill two birds with one stone
Kiss ass/up
Kiss (one's) ass
Kitty-corner
Knee-deep in (shit)
Knee-high to a grasshopper
Knock it off
Knock on wood
Knock out
Knock(ed) out of the park
Knock (someone) over with a feather
Knock yourself out
Know (something) like the back/palm of your hand
Know the animal
Knuckle dragger
Knuckle sandwich
Knucklehead
Lame duck
Land it
Land on your feet
Laser focus(ed)
Last resort
Last straw
Lather, rinse, (and) repeat
Laugh all the way to the bank
Laundry list
Lay the groundwork (for something)
Leadfoot
(Steep) Learning curve
Leave hanging
Leave it at the door
Leave it (all) on the field
(To) Leave no stone unturned
Leave the door open
Left-handed compliment
Left field
Legwork
Lend an ear (to someone)
Let it bake
Let it go
Let (your) guard down
Let it slide
Let sleeping dogs lie
Let the air out of (something)
Let the cat out of the bag
Let the chips fall where they may
Let the dust settle
Let the genie out of (or put the genie back in) the bottle
Let your hair down
Level the (playing) field
Level up
Lick your wounds
Light bulb
Lighten up
(The) Lights are on, but nobody's home
Lights out
Like a chicken with its head cut off
Like a (hot) knife through butter
Like clockwork
Like night and day
Like (two) peas in a pod
Like riding a bike
Like shooting fish in a barrel
Like watching grass grow
Like watching paint dry
(In the) Limelight
(The) Lion's share
Lip service
(A) Little bird told me
(The) Little things
Live and learn
Live high on the hog
Living large
Locked and loaded
Loaded question
Long in the tooth
Long shot
(Don't) Look a gift horse in the mouth
Look before you leap
Look down on
Look (yourself) in the mirror
Look someone in the eye(s)
Look up to
Looking to your laurels
Look up on
Look what the cat dragged in
Loose cannon
Loose end(s)
Lose ground
Lose your marbles
Lose your shirt
Lost like a puppy
Lost your marbles
Loudmouth
(Setting a ) Low bar
Low hanging fruit
Low man on the totem pole
(As) Mad as a hornet
(To) Make a dent in
(To) Make a long story short
Make a mountain out of a molehill
Make hay
Make or break
Make the cut
Make the grade
Make waves
Match made in heaven
Man down
Measure twice, cut once
(Have a) Meltdown
Middle ground
Middle of the road
Mickey Mouse
Might as well
Milk dry
Milk the system
Million-dollar question
(Get your) Mind out of the gutter
Mind your own business
Miss(ed) the boat
Mission scrubbed
MO
(A) Monday morning quarterback(ing)
Money to burn
Monkey around
Monkey business
(A) Monkey on/off your back
Monkey see, monkey do
Monkey wrench
Monkeys might fly out of my ass
More fun than a barrel of monkeys
More than meets the eye
Mouthpiece
Mouthful of marbles
Move mountains
(Have) Move(d) on
Move the goalposts
Move the needle
Moving target
Moving the goalposts
Mull over
Muscle memory
My two cents
My way or the highway
(The) Nail in the coffin
Nail it
(A) Nail-biter
Nails on a chalkboard
Nancy
(The) narrative
Nature calls
(The) Nature of the beast
Neck and neck
(Your) Neck of the woods
(Like finding a) Needle in the haystack
Negative Nelly
Neither here nor there
Nervous Nellie
Netflix and chill
Nip it in the bud
Night owl
(The) Nitty-gritty
No man's land
No pain, no gain
Noodle
No picnic
No problem
No smoke
No strings attached
No sweat
No-brainer
(Use your) Noggin
Not buy (something)
Not going to lose sleep over...
Not have two brain cells to rub together
Not in my book
Not playing with a full deck
Not the brightest crayon in the box
Not the sharpest knife in the drawer
Not the sharpest tool in the shed
Not touch with a ten-foot pole
Nothing to sneeze at
Nothing to write home about
Nothing ventured, nothing gained
Nuclear option
Nuke it
OG
Odd duck
Oddball
Off base
Off the beaten path
Off/On the books
Off the cuff
Off the deep end
Off the grid
(Let someone) Off the hook
Off the reservation
Off the table
(Right) Off the top of my head
Off to the races
Off your rocker
Old school
On a different planet
On a dime
On a lark
(Out) On a limb
On a roll
On a soapbox
On a shoestring (budget)
On board
On cloud nine
On fire
On hand
On (your) nerves
On paper
On pins and needles
On the sideline(s)
On target
(Put) On the back burner
On the ball
On the board
On the chopping block
On the fence
On the front burner
On the lam
On the line
On the nose
On the other hand
On the pot
On the radar
On the ropes
On the table
On the tip of the tongue
On the up-and-up
(Skating) On thin ice
On your soapbox
Once-over
Once in a blue moon
One for the books
(A) One trick pony
One-Horse race
(A) One-way street
Only as strong as the weakest link
Only rowing with one oar
Open it up
Open the floodgates
(The) Other side of the coin
Out in the cold
(Get) Out of hand
Out of line/order
Out of sight, out of mind
Out of step
Out of the blue
(Right) Out of the box
Out of the frying pan into the fire
Out of the gate
Out of the woods
Out on a limb
Out the window
Out to lunch
(Think) Outside of the box
Over (your) head
(Out) Over (one's) skis
Over the hill
Over the moon
Over the top
Own it
Pan out
Paint(s) a picture
Paint yourself into a corner
Paint (something) with a broad brush
(Don't get your ) Panties in a bunch
Paper tiger
Paperweight
Par for the course
Park it
Parrot(ing)
Pass the baton
Pave the way
Pawn
Pawn off
Pay the piper
Pea brain
Peanuts
(Put the) Pedal to the metal
Pee like a racehorse
Peel(ing back) the onion
Peeping Tom
Pencil out
(A) Penny for your thoughts
Pepper(ed) (with) (something)
Penny pincher
Pepper(ing)
(A) Perfect storm
Pet name
Pet peeve
Peter out
Photo finish
Pick of the litter
Pick your battles
Pie in the sky
Piece of cake
Piece of shit
Piece of the pie
Pig out
Piggyback
Pigskin
Pile of crap
Pillow talk
Pimp(ed) out
Pipe dream
Pissed
Pit stop
(As) Plain as day
Plain Jane
Play cards close to chest
Play(ing) for both teams
Play hardball (with someone)
Play it by ear
Play(ing) possum
Play with fire
Playbook
Pleased as punch
Plenty of fish in the sea
Poetic justice
Point the finger at (one)
Poker face
Polish off
Pony up
Poop or get off the pot
(Go) Pound sand
Pour gasoline on the fire
Practice makes perfect
Practice what you preach
(A) Pretty penny
Price(d) in
(The) Proof is in the pudding
Pull strings
Pull the plug
Pull the wool over eyes
Pull back the curtain
Pull someone's leg
Pull out all the stops
Pull out of a hat
Pull out of thin air
Pull the rug out (from under something)
Pull the trigger
Pull/yank someone's chain
Pull yourself together
Pump (some) iron
Pump the brakes
Punch down
Punt
Puppet show
Puppy love
Push (your) buttons
Push the envelope
Put a bug in (one's) ear
Put a finger on it
Put a pin in it
Put a sock in it
Put (someone) in a box
Put on ice
Put (something) on the map
Put out to pasture
Put some mustard on it
Put through the wringer
Put to bed
Put your money where your mouth is
(Make) Quick work (of something)
Quitting cold turkey
Railroad(ed)
(Take a) Rain check
(It's) Raining cats and dogs
(A) Rainy day
Raise the bar
Rat race
Rattle (one's) cage
(A) Ray of sunshine
Read between the lines
Read the room
Recharge your batteries
Red flag
Red herring
Red-headed stepchild
Red line
Red tape
(Take a/the) Redeye
Reinvent the wheel
Rickroll
Ride (off) into the sunset
Ride shotgun
Right up your alley
Ring a bell
Rip off the Band-Aid
Ripped (one) a new one
Risk it for the biscuit
Roach coach
Road Hog
(Run into a) Roadblock
Rock solid
(Don't) Rock the boat
(It's not) Rocket science
Roll the dice
Roll up your sleeves
Roll with the punches
Roller coaster
Rolling in dough
Rome wasn't built in a day
Rough it
Row one's own boat
(A)Round the Clock
Rub it in
Rub off
Rub the wrong way
Rub salt into the wound
(Where the) Rubber meets the road
Rubberneck
Rubber stamp
Rug rat
Ruh roh (Scooby-Doo)
Rule of thumb
Run away with (something)
Run of the mill
Run (around) in circles
Running on fumes
Run out of gas
Run(ning) out the clock
(My) Rushmore
Sad sack
Sail close to the wind
(On the) Same page
(On the) Same wavelength
Sandbag
Save (your) bacon
Save for a rainy day
Saved by the bell
(Get) Schooled
Scope creep
Score
Scrape the barrel
Scratch (that)
Scratch the surface
Scratch your back
Screw the pooch
Screw(ed) up
Scrub down (like a crime scene)
(Play) Second fiddle
Second hand
Second wind
Seconds
See eye to eye
See in a new light
See it coming a mile away
Seeing color for the first time
Sell (one) down the river
Sell it
Sell like hotcakes
Set in stone
Seventh heaven
Shake in boots
Shape up or ship out
(As) Sharp as a tack
Shed light on something
(No shit) Sherlock
Shift gears
Shine
Shine through
Ships that pass in the night
Shirt off my back
(When the) Shit hits the fan
Shitshow
Shit kickers
(The) Shoe is on the other foot
Shoot
Shoot down
Shoot for the moon
Shoot the breeze
Shoot yourself in the foot
Short leash
Shot across the bow
Shouting match
Shove off
Show (one) the door
Show (one) the receipts
Show (one) the ropes
Show your hand
Shut down
Shut the front door
Shut your pie hole
Siberia
Sick and tired
Sick as a dog
Side piece
(Get) Sidetracked
(A) Sight for sore eyes
Silver bullet
Silver lining
(On a) Silver platter
Silver spoon
Simmer down
Sing a different tune
Sink in
Sink or swim
Sit on (one's) hands
Sit(ting) on the fence
Sitting duck
Skating rink
Skin in the game
Skyrocket
Slap on the wrist
Slay the dragon
Sleep like a log
Sleep on it
Sleep tight
Sleeper
Sleight of hand
Slip away
(To) Slip your mind
Slip through the cracks
Slippery slope
Sloppy seconds
Slowpoke
Small fry/fries
Small peanuts
Small potatoes
Smoke and mirrors
Smooth sailing
Smoke show
Smoking gun
(At a) Snail's pace
Snake eyes
Snake in the grass
Snowballed
Snowflake
Snug as a bug in a rug
Soccer mom
Social butterfly
Soft spot
Soft-pedal (something)
Softball question
(As) solid as a rock
(A) Sore loser
Sour grapes
Southpaw
Space out
Spanked
Speak of the devil
Spell it out
Spill (the beans)
Spill the tea
Spin a yarn
Spin (your) wheels
Spit it out
Spitball
Split(ting) hairs
Spoon (someone)
Spoon feed/fed
Spot on
Spread your wings
Spring chicken
Square with
Squared away
Squeaky clean
Squeeze in
Squeaky wheel gets the grease
Squirrel away
Squirrel (out of)
Squirreled
Stab someone in the back
Stand still
(When the) Stars align(ed)
Start in on
Start off on the right foot
Starvin' Marvin
Stay in your lane
Steal (your) thunder
Steamrolled
Step on a rake
Step on (one's) toes
Step up (your) game
Step up to the plate
Stepping into (something)
Stick a fork in it
(A) Stick in the mud
Stick to (your) guns
Stick up (your) ass
Stick your nose into something
Stir the pot
(A) Stone's throw away
Stonewall
Stop on a dime
Straight as an arrow
Straight from the horse's mouth
Straight shooter
(The) Straw that broke the camel's back
Strike while the iron is hot
Stroke your ego
(On the) Struggle bus
(As) Stubborn as a mule
Stuck in time
Suck it up (buttercup)
Suck ass
Suck up (to someone)
(It/That) Sucks
Sugar daddy
Sugarcoated
Sundowning
Sunset(ing)
Sweating bullets
Sweep (something) under the rug
Sweet spot
Sweet tooth
Swimming upstream
Switch gears
Switch-hitter
Table (something)
(To) Tackle
Tailgating
Take a/the bullet (for someone)
Take a hike
Take a page out of (your/the) book
Take a stab (at something)
Take (someone or something) at face value
Take away
Take (something) for a spin
Take it easy
Take it to the grave
Take off
Take on water
Take one for the team
Take the bull by the horns
Take the cake
Take the high road
Take the low road
Take the wheel
Take to the cleaners
Take it with a grain of salt
(You can) Take that to the bank
Talk in circles
Talk to the hand (because the face doesn't understand)
Tall order
Tap out
Tell(s)
Tell me about it
Test the water(s)
Textbook case/example
That dog won't hunt
That guy
That ship has sailed
That train has left the station
That/It's a dinosaur
That's how the cookie crumbles
The apple doesn't fall far from the tree
The ball is in your court
The best thing since sliced bread
The brass
The big picture
The cat is out of the bag
The devil is in the detail(s)
The early bird catches/gets the worm
The floor
The fold
The grass is always greener (on the other side)
The grass roots
(Get on) The horn
The night is still young
The pot calling the kettle black
(Learn) The ropes
(That's/There's) The rub
The sixty-four-dollar question
The sky's the limit
The wheels come off
The whole nine yards
The whole shebang
The world is your oyster
There are other fish in the sea
There's a new sheriff in town
There's more than one way to skin a cat
Thick skin
Think on your feet
(The) Third degree
This isn't my first rodeo
(A) Thorn in my side
Thread the needle
Throttle down
Through thick and thin
Throw caution to the wind
Throw (one) to the wolves
Throw the book at (someone)
Throw (someone) a bone
Throw (your) hat in the ring
Throw in face
Throw in the towel
Throw the baby out with the bath water
Throw (someone) under the bus
Tides change
Tight ship
Tighten your belt
Timbuktu
Time flys (when you're having fun)
Time on your hands
Time sink
Time suck
Tinfoil hat
(A) Tip of the hat
Tip of the iceberg
Tipping point
Tires popped but the wheels still spinning
(Go) To hell in a handbasket
To taste
To veg out
Toe the line
Toe-to-toe
(With) tongue in cheek
Too many cooks spoil the broth
Toot (your) own horn
Top brass
Top dog
Top it (all) off
Top notch
Top of mind
(The) Top of the line
(From) Top to bottom
Top-shelf
Tops
(Go) Touch (some) grass
Touchdown
(A) Tough nut to crack
(A) Tough cookie
Track record
Train wreck
Trophy wife
(A) Trojan horse
Troll(ing)
Truck it
True colors
Trump card
Tuck in
Tunnel vision
Turn a blind eye
Turn into a pumpkin
Turn off
Turn over a new leaf
Turn the page
Turn the tables (on someone)
Twinkle toes
Two sides of the same coin
Ugly mug
Under pressure
Under the gun
Under your belt
Under (your) skin
(Look) Under the hood
(Fly) Under the radar
Under the sun
Under the table
Under (one's) thumb
Under the weather
Under the wire
Under your breath
Under water
Underdog
Underwater basket weaving
Until the cows come home
Up in arms
Up in the air
Up (a/shit) creek without a paddle
Up the ante
Up to par
Up your eyeballs (in something)
Up your sleeve
(An) Uphill battle
Upside down
(The) Upshot (of something)
Use your head for something other than a hatrack
Viral
Virtue signalling
Waffling
Wait(ing) for the other shoe to drop
Wake-up call
Walk a fine line
Walk back
(A) Walk in the park
Walking on thin ice
Wall wart(s)
(The) Walls have ears
(Narrow) Window of opportunity
Walk a mile in someone's shoes
Walk away
Walk it off
Walk on eggshells
Walk right into
Walk the plank
Walk the talk
Waste time
Watch(ing) like a hawk
Watch your six
Water down
Water under the bridge
Watering hole
Weather the storm
We'll cross that bridge when we come to it
Wet (one's) beak
(A) Wet blanket
Wet your whistle
What a zoo
What's the damage?
What's your beef?
What gives?
When pigs fly
Where there's a will, there's a way
Which came first, the chicken or the egg?
Which way the wind is blowing
Whipping boy
Whistle past the graveyard
(A) White lie
White on rice
White-bread
White-knuckle
Whitewash
Whole ball of wax
(Be) Wide open
(A) Wild goose chase
(The wild) Wild west
Win-win
Wind down
Window of opportunity
With (one's) tail between (one's) legs
(The) Whole shebang
Wiggle room
Wing it
Wingman
Wishy-washy
With a fine-tooth comb
Wolf down
Woke up on the wrong side of the bed
(A) Wolf in sheep's clothing
Word salad
Work spouse
Working like a dog
Worth your salt
Would give the shirt off my back
Wrap your head around it
(Don't get) Wrapped around the axle
(Like a) wrecking ball
(The hand)writing on the wall
Written in stone
Yank (your) chain
Yard sale
Yes-man
(Like a) Yo-yo
You can lead a horse to water but you can't make it drink
You can say that again
You can't teach an old dog new tricks
You're screwed
You're a numbskull
You've made your bed, now lie in it
You scratch my back and I'll scratch yours
Your guess is as good as mine
Yum, yum
Zero-sum game
Zip your lips
Zipper in (line) - kemiko's own...merging two lines

List of proverbial phrases
x
-
+

Agent Emojis (ASCII)

<
o
>
Winky Tongue Emoji ;)u winky tongue
Silly Tongue Emoji ^^)u silly tongue
Kissy Emoji ;3* kissy
Brown Bear Emoji (bb) bear (brown) ... pairs well with "huggy"
Panda Bear Emoji (bp) bear (panda) ... pairs well with "huggy"
Huggy Emoji (^^8)) huggy
Heart Eyes Emoji **^o^ heart eyes
Thought Emoji :(? thought
Sad Emoji :'( sad
Embarrassed Emoji :8^v^ embarrassed
Blush Emoji ^^8) blush
Rolling Eyes Emoji :8| rolling eyes
Very Upset Emoji '><8 very upset
Three Hearts On Face Emoji ^^)*** three hearts (kisses) on face
x
-
+

IKBB

<
o
>
Password

bold black capital c color red capital b winky tongue emoji kissy emoji huggy emoji heart eyes emoji thought emoji sad emoji embarrassed emoji blush emoji rolling eyes emoji very upset emoji
x
-
+

Travel - NYC (visit)

<
o
>
Photo Album

John F Kennedy International Airport
AirTrain JFK
MTA Long Island Rail Road
MTA New York City Subway
Stewart Hotel New York City
Bagel Maven Cafe
Staten Island Ferry
Statue of Liberty
Ellis Island
Trinity Church Wall Street
Wall Street
The Trump Building
Brooklyn Bridge
NY Pizza Suprema
Times Square
SPYSCAPE
Saint Francis of Assisi
Garden Gourmet Deli
9/11 Memorial & Museum
ONE WORLD TRADE CENTER
Shake Shack
lyft
High Line
Trump Tower
Tiffany Co.
Fifth Avenue Presbyterian Church
St. Patrick's Cathedral
Atlas (statue)
Rockefeller Center
Radio City Music Hall
TOP OF THE ROCK
THE LEGO STORE
EMPIRE STATE BUILDING
MADISON SQUARE GARDEN
Trump International Hotel and Tower (New York City)
Central Park
Fourth Universalist Society
NEW-YORK HISTORICAL SOCIETY
AMERICAN MUSEUM OF NATURAL HISTORY
Gapstow Bridge
The Plaza Hotel
PLAYRIGHT CELTIC PUB
M&M'S WORLD New York
DUNKIN' DONUTS
CONEY ISLAND NATHAN'S FAMOUS
LUNA PARK
Coney Island Beach & Boardwalk
Shrine and Parish Church of Holy Innocents
Mood Designer Fabrics
THE NEW YORK PUBLIC LIBRARY
Chrysler Building
Grand Central Terminal
Apple Grand Central
x
-
+

Travel Games

<
o
>
Scavenger Hunt...find the following:
  • Bridge
  • Church
  • Deck of playing cards for purchase
  • Grocery store
  • Lake or pond
  • Local pizza shop...not a national chain
  • Person(s) taking a selfie
  • Police car
  • Statue
  • Tallest building
  • Telephone booth
  • US Post Office and/or Postal box
Once found you must take a photograph or preferably a selfie with the item/place!
Find on location or take an item (mine Cheekon) to be photographed with you on your journey.
Buy inexpensive gift shop items ($10-20) that YOU would like to keep.
But these are for friends and family!
Have a White elephant gift exchange type party for friends and family upon returning!
x
-
+

PostgreSQL

<
o
>
PostgreSQL
PostgreSQL: The world's most advanced open source database
PostgreSQL: Documentation
PostgreSQL Cheatsheet | Linuxize
PostgreSQL: Documentation: 17: psql
FAQ - PostgreSQL wiki
DB-Engines Ranking - popularity ranking of database management systems
PostgreSQL Tutorial
psql Tips
Difference between Selection and Projection in DBMS - GeeksforGeeks
phpPgAdmin
pgmetrics
PostgreSQL's psql \set vs. SET
PostgreSQL Basics: Essential psql Tips and Tricks
PostgreSQL command line cheatsheet · GitHub
psql
  • readline config file ~/.inputrc
    • set editing-mode vi
    • set keymap vi-command
  • bash config file ~/.bashrc (Environment Variables)
    • export EDITOR=vi
    • export PAGER='less -S'
    • export PGDATABASE=databasename
    • export PGHOST=localhost
    • export PGPORT=5432
    • export PGUSER=username
    • export PGPASSWORD=passord
    • export PSQLRC=/tmp/.psqlrc   # start psql with a different config file
  • vim config file ~/.vimrc
    • syntax on
    • au BufRead /tmp/psql.edit.* set syntax=sql
  • psql config file ~/.psqlrc
    Client-side variables are set using the \set meta-command (backslash). Referenced with :variableName
    • \set QUIET true
    • \set PROMPT1 '%[%033[37m%]psql%[%033[33m%]://%[%033[37m%]%n%[%033[33m%]@%[%033[37m%]%M%[%033[33m%]:%[%033[37m%]%>%[%033[33m%]/%[%033[37m%]%/ %[%033[K%]%[%033[0m%]%[%033[33m%]%#%[%033[0m%] '
    • \set PROMPT2 '%[%033[37m%]%l %[%033[33m%]>%[%033[0m%] '
    • \set PROMPT1 '%[%033[33m%]%n@%M:%> [%/] > %[%033[0m%] '
    • \set PROMPT1 '%[%033[33m%]%M:%> %n@%/ >%[%033[0m%] '
    • \set PROMPT2 '%[%033[33m%]%l >%[%033[0m%] '
    • attributes/colors
      • %[%033[a;b;cm%] refers to attr/color change: a = display attribute, b = fg color, and c = bg color
        • display attribute: 0 reset all, 1 bright, 2 dim, 4 underscore, 5 blink, 7 reverse, and 8 hidden
        • fg color: 30 black, 31 red, 32 green, 33 yellow, 34 blue, 35 magenta, 36 cyan, 37 white
        • bg color: 40 black, 41 red, 42 green, 43 yellow, 44 blue, 45 magenta, 46 cyan, 47 white
      • %[%033[0m%] refers to color change – "0m"...set back to default
    • psql format specifiers
      • %M refers to the database server’s hostname – is “[local]” if the connection is over a Unix domain socket
      • %> refers to the listening port
      • %n refers to the session username
      • %/ refers the current database
      • %R refers to whether you’re in single-line mode (^) or disconnected (!) but is normally =
      • %# refers to whether you’re a superuser (#) or a regular user (>)
      • %x refers to the transaction status – usually blank unless in a transaction block (*)
    • newline and shell output
      • \n refers to a newline
      • `shell command` refers to running a shell command and displaying its output
    • \set setConnections 'SELECT * FROM pg_stat_activity;'
    • \set setDatabase 'SELECT current_database( );'
    • \set setExtensions 'SELECT * from pg_available_extensions ORDER BY name;'
    • \set setSchema 'SELECT current_schema;'
    • \set setTablesPostgres 'SELECT * FROM pg_catalog.pg_tables WHERE schemaname = \'pg_catalog\' OR schemaname = \'information_schema\';'
    • \set setTablesUser 'SELECT * FROM pg_catalog.pg_tables WHERE schemaname != \'pg_catalog\' AND schemaname != \'information_schema\';'
    • \set setUptime 'SELECT pg_postmaster_start_time( );'
    • \set setUser 'SELECT current_user;'
    • \set setUserSession 'SELECT session_user;'
    • \set setVersion 'SELECT version( );'
    • \set nopager '\\pset pager off'
    • \set pager '\\pset pager on'
    • \set pwd '\\echo `pwd`'
    • \set ls '\\echo `ls`'
    The \pset meta-command (backslash) is used to set various output options for query results.
    • \pset null '(NULL)'
    • \pset linestyle unicode
    • \pset border 2
    • \pset unicode_border_linestyle single
    • \pset unicode_header_linestyle single
    • \pset unicode_column_linestyle single
    • \pset format wrapped
    Other meta-commands (backslash) at end of ~/.psqlrc
    • \set QUIET false
    • --\echo `hostname` @ `date '+%Y-%m-%d %H:%M:%S'`
    • --\echo You are on server `printf "^[[1;33m"``hostname``printf "^[[0m"` on `printf "^[[1;33m"``date '+%Y-%m-%d'``printf "^[[0m"` at `printf "^[[1;33m"``date '+%H:%M:%S'``printf "^[[0m"`
    • --\echo `printf "\n^[[1mWelcome to PostgreSQL!^[[0m"`
    • --\echo `printf "^[[1mSettings from: \"/home/kemiko/.psqlrc\"^[[0m"`
    • \echo `printf "\n^[[1mSettings from: "``echo ~``printf "/.psqlrc\"^[[0m"`
    • \conninfo
    • \echo `printf "\n"`
    • \set QUIET true

  • psql password file (~/.pgpass)
    • hostname:port:database:username:password
    • chmod 0600 ~/.pgpass

  • Connect
    • psql [-U userName] [-h hostName] [-p portNumber] [-d databaseName]   # varies depending on user, from, and variables set
    • \c databaseName

  • Help
    • \h
    • \h [SQL commands]
    • \help
    • \help [SQL commands]
    • \?
    • \? [psql commands]

  • Quit psql
    • \q
    • \quit
    • ctrl-d

  • Connection information
    • \conninfo

  • Reset/clear query buffer
    • \r
    • \reset

  • Query version, user, database, schema, extensions
      \set setConnections 'SELECT * FROM pg_stat_activity;' \set setDatabase 'SELECT current_database( );' \set setExtensions 'SELECT * from pg_available_extensions ORDER BY name;' \set setSchema 'SELECT current_schema;' \set setTablesPostgres 'SELECT * FROM pg_catalog.pg_tables WHERE schemaname = \'pg_catalog\' OR schemaname = \'information_schema\';' \set setTablesUser 'SELECT * FROM pg_catalog.pg_tables WHERE schemaname != \'pg_catalog\' AND schemaname != \'information_schema\';' \set setUptime 'SELECT pg_postmaster_start_time( );' \set setUser 'SELECT current_user;' \set setUserSession 'SELECT session_user;' \set setVersion 'SELECT version( );'
    • SELECT pg_postmaster_start_time( ); -- set above as "setUptime"
    • SELECT version( ); -- set above as "setVersion"
    • SELECT current_user; -- set above as "setUser"
    • SELECT session_user; -- set above as "setUserSession"
    • SELECT current_database( ); -- set above as "setDatabase"
    • SELECT current_schema; -- set above as "setSchema"
    • SELECT * FROM pg_available_extensions;' -- set above as "setExtensions"

  • Pager (uses shell's $PAGER variable)
    • \pset pager
    • \pset pager on
    • \pset pager off

  • "Tab" suggestion/completion
    • Tab [Tab...] key

  • Edit query buffer (uses shell's $EDITOR variable)
    • \e   --opens last query in $EDITOR
    • ctrl-r   --up/down arrows to scroll through history and tab for completion of keywords
    • ctrl-alt-j   --readline edit mode (set -o $EDITOR)

  • Edit a function
    • \ef functionName

  • Command history
    • \s

  • Execute commands from a file
    • \i path/fileName
    • \include path/fileName

  • Send all query results to file or |pipe
    • \o path/fileName
    • psql command(s)
    • \o

  • Clear screen
    • esc, ctrl-l
    • \! clear

  • Set/list variables
    • \set
    • \set ECHO_HIDDEN
    • \set ECHO_HIDDEN on
    • \set ECHO_HIDDEN off
    • \unset ECHO_HIDDEN
    • \pset
    • \pset linestyle unicode
    • \pset border 2
    • \pset unicode_border_linestyle single
    • \pset unicode_column_linestyle single
    • \pset unicode_header_linestyle single

  • Show (run-time parameters)
    • SHOW ALL;
    • SELECT name, setting, short_desc AS description FROM pg_catalog.pg_settings;
    • SHOW parameterName;
    • SELECT * FROM pg_catalog.pg_settings WHERE name = 'parameterName';
    • SHOW config_file;
    • SELECT setting AS config_file FROM pg_catalog.pg_settings WHERE name = 'config_file';
    • SHOW data_directory;
    • SELECT setting AS data_directory FROM pg_catalog.pg_settings WHERE name = 'data_directory';
    • SHOW search_path;
    • SELECT setting AS search_path FROM pg_catalog.pg_settings WHERE name = 'search_path';

  • Set/Reset (a run-time parameters)
    • SET name TO value;
    • SET search_path TO schemaName1, [schemaName2]...;
    • SET search_path TO "$user", public, schemaEtc;
    • RESET parameterName;  --SET configuration_parameter TO DEFAULT;
    • RESET search_path;
    • SET schema 'schema';

  • List databases
    • \l
    • \l+
    • SELECT datname FROM pg_database;

  • List schemas (namespaces)
    • \dn
    • SELECT schema_name, schema_owner FROM information_schema.schemata;
    • SELECT * from pg_catalog.pg_namespace;
    • SELECT current_schema;
    • \dn+
    • SELECT
        n.nspname AS "Name",
        pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner",
        pg_catalog.array_to_string(n.nspacl, E'\n') AS "Access privileges",
        pg_catalog.obj_description(n.oid, 'pg_namespace') AS "Description"
      FROM
        pg_catalog.pg_namespace n
      WHERE
        n.nspname !~ '^pg_'
        AND
        n.nspname <> 'information_schema'
      ORDER BY 1
      ;
    • SELECT
        table_catalog,
        table_schema,
        table_name,
        table_type
      FROM
        information_schema.tables
      WHERE
        table_schema NOT IN ('pg_catalog', 'information_schema')
      ;

  • List tables
    • \d
    • \d table
    • \dt
    • \dt table
    • \dt+
    • \d+ table
    • SELECT
        *
      FROM
        pg_catalog.pg_tables
      WHERE
        schemaname = 'pg_catalog'
        OR
        schemaname = 'information_schema'
      ;
    • SELECT
        *
      FROM
        pg_catalog.pg_tables
      WHERE
        schemaname != 'pg_catalog'
        AND
        schemaname != 'information_schema'
      ;
    • \dt *
    • \dt schemaName.*
    • \dt *.*

  • List views
    • \dv
    • \dv+
    • \dv *.*
    • \dv information_schema.role_*

  • List indexes
    • \di
    • \di+

  • List/describe objects (table, view, sequence, or index) definition
    • \d schemaName.<tab><tab>
    • \dtvs *   --tables/views/sequences
    • \dtvs schemaName.*   --tables/views/sequences
    • \d schemaName.*
    • SELECT
        table_name,
        column_name,
        data_type
      FROM
        information_schema.columns
      WHERE
        table_name = '
      tableName'
      ;

  • List/describe Extensions
    • \dx
    • SELECT * FROM pg_available_extensions;

  • List roles (users)
    • \du
    • \du+
    • SELECT * FROM pg_user;
    • SELECT CURRENT_USER;
    • SELECT
      table_catalog
      , table_schema
      , table_name
      , privilege_type
      FROM
      information_schema.table_privileges
      WHERE
      grantee = '
      userName'
      ;
    • SELECT
        *
      FROM
        information_schema.role_table_grants
      WHERE
        table_schema NOT IN( 'information_schema', 'pg_catalog', 'public' )
      ;
    • SELECT
        *
      FROM
        information_schema.role_table_grants
      WHERE
        grantee = '
      userName'
      ;
    • SELECT
        *
      FROM
        information_schema.role_table_grants
      WHERE
        table_name = '
      tableName'
      ;
    • SELECT
         relname
       , relacl
      FROM
         pg_class
      WHERE
         relkind = 'S'
      AND relacl is not null
      AND relnamespace IN
      (
       SELECT
         oid
       FROM
         pg_namespace
       WHERE
         nspname NOT LIKE 'pg_%'
       AND nspname != 'information_schema'
      );

  • List/describe object (table, view, sequence, or index) access privileges
    • \dp object
    • \z object

  • SQL comments
    • -- one line comment
    • /* multi line comment(s) */

  • Create database
    • CREATE DATABASE databaseName;

  • Create table (from scratch)
    • CREATE TABLE tableName
      (
        
      id  serial not null primary key,
        
      dtCreated  timestamp not null,
        
      dtUpdated  timestamp,
        
      data  jsonb
      );

  • Create table (from another table)
    • CREATE TABLE tableNew AS SELECT * FROM tableExisting;

  • Grants
    • \dv *.*
    • \dv+ *.*
    • \dv+ information_schema.role*
    • SELECT * FROM information_schema.role_usage_grants;
    • SELECT * from information_schema.role_table_grants;
    • GRANT USAGE ON SCHEMA schema TO userName;
    • GRANT SELECT, INSERT, UPDATE ON tableName TO userName;
    • GRANT SELECT, UPDATE ON SEQUENCE tableName_fieldName_seq TO userName;

  • Select
    • SELECT column(s) FROM tableName;
    • SELECT column(s) FROM tableName WHERE condition(s);
    • SELECT column(s) FROM tableName WHERE condition(s) LIMIT integer OFFSET integer;
    • SELECT column(s) FROM tableName WHERE condition(s) ORDER BY column NULLS FIRST;
    • SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';
    • SELECT * FROM tableName_fieldName_seq;

  • Repeat query...and more
    • \g
    • \g filename
    • \g | command
    • \watch seconds

  • Toggle (on/off) timing
    • \timing
    • \timing on
    • \timing off

  • Toggle (on/off) expanded display
    • \x
    • \x on
    • \x off

  • Toggle (on/off) tuples only
    • \t
    • \t on
    • \t off

  • Toggle (on/off) footer
    • \pset footer
    • \pset footer on
    • \pset footer off

  • Insert record(s)
    • INSERT INTO tableName ( dtCreated, data ) VALUES ( now( ), '{}' );

  • Insert/Copy a complete table's data NOT structure with insert/select
    • INSERT INTO tableTarget
      SELECT * FROM tableSource;

  • Insert record(s) from another table with insert/select
    • INSERT INTO tableTarget ( column1, column2, ... )
      SELECT column1, column2, ...
      FROM tableSource
      WHERE condition(s);

  • Delete record(s)
    • DELETE FROM tableName WHERE condition(s);

  • Export table to a file (tab delimited and no header)
    • \COPY (select * from pg_catalog.pg_roles) TO '/tmp/roles.out'

  • Export table to a file (header, CSV format, and ';' delimited)
    • \COPY (select * from pg_catalog.pg_roles) TO '/tmp/roles.csv' (header, format csv, delimiter ';')

  • Export select to file (CSV with headers)
    • \COPY (select * from pg_catalog.pg_roles) TO '/tmp/roles.csv' CSV header

  • Import table from CSV file
    • \COPY tableName FROM 'path/fileName.csv' WITH( FORMAT CSV );

  • Alter sequence
    • ALTER SEQUENCE tableName_fieldName_seq RESTART WITH 1;

  • Truncate table
    • TRUNCATE tableName;
    • TRUNCATE tableName RESTART IDENTITY;

  • Drop table
    • DROP TABLE tableName;

  • Active connections query
    • SELECT
        pid,
        datname,
        usename,
        application_name,
        client_hostname,
        client_port,
        backend_start,
        query_start,
        query,
        state
      FROM
        pg_stat_activity
      WHERE
        state = 'active'
      ;

pg_dump
  • Dump database
    • pg_dump databaseName
    • pg_dump --create databaseName
    • pg_dump --create --schema-only databaseName

  • Dump table
    • pg_dump --schema-only --table=tableName databaseName
    • pg_dump -st tableName databaseName

VIM edit trick
  • 1st terminal
    • shell> vi /tmp/psql.sql   # edit and save...remember "--" is your friend for many queries
  • 2nd terminal
    • shell> vi /tmp/psql.out   # use ":e" to refresh buffer
  • 3rd terminal
    • psql> \i /tmp/psql.sql \o /tmp/psql.out   --run, then rerun after SQL has been saved



selects, views, etc
--shows base table information
SELECT
  *
FROM
  pg_catalog.pg_tables
--WHERE
--  tableowner = current_user
--WHERE
--  schemaname NOT IN ('public','pg_catalog','information_schema')
--WHERE
--  schemaname IN ('public','pg_catalog','information_schema')
--ORDER BY
--  schemaname DESC, tablename
;
┌────────────────────┬─────────────────────────┬────────────┬────────────┬────────────┬──────────┬─────────────┬─────────────┐
│     schemaname     │        tablename        │ tableowner │ tablespace │ hasindexes │ hasrules │ hastriggers │ rowsecurity │
├────────────────────┼─────────────────────────┼────────────┼────────────┼────────────┼──────────┼─────────────┼─────────────┤
│ ...                │ ...                     │ ...        │ (NULL)     │ t          │ f        │ f           │ f           │
│ public             │ exampleTable            │ dba        │ (NULL)     │ t          │ f        │ f           │ f           │
│ pg_catalog         │ pg_aggregate            │ postgres   │ (NULL)     │ t          │ f        │ f           │ f           │
│ ...                │ ...                     │ ...        │ (NULL)     │ t          │ f        │ f           │ f           │
│ information_schema │ sql_features            │ postgres   │ (NULL)     │ f          │ f        │ f           │ f           │
│ ...                │ ...                     │ ...        │ (NULL)     │ t          │ f        │ f           │ f           │
└────────────────────┴─────────────────────────┴────────────┴────────────┴────────────┴──────────┴─────────────┴─────────────┘
(999 rows)

--shows "table catalog" and "table type", but not "table owner" compared to previous query
SELECT
  *
FROM
  information_schema.tables
--WHERE
--  table_schema = 'public'
--WHERE
--  table_schema NOT IN ('public','pg_catalog','information_schema')
--WHERE
--  table_schema IN ('public','pg_catalog','information_schema')
ORDER BY
  table_schema DESC, table_name
;
┌────────────────┬────────────────────┬───────────────────────────────────────┬────────────┬──────────────────────────────┬──────────────────────┬───────────────────────────┬──────────────────────────┬────────────────────────┬────────────────────┬──────────┬───────────────┐
│ table_catalog  │    table_schema    │              table_name               │ table_type │ self_referencing_column_name │ reference_generation │ user_defined_type_catalog │ user_defined_type_schema │ user_defined_type_name │ is_insertable_into │ is_typed │ commit_action │
├────────────────┼────────────────────┼───────────────────────────────────────┼────────────┼──────────────────────────────┼──────────────────────┼───────────────────────────┼──────────────────────────┼────────────────────────┼────────────────────┼──────────┼───────────────┤
│ exampleCatalog │ public             │ exampleTable                          │ BASE TABLE │ (NULL)                       │ (NULL)               │ (NULL)                    │ (NULL)                   │ (NULL)                 │ YES                │ NO       │ (NULL)        │
│ ...            │ ...                │ ...                                   │ BASE TABLE │ (NULL)                       │ (NULL)               │ (NULL)                    │ (NULL)                   │ (NULL)                 │ YES                │ NO       │ (NULL)        │
│ ...            │ pg_catalog         │ pg_aggregate                          │ BASE TABLE │ (NULL)                       │ (NULL)               │ (NULL)                    │ (NULL)                   │ (NULL)                 │ YES                │ NO       │ (NULL)        │
│ ...            │ information_schema │ administrable_role_authorizations     │ VIEW       │ (NULL)                       │ (NULL)               │ (NULL)                    │ (NULL)                   │ (NULL)                 │ NO                 │ NO       │ (NULL)        │
│ ...            │ ...                │ ...                                   │ BASE TABLE │ (NULL)                       │ (NULL)               │ (NULL)                    │ (NULL)                   │ (NULL)                 │ YES                │ NO       │ (NULL)        │
└────────────────┴────────────────────┴───────────────────────────────────────┴────────────┴──────────────────────────────┴──────────────────────┴───────────────────────────┴──────────────────────────┴────────────────────────┴────────────────────┴──────────┴───────────────┘
(999 rows)

CREATE VIEW tables AS
SELECT
  table_catalog,
  table_schema,
  table_name,
  table_type
FROM
   information_schema.tables
WHERE
  table_schema NOT IN ('pg_catalog', 'information_schema')
;

SELECT
  *
FROM
  tables
;
┌────────────────┬───────────────┬──────────────────┬─────────────┐
│ table_catalog  │ table_schema  │ table_name       │ table_type  │
├────────────────┼───────────────┼──────────────────┼─────────────┤
│ exampleCatalog │ exampleSchema │ exampletable     │ exampleType │
│ ...            │ ...           │ ...              │ ...         │
│ postgres       │ public        │ tables           │ VIEW        │
└────────────────┴───────────────┴──────────────────┴─────────────┘
(999 rows)

CREATE VIEW objects AS
SELECT
   nsp.nspname AS SchemaName
  ,cls.relname AS ObjectName
  ,rol.rolname AS ObjectOwner
  ,CASE cls.relkind
     WHEN 'r' THEN 'TABLE'
     WHEN 'm' THEN 'MATERIALIZED_VIEW'
     WHEN 'i' THEN 'INDEX'
     WHEN 'S' THEN 'SEQUENCE'
     WHEN 'v' THEN 'VIEW'
     WHEN 'c' THEN 'TYPE'
     ELSE cls.relkind::text
   END AS ObjectType
FROM
  pg_class cls
JOIN pg_roles rol
  ON rol.oid = cls.relowner
JOIN pg_namespace nsp
  ON nsp.oid = cls.relnamespace
WHERE nsp.nspname NOT IN ('information_schema', 'pg_catalog')
  AND nsp.nspname NOT LIKE 'pg_toast%'
ORDER BY nsp.nspname, cls.relname
;

--shows non system objects owned by current user
SELECT
  nsp.nspname AS object_schema,
  cls.relname AS object_name,
  CASE cls.relkind
    WHEN 'r' THEN 'table'
    WHEN 'm' THEN 'materialized view'
    WHEN 'i' THEN 'index'
    WHEN 'S' THEN 'sequence'
    WHEN 'v' THEN 'view'
    WHEN 'c' THEN 'type'
    ELSE cls.relkind::text
  END AS object_type,
  rol.rolname AS object_owner
FROM
  pg_class cls
  JOIN pg_roles rol ON rol.oid = cls.relowner
  JOIN pg_namespace nsp ON nsp.oid = cls.relnamespace
WHERE nsp.nspname NOT IN ('information_schema', 'pg_catalog')
  AND nsp.nspname NOT LIKE 'pg_toast%'
  AND rol.rolname = current_user
ORDER BY
  nsp.nspname, cls.relname
;
┌───────────────┬─────────────────────┬─────────────┬──────────────┐
│ object_schema │     object_name     │ object_type │ object_owner │
├───────────────┼─────────────────────┼─────────────┼──────────────┤
│ public        │ tables              │ view        │ postgres     │
│ ...           │ ...                 │ ...         │ ...          │
│ exampleSchema │ example             │ table       │ dba          │
│ exampleSchema │ example_id_seq      │ sequence    │ dba          │
│ exampleSchema │ example_pkey        │ index       │ dba          │
└───────────────┴─────────────────────┴─────────────┴──────────────┘
(XXX rows)

SELECT
  r.usename AS grantor,
  e.usename AS grantee,
  nspname,
  privilege_type,
  is_grantable
FROM
  pg_namespace
JOIN LATERAL (SELECT * FROM aclexplode(nspacl) AS x) a ON
  true
JOIN pg_user e ON
  a.grantee = e.usesysid
JOIN pg_user r ON
  a.grantor = r.usesysid
WHERE
  e.usename = current_user
;
┌──────────┬──────────┬────────────────────┬────────────────┬──────────────┐
│ grantor  │ grantee  │      nspname       │ privilege_type │ is_grantable │
├──────────┼──────────┼────────────────────┼────────────────┼──────────────┤
│ postgres │ postgres │ pg_catalog         │ USAGE          │ f            │
│ postgres │ postgres │ pg_catalog         │ CREATE         │ f            │
│ postgres │ postgres │ public             │ USAGE          │ f            │
│ postgres │ postgres │ public             │ CREATE         │ f            │
│ postgres │ postgres │ information_schema │ USAGE          │ f            │
│ postgres │ postgres │ information_schema │ CREATE         │ f            │
└──────────┴──────────┴────────────────────┴────────────────┴──────────────┘
(6 rows)

SELECT
  *
FROM
  pg_stat_activity
;
┌───────┬───────────┬───────┬──────────┬──────────┬──────────────────┬─────────────┬─────────────────┬─────────────┬───────────────────────────────┬───────────────────────────────┬───────────────────────────────┬───────────────────────────────┬─────────┬────────┬─────────────┬──────────────┬─────────────────────────────────────────────────────────────────────────────┐
│ datid │  datname  │  pid  │ usesysid │ usename  │ application_name │ client_addr │ client_hostname │ client_port │         backend_start         │          xact_start           │          query_start          │         state_change          │ waiting │ state  │ backend_xid │ backend_xmin │                                    query                                    │
├───────┼───────────┼───────┼──────────┼──────────┼──────────────────┼─────────────┼─────────────────┼─────────────┼───────────────────────────────┼───────────────────────────────┼───────────────────────────────┼───────────────────────────────┼─────────┼────────┼─────────────┼──────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ 12411 │ postgres  │ 16459 │    24655 │ dba      │ psql             │ 127.0.0.1   │ (NULL)          │       49568 │ 2024-11-28 13:39:41.091595-08 │ 2024-12-01 20:09:47.198842-08 │ 2024-12-01 20:09:47.198842-08 │ 2024-12-01 20:09:47.198847-08 │ f       │ active │      (NULL) │         4838 │ SELECT * FROM pg_stat_activity;                                             │
│ 12411 │ postgres  │ 23698 │       10 │ postgres │ psql             │ (NULL)      │ (NULL)          │          -1 │ 2024-11-30 11:51:07.192089-08 │ (NULL)                        │ 2024-11-30 11:51:58.141689-08 │ 2024-11-30 11:51:58.156049-08 │ f       │ idle   │      (NULL) │       (NULL) │ select table_name,                                                         ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           table_schema as schema_name,                                     ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           pg_database_size(current_database()) as total_database_size,     ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           pg_total_relation_size(table_name) as total_table_size,          ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           pg_relation_size(table_name) as table_size,                      ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           pg_indexes_size(table_name) as index_size                        ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           from information_schema.tables                                   ↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           where table_schema=current_schema() and table_name like 'table_%'↵│
│       │           │       │          │          │                  │             │                 │             │                               │                               │                               │                               │         │        │             │              │           order by total_table_size;                                        │
│ ...   │ ...       │ ..... │    ..... │ ........ │ ....             │ .........   │ .........       │       ..... │ ............................. │ ............................. │ ............................. │ ............................. │ .       │ ...... │      ...... │       ...... │ ......                                                                      │
│ 24732 │ xxxxxxx   │  1015 │       10 │ postgres │ psql             │ (NULL)      │ (NULL)          │          -1 │ 2024-11-27 20:21:49.750157-08 │ (NULL)                        │ 2024-11-27 20:21:58.891633-08 │ 2024-11-27 20:21:58.900124-08 │ f       │ idle   │      (NULL) │       (NULL) │ select * from xxx.ledger;                                                   │
└───────┴───────────┴───────┴──────────┴──────────┴──────────────────┴─────────────┴─────────────────┴─────────────┴───────────────────────────────┴───────────────────────────────┴───────────────────────────────┴───────────────────────────────┴─────────┴────────┴─────────────┴──────────────┴─────────────────────────────────────────────────────────────────────────────┘
(XXX rows)

SELECT pg_terminate_backend( pid );
x
-
+

ID Generator

<
o
>
Length
ransom format
Characters
x
-
+

Travel Map

<
o
>
Travel Map
x
-
+

Interesting Words

<
o
>
abbreviate
abracadabra
aesthetic
alakazam
algorithm
ambidextrous
ambiguous
analyze
anomaly
anonymize
antithesis
anxiety
apologize
apostrophe
arduous
assimilate
boon
cataclysm
clobber
clandestine
colloquial
convey
decision
demonym
denizen
diminutive
discombobulate
discrepancy
dynamic
ellipsis
endianness
ephemera
etcetera
etymology
exacerbate
extraneous
fauna
forensic
gullible
homage
heuristic
hypocrite
infamous
ignore
initial
insidious
inundate
invaluable
intrinsic
juxtapose
labyrinth
logistics
menu
minutiae
miscellaneous
mischievous
narcissist
nemesis
mnemonic
naive
noisome
nomenclature
nuance
numismatic
obelisk
obfuscate
oblique
obnoxious
obverse
obvious
ointment
opaque
orthography
pajamas
palindrome
parenthesis (parentheses)
pedant
phobic
ping
pioneer
pneumatic
prerogative
protocol
psych
pumpkin
quintessential
rabid
recursion
resonance
rhapsody
rhythm
savvy
specificity
semantic
synergy
thesaurus
thingy
tilde
ubiquitous
vacuum
zephyr
x
-
+

Open Reversi

<
o
>
Reversi (WikipediA)
Open Reversi
x
-
+

Notes (ASCII)

<
o
>
Notes should be taken in an ASCII text editor...not Word, Excel, OneNote, etc.
  • You can name this file anything, but for this example I named it "notes.txt".
  • I use "] CCYY/MM/DD [" as my date delimiter...the first script requires it.
  • I also use ")|(" and "~~~" as item delimiters.
  • I mark up my notes.txt file with tags/labels.
  • I put almost everything under the sun in my notes, but if too big I put in a separate file referencing the path (URL).
  • I backup my notes at least once a month manually!!!  (Can't setup cron because I am using Windows/Cygwin).
  • I have been admired/complemented by other for my notes practices.
  • They take time to record, but save time in the long run.
  • They help with accountability.
  • They greatly help with managerial summary reporting.
  • Use as a scratch pad area.


This script is to display a date range from the ASCII notes file.
#] user@workstation ~/doc/notes [# cat notesDays.sh #!/bin/sh #set -x # 2018/01/02; notesDays.sh; Kent M Kohlmeyer if [ $# -lt 6 ] then printf "\e[1mUsage: $(basename $0) <CCYY> <MM> <DD> <CCYY> <MM> <DD>\e[0m\n" exit 1 fi sed -n "/^\] ${1}\/${2}\/${3}/,/^\] ${4}\/${5}\/${6}/p" notes.txt


This script has a case insensitve grep of word(s) from the ASCII notes file...it builds and displays the command to run!
#] user@workstation ~/doc/notes [# cat notesGrep.sh #!/bin/bash #set -x # 2018/08/22; notesGrep.sh; Kent M Kohlmeyer if [ ${#} -eq 0 ] then printf "\e[1mUsage: $(basename $0) [expression] ...\e[0m\n" exit 1 fi count=1 while [ ${count} -le ${#} ] do if [ ${count} -eq 1 ] then command="grep -i \"${!count}\" notes.txt" else command="${command} | grep -i \"${!count}\"" fi count=$(expr ${count} + 1) done printf "\e[1m${command}\e[0m\n" eval ${command}
x
-
+

Agent Vocab

<
o
>
Agent Hangout
Agent Hideout
Agent Hookup
Agent Lighting
Agent Position
Agent Warehouse
Ahrendts
Annie very sorry
Antipasta
AIU
Aww jeeze
Bambi
Bendy
Boiling
Bugging
Chef
Chewing [ear off]
Crapple
Dorkus maximus
Dory
Goldfish[ed]
Ear buddies
FBI
Faline
Feelers
Froggy [out]
Gadget
GFC
GFJ
git
Have fun Maria!
Hey
Hoover
ICE
IKBB
Inhale
IP
Jerkface
Jussie and/or Smollett
K&A
Kiddos
Koji
Little Pumpkin
LKF
LBB
LWP
Machine gunning
Mamma
Maria
Marvin
Meanie pie
M&V then MVR
Mwah!/M!
Olivia
OGP
Optional
Oque
[Morning] Paper
Pasta
Pete and Repeat...
Penny
Peter
Pizza SOG
PM then FRSH
Post Maloned
Que
Queueless/Queuemore
Rob Rob
Smollett
Sofa [king]
Squirrel(s)
Tesla Effect
TM
TOO!!!
TOP!!!
Toji
Tonta
URSKW
Up North
Wally World
WWPD
Who
Yum, yum
x
-
+

What School Didn't Teach

<
o
>
How liberal the school system is!!!
To be your own person...don't be a follower!!!
How to read an analog clock.
Interstate Highway System
House numbering
Investments
How to do your taxes.
How to stay organized.
How to balance a checkbook.
Learning from Failure.
Call signs in the United States
Blue raised pavement markers
Months with 31 days
Driving in the United States
x
-
+

Samsung Gear S3 Frontier (info)

<
o
>
This is the only smart watch I have owned.  I love my Gear or I should say "Gadget"!?!  Named after Inspector Gadget.
I named my GFs Apple watch "Penny".  Below are just a few things I really like about Gadget.

Quick tip: Best way to make Gadget sleep is to do a quick tap to his face with your palm between your life line and thumb.&nbps; Instant sleepy time.

  • Hardware
    • bezel (smooth and easy navigation)
    • speaker/microphone (great sound)
    • battery (long life)
    • screen (sharpness visual and touch)
    • many sensors
    • many great bands (third party)
  • Software
    • "Sleep" widget
    • all your downloads are available on your phone...Galaxy Wearable -> Discover -> Top banner -> Sandwich Menu -> MY APPS -> All
    • tons of awesome free faces
    • screen shot(s)...they go to Gadget's "Gallery"
    • transfer one/multiple images from "Gallery" to phone
    • use your hand (quickly) cover/uncover screen to have Gadget sleep
    • "Phone" & "Contacts" (messaging)...can send and receive from Gadget
    • some free apps/games/widgets...time ("Stopwatch", "Timer", "Alarm", "Reminder", etc.), etc.
    • "Find My Phone"
    • "Music"
    • backup to Samsung's Cloud
    • "Samsung Health"
      • steps (pedometer)
      • floors climbed
      • heart rate
      • calories burned
      • nudges (asks you to stretch, etc....if inactive)
      • automatically/manually record workouts

SAMSUNG Gear S3 frontier
Samsung Gear S3
Samsung Gear S3 review
[In-Depth Look] The Parts and Pieces that Make the Gear S3 Tick

5 reasons to buy Samsung Gear S3 Frontier!
10 cool things to do with Samsung Gear S3 Frontier!
Samsung Gear S3 Unboxing, Overview & Call Quality Demo
Samsung Gear S3 Frontier - Review | Everything You Need To Know!
Samsung Gear S3 - The Basics (In-Depth)
Samsung Gear S3 Long Term Review
How To Increase Battery Life On Your Gear S3
Samsung Gear S3 Frontier teardown, battery replacement

Making Your First Samsung Gear S3 App | by Claire Nord | Medium
Download | Tizen Developers (Tizen Studio)
x
-
+

OcciSpace

<
o
>
My personal Office Space.  Named "OcciSpace" because of a company I worked for for many years with a similar name.

Funny usernames that were real:
Michael Rice
mrice
(mister ice)
Heather Ott
hott
Phil Hartman
phartman
Chris Rapp
crapp
Mark Robinson
mr.admin
Sean Odom
so.admin

"I am sofa king we todd did"...we put this on our whiteboard and had passing/visting people read it.
Sometimes twice or three times.
They sounded retarded.
We laughed sofa hard!

The accounting manager walked by my fish bowl while I was debugging some code.
I was bored (sleepy) looking for the issue and just kept hitting a lot of "enters".
The manager said he could do that for what I make.
I said the hard part is knowing when to stop.

A short boss left his cup in the bathroom on the paper towel dispenser.
I saw it and thought it was his, but was not sure because the dispenser is pretty high.
I overheard my boss telling a coworker he misplaced his cup.
I then stepped in and told him I knew where it was but didn't think he could reach that high!
He started reaching up to the top of cubicals. Etc

I was talking to my best friend about a super liberal person we know.
And I made a joke...she is libbing it up.
My best friend thought I said she was living it up.

Being "optional" means not being at work for a bogus reason!

Having meetings about meetings!

I get git!

Ahrendting (a dude, his name, that was always...running errands instead of working)!

Chef and Money!

More and better to come...haven't given much time to this pane!
x
-
+

Samsung Gear S3 Frontier (faces 1)

<
o
>
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
Samsung Gear S3 (watch face)
x
-
+

Chicken or the Egg

<
o
>
WikipediA
UNIX and C
  • UNIX was developed using assembly (language) in 1969
  • C was developed in 1972
  • UNIX was rewitten using C (language) in 1973
Databases and their system tables
  • MySQL, PostgreSQL, Informix, etc use their own engine/table technology to store their calalog, statistic, etc
panes.us and tools in page to help build itself
  • "ID Generator" pane is used to generate file names for the "Audio Clips" pane
  • "To Do" pane is used to manage thing to add/change with this page
  • "Releases" pane is used to display changes with this page
A blacksmith and their anvil
  • A blacksmith used his anvil to make brackets to hold the anvil
3D printer
  • Many parts to improve a 3D printer can be printed by/with itself
Lightning and thunder
  • They occur at the same time if you are at the source, but if at a distance the lightning appear first to our senses
backup.sh
  • I wrote backup.sh to backup chosen files...even "backup.sh" itself.
Shazam/Soundhound
  • Use either app to listen/recognize music on the same phone
  • Can listen to each other.
  • Close, but Shazam was first
Telephone
  • Sometimes a telephone is used to call its telphone service provider
  • In the '80s you could call your own land line
  • Cell phones could text themselves in the early 2000s
S&P
  • S&P Global is on the S&P 500...the same company
Linux/Unix commands
  • man man
  • ls /bin/ls
  • find /usr/bin -name "find"
  • type type
  • awk '{print}' | awk
  • headUntil headUntil ~/.functions | tailStart tailStart
HTML URL Encoding
  • '%' = '%25'
Semiconductor manufacturing
  • The tools to manufacture semiconductors have many, many semiconductors inside them
Web
  • Browsers are able to display and update their settings using web tech
  • example.com is an example domain
Language
  • Define "define"
x
-
+

Phonetic Alphabet (names)

<
o
>
Like...NATO phonetic alphabet,
but using first names.

A
=
Allison
B
=
Bruce
C
=
Cathrine
D
=
David
E
=
Erica
F
=
Frank
G
=
Genevieve
H
=
Henry
I
=
Isabella
J
=
Jack
K
=
Karissa
L
=
Lenny
M
=
Maria
N
=
Neil
O
=
Olivia
P
=
Paul
Q
=
Quinton
R
=
Ryan
S
=
Samantha
T
=
Ted
U
=
Uma
V
=
Victor
W
=
Wendy
X
=
Xavier
Y
=
Yvonne
Z
=
Zack
x
-
+

Words Fun to Swipe!

<
o
>
Ordered by discovery
remember
crazy
jackie
looking
jeanie
james
bananas
management
recently
bear and/or beast
wouldn't
band
panini
recently
probably
content
someone (two circles or two triangles)
watch
olives
slept
event
painful
whenever
thinking
watched
potatoes
paperwork
interrupt
mississippi
specificity
x
-
+

Astrological Signs

<
o
>
Astrological Signs
x
-
+

Time Share Game

<
o
>
Share fun times by texting with a friend(s)...
letting them know you are thinking of them.
Don't force...let it happen naturally.
Military time ups the game!
It is really cool to share a time that matches
two categories.
In order of favorites:
11:11, 5:55, etc (all the same digit)
11:31, 12:22, etc (three of a kind)
12:48, 2:46, 3:57, etc (patterns)
10:10, 11:22, 5:33, etc (pairs)
12:34, 1:23, 4:56, etc (serial ascending)
5:43, 4:32 and 3:21 (serial descending)
10:01, 5:05, 12:21, etc (palindromes)
2:11, 5:23, 9:18, etc (sides sum the same)
8:26, 2:11, 11:02, etc (add producing other side)
8:42, 4:22, etc (mulitply producing other side)
2:42, 1:54, etc (subtract producing other side)
12:24, 2:42, 1:44, etc (divide producing other side)
12:25, 3:14, 4:20, etc (dates)
1:00, 7:00, 10:00, etc (on the hour)

Matches two categories:
11:11 (4 of a kind & palindrome)
10:01, 12:21, 2:42, 3:03, etc (pair(s) & palindrome)
1:55, 2:11, 4:22, 6:33, 11:02 & 1:44 (pair & math)
etc
x
-
+

Friday Five

<
o
>
x
-
+

Song Collaborations

<
o
>
Duos, Trios, DJs, and more
Date (release)
Song
Artists
1965-07-09
I Got You Babe
Sonny & Cher
1978-01
Mammas Don't Let Your Babies Grow Up to Be Cowboys
Waylon Jennings with Willie Nelson
1978-05-12
You're The One That I Want
John Travolta & Olivia Newton John
1978-08-25
Summer Nights
John Travolta & Olivia Newton John
1981-10-27
Under Pressure
Queen and David Bowie
1981-11-27
Don't You Want Me
the Human League (Susan Ann Sulley)
1982-09-28
Maneater
Daryl Hall & John Oates
1983-08-15
Islands in the Stream
Kenny Rogers and Dolly Parton
1986-08
Take Me Home Tonight
Eddie Money ft Ronnie Spector
1986-09
The Next Time I Fall
Peter Cetera and Amy Grant
1987-07-10
(I've Had) The Time Of My Life
Bill Medley & Jennifer Warnes
1988-05-03
Suite Sister Mary
Queensrÿche (Geoff Tate & Pamela Moore)
1989-02-02
Close My Eyes Forever
Ozzy Osbourne & Lita Ford
1989-11-28
Opposites Attract
Paula Abdul & The Wild Pair
1992-06
Hunger Strike
Hunger Strike (Chris Cornell and Eddie Vedder)
1992-11-03
Know Your Enemy
Rage Against the Machine ft Maynard James Keenan
1993-09
Another Body Murdered
Faith No More and Boo-Yaa T.R.I.B.E.
1994-05-10
Wild Night
John Mellencamp and Meshell Ndegeocello
1995-12-03
California Love
2Pac ft Dr. Dre
1998
If You Could Read My Mind
Stars on 54
1998-06-06
Ghetto Supastar (That Is What You Are)
Pras Michel ft Ol' Dirty Bastard and Mýa
1999-06-22
Steal My Sunshine
Len (Marc and Sharon Costanzo)
2000-01-17
Desert Rose
Sting ft Cheb Mami
2000-03-20
No Leaf Clover
Metallica and the San Francisco Symphony
2000-10-10
South Side
Moby ft Gwen Stefani
2000-11-07
It Wasn't Me
Shaggy ft RikRok
2001-01-09
Angel
Shaggy ft Rayvon
2001-02-13
Ride wit Me
Nelly ft City Spud
2001-11-20
Misery
Pink ft Steven Tyler
2002-03-01
Hero
Chad Kroeger ft Josey Scott
2002-06-25
Dilemma
Nelly ft Kelly Rowland
2002-11-11
Big Yellow Taxi
Counting Crows ft Vanessa Carlton
2002-11-12
Picture
Kid Rock ft Sheryl Crow
2003-01-13
Bring Me to Life
Evanescence (Amy Lee) ft Paul McCoy
2003-04-12
Get Low
Lil Jon & the East Side Boyz ft Ying Yang Twins
2003-05-12
Where Is the Love?
the Black Eyed Peas
2003-05-18
Crazy In Love
Beyoncé ft JAY-Z
2003-07-21
Suga Suga
Baby Bash ft Frankie J
2004-01-27
Yeah!
Usher ft Lil Jon & Ludacris
2004-03-29
Whiskey Lullaby
Brad Paisley ft Alison Krauss
2004-04-19
Broken
Seether ft Amy Lee
2004-09-27
Drop It Like It's Hot
Snoop Dogg ft Pharrell Williams
2004-10
Touché
Godsmack ft John Kosco and Lee Richards of Dropbox
2004-12-13
Numb/Encore
Jay-Z and Linkin Park
2004-12-14
Rich Girl
Gwen Stefani ft Eve
2005-11-12
Ridin'
Chamillionaire ft Krayzie Bone
2006-02-14
Hips Don't Lie
Shakira ft Wyclef Jean
2006-04-25
Promiscuous
Nelly Furtado & Timbaland
2006-06-06
(When You Gonna) Give It Up To Me
Sean Paul ft Keyshia Cole
2006-07-18
SexyBack
Justin Timberlake ft Timbaland
2006-08-07
Young Folks
Peter Bjorn and John ft Victoria Bergsman
2006-10-05
I Wanna Love You
Akon ft Snoop Dogg
2007-01-23
Glamorous
Fergie ft Ludacris
2007-02-12
Beautiful Liar
Beyoncé and Shakira
2007-03-29
Umbrella
Rihanna ft Jay-Z
2007-06-15
The Way I Are
Timbaland ft Keri Hilson and D.O.E.
2007-08-24
Hate That I Love You
Rihanna ft Ne-Yo
2007-09-11
Apologize
Timbaland and OneRepublic
2007-10-09
Low
Flo Rida ft T-Pain
2008-02-11
No Air
Jordin Sparks ft Chris Brown
2008-04-08
Just Dance
Lady Gaga ft Colby O'Donis
2008-08-19
Starstruck
Lady Gaga ft Space Cowboy and Flo Rida
2009-01-13
Lucky
Jason Mraz & Colbie Caillat
2009-01-27
Right Round
Flo Rida ft Kesha
2009-05-05
Whatcha Say
Jason Derulo ft Imogen Heap
2009-08-11
Need You Now
Lady Antebellum
2009-10-20
Empire State of Mind
JAY-Z ft Alicia Keys
2009-12-15
Nothin' on You
B.o.B ft Bruno Mars
2010-01
Home
Edward Sharpe and the Magnetic Zeros (Alex Ebert and Jade Castrinos)
2010-03-09
Billionaire
Travie McCoy ft Bruno Mars
2010-04-13
Airplanes
B.o.B ft Hayley Williams
2010-05-07
California Gurls
Katy Perry ft Snoop Dogg
2010-06-18
Talkin' 2 Myself
Eminem ft Kobe
2010-06-18
Won't Back Down
Eminem ft Pink
2010-07-12
DJ Got Us Fallin' in Love
Usher ft Pitbull
2010-06-18
Love The Way You Lie
Eminem ft Rihanna
2010-10-25
What's My Name?
Rihanna ft Drake
2010-11-12
Love the Way You Lie (Part II)
Rihanna ft Eminem
2011-02-08
On the Floor
Jennifer Lopez ft Pitbull
2011-03-15
Give Me Everything
Pitbull ft Ne-Yo, Afrojack, & Nayer
2011-06-14
Stereo Hearts
Gym Class Heroes ft Adam Levine
2011-06-21
Moves like Jagger
Maroon 5 ft Christina Aguilera
2011-07-05
Somebody That I Used To Know
Gotye ft Kimbra
2011-07-19
Got 2 Luv U
Sean Paul ft Alexis Jordan
2011-08-16
Can't Hold Us
Macklemore & Ryan Lewis ft Ray Dalton
2011-09-20
We Are Young
Fun ft Janelle Monáe
2011-09-22
We Found Love
Rihanna ft Calvin Harris
2011-12-09
Titanium
David Guetta ft Sia
2011-12-19
Wild Ones
Flo Rida ft Sia
2011-12-20
Little Talks
Of Monsters and Men
2012-04-12
Dirty Paws
Of Monsters and Men
2012-04-16
Payphone
Maroon 5 ft Wiz Khalifa
2012-09-14
Don't You Worry Child
Swedish House Mafia ft John Martin
2012-10-24
Beauty and a Beat
Justin Bieber ft Nicki Minaj
2012-12-13
Stay
Rihanna ft Mikky Ekko
2013-02-26
Just Give Me A Reason
P!nk ft Nate Ruess
2013-04-02
I Need Your Love
Calvin Harris ft Ellie Goulding
2013-04-19
Get Lucky
Daft Punk ft Pharrell Williams and Nile Rodgers
2013-07-14
Everything Has Changed
Taylor Swift ft Ed Sheeran
2013-10-07
Timber
Pitbull ft Kesha
2013-10-01
Dangerous
Big Data ft Joywave
2013-10-29
The Monster
Eminem ft Rihanna
2013-11-04
Say Something
A Great Big World & Christina Aguilera
2013-12-17
Dark Horse
Katy Perry ft Juicy J
2014-06-06
Don't Tell 'Em
Jeremih ft YG
2014-04-28
Problem
Ariana Grande ft Iggy Azalea
2014-07-28
Bang Bang
Jessie J, Ariana Grande, & Nicki Minaj
2014-09-30
Love Me Harder
Ariana Grande & The Weeknd
2015-02-10
Marvin Gaye
Charlie Puth ft Meghan Trainor
2015-02-23
I Want You to Know
Zedd ft Selena Gomez
2015-03-10
See You Again
Wiz Khalifa ft Charlie Puth
2015-03-02
Worth It
Fifth Harmony ft Kid Ink
2015-03-17
You Don't Own Me
Grace ft G-Eazy
2015-05-17
Bad Blood
Taylor Swift ft Kendrick Lamar
2015-06-23
Like I'm Gonna Lose You
Meghan Trainor ft John Legend
2015-07-22
Never Forget You
Zara Larsson & MNEK
2015-07-24
Go Away
Weezer ft Best Coast
2015-08-07
Body On Me
Rita Ora ft Chris Brown
2015-10-14
Me, Myself & I
G-Eazy & Bebe Rexha
2015-11-18
I Know What You Did Last Summer
Shawn Mendes & Camila Cabello
2015-12-17
Cheap Thrills
Sia ft Sean Paul
2016-02-05
Don't Let Me Down
the Chainsmokers ft Daya
2016-03-25
Close
Nick Jonas ft Tove Lo
2016-04-29
This Is What You Came For
Calvin Harris and Rihanna
2016-07-29
Closer
the Chainsmokers ft Halsey
2016-08-05
Let Me Love You
DJ Snake ft Justin Bieber
2016-08-30
Side to Side
Ariana Grande ft Nicki Minaj
2016-10-14
Bad Things
Machine Gun Kelly & Camila Cabello
2016-10-21
Rockabye
Clean Bandit ft Sean Paul & Anne-Marie
2016-11-18
No Lie
Sean Paul ft Dua Lipa
2017-01-13
Despacito
Luis Fonsi ft Daddy Yankee
2017-01-13
Paris
the Chainsmokers ft Emily Warren
2017-01-31
Congratulations
Post Malone ft Quavo
2017-02-06
What Ifs
Kane Brown ft Lauren Alaina
2017-02-16
It Ain't Me
Kygo and Selena Gomez
2017-02-22
Something Just Like This
the Chainsmokers and Coldplay
2017-02-23
Stay
Zedd and Alessia Cara
2017-03-17
Symphony
Clean Bandit ft Zara Larsson
2017-04-27
1-800-273-8255
Logic ft Alessia Cara & Khalid
2017-06-15
Feels
Calvin Harris ft Pharrell Williams, Katy Perry, & Big Sean
2017-06-15
Glorious
Macklemore ft Skylar Grey
2017-07-21
Back To You
Louis Tomlinson ft Bebe Rexha & Digital Farm Animals
2017-08-03
Havana
Camila Cabello ft Young Thug
2017-08-30
What Lovers Do
Maroon 5 ft SZA
2017-09-12
Best Friend
Sofi TuKKer ft Nervo, The Knocks, and Alisa Ueno
2017-09-15
Rockstar
Post Malone ft 21 Savage
2017-09-17
I'm Not Jesus
Apocalyptica ft Corey Taylor
2017-09-19
Good Old Days
Macklemore ft Kesha
2017-10-24
Meant To Be
Bebe Rexha ft Florida Georgia Line
2017-11-30
Him & I
G-Eazy & Halsey
2017-12-15
River
Eminem ft Ed Sheeran
2017-12-15
Like Home
Eminem ft Alicia Keys
2017-12-15
Tragic Endings
Eminem ft Skylar Grey
2017-12-15
Need Me
Eminem ft Pink
2018-01-04
All The Stars
Kendrick Lamar & SZA
2018-01-04
Finesse
Bruno Mars ft Cardi B
2018-01-05
For You
Liam Payne & Rita Ora
2018-01-19
These Days
Rudimental ft Jess Glynne, Macklemore, and Dan Caplen
2018-01-23
The Middle
Zedd, Maren Morris, & Grey
2018-02-07
Talk
Khalid ft Disclosure
2018-02-14
Love Lies
Khalid & Normani
2018-02-16
Mad Love
Sean Paul & David Guetta ft Becky G
2018-03-15
Alone
Halsey ft Big Sean and Stefflon Don
2018-03-27
Nowhere Fast
Eminem ft Kehlani
2018-05-31
Girls Like You
Maroon 5 ft Cardi B
2018-07-12
Eastside
Benny Blanco, Halsey, & Khalid
2018-08-16
Happier
Marshmello ft Bastille
2018-09-06
Electricity
Silk City & Dua Lipa ft Diplo & Mark Ronson
2018-09-18
This Feeling
the Chainsmokers ft Kelsea Ballerini
2018-09-27
Shallow
Lady Gaga & Bradley Cooper
2018-10-18
Sunflower
Post Malone & Swae Lee
2018-10-24
Close to Me
Ellie Goulding, Diplo, & Swae Lee
2018-11-02
Baby
Clean Bandit ft Marina & Luis Fonsi
2018-11-16
Rewrite The Stars
Anne-Marie & James Arthur
2019-01-11
Dancing With A Stranger
Sam Smith & Normani
2019-03-19
Peaches
Justin Bieber ft Daniel Caesar and GIVĒON
2019-04-26
ME!
Taylor Swift ft Brendon Urie
2019-05-10
I Don't Care
Ed Sheeran and Justin Bieber
2019-05-31
Call You Mine
the Chainsmokers ft Bebe Rexha
2019-06-21
Señorita
Shawn Mendes & Camila Cabello
2019-06-28
Beautiful People
Ed Sheeran ft Khalid
2019-07-05
Goodbyes
Post Malone ft Young Thug
2019-09-26
Trampoline
Shaed with Zayn
2019-10-17
If the World Was Ending
JP Saxe ft Julia Michaels
2020-01-06
My Oh My
Camila Cabello ft DaBaby
2020-02-07
Intentions
Justin Bieber ft Quavo
2020-02-08
Death Bed (Coffee for Your Head)
Powfu ft beabadoobee
2020-04-17
I Hope
Gabby Barrett ft Charlie Puth
2020-05-08
Stuck with U
Ariana Grande and Justin Bieber
2020-06-25
Save Me
Jelly Roll ft Lainey Wilson
2020-07-06
Life's a Mess
Juice WRLD ft Halsey
2020-07-24
Mood
24kGoldn ft iann dior
2020-08-07
My Ex's Best Friend
Machine Gun Kelly ft blackbear
2020-09-18
Holy
Justin Bieber ft Chance The Rapper
2020-10-01
Levitating
Dua Lipa ft DaBaby
2020-10-16
Lonely
Justin Bieber ft Benny Blanco
2020-10-23
Lil Bit
Nelly & Florida Georgia Line
2020-10-29
Fever
Dua Lipa ft Angèle
2020-11-19
Prisoner
Miley Cyrus ft Dua Lipa
2020-12-04
Girl Like Me
Black Eyed Peas & Shakira
2020-12-04
Monsters
All Time Low ft Demi Lovato & blackbear
2021-01-07
Best Friend
Saweetie ft Doja Cat
2021-01-15
Friday
Riton and Nightcrawlers ft Mufasa & Hypeman
2021-02-11
Levitating
Dua Lipa ft DaBaby
2021-02-19
la di die
Nessa Barrett ft jxdn
2021-03-03
Beautiful Mistakes
Maroon 5 ft Megan Thee Stallion
2021-03-05
Life's a Mess II
Juice WRLD ft Clever & Post Malone
2021-03-19
As I Am
Justin Bieber ft Khalid
2021-03-19
Peaches
Justin Bieber ft Daniel Caesar & GIVĒON
2021-03-19
Name
Justin Bieber ft Tori Kelly
2021-04-09
Kiss Me More
Doja Cat ft SZA
2021-04-16
You
Regard, Troye Sivan, & Tate McRae
2021-04-23
Save Your Tears
the Weeknd ft Ariana Grande
2021-05-21
Leave Before You Love Me
Marshmello & Jonas Brothers
2021-05-21
Our Song
Anne-Marie & Niall Horan
2021-06-17
Working
Tate McRae & Khalid
2021-06-25
You Right
Doja Cat & the Weeknd
2021-07-09
Memory
Kane Brown and blackbear
2021-07-09
Stay
The Kid Laroi & Justin Bieber
2021-07-16
Wild Side
Normani ft Cardi B
2021-07-23
INDUSTRY BABY
Lil Nas X ft Jack Harlow
2021-07-23
Psycho
Dixie D'Amelio ft Rubi Rose
2021-08-13
Rumors
Lizzo & Cardi B
2021-10-28
Enemy
Imagine Dragons and JID
2022-02-11
Calm Down
Rema ft Selena Gomez
2022-05-27
Potion
Calvin Harris, Dua Lipa, & Young Thug
2022-06-03
I Like You (A Happier Song)
Post Malone ft Doja Cat
2022-06-22
Cracker Island
Gorillaz ft Thundercat
2022-08-26
I'm Good (Blue)
David Guetta and Bebe Rexha
2022-09-12
Thank God
Kane Brown and Katelyn Brown
2023-01-27
Creepin'
Metro Boomin, the Weeknd, and 21 Savage
2023-02-24
Die For You
the Weeknd & Ariana Grande
2023-07-21
Heartbroken
Thomas Wesley (aka Diplo), Jessie Murph and Polo G
2023-09-08
I Remember Everything
Zach Bryan ft Kacey Musgraves
2023-10-06
Wild Ones
Jessie Murph and Jelly Roll
2024-04-19
Fortnight
Taylor Swift ft Post Malone
2024-04-26
II Most Wanted
Beyoncé and Miley Cyrus
2024-04-26
Neverender
Justice ft Tame Impala
2024-05-03
Miles on It
Marshmello and Kane Brown
2024-05-10
I Had Some Help
Post Malone ft Morgan Wallen
2024-05-10
Tonight
Black Eyed Peas and El Alfa ft Becky G
2024-05-23
Ratatata
Babymetal and Electric Callboy
2024-06-07
High Road
Koe Wetzel ft Jessie Murph
2024-06-07
Barely Breathing
From Ashes to New ft Chrissy Costanza
2024-06-28
Cowboys Cry Too
Kelsea Ballerini and Noah Kahan
2024-07-26
Lonely Road
Machine Gun Kelly and Jelly Roll
2024-08-05
You Look Like You Love Me
Ella Langley ft Riley Green
2024-08-16
Die with a Smile
Lady Gaga and Bruno Mars
2024-08-23
WE PRAY
Coldplay ft Little Simz, Burna Boy, Elyanna, and Tini
2024-09-27
Timeless
the Weeknd and Playboi Carti
2024-09-13
I'm His, He's Mine
Katy Perry ft Doechii
2024-10-18
APT.
Rosé and Bruno Mars
2024-10-18
Forever Young
David Guetta, Alphaville and Ava Max
2024-11-14
Now or Never
Pitbull with Bon Jovi
2024-11-22
Body Talk
Kane Brown and Katelyn Brown
2024-11-29
Luther
Kendrick Lamar and SZA
2024-12-06
Strategy
Twice ft Megan Thee Stallion
2025-01-21
Jupiter
Almost Monday ft Jordana
2025-01-24
Haunted
Kane Brown and Jelly Roll
2025-02-20
Call Me When You Break Up
Selena Gomez, Benny Blanco and Gracie Abrams
2025-05-02
Priceless
Maroon 5 ft Lisa
2025-05-16
What I Want
Morgan Wallen ft Tate McRae
2025-07-04
Golden
Ejae, Audrey Nuna, and Rei Ami
2025-07-22
YUKON
Justin Bieber ft Justin Bieber
2025-10-10
Gone Gone Gone
David Guetta, Teddy Swims, and Tones and I
2026-01-16
Stateside
PinkPantheress and Zara Larsson
2026-02-06
Dracula
Tame Impala and Jennie
2026-02-20
Rubber Band Man
Mumford & Sons ft Hozier
2026-02-27
The Happy Dictator
Gorillaz ft Sparks
2026-03-06
New Religion
Bebe Rexha and Faithless
x
-
+

~Pages~

<
o
>
MVR
Weather
Welcome To Palm Valley Church
Southwest Bible Church
Fermented foods
College Football Rankings
Mrwhosetheboss

locals
PARLER
rumble
GETTR
TRUTH SOCIAL
New York Post
The Chicago Thinker

Countries of the World - Map Quiz Game
The Forbes 400
21 Surprising Statistics About How Much Stuff We Actually Own
These maps will show you why some countries are not as big as they look
Antipode Finder - Find the opposite side of the world
Aligned Clock Hands
Wealthy Gorilla
Quickly Compare 2021 Tuition & College Costs
26 Common Suffixes in English (With Examples)
Jordan Peterson | A List of Influential Books Everyone Should Read
12 Rules for Life List: Jordan Peterson, Explained
16 Simple Rules to Live by for a Successful And Fulfilling Life
World Religions Map
20Q
$500, $1,000, $100,000: Big Bills Of A Bygone Era | Bankrate
time.is
Most valuable crops grown in Oregon | Stacker

FreeOnes, the Ultimate Babe Site since 1998!
Babepedia - Photo galleries & biographies
Boobpedia escorts, find local escorts near me
Famous Bra Sizes - Bra sizes, body measurements, and bio!
CelebrityInside – Celebrity Body Measurements, Height, Weight & Net Worth
Bollysuperstar | Celebrity Body Measurements and Contact Deails
Listal - List the stuff you love! Movies, TV, music, and books
Beautiful Naked Women & Sexy Nudes | Erotic Beauties
[100+] Babes Wallpapers | Wallpapers.com
Home - Wall Of Celebrities
ANCENSORED > Uncensored Celebrities, Nude Celebs & Celebrity Sex Tapes
Celebrities Bio, Height, Weight & Relationships | Celebfeatures
actresses with spectacular breasts
wikiFeet
x
-
+

Lamborghini

<
o
>
Lamborghini has an interesting history!
Ferruccio Lamborghini
Lamborghini Trattori
Lamborghini
Plow Through 72 Years Of Lamborghini Tractor History

Models
Lamborghini 350GTV (1963)
Lamborghini 350 GT (1964-1966)
Lamborghini 400 GT (1966-1968)
Lamborghini Miura (1966-1973)
Lamborghini Islero (1968-1969)
Lamborghini Espada (1968-1978)
Lamborghini Jarama (1970-1976)
Lamborghini Urraco (1972-1979)
Lamborghini Countach (1974-1990)
Lamborghini Silhouette (1976-1979)
Lamborghini Jalpa (1981-1988)
Lamborghini LM002 (1986-1993)
Lamborghini Calà (1995)
Lamborghini Diablo (1990-2001)
Lamborghini Murciélago (2001-2010)
Lamborghini Gallardo (2003-2013) (FAVORITE!!!)
Lamborghini Reventón (2007-2009)
Lamborghini Sesto Elemento (2010-2012)
Lamborghini Aventador (2011-Present)
Lamborghini Egoista (2013)
Lamborghini Veneno (2013-2014)
Lamborghini Asterion (2014)
Lamborghini Huracán (2014-Present)
Lamborghini Centenario (2016-2017)
Lamborghini Terzo Millennio (2017)
Lamborghini Urus (2018-Present)
Lamborghini Sián FKP 37 (2020-Present)
Lamborghini Essenza SCV12 (2020-Present)

(List of Lamborghini automobiles)

How Many Car Brands Does Volkswagen Own?

Lamborghini Countach Front Wing!

Automotive industry
x
-
+

2020 Summer Olympics

<
o
>
2020 Summer Olympics
2020 Summer Olympics (Sports)
United States at the Olympics
United States at the 2020 Summer Olympics
Olympic Medal Count | Tokyo 2020 Olympics (Jul 23-Aug 8, 2021)

Favorites
Aquatics
->
Artistic swimming
->
Duet
Aquatics
->
Water polo
 
 
Athletics
->
Pole vault
 
 
Basketball
->
3x3 basketball *
 
 
Canoeing
->
Slalom
->
Kayak
Cycling
->
BMX racing
 
 
Gymnastics
->
Artistic
->
Floor exercise
Gymnastics
->
Rhythmic
->
Individual
Gymnastics
->
Trampoline
 
 
Handball
 
 
 
 
Surfing
->
Shortboards *
 
 
Table tennis
->
Singles
 
 
Volleyball
->
Beach volleyball
 
 
New sports this Olympics: 3x3 basketball & Surfing shortboards
x
-
+

VMware ESXi Shell

<
o
>
GENERAL
esxcli   # prints help
esxcfg-info   # outputs lots of info (esxcfg-info --help)
esxcli system version get   # version, build, etc
esxcli system stats installtime get   # installation date/time

HARDWARE
esxcli hardware cpu list   # CPU model, cores, threads
esxcli hardware memory get   # total/free memory
esxcli hardware platform get   # manufacturer, product, serial
vim-cmd hostsvc/net/info | grep 'max = "'   # NIC's MAC address

STORAGE
esxcli storage filesystem list   # mounted datastores
esxcli storage core device list   # physical disks
esxcli storage core path list   # storage paths

NETWORKING
esxcli network nic list   # installed network adapters
esxcli network ip interface list   # network interfaces
esxcli network ip interface ipv4 get   # IP address details
esxcli network ip connection list   # active network connections
esxcli network ip route ipv4 list   # routing table
esxcli network ip dns server list   # DNS servers
esxcli network ip neighbor list   # ARP table

VM INVENTORY & STATE
vim-cmd vmsvc/getallvms   # list registered VMs
esxcli vm process list   # running VMs
vim-cmd vmsvc/power.getstate <VMID>   # VM power state
vim-cmd vmsvc/snapshot.get <VMID>   # list snapshots

SYSTEM CONTROL
esxcli system maintenanceMode get   # maintenance mode status
esxcli system maintenanceMode set --enable true|false   # toggle mode
esxcli system shutdown reboot -r "msg"   # reboot host
esxcli system shutdown poweroff -r "msg"   # power off host

MONITORING / LOGS
esxtop   # task manager (export TERM=xterm)
tail -f /var/log/vmkernel.log   # kernel/storage events
tail -f /var/log/hostd.log   # host management service
tail -f /var/log/vpxa.log   # vCenter agent

Most Useful ESXCLI and ESXi Shell Commands for Your VMware Environment
Top 20 Essential ESXCLI Commands You Need to Know
x
-
+

Audio Clips (phone)

<
o
>
x
-
+

Calendar Wallpaper

<
o
>
Click on a calendar/wallpaper to get the full size of 1920x1080
panes.us.Calendar.2026.Tux.Thumb.png
2026 Calendar - Tux
panes.us.Calendar.2026.WebLogos.Thumb.png
2026 Calendar - Web Logos
panes.us.Calendar.2026.TuxLavaLamp.Thumb.png
2026 Calendar - Tux Lava Lamp
panes.us.Calendar.2026.Seasons.Thumb.png
2026 Calendar - Seasons
panes.us.Calendar.2026.Gallardo.Thumb.png
2026 Calendar - Lamborghini Gallardo
panes.us.Calendar.2026.F22.Thumb.png
2026 Calendar - F-22 Raptor
homemenu.us.Calendar.2026.HouseContemporary.Thumb.png
2026 Calendar - Contemporary House
Panes.Calendar.2025.Tux.CornersSquare.Thumb.png
2025 Calendar - Tux (corners square)
Panes.Calendar.2025.Tux.CornersRound.Thumb.png
2025 Calendar - Tux (corners round)
Panes.Calendar.2025.Web.Thumb.png
2025 Calendar - Web
Panes.Calendar.2025.Tux.LavaLamp.Thumb.png
2025 Calendar - Tux (in lavalamp)
Panes.Calendar.2025.Seasons.ColorFull.Thumb.png
2025 Calendar - Seasons (Color Full)
Customize the header and footer
Panes.Calendar.2025.Seasons.ColorHalf.Thumb.png
2025 Calendar - Seasons (Color Half)
Customize the header and footer
Panes.Calendar.2025.World.Map.Thumb.png
2025 Calendar - World Map
Panes.Calendar.2025.Lamborghini.Gallardo.Thumb.png
2025 Calendar - Lamborghini Gallardo (Orange)
Panes.Calendar.2025.F-22.Thumb.png
2025 Calendar - F-22
Panes.Calendar.2025.homemenu.Thumb.png
2025 Calendar - Contemporary Home
Panes.Calendar.2025.Paris.Turquoise.Thumb.png
2025 Calendar - Paris (Turquoise)
Panes.Calendar.2025.Paris.Blue.Thumb.png
2025 Calendar - Paris (Blue)
Panes.Calendar.2025.Medical.Thumb.png
2025 Calendar - Medical
2022CalendarF221920x1080Thumb.png
2022 Calendar - F-22 Raptor
2022CalendarHouse1920x1080Thumb.png
2022 Calendar - House
2022CalendarLamborghiniGallardoOrange1920x1080Thumb.png
2022 Calendar - Lamborghini Gallardo
2022CalendarLamborghiniBadge1920x1080Thumb.png
2022 Calendar - Lamborghini Badge
2022CalendarPanesRust1920x1080Thumb.png
2022 Calendar - Panes Logo
2022CalendarTux1920x1080Thumb.png
2022 Calendar - Tux
2022CalendarWorld1920x1080Thumb.png
2022 Calendar - World
2022CalendarPanesTransparentWatermark1920x1080Thumb.png
2022 Calendar - Panes (transparent w/watermarks)

hdqwalls.com Best Source For HD,4k,5k,8k Wallpapers
x
-
+

DuckDuckGo

<
o
>

Fuck it (Google)...Duck it

The company's name is a reference to the children's game duck, duck, goose.
Instant Answers:
1100101110000 binary to decimal
6512 decimal to binary
alarm
anagram panes
calendar
calendar pdt
calendar 1991-08-25
calendar 25 August 1991
calculator
cheat sheet css
cheat sheet html
cheat sheet javascript
cheat sheet linux
cheat sheet php
cheat sheet postgresql
cheat sheet vim
chronometer
college basketball
college football
color #b06528
color picker
conversion lbs to oz
conversion mile to km
currency
currency in united arab emirates
define panes
expand https://is.gd/pbUfx7
figlet panes
filetype:pdf postgresql
Gb/s
hex to rgb
html ⧉
html chars
lorem ipsum
lowercase PANES
mx dns google.com
ns dns panes.us
password 8
password 8 strong
people in space
pi
price (of) aapl
price (of) gold
price (of) silver
price of bitcoin
qr https://www.panes.us
random number
random number between 1 and 1000
random passphrase
recipes salmon
rgb 176 101 40
rhymes with panes
shipping status 9214 4902 1702 7600 0096 2845 60
shorten https://panes.us
site:panes.us
stopwatch
time hst
time hawaii
time akst
time alaska
time pst
time pdt
time seattle
time portland
time los angeles
time mst
time mdt
time boise
time denver
time phoenix
time cst
time cdt
time chicago
time kansas city
time dallas
time est
time edt
time nyc
time nashville
time miami
timer
uppercase panes
url decode url+decode+http%253A%252F%252Fwww.panes.us%252F%253Fpane%253DAbout
url encode https://www.panes.us/?pane=About
weather in portland
what is my ip
whois panes.us
Why should I use this?
xkcd

Navigation/Keyboard Shortcuts:
  • Do a normal duckduckgo.com search
    • press "j" to go down the results list (skips "AD" links)
    • press "k" to go up the results list
    • press "l", "o", or "Enter" to open the link
    • press "/" or "h" to go up to the search box
    • press "v" to open highlighted result in a new tab
    • press "d" to extend the search to include the domain
    • press "t" to go to the first result

More:
DuckDuckGo - Wikipedia
DuckDuckGo Search Results | DuckDuckGo Help Pages
DuckDuckGo !Bangs
The ultimate guide to DuckDuckGo
x
-
+

"Stock Android" Alternatives

<
o
>
Android (operating system)
Linux for mobile devices
CalyxOS
Ubuntu Touch
Tizen
x
-
+

LEGO

<
o
>
LEGO
Lego (WikipediA)
Brickset: LEGO set guide and database
BrickLink - Buy and sell LEGO Parts, Sets and Minifigures

2022 Wish List
Roller Coaster; #10261; $303.99
World Map, #31203, $249.99
Typewriter, #21327, $199.99
LEGO® Wooden Minifigure, #853967, $119.99
Wooden Wall Hanger Set – Dark Oak, #5007112, $99.99
Caravan Family Holiday, #31108, $69.99
Dubai, #21052, $59.99
Ford GT Heritage Edition and Bronco R, #76905, $49.99
Lamborghini Urus ST-X & Lamborghini Huracán Super Trofeo EVO, #76899, $39.99
San Francisco, #21043, $39.99
Black Widow's Helicopter Chase, #76162; $29.99
LEGO® Minifigure Display Case 16, #5005375, $29.99
Brick Shelf 8 Knobs – Black, #5006610, $21.99
Koenigsegg Jesko, #76900, $19.99
Nissan GT-R NISMO, #76896, $19.99
Ferrari F8 Tributo, #76895, $15.99
Sunset Track Racer, #31089, $15.99
White, Black and Gray Wall Hanger Set, #5005893, $10.99
Sports Car; #31100; $9.99
LEGO® Brick Ice Cube Tray, #853911, $7.99
Mini Storage Head Boy – Bright Yellow, #5006258, $7.99
Selfie Stunt Bike, #60309, $7.99
Salt and Pepper Set, #850705, $6.99
Traffic Lights, #40311, $3.99
xtra Food, #40465, $3.19
Porsche 911 GT3 RS; #42056; retired
Volkswagen T1 Camper Van; #10220; retired
Dozer Compactor; #42071; retired
Chevrolet Camaro Drag Race; #75874; retired
x
-
+

Bachelor Food

<
o
>
  • Mongolian grill...my favorite food!  I call it a meat salad because I added tons of meat...way more than veggies.  Also, over sauce it with garlic, etc.
  • Meatloaf...look up recipes...they are easy and delicious.
  • Chili with shedded cheese and diced onions (if lazy just crunch in Nacho Doritos...actually really good...brings crunch...the raw onions also bring crunch).
  • Toasted/grilled cheese sandwich and condensed tomato soup (if no tomato soup handy...use catchup).
    Toast the bread first helping to keep from getting burn marks and the bread doesn't smash down.  With Foreman Grill or frying pan melt the cheese in the sandwich.
    The toasted bread also helps to soak up the tomato soup into the bread.  An even better/quicker way is to toast the bread and then nuke the cheese in the toast.
  • Taco salad...crunch Doritos in bowl, add hamburger, then kidney beans (the juice soaks into the Doritos and hamburger)
    Then add whatever you like...onion, lettuce, tomato, salsa, olives. I actually like to use a bowl with a lid to give it all a good shake to mix it up.
  • Chicken caesar salad grilled chicken, parmesan cheese (shredded), croutons, lettuce and of course caesar dressing and black olives are also good in it.
  • Popcorn nuke then add Valentina (hot sauce) to the bag and shake.
  • Noodles...any, like Knorr favors, Hamburger Helper, etc are great with hot sauce (Tabasco (green pepper sauce) or Valentina).  Ground beef, chicken, hot dogs, etc can be added.
  • Pot roast...sear the roast on all sides...add chopped veggies and condensed veggie soup to crock pot.
  • Burritos...cubed ham steak, onions and black beans...that is really a great combo alone, but you can add to it in many ways.
  • Hamburgers...so easy and delicious! So many options.
  • Hot dogs...so easy and delicious! So many options.
  • Cold cut sandwich...so many options.
  • Tuna sandwich...can be hot or cold.  Mix up tuna with mayonnaise, diced onion, diced black olive, diced dill pickle.  Use toasted bread.  Can put lettuce, tomator, and/or thin sliced cheese on top.
  • Deviled eggs...many ways to make.
  • Dill salsa...use your favorite salsa...dice up some dill pickle and fresh onions and stir in.
  • Egg drop soup...easier to make than you think.
  • Cheesy red potatoes...quarter red potatoes and cook for awhile add cheese and cook a little more.
  • Basmati rice...tasty stuff...can add a little butter or oil. Of course meat, etc.
  • BLT (Bacon, Lettuce, and Tomato).
  • Breakfast egg sandwich/burrito
    Nuke in small bowl two eggs at 50% for 3 minutes after stirring in ham, diced onions, diced black olives, red bell peppers, etc.
    Stir every minute.
    When done either bread or tortilla...adding salsa or ketchup.
  • Pulled pork or chicken Crockpot first with broth or a condensed soup of your liking. Add the BBQ sauce after done and drained from crockpot.
  • Hot ham sandwich use 3 or more pieces of lunch meat.
    Put favorite cheese on top and raw onion slices.
    Then nuke until the cheese is done.
    Then put on toasted bread with fresh lettuce.
  • Gyros...easiest if you buy the gyro meat from a store like Chef's Store, etc.
    Add feta cheese and/or tzatziki sauce, lettuce, tomato, red onion, and what ever else you like.
    I don't normally have pita bread on hand...so I use tortillas...they work as good.
  • Pannidos...cheese or pickles wrap in ham and placed into long thin bun...you could use a tortilla or go naked.
  • Green bean casserole...green beans, cream of mushroom soup, chopped onion, and chopped bacon...French fried onions on top.
  • Cottage cheese with sliced fresh bananas mixed in (could be any fruit, chives, etc).
  • Cabbage salad...shredded cabbage with Parmesan cheese on top.
  • Baked fish...salmon or white with a little butter and spice.  Veggies like broccoli, asparagus, etc can be cooked with the fish.
  • KIRKLAND KETTLE KRINKLE CUT CHIPS...with RESER's Dill Pickle Dip
x
-
+

Foods (smoked)

<
o
>
  • Cheese
  • Salmon
  • Beef jerky
  • There are more, but these are the three I make
x
-
+

Crawfish (boil)

<
o
>
    Ingredients
    • Fresh Oregon crawfish
    • Corn on the cob (in halves)
    • Red potato
    • Onion
    • Zatarain's Pre-Seasoned Crab and Shrimp Boil
    Equipment
    • Burner
    • Large pot with insert strainer
    • Paddle
    • Stainless Steel Spider Strainer
    Directions
    • Catch crawfish
    • Clean crawfish...in cooler with lots of water and salt
    • Start boil with potatoes and corn seasoned
    • Add the rest...like onions, etc. soon after
    • Wait a little bit...then add the crawfish
x
-
+

Kombucha (brewing)

<
o
>
   Finish me!
x
-
+

Server Naming Schemes

<
o
>
A server's location should not be in the naming...
this should be handled at/on the network level.

  • Animals (species, breeds, etc)
  • Cars (make, model, etc)
  • Celestial (planets, stars, constellations, etc)
  • Cities (Sherwood, Tempe, Phoenix, Beaverton, etc)
  • Compounds (chemical)
  • Countries
  • Days of week
  • Demonyms
  • Deserts (Sonoran, Atacama, Sahara, Arabian, etc)
  • Elements
  • Famous people (celebrities, inventors, etc)
  • Gemstones
  • Greek mythology
  • Lakes
  • Marvel comic characters (Daredevil, Hulk, Punisher, Wolverine, etc)
  • Math( Δ, Σ, etc)
  • Minerals
  • Months/Seaons
  • Mountains
  • Pixar characters (Woody, Buzz, Lilo, Stitch, Nemo, Dory, etc.)
  • Planets
  • Rivers
  • Spices
  • States
  • Super heros
  • Zodiac signs
x
-
+

Simple Pleasures

<
o
>
  • A mate and/or friend(s)
  • A favorite cup, plate, etc (I have a cup with sand grip at the bottom...awesome)
  • A favorite pen/pencil (I used to love writing with mechanical pencil...now love a great pen)
  • A great personality (person or pet)
  • An attractive person (eye candy)
  • A polite stranger (super cool)
  • A compliment
  • A scenic drive
  • A hike
  • A favorite food (American Mongolian BBQ)
  • A perfect chair (comfy recliner, etc)
  • A favorite TV show and/or movie
  • A favorite book
  • A pair of comfy shoes (Romeos, etc)
  • A great song
  • A favorite video or board game (always changing)
  • A favorite tool (because of function, ergonomics, etc)
  • Putting on clothes just out of the dryer
  • Smelling fresh cut grass in the first of spring
  • Smelling fresh cut alfalfa (hay) in late spring
  • Smelling fresh blackberries ripening on the vine in the summer
  • Nap(s)
  • Sleeping in
  • The smell of fresh rain
x
-
+

Thanksgiving Food Favorites

<
o
>
  • Turkey
  • Ham
  • Green bean casserole
  • Rolls
  • Mashed potatoes
  • Gravy
  • Cranberry sauce
x
-
+

Survival Items

<
o
>
  • Food
    • white rice
    • raw honey
    • white sugar
    • white vinegar
    • vanilla extract
    • corn starch
    • instant coffee
    • soy sauce
    • dried corn
    • peppercorn
    • pasta
    • kernels
    • milk
    • candy
    • oats
    • molases
  • Water, filter, and container
    • RegionalH2O.org | Regional Water Providers Consortium
  • Bleach
  • Clothes...ponchos, gloves, boots, etc
  • Guns/Ammo
    • Ammo Price Charts
    • PMC Ammunition (Precision Made Cartridges)
  • Knive/saw...machete, hatchet, multitool, scissors, saw, etc
  • Fire creation (multiple sources...matches, lighter, flint, small torch)
  • Rope (paracord)
  • Tape (Gorilla and/or duct)
  • Tarp
  • Blanket
  • Sleeping bag
  • Flashlight and/or head lamp
  • Fishing line with hooks
  • Zip ties
  • Safety pins
  • Paper clips
  • Cooking pan
  • Eating utensils
  • Multitool
x
-
+

Favorite Foods

<
o
>
  • Mongolian barbecue
  • Greek food (especially lamb gyro and lamb shank)
  • Mexican (especially red burro with rice and beans on the side, taco salad, fajita, quesadilla, etc)
  • Tortilla chips with salsa (any with chopped fresh onion and dill pickle, pico de gallo, guacamole, bean dip, etc)
  • Chilean empanadas
  • (Ultra) Thin crust pizza
  • American Barbecue
  • East Indian cuisine
  • Moroccan
  • Chinese
  • French fries
  • Vietnamese banh mì sandwiches
  • Cheesesteaks
  • Fish (salmon, trout, white fish, and crawfish)...the salmon goes great with broccoli
  • Cheese (cheddar, feta, blue cheese, pepper jack, mozzarella, parmesan, swiss, etc)
  • Salads (especially cobb, ceasar, chef, and taco)
  • Hamburgers (added ingredients...bacon, guacamole, fried egg...anything you like)
  • Spaghetti (lots of meat, garlic, and marinara sauce)
  • Kirkland/Kettle Krinkle Cut Pink Salt Potato Chips with Reser's Dill Pickle Dip

Categories for a die
  • American
  • Chinese
  • Greek
  • Indian
  • Italian
  • Mexican
x
-
+

Conversions

<
o
>
  • 1 mile = 0.86897624 nautical miles = 1760 yards = 5280 feet
  • 1 yard = 3 feet = 36 inches
  • 1 foot = 12 inches
  • 1 mile = 1.60 kilometers
  • 1 kilometer to 0.6213712 miles
  • 1 yard = 0.91 meter
  • 1 inch = 2.54 centimeters
  • 1 kilometer = 1000 meters
  • 1 meter = 100 centimeters
  • 1 centimeter = 10 millimeters

  • 1 ton (short) = 2000 pounds = 0.8928571 ton (long) = 0.9071847 ton (metric)
  • 1 pound = 16 ounces
  • 1 pound = 0.45 kilograms
  • 1 ounce = 28.34 grams = 0.9114583 troy ounce
  • 1 troy ounce = 31.10348 grams = 1.097143 ounces

  • 1 gallon (US) = 3.785412 litres
  • 1 litre = 0.264172 gallons (US)

  • 1 litre = 33.81402 fluid ounces
  • 1 gallon = 128 ounces
  • 1 gallon = 4 quarts
  • 1 quart = 2 pints
  • 1 pint = 2 cups
  • 1 cup = 8 ounces
  • 1 cup = 48 teaspoons
  • 1 ounce = 6 tablespoons
  • 1 tablespoon = 3 teaspoons
  • 1 fluid ounce = 28.41 millilitre

  • 1 pebibyte (PiB)= 1024 tebibytes
  • 1 tebibyte (TiB) = 1024 gibibytes
  • 1 gibibyte (GiB) = 1024 mebibytes
  • 1 mebibyte (MiB) = 1024 kibibytes
  • 1 kibibyte (KiB) = 1024 bytes
  • 1 byte = 8 bits

  • Speed of sound (Mach) = ~767 mph
  • Speed of light = ~670,616,629 mph
  • Speed of electricity = speed of light in a vacuum...
    and 66% to 90% the speed of light in copper wire
  • Speed of gravity = speed of light
  • Speed of radio wave = speed of light in a vacuum...
    and slightly lower speed in Earth's atmosphere

  • 1 mile per hour = 0.86897624 knots per hour

  • 1 mL water = 1.087 mL ice

  • 1 meter = 1/10,000,000th the distance from the equator to the north pole (length)
  • 1 liter = 0.13 meter (volume)
  • 1 kilogram = 1 liter of water (weight)
x
-
+

UNIX

<
o
>
Reasons to love UNIX:
  • Powerful
  • Mature
  • Stable
  • Simplicity
  • Programming language C was created because of UNIX...then UNIX was rewritten in C for portability
  • Portability (platforms it can run on)
  • Command Line (CLI)
  • Multitasking/multiuser
  • Tons of UNIX variants/flavors...Xenix, HP-UX, IBM AIX, Ultrix, IRIX, A/UX, Solaris, SCO, NetBSD, FreeBSD, OpenBSD, macOS, etc


UNIX info:
  • Bell System
  • AT&T Corporation
  • Bell Labs
  • Unix
  • Unix philosophy
  • History of Unix
  • Ken Thompson
  • Dennis Ritchie
  • Brian Kernighan
  • PDP-7
  • PDP-11
  • UNIX System V
  • Berkeley Software Distribution
  • Xenix
  • HP-UX
  • Ultrix
  • IBM AIX
  • A/UX
  • Santa Cruz Operation
  • Oracle Solaris
  • NetBSD
  • FreeBSD
  • OpenBSD
  • macOS
  • A Commentary on the UNIX Operating System
  • Usage share of operating systems (Supercomputers)
  • THE STRANGE BIRTH AND LONG LIFE OF UNIX
  • UNIX
  • What is UNIX used for? – Popular use cases
  • Server Operating System Market
  • Share of the global server market by operating system in 2018 and 2019
  • Unix vs Linux
  • Unix
  • Why I Love Unix
  • UNIX Introduction


UNIX videos:
  • The Rise of Unix. The Seeds of its Fall.
  • A Chronicle of the Unix Wars
  • How Linux killed Unix: the UNIX Wars


UNIX trivia:
  • The "awk" command's origin/name is an acronym of the authors' initials... Aho, Weinberger, and Kernighan
  • The "grep" command's origin/name comes from the editor ed's command "g/re/p" (global regular expression search and print)
  • The "sed" command's name is short for stream editor
x
-
+

Date Debate

<
o
>
    Calendars
  • Calendars Worldwide
  • Calendar History
  • Julian calendar
  • Julian day
  • 5th millennium BC
  • Ordinal date
  • Gregorian calendar
  • Hebrew calendar
  • Maya calendar
  • Egyptian calendar
  • Islamic calendar
  • Common Era
  • Civil calendar
  • Liturgical year
  • Epoch
  • Epoch (computing)
  • Unix time
  • System time

  • Date Formats
  • ISO 8601
  • List of date formats by country

  • Date Utilities
  • Convert a date
  • The Current Epoch Unix Timestamp
  • Epoch & Unix Timestamp Conversion Tools

  • Thoughts
  • I was a software programmer/developer for over 20 years
  • MDY and DMY are horrible formats...they don't sort naturally like YYYYMMDD (ISO 8601)
  • I have worked with some weird formats. The worst one I dealt with was CCMMDDYY
    • I am sure the "CC" (century) was added as a Y2K fix
    • I could never get used to looking at this odd format
    • It didn't sort easily/naturally like YMD (all numeric)
  • I mainly worked with UNIX time...which I had no problem with
  • I also worked with Julian...not my favorite
  • As long as the date libraries are good you don't need to worry about the system date or database stored dates
  • I believe you shouldn't convert system/database dates more than once and until you are ready to display/pass in the format you like
  • I like to refer to YYYYMMDD as CCYYMMDD
x
-
+

Time Methods/Devices

<
o
>

Calendars


List of calendars

Iranian calendars (360 days for a year)
Babylonian calendar (360 days for a year)
Chronograph (360 days for a year)
x
-
+

WikipediA (2nd)

<
o
>
x
-
+

Samsung Gear S3 Frontier (faces 2)

<
o
>
KRYPTON Gear S2 / Gear S3 watch face (KRYPTON)
560.1 KB
11/8/2018
JND Orange Overlap Animated 12hr (Modern_TechLrgOrngAnim12)
1.7 MB
12/24/2021
USA Simply Grey (Simply Grey)
656.6 KB
1/24/2020
GWK_0134 (GWK_0134)
433.39 KB
4/17/2024
USA Scalar Black (USA Scalar Black)
609.49 KB
12/24/2021
Binary Clock Gear S2 PRO_terminated (Binary)
133.76 KB
7/7/2021
Flip Watch Face_terminated (Flip Watchface)
75 KB
7/7/2021
Hexagon - Digital Watch 24h_terminated (Hexagon)
911.39 KB
12/24/2021
NOW@5 - [Typo] Isometric Typography Watch Face (NowTypo)
576.51 KB
4/24/2024
Analog Graphite Watch (AnalogGraphiteWatch)
781.75 KB
4/24/2024
GWK_0071 (GWK_0071)
2.09 MB
4/17/2024
Watchbase. Carbon Dashboard (Watchbase. Carbon)
714.77 KB
4/17/2024
Minimal (Minimal)
24.1 KB
12/26/2021
USA Grande (USA Grande)
3.07 MB
12/5/2021
BeFresh FLW025 Orange (FLW025OR)
506.08 KB
4/17/2024
Gear S3 Watchface Ger017_12h (Ger017_12h)
363.46 KB
4/17/2024
Krug Viron (Krug Viron)
431.43 KB
4/14/2024
Health Line (Health Line)
530.7 KB
12/24/2021
MD238 - Simple Minimal Digital Watch Face (MD238)
1002.03 KB
4/17/2024
ACTIVE 35 (ACTIVE 35)
2.31 MB
12/24/2021
Tomcat (Tomcat)...Samsung
1002.52 KB
4/14/2024
Linux clock face_terminated (linuxclockface)
24.46 KB
12/24/2021
USA Huge Glow Green (Huge Glow Green)
931.86 KB
12/24/2021
World Traveller Lite_terminated (World Traveller Lite)
1.69 MB
12/24/2021

Gear Dashboard (Gear Dashboard)...Samsung
Sport Control Orange 12H & 24H (SportControlOrange)
219.86 KB
12/24/2021
Iris48 (Iris48)
886.44 KB
12/24/2021
MD135 O - Premium Informative Digital Watch (MD135 O)
1.14 MB
12/24/2021
AE AERONAUTE (AERONAUTE)
3.48 MB
12/5/2021
Earthquake 12/24 Hour- Orange and Black- Designer Watchface (Earthquake_MikhailStyle)
316.02 KB
4/23/2024
[N°] Huge Yellow Orange Watch (rade-huge)
519 KB
12/24/2021
Iris22 (Iris22)
571.31 KB
11/19/2018
3 Plus 1 Orange Watch Face for Gear S2_Terminated (3plus1_Orange)
569.91 KB
12/24/2021
GS Digital 17 (GS Digital 17)
4.36 MB
3/24/2024
[axeir] Aviate (Aviate v1.0.7)
538.42 KB
11/22/2018
New GEAR OUTBACK (New GEAR OUTBACK by Bergen)
1.83 MB
11/27/2018
Fit future (Fit future)...Samsung
210.94 KB
Digital neon (Digital neon)...Samsung
184.92 KB
4/14/2024
STEPS COUNTER 12/24 HR [ANIMATED] (STEPS_ANIMATED)
280.96 KB
NEON Gear S2 / Gear S3 watch face (NEON)
320.39 KB
11/17/2018
XENON Gear S2 / Gear S3 watch face (XENON)
314 KB
11/8/2018
RADON Gear S2 / Gear S3 Watch Face (RADON)
882.18 KB
7/6/2021
Minimal [Blackstar apps] (minimal [blackstar apps])
222.03 KB
11/19/2018
AWF Lines (Lines)
1.42 MB
7/7/2021
WFP68 Digital (WFP_0068_Multilang_multicolor_Digital_Sport_dial)
784.25 KB
7/6/2021
Blackstar Apps| Quatro Grey (Blackstar Apps Quatro Grey)
227.94 KB
4/17/2024
GWK_0169 (GWK_0169)
2.07 MB
12/24/2021
MPC 75 - Watchface 1 (MPC75-White)
2.81MB
12/24/2021

GWK_00002 (GWK_00002)
194.18 KB
12/24/2021
GWK_0247 (GWK_0247)
725.99 KB
4/17/2024
Essentials IV (Essentials04)
217.71 KB
12/26/2021
BeFun FLW023 Monochrome (FLW023MN)
530.36 KB
4/17/2024
BeCreative FLW029 MONO (FLW029 MONO)
730.49 KB
4/14/2024
BeFresh FLW025 BW (FLW025BK)
485.27 KB
4/17/2024
Large (Large)...Samsung
GWK_0128_Mile (GWK_0128_Mile)
169.58 KB
4/17/2024
Matveyan - Classic sport Black. Multilingual. (Classic_Minimal_3)
270.33 KB
12/26/2021
USA Just Grey (Just Grey)
624.93 KB
12/24/2021
Nighty AOD (Nighty AOD)
53.77 KB
11/23/2021
JHW Analog 7 Simple (JHW Analog 7 Simple)
106.76 KB
4/16/2024
Essentials III (Essentials03)
120.04 KB
12/24/2021
GWK_0105 (GWK_0105)
622.64 KB
12/24/2024
GPG Digital21 12H24H Analog Gld GldBrshMtl = Classic Gold w/ Gold Face (GPGDigital21_12H24H_Analog_Gld_GldBrshMtl)
455.75 KB
12/24/2021
Night Vision Gold - animated (Night Vision Gold - animated)
1.53 MB
7/7/2021
BFF(D) : Gold Flame Luxury STORMER watch face Gear-Galaxy Watch (mau453-2)
904.18 KB
4/17/2024
Night Vision - animated (Night Vision - animated)
1.52 MB
12/23/2021
ELITE Chronograph (New ELITE CHRONOGRAPH)
1.22 MB
3/3/2019
✓ MD242 - Time Zone Informative Hybrid Watch Face (MD242)
1.87 MB
7/6/2021
RBCC 019 - 12/24hr analog digital classic watch face for gear s2 gear s3 gear sport galaxy watch (RBCC 019)
1.01 MB
12/24/2021
MD210 - Premium Hybrid Watch Face (MD210)
1.59 MB
12/5/2021
SzaZs PRO HYBRID MULTICOLOR FREE (SzaZs PRO HYBRID MULTICOLOR)
1.88 MB
11/23/2021
RBCC STURDY III (RBCC STURDY III)
2.35 MB
12/24/2021

HMKWatch_Analog_082_B (HMKWatch_Analog_082_B)
1.33 MB
12/3/2019
HMKWatch_Analog_072 (HMKWatch_Analog_072)
906.94 KB
12/3/2019
MD180 - NEW Analog Watch Face (MD180)
3.12 MB
7/6/2021
ACD003 - Car Dashboard (ACD003 - Car Dashboard)
302.99 KB
12/24/2021
GWK_0062 (GWK_0062)
1.84 MB
4/17/2024
Pars 149 Hybrid (Pars 149 Hybrid)
620.64 KB
4/14/2024
Hexagon Digital [NXV29] (cyber future)
2.46 MB
12/24/2021
✓ PERSONA Esme (✓ Esme)
1.79 MB
12/24/2021
PERSONA Sporty (✓ Sporty)
316.94 KB
7/7/2021
USA Blue Horizon (USA Horizon Blue)
1.05 MB
12/24/2021
USA Blue Beauty (USA Blue Beauty)
1.78 MB
12/23/2021
ACTIVE Jibber Jab Reviews  (ACTIVE Jibber Jab Reviews)
603.99 KB
12/24/2021
Hourglass (Hourglass)
281.98 KB
3/24/2024
Twilight Sky 12/24 Hour - Multiple Colors - Designer Watchface (Twilight_Sky)
372.79 KB
4/17/2024
Sport Control Azure 12H & 24H (SportControlAzure)
234.24 KB
4/23/2024
Blue - CoBar Huge Sporty FH238 (Blue-FH238)
712.41 KB
4/23/2024
USA Zen 44 Colors (colorize-swiss-usa)
652.62 KB
12/24/2021
Tronica by Pluto (Tronica by Pluto)
547.72 KB
10/31/2018
BWShade2BarPlate4W_FourD_Digit (BWShade2BarPlate4W_FourD_Digitial_GPGDigital31)
1.22 MB
12/24/2021
SzaZs Classic Digital Free (SzaZs Classic Digital)
575.88 KB
3/28/2019
MD148 - Informative Digital LCD (MD148)
1.58 MB
7/6/2021
Art Sports 40 Colours (ARTSPORT40)
818.26 KB
12/24/2021
Ficture Reflecto ZX Free (Ficture Reflecto ZX Free)
1.44 MB
12/24/2021
GS Digital 8 (GS Digital 8)
1.61 MB
12/24/2021

JH18 - Multicolor Premium Digital Watch Face (JH18)
521.22 KB
12/24/2021
GWK_0023_01 (GWK_0023_01)
449.67 KB
4/17/2024
Health dashboard (Health dashboard)...Samsung
216.58 KB
SzaZs Gear FREE (SzaZs The Gear Color)
709.93 KB
4/17/2024
MD135 W - Premium Informative Digital Watch (MD135 W)
1.14 MB
1/24/2020
MD135 B - Premium Informative Digital Watch (MD135 B)
1.14 MB
4/14/2024
HMKWatch_Digi_057 (HMKWatch_Digi_057)
1.07 MB
12/3/2019
Iris16-2 (Iris16-2)
747.52 KB
11/18/2018
New PREDATOR 2 - Active (New PREDATOR 2 by BERGEN)
927.73 KB
12/24/2021
SzaZs Hybrid FREE (SzaZs Hybrid)
643.03 KB
12/24/2021
IconBWVert7W TenD Analog GPG Digital24 12H24H (GPGDigital24_Analog_IconBWVert7W_TenD)
553.45 KB
4/16/2024
RBCC Roger - New Hybrid Stunning Watch Face (RBCC Roger)
3.83 MB
12/5/2021
Aviation Pilot 12/24 Hour - Blue and Black - Designer Watchface_terminated (Aviation_Pilot)
442.23 KB
12/17/2018
Frontier (Galaxy watch) (Frontier)...Samsung
651.24 KB
4/17/2024
Ballozi SKYNOX - Premium Analog Watch Face (Ballozi SKYNOX)
504.13 KB
12/24/2021
Premium analog (Premium analog)
248.21 KB
4/17/2024
Fresh (Fresh)...Samsung
251.29 KB
4/17/2024
GS Binary (GS Binary)
243.26 KB
4/16/2024
VIP-01 US (VIP-01 US)
295.07 KB
4/16/2024
VIP-06 (VIP-06)
263.78 KB
4/16/2024
Clear rings (Clear rings)...Samsung
149.51 KB
4/17/2024
Pie Twirl (Pie twirl)...Samsung
164.28 KB
4/17/2024
Color Pie (Color Pie)...Samsung
492.77 KB
GWK_0163 (GWK_0163)
783.24 KB
4/15/2024

ClrWorldMapBlk Analog GPG Digital21 12H24H = Color Wold Map Black Analog (GPGDigital21_12H_24H_Analog_ClrWorldMapBlk)
460.08 KB
4/17/2024
ZEROB_Honeycomb (ZEROB_Honeycomb)
981.62 KB
12/25/2021
Matveyan - Analog Minimal Blue. Support all languages. (MatveyanMinimalFaceFree)
216.68 KB
12/25/2021
RBCC RACER 2 (RBCC RACER 2)
1001.25 KB
12/24/2021
SamWatch Circle B 12h free (SamWatch_Circle_B_free)
106.37 KB
1/4/2019
Round Metal_terminated (Metal ver.2)
639.55 KB
12/25/2021
[DA time]STEEL STORY dt-m401_terminated (dt-m401)
660.23 KB
12/25/2021
Klock V2_terminated (Klock V2)
397.49 KB
12/24/2021
Digital Green Sports Watch_terminated (Sports Watch)
187.79
12/24/2021
Tube Nixie Clock_terminated (ElectroNixie)
1.14 MB
11/19/2018
Timeless by Pluto (Timeless by Pluto)
418.5 KB
4/25/2024
Traveller (Traveller)
700.83 KB
4/25/2024
x
-
+

Linux Distros

<
o
>
List of Linux distributions
DistroWatch
ubuntu icon
ubuntu
wikipedia icon
arch linux icon
archlinux
wikipedia icon
mint linux icon
linuxmint
wikipedia icon
fedora icon
fedora
wikipedia icon
kali linux icon
KALI
wikipedia icon
debian icon
debian
wikipedia icon
opensuse icon
openSUSE
wikipedia icon
centos icon
CentOS
wikipedia icon
orcale linux icon
ORACLE Linux
wikipedia icon
rocky linux icon
Rocky Linux
wikipedia icon
manjaro linux icon
manjaro
wikipedia icon
alma linux icon
almaLinux
wikipedia icon
amazon linux icon
Amazon Linux 2
wikipedia icon
redhat icon
Red Hat EL
wikipedia icon
x
-
+

GNU - "GNU's Not Unix!"

<
o
>

Overview

GNU is a collection of free software that can be used as an operating system or in parts with other systems,
originally initiated by Richard Stallman in 1983. It aims to provide users the freedom to run, study, share,
and modify software, and is often associated with the Linux operating system, leading to the term GNU/Linux.

Links

GNU - Wikipedia
The GNU Operating System and the Free Software Movement
List of GNU packages
Bash (Unix shell)
"Linux - BASH" pane
GNU Debugger
Meet 7 GNU tools that are the power of the command line

No Mouse Challenge!

Coming...hopefully soon.

GNU Debugger

"Debugging with GDB - Summary of GDB" - web.mit.edu/gnu/doc/html/gdb_1.html
...
"Debugging with GDB - Summary of GDB" - web.mit.edu/gnu/doc/html/gdb_25.html
~~~

#] kemiko@box:~ 19:32:56 0 [# cat ~/.gdbinit
# shit can be shortened...like "i b" is really "info breakpoints"...
# which shows all breakpoints, etc
# use tab completion

# type ctrl-alt-j to toggle-editing-mode between Emacs and Vi
# type ctrl-l to clear the screen

# b = set breakpoint at current line
# b [file:]<line> if <variable> <comparison> <value> = breakpoint at a line
# c = continue (executing code)
# clear = delete all breakpoints
# define = user defines...see below
# d = disable (breakpoints)
# disable [integer] = disable all/certain breakpoint(s)
# enable [integer] = enable all/certain breakpoint(s)
# f = frame (show stack frame)
# finish = finish executing current function
# h [command] = help
# i = info
# i b = info breakpoints
# i h = info handle (signals table)
# l [line] = list (code) current/certain line
# n = next (execute one line)
# p [item] = print content of variable, memory location, or register
# q = quit (gdb)
# r = run (program) to breakpoint or end
# return [value] = return from a function without execution
# show [command] = show environment or a certain type/item
# show commands = command history
# show user =  user defines
# !! = rerun last command
# !<integer> = rerun certain command in history
# watch <expression/variable> = watch an expression/variable

# set prompt to bold "(gdb) "
set prompt \033[1m(gdb) \033[0m
set height 36
set listsize 36
set pagination 0

# <Tab> for suggestion/completion...even shows user defines

# on|off
set print array
# on|off
set print pretty

set history filename ~/.gdbhist
# on|off
set history save
# on|off
set history expansion
set history size 256

define clr
  shell clear
end

define pin
  shell printf "\033[%d;%dH" "$arg0" "$arg1"
end
x
-
+

Unicode/UTF-8

<
o
>
Unicode is a character set that assigns unique numbers to every character, while UTF-8 is a specific encoding that translates those Unicode numbers into a variable-length format using one to four bytes.
UTF-8 is widely used for web pages and email because it is backward compatible with ASCII and supports all characters defined in Unicode.

Quick Reference

Character
HTML (hex)
Name
©
&#x00A9;
COPYRIGHT SIGN
...
...
...
°
&#x00B0;
DEGREE SIGN
±
&#x00B1;
PLUS-MINUS SIGN
...
...
...
¼
&#x00BC;
VULGAR FRACTION ONE QUARTER
½
&#x00BD;
VULGAR FRACTION ONE HALF
¾
&#x00BE;
VULGAR FRACTION THREE QUARTERS
...
...
...
™
&#x2122;
TRADE MARK SIGN
...
...
...
⅓
&#x2153;
VULGAR FRACTION ONE THIRD
⅔
&#x2154;
VULGAR FRACTION TWO THIRDS
...
...
...
⅛
&#x215B;
VULGAR FRACTION ONE EIGHTH
⅜
&#x215C;
VULGAR FRACTION THREE EIGHTH
⅝
&#x215D;
VULGAR FRACTION FIVE EIGHTH
⅞
&#x215E;
VULGAR FRACTION SEVEN EIGHTH
...
...
...
Δ
&#x0394;
GREEK CAPITAL LETTER DELTA
...
...
...
Σ
&#x03A3;
GREEK CAPITAL LETTER SIGMA
...
...
...
π
&#x03C0;
GREEK SMALL LETTER PI
...
...
...
←
&#x2190;
LEFTWARDS ARROW
↑
&#x2191;
UPWARDS ARROW
→
&#x2192;
RIGHTWARDS ARROW
↓
&#x2193;
DOWNWARDS ARROW
...
...
...
•
&#x2022;
BULLET
‣
&#x2023;
TRIANGULAR BULLET
...
...
...
∘
&#x2218;
RING OPERATOR
∙
&#x2219;
BULLET OPERATOR
...
...
...
∞
&#x221E;
INFINITY
...
...
...
≈
&#x2248;
ALMOST EQUAL TO
...
...
...
≠
&#x2260;
NOT EQUAL TO
≡
&#x2261;
IDENTICAL TO
...
...
...
≤
&#x2264;
LESS-THAN OR EQUAL TO
≥
&#x2265;
GREATER-THAN OR EQUAL TO
...
...
...
⊕
&#x2295;
CIRCLED PLUS
⊖
&#x2296;
CIRCLED MINUS
⊗
&#x2297;
CIRCLED TIMES
⊘
&#x2298;
CIRCLED DIVISION
⊙
&#x2299;
CIRCLED DOT OPERATOR
...
...
...
⊚
&#x229A;
CIRCLED RING OPERATOR
⊛
&#x229B;
CIRCLED ASTERISK OPERATOR
⊜
&#x229C;
CIRCLED EQUALS
⊝
&#x229D;
CIRCLED DASH
...
...
...
⊲
&#x22B2;
NORMAL SUBGROUP OF
⊳
&#x22B3;
CONTAINS AS NORMAL SUBGROUP
...
...
...
─
&#x2500;
BOX DRAWINGS LIGHT HORIZONTAL
│
&#x2502;
BOX DRAWINGS LIGHT VERTICAL
┌
&#x250C;
BOX DRAWINGS LIGHT DOWN AND RIGHT
┐
&#x2510;
BOX DRAWINGS LIGHT DOWN AND LEFT
└
&#x2514;
BOX DRAWINGS LIGHT UP AND RIGHT
┘
&#x2518;
BOX DRAWINGS LIGHT UP AND LEFT
├
&#x251C;
BOX DRAWINGS LIGHT VERTICAL AND RIGHT
┤
&#x2524;
BOX DRAWINGS LIGHT VERTICAL AND LEFT
┬
&#x252C;
BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
┴
&#x2534;
BOX DRAWINGS LIGHT UP AND HORIZONTAL
┼
&#x253C;
BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
...
...
...
▴
&#x25B4;
BLACK UP-POINTING SMALL TRIANGLE
▸
&#x25B8;
BLACK RIGHT-POINTING SMALL TRIANGLE
▾
&#x25BE;
BLACK DOWN-POINTING SMALL TRIANGLE
◂
&#x25C2;
BLACK LEFT-POINTING SMALL TRIANGLE
...
...
...
♀
&#x2640;
FEMALE SIGN
♂
&#x2642;
MALE SIGN
...
...
...
✓
&#x2713;
CHECK MARK
✔
&#x2714;
HEAVY CHECK MARK
✗
&#x2717;
BALLOT X
✘
&#x2718;
HEAVY BALLOT X
✨
&#x2728;
SPARKLES
...
...
...
✝
&#x271D;
LATIN CROSS
...
...
...
➜
&#x279C;
HEAVY ROUND-TIPPED RIGHTWARDS ARROW
...
...
...
⧇
&#x29C7;
SQUARED SQUARE
⧈
&#x29C8;
TWO JOINED SQUARES
...
...
...
⬅
&#x2B05;
LEFTWARDS BLACK ARROW
⬆
&#x2B06;
UPWARDS BLACK ARROW
⬇
&#x2B07;
DOWNWARDS BLACK ARROW
⬈
&#x2B08;
NORTH EAST BLACK ARROW
⬉
&#x2B09;
NORTH WEST BLACK ARROW
⬊
&#x2B0A;
SOUTH EAST BLACK ARROW
⬋
&#x2B0B;
SOUTH WEST BLACK ARROW
⬌
&#x2B0C;
LEFT RIGHT BLACK ARROW
⬍
&#x2B0D;
UP DOWN BLACK ARROW
...
...
...
⮜
&#x2B9C;
BLACK LEFTWARDS EQUILATERAL ARROWHEAD
⮝
&#x2B9D;
BLACK UPWARDS EQUILATERAL ARROWHEAD
⮞
&#x2B9E;
BLACK RIGHTWARDS EQUILATERAL ARROWHEAD
⮟
&#x2B9F;
BLACK DOWNWARDS EQUILATERAL ARROWHEAD
...
...
...
⯅
&#x2BC5;
BLACK MEDIUM UP-POINTING TRIANGLE CENTRED
⯆
&#x2BC6;
BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED
⯇
&#x2BC7;
BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED
⯈
&#x2BC8;
BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
...
...
...
㉑
&#x3251;
CIRCLED NUMBER TWENTY ONE
...
...
...
🌎
&#x1F30E;
EARTH GLOBE AMERICAS
🌐
&#x1F310;
GLOBE WITH MERIDIANS
...
...
...
🌑
&#x1F311;
NEW MOON SYMBOL
🌒
&#x1F312;
WAXING CRESCENT MOON SYMBOL
🌓
&#x1F313;
FIRST QUARTER MOON SYMBOL
🌔
&#x1F314;
WAXING GIBBOUS MOON SYMBOL
🌕
&#x1F315;
FULL MOON SYMBOL
🌖
&#x1F316;
WANING GIBBOUS MOON SYMBOL
🌗
&#x1F317;
LAST QUARTER MOON SYMBOL
🌘
&#x1F318;
WANING CRESCENT MOON SYMBOL
🌙
&#x1F319;
CRESCENT MOON
...
...
...
🍽
&#x1F37D;
FORK AND KNIFE WITH PLATE
🎃
&#x1F383;
JACK-O-LANTERN
🎉
&#x1F389;
PARTY POPPER
🎨
&#x1F3A8;
ARTIST PALETTE
🎲
&#x1F3B2;
GAME DIE
🏁
&#x1F3C1;
CHEQUERED FLAG
🏈
&#x1F3C8;
AMERICAN FOOTBALL
🏋
&#x1F3CB;
WEIGHT LIFTER
🐞
&#x1F41E;
LADY BEETLE
🐴
&#x1F434;
HORSE FACE
👀
&#x1F440;
EYES
...
...
...
👆
&#x1F446;
WHITE UP POINTING BACKHAND INDEX
👇
&#x1F447;
WHITE DOWN POINTING BACKHAND INDEX
👈
&#x1F448;
WHITE LEFT POINTING BACKHAND INDEX
👉
&#x1F449;
WHITE RIGHT POINTING BACKHAND INDEX
...
...
...
👊
&#x1F44A;
FISTED HAND SIGN
👋
&#x1F44B;
WAVING HAND SIGN
👌
&#x1F44C;
OK HAND SIGN
👍
&#x1F44D;
THUMBS UP SIGN
👎
&#x1F44E;
THUMBS DOWN SIGN
...
...
...
👻
&#x1F47B;
GHOST
👽
&#x1F47D;
EXTRATERRESTRIAL ALIEN
💀
&#x1F480;
SKULL
💎
&#x1F48E;
GEM STONE
...
...
...
💡
&#x1F4A1;
ELECTRIC LIGHT BULB
...
...
...
💨
&#x1F4A8;
DASH SYMBOL
...
...
...
💻
&#x1F4BB;
PERSONAL COMPUTER
💾
&#x1F4BE;
FLOPPY DISK
📁
&#x1F4C1;
FILE FOLDER
📂
&#x1F4C2;
OPEN FILE FOLDER
📄
&#x1F4C4;
PAGE FACING UP
📆
&#x1F4C6;
TEAR-OFF CALENDAR
📈
&#x1F4D8;
CHART WITH UPWARDS TREND
📉
&#x1F4D9;
CHART WITH DOWNWARDS TREND
📞
&#x1F4DE;
TELEPHONE RECEIVER
📣
&#x1F4E3;
CHEERING MEGAPHONE
📦
&#x1F4E6;
PACKAGE
📻
&#x1F4FB;
RADIO
🔄
&#x1F504;
ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
🔈
&#x1F508;
SPEAKER
🔋
&#x1F50B;
BATTERY
🔍
&#x1F50D;
LEFT-POINTING MAGNIFYING GLASS
🔎
&#x1F50E;
RIGHT-POINTING MAGNIFYING GLASS
...
...
...
🕐
&#x1F550;
CLOCK FACE ONE OCLOCK
🕒
&#x1F552;
CLOCK FACE THREE O’CLOCK
🖼
&#x1F5BC;
FRAME WITH PICTURE
...
...
...
🗑
&#x1F5D1;
WASTEBASKET
🗺
&#x1F5FA;
WORLD MAP
...
...
...
😄
&#x1F604;
SMILING FACE WITH OPEN MOUTH AND SMILING EYES
😉
&#x1F609;
WINKING FACE
😋
&#x1F60B;
FACE SAVOURING DELICIOUS FOOD
😜
&#x1F61C;
FACE WITH STUCK-OUT TONGUE AND WINKING EYE
😮
&#x1F62E;
FACE WITH OPEN MOUTH
😴
&#x1F634;
SLEEPING FACE
🙁
&#x1F641;
SLIGHTLY FROWNING FACE
🙂
&#x1F642;
SLIGHTLY SMILING FACE
...
...
...
🚀
&#x1F680;
ROCKET
🚜
&#x1F69C;
TRACTOR
🚩
&#x1F6A9;
TRIANGULAR FLAG ON POST
🚫
&#x1F6AB;
NO ENTRY SIGN
...
...
...
🚴
&#x1F6B4;
BICYCLIST
...
...
...
🛆
&#x1F6C6;
TRIANGLE WITH ROUNDED CORNERS
🛇
&#x1F6C7;
PROHIBITED SIGN
🛈
&#x1F6C8;
CIRCLED INFORMATION SOURCE
🛋
&#x1F6CB;
COUCH AND LAMP
...
...
...
🛠
&#x1F6E0;
HAMMER AND WRENCH
...
...
...
🤐
&#x1F910;
ZIPPER-MOUTH FACE
🤫
&#x1F92B;
SHUSHING FACE
...
...
...
🦃
&#x1F983;
TURKEY
🦆
&#x1F986;
DUCK
🦊
&#x1F98A;
FOX FACE
...
...
...
🧠
&#x1F9E0;
BRAIN
🧹
&#x1F9F9;
BROOM
🧻
&#x1F9FB;
ROLL OF PAPER
🧼
&#x1F9FC;
BAR OF SOAP

Links

List of Unicode characters
Unicode characters table (RapidTables)
Unicode - Compart
UnicodePlus - Search for Unicode characters
Windows Alt Codes for Special Characters, Signs & Symbols
Character Sets
Complete Character List for UTF-8
Full Emoji List, v17.0
UTF-8
ASCII table - Table of ASCII codes, characters and symbols
Online Text Tools and Text Generator - MadeInText.com

UnicodeData.txt
x
-
+

3D Models/Prints

<
o
>
General
All About 3D Printing & Additive Manufacturing | All3DP
American-Made 3D Printers, 20+ Leading U.S. Brands | All3DP Pro

Glossary
  • elephant foot = when the first layer is a little bit bigger than the rest of the layers, often accompanied by a slight bulge towards the bottom
  • tramming = leveling/squaring

Info/Wiki
3D printing
Fused filament fabrication
List of 3D printer manufacturers
3D printing processes
Polylactic acid

Models
yeggi - 3D Printer Models Search Engine
STLFinder - The 3d models search engine

3D models database | Printables.com (Prusa)
MakerWorld: Download Free 3D Printing Models (Bambu)
Thingiverse - Digital Designs for Physical Objects
Cults • Download free 3D printer models • STL, OBJ, 3MF, CAD
Popular models for 3D enthusiasts | Free Downloads | Thangs
3D Models for Free - Free3D.com
Discover STL files for 3D printing ideas and high-quality 3D printer models. | MyMiniFactory
CGTrader - 3D Models for VR / AR and CG projects

Slicing
Slicing programs: Cura, Bambu, Prusa, Orca, etc

    Cura (settings)
  • Wall Line Count: 3
  • Wall Ordering: Outside To Inside
  • Initial Layer Horizontal Expansion: 0.3
  • Z Seam On Vertex: ✔
  • Monotonic Top/Bottom Order: ✔
  • Infill Density: 20.0
  • Infill Pattern: Cubic
  • Initial Layer Speed: 10.0
  • Build Plate Adhesion Type: None
  • Use Adaptive Layers: ✔
  • Scarf Seam Length: 1.0

Modeling
3D Design - Tinkercad

Articles
The Best Food-Safe 3D Printer Filaments | All3DP

Videos
How to 3D Print Nothing in Cura - Useful Slicer tip
Per-Model and Partial-Model Settings in Cura: The Easy Way!
I Wish I Knew THIS About 3D Printing 3 Years Ago

Tips/Tricks
Always do a "Preview" before starting a print
Set the first layers to a slower speed so it has a better chance of creating a good base layer
Always watch the start of the first few layers...cancel, fix, and restart print
Use the first few layers to clean your bed, cancel, remove, and restart print
Z Seam...use "Scarf Seam Length" and "Z Seam On Vertex"
Cubic is a great universal infill
Move your plate some to get a better footprint area

Prints
Favorites: nuclear tower, pallet, double threaded bolt
Useful: phone/pad stands, coin holders, money clip, clamps
Hardest: gears and threads
x
-
+

Telecommunications

<
o
>

Telephone

The root "tele" traces its origins to the ancient Greek word τῆλε (tēle), meaning "far" or "distant." It first emerged in classical literature, describing geographic distances. With the technological advancements of the 19th and 20th centuries, "Tele" gained new life, becoming a cornerstone in terms such as "telegraph" and "television." These inventions redefined human communication and access to information.

The root "phon" originates from the Greek word phōnē, meaning "voice" or "sound." Ancient Greek philosophers used it to describe both spoken words and musical tones. Over time, phon traveled through Latin and into English, appearing in words related to sound, speech, and communication. Technological advances in the 19th and 20th centuries, such as the phonograph, brought new prominence to this root.


History

Invention of the telephone
Telephone Company Histories | The Telecommunications History Group, Inc.
Telecommunications History Timeline | The Telecommunications History Group, Inc.
Bell System Memorial Home Page

Glossary

Automatic Voice Network (AUTOVON)
Bell System (Ma Bell)
Business telephone system...key telephone system (KTS) to the private branch exchange (PBX)
Competitive local exchange carrier (CLEC)
Common Language Location Identification (CLLI)
Defense Switched Network (DSN)
Direct distance dialing (DDD)
DTMF signaling (DTMF)
Incumbent local exchange carrier (ILEC)
Landline
List of North American Numbering Plan area codes (NANP)
Local exchange carrier (LEC)
Metropolitan area network (MAN)
Multi-frequency network (MFN)
Phreaking
Plain old telephone service (POTS)
Public switched telephone network (PSTN)
(RBOC)
Telecommunications (telecom)
Telemetry
Telephone (Phone)
Telephone exchange, telephone switch, or central office (CO)
Telephone numbering plan, area code, (NPA)

Players

List of United States telephone companies
Almon Brown Strowger (Born: February 11, 1839)
Alexander Graham Bell (Born: March 3, 1847)
Cincinnati Bell (1873)
Bell System (1877)
Verizon New York (1896)
Bellcore (1983)
Southwestern Bell (1882)
Hawaiian Telcom (1883)
AT&T Corporation (March 3, 1885)
Sprint Corporation (December 21, 1899)
Pacific Bell (1906)
Lumen Technologies (1930)
GTE (1934)
Frontier Communications (1935)
Pacific Telecom (July 5, 1955)
Cox Communications (February 1962)
Comcast (June 28, 1963)
Ziply Fiber (1964)
ROLM (1969)
MCI Inc (1983)
US West (1983)
Verizon (October 7, 1983)
Pacific Telesis (December 31, 1983)
BellSouth (December 31, 1983)
Ameritech (1983)
NYNEX (January 1, 1984)
Charter Communications (1993)
Crown Castle (1994)
Qwest (1996)
Embarq (May 17, 2006)
Telecommunications company
List of telecommunications companies
List of mobile network operators

Manufacturers

Western Electric (AT&T Technologies, Lucent Technologies, Alcatel-Lucent, Nokia)
Automatic Electric (GTE, Nokia)
Nortel
Lucent Technologies

Hardware

Transmission Medium Bandwidth Range Notes
Twisted Pair (Copper) Up to 10 Gbps (Cat6/Cat7) ~100 m Common for Ethernet LANs and DSL. Susceptible to EMI. Cat5e: 1 Gbps, Cat7: up to 40 Gbps.
Coaxial Cable Up to 1 Gbps ~500 m–1 km Used for cable TV and broadband. Less EMI than twisted pair, higher attenuation than fiber.
Fiber Optics (FiOS) 10–100+ Gbps 550 m–100 km Fiber Optic Service. High bandwidth, low loss, EMI-immune. Ideal for long-distance backbones and FTTH.
Trunk Lines (Core Interconnect) 100+ Gbps (OC-192/SND) Inter-Exchange (IXC) High-capacity communication channels connecting central switching offices, tandems, and major network hubs.
Radio Waves (Wi-Fi) Up to 9.6–46 Gbps (Wi-Fi 6/7) 50–300 m Wireless Fidelity. Short-range local data networks operating across unregulated 2.4/5/6 GHz spectrum architectures.
Radio Waves (Cellular) 2 Mbps–1 Gbps (3G/5G) 1–10 km (per cell) Varies by generation (3G: ~2 Mbps, 5G: up to 1 Gbps). Cell-based, depends on tower proximity.
Microwave (Terrestrial) 100–400 Mbps (up to 1 Gbps) 50–100 km (LOS) Line-of-sight required. Used for point-to-point links (e.g., AT&T Long Lines legacy towers). Weather-sensitive.
Microwave (Satellite) 1 Mbps–1 Gbps Global (via orbits) High latency (20–600 ms) due to distance (e.g., GEO at ~35,786 km). Suitable for remote areas.
Free-Space Optical / Li-Fi Up to 200 Gbps ~1–2 km / Indoor Short-Range Light Fidelity & FSO. Employs visible/infrared light spectrums. Ultra-high security, zero RF emission, line-of-sight.
Copper
Twisted pair
Modular connector
Registered jack
Integrated Services Digital Network (ISDN)
Digital subscriber line (DSL)
Microwave
Long Lines Map and Information
Optical fiber
Satellite
Fiber to the x (FTTX)
Kellogg Switchboard and Supply Company (Cortelco, ITT, etc)
Strowger switch
Panel switch
Crossbar switch
Rotary dial
DTMF signaling
Blue box
Class-4 telephone switch
Class-5 telephone switch
Model 302 telephone
Model 500 telephone
DynaTAC was the first commercially available handheld cellular phone.
IBM Simon has retrospectively been referred to as the first true smartphone.

Fun Phone Facts

  1. Alexander Graham Bell invented the telephone in 1876.
  2. The first words spoken on the telephone were “Mr. Watson, come here, I want to see you.”
  3. Bell’s initial goal was to improve telegraph technology, not invent the telephone.
  4. Bell’s patent for the telephone was one of the most valuable ever issued.
  5. Elisha Gray filed a patent for a similar device on the same day as Bell, leading to controversy over who actually invented the telephone.
  6. Bell’s invention was initially seen as a novelty and not taken seriously as a means of communication.
  7. The first transcontinental phone call was made in 1915 between New York and San Francisco.
  8. The first long-distance phone call was made in 1884 between Boston and New York.
  9. The first commercial telephone exchange opened in New Haven, Connecticut in 1878.
  10. The first telephones were leased to customers, not sold to them.
  11. The first rotary dial phones were introduced in the 1890s.
  12. The first public pay phone was installed in 1889 in Hartford, Connecticut.
  13. The first cell phone was invented in 1973 by Motorola.
  14. The first text message was sent in 1992.
  15. The first iPhone was released in 2007.
  16. The first telegraph message was sent in 1844.
  17. Bell’s mother and wife were both deaf, which inspired him to work on ways to transmit sound.
  18. Bell’s first job was teaching speech to deaf people.
  19. Bell was not the only person working on the development of the telephone at the time.
  20. The first telephones were not capable of transmitting voice and had to be used with a telegraph operator.
  21. The first telephones used a battery-powered microphone and a hand-cranked generator to create a current that transmitted the signal.
  22. Bell’s invention of the telephone was part of a larger effort to create a “harmonic telegraph” that could transmit multiple messages at once.
  23. Bell’s telephone was originally called the “harmonic telegraph” or “speaking telegraph.”
  24. Bell’s first telephone call was made to his assistant, Thomas Watson, who was in the same room as him.
  25. Bell and Watson could hear each other through a liquid transmitter, which used a mixture of acid and water.
  26. The first commercial telephone lines were installed in Boston in 1877.
  27. The first telephone directory was published in New Haven, Connecticut in 1878.
  28. The first telephone switchboard was operated by teenage girls, who were seen as more patient and reliable than men.
  29. The first telephone operators were required to have a pleasant voice and good diction.
  30. The first overseas telephone call was made in 1927 between New York and London.
  31. The first telephone answering machine was invented in 1898 by Valdemar Poulsen.
  32. The first telephone booth was introduced in 1889 by the Privatdozent Wilhelm II in Germany.
  33. The first cordless telephone was invented in 1965 by Bell Labs.
  34. The first car phone was introduced in 1946.
  35. The first satellite phone was introduced in 1979.
  36. The first videophone was introduced in 1936.
  37. The first speakerphone was invented in 1964 by Bell Labs.
  38. The first telephone system that allowed three-way calling was introduced in 1960.
  39. The first teleconferencing system was introduced in 1964.
  40. The first telephone switchboard was patented in 1891 by Almon B. Strowger.
  41. The first telephone pole was erected in Boston in 1878.
  42. The first underwater telephone cable was laid in 1850 between Dover, England, and Calais, France.
  43. The first telephone company was the Bell Telephone Company, which was established in 1877.
  44. The first telephone book was published in New Haven, Connecticut in 1878 and contained only 50 names.
  45. The first telephone in a private home was installed in 1877 in Boston.
  46. The first telephone call between the White House and the Kremlin was made in 1963.
  47. The first commercial cell phone network was launched in 1983 by Ameritech in Chicago.
  48. The first telephone signal to be transmitted through a fiber optic cable was in 1977.
  49. The first public demonstration of the telephone was in 1876 at the Centennial Exposition in Philadelphia.
  50. The telephone has revolutionized communication and remains an essential tool in modern society.
 – 50 Telephone Invention Fun Facts, Mental Bomb, https://mentalbomb.com

Baby Bells and Beyond

Baby Bells After Divestiture
  • AT&T agreed to divest its local exchange service operating companies, effective January 1, 1984.
  • Regional Bell Operating Company (RBOC...Baby Bells)
    • Pacific Telesis
    • US West
    • Southwestern Bell
    • Ameritech
    • NYNEX
    • Bell Atlantic
    • BellSouth

AT&T Break/Merge

"Bell System Hierarchy" pane

"Copper Carriers" pane

Bell System Map

THE BELL SYSTEM AS OF MAY, 1977


Public Switched Telephone Network

Original Class 1 Regional Centers

33 Thomas Street (also known as the AT&T Long Lines Building) is a 550-foot-tall (170 m) windowless skyscraper in the Tribeca neighborhood of Lower Manhattan in New York City, New York, United States.
32 Avenue of the Americas (also known as the AT&T Long Lines Building, AT&T Building, or 32 Sixth Avenue) is a 27-story, 549-foot-tall (167 m) telecommunications building in the Tribeca neighborhood of Manhattan in New York City.

11 states with only one area code (2025)

  • Alaska - 907
  • Delaware - 302
  • Hawaii - 808
  • Maine - 207
  • Montana - 406
  • North Dakota - 701
  • New Hampshire - 603
  • Rhode Island - 401
  • South Dakota - 605
  • Vermont - 802
  • Wyoming - 307

Personal Central Offices

  • 22310 SW Pine St, Sherwood, OR 97140 (45.358077, -122.842117) Google OpenStreetMap
  • 33 W 5th St, Tempe, AZ 85281 (33.425150, -111.940921) Google OpenStreetMap
  • 215 E Indian School Rd, Phoenix, AZ 85012 (33.494329, -112.070790) Google OpenStreetMap
  • 13910 SW Barrows Rd, Beaverton, OR 97007 (45.437222, -122.819534) Google OpenStreetMap

Central Office BGs


List of North American Numbering Plan area codes (Assignment actions by year)

Original North American area codes (Numbering plan areas)

Original 86 area codes (1947)

Real Estate

32 Avenue of the Americas
Bell Laboratories Building
Barclay–Vesey Building
33 Thomas Street

Making Calls

Telephone exchange names
National conventions for writing telephone numbers (North America)
N11 code (abbreviated dialing)
List of telephone country codes (map)
International Telecommunication Union (assigns country calling codes)
International direct dialing (IDD)
List of country codes, international and national prefixes
Country Codes...
Area code list by number and location

Trivia

• You used to be able to call your own landline
• You used to be able to text your own cell phone

Museums

The Telecommunications History Group, Inc.

Logos

Bell System Logo Bell System, AT&T, Assoc. Bell System, Local and Long Distance Telephone Bell System, Public Phone GENERAL SYSTEM GTE Logo

Mobile Phone Generations

Generation Name Technology Key Features Max Speed Launch Year
0G Pre-cellular Analog radio Car-based voice-only systems ~2.4 kbps 1946
1G First Generation Analog (AMPS, NMT, TACS) Voice calls only, poor quality ~2.4 kbps 1979
2G Second Generation GSM, CDMA, TDMA Digital voice, SMS, basic data ~64 kbps 1991
2.5G GPRS Packet-switched GSM MMS, email, basic internet ~115 kbps 2000
2.75G EDGE Enhanced GPRS Faster data, multimedia messaging ~384 kbps 2003
3G UMTS, CDMA2000 WCDMA, EV-DO Mobile internet, video calls ~2 Mbps 2001
3.5G HSPA HSDPA, HSUPA Improved mobile broadband ~14.4 Mbps 2006
3.75G HSPA+ Enhanced HSPA Higher data rates ~42 Mbps 2008
3.95G LTE (Pre-4G) OFDMA High-speed data, IP-based services ~100 Mbps 2009
4G LTE Advanced OFDMA, MIMO HD streaming, VoLTE, gaming ~1 Gbps 2011
4.5G LTE Advanced Pro Carrier aggregation Enhanced LTE, IoT support ~3 Gbps 2015
5G NR (New Radio) mmWave, Massive MIMO Ultra-low latency, IoT, smart cities ~10 Gbps 2018
6G (Future) TBD THz bands, AI integration Holographic calls, real-time digital twins ~100 Gbps (expected) ~2030 (est.)

Videos

AT&T: The Company Behind the Telephone
Rotary Phones: the Call of History
AT&T’s UNIX PC Failure
Exploring the cold-war phone system designed to survive a nuclear attack
The Most Secret Building in Manhattan
Why Phone Numbers Look the Way They Do
How did every country agree to be numbered?
AT&T: The Company Behind the Telephone

Links

Telephone World: A hobby website dedicated to the Telephone.
Long Lines Map and Information - Home
Telephone Switches | Professor Mark Csele
Switches, Switchboards, and Central Offices
TELEPHONE CENTRAL OFFICES
Bell Labs Technical Journal
IEEE Xplore: The Bell System Technical Journal
IEEE Xplore: AT&T Bell Laboratories Technical Journal
IEEE Xplore: Bell Labs Technical Journal
The 1983 breakup of the Bell System: Here’s how it turned out
x
-
+

Neighbors Southwest Hikes

<
o
>
Ascension; 3.70 miles; Details Ascension; 3.70 miles; Map Ascension; 3.70 miles; Speed Ascension; 3.70 miles; Elevation Ascension; 3.70 miles; Cadence Ascension; 3.70 miles; Heart rate Ascension; 3.70 miles; Splits
Murrayhill; 3.73 miles; Details Murrayhill; 3.73 miles; Map Murrayhill; 3.73 miles; Speed Murrayhill; 3.73 miles; Elevation Murrayhill; 3.73 miles; Cadence Murrayhill; 3.73 miles; Heart rate Murrayhill; 3.73 miles; Splits
Summer Lake; 4.11 miles; Details Summer Lake; 4.11 miles; Map Summer Lake; 4.11 miles; Speed Summer Lake; 4.11 miles; Elevation Summer Lake; 4.11 miles; Cadence Summer Lake; 4.11 miles; Heart rate Summer Lake; 4.11 miles; Splits
Barrows; 4.00 miles; Details Barrows; 4.00 miles; Map Barrows; 4.00 miles; Speed Barrows; 4.00 miles; Elevation Barrows; 4.00 miles; Cadence Barrows; 4.00 miles; Heart rate Barrows; 4.00 miles; Splits
Figure Eight; 3.21 miles; Details Figure Eight; 3.21 miles; Map Figure Eight; 3.21 miles; Speed Figure Eight; 3.21 miles; Elevation Figure Eight; 3.21 miles; Cadence Figure Eight; 3.21 miles; Heart rate Figure Eight; 3.21 miles; Splits
Avocet; 4.31 miles; Details Avocet; 4.31 miles; Map Avocet; 4.31 miles; Speed Avocet; 4.31 miles; Elevation Avocet; 4.31 miles; Cadence Avocet; 4.31 miles; Heart rate Avocet; 4.31 miles; Splits
Walnut; 3.53 miles; Details Walnut; 3.53 miles; Map Walnut; 3.53 miles; Speed Walnut; 3.53 miles; Elevation Walnut; 3.53 miles; Cadence Walnut; 3.53 miles; Heart rate Walnut; 3.53 miles; Splits
Mourning Dove; 5.27 miles; Details Mourning Dove; 5.27 miles; Map Mourning Dove; 5.27 miles; Speed Mourning Dove; 5.27 miles; Elevation Mourning Dove; 5.27 miles; Cadence Mourning Dove; 5.27 miles; Heart rate Mourning Dove; 5.27 miles; Splits
Faris Lake; 5.27 miles; Details Faris Lake; 5.27 miles; Map Faris Lake; 5.27 miles; Speed Faris Lake; 5.27 miles; Elevation Faris Lake; 5.27 miles; Cadence Faris Lake; 5.27 miles; Heart rate Faris Lake; 5.27 miles; Splits
Long Haul (Mt Adams); 6.29 miles; Details Long Haul (Mt Adams); 6.29 miles; Map Long Haul (Mt Adams); 6.29 miles; Speed Long Haul (Mt Adams); 6.29 miles; Elevation Long Haul (Mt Adams); 6.29 miles; Cadence Long Haul (Mt Adams); 6.29 miles; Heart rate Long Haul (Mt Adams); 6.29 miles; Splits
Cooper Mountain; 4.49 miles; Details Cooper Mountain; 4.49 miles; Map Cooper Mountain; 4.49 miles; Speed Cooper Mountain; 4.49 miles; Elevation Cooper Mountain; 4.49 miles; Cadence Cooper Mountain; 4.49 miles; Heart rate Cooper Mountain; 4.49 miles; Splits
Quick Trip (hidden trail); 3.13 miles; Details Quick Trip (hidden trail); 3.13 miles; Map Quick Trip (hidden trail); 3.13 miles; Speed Quick Trip (hidden trail); 3.13 miles; Elevation Quick Trip (hidden trail); 3.13 miles; Cadence Quick Trip (hidden trail); 3.13 miles; Heart rate Quick Trip (hidden trail); 3.13 miles; Splits
Sanderling & Shearwater; 4.27 miles; Details Sanderling & Shearwater; 4.27 miles; Map Sanderling & Shearwater; 4.27 miles; Speed Sanderling & Shearwater; 4.27 miles; Elevation Sanderling & Shearwater; 4.27 miles; Cadence Sanderling & Shearwater; 4.27 miles; Heart rate Sanderling & Shearwater; 4.27 miles; Splits
Roshak/Baker; 4.31 miles; Details Roshak/Baker; 4.31 miles; Map Roshak/Baker; 4.31 miles; Speed Roshak/Baker; 4.31 miles; Elevation Roshak/Baker; 4.31 miles; Cadence Roshak/Baker; 4.31 miles; Heart rate Roshak/Baker; 4.31 miles; Splits
Benchview/Greenfield; 3.90 miles; Details Benchview/Greenfield; 3.90 miles; Map Benchview/Greenfield; 3.90 miles; Speed Benchview/Greenfield; 3.90 miles; Elevation Benchview/Greenfield; 3.90 miles; Cadence Benchview/Greenfield; 3.90 miles; Heart rate Benchview/Greenfield; 3.90 miles; Splits
Turtledove; 4.34 miles; Details Turtledove; 4.34 miles; Map Turtledove; 4.34 miles; Speed Turtledove; 4.34 miles; Elevation Turtledove; 4.34 miles; Cadence Turtledove; 4.34 miles; Heart rate Turtledove; 4.34 miles; Splits
Mint/Menlor; 4.18 miles; Details Mint/Menlor; 4.18 miles; Map Mint/Menlor; 4.18 miles; Speed Mint/Menlor; 4.18 miles; Elevation Mint/Menlor; 4.18 miles; Cadence Mint/Menlor; 4.18 miles; Heart rate Mint/Menlor; 4.18 miles; Splits
Sunshine/Sunrise; 5.07 miles; Details Sunshine/Sunrise; 5.07 miles; Map Sunshine/Sunrise; 5.07 miles; Speed Sunshine/Sunrise; 5.07 miles; Elevation Sunshine/Sunrise; 5.07 miles; Cadence Sunshine/Sunrise; 5.07 miles; Heart rate Sunshine/Sunrise; 5.07 miles; Splits
Pumphouse; 4.52 miles; Details Pumphouse; 4.52 miles; Map Pumphouse; 4.52 miles; Speed Pumphouse; 4.52 miles; Elevation Pumphouse; 4.52 miles; Cadence Pumphouse; 4.52 miles; Heart rate Pumphouse; 4.52 miles; Splits
Weir/Murray; 4.43 miles; Details Weir/Murray; 4.43 miles; Map Weir/Murray; 4.43 miles; Speed Weir/Murray; 4.43 miles; Elevation Weir/Murray; 4.43 miles; Cadence Weir/Murray; 4.43 miles; Heart rate Weir/Murray; 4.43 miles; Splits
Nora/Weir; 5.24 miles; Details Nora/Weir; 5.24 miles; Map Nora/Weir; 5.24 miles; Speed Nora/Weir; 5.24 miles; Elevation Nora/Weir; 5.24 miles; Cadence Nora/Weir; 5.24 miles; Heart rate Nora/Weir; 5.24 miles; Splits
Americas; 4.16 miles; Details Americas; 4.16 miles; Map Americas; 4.16 miles; Speed Americas; 4.16 miles; Elevation Americas; 4.16 miles; Cadence Americas; 4.16 miles; Heart rate Americas; 4.16 miles; Splits
Hillshire; 3.99 miles; Details Hillshire; 3.99 miles; Map Hillshire; 3.99 miles; Speed Hillshire; 3.99 miles; Elevation Hillshire; 3.99 miles; Cadence Hillshire; 3.99 miles; Heart rate Hillshire; 3.99 miles; Splits
Zig Zag; 5.27 miles; Details Zig Zag; 5.27 miles; Map Zig Zag; 5.27 miles; Speed Zig Zag; 5.27 miles; Elevation Zig Zag; 5.27 miles; Cadence Zig Zag; 5.27 miles; Heart rate Zig Zag; 5.27 miles; Splits
x
-
+

Tesla

<
o
>
Ohm's Law
Ohm's law
Ohms Law Calculator

What are Volts? Amps? Ohms? Watts? - YouTube
Electricity - Basic Introduction - YouTube

Electricity
Electric current

Volts = Pressure
Amps = Strength
Ohms = Impedance
Watts = Energy

Capacitor
x
-
+

Neighbors Southwest

<
o
>
Here are some interesting facts about Neighbors Southwest, a popular neighborhood in southwest Beaverton
  1. Modern, Master-Planned Community
    • Developed primarily in the late 1990s and early 2000s, most homes date from around 2002, featuring Craftsman and Colonial Revival architecture alongside townhouses and condos.
    • Streets are thoughtfully laid out: winding roads, cul-de-sacs, and plenty of sidewalks create a safe, quiet, and walkable environment.

  2. High Median Home Price & Impressive Growth
    • The median sale price is about $674K, a 50% increase year-over-year (as of Feb 2025), reflecting strong appreciation.
    • Homes typically sell in around 50 days, signaling a somewhat competitive housing market.

  3. Affluent, Well-Educated Community
    • Residents are often wealthy, highly educated professionals; about 73% hold bachelor's degrees―a rate significantly above national averages.
    • Median household income is approximately $113K-$120K, placing residents in the top 15% nationally.

  4. Walkable, Scenic Outdoor Spaces
    • The neighborhood is interwoven with a six-mile Westside Regional Trail, connecting Barrows Park to central Beaverton―great for biking and walking.
    • Parks like Barrows Park, Murrayhill Park, and Progress Lake Park offer playgrounds, walking trails, fishing, tennis courts, and wetlands.

  5. Vibrant Local Dining & Gatherings
    • Ava Roasteria is a cozy local café overlooking Progress Quarry Lake and popular for house-roasted coffee and pastries.
    • Regional favorites include Cafe Murrayhill, The Ridge Woodfired Pizza & Pub, Casa Lola, and Vinotopia, offering brunch, authentic Mexican dishes, wood-fired pizza, and wine-and-movie experiences.

  6. Shopping Nearby
    • Convenient retail hubs include Progress Ridge Townsquare, Murrayhill Marketplace, and Murray Scholls Town Center, with grocery options like New Seasons and Safeway.
    • Progress Ridge also features entertainment venues like AMC theaters and a vintage arcade.

  7. Top-Rated Schools
    • Excellent public schools serve the area―Scholls Heights Elementary and Nancy Ryles Elementary boast around 71% proficiency in math and reading, well above state averages.
    • Other local schools include Conestoga Middle and Mountainside High, all within the Beaverton School District.

  8. Good Connectivity (With a Car Bias)
    • While walkability is moderate (Walk Score ~54/100), the area is designed for cars, with easy highway access and free parking.
    • Public transit is available via TriMet bus routes on Scholls Ferry Road, and the Westside Express Service (WES) commuter rail provides access to Tigard, Tualatin, and Wilsonville.

  9. Cultural Diversity & Unique Demographics
    • The neighborhood is notably ethnically diverse: about 17% Asian, with significant Iranian (3.3%) and Lebanese (1.9%) populations. Around 2.7% speak Persian at home―far above U.S. averages.
    • Roughly 19.5% are foreign-born, adding to its multicultural character.

  10. Active & Engaged Community Events
    • The neighborhood hosts a variety of community events, including movie nights, a Fourth of July parade, and an annual Easter egg hunt.
    • Residents are represented by the Neighbors Southwest NAC and the Murrayhill Owners' Association, which organize local initiatives.

Summary: Neighbors Southwest is a modern, family-oriented neighborhood―a blend of suburban comfort, green spaces, and connectivity.
With top-notch schools, diverse residents, and community-focused amenities, it's a standout suburb in the Beaverton area.
  • Beaverton, Oregon - Wikipedia → Neighborhoods
  • Neighborhoods of Portland, Oregon
x
-
+

Random String(s)

<
o
>
x
-
+

Travel Packing (checklist)

<
o
>
Leave all knifes and liquids 3.4oz (100 mL) or more behind!

Finish me!
x
-
+

Generations (people)

<
o
>
  • Civil War Generation: Born 1845–1864
  • Gilded Age Generation: Born 1865–1882
  • Lost Generation (Progressive Era Gen) : Born 1883–1900
  • Greatest Generation (G.I. Gen): Born 1901–1927
  • Silent Generation: Born 1928–1945
  • Baby Boomers: Born 1946–1964
  • Generation X: Born 1965–1980
  • Millennials (Gen Y): Born 1981–1996
  • Generation Z (Zoomers): Born 1997–2012
  • Generation Alpha: Born 2013–2024
  • Generation Beta: Born 2025–2039

List of social generations

The Psychology Of Gen X (Raised Without Applause) - YouTube
People From Gen X Share These 7 Hidden Strengths - YouTube
x
-
+

Chuck Norris Jokes

<
o
>
x
-
+

Companies, Car

<
o
>
Companies, Car (image)
x
-
+

Linux Setup

<
o
>
  • apt update
  • apt upgrade
  • reboot
  • git clone https://github.com/dylanaraps/neofetch.git# system info script w/distro logo
  • apt install binutils# GNU assembler, linker and binary utilities
  • apt install build-essential# Informational list of build-essential packages
  • apt install net-tools# NET-3 networking toolkit
  • apt install stress# tool to impose load on and stress test a computer system
  • apt install htop# interactive processes viewer
  • apt install tree# list contents of directories in a tree-like format
  • apt install wget# non-interactive network downloader
  • apt install traceroute# Traces the route taken by packets over an IPv4/IPv6 network
  • apt install nfs-common# NFS support files common to client and server
  • apt install cpulimit# tool for limiting the CPU usage of a proces
  • apt install exif# command-line utility to show EXIF information in JPEG files
  • apt install eog# Eye of GNOME graphics viewer program
  • apt install kdeconnect# connect to your cell phone
  • apt install imagemagick# image manipulation programs -- binaries
  • apt install gimp# GNU Image Manipulation Program
  • apt install mutt# The Mutt Mail User Agent
  • https://librewolf.net/installation/linux/# LibreWolf flatpak and AppImage
  • apt install flatpak# Build, install run applications and runtimes
  • flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo; flatpak install flathub io.gitlab.librewolf-community; flatpak run io.gitlab.librewolf-community# free and open-source fork of Firefox, with an emphasis on privacy and security.
  • flatpak install flathub org.remmina.Remmina# flatpak run org.remmina.Remmina
  • flatpak install flathub org.blender.Blender# flatpak run org.blender.Blender
  • cura# https://ultimaker.com/software/ultimaker-cura/#downloads) -> "Linux (.AppImage)"
  • vlc
  • apt install playerctl# control media players via MPRIS
  • apt install chromium# browser that needs improvement
  • opera
  • tor
x
-
+

Information Technology Disciplines

<
o
>
  1. Computer Networking
    • Focus: Design, implementation, and management of data communication systems.
    • Topics: LAN/WAN, Internet protocols (TCP/IP), network security, routers/switches, wireless communication.

  2. Cybersecurity / Information Security
    • Focus: Protecting systems, networks, and data from cyber threats.
    • Topics: Firewalls, encryption, intrusion detection, ethical hacking, risk management, compliance (e.g., GDPR, HIPAA).

  3. Software Development / Programming
    • Focus: Designing, coding, testing, and maintaining software applications.
    • Topics: Programming languages (Python, Java, C++), software engineering, version control (e.g., Git), DevOps.

  4. Database Management
    • Focus: Storage, organization, and retrieval of data.
    • Topics: SQL/NoSQL databases, data modeling, database design, performance tuning, data warehousing.

  5. Systems Administration / IT Infrastructure
    • Focus: Managing and maintaining IT environments including servers, OS, and hardware.
    • Topics: Operating systems (Linux, Windows), virtualization, cloud infrastructure, patch management.

  6. Cloud Computing
    • Focus: Delivering computing services via the internet.
    • Topics: IaaS, PaaS, SaaS, cloud providers (AWS, Azure, GCP), containerization (Docker, Kubernetes).

  7. IT Support / Help Desk
    • Focus: Assisting users with technical issues and maintaining IT systems.
    • Topics: Troubleshooting, hardware/software support, ticketing systems, user account management.

  8. Data Science / Analytics
    • Focus: Extracting insights from data to support decision-making.
    • Topics: Data mining, machine learning, data visualization, Python/R, big data tools (Hadoop, Spark).

  9. IT Project Management
    • Focus: Planning and overseeing IT projects.
    • Topics: Agile/Scrum, project lifecycle, budgeting, risk analysis, stakeholder communication.

  10. Web Development
    • Focus: Creating websites and web applications.
    • Topics: HTML/CSS/JavaScript, front-end and back-end frameworks, UI/UX design, responsive design.
x
-
+

Thoughts

<
o
>
  • Tough, thorough, thought, through
  • My interests may not be of interest to you.
  • It is amazing how much more un/attractive a person can become once their mouth opens.
  • It is important "how" you ask a question...AI in mind.
  • Some questions only you can answer.
  • Use your head, then your hands...and maybe your heart
  • When walking away always ask yourself what you learned. If nothing, start doing new shit!
  • Make sure you also think outside your box.
  • When discovering a fix...replay several times in your head to commit to memory.
  • Pretend you are a lawyer playing both sides.
  • Where did your day go?
  • Reverse your pattern/path, once in a while, for a different perspective.
  • Ask yourself what variables have changed?
  • Why do people have two ears, but only one mouth?
  • Forgiving design...an interesting outcome, but should have been seen.
  • A hint/clue can change everything.
  • Mind, Soul, and Body.
  • Have a large toolbox and know which tool to use for the job.
  • Always look at details and patterns.
  • $1,000 club.
  • What would you name your street?
  • What would you name your ticker symbol?
  • Like giving a stealth fighter a vintage airframe.
  • You get a couple extra tries if you can catch a ball.
  • How do you use your rearview mirror?
    • Check frequently — mindful, responsive, aware of others
    • Check occasionally — semi-aware, reactive
    • Never use (too fast for others) — speed eclipses empathy
    • Never use (don’t care about others) — isolation by choice
    • Never use (don’t understand purpose) — lost in interface
  • We should start a tradition of the seller leaving an inexpensive, but meaningful house warming gift.
  • Do you wipe your ass?
  • You have to get on the train or be left at the station.
  • Nike's tagline should have been "JUST DO IT, NOW!". Now can save more time than then.
  • If you have the ears I have the tone.
  • A narrative can indeed be shaped or "spun" to emphasize certain aspects while downplaying others, allowing individuals or organizations to influence perceptions and opinions.
  • What is the most valuable item you own? (monetary and/or importance)
  • What is the oldest item you own?
  • May your signal-to-noise ratio be a good one.
  • On a Monday someone says, "next Thursday". What does that mean to you?
  • When warning work about being absent. Do you "call in", "call out", or "call off"?
  • What is the one word that gets everyone's attention?
  • How do you define social class in the United States?
  • I may not respond, but I always give thought to what you say!
  • Gadget used to never come with batteries. Now they don't come with a USB A/C adapter.
  • When a product is great, people talk. When a product isn't great, companies advertise.”
  • Percentages aren’t equal: down moves faster than up.
  • If you could redesign/change the digital ecosystem; what would you change?
x
-
+

Versus

<
o
>
Put in a f•cking table!
forget
/
remember
...
friend
/
foe
...
versus
/
verses
...


VS

  • forget vs remember
  • friend vs foe
  • versus vs verses
x
-
+

Generations (computer)

<
o
>
Generation of Computer Time Period Key Technology Characteristics
First Generation 1940–1956 Vacuum Tubes Large, power-intensive, slow, machine language
Second Generation 1956–1963 Transistors Smaller, faster, used assembly language
Third Generation 1964–1971 Integrated Circuits Compact, introduced keyboards and monitors
Fourth Generation 1971–Present Microprocessors Personal computers, GUIs, networking
Fifth Generation Present & Beyond AI and Nanotechnology Self-learning, natural language processing
Sixth Generation Emerging & Future Quantum Computing Qubits, superposition, future potential
x
-
+

Geographic Navigation

<
o
>

Decimal Degrees (DD) to Degrees, Minutes, Seconds (DMS)

Decimal degrees
Degree (angle)
Degrees/Minutes/Seconds (DMS) vs Decimal Degrees (DD) - GIS Geography
Decimal Degrees to Degrees,Minutes,Seconds converter
Degrees,minutes,seconds to decimal degrees converter

Geographic Information System

Geographic information system
GeoHack
Geopositioning

Null Island
Distance Calculator
Earth's rotation
Mercator projection
Antipodes
Azimuth
Rhumb line (loxodromic curve)
Great circle (orthodromic curve)
lat/lon explained
globe xyzP
globe tilt lat/lon
globe americas
compass rose
chord = radius
x
-
+

Heidi's Salmon

<
o
>
Manhole Cover Salmon (45.4276238, -122.8276978)
x
-
+

Cascading Style Sheets (CSS)

<
o
>

Development Background

Cascading Style Sheets (CSS) were developed in the early 1990s to address the need for a dedicated styling language for the web. Before CSS, web design was primarily controlled by HTML, which lacked the capability to manage layout and presentation effectively.

Key Contributors

  • Håkon Wium Lie: Proposed the first CSS specification in 1994 while working at CERN. His goal was to separate content from presentation, allowing for more flexible web design.

  • Bert Bos: Collaborated with Lie to refine the CSS concept, leading to the development of the first official CSS specification, CSS1, released in 1996.

Purpose and Functionality

CSS was created to enable web designers to control the layout, colors, and fonts of their websites. This separation of content (HTML) and style (CSS) simplified web development and improved the accessibility and maintainability of web pages.

Evolution

CSS has evolved through several versions:

  • CSS1 (1996): Introduced basic styling capabilities.
  • CSS2 (1998): Expanded features for layout and media types.
  • CSS3 (2011): Introduced modular specifications for advanced styling.

Today, CSS is a cornerstone technology of the web, used alongside HTML and JavaScript to create visually appealing and functional websites.


In a CSS rule, the term "declaration" refers to the property and value pairs that define how an element should be styled. Each declaration consists of a property name followed by a colon and a value, ending with a semicolon.

CSS Rule Components

Selector

  • The selector identifies which HTML elements the styles will apply to. For example, h1 targets all <h1> elements.

Declaration Block

  • The declaration block is enclosed in curly braces {} and contains one or more declarations.

Declarations

  • Each declaration consists of a property and a value, separated by a colon :. For example, color: blue; sets the text color to blue.

Properties and Values

  • Property: This is the aspect of the element you want to style, such as color, font-size, or margin.

  • Value: This specifies how the property should be styled, like red, 16px, or auto.

Example of a CSS Rule

css code

h1 { color: blue; font-size: 24px; }

In this example:

  • h1 is the selector.
  • { color: blue; font-size: 24px; } is the declaration block containing two declarations.
  • "color" and "font-size" are properties.
  • "blue" and "24px" are values.

This structure allows you to define how specific elements on a webpage should be styled.


CSS
CSS Reference
CSS sepia() function

CSS Order of Precedence

CSS order of precedence determines which styles are applied to an element when multiple rules conflict. The order is based on specificity, the location of the styles, and the use of the !important rule.

Specificity Hierarchy

The specificity of CSS selectors is calculated based on the types of selectors used. The hierarchy from lowest to highest specificity is as follows:

Selector Type Example Specificity Weight
Type Selector div, p 0-0-1
Class Selector .class 0-1-0
Attribute Selector [type="text"] 0-1-0
Pseudo-class Selector :hover 0-1-0
ID Selector #id 1-0-0
Inline Style style="color:red;" 1-0-0

Cascading Order

When selectors have the same specificity, the order in which they appear in the CSS file matters. The last declared style will take precedence. The general order of CSS sources from least to most specific is:

  1. User agent styles (browser defaults)
  2. External CSS files
  3. Internal CSS (within <style> tags in the HTML)
  4. Inline styles (directly on elements)

Importance of !important

The !important rule can override any other styles, regardless of specificity. However, it is best used sparingly, as it can make debugging and maintaining CSS more difficult.

Understanding this order helps in effectively managing styles and resolving conflicts in CSS.


Debugging tips

element(s)/class(es)/etc { outline dashed red; } # temporary
element(s)/class(es)/etc { background-color: rgba( 255, 0, 0, 0.1 ); } # temporary


Display vs Visibility

The main difference between display and visibility properties in CSS is that "display: none;" completely removes an element from the document flow, meaning it takes up no space, while "visibility: hidden;" makes an element invisible but still occupies space in the layout. This distinction affects how surrounding elements are rendered on the page.


Parsing & Fault Tolerance: The "Silent Fail" Philosophy

Unlike JavaScript, which is Strict (Fragile), CSS and HTML are designed to be Fault-Tolerant (Robust). This design choice is the reason the web doesn't "crash" when new features are invented or when a developer makes a typo.

1. The Strict vs. Forgiving Comparison

Language Philosophy When a mistake happens...
JavaScript Strict / Fragile Execution stops. One missing } or a typo can break the entire app. (The "Caltrop" effect)
HTML Forgiving / Fluid The browser "guesses" intent. Forgot </div>? It closes it for you. Unknown tags are treated as generic spans.
CSS Fault-Tolerant If the browser doesn't recognize a property or selector, it silently discards that line and moves on. (The "Pothole" effect)

2. Forward Compatibility (Chrome 59 vs. 2025)

This allows us to write "Future-Proof" CSS. When a 2017 browser hits a 2025 property, it doesn't crash; it simply ignores the unknown line (property).

.container
{
  display: block;             /* Supported by all */
  display: flex;              /* Chrome 59 understands this */
  scrollbar-gutter: stable;   /* Modern only; Chrome 59 ignores this safely */
}

3. Order of Operations: "Last One Wins"

Browsers parse from top to bottom. The last recognized version of a property defined overwrites the previous ones.

.action-item
{
  cursor: hand;      /* IE 5.5 - 7 logic */
  cursor: pointer;   /* Modern Standard - Overwrites 'hand' in modern browsers */
}

In IE6, 'pointer' is unknown and ignored, so 'hand' stays active. In Chrome, 'pointer' is known and replaces 'hand'.

4. Selector Grouping & The "Poison" Rule

While properties fail silently on a per-line basis, grouped selectors are a single unit. If one selector in a list is unknown, the entire block is invalidated.

The "Poison Group" (Avoid This):

/* This fails in ALL browsers because no browser recognizes every prefix */
textarea::placeholder,
textarea::-webkit-input-placeholder,
textarea:-ms-input-placeholder
{
  color: red;
}

The "Graffiti" Method (Correct Practice):

/* Separate blocks ensure each browser finds its own and ignores the rest */
textarea::-webkit-input-placeholder { color: red; }   /* Chrome/Safari */
textarea:-moz-placeholder           { color: red; }   /* Firefox 18- */
textarea::-moz-placeholder          { color: red; }   /* Firefox 19+ */
textarea:-ms-input-placeholder      { color: red; }   /* IE 10+ */

5. Directives and At-Rules (@supports)

Modern CSS uses Feature Queries to ask the browser if it supports a capability before providing the code.

@supports( scrollbar-gutter: stable )
{
  html
  {
    scrollbar-gutter: stable;
  }
}

6. Why this "Drove You Nuts" (The Debugging Tax)

For experienced developers, "Silent Failures" are maddening because Silence is Hard to Debug.

  • Invisible Typos: If you write clor: red; instead of color: red;, the browser gives no error. It just ignores it.
  • The "Ghost" Elements: If you write <tabe> instead of <table>, the browser renders a generic element. Your data shows up, but the layout is destroyed.

7. The Benefit: Architectural Survival

Despite the frustration, this "Silent Fail" is the only reason the web works. If CSS were Strict:

  1. Chrome 59 would hit a property like scrollbar-gutter.
  2. It would throw a Syntax Error.
  3. It would stop parsing panes.css entirely.
  4. The page would load with zero styling.

Instead, because it is fault-tolerant, Chrome 59 simply says "I don't know what that is," throws that one line in the trash, and continues to style the rest of your beautiful pane.

Summary: High fault tolerance prevents web "crashes" but makes debugging harder. A typo like clor: red; provides no console feedback; the browser simply treats it as an unknown property and moves on.

Useful tips

  • HTML5 does not have a standardized default style sheet like previous versions. Instead, it relies on browsers to apply their own default styles, which can vary, so developers often use CSS resets or custom styles to ensure consistent presentation across different browsers.
  • Use style="list-style-type: none;"   /* then give it some decent style */
  • Hard coded &#010; in html   /* works for a newline an element's title attribute (tooltip) */
  • Adding style="font-size: 0;" to a <div>   /* allows no spacing between contained elements... */
  • In browser debugging watch for a strikethrough of a new rule. This could be caused by a "Hidden Global Rule" that is highly specific and targets ALL children   /* search all rules for the property:value with a strikethrough */


getComputedStyle( ) method in JavaScript is used to retrieve the computed CSS properties and values of a specified HTML element after all styles have been applied. It returns a CSSStyleDeclaration object that contains the resolved styles, allowing you to access individual property values.


.thisReset
{
  animation: none;
  animation-delay: 0;
  animation-direction: normal;
  animation-duration: 0;
  animation-fill-mode: none;
  animation-iteration-count: 1;
  animation-name: none;
  animation-play-state: running;
  animation-timing-function: ease;
  backface-visibility: visible;
  background: 0;
  background-attachment: scroll;
  background-clip: border-box;
  background-color: transparent;
  background-image: none;
  background-origin: padding-box;
  background-position: 0 0;
  background-position-x: 0;
  background-position-y: 0;
  background-repeat: repeat;
  background-size: auto auto;
  border: 0;
  border-style: none;
  border-width: medium;
  border-color: inherit;
  border-bottom: 0;
  border-bottom-color: inherit;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-style: none;
  border-bottom-width: medium;
  border-collapse: separate;
  border-image: none;
  border-left: 0;
  border-left-color: inherit;
  border-left-style: none;
  border-left-width: medium;
  border-radius: 0;
  border-right: 0;
  border-right-color: inherit;
  border-right-style: none;
  border-right-width: medium;
  border-spacing: 0;
  border-top: 0;
  border-top-color: inherit;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top-style: none;
  border-top-width: medium;
  bottom: auto;
  box-shadow: none;
  box-sizing: content-box;
  caption-side: top;
  clear: none;
  clip: auto;
  color: inherit;
  columns: auto;
  column-count: auto;
  column-fill: balance;
  column-gap: normal;
  column-rule: medium none currentColor;
  column-rule-color: currentColor;
  column-rule-style: none;
  column-rule-width: none;
  column-span: 1;
  column-width: auto;
  content: normal;
  counter-increment: none;
  counter-reset: none;
  cursor: auto;
  direction: ltr;
  display: inline;
  empty-cells: show;
  float: none;
  font: normal;
  font-family: inherit;
  font-size: medium;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  height: auto;
  hyphens: none;
  left: auto;
  letter-spacing: normal;
  line-height: normal;
  list-style: none;
  list-style-image: none;
  list-style-position: outside;
  list-style-type: disc;
  margin: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  max-height: none;
  max-width: none;
  min-height: 0;
  min-width: 0;
  opacity: 1;
  orphans: 0;   /* minimum number of lines in a block container that must be left at the bottom of the page */
  outline: 0;
  outline-color: invert;
  outline-style: none;
  outline-width: medium;
  overflow: visible;
  overflow-x: visible;
  overflow-y: visible;
  padding: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  page-break-after: auto;
  page-break-before: auto;
  page-break-inside: auto;
  perspective: none;
  perspective-origin: 50% 50%;
  position: static;
  /* May need to alter quotes for different locales (e.g. fr) */
  quotes: '\201C' '\201D' '\2018' '\2019';
  right: auto;
  tab-size: 8;
  table-layout: auto;
  text-align: inherit;
  text-align-last: auto;
  text-decoration: none;
  text-decoration-color: inherit;
  text-decoration-line: none;
  text-decoration-style: solid;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  top: auto;
  transform: none;
  transform-style: flat;
  transition: none;
  transition-delay: 0s;
  transition-duration: 0s;
  transition-property: none;
  transition-timing-function: ease;
  unicode-bidi: normal;
  vertical-align: baseline;
  visibility: visible;
  white-space: normal;
  widows: 0;   /* minimum number of lines that must be left at the top of the second page */
  width: auto;
  word-spacing: normal;
  z-index: auto;
  /* basic modern patch */
  all: initial;
  all: unset;
}

Fonts

The generic font families (serif, sans-serif, monospace, cursive, and fantasy) must NOT be quoted in a CSS rule.
Any other font family name (like "Times New Roman", or a custom font) should be quoted if it contains spaces, punctuation, or starts with a number.

The "Keyword Collision" Rule: Unquoted font names are parsed as identifiers. If a font name matches a CSS keyword (e.g., a font named Initial or Inherit), the browser will fail to apply the rule because it mistakes the name for a system command. Quoting these names turns them into strings, protecting them from the parser.

/* Bad: Browser thinks you're trying to reset the property */ font-family: Initial, sans-serif;

/* Good: Browser knows "Initial" is the name of a font file */ font-family: "Initial", sans-serif;

For diagrams, it's best to use sans-serif fonts as they are cleaner and easier to read. Popular choices include Arial, Helvetica, and Roboto, which help ensure clarity in visual presentations.


Blank horizontal bar (verical spacer)

/* works */
<p style="height: 6px; margin: 0;"> </p>

 

/* works, better */
<div style="height: 6px;"></div>

Create full layer between background and content

#background-graffiti
{
  position: fixed;

  /* 1. Essential to take up the whole screen width */
  width: 100vw;

  /* 2. Key to expanding the usable vertical space */
  height: 100vh;

  display: flex; /* Turn on Flexbox */
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */

  /* OPTIONAL: Center the text content itself */
  text-align: center;

  font-size: 20rem;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.05);

  z-index: -1;
  pointer-events: none;
}

The CSS pointer-events property controls how an element responds to mouse events, such as clicks and hovers. By setting pointer-events to none, the element will not respond to any pointer interactions, allowing events to pass through to elements behind it.


Functions

function getDefaultStyle( tagName, property = null )
{
  if( tagName === undefined )
  {
    console.warn( 'Usage: ' + getDefaultStyle.name + '( "tagName", "property" )' );
    return false;
  }

  // List of common properties affected by User Agent stylesheets
  const COMMON_DEFAULTS = [
    'display', 'margin', 'padding', 'border', 'fontSize',
    'fontWeight', 'fontFamily', 'color', 'lineHeight',
    'listStyleType', 'textAlign', 'verticalAlign'
  ];

  // 1. Create the element
  const el = document.createElement( tagName );
  document.body.appendChild( el );

  // 2. Get the computed style object
  const style = window.getComputedStyle( el );
  let result = {};

  if( property )
  {
    // --- Single Property Mode ---
    result = style[property];
  }
  else
  {
    // --- All Properties Mode ---
    // Iterate through the common list and store the computed value
    COMMON_DEFAULTS.forEach( prop => {
      // NOTE: Use camelCase for JS access (e.g., 'font-size' becomes 'fontSize')
      const jsProp = prop.replace( /-([a-z])/g, (g) => g[1].toUpperCase( ) );
      result[prop] = style[jsProp];
    });
  }

  // 3. Clean up the element
  document.body.removeChild( el );

  return result;
}

Links

CSS
CSS Introduction - GeeksforGeeks
CSS Tutorial - GeeksforGeeks
How to calculate CSS specificity of your style rules - DEV Community
A Modern CSS Reset • Josh W. Comeau
CSS Tools: Reset CSS
Normalize.css: Make browsers render all elements more consistently.

x
-
+

Principles

<
o
>

Concepts, Effects, Laws, Models, Phenomenon, Rules, Terms, Theories, etc


Computer Science

Boyce–Codd normal form is a level of database normalization that aims to reduce redundancy and improve data integrity.
Moore's law is the observation that the number of transistors on a microchip doubles approximately every two years, leading to increased computing power and decreased costs for technology.
Dennard scaling states that as transistors are made smaller, their power density remains constant, allowing power consumption to stay proportional to the area.
Cyclomatic complexity is a software metric that measures the complexity of a program by counting the number of linearly independent paths through its source code.
Turing test is a test of a machine's ability to exhibit intelligent behaviour equivalent to that of a human.
Postel's Law (Robustness Principle) states: "Be conservative in what you do, be liberal in what you accept from others."
Wirth's Law states that software is getting slower more rapidly than hardware becomes faster.
Separation of concerns is a design principle for separating a computer program into distinct sections such that each section addresses a separate concern.
Little's Law is a theorem that determines the average number of items in a stationary queuing system based on the average arrival rate and the average time an item spends in the system.
Namespace is a set of signs (identifiers) that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names.
Linus's Law is the assertion that "given enough eyeballs, all bugs are shallow".
Heuristic is a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution.
Software Entropy is the tendency for a system to become more complex and disorganized over time.
Indexing is a data structure that improves the speed of data retrieval operations.
Regression Testing is the practice of testing a system after changes to ensure that old features haven't broken.
Data Integrity is the assurance that digital data is uncorrupted and can only be accessed or modified by those authorized to do so.
Fault Injection is a testing technique which aids in understanding how a system behaves when stressed in unusual ways.
Ad Hoc describes a solution designed for a specific task or problem, not intended to be adapted to other purposes or generalized.
Tolerance is the permissible limit of variation in a physical dimension or measured value.
Determinism is a system where the same input always produces the same output. Programming is deterministic.
Tacit Knowledge is the kind of knowledge that is difficult to transfer to another person by means of writing it down or verbalizing it.
Character Encoding is a convention of using a numeric value to represent each character of a writing script.
Unit Testing is the process of testing small, isolated pieces of code to ensure they behave exactly as expected.
Unicode Properties allow developers to classify characters by their function (Letter, Number, Emoji, Control) across all human languages.
Principle of Least Privilege is the idea that at any level, every program and user should operate using the least amount of privilege necessary to complete the job.
UTF-8 is the dominant character encoding for the web, ensuring a consistent handshake between the server and the browser.
Replacement Character is used when an incoming byte sequence does not match any valid character in the encoding map.
Control Characters are non-printing "squirrels" that define text flow or terminal behavior but often appear as junk data in logs.
Regular Expression Anchors like ^ and $ are used to lock a search pattern to the start or end of a line for precision.
Allman Style is an indentation convention where the opening brace is placed on a new line, vertically aligned with the control statement.
Code Refactoring is the process of restructuring existing code to improve its internal design without changing its external behavior.
Technical Debt is the implied cost of additional rework caused by choosing an easy or messy solution now instead of a clean one.
Clean Code is a development philosophy focused on making code easy to read, maintain, and audit for a second pair of eyes.
Sanitization is the process of cleaning input data to prevent "ghosts," "squirrels," or malicious scripts from entering the system.
Globbing is the use of wildcard characters, like the double asterisk, to specify sets of filenames or directory paths.
ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps.
Dijkstra's algorithm is an algorithm for finding the shortest paths between nodes in a weighted graph, which may represent, for example, a road network.
Second Pair of Eyes (SPE) is a code review done by another developer to examine code changes, which helps catch bugs and improve code quality.
Debouncing is a programming technique used to limit the rate at which a function is executed, particularly in response to user input. It consolidates multiple rapid invocations into a single call after a specified delay, helping to improve performance and user experience.

Economics

Supply and demand is an economic model of price determination in a market.
Inflation is an increase in the average price of goods and services in terms of money.
Opportunity cost of a choice is the value of the best alternative forgone where, given limited resources, a choice needs to be made between several mutually exclusive alternatives.
Planned obsolescence is the concept of policies planning or designing a product with an artificially limited useful life...
Perverse incentive is an incentive structure with undesirable results, particularly one where those effects are unexpected and contrary to the intentions of its designers.
Jevons paradox is an economic theory that suggests that as technological advancements make resource use more efficient, the overall consumption of that resource can actually increase rather than decrease.
Third World is a term that arose during the Cold War to define countries that remained non-aligned with either NATO or the Warsaw Pact.
Gentrification is the process whereby the character of a neighborhood changes through the influx of more affluent residents (the "gentry") and investment.
Rust Belt is an area of the United States that underwent substantial industrial decline in the late 20th century.
Catfish effect is the effect that a strong competitor has in causing the weak to better themselves.

Electricity

Ohm's Law states that the electric current through a conductor between two points is directly proportional to the voltage across the two points.
Faraday's law of induction describes how a changing magnetic field can induce an electric current in a circuit.

Engineering/Physics

Newton's Laws of Motion are three physical laws that describe the relationship between the motion of an object and the forces acting on it.
Sonic boom is a sound associated with shock waves created when an object travels through the air faster than the speed of sound.
Doppler effect is the change in the frequency of a wave in relation to an observer who is moving relative to the source of the wave.
Resonance is a phenomenon that occurs when an object or system is subjected to an external force or vibration whose frequency matches a resonant frequency (or resonance frequency) of the system, defined as a frequency that generates a maximum amplitude response in the system.
Mach number is a dimensionless quantity in fluid dynamics representing the ratio of flow velocity past a boundary to the local speed of sound.
Conservation of energy states that the total energy of an isolated system remains constant; it is said to be conserved over time.
Momentum is the product of the mass and velocity of an object. It is a vector quantity, possessing a magnitude and a direction.
Superposition principle states that, for all linear systems, the net response caused by two or more stimuli is the sum of the responses that would have been caused by each stimulus individually.
Newton's law of universal gravitation describes gravity as a force by stating that every particle attracts every other particle in the universe with a force that is proportional to the product of their masses and inversely proportional to the square of the distance between their centers of mass.
Coriolis force is a pseudo force that acts on objects in motion within a frame of reference that rotates with respect to an inertial frame.
Thermal expansion is the tendency of matter to change its shape, area, volume, and density in response to a change in temperature.
Stiction is a portmanteau of the words static and friction; the threshold of friction that must be overcome to enable relative motion of stationary objects in contact.
Surface tension is the energy per unit area due to having a surface in a liquid. It has the dimension of force per unit length, or energy per unit area.

Finance/Investment

Rule of 72 is a method for estimating an investment's doubling time.

Maps/Navigation

Mercator projection is a cylindrical map projection created by Gerardus Mercator in 1569, designed for navigation. It represents rhumb lines as straight lines, but distorts the size of landmasses, making areas farther from the equator appear larger than they actually are.
Antipodes are any two places or regions that are on diametrically opposite sides of the earth.
Rhumb line (loxodromic curve) is an arc crossing all meridians of longitude at the same angle.
Great circle (orthodromic curve) is the circular intersection of a sphere and a plane passing through the sphere's center point.

Math

Azimuth is the horizontal angle from a cardinal direction, most commonly north, in a local or observer-centric spherical coordinate system.
Order of operations is a collection of rules that reflect conventions about which operations to perform first in order to evaluate a given mathematical expression.
Recursion occurs when the definition of a concept or process depends on a simpler or previous version of itself.
Idempotence is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application.
Sieve of Eratosthenes is an ancient algorithm for finding all prime numbers up to any given limit.
Technical debt is the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer.
Sieve of Eratosthenes is an ancient algorithm for finding all prime numbers up to any given limit.

Philosopy/Science

Signal-to-noise ratio is a measure used in science and engineering that compares the level of a desired signal to the level of background noise.
Qualia refers to individual instances of subjective, conscious experience—the "Ghost" in the machine that determines if an AI truly feels or just simulates.

Psychology/Sociology

Dyad is a group of two people, the smallest possible social group.
Archetype a universal symbol or pattern that represent typical characters, themes, or situations in literature and human experience.
Nature versus nurture is a long-standing debate in biology and society about the relative influence on human beings of their genetic inheritance or biology (nature) and the environmental conditions of their development (nurture).

XYZ

Eudaimonia is a Greek word literally translating to the state or condition of good spirit, and which is commonly translated as happiness or welfare.
Pareto principle states that, for many outcomes, roughly 80% of consequences come from 20% of causes (the "vital few").
Rote learning is a memorization technique based on repetition.
Overton window is the range of subjects and arguments politically acceptable to the mainstream population at a given time.
Protein folding is the physical process by which a protein, after synthesis by a ribosome as a linear chain of amino acids, changes from an unstable random coil into a more ordered three-dimensional structure. This structure permits the protein to become biologically functional or active.
Artificial general intelligence sometimes called human‑level intelligence AI—is a type of artificial intelligence that would match or surpass human capabilities across virtually all cognitive tasks.
Forgiving Design is a traffic safety concept.
Neural scaling law is an empirical scaling law that describes how neural network performance changes as key factors are scaled up or down.
Occam's razor is the problem-solving principle that recommends searching for explanations constructed with the smallest possible set of elements.
Straw man is the informal fallacy of refuting an argument different from the one actually under discussion, while not recognizing or acknowledging the distinction.
Red herring is something that misleads or distracts from a relevant or important question.
Black swan theory is a metaphor that describes an event that comes as a surprise, has a major effect, and is often inappropriately rationalized after the fact with the benefit of hindsight.
Rule of thumb is a useful principle having wide application but not intended to be strictly accurate or reliable in every situation.
Synergy is the interaction of two or more agents or forces so that their combined effect is greater than the sum of their individual effects.
Ostrich effect is a cognitive bias where individuals avoid negative information or feedback to prevent psychological discomfort, similar to the myth that ostriches bury their heads in the sand to escape danger.
Ephemerality is the concept of things being transitory, existing only briefly.
Shiny object syndrome is the situation where people focus undue attention on an idea that is new and trendy, yet drop it in its entirety as soon as something new can take its place.
Trump derangement syndrome is a pejorative term used to describe negative reactions to U.S. president Donald Trump that are characterized as irrational and disconnected from Trump's actual policy positions.
Self-licking ice cream cone is a self-perpetuating system that has no purpose other than to sustain itself.
Ephemerality is the concept of things being transitory, existing only briefly.
Lindy effect is a theorized phenomenon by which the future life expectancy of some non-perishable thing, like a technology or an idea, is proportional to its current age.
"50/50 paint job" refers to a finish that looks good from 50 feet away or at 50 miles per hour, meaning it may not be perfect up close but is acceptable for general viewing. This approach is often used in budget or quick paint jobs where the focus is on appearance rather than perfection.
Social engineering (security) is the use of psychological pressure to influence people to perform actions or divulge confidential information.
Parakeet principle refers to the behavior of parakeets, particularly monk parakeets, in forming new friendships by gradually testing how close they can get to unfamiliar birds. This cautious approach helps them build trust and avoid conflict while establishing social bonds.
70-20-10 rule is a strategy popularized by Google, suggesting that organizations should allocate 70% of their resources to core business activities, 20% to adjacent innovations, and 10% to breakthrough or unrelated projects.
Monoculturalism is the policy or process of supporting, advocating, or allowing the expression of the culture of a single social or ethnic group.
Nature versus nurture is a long-standing debate in biology and society about the relative influence on human beings of their genetic inheritance or biology (nature) and the environmental conditions of their development (nurture).
x
-
+

Calculations, Manual

<
o
>

Cross-multiplication is a mathematical technique used to solve equations involving fractions. It involves multiplying the numerator of one fraction by the denominator of the other fraction and setting the two products equal to each other.

A fund is making 33% interest per 1.5 years. What percentage would be for X years? Dividing 33 by 1.5 equals 22 which is the yearly percentage. Then multiplying 22 by X years for the answer.

Unit price is the price of a standard amount of a good, as of weight or volume.

Compare 2 item prices with each other. Find a comparable unit between the 2 items. Which one has a better unit price?
Item Size Unit Calculation Conversion Price Calculation Price/Unit
1st 1.5 lbs 1.5 lbs x 16 oz 24 oz $3.69 $3.69 / 24 oz $0.153 / oz
2nd 7 oz none 7 oz $1.49 $1.49 / 7 oz $0.212 / oz

Interest is the cost of borrowing money, typically expressed as a percentage of the principal amount borrowed

Future: calculate interest including principal...principal x interest rate (rate plus "1" being the principal). e.g. $1,000 x 1.25% = $1,250
Former: calculate interest percentage...principal (ending) / principal (starting)...subtract 1. e.g. ($1,250 / $1,000) - 1 = 0.25%, ($750 / $1,000) - 1 = -0.25%
x
-
+

Civilizations, Greatest

<
o
>
Civilization Time Period Region Key Contributions & Legacy
Mesopotamia c. 3500–539 BCE Middle East Writing (cuneiform), law codes (Hammurabi), urban planning
Minoan civilization c. 3100–1100 BCE Crete, Aegean Sea Art, architecture, and trade
Ancient Egypt c. 3100–30 BCE Nile Valley, Africa Hieroglyphics, pyramids, centralized monarchy, early medicine
Indus Valley Civilization c. 2600–1900 BCE South Asia Advanced sanitation, grid cities, trade networks
Maya Civilization c. 2000 BCE–1697 CE Mesoamerica Astronomy, calendar systems, pyramids, glyph writing
Ancient China c. 1600 BCE–1912 CE East Asia Paper, printing, compass, Confucianism, dynastic rule
Ancient Greece c. 800–146 BCE Mediterranean Democracy, philosophy, architecture, Olympic Games
Roman Empire 27 BCE–476 CE (West) Europe, Mediterranean Law, engineering, military strategy, Latin language
Islamic Caliphates c. 632–1258 CE Middle East, North Africa Algebra, medicine, architecture, preservation of classical texts
Mongol Empire 1206–1368 CE Eurasia Largest contiguous empire, trade (Silk Road), military innovation
Ottoman Empire 1299–1922 CE Middle East, Europe Architecture, legal systems, cultural synthesis
Inca Empire c. 1438–1533 CE Andes, South America Road systems, terrace farming, centralized economy
British Empire 1583–1997 CE Global Industrialization, global trade, parliamentary governance
These civilizations shaped the world through innovations in governance, science, art, and philosophy. Their legacies still echo in modern institutions, languages, and cultural norms.
x
-
+

LibreWolf

<
o
>

LibreWolf is a free and open-source web browser based on Firefox, designed with a strong emphasis on privacy and security. It removes telemetry, disables certain features for enhanced privacy, and includes tools like uBlock Origin to block ads and trackers, making it a popular choice for users seeking a more secure browsing experience.

Menu ➜ Tools ➜ Tools Browser for some useful items. Also use the following URL links for other useful pages.

LibreWolf Internal Pages (about:* URLs)

URLPurpose
about:about meta-list of all available about pages
about:config advanced settings editor—modify hidden preferences
about:support system info, troubleshooting, profile details
about:preferences main settings UI (LibreWolf-hardened)
about:preferences#privacy direct link to privacy settings
about:preferences#search search engine configuration
about:preferences#librewolf LibreWolf-specific settings panel
about:profiles view and manage browser profiles
about:networking inspect DNS, sockets, and network stats
about:cache view browser cache contents
about:memory analyze memory usage and GC behavior
about:performance live tab performance metrics
about:processes process-level breakdown (sandboxing, threads)
about:logins saved passwords (if enabled)
about:downloads download history
about:certificate certificate viewer
about:crashes crash reports (telemetry disabled in LibreWolf)
about:policies enterprise policies (LibreWolf uses overrides.cfg)
about:debugging#/runtime/this-firefox tabs, extensions, and workers grouped together

LibreWolf Specific Pages

URLPurpose
about:preferences#librewolf exposes LibreWolf’s hardened defaults and toggles
about:config pre-hardened with privacy/security tweaks from LibreWolf team
about:preferences stripped of Firefox Sync, Pocket, and telemetry options
about:addons manage extensions, themes, and plugins

LibreWolf Extensions

Name Author Purpose Notes / Configuration
Auto Tab Discard tlintspr Reduce memory by unloading inactive tabs Default settings fine; discard delay optional
Chameleon sereneblue Fingerprint randomization & privacy hardening Set to “Random on startup”; disable timezone spoofing (you use PST)
Firefox Multi-Account Containers Firefox Isolate identities, cookies, and logins Create Work / Personal / Shopping containers; assign auto‑rules
Stylus Stylus Team, Jeremy Schomery Custom CSS for websites Import your nightTab theme; optional tweaks for panes.us
Terms of Service; Didn’t Read ToS;DR Quick privacy & terms summaries No configuration needed; passive reference tool
nightTab zombieFox Custom new‑tab dashboard Import your JSON theme; enable local storage backup

The "Persistence" manifest for LibreWolf

Setting Value What it actually does
browser.startup.page 3 Tells the browser to "Resume previous session" on start.
privacy.clearOnShutdown.history false Crucial. If this is true, it wipes the session
privacy.clearOnShutdown.cookies false Keeps you logged into sites like Gmail or Gemini.
privacy.clearOnShutdown.sessions false Prevents the "tabs" themselves from being cleared.
identity.fxaccounts.enabled true Optional. If you want to use Firefox Sync to keep extensions/bookmarks in sync.

BASH Script to view/kill LibreWolf Tabs

#!/usr/bin/env bash
set -euo pipefail
#set -x

# tabs.sh; 2026-05-04; Kent M Kohlmeyer

usage( )
{
  printf '\e[1;33mUsage: %s  [head] [form] [wide] [kill]\e[0m\n' "$(basename "$0")" >&2
  exit 2
}

re='^[0-9]+$'
gigibytes=""
head=0
form=0
wide=0
kill=0

for arg in "$@"; do
  if [[ $arg =~ $re && -z $gigibytes ]]
  then
    gigibytes=$arg
    continue
  fi
  case $arg in
    head) head=1 ;;
    form) form=1 ;;
    wide) wide=1 ;;
    kill) kill=1 ;;
    *) ;;   # ignore any other token silently
  esac
done

[[ -n $gigibytes ]] || usage
mebibytes=$(( gigibytes * 1048576 ))

pids=$(for p in /proc/[0-9]*
do
pid=${p#/proc/}
grep -q Isolate "$p/comm" 2>/dev/null && printf '%s\n' "$pid"
done || true)

if [[ -z $pids ]]
then
  printf '\e[1;32mNo Isolated Web Content processes found.\e[0m\n'
  exit 0
fi

if (( head ))
then
  output=$(top -o '%MEM' -b -n1 | grep -E "^[tT%M]|^$|PID|Isolate\+$")
  header="$(echo "$output" | grep -v 'Isolate+' | wc -l)"
  echo "$output" | head -n $(($header + $gigibytes))
  exit 0
fi

# Get PID, RSS, CMD for those PIDs and filter by RSS threshold
output=$(ps -o pid=,rss=,cmd= -p $pids 2>/dev/null | awk -v threshold="$mebibytes" '$2 > threshold')

if [[ -n $output ]]
then
  if (( form ))
  then
    printf "%7s %-7s %s\n" "PID" "RSS" "CMD"
    if(( wide ))
    then
      printf '%s\n' "$output"
    else
    echo "$output" | cut -c1-128
    fi
    printf "%7s " "CNT"
    printf "%d\n" $(awk 'END {print NR}' <<< "$output")
  elif (( kill ))
  then
    awk '{print $1}' <<< "$output" | xargs -r -n1 -- kill --
    pidsKilled=$(awk '{printf "%s ", $1}' <<< "$output")
    printf '\e[1;31mKill sent to: %s\e[0m\n' "$pidsKilled"
  else
    printf '%s\n' "$output"
  fi
else
  printf '\e[1;32mNo tab(s) are over %s gigibyte(s).\e[0m\n' "$gigibytes"
fi

Extras

Address bar: about:config ➜ browser.backspace_action ➜ default = "2"   # change to "0" to have "Backspace" navigate to previous page (Alt + Left Arrow)

Shift + Esc for Task Manager

file_cheatsheets/shortcut/librewolf.cht at main · scillidan/file_cheatsheets · GitHub

x
-
+

Linux DE and WM

<
o
>

Overview of Desktop Environments and Window Managers

What is a Desktop Environment?

A desktop environment (DE) is a comprehensive suite of applications and tools that provide a graphical interface for users. It includes:

  • Taskbar and Start Menu: For easy access to applications.
  • File Manager: To manage files and directories.
  • Widgets and Themes: For customization and aesthetics.
  • Integrated Applications: Such as terminal emulators and multimedia players.

Examples of DEs include KDE, GNOME, and Xfce. These environments are designed to be user-friendly and require minimal setup.

What is a Window Manager?

A window manager (WM) is a more lightweight software component that manages the placement and appearance of application windows. It focuses on:

  • Window Management: Controls how windows are displayed, resized, and moved.
  • Minimal Resource Usage: Generally uses fewer system resources than a full desktop environment.
  • Customization: Allows users to choose their own applications for tasks like file management.

Examples of WMs include i3, Openbox, and Fluxbox. They can be used independently or alongside a desktop environment.

Key Differences

Feature Desktop Environment Window Manager
Complexity More complex, includes many components Simpler, focuses on window management
Resource Usage Generally higher resource usage Lower resource usage
User Experience Integrated and user-friendly Requires more setup and customization
Customization Limited to provided options Highly customizable

Choosing Between Them

  • For Beginners: A desktop environment is recommended for ease of use and quick setup.
  • For Advanced Users: A window manager may be preferred for its efficiency and customization options, especially on older hardware.

Both options have their advantages, and the choice depends on user needs and preferences.

x
-
+

Bell System Hierarchy

<
o
>

Bell System: From Divestiture to Consolidation (1974 ➜ Today)

x
-
+

Copper Carriers

<
o
>

Current Major ILEC Copper Carriers in the U.S. (2025)

The companies that own and operate the inherited, old copper wire local phone networks—known as Incumbent Local Exchange Carriers (ILECs)—are the ones who still hold the Baby Bell and GTE/Independent Telephone Company copper infrastructure.

The actual remaining/current major copper carriers generally fall into three categories.

Category NameTelecom TermDescriptionExamples
I. Bell System Legacy RBOCs / Baby Bells The companies created from the 1984 breakup of AT&T (the Regional Bell Operating Companies). They own the original copper in the densest, most profitable areas. AT&T (SBC/BellSouth) and Verizon (Bell Atlantic, plus acquired GTE areas).
II. Independent Legacy Major Independent ILECs Large telephone companies that were never part of the original Bell System monopoly but had their own incumbent monopolies in rural and less-dense areas. CenturyTel (now Lumen/Brightspeed), GTE (now part of Verizon/Frontier/Ziply), and Frontier's original markets.
III. Modern ILEC Buyers New ILEC/Spin-Offs Companies formed recently to purchase, consolidate, and eventually upgrade large chunks of copper infrastructure from the two categories above. Brightspeed (purchased assets from Lumen) and Ziply Fiber (purchased assets from Frontier/Verizon).

The list of major players has been dramatically consolidated by sales over the last decade.

Carrier Category Remaining ILEC Copper Owner Original Legacy Copper States Where They Operate Copper
The Big Two AT&T (SBC/BellSouth) Southwestern Bell, BellSouth, Pacific Telesis, Ameritech, etc. Primarily the 22 original Baby Bell states (outside the former US West/Qwest area).
The National ILEC Lumen Technologies
(FKA CenturyLink)
Former US West/Qwest and CenturyTel ILEC territories. Retains the copper network for the remaining 16 states (primarily the old US West/Qwest region).
The Focused ILEC Verizon Former Bell Atlantic and some GTE territories (primarily in the Northeast and Mid-Atlantic). Limited footprint; largely focused on their fiber build-out (FiOS) and wireless.
New ILEC Buyers Brightspeed Former Lumen/CenturyLink copper assets. 20 states, primarily the former CenturyTel footprint.
Regional Players Ziply Fiber Former GTE/Frontier assets. Pacific Northwest (OR, WA, ID, MT).
Frontier Communications Former Verizon assets (mainly in the South/Midwest/West) and other independents. Select rural and suburban markets across many states.

Key Takeaways on Copper Ownership

  1. AT&T is the largest holder of the original Baby Bell copper network, covering the vast majority of the East, Midwest, and Southwest.
  2. Lumen's focus is on fiber, but they still legally own and maintain the copper network in the former US West region.
  3. Brightspeed and Ziply Fiber are the two largest recent buyers of this legacy copper infrastructure, with the goal of upgrading it to fiber over time.
  4. Verizon sold most of its wireline assets over the last 15 years to Frontier and others, keeping only the most dense, profitable FiOS markets (mostly fiber, but some associated copper).
x
-
+

Etymology

<
o
>

The study of the origin and evolution of words

  • "robot" comes from the Czech word "robota," meaning "forced labor" or "drudgery." It was popularized by Karel Čapek in his 1920 play "R.U.R." (Rossum's Universal Robots), although the term was actually coined by his brother, Josef Čapek.
  • "rubber" originated in the 1530s, meaning "thing that rubs," and was later used to describe the elastic substance from tropical plants by 1788. It comes from the English verb "to rub out," referring to its use for erasing pencil marks.
  • "ruler" comes from the late 14th century, originally meaning "one who rules or governs." It later evolved to refer to the measuring instrument, derived from the Latin "regula," meaning "straight stick" or "rule."
  • "telephone" comes from the French "téléphone," which is derived from the Ancient Greek words "τῆλε" (tēle) meaning "far" and "φωνή" (phōnē) meaning "voice." It was first used in the modern sense by Alexander Graham Bell in 1876.
x
-
+

ms to FPS

<
o
>

ms to FPS Logic

Frames per second (FPS) measures how many frames are rendered in one second. To convert milliseconds per frame (ms/frame) to FPS, use the inverse relationship, since there are 1,000 milliseconds in a second:

FPS = 1000 / ms per frame

Example: For 100 ms per frame, FPS = 1000 / 100 = 10 FPS.

Reasoning: If each frame takes 100 ms, you can fit 10 frames in 1,000 ms (1 second). Round to 2 decimals for precision, but whole numbers are common for simplicity. Lower ms = higher FPS (smoother); higher ms = lower FPS (choppier).

This formula is linear and direct—no advanced math needed. For a table, I selected common intervals (1-500 ms) to show the range from ultra-fast to slow.

ms to FPS Table

ms per Frame FPS
1 1000.00
8 125.00
16 62.50
33 30.30
50 20.00
100 10.00
167 6.00
250 4.00
333 3.00
500 2.00
x
-
+

Hypertext Markup Language (HTML)

<
o
>
HTML

Example of a Well-Structured <head>

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="A brief description of your webpage for SEO.">
  <meta name="keywords" content="HTML, CSS, JavaScript, your, keywords, here">
  <meta name="author" content="Your Name">

  <title>Your Page Title</title>

  <!-- Favicon Links -->
  <link rel="icon" href="/favicon.ico" type="image/x-icon"> <!-- Fallback -->
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />

  <!-- CSS Stylesheets -->
  <link rel="stylesheet" href="styles.css">

  <!-- Internal Styles -->
  <style>
    body
    {
      font-family: Arial, sans-serif;
    }
    /* Add any other internal styles here */
  </style>

  <!-- JavaScript Scripts -->
  <script src="script.js" defer></script> <!-- Defer attribute ensures it loads after the HTML -->
  <script>
    // Internal JavaScript can also go here
    console.log( 'Page loaded!' );
  </script>
</head>

Breakdown of the Structure

  1. Meta Tags:
    • <meta charset>: Specifies the character encoding.
    • <meta name="viewport">: Makes your site responsive.
    • Other <meta> tags: Useful for SEO, such as description, keywords, and author.
  2. Title: Sets the document's title for the browser tab and search engines.
  3. Favicon Links: Both the ICO and SVG formats for fallback.
  4. CSS Styles: Links to external stylesheets for better organization, followed by internal styles if any overriding styles are needed.
  5. JavaScript:
    • External Scripts: Use the defer attribute to ensure scripts load after the HTML is parsed without blocking the page rendering.
    • Internal Scripts: Can be added for small bits of JavaScript that are specific to the page.

Conclusion

This structure allows for clarity and organization within the <head>, helping with both page performance and maintainability.

x
-
+

JSON Query (jq)

<
o
>

Overview of jq Command

jq is a powerful command-line tool designed for processing JSON data. It allows users to slice, filter, map, and transform JSON structures easily, similar to how tools like sed and awk work with text.

Key Features

Lightweight and Flexible

  • Written in C: jq is efficient and has no runtime dependencies.
  • Single Binary: You can download a single binary file for easy installation.

Command-Line Usage

  • Input as an argument jq . filename.json
  • Input as a redirect jq < filename.json
  • Input as piped standard input cat filename.json | jq
  • Input as echoed standard input echo '{"key": "value"}' | jq

Common Operations

OperationCommand ExampleDescription
Pretty-print JSON jq . file.json Formats JSON for better readability.
Extract a field jq '.field' file.json Retrieves the value of a specific field.
Filter arrays jq '.array[]' file.json Outputs each element in an array on a new line.
Combine filters jq '.field1, .field2' file.json Retrieves multiple fields at once.

Conclusion

jq is an essential tool for anyone working with JSON data, especially in scripting and data processing tasks. Its ability to handle complex queries and transformations makes it invaluable for developers and data engineers.


jq (programming language)
jq
JQ Select Explained: Selecting elements from JSON with Examples - Earthly Blog
The REAL Way to master JQ
The Ultimate JQ Tutorial: Everything You Need to Know to Parse JSON Like a Pro
Guide to Linux jq Command for JSON Processing | Baeldung on Linux
jq cheat sheet
Learn JSON in 10 Minutes
x
-
+

Computer Abstraction Layers

<
o
>
Computer Abstraction Layers
x
-
+

Programming Language Levels

<
o
>

Programming languages are categorized into different levels based on their abstraction from hardware.
The main levels are low-level, medium-level, and high-level languages.

Low-Level Programming Languages

  • Definition: These languages provide little or no abstraction from a computer's hardware.
  • Characteristics:
    • High efficiency in execution speed and memory usage.
    • Direct control over hardware components.
    • Small code size, suitable for limited storage environments.
  • Examples:
    • Machine Code: The lowest level, consisting of binary instructions/code directly executed by the CPU.
    • Assembly Language: A Symbolic representation of machine code, specific to a CPU architecture.

Medium-Level Programming Languages

  • Definition: These languages offer a balance between low-level control and high-level abstraction.
  • Characteristics:
    • Sufficient abstraction for intuitive and readable code.
    • Increased portability across different platforms.
    • More user-friendly than low-level languages.
  • Examples:
    • C: Combines low-level features with high-level abstractions.
    • C++: An extension of C that includes object-oriented features.
    • Pascal: A procedural language that emphasizes structured programming.

High-Level Programming Languages

  • Definition: Designed to be easy for humans to read and write, these languages abstract away hardware details.
  • Characteristics:
    • Focus on program logic rather than machine internals.
    • Features like variables, functions, and loops for easier coding.
    • Generally less efficient than low-level languages due to abstraction.
  • Examples:
    • Python: Known for its readability and simplicity.
    • Java: Widely used for its portability across platforms (WORA principle) and object-oriented features.
    • JavaScript: Widely used for web development, enabling interactive web pages.
    • C#: Developed by Microsoft, commonly used for Windows applications.
    • Ruby: Known for its elegant syntax, often used in web development.
    • Swift: Developed by Apple for iOS and macOS applications.
    • PHP: Primarily used for server-side web development.

This categorization helps in understanding the complexity and application of different programming languages.
Understanding these levels helps in choosing the right programming language for specific tasks and projects.

x
-
+

Alphabet

<
o
>
History of the alphabet

Letter
Grapheme
Letter case
Word
Pangram
The quick brown fox jumps over the lazy dog
Anagram
Latin vs Cyrillic vs Greek Alphabets In Europe - Brilliant Maps
Alphabets: Latin, Greek & Cyrillic

Alphabets: Latin, Greek & Cyrillic


Related:

List of writing systems
Language
Grammar
Letterform is a term used especially in typography, palaeography, calligraphy and epigraphy to mean a letter's shape.
Agglutination is a morphological process in which words are formed by stringing together morphemes (word parts), each of which corresponds to a single syntactic feature.
List of languages by total number of speakers
x
-
+

Logistics

<
o
>
Logistics
List of the largest shipbuilding companies
Category:Trucking companies of the United States - Wikipedia
Freight company
List of U.S. Class I railroads
16 Largest Trucking Companies In The US [As Of 2026] - RankRed
List of truck manufacturers
List of EMD locomotives
 Electro-Motive Diesel
  Progress Rail
   Caterpillar Inc.
Wabtec (Westinghouse Air Brake Technologies Corporation)
BNSF Railway
Union Pacific Railroad
CSX Transportation
Norfolk Southern Railway
Canadian National Railway
Canadian Pacific Kansas City
Why They Don't Build Bridges Like This Anymore
Thomas Viaduct
Starrucca Viaduct
Rockville Bridge
Tunkhannock Viaduct

U.S. Freight Companies

Company Name Founded Revenue (USD) Employees Headquarters
UPS Inc. 1907 97.3 billion 543,000 Atlanta, Georgia
FedEx Corp. 1971 20.6 billion 850,000+ Memphis, Tennessee
XPO Logistics 1989 12.8 billion 44,000 Greenwich, Connecticut
J.B. Hunt Transport Services Inc. 1961 12.16 billion 29,056 Lowell, Arkansas
Knight-Swift Transport Services 1990 4.67 billion 28,000+ Phoenix, Arizona

U.S. Freight Companies (Train)

Company Name Headquarters Location States Operated Key Features
BNSF Railway Fort Worth, Texas 28 Extensive network, significant intermodal services
CSX Transportation Jacksonville, Florida 23 Focus on intermodal and bulk transport
Canadian National Railway (CN) Montreal, Canada 20 (U.S. routes) Operates in both Canada and the U.S.
Canadian Pacific Kansas City (CPKC) Calgary, Canada 20 (U.S. routes) Cross-border operations with Mexico
Norfolk Southern Railway Norfolk, Virginia 22 Strong presence in the eastern U.S.
Union Pacific Railroad Omaha, Nebraska 23 Largest rail network in the U.S.

U.S. Logistics Companies

Rank Company Gross Revenue (Millions) Services Offered
1 Amazon Logistics $28,600 E-commerce fulfillment, last-mile delivery
2 UPS (United Parcel Service) $17,600 Integrated logistics, supply chain management
3 C.H. Robinson $15,647 Third-party logistics, freight brokerage
4 Kuehne + Nagel $7,156 Sea, air, and road logistics
5 Total Quality Logistics $6,884 Full truckload, LTL, intermodal services
6 FedEx Logistics $1,590 Express shipping, freight services
7 CEVA Logistics $3,580 Contract logistics, air and ocean freight
8 DB Schenker $2,850 Supply chain management, freight forwarding
9 Penske Logistics $4,308 Transportation, logistics management
10 Echo Global Logistics $3,700 Freight brokerage, supply chain solutions
x
-
+

Semiconductor

<
o
>
Semiconductor
History of the transistor
Field-effect transistor
IMEC

Leading Semiconductor Equipment Manufacturers

The main semiconductor equipment manufacturers include ASML, Applied Materials, Lam Research, and Tokyo Electron. These companies are leaders in providing the tools and systems necessary for semiconductor manufacturing.

Top Semiconductor Equipment Companies by Sales (2025)

Rank Company Ticker Area/Step Specialty Key Products Country Headquarters Year Founded Founder(s) Employees Sales ($B) Market Cap ($B) Market Share % 2025 AI Strategic Notes
1 ASML ASML Lithography EUV Monopoly EUV/DUV Scanners Netherlands Veldhoven 1984 Philips & ASMI 44,000+ 35.0 399.4 83% High-NA EUV is the gatekeeper for 2nm chips.
2 Applied Materials AMAT Deposition "Semiconductor Supermarket" Endura, Centura USA Santa Clara, CA 1967 M. McNeilly 35,700+ 28.6 216.6 25% Essential for Backside Power Delivery (BSPDN).
3 Lam Research LRCX Etch NAND & HBM Etch King Sense.i, Kiyo USA Fremont, CA 1980 David K. Lam 18,600+ 19.6 211.0 52% Vital for 12-layer HBM3e/HBM4 memory stacks.
4 Tokyo Electron 8035.T Litho/Etch EUV Track Monopoly Clean Track, Tactras Japan Tokyo 1963 Higashi/Kubodera 16,000+ 16.0 91.0 90% (Tracks) Mandatory partner; every ASML unit needs a TEL track.
5 KLA Corp KLAC Metrology The "Eyes" of the Fab Archer, SpectraShape USA Milpitas, CA 1975 Levy & Anderson 15,200+ 12.5 166.6 50%+ AI-driven inspection for 2nm yield management.
6 ASM Intl ASM.AS ALD ALD Market Leader Pulsar, Synergos Netherlands Almere 1968 A. del Prado 4,600+ 3.8 27.5 55% Primary supplier for Atomic Layer Deposition.
7 SCREEN 7735.T Cleaning Wet Processing Leader SU-3300 Japan Kyoto 1943 T. Ishida 6,000+ 3.3 8.4 45% Dominates cleaning for massive AI GPU dies.
8 Advantest 6857.T Test HBM Memory Testing V93000, T5833 Japan Tokyo 1954 I. Takeda 6,500+ 3.2 91.2 50% (Memory) Primary tester for NVIDIA's AI memory stacks.
9 Teradyne TER Test Logic & SoC Testing UltraFLEX, J750 USA N. Reading, MA 1960 D’Arbeloff/Nichols 6,500+ 2.9 30.3 40% (SoC) Primary tester for custom AI accelerators.
10 Kokusai Elec 6525.T Thermal Batch Furnace Leader Large Batch Furnaces Japan Tokyo 1949 N/A (Hitachi) 5,000+ 1.6 7.1 20% Leading thermal bonding for 3D packaging.
11 Varian (AMAT) AMAT Ion Implant Doping Monopoly VIISta Trident USA Gloucester, MA 1959 Varian Brothers ~1,500 1.1 N/A 70% Standard for ion implantation in logic chips.
HM AOSL AOSL Power Management AI Server Power Specialist MOSFETs, DrMOS, Power ICs Bermuda (USA Ops) Sunnyvale (Fab: Hillsboro) 2000 Mike Chang 2,500+ ~$0.7B ~$0.85B Niche Leader Critical for NVIDIA 800V AI rack power delivery.
Lithography
Printing the microscopic circuit patterns onto the wafer using light.
Deposition
Adding ultra-thin layers of metals or chemicals to build the chip's structure.
Etching
Selectively removing material to "carve" the patterns into the wafer.
Cleaning
Ensuring the wafer is 100% free of contaminants between every single step.
Metrology
Using lasers and AI to inspect wafers for sub-nanometer errors or defects.
Testing
Electrical verification to ensure every individual chip on the wafer works.

Analysis of the "Market Share" Moats

  • The "EUV" Bottleneck: ASML's 83% share of lithography actually understates their power. In the advanced AI segment (sub-7nm), they have 100% market share because no other company can produce EUV machines.
  • Tokyo Electron's Stealth Monopoly: They own 90% of the "Track" market. This means for almost every ASML machine sold, a TEL machine must be sold to sit next to it.
  • Advantest vs. Teradyne: Advantest has taken the lead in market cap because they won the "AI Memory" (HBM) war, while Teradyne remains the leader in "Logic" (the brains of the chip).

Overview of the Industry

  • The semiconductor equipment industry is crucial for manufacturing semiconductors, which are essential components in electronic devices.
  • Major manufacturers provide systems for producing integrated circuits, MEMS, and other semiconductor devices.
  • The industry has seen significant growth, especially post-COVID-19, as demand for semiconductors has surged.

Market Dynamics

  • The U.S. semiconductor industry is highly competitive, with many companies involved in various aspects of semiconductor manufacturing.
  • The CHIPS for America Act aims to boost domestic production and reduce reliance on foreign suppliers, particularly from China.

These companies play a vital role in the semiconductor supply chain, impacting technology development and production capabilities globally.

Videos

Why The World Relies On ASML For Machines That Print Chips - YouTube
Jireh Semiconductor - YouTube

10 Biggest Semiconductor Companies (2025)

  • AMD
  • ASML Holding
  • Broadcom
  • Intel
  • Micron Technology
  • Nvidia
  • Qualcomm
  • Samsung Electronics
  • SK Hynix
  • TSMC

Links

Semiconductor industry
List of semiconductor fabrication plants
Renesas Electronics
x
-
+

North Pole

<
o
>
North Pole (90.0000° N, 0.0000° E)
x
-
+

LMDE7 Install and Config

<
o
>

Intro

This pane documents a complete, clean LMDE7 (Linux Mint Debian Edition 7 'Gigi') installation and configuration. It captures the intended state of the system — the architecture, identity, mounts, scripts, and conventions that define how this workstation is built and maintained.

Fresh Install Philosophy

This manual reflects the ideal, curated environment of a fresh LMDE7 install. Temporary files, editor swap files, timestamped backups, and other ephemeral artifacts are intentionally omitted to avoid noise and preserve clarity. Only meaningful, intentional components are documented.

The goal is to provide a reproducible, narrative‑driven reference that future‑you can use to rebuild the system exactly, without re‑debugging or rediscovering decisions.

Scope

  • System preparation and core packages
  • Terminal refinements and keybindings
  • Identity layer and environment unification
  • NAS mounts, permissions, and local overrides
  • Host identity, SSH configuration, and user artifacts
  • Flatpak ecosystem and application setup
  • Notes, philosophy, and future additions

Design Principles

  • Clarity — every subsystem is documented with intent and rationale.
  • Reproducibility — the system can be rebuilt from scratch using this pane alone.
  • Minimalism — only meaningful components are included; noise is excluded.
  • Narrative — decisions are preserved as part of the system’s story.

Install Date

bash-5.2$ ls -ld /lost+found
drwx------ 2 root root 16384 Jan 28 22:43 /lost+found
bash-5.2$ printf "$(ls -lct /etc | tail -1 | awk '{print $6, $7, $8}') $(date +%Y)\n"
Jan 28 22:44 2026
bash-5.2$ ls -lct /boot/
total 151660
-rw-r--r-- 1 root root 142887732 Jan 28 22:50 initrd.img-6.12.48+deb13-amd64
drwxr-xr-x 6 root root      4096 Jan 28 22:49 grub
-rw-r--r-- 1 root root  12109760 Jan 28 22:47 vmlinuz-6.12.48+deb13-amd64
-rw-r--r-- 1 root root    283306 Jan 28 22:44 config-6.12.48+deb13-amd64
-rw-r--r-- 1 root root        83 Jan 28 22:44 System.map-6.12.48+deb13-amd64
drwxr-xr-x 2 root root      4096 Dec 31  1969 efi
bash-5.2$

System Prep

  • apt update
  • apt upgrade
  • reboot

Core Packages

  • apt install build-essential # compiler + toolchain
  • apt install net-tools # ifconfig, netstat, etc.
  • apt install htop # process viewer
  • apt install tree # directory tree
  • apt install fastfetch # neofetch-like tool for fetching system information
  • apt install wget # downloader
  • apt install traceroute # network path
  • apt install nfs-common # NFS client
  • apt install cpulimit # throttle CPU
  • apt install eog # image viewer
  • apt install imagemagick # image manipulation
  • apt install kdeconnect # phone integration
  • apt install woff2# utilities for converting fonts to WOFF 2.0 (woff2_compress <file>)
  • apt install woff-tools# transitional package (sfnt2woff <file>)
  • apt install gimp# GNU Image Manipulation Program
  • apt install vlc# multimedia player and streamer
  • LocalSend ➜ AppImage# cross-platform file sharing

fastfetch

#] kemiko@lmde:~ 20:10:26 0 [# fastfetch
          `.-::---..            kemiko@lmde
      .:++++ooooosssoo:.        -----------
    .+o++::.      `.:oos+.      OS: LMDE 7 (gigi) x86_64
   :oo:.`             -+oo:     Host: HP Compaq Elite 8300 SFF
 `+o/`    .::::::-.    .++-`    Kernel: Linux 6.12.48+deb13-amd64
`/s/    .yyyyyyyyyyo:   +o-`    Uptime: 11 days, 20 hours, 51 mins
`so     .ss       ohyo` :s-:    Packages: 1994 (dpkg)
`s/     .ss  h  m  myy/ /s``    Shell: bash 5.2.37
`s:     `oo  s  m  Myy+-o:`     Display (DELL ST2420L): 1920x1080 @ 60 Hz in 24" [External]
`oo      :+sdoohyoydyso/.       DE: Cinnamon 6.4.13
 :o.      .:////////++:         WM: Muffin (X11)
 `/++        -:::::-            WM Theme: Mint-L-Dark-Orange-kemiko (Mint-Y)
  `++-                          Theme: Mint-L-Darker-Orange [GTK2/3/4]
   `/+-                         Icons: Mint-Y-Sand [GTK2/3/4]
     .+/.                       Font: Ubuntu (10pt) [GTK2/3/4]
       .:+-.                    Cursor: Bibata-Modern-Classic (24px)
          `--.``                Terminal: GNOME Terminal 3.56.2
                                Terminal Font: DejaVu Sans Mono (10pt)
                                CPU: Intel(R) Core(TM) i5-3470 (4) @ 3.60 GHz
                                GPU: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller @ 1.10 GHz [Integrated]
                                Memory: 16.91 GiB / 31.23 GiB (54%)
                                Swap: 0 B / 16.00 GiB (0%)
                                Disk (/): 28.38 GiB / 197.34 GiB (14%) - ext4
                                Disk (/media/kemiko/Kent): 45.67 GiB / 57.75 GiB (79%) - exfat [External]
                                Local IP (eno1): 192.168.1.6/24
                                Locale: en_US.UTF-8
#] kemiko@lmde:~ 20:32:40 0 [#

journald Tuning

#] kemiko@lmde:~ 20:15:48 0 [# ls /var/log/journal/
08f04386adf845ac8a5373839e927012
#] kemiko@lmde:~ 20:15:55 0 [# ls /var/log/journal/08f04386adf845ac8a5373839e927012/
system.journal  user-1000.journal
#] kemiko@lmde:~ 20:15:58 0 [# file /var/log/journal/08f04386adf845ac8a5373839e927012/
/var/log/journal/08f04386adf845ac8a5373839e927012/: setgid, directory
#] kemiko@lmde:~ 20:16:08 0 [# ls -la /var/log/journal/08f04386adf845ac8a5373839e927012/
total 40976
drwxr-sr-x+ 2 root systemd-journal     4096 Jan 29 00:54 .
drwxr-sr-x+ 3 root systemd-journal     4096 Jan 28 23:52 ..
-rw-r-----+ 1 root systemd-journal 33554432 Feb 10 20:15 system.journal
-rw-r-----+ 1 root systemd-journal  8388608 Feb 10 20:15 user-1000.journal
#] kemiko@lmde:~ 20:16:16 0 [# ls -lah /var/log/journal/08f04386adf845ac8a5373839e927012/
total 41M
drwxr-sr-x+ 2 root systemd-journal 4.0K Jan 29 00:54 .
drwxr-sr-x+ 3 root systemd-journal 4.0K Jan 28 23:52 ..
-rw-r-----+ 1 root systemd-journal  32M Feb 10 20:15 system.journal
-rw-r-----+ 1 root systemd-journal 8.0M Feb 10 20:15 user-1000.journal
#] kemiko@lmde:~ 20:16:19 0 [# journalctl --disk-usage
Archived and active journals take up 40M in the file system.
#] kemiko@lmde:~ 20:17:10 0 [# ls -lh /var/log/journal
total 4.0K
drwxr-sr-x+ 2 root systemd-journal 4.0K Jan 29 00:54 08f04386adf845ac8a5373839e927012
#] kemiko@lmde:~ 20:17:34 0 [# ls -lh /var/log/journal/08f04386adf845ac8a5373839e927012
total 41M
-rw-r-----+ 1 root systemd-journal  32M Feb 10 20:20 system.journal
-rw-r-----+ 1 root systemd-journal 8.0M Feb 10 20:15 user-1000.journal
#] kemiko@lmde:~ 20:20:37 0 [# sudo mkdir -p /etc/systemd/journald.conf.d
[sudo] password for kemiko:       
#] kemiko@lmde:~ 20:21:40 0 [# sudo vi /etc/systemd/journald.conf.d/99-journal.conf
#] kemiko@lmde:~ 20:22:21 0 [# sudo cat /etc/systemd/journald.conf.d/99-journal.conf
[Journal]
Storage=persistent
SystemMaxUse=200M
SystemKeepFree=500M
MaxFileSec=1month
Compress=yes
Seal=yes
SyncIntervalSec=5m
#] kemiko@lmde:~ 20:22:26 0 [# sudo systemctl restart systemd-journald
#] kemiko@lmde:~ 20:22:34 0 [# journalctl --disk-usage
Archived and active journals take up 40M in the file system.
#] kemiko@lmde:~ 20:22:40 0 [#

systemd-analyze

#] kemiko@lmde:~ 20:38:19 0 [# systemd-analyze blame
3min 1.083s getty@tty3.service
     9.460s blueman-mechanism.service
     9.380s e2scrub_reap.service
     6.740s dev-sda6.device
     5.691s udisks2.service
     4.576s systemd-journal-flush.service
     4.135s accounts-daemon.service
     3.813s NetworkManager.service
     3.676s NetworkManager-wait-online.service
     3.627s ModemManager.service
     3.584s debian-system-adjustments.service
     3.531s sysfsutils.service
     3.509s apparmor.service
     3.216s lvm2-monitor.service
     3.114s apt-daily.service
     3.101s polkit.service
     3.095s avahi-daemon.service
     3.023s bluetooth.service
     2.945s thermald.service
     2.904s dbus.service
     2.579s fwupd.service
     2.537s dkms.service
     2.387s switcheroo-control.service
     2.249s systemd-udevd.service
     2.242s xfs_scrub_all.service
     1.982s networking.service
     1.858s plymouth-start.service
     1.839s systemd-modules-load.service
     1.822s rsyslog.service
     1.806s sysstat.service
     1.718s boot-efi.mount
     1.679s home-kemiko.mount
     1.581s systemd-tmpfiles-setup-dev-early.service
     1.423s plocate-updatedb.service
     1.349s systemd-tmpfiles-setup.service
     1.282s systemd-logind.service
     1.247s systemd-fsck@dev-disk-by\x2duuid-6B65\x2d512B.service
     1.218s lm-sensors.service
     1.171s grub-common.service
     1.089s wpa_supplicant.service
     1.036s systemd-random-seed.service
      965ms run-rpc_pipefs.mount
      939ms man-db.service
      864ms rpcbind.service
      690ms apt-daily-upgrade.service
      656ms nfs-blkmap.service
      630ms plymouth-read-write.service
      535ms ifupdown-pre.service
      513ms systemd-udev-trigger.service
      501ms power-profiles-daemon.service
      457ms systemd-binfmt.service
      453ms colord.service
      452ms rpc-statd-notify.service
      441ms ufw.service
      418ms logrotate.service
      384ms systemd-udev-load-credentials.service
      352ms systemd-sysctl.service
#] kemiko@lmde:~ 20:38:22 0 [# systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

graphical.target @24.081s
└─power-profiles-daemon.service @23.578s +501ms
  └─multi-user.target @23.576s
    └─getty.target @23.576s
      └─getty@tty1.service @23.576s
        └─plymouth-quit-wait.service @23.309s +264ms
          └─systemd-user-sessions.service @23.269s +36ms
            └─remote-fs.target @23.193s
              └─home-kemiko.mount @21.513s +1.679s
                └─network-online.target @21.511s
                  └─NetworkManager-wait-online.service @17.833s +3.676s
                    └─NetworkManager.service @14.017s +3.813s
                      └─dbus.service @11.106s +2.904s
                        └─basic.target @10.902s
                          └─paths.target @10.901s
                            └─systemd-ask-password-wall.path @4.097s
                              └─-.mount @4.009s
                                └─-.slice @4.009s
#] kemiko@lmde:~ 20:38:34 0 [# systemd-analyze time
Startup finished in 5.946s (kernel) + 24.081s (userspace) = 30.027s 
graphical.target reached after 24.081s in userspace.
#] kemiko@lmde:~ 20:38:40 0 [# 

Swap Settings

Implement a swap file
#] kemiko@lmde:~ 00:35:01 0 [# sudo fallocate -l 16G /swapfile
#] kemiko@lmde:~ 00:35:03 0 [# sudo file /swapfile
swapfile: data
#] kemiko@lmde:~ 00:35:05 0 [# sudo ls -la /swapfile
-rw-r--r-- 1 root root 16G Jan 29 00:35 /swapfile
#] kemiko@lmde:~ 00:35:07 0 [# sudo chmod 600 /swapfile
#] kemiko@lmde:~ 00:35:09 0 [# ls -la /swapfile
-rw------- 1 root root 16G Jan 29 00:45 /swapfile
#] kemiko@lmde:~ 00:35:11 0 [# sudo mkswap /swapfile
Setting up swapspace version 1, size = 16 GiB (17179865088 bytes)
no label, UUID=ec7c51b0-fd71-4e5e-a813-b0600c21a248
#] kemiko@lmde:~ 00:43:13 0 [# file /swapfile
/swapfile: Linux swap file, 4k page size, little endian, version 1, size 4194303 pages, 0 bad pages, no label, UUID=ec7c51b0-fd71-4e5e-a813-b0600c21a248
#] kemiko@lmde:~ 00:35:15 0 [# sudo swapon /swapfile
#] kemiko@lmde:~ 00:35:15 0 [# sudo swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file  16G   0G   -2
#] kemiko@lmde:~ 00:35:17 0 [# sudo echo -e "\n/swapfile none swap defaults 0 0" >> /etc/fstab
#] kemiko@lmde:~ 00:35:19 0 [#
Change swappiness
#] kemiko@lmde:~ 00:37:05 0 [# cat /proc/sys/vm/swappiness
60
#] kemiko@lmde:~ 00:37:06 0 [# sudo sysctl vm.swappiness=20
vm.swappiness = 20
#] kemiko@lmde:~ 00:37:08 0 [# vi /etc/sysctl.d/99-swappiness.conf
#] kemiko@lmde:~ 00:37:12 0 [# cat /etc/sysctl.d/99-swappiness.conf
# LMDE7 tuned swappiness for HDD-backed swap
# 60 — default; the kernel starts swapping earlier than necessary on large‑RAM systems
# 45 — moderate; delays swapping but still uses it under load
# 20 — conservative; RAM is preferred strongly, swap used only when memory is genuinely cold
# 10 — very conservative; swap becomes a safety net rather than an active tool
vm.swappiness=20
#] kemiko@lmde:~ 00:37:13 0 [#

cat /etc/fstab

#] kemiko@lmde:~/doc 21:03:24 0 [# cat /etc/fstab
#### Static Filesystem Table File
proc  /proc proc  defaults  0 0
# /dev/sda6
UUID=23d11aea-dccd-4fb7-ac4a-468a31c5351f / ext4  rw,errors=remount-ro  0 1
# old /dev/sdb2 entry removed
# UUID=D51A-5103  /boot/efi vfat  defaults  0 1
# /dev/sda5
UUID=6B65-512B  /boot/efi vfat  defaults  0 1

# swap file
UUID=ec7c51b0-fd71-4e5e-a813-b0600c21a248  /swapfile  none  swap  defaults  0 0

#192.168.1.3:/share/homes/LMDE7  /home/kemiko  nfs4  rw,noatime,_netdev  0  0
#192.168.1.3:/share/homes/LMDE7  /home/kemiko  nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

# ==============================
# NAS – NFS Mounts (192.168.1.3)
# ==============================

###############################################################################
# Home directory mount (NFSv4)
#
# This mount remains intentionally unchanged. While the rest of the NAS
# subsystem has been unified under NFSv3 for clarity and consistency, the
# /home/kemiko directory continues to use the NAS’s NFSv4 pseudo-root path:
#
#     /share/homes/LMDE7  →  /home/kemiko
#
# Rationale:
#   - This mount is stable and functioning correctly under NFSv4.
#   - It is isolated from the unified NFSv3 mounts and does not introduce
#     namespace ambiguity or mixed-path conflicts.
#   - Migrating the home directory is optional and can be done later without
#     affecting the unified NFSv3 subsystem.
#
# This block documents the decision to preserve the existing behavior.
###############################################################################
192.168.1.3:/share/homes/LMDE7      /home/kemiko         nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

###############################################################################
# Unified NFSv3 configuration
#
# After investigating the NAS’s mixed NFSv3/NFSv4 behavior, all shares have
# been migrated to NFSv3 for clarity, consistency, and predictable behavior.
#
# Rationale:
#   - The NAS exports all shares cleanly via NFSv3 using literal paths:
#         /homes, /Multimedia, /3D-Models, /Public
#   - NFSv4 on this NAS uses a pseudo-root (/share/NFSv=4) and only mapped
#     some shares (homes, Multimedia, 3D-Models) into the virtual namespace.
#   - /Public was *not* mapped into the NFSv4 namespace, causing /share/Public
#     to fail even though the directory existed.
#   - NFSv3 avoids pseudo-root complexity, vendor quirks, and inconsistent
#     namespace mapping. All shares behave uniformly under NFSv3.
#
# New unified mounts (alphabetized):
192.168.1.3:/3D-Models    /media/nas/models    nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0
192.168.1.3:/homes        /media/nas/homes     nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0
192.168.1.3:/Multimedia   /media/nas/media     nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0
192.168.1.3:/Public       /media/nas/public    nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0
#
# End unified NFSv3 block.
###############################################################################

/home/kemiko.localbind/.cache                 /home/kemiko/.cache              none  bind  0  0
/home/kemiko.localbind/.mozilla               /home/kemiko/.mozilla            none  bind  0  0
/home/kemiko.localbind/.thumbnails            /home/kemiko/.thumbnails         none  bind  0  0
/home/kemiko.localbind/Apps                   /home/kemiko/Apps                none  bind  0  0
/home/kemiko.localbind/.opera/opera           /home/kemiko/.config/opera       none  bind  0  0
/home/kemiko.localbind/.chromium/chromium     /home/kemiko/.config/chromium    none  bind  0  0
/home/kemiko.localbind/.librewolf/librewolf   /home/kemiko/.config/librewolf   none  bind  0  0
#] kemiko@lmde:~/doc 21:03:29 0 [#

cat /etc/default/grub

] kemiko@lmde:~ 21:21:59 0 [# cat /etc/default/grub
# If you change this file or any /etc/default/grub.d/*.cfg file,
# run 'update-grub' afterwards to update /boot/grub/grub.cfg.
# For full documentation of the options in these files, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA
# you can see them in real GRUB with the command `videoinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
#] kemiko@lmde:~ 21:22:02 0 [#

cat /etc/hosts

#] kemiko@lmde:~ 21:32:06 0 [# cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       lmde
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

192.168.1.1     rtr
192.168.1.2     web
192.168.1.3     nas
192.168.1.4     box
192.168.1.5     vmw
192.168.1.6     lmd
#] kemiko@lmde:~ 21:32:08 0 [#

cat /etc/hostname

#] kemiko@lmde:~ 21:32:08 0 [# cat /etc/hostname
lmde
#] kemiko@lmde:~ 21:32:09 0 [#

df -h

#] kemiko@lmde:~ 20:51:31 0 [# df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                             16G     0   16G   0% /dev
tmpfs                           3.2G  1.5M  3.2G   1% /run
/dev/sda6                       198G   29G  159G  16% /
tmpfs                            16G  353M   16G   3% /dev/shm
tmpfs                           5.0M  8.0K  5.0M   1% /run/lock
tmpfs                            16G  161M   16G   2% /tmp
/dev/sda5                       512M  4.0K  512M   1% /boot/efi
192.168.1.3:/share/homes/LMDE7  1.1T  825G  234G  78% /home/kemiko
tmpfs                           1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
tmpfs                           3.2G  6.0M  3.2G   1% /run/user/1000
/dev/sdc1                        58G   46G   13G  80% /media/kemiko/Kent
192.168.1.3:/3D-Models          1.1T  825G  234G  78% /media/nas/models
192.168.1.3:/homes              1.1T  825G  234G  78% /media/nas/homes
192.168.1.3:/Multimedia         1.1T  825G  234G  78% /media/nas/media
192.168.1.3:/Public             1.1T  825G  234G  78% /media/nas/public
LibreWolf.x86_64.AppImage       117M  117M     0 100% /tmp/.mount_LibreWbcNNNp
tmpfs                           1.0M     0  1.0M   0% /run/credentials/getty@tty4.service
tmpfs                           1.0M     0  1.0M   0% /run/credentials/getty@tty3.service
tmpfs                           1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
#] kemiko@lmde:~ 20:51:32 0 [#

lsblk

#] kemiko@lmde:~/doc 20:57:44 0 [# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   100M  0 part 
├─sda2   8:2    0 262.9G  0 part 
├─sda3   8:3    0   750M  0 part 
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0   513M  0 part /boot/efi
└─sda6   8:6    0 201.6G  0 part /home/kemiko/.config/librewolf
                                 /home/kemiko/.config/chromium
                                 /home/kemiko/.config/opera
                                 /home/kemiko/Apps
                                 /home/kemiko/.thumbnails
                                 /home/kemiko/.cache
                                 /home/kemiko/.mozilla
                                 /
sdb      8:16   1     0B  0 disk 
sdc      8:32   1  57.8G  0 disk 
└─sdc1   8:33   1  57.7G  0 part /media/kemiko/Kent
sr0     11:0    1  1024M  0 rom  
#] kemiko@lmde:~/doc 20:57:48 0 [# lsblk -f
NAME   FSTYPE FSVER LABEL          UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                    
├─sda1 ntfs         System         AC26EA3D26EA07E2                                    
├─sda2 ntfs         Windows        DAE2EB50E2EB2F85                                    
├─sda3 ntfs         Recovery image AA9CEC0A9CEBCF3F                                    
├─sda4                                                                                 
├─sda5 vfat   FAT32                6B65-512B                               512M     0% /boot/efi
└─sda6 ext4   1.0                  23d11aea-dccd-4fb7-ac4a-468a31c5351f  158.9G    14% /home/kemiko/.config/librewolf
                                                                                       /home/kemiko/.config/chromium
                                                                                       /home/kemiko/.config/opera
                                                                                       /home/kemiko/Apps
                                                                                       /home/kemiko/.thumbnails
                                                                                       /home/kemiko/.cache
                                                                                       /home/kemiko/.mozilla
                                                                                       /
sdb                                                                                    
sdc                                                                                    
└─sdc1 exfat  1.0   Kent           C04D-548C                              12.1G    79% /media/kemiko/Kent
sr0                                                                                    
#] kemiko@lmde:~/doc 20:57:52 0 [#

Vim Setup

  • apt install vim # install full vim.basic
  • update-alternatives --list vi # show available vi providers
  • update-alternatives --config vi # select vim.basic
Selection    Path                Priority   Status
------------------------------------------------------------
0            /usr/bin/vim.basic   30        auto mode
1            /usr/bin/vim.basic   30        manual mode
2            /usr/bin/vim.tiny    15        manual mode

Browsers

  • Firefox ➜ 143.0.3 (preinstalled)
  • Chromium ➜ 144.0.7559.96 (apt)
  • LibreWolf ➜ 147.0.2-1 (AppImage on SSD)
  • Opera ➜ 126.0.5750.59 (official .deb + apt repo)
  • tor ➜ currently not installed

Browser Ecosystem Overview

The browser environment is optimized for performance and stability. All high‑churn browser profiles live on local SSD storage and are bind‑mounted over the NFS‑backed home directory. This removes NFS latency from profile operations while preserving the expected paths under /home/kemiko. All browser caches live under ~/.cache, which is also SSD‑local.

Browser Profile Path (User View) SSD‑Local Source Path Cache Location Notes
Firefox /home/kemiko/.mozilla /home/kemiko.localbind/.mozilla /home/kemiko/.cache/mozilla Native package; stable profile structure.
Opera /home/kemiko/.config/opera /home/kemiko.localbind/.opera/opera /home/kemiko/.cache/opera Includes built‑in extensions and partner data.
Chromium /home/kemiko/.config/chromium /home/kemiko.localbind/.chromium/chromium /home/kemiko/.cache/chromium Clean, predictable profile tree.
LibreWolf /home/kemiko/.config/librewolf /home/kemiko.localbind/.librewolf/librewolf /home/kemiko/.cache/librewolf AppImage; Firefox‑style profile layout.

Why SSD for Browsers

Browser profiles generate constant I/O: tabs, sessionstore, cookies, history, favicons, extensions, service workers, and local storage. On NFS this causes UI stalls, slow startup/shutdown, and unnecessary NAS load. Keeping profiles and caches on SSD removes network latency from these operations while still allowing the NFS home directory to remain the structural source of truth.

  • Faster interaction: Tab switching, scrolling, and session restore remain responsive under load.
  • Reduced NAS churn: High‑frequency writes stay local instead of hitting the network.
  • Predictable behavior: Browsers behave like they are running on a purely local home directory.

Browser Migration Ritual

All browsers follow the same migration pattern to keep the layout consistent and reversible.

  1. Shut down the browser: Confirm with pgrep that no processes remain.
  2. Create SSD‑local directory: e.g. /home/kemiko.localbind/.librewolf.
  3. Move the profile: Move the entire profile tree from NFS to SSD.
  4. Recreate the mountpoint: Create an empty directory on the NFS side.
  5. Add the fstab entry: Bind SSD → NFS path.
  6. Reload and mount: systemctl daemon-reload, then mount -a.
  7. Validate: Check lsblk, SSD contents, and that the NFS mountpoint is empty.

Browser Storage Diagram

SSD (sda6)
/home/kemiko.localbind/
  .cache/
  .mozilla/
  .thumbnails/
  Apps/
  .opera/opera/
  .chromium/chromium/
  .librewolf/librewolf/

NFS Home (/share/homes/LMDE7)
/home/kemiko/
  .cache/              → bind → SSD
  .mozilla/            → bind → SSD
  .thumbnails/         → bind → SSD
  Apps/                → bind → SSD
  .config/opera/       → bind → SSD
  .config/chromium/    → bind → SSD
  .config/librewolf/   → bind → SSD

Browser Philosophy

The browser ecosystem follows three principles: high‑churn data stays on SSD for performance, the NFS‑backed home directory remains the structural source of truth, and every browser uses the same bind‑mount grammar. This keeps behavior consistent across applications while preserving a clear separation between volatile SSD state and durable NAS‑backed home data.


LibreWolf ➜ Profile Backup / Restore

# Profile Location ➜ lmde (local) and LMDE7 (NAS)
~/.librewolf/<profile-name>/

# Identify active profile
about:profiles

# Backup (simple directory copy)
cp -a ~/.config/librewolf/librewolf/<profile-name> ~/bck/librewolf-profile-$(date +%Y%m%d)

# Restore (overwrite existing profile)
cp -a ~/bck/librewolf-profile-YYYYMMDD ~/.librewolf/<profile-name>

# Notes:
# - Root Directory contains the real profile: prefs, extensions, containers, history, bookmark, session data.
# - Local Directory is cache-only and is regenerated automatically.
# - Safe to restore while LibreWolf is closed.
# - If profile name changes, update profiles.ini via about:profiles.
# - Good practice: back up before major config changes or extension experiments.
# - Optional: confirm restored profile contents:
#     ls ~/.librewolf/<profile-name>/

VPN Ecosystem

The VPN layer provides network‑level privacy: protection from ISP‑level data harvesting, secure public Wi‑Fi usage, and predictable encrypted routing. This is not for anonymity or evasion; it is the network equivalent of LibreWolf’s browser‑level protections — clean, transparent, and privacy‑first.

Why Use a VPN

  • Prevent ISP profiling: ISPs log DNS queries, traffic patterns, and browsing metadata by default.
  • Secure public networks: Coffee shops, hotels, and airports expose unencrypted traffic.
  • Reduce tracking surfaces: A VPN removes one layer of metadata correlation.
  • Predictable behavior: All outbound traffic is encrypted and routed through a single, known endpoint.

Why Mullvad

Mullvad aligns with the same philosophy as LibreWolf: privacy by design, no telemetry, no marketing gimmicks, and no data harvesting. It is one of the few VPNs with transparent ownership, public audits, and a strict no‑logs stance backed by verifiable behavior.

Property Mullvad Behavior
No account Uses a random account number; no email or personal info required.
Flat pricing €5/month, no sales, no upsells, no gimmicks.
No telemetry No analytics, no tracking, no background reporting.
Audited Regular independent audits of infrastructure and client software.
Transparent ownership No holding companies, no hidden investors, no data brokers.
Browser‑agnostic Works with LibreWolf, Firefox, Chromium, Opera, and Tor Browser.

Installation (LMDE)

# Install Mullvad VPN
sudo apt install mullvad-vpn

# Enable and start the daemon
sudo systemctl enable --now mullvad-daemon

# Verify service status
mullvad status

# Connect (after adding your account number)
mullvad relay set location us
mullvad connect

Notes & Behavior

  • No login: Authentication uses a 16‑digit account number.
  • No browser integration required: VPN is system‑wide; browsers remain unchanged.
  • Works with containers: LibreWolf containers remain fully isolated.
  • Predictable routing: All outbound traffic flows through the Mullvad tunnel.
  • Optional: Mullvad Browser is not required; LibreWolf remains the primary browser.

Verification

# Check external IP
curl https://am.i.mullvad.net/ip

# Check Mullvad connection status
mullvad status

# Confirm DNS is routed through Mullvad
curl https://am.i.mullvad.net/dns

VPN + Browser Ecosystem Integration

The VPN layer (Mullvad) and the browser layer (LibreWolf, Firefox, Chromium, Opera) operate independently but complement each other. Mullvad provides encrypted network routing, while each browser maintains its own privacy posture, containers, and SSD-local profiles. This separation keeps behavior predictable and avoids cross-layer interference.

Layer Responsibilities

Layer Responsibility Notes
Mullvad VPN Encrypts all outbound WAN traffic LAN traffic remains local; no browser integration required.
Browser Privacy controls, containers, isolation Profiles stored on SSD; caches under ~/.cache.
NFS Home Structural source of truth Bind-mounted paths ensure consistent layout.
SSD Localbind High-churn data storage Profiles, caches, and browser state remain fast and local.

Behavior Notes

  • No browser changes: Mullvad does not modify browser settings or profiles.
  • Containers remain isolated: VPN routing does not affect per-site container behavior.
  • DNS routing: All DNS queries are sent through Mullvad’s encrypted tunnel.
  • LAN access preserved: Local NAS and devices remain reachable.
  • Consistent IP: All browsers share the same external IP when VPN is active.

Verification (Browser + VPN)

# Check external IP (browser)
https://am.i.mullvad.net/ip

# Check DNS routing (browser)
https://am.i.mullvad.net/dns

# Check VPN status (terminal)
mullvad status

Integration Philosophy

The VPN and browser layers remain intentionally decoupled. Mullvad handles transport-level privacy, while each browser maintains its own isolation model. This mirrors the system’s overall design: SSD for performance, NFS for structure, containers for context separation, and Mullvad for encrypted routing.


VPN Flow Diagram

This diagram shows how browser traffic moves through the system: from the application layer, through the Linux networking stack, into the Mullvad tunnel, and out to the WAN. Local LAN traffic bypasses the VPN and is routed directly by the kernel.

+------------------+
|   Browser Layer  |
| (LibreWolf, etc) |
+---------+--------+
          |
          v
+------------------+
| Linux Kernel     |
| Routing Table    |
+---------+--------+
          | (LAN traffic)
          |------------------> Local Network (NAS, router, devices)
          |
          v (WAN traffic)
+------------------+
| Mullvad Tunnel   |
| (wg-mullvad)     |
+---------+--------+
          |
          v
+------------------+
|      Internet    |
|   (WAN egress)   |
+------------------+

The separation between LAN and WAN routing ensures predictable behavior: local services remain reachable, while all external traffic is encrypted and routed through Mullvad.


VPN Best Practices

These practices keep Mullvad predictable, stable, and aligned with the system’s privacy model. They mirror the same philosophy used for browser profiles, containers, and SSD-local storage.

  • Connect early: Start Mullvad before opening browsers to ensure consistent external IP and DNS routing.
  • Verify routing: Use mullvad status and https://am.i.mullvad.net to confirm tunnel state.
  • Keep LAN access enabled: Default behavior preserves NAS and local device connectivity.
  • Use stable locations: Choose a preferred relay region (e.g., mullvad relay set location us) for predictable IPs.
  • Update regularly: Mullvad client updates include security fixes and relay improvements.
  • Browser independence: Let browsers manage their own privacy (containers, isolation, SSD-local profiles).
  • No browser extensions: Avoid VPN browser extensions; use the system-wide tunnel for consistency.
  • Check after sleep/wake: Confirm the tunnel reconnects cleanly after suspend/resume cycles.

VPN Subsystem Behavior

Mullvad runs as a systemd-managed service (mullvad-daemon) on LMDE7. It integrates cleanly with NetworkManager and the Linux routing stack, providing stable and predictable behavior.

Service Management

# Check service status
systemctl status mullvad-daemon

# Start or stop the service
sudo systemctl start mullvad-daemon
sudo systemctl stop mullvad-daemon

# Enable autostart at boot
sudo systemctl enable mullvad-daemon

Connection Behavior

  • Autostart: When enabled, the daemon starts at boot and reconnects automatically.
  • Sleep/Wake: The tunnel typically reconnects within seconds after resume.
  • Multiple interfaces: Mullvad prefers the default route; switching networks triggers a reconnect.
  • DNS handling: Mullvad overrides DNS to its encrypted resolvers while connected.
  • LAN bypass: Local traffic is routed directly by the kernel unless LAN blocking is enabled.

Logs & Diagnostics

# View Mullvad logs
journalctl -u mullvad-daemon

# Check current tunnel state
mullvad status

# Show active relay
mullvad relay get

This behavior keeps Mullvad predictable and non-intrusive, fitting cleanly into the system’s layered architecture: SSD-local browser profiles, NFS-backed home structure, container isolation, and encrypted WAN routing.


LibreWolf ➜ about:config Essentials

# Fingerprinting & Privacy
privacy.resistFingerprinting = true
# privacy.clearOnShutdown.*    # review per‑item behavior
privacy.clearOnShutdown.cookies = false   # keeps logged into Gmail, etc
# Notes on shutdown‑clearing behavior:
# - Disk cache is already disabled in LibreWolf, so keeping memory cache is harmless.
# - Cookie isolation (cookieBehavior=5) prevents cross‑site tracking even with persistent cookies.
# - Keeping session cookies aligns with session restore and avoids unnecessary re‑authentication.
network.cookie.cookieBehavior = 5   # total isolation (LibreWolf default)

# Session Restore
browser.startup.page = 3   # 0 → Show a blank page, 1 → Show your home page, 2 → Show the last visited page, 3 → Restore previous session (windows + tabs)
browser.sessionstore.resume_from_crash = true

# HTTPS Enforcement
dom.security.https_only_mode = true

# Performance & Memory
browser.tabs.unloadOnLowMemory = true
browser.cache.disk.enable = false     # LibreWolf default (disk cache disabled)

# Extensions & Scopes
extensions.autoDisableScopes = 0      # allow user-installed extensions without prompts

# URL Bar Suggestions
browser.urlbar.suggest.bookmark = true
browser.urlbar.suggest.history = true
browser.urlbar.suggest.openpage = true
browser.urlbar.suggest.searches = false
browser.urlbar.suggest.topsites = false
# Uncheck the following Settings → Privacy & Security → Cookies and Site Data → ✔ Delete cookies and site data when LibreWolf is closed # Uncheck the following Settings → Privacy & Security → History → ✔ Clear history when LibreWolf closes # Per‑Site Privacy # LibreWolf includes a per‑site “Forgetful Browsing” toggle. # Check via: Padlock icon → Forgetful Browsing # Must be OFF for: # - accounts.google.com # - mail.google.com # - copilot.microsoft.com

LibreWolf ➜ Containers Setup

# Containers (per‑site isolation)
Work      ➜ all Google services
Banking   ➜ financial sites
Personal  ➜ email, social, general browsing
Shopping  ➜ Amazon, eBay, etc.
Temp      ➜ optional throwaway container (create if needed)

# Auto‑assignment (recommended)
Open site in correct container ➜ Right‑click tab ➜ "Always Open in This Container"

# Notes:
# - Containers isolate cookies, logins, and site data per context.
# - Works perfectly with cookieBehavior=5 (total isolation).
# - Data stored in containers.json inside the profile (included in backups).
# - Review container assignments occasionally to keep behavior predictable.

GNOME Terminal Refinements

Refinements to GNOME Terminal behavior, keybindings, and ergonomics to align with the LMDE7 environment and left-hand–centric workflow.

Keybindings

dconf dump /org/gnome/terminal/legacy/keybindings/ > ~/bck/gnome-terminal-keybindings.backup.txt

# Tab navigation
dconf write /org/gnome/terminal/legacy/keybindings/next-tab "'<Primary>Tab'"
dconf write /org/gnome/terminal/legacy/keybindings/prev-tab "'<Primary><Shift>Tab'"
dconf write /org/gnome/terminal/legacy/keybindings/switch-to-tab-N "'<Primary>N'"   # 1–9

# Menubar toggle (left-hand, Alt+1)
dconf write /org/gnome/terminal/legacy/keybindings/toggle-menubar "'<Alt>1'"

dconf Essentials

dconf is the low-level key/value store used by GSettings. GNOME Terminal, Cinnamon, GTK themes, and many system components read and write their configuration here.

Core Commands

# Read a key
dconf read /path/to/key

# Write a key
dconf write /path/to/key "'value'"

# Reset a key to default
dconf reset /path/to/key

# Dump an entire subtree
dconf dump /path/to/subtree/

# Load a dump back in
dconf load /path/to/subtree/ < filename.dconf

# Search for keys
dconf dump / | grep -i something

# List keys under a subtree
dconf list /path/to/subtree/

Useful dconf Paths

Frequently used dconf paths relevant to LMDE7, GNOME Terminal, Cinnamon, and the visual identity of the desktop.

GNOME Terminal

/org/gnome/terminal/legacy/keybindings/
/org/gnome/terminal/legacy/profiles:/

Cinnamon

/org/cinnamon/theme/name
/org/cinnamon/desktop/keybindings/

GTK Theme

/org/gnome/desktop/interface/gtk-theme

System Identity Layer

This subsystem unifies the shell identity across all users, including root, scripts, cron, and non-interactive shells. It replaces per-user dotfile sourcing with a single canonical loader.

/etc/profile.d/identity.sh

ID_DIR="/etc/identity.d"

[ -f "$ID_DIR/aliases" ]   && . "$ID_DIR/aliases"
[ -f "$ID_DIR/defines" ]   && . "$ID_DIR/defines"
[ -f "$ID_DIR/functions" ] && . "$ID_DIR/functions"

/root/.bashrc integration

. /home/kemiko/.bashrc
. /etc/profile.d/identity.sh

Directory structure

/etc/identity.d/
aliases
defines
functions

Using the Identity Layer in Scripts

All new scripts should source the system identity loader to ensure consistent access to aliases, defines, and functions:

. /etc/profile.d/identity.sh

NAS Mounts & Permissions

LMDE7 integrates with the NAS using a mix of NFSv4 and NFSv3. The home directory uses NFSv4 via the NAS pseudo‑root, while all other shares use NFSv3 exports. UID/GID alignment is required for correct permissions.

UID/GID Alignment (Required)

# Local user
kemiko: UID 1000, GID 1000

# NAS user (must match)
NAS account: UID 1000, GID 1000

If UID/GID do not match, permissions will appear incorrect even when mounts succeed. Root may appear to work while the user sees denied access.

Mount Points

/home/kemiko          ← NFSv4 home directory
/media/nas/models     ← NFSv3
/media/nas/homes      ← NFSv3
/media/nas/media      ← NFSv3
/media/nas/public     ← NFSv3

/etc/fstab Entries

NFSv4 Home Directory

# kemiko home directory (NFSv4 via pseudo-root)
192.168.1.3:/share/homes/LMDE7  /home/kemiko  nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

Unified NFSv3 Shares

# 3D-Models share (NFSv3)
192.168.1.3:/3D-Models    /media/nas/models    nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

# homes share (NFSv3)
192.168.1.3:/homes        /media/nas/homes     nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

# Multimedia share (NFSv3)
192.168.1.3:/Multimedia   /media/nas/media     nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

# Public share (NFSv3)
192.168.1.3:/Public       /media/nas/public    nfs  rw,noatime,_netdev,tcp,rsize=8192,wsize=8192  0  0

Local Bind Mounts (Performance & Stability)

High‑churn directories are kept on local SSD storage to avoid NFS latency and reduce NAS load. These mounts override the NFS home directory for specific paths.

/home/kemiko.localbind/.cache                 /home/kemiko/.cache              none  bind  0  0
/home/kemiko.localbind/.mozilla               /home/kemiko/.mozilla            none  bind  0  0
/home/kemiko.localbind/.thumbnails            /home/kemiko/.thumbnails         none  bind  0  0
/home/kemiko.localbind/Apps                   /home/kemiko/Apps                none  bind  0  0
/home/kemiko.localbind/.opera/opera           /home/kemiko/.config/opera       none  bind  0  0
/home/kemiko.localbind/.chromium/chromium     /home/kemiko/.config/chromium    none  bind  0  0
/home/kemiko.localbind/.librewolf/librewolf   /home/kemiko/.config/librewolf   none  bind  0  0

Why Only /home/kemiko Uses NFSv4

The NAS exposes /share/homes/LMDE7 under the NFSv4 pseudo‑root. Other shares are exported individually via NFSv3. Therefore:

  • /home/kemiko → NFSv4
  • 3D‑Models, homes, Multimedia, Public → NFSv3

Notes & Lessons

  • Avoid GVFS paths (admin://). They are virtual and break permissions.
  • If root works but the user does not, check UID/GID alignment first.
  • Use real POSIX paths in Nemo bookmarks (/media/nas/public).
  • NFSv4 requires the pseudo‑root path (/share/homes/LMDE7).
  • NFSv3 mounts must use the export name exactly (/3D-Models, /homes, /Public, /Multimedia).
  • _netdev prevents boot race conditions.

Host Identity & User Artifacts

This section documents the machine’s host identity, SSH configuration, and curated user‑level scripts. These artifacts define how LMDE7 identifies itself on the network and how it interacts with other systems.

/etc/hosts

Local hostname resolution, LAN aliases, and IPv6 loopback entries.

127.0.0.1    localhost
127.0.1.1    LMDE7

# IPv6 loopback and multicast
::1          localhost ip6-localhost ip6-loopback
fe00::0      ip6-localnet
ff00::0      ip6-mcastprefix
ff02::1      ip6-allnodes
ff02::2      ip6-allrouters
ff02::3      ip6-allhosts

# LAN host aliases
192.168.1.1  rtr
192.168.1.2  web
192.168.1.3  nas
192.168.1.4  box
192.168.1.5  vmw
192.168.1.6  lmd

Notes:

  • LAN aliases provide stable, human‑readable names for local systems.
  • LMDE7 is the local hostname (127.0.1.1).
  • IPv6 entries are standard and left unchanged.

SSH Configuration (~/.ssh)

SSH keys and configuration for remote access. Keys are user‑specific and should be backed up securely.

~/.ssh/
  config
  id_rsa
  id_rsa.pub
  known_hosts
  known_hosts.old

~/.ssh/config (example structure)

# ~/.ssh/config
Host nas
    HostName 192.168.1.3
    User kemiko
    IdentityFile ~/.ssh/id_rsa

Host web
    HostName 192.168.1.2
    User root
    IdentityFile ~/.ssh/id_rsa

Notes:

  • id_rsa is the private key (keep secure).
  • id_rsa.pub is the public key.
  • known_hosts tracks trusted remote hosts.
  • config defines host aliases and identity rules.

~/bin (User Scripts)

The ~/bin directory contains curated, portable scripts used across systems. These scripts inherit the identity layer via . /etc/profile.d/identity.sh.

~/bin/
  backup.sh
  free.sh
  configsFind.sh   # index all custom config files using header grammar

  monitor/
    allMounts.sh
    filesystem.sh
    homeMounts.sh
    nasHealth.sh
    network.sh
    systemHealth.sh
    index.sh   # menu to run monitor scripts

configsFind.sh is the environment indexer. It scans the system for all custom configuration files using your header grammar (# filename; date; identity). This script is part of the identity‑layer ecosystem and ensures every curated artifact can be located instantly.

Notes:

  • All scripts should source the identity layer for consistent aliases and functions.
  • monitor/ contains the system health and mount inspection suite.
  • .backup/ stores timestamped script backups.
  • Keep ~/bin minimal and portable.

/usr/local/bin (Root‑Level Overrides)

System‑wide scripts and overrides installed under /usr/local/bin. These take precedence over distribution‑provided binaries.

/usr/local/bin/
  highlight-mint
  yelp
  mate-system-monitor
  gnome-help
  search
  apt

  free.sh
  backup.sh

Notes:

  • Scripts here run before system binaries due to PATH ordering.
  • free.sh and backup.sh are root‑level versions of user scripts.

Flatpak Ecosystem

  • apt install flatpak
  • flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  • flatpak install flathub org.remmina.Remmina
  • flatpak install flathub org.blender.Blender

Notes

  • Keep ~/bin curated and minimal
  • Additional documentation in ~/doc/setup.txt
  • Consider Cinnamon tweaks if needed

  • xviewer# instead of eog
x
-
+

Chalkboard

<
o
>
x
-
+

Rust Summary

<
o
>
1
Install Rust toolchain
Install Rust using rustup
`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh; source ~/.cargo/env`
2
Create GitHub home
Organize project directories
`mkdir -p ~/github/{external,forks,personal}`
3
Clone a Rust project
Pull down source code
`git clone https://github.com/cosmic-utils/calculator.git`
4
Cargo.toml
Project manifest defining name, version, dependencies, features, metadata
Lives in project root; tells Cargo how to build the crate
5
Crate
A Rust package with source + manifest
Binary crates build executables; library crates are used by other crates
6
Rust shares crate source globally
Source downloaded once and reused
`~/.cargo/registry`
7
Rust does NOT share compiled crates
Object code is per‑project
Stored in each project's `target/`
8
First build downloads + compiles everything
Slow fetch + long compile
`cargo build`
9
Missing system libs cause errors
Rust needs system deps for some crates
`sudo apt install libxkbcommon-dev`
10
target/
Build output: compiled deps, object files, caches, final binaries
Per project; grows to 1–3GB; safe to delete with `cargo clean`
11
target/ is huge
1–3GB is normal
This project measured **2.6GB**
12
Final binary is tiny
Usually 5–15 MB
`target/debug/cosmic-ext-calculator`
13
Running via cargo
Rebuilds if needed, then runs
`cargo run`
14
Running binary directly
No rebuild, no cargo
`./target/debug/cosmic-ext-calculator`
15
Install (Cargo)
Install a crate from crates.io (not applicable to this project)
`cargo install crate-name`
16
Install (Unix)
Copy the built binary into a PATH directory
`sudo cp target/debug/cosmic-ext-calculator /usr/local/bin`
17
Cleaning wipes build artifacts
Deletes the huge `target/`
`cargo clean`
18
Cleaning means rebuilding
Next build is slow again
`cargo build`
19
Inspecting the project
Understand structure + size
`tree`, `du -h`, `find . -name "*.toml"`
20
Cargo.lock
Exact dependency versions for reproducible builds
Auto‑generated; commit for binaries, ignore for libraries
Rust shares source globally, but compiles everything per project for reproducibility. That makes target/ huge, the binary tiny, the first build slow, and installation trivial.
x
-
+

Rust Workflow Overview

<
o
>

Rust Build Pipeline

  1. Parse Cargo.toml — read manifest, dependencies, features
  2. Resolve dependencies — check registry, lockfile, versions
  3. Download crate source — stored globally in ~/.cargo/registry
  4. Compile dependencies — per‑project into target/
  5. Compile your crate — produce binary in target/debug/ or target/release/
  6. Link final executable — small, self‑contained ELF
  7. Run or install — cargo run or copy binary to PATH

Cargo Commands Cheat Sheet

  • cargo build — compile project (debug)
  • cargo build --release — optimized build
  • cargo run — build + run
  • cargo check — type‑check without compiling
  • cargo clean — delete target/
  • cargo install crate-name — install binary crate into ~/.cargo/bin
  • cargo update — update dependencies
  • cargo tree — view dependency graph

Rust Directory Anatomy

  • Cargo.toml — project manifest
  • Cargo.lock — exact dependency versions
  • src/ — your source code
  • src/main.rs — entry point for binary crates
  • src/lib.rs — entry point for library crates
  • target/ — compiled output (huge)
  • target/debug/ — debug binaries
  • target/release/ — optimized binaries
  • ~/.cargo/registry/ — global crate source cache
  • ~/.cargo/bin/ — installed binaries from cargo install
x
-
+

Pop!_OS / COSMIC

<
o
>

System Overview

Pop!_OS version:

  • Pop!_OS 24.04 LTS (COSMIC)

COSMIC version:

  • cosmic-session, cosmic-shell, cosmic-wm (current Pop!_OS 24.04 build)
  • Hybrid environment: COSMIC WM + Mutter compositor
  • Package timestamps place this build squarely in the Epoch Alpha 6 timeframe (Alpha 6 released 21 February 2025).
  • Testing an alpha today will someday be a story for the youngins.

Kernel:

  • 6.17.9-76061709-generic

GPU / Drivers:

  • Intel HD Graphics (i5-3470 integrated)
  • Kernel-mode setting (KMS) via i915

Shell:

  • bash 5.2.21
  • cosmic-term as terminal emulator

Notes:

  • Dual-monitor setup using independent workspace stacks (Mutter behavior).
  • Wallpaper persistence inconsistent across reboots (COSMIC + Mutter interaction).
  • Vertical workspace wraparound enabled; horizontal wrap not implemented.
  • Drag-to-workspace hitboxes limited to window “tab” area.
  • See COSMIC Stack for architectural details.

Alpha Era Notes

  • Running COSMIC during the Epoch Alpha 6 timeframe (released 21 February 2025).
  • Daily life includes rough edges, missing components, and delightful chaos.
  • Wallpaper persistence failures are practically a rite of passage.
  • Launcher backend absent; system apps vanish like ghosts until the indexer arrives.
  • Drag-to-workspace hitboxes require precision worthy of a surgeon.
  • Vertical wraparound exists; horizontal wraparound is a myth whispered by elders.
  • Testing an alpha today will someday be a story for the youngins.

COSMIC Components

Installed Components:

  • cosmic-session — session manager, launches the COSMIC environment
  • cosmic-launcher — the launcher UI (frontend only)
  • cosmic-app-library — app library UI and metadata browser
  • cosmic-terminal — COSMIC’s native terminal emulator
  • cosmic-files — file manager
  • cosmic-settings — COSMIC settings UI
  • cosmic-store — software center

Missing / Incomplete Components (Pop!_OS 24.04):

  • System app indexer — not yet implemented; only Flatpaks + COSMIC apps appear
  • Launcher backend — the indexing engine that generates apps.json
  • Desktop file watcher — detects new system apps; currently absent
  • Session refresh tools — partial; some GNOME/Mutter behaviors still exposed

Notes:

  • The launcher UI exists, but the backend indexer is not yet shipped.
  • System apps (e.g., GNOME Terminal) do not appear until the indexer lands.
  • Some behaviors still come from GNOME/Mutter; see the COSMIC Stack pane for architectural details.

COSMIC Stack Reference

The COSMIC Stack pane provides a full architectural overview of COSMIC, including the current hybrid GNOME/Mutter underpinnings and the future Rust compositor design. Use it as a conceptual reference for understanding workspace behavior, monitor semantics, compositor responsibilities, and COSMIC’s long‑term evolution.


Application Registration Rituals

User-Level Registration

  • Create a .desktop file in ~/.local/share/applications.
  • Make it executable: chmod +x ~/.local/share/applications/<file>.desktop.
  • Refresh the database: update-desktop-database ~/.local/share/applications.
  • Launcher will immediately show the entry (no backend indexer required).

System App Workarounds

  • System-installed apps do not appear in COSMIC Launcher (Alpha 6 limitation).
  • Workaround: create a wrapper .desktop file in ~/.local/share/applications.
  • Example: GNOME Terminal wrapper to force visibility.
  • Opera appears because it registers via xdg-desktop-menu.

Flatpak Behavior

  • Flatpak apps always appear — COSMIC reads their exported desktop files.
  • Location: ~/.local/share/flatpak/exports/share/applications.
  • Flatpak updates automatically refresh launcher entries.

COSMIC Launcher Limitations (Alpha 6)

  • No system app indexer; /usr/share/applications is ignored.
  • No desktop file watcher; changes require manual refresh.
  • No apps.json generation; launcher is UI-only.
  • cosmic-app-library --reindex does nothing (backend missing).

Ritual Examples

  • calc: custom executable registered via a minimal .desktop file.
  • free.sh: shell script registered cleanly using the same ritual.
  • GNOME Terminal: wrapper used to force visibility in launcher.

Notes

  • All user-level registrations work instantly because COSMIC reads local entries.
  • System apps will remain invisible until the COSMIC indexer lands in a future release.
  • See COSMIC Stack for architectural reasons behind these behaviors.

Terminal Tools

  • Installed terminals: COSMIC Terminal, GNOME Terminal (via wrapper)
  • Wrapper path: ~/.local/share/applications/gnome-terminal-wrapper.desktop
  • Wrapper keywords: terminal;term;shell;console;gnome;bash;
  • Wrapper categories: System;Utility;

Profiles & preferences:

  • Font:
  • Colors:
  • Scrollback:
  • Title behavior:
  • Tab naming:

Shell customizations:

  • Aliases:
  • Functions:
  • Prompt:
  • Environment variables:

Hotkeys:

  • Super+T →
  • Other shortcuts:

COSMIC Quirks & Workarounds

  • Launcher behavior: Only Flatpaks + user .desktop files appear; system apps remain invisible until the indexer exists.
  • Opera: visible because it registers via xdg-desktop-menu (one of the few system apps that does).
  • GNOME Terminal: requires a wrapper .desktop file in ~/.local/share/applications.
  • Wallpaper persistence: inconsistent due to COSMIC + Mutter interaction.
  • Drag-to-workspace: only works when grabbing the window “tab” area; other regions ignored.
  • Workspace wraparound: vertical wrap works; horizontal wrap is mythical.

Commands that work:

  • update-desktop-database ~/.local/share/applications — refreshes user-level desktop entries.

Commands that do not work (in this Alpha 6 era build):

  • cosmic-comp --replace — deprecated; compositor no longer has a kiosk child.
  • cosmic-app-library --reindex — no backend indexer exists yet.
  • systemctl --user restart cosmic-launcher.service — service not present in this build.

See also:

  • COSMIC Stack — for architectural reasons behind these quirks.

Input & Focus Behaviors (Alpha Era)

Focus Behavior

  • COSMIC itself does not require tile activation before pasting.
  • The real constraint comes from VTE terminals entering a selection-locked state.
  • When COSMIC Terminal has no highlight, paste behaves normally across apps.
  • When highlighted, COSMIC Terminal intercepts input until the highlight is cleared.
  • GNOME Terminal avoids this entirely by auto-clearing PRIMARY selection.

Paste Behavior

  • Mouse highlight in COSMIC Terminal keeps PRIMARY selection active.
  • In this state, COSMIC Terminal intercepts paste events and the first Esc.
  • First Esc clears the highlight; second Esc reaches Vim.
  • Without a highlight, paste flows normally to any app.
  • GNOME Terminal auto-clears PRIMARY, preventing the double-escape issue.

Terminal Differences

  • GNOME Terminal auto-clears PRIMARY selection; COSMIC Terminal keeps it active, creating a selection-locked state.
  • This selection-locked state causes paste interception and double Esc in Vim.
  • Most VTE terminals behave like COSMIC Terminal; GNOME Terminal is the exception.

Alpha Era Notes

  • These behaviors are inherited from Mutter and VTE, not COSMIC-specific bugs.
  • Will likely change once COSMIC’s compositor replaces Mutter.
  • Unity + GNOME Terminal provided unusually smooth input semantics.

Experiments & Rituals

Dual-Monitor Geometry

  • Primary monitor (TV axis aligned): left; secondary monitor: right.
  • Independent workspace stacks inherited from Mutter.
  • Carousel behavior: vertical wrap works; horizontal wrap absent.
  • Full-screen tiles behave consistently across both displays.
  • Support lane on secondary monitor used for stable reference windows.

Wallpaper Persistence Tests

  • Wallpaper always resets after reboot or session restart.
  • Likely caused by COSMIC shell + Mutter compositor interaction.
  • Manual reapply via COSMIC Settings always works.

Tint & Theme Experiments

  • Tint color inconsistencies appear when switching between light/dark modes.
  • Panel tint sometimes lags behind window tint updates.
  • Likely due to GNOME/Mutter theme pipeline still in place.

Launcher & App Registration Rituals

  • User .desktop files appear instantly in launcher.
  • System apps require wrapper .desktop files in ~/.local/share/applications.
  • update-desktop-database refreshes user entries reliably.
  • No backend indexer yet; apps.json not generated.

Drag-to-Workspace Behavior

  • Only works when grabbing the window “tab” region.
  • Dragging from window body will move the window, but not place it into a different workspace.
  • Likely tied to Mutter’s surface role detection.

Ritual Notes

  • Testing COSMIC Alpha builds is now part of daily workflow.
  • Documenting quirks helps track COSMIC’s evolution over time.
  • See COSMIC Stack for architectural explanations behind these behaviors.

Installed Apps & Origins

App Source Path Visible in COSMIC Notes
GNOME Terminal apt /usr/share/applications No Wrapper required
GNOME Terminal (wrapper) user ~/.local/share/applications Yes Manual ritual; uses org.gnome.Terminal icon
Chromium (Snap) snap /var/lib/snapd/desktop/applications No Uninstalled (not a Snap fan)
Chromium (Flatpak) Flatpak ~/.local/share/flatpak/exports/share/applications Yes Auto-indexed
LibreWolf Flatpak ~/.local/share/flatpak/exports/share/applications Yes Auto-indexed
LocalSend Flatpak ~/.local/share/flatpak/exports/share/applications Yes Auto-indexed
Opera deb /usr/share/applications Yes Registers via xdg-desktop-menu
calc user ~/.local/share/applications Yes Manual ritual
free.sh user ~/.local/share/applications Yes Manual ritual

Notes

  • Flatpak equivalent of dpkg -l: flatpak list
  • Flatpaks appear instantly because COSMIC reads exported desktop files.
  • System apps remain invisible until COSMIC’s indexer lands in a future release.
  • User-level apps are the most reliable in Alpha 6 — COSMIC always sees them.
  • See COSMIC Stack for architectural context.

Ritual Closures

Daily Rituals

  • End-of-day sweep: terminals closed, panes saved, workspace stacks aligned.
  • Launcher sanity check: confirm user-level apps still visible.
  • Wallpaper reapply (Alpha Era necessity).
  • Quick glance at ~/.local/share/applications for stray entries.

Session Rituals

  • Before reboot: acknowledge COSMIC Alpha quirks and accept the wallpaper reset.
  • After reboot: verify monitor geometry (TV axis alignment preserved).
  • Confirm GNOME Terminal wrapper still functional.
  • Run flatpak list to ensure app provenance remains clean.

System Maintenance Rituals

  • Remove unused desktop files from ~/.local/share/applications.
  • Rebuild user desktop database:
    update-desktop-database ~/.local/share/applications
  • Check for stray Snap leftovers (Chromium era is over).
  • Review Flatpak runtimes for duplicates or stale branches.

Alpha Era Closure Notes

  • Living in COSMIC Alpha 6 means embracing delightful chaos.
  • Some quirks are features-in-waiting; others are ghosts of Mutter.
  • Every fix, wrapper, and ritual becomes part of the story.
  • Someday this will all be a tale for the youngins.

Long-Term Rituals

  • Archive major configuration changes with timestamps.
  • Preserve ~/.config snapshots before system upgrades.
  • Document new COSMIC behaviors as the Alpha matures.
  • Retire old rituals when COSMIC replaces them with real features.

x
-
+

COSMIC Stack

<
o
>

Overview

A conceptual map of the COSMIC desktop environment, showing the full architecture from kernel → Wayland → compositor → window manager → shell. This pane documents how COSMIC works today, how it inherits behavior from GNOME/Mutter, and how the future Rust compositor will reshape the entire stack.


Architecture Diagram

COSMIC (Current) Architecture
┌──────────────────────────────┐
│        COSMIC SHELL          │
├──────────────────────────────┤
│     COSMIC WINDOW MANAGER    │
├──────────────────────────────┤
│     MUTTER (Compositor)      │
├──────────────────────────────┤
│         WAYLAND LAYER        │
├──────────────────────────────┤
│            KERNEL            │
└──────────────────────────────┘

COSMIC (Future Rust Compositor) Architecture
┌──────────────────────────────┐
│        COSMIC SHELL          │
├──────────────────────────────┤
│     COSMIC WINDOW MANAGER    │
├──────────────────────────────┤
│     COSMIC COMPOSITOR        │
├──────────────────────────────┤
│         WAYLAND LAYER        │
├──────────────────────────────┤
│            KERNEL            │
└──────────────────────────────┘

COSMIC (Reality Edition) Architecture
┌──────────────────────────────────────┐
│           COSMIC SHELL               │
├──────────────────────────────────────┤
│      COSMIC WINDOW MANAGER           │
├──────────────────────────────────────┤
│   MUTTER (Wayland Compositor)        │
│   + XWAYLAND (Embedded X11 Server)   |  ← THIS is where the clown lives
├──────────────────────────────────────┤
│            WAYLAND LAYER             │
├──────────────────────────────────────┤
│               KERNEL                 │
└──────────────────────────────────────┘

Layer Breakdown

COSMIC Shell

  • Panels, launcher, settings UI
  • Tiling UI and workspace overview
  • Rust-based widget toolkit

COSMIC Window Manager

  • Window placement and tiling
  • Focus rules and fullscreen behavior
  • Independent from Mutter

Mutter (Current Compositor)

  • Workspace logic and monitor model
  • Wraparound behavior
  • Background drawing and frame timing

Wayland Layer

  • Surfaces, buffers, input/output
  • Frame callbacks and presentation timing

Kernel

  • DRM/KMS, GPU drivers
  • Input devices and scheduling

Legacy X11 Behavior (Where the Clown Lives)

COSMIC (Reality Edition) Architecture
┌──────────────────────────────────────┐
│           COSMIC SHELL               │
├──────────────────────────────────────┤
│      COSMIC WINDOW MANAGER           │
├──────────────────────────────────────┤
│   MUTTER (Wayland Compositor)        │
│   + XWAYLAND (Embedded X11 Server)   |  ← THIS is where the clown lives
├──────────────────────────────────────┤
│            WAYLAND LAYER             │
├──────────────────────────────────────┤
│               KERNEL                 │
└──────────────────────────────────────┘

This section documents all behavior inherited from X11 via Xwayland, including:

  • PRIMARY ownership timing delays
  • First-paste-old / second-paste-new behavior
  • Highlight propagation lag
  • Browser → terminal selection inconsistencies
  • Terminal → terminal paste differences
  • Focus-dependent paste behavior
  • Selection-lock states
  • Mixed X11/Wayland app interactions

These behaviors are not caused by COSMIC, GNOME Terminal, or Mutter. They originate from X11 selection semantics implemented inside Xwayland. They will disappear once COSMIC transitions to its Rust compositor.


GNOME Inheritance

COSMIC still inherits several behaviors from GNOME/Mutter, including workspace stacks, monitor independence, wraparound logic, wallpaper persistence quirks, drag-to-workspace hitboxes, and theme inconsistencies. These will change once the Rust compositor replaces Mutter.


Future: Rust Compositor

  • New scene graph replacing Mutter
  • Unified theme engine
  • Consistent drag-to-workspace behavior
  • Improved multi-monitor workspace semantics
  • Better performance and lower latency
  • Full COSMIC independence from GNOME

COSMIC vs GNOME Philosophy

GNOME prioritizes simplicity and minimalism, often removing customization. COSMIC prioritizes user control, tiling, multi-monitor workflows, and hardware integration. The split was inevitable and strategically necessary.


Notes & Observations

Use this section for experiments, quirks, and discoveries:

  • Wallpaper persistence behavior
  • Dual-monitor workspace carousel notes
  • Tint color experiments
  • Drag-to-workspace behavior
  • neofetch WM detection quirks

x
-
+

COSMIC Cut/Paste Buffers

<
o
>

In this system, there are two completely different cut/paste clipboards. They’re separate buffers, and different apps treat them differently, which is why paste behavior sometimes feels inconsistent until you know the rules.

  1. PRIMARY — created automatically by highlighting text.
    Pasted with middle‑click or Shift+Insert.
  2. CLIPBOARD — created by explicit copy actions (Ctrl+C, copy buttons, right‑click → Copy).
    Pasted with Ctrl+V or Ctrl+Shift+Insert.
These buffers behave differently across X11, Wayland, terminals, and Vim. COSMIC Terminal adds its own input‑handling quirks, so this document maps the actual observed behavior to make the system predictable.

We’re mapping how copy/paste actually behaves across X11, Wayland, terminals, and Vim. Nothing here is theoretical — it’s all observed behavior. Different apps use different clipboard systems (PRIMARY vs CLIPBOARD), and terminals interpret paste shortcuts differently depending on whether they’re X11 or Wayland. COSMIC Terminal adds a “selection lock” that requires two Escapes in Vim after pasting. We’re building small, focused matrices to document each behavior so the whole system becomes predictable instead of chaotic.

Paste matrices

PRIMARY Paste Into vi (Not in Insert Mode)

PRIMARY pastes directly into normal mode; insert mode is not required.
+------------------+------------------+-----------------------+----------+--------------------+------------------------------+--------------------+------------------------------------+
| Source Terminal  | Target Terminal  | Target Active First?  | vi Mode  | Highlight Present  | Paste Method                 | Result             | Notes                              |
+------------------+------------------+-----------------------+----------+--------------------+------------------------------+--------------------+------------------------------------+
| COSMIC Terminal  | GNOME Terminal   | Yes                   | Normal   | Yes                | Middle‑click / Shift+Insert  | Text inserted      | vi does not enter insert mode      |
| COSMIC Terminal  | GNOME Terminal   | No                    | Normal   | Yes                | Middle‑click / Shift+Insert  | No paste           | Target must be active              |
| GNOME Terminal   | COSMIC Terminal  | Yes                   | Normal   | Yes                | Middle‑click / Shift+Insert  | Text inserted      | vi does not enter insert mode      |
| GNOME Terminal   | COSMIC Terminal  | No                    | Normal   | Yes                | Middle‑click / Shift+Insert  | No paste           | Target must be active              |
+------------------+------------------+-----------------------+----------+--------------------+------------------------------+--------------------+------------------------------------+

PRIMARY Ownership Timing (X11 Selection Lag)

Documents the “abc → xyz” stale‑PRIMARY phenomenon.
+-------+-----------------------------------+------------------------------------------------+------------------+------------------+--------------------------------------------+
| Step  | LibreWolf Highlight               | PRIMARY (Internal State)                       | Paste #1 Result  | Paste #2 Result  | Notes                                      |
+-------+-----------------------------------+------------------------------------------------+------------------+------------------+--------------------------------------------+
| 1     | No highlight                      | "abc"                                          | —                | —                | Old PRIMARY still held by browser          |
| 2     | Highlight "xyz"                   | Still "abc" (ownership not updated yet)        | —                | —                | Highlight event not fully propagated       |
| 3     | Middle-click into GNOME Terminal  | "abc"                                          | "abc"            | —                | Terminal requests PRIMARY before update    |
| 4     | After first paste                 | "xyz"                                          | —                | —                | Browser finally updates PRIMARY ownership  |
| 5     | Middle‑click again                | "xyz"                                          | —                | "xyz"            | Now the new PRIMARY is returned            |
+-------+-----------------------------------+------------------------------------------------+------------------+------------------+--------------------------------------------+

CLIPBOARD Paste Shortcut Interpretation Matrix (Ctrl+Shift+Insert)

Shows how Wayland mishandles this shortcut.
+------------------------------+----------------+---------------------+---------------------------------+----------------+-------------------------------------+
| Source App                   | Target App     | Protocol Path       | What Terminal Receives          | What Vim Sees  | Result                              |
+------------------------------+----------------+---------------------+---------------------------------+----------------+-------------------------------------+
| LibreWolf → LibreWolf        | X11 → X11      | X11 native          | Paste event                     | Text           | CLIPBOARD pasted                    |
| LibreWolf → GNOME Terminal   | X11 → X11      | Xwayland → X11      | Paste event (most of the time)  | Text           | CLIPBOARD pasted                    |
| LibreWolf → GNOME Terminal   | X11 → X11      | Xwayland → X11      | Raw key chord (rare race)       | "<C-S-Insert>" | Literal chord printed               |
| LibreWolf → COSMIC Terminal  | X11 → Wayland  | Xwayland → Wayland  | Raw key chord                   | "<C-S-Insert>" | Literal chord printed               |
| LibreWolf → COSMIC Terminal  | X11 → Wayland  | Xwayland → Wayland  | No paste event                  | Nothing        | No paste (PRIMARY empty/stale)      |
+------------------------------+----------------+---------------------+---------------------------------+----------------+-------------------------------------+

Input Interpretation Quirks

COSMIC Terminal + Vim Insert Mode: The Actual Hard Rule

A double‑Escape is required only when all three conditions are true:
  1. You are already in insert mode
  2. You paste something (PRIMARY or CLIPBOARD)
  3. Before exiting insert mode, you change PRIMARY or CLIPBOARD
    (highlight something new, copy something new, etc.)
If all three are true:
  • Escape #1 clears COSMIC Terminal’s selection lock
  • Escape #2 exits insert mode
If any condition is not true, a single Escape works normally.

COSMIC Terminal Escape‑Prefix Interpretation

  • Eats the first Escape after the terminal becomes active
  • Swallows the ? in Bash reverse‑search (Esc ?), entering search mode without displaying the trigger character

Application‑Specific Clipboard Behavior

COSMIC Dialog Boxes

  • Does NOT work: Shift+Insert, middle‑click, right‑click → Paste
  • Does work: Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+X

LibreWolf Address Bar

  • Single‑click highlight selects all but populates neither buffer
  • Manual highlight (drag/click) populates PRIMARY
  • Middle‑click pastes PRIMARY, replacing all contents
  • Right‑click → Paste pastes CLIPBOARD, replacing all contents

GIMP

  • Behaves consistently
  • Supports both PRIMARY and CLIPBOARD correctly

Chromium

  • In COSMIC “Save As” dialogs: paste requires CLIPBOARD
  • Some sites (e.g., Wikipedia’s NewsRadio page) do not populate PRIMARY at all

This pane documents observed behavior across COSMIC Terminal, GNOME Terminal, X11, Wayland, and common applications. It will be updated only when new, verifiable behavior is discovered.

x
-
+

Cheat Sheet, "top" command

<
o
>
x
-
+

Programming Languages, Most Used

<
o
>
Among developers worldwide as of 2025
Created with Highcharts 7.2.2Share of respondents66%66%61.9%61.9%58.6%58.6%57.9%57.9%48.7%48.7%43.6%43.6%29.4%29.4%27.8%27.8%23.5%23.5%23.2%23.2%22%22%18.9%18.9%16.4%16.4%14.8%14.8%10.8%10.8%9.2%9.2%7.1%7.1%6.4%6.4%5.9%5.9%5.4%5.4%4.9%4.9%4.8%4.8%4.4%4.4%4.2%4.2%3.9%3.9%3.8%3.8%3.3%3.3%2.7%2.7%2.6%2.6%2.5%2.5%2.4%2.4%2.3%2.3%2.1%2.1%1.5%1.5%1.4%1.4%1.4%1.4%1.3%1.3%1.2%1.2%1.1%1.1%1.1%1.1%1%1%0.4%0.4%JavaScriptHTML/CSSSQLPythonBash/ShellTypeScriptJavaC#C++PowerShellCPHPGoRustKotlinLuaAssemblyRubyDartSwiftRGroovyVisual Basic (.Net)VBAMATLABPerlGDScriptElixirScalaDelphiLispMicroPythonZigErlangFortranAdaF#OCamlGleamPrologCOBOLMojo
0% 20% 40% 60% 80%
x
-
+

Computing Systems

<
o
>
computingSystems.json (~87 Entries)
Loading dataset...
CoNtRoL PaNeL
 Theme
 Color
 Paper
 Layout

 Sort
 Find
 Group

 Open
 Edit
 Delete

 Storage
 Releases
x
-
+

Help

<
o
>

Programs And Notes Execution System

PANES is a multifunctional and customizable programs/notes system to help organize your life.  It can be used to create reference notes, to do lists, time your tasks, play games, etc.  There are already a many predefined panes, each with different purposes, managed by this window.

Some of the fun and interesting recent additions are:
• "Heidi's Salmon" pane resizes by dragging anywhere on the image and rotatons 360° with the mouse wheel.
• "North Pole" pane resizes by dragging anywhere on the image and rotatons 360° with the mouse wheel.
• "Neighbors Southwest Hikes" pane snaps to the next item horizontally and vertically.
• "Chuck Norris Jokes" pane randomly picks a joke with a click.
• "Chalkboard" pane imitates a real world chalkboard including many chalk colors and an eraser.
• "Cheat Sheet, "top" command" pane has an interactive find to hide/show items.

The "Graffiti" and "Calendar" panes are actually contol panels for two separate layers.  Each layer is very customizable and are stacked in background to foreground order: Paper ➜ Graffiti ➜ Calendar ➜ All Panes.


General Pane Operation

Panes generally behave the way you’d expect if you are familiar with any GUI based operating system.  Below you will find a description of general pane operation(s).

Double click the title bar to maximize and center a pane.  Again to minimize and place back in the layout.

In the upper left corner of the pane are 3 symbols/buttons which can close, minimize, or maximize the pane.

The “x” symbol will close the whole pane.  The pane can be reopened using the Control Panel “Open” dropdown menu.  See Open section below.

The “-“ symbol will minimize the content of the pane leaving only the title bar showing.  By default, on page load, content of the panes will start minimized.

The “+” symbol will maximize the content of the pane showing the title bar and content at the current placement.

In the upper right corner of the pane are 3 symbols/buttons which can change the placement of the pane...left, center, or right.

The “<“ symbol will move the pane to the immediate far left of the window.

The “o” symbol will open and center the pane in the window.  Clicking it after the panes is open and center will close and place back in the layout.  This is the same functionality as double clicking the title bar

The “>” symbol will move the pane to the immediate far right of the window.

Right click anywhere on the page to get a quick menu.


About

Double click on the footer or "CoNtRoL PaNeL" title bar to display the "About" pane.  This pane includes the page loaded timestamp, page load elapsed seconds, page updated timestamp, color selection details, current window size, internet protocol, autonomous system, and visits information.


CoNtRoL PaNeL

Below are general descriptions of the CoNtRoL PaNeL features to help you customize and use this site.  Most of these functions are for general/user panes.

Theme (dropdown)

The developer has included a few predesigned themes that are pretty fantastic.  Definitely try the “Pumpkin” theme as it is demonstrably the best.  Leave the dropdown "blank/empty" if you want to retain other settings like Color, Paper, Layout, etc upon returning to this webpage.  A "Theme" can be recreated without choosing its dropdown.  Double click the "footer" or "CoNtRoL PaNeL" title bar to help with the colors.

Color (sliders)

Choose from the "Color" (dropdown) below then start sliding.

There are three sliders...red, green, and blue.

Open the "About" pane to see the numeric values.

Color (dropdown)

Colors are customizable for the background, foreground, title color, title text, border, and buttons.  Simply choose the item from the dropdown menu next to "Colors" label (below the color sliders) and adjust to your liking.

"Background" changes the background (wallpaper) color.

"Foreground" changes the color of content background for all panes.

"Title Color" changes the background color of the title bar for all the panes.

"Title Text" changes the font color of the title bar for all the panes.

"Buttons" changes the button (controls) color for all the panes.

"Border" changes the border for all the panes.

It is helpful to have the "About" pane open while adjusting colors to see the numeric values.  Your color settings are saved to local storage.

Paper (dropdown)

You can choose from a selection of inspiring and creative background graphics/photos depending on your mood.  You can further customize those to your liking by adjusting the colors as described in the Color Selection section.  Play around until you find something you like.  Hint: "X-Ray" through panes to reveal hidden items in some backgrounds.

Layout (dropdown)

Layout is a quick way to move the panes into organization on the page.

"Cascade" puts all panes into a descending/diagional starting from upper left to lower right on the page.

"Horizontal" puts all panes into horizontal/row alignment across the page.

"Random" puts all panes into a randomly placement on the page.

"Vertical" puts all panes into vertical/column alignment down the page.

"All Minimize" displays only the title bar hiding the content for all panes.

"All Maximize" displays the title bar and the content for all panes.

"All Close" completely hides all panes...putting in the "Open" dropdown.

"All Open" completely displays all panes...emptying from the "Open" dropdown.

See if you can find what you’re looking for!

Sort (dropdown)

Sort panes by Creation, Position, Title, or Updated.

Find (text box)

Find/search for case insensitive title/content of a pane.  After entering some text hit "Enter" or click on "Find" to start the search.  The title bar will be highlighted for panes with found content.  To clear the search...double click on "Find" or blank out the text box and hit "Enter".  Searching with "broken" English is best...meaning leave out unimportant words, but enter the words using English grammar.

Open (dropdown)

Open will remain empty until a pane has been closed using the “x” in the upper left corner.  See the section on "General Pane Operation".  If you desire to reopen a pane this is the place to do it.

Edit (dropdown)

The Edit functionality is the heart of the usefulness of the PANES page.   Certain panes have editable and customizable text and links.   Select which pane you’d like to customize and using standard HTML you can create lists and links.   Title bars are customizable as well by changing the text at the top of the edit pane.   Edits to the panes are stored locally only on your machine.   So feel free to edit and modify to your hearts content.   No other users will see or be affected by edits you make.

Create (button)

Beyond editing existing panes you can create a new pane to edit by pressing this button.

Delete (dropdown)

The Delete functionality can remove a pane, you have "Created", that you no longer want.

Storage (buttons)

Caution:  It is best to do a "Save" before an "Init".
"Save" button...saves local storage to a file of your choice.
"Init" button...clears local storage. The page will return to its initial state as if you haven't visited before.

Releases (button)

"Export" button...saves RSS feed for the "Releases" pane to a file of your choice.


System Panes

These panes are of their own class opposed to the "user" class.  Most "CoNtRoL PaNeL" functions don't apply to these panes.

Help

This pane.

To Do

A list of planned/wanted additions, updates, and fixes.

Releases

All page releases by date with a bullet list. This is a very detailed list going back to the beginning of the page's creation.

X-Ray

Maximize this pane to see through the other panes to view the "Paper" (background). There are hidden items to find in the images.

My Sites

Some of the author's other sites.

Notepad

A scratchpad for quick reminders or any other notes.

Timer

This timer starts when the page is loaded.  It has five functions...start, pause, reset, lap, clear.

Media Player

Controls for mp3/ogg files in "Audio Clips (music)" and "Audio Clips (phone)" panes.

Remote Control

Obviously not a physical remote control.  It does control a list of site links.  One or many can be opened at once. Your browser settings may need to be adjusted.

Graffiti

Tag anything you like on your wall (background) choosing font, color, position, rotation, etc.

Calendar

The current full year calendar including lunar cycles. Colors can be chosen for Month Name, Day of Week, Weekdays, Weekends, and Borders


x
-
+

To Do

<
o
>
Update js/releases.js to pull from panes/boxReleases.html
Fix "Graffiti" being lost on when changing "Paper"
Organize "Cascading Style Sheets (CSS)" into viewToggle( ) sections
Make boxPosition( ) draw below all panes...as if always a full height set
Add font "Handlee", "Iosevka", and others...replacing some of current set
"Ctrl + O" to get a dialog box to type a partial pane title match...then close dialog box and open the pane.
Test speed with removal of "WikipediA (1st)" & "WikipediA (2nd)"
Make "~Pages~" pane password protected
Added functionality to "Group" panes
Add SPARCstation 5 to "Hall of Fame" pane
"Neighbors Southwest Hikes"...never draw off the left side of screen (right will be okay)
Add URI section=foo
Create single pane or fullscreen pane mode
404 do my "Chuck Norris Jokes" pane...completely fullscreen
sofaspace for the 404
Design an awesome 404...https://www.canva.com/learn/404-page-design
"Find" if pane found and open...minimizes it
Add "Lamborghini Gallardo" to "Hall of Fame" pane
HTTP Strict Transport Security (HSTS)
llms.txt has formatting issues
Add "Calendar" pane/layer settings to localStorage
Account for Safari's ~17%...context menu, etc
Add "Year" column to "Calculator, Simple Interest" pane
Update itop.ec code in "Informix" pane
Add the rest of debugging functions to "Cascading Style Sheets" pane
Change "Graffiti" to nine positions...like a tic-tac-toe board
Load "WikipediA (1st)" and "WikipedA (2nd) only when pane is opened
Fix santitizeGraffiti( )...Invalid regular expression: /\p{C}/ (Chrome 59)
Add xyzables.com Apache site pointed to a new theme
Break up "Cascading Style Sheets (CSS)" into "viewToggle" sections
boxCenter( )...when closing find a new home in the "tray" if file away position occupied
Create "Elements, Minerals & Compounds" pane
Break up "PostgreSQL" into "viewToggle" sections
Found "issue" with tileHorizontal/tileCascade when not all panes are open
Add ECMAScript verisons (Grok/esVersions.html) to "JavaScript" pane
Add function boxFull( )
Computing devices
Books of the Bible (Summary)
Add a comment column to "Song Collaborations" pane table
Pane as a file explorer...like airdroid
Pane for manhole scavenger hunt
"Hangman (elements)" pane...fix no letter and repeat being a strike
Right click on "Title Bar" for menu with an option to clone the pane
Add pain for favorite AI questions
Add "Random Blonde Jokes" pane like "Random Chuck Norris Jokes" pane
Finish "Neighbors Southwest Trails" scandir( )
Continue developing "Travel Packing (checklist)" pane
Add "http://dev.panes.us/case/metalDensities.html" to a pane...probably stored in the database
MSC cargo container background (box:/home/kemiko/Pictures/panes)
Trust fund calculator
Research callback functions
Integrate "lunch picks" and "tux tummy" into panes.us
Add true "button face" and "button text" to "CoNtRoL PaNeL" -> "Color"
Add link/api/rest into panes.us to only display one pane
Put country names in db table...do a "tab" completion of name and flag/dot
In fn boxCenter( ) change pane title from h2 to h1 and back again
Create "VI" pane for tips & tricks like macros, etc
Add "Original Area Codes" pane with table/sort...have floating header
Add "Opposites" or "Vs" pane
Use "tree view" somewhere on page
Add "Microwave" pane...computer panel
Add "Jeep Wrangler" pane
Add "NO Mouse Challenge" pane
Optimize box101 "WikipediA (2nd)"...almost 1 mebibyte...put in a database table?
"Idioms" pane...only list favorites with link to archive
Create pane "Songs"...putting in database with year, title, artist, wiki, comment, etc
Add style for rounded corner panes
Break "Border" ("Color" dropdown) into "Border" and "Buttons"
Add "conDate" field to pane( )/localStorage...then update field
Add modified panes to "Delete" dropdown or add a "Reset" dropdown
Add style to "sitemap.xml"
Panes within panes
When clicking a checkbox...turn to highlighter yellow (#ffff00)
Right click and choose "view source" from "quick menu"
Right click on a pane's "title bar" to copy the text (probably hide in window.oncontextmenu (quick menu)
Create session for user so their data go with them
Clean up PostgreSQL (schema)
Put localStorage in database
Put "panes" in database and don't load into DOM until title is double clicked
Add "?highlight=..." in/to URI
Change to "?pane=..." to "?panes=...,...,..."
Add alpha index to large list items panes
M E N U...add item for placing a thumbtack(s) to the page
Add "Walking Maps" pane
"Find"...add '&&', '||', and 'literal' to search
Look more into expanding "Find" to actually highlight the text in the pane body...pretty complex
Look into a TOC like MediaWiki
Look at an index by [0-9][A-Z] at top to jump to content
Full "VI" pane including cheat sheet, digraph, "-c" option, etc
A "Hangman (states)" pane
Make a "Walking" pane w/screenshots
Make pane "Title Bar" into a function

Refresh individual panes (kind of a good lession if possible). Good for development
Linux doesn't need file extensions...should they still be used?
Make pane for admin vs programmer
Pane for date formats...CCYY-MM-DD, epoch, Julian, etc (https://calendarhome.com/calculate/convert-a-date/, https://www.unixtimestamp.com)
Write my own table sort
Songs I like for various reasons
Add measurements
Add interesting devices
Clean up the file system
Update "PostgreSQL" pane
Make a thumb tack to pin on the page
Fun outdoor games (children)
Add "Opposites" pane
Add Rubik's Cube to "Hall of Fame" pane
Favorite college football helmet (colors, logo, etc)
Make pane for top NFL rushers
Make mobile version of page
Add "Speak & Spell" to "Hall of Fame" pane
Add "Etch A Sketch" to "Hall of Fame" pane
Update "prodClean.sh" to remove new lines...maybe comments too
"C Programming" pane
"Cleaning Tips" pane
Add "Taste" pane
Add political views pane...password protected
"Google" pane
Fix maximized pane(s) staying on top of minimized panes "CoNtRoL PaNeL" panes do stay on top. This is due to order drawn!
Add "Lamborghini Gallardo", "AT&T UNIX", "DEC PDP-11", "SweeTarts" & "John Deere Model D" to "Hall of Fame" pane
Add "Food Smoking" pane
Add "Home Automation" pane
Add "3D Printing" pane
Add "Talk Shows" pane
Add "Conversions" pane
Add "Neighbors Southwest" pane
Remove "Agent" panes
Add "Passwords" pane
Add "Universities" pane
Add "Coins"...US, etc
Add "Hot Wheels" & "Matchbox"...in "Garage" pane comments at end
Add "Show Background" to "CoNtRoL PaNeL"
Review which panes should have class "paneEdit"
Add "CoNtRoL PaNeL" Clone pane
Add "YouTube" pane
Add "Interesting facts, etc" pane
Add Cyberball...somewhere
Add SweeTarts...somewhere
Layout -> "Open All"...apply layout from localstorage (?test?)
Add "world time zone map" to "Paper"
Add "Currencies" pane
Add "Homographs" pane
Add "The quick brown fox...
Add "Word Grep" pane
Add "Tiny Homes" pane
Add "Nickel" to "Hall of Fame" pane
Add "Marvin the Martian" to "Hall of Fame" pane
Add "Hobbes" to "Hall of Fame" pane
Add "USA Flag" to "Hall of Fame"
Make 2021 "Paper" calendar
Add underline to "<div class="grabbable">" with style border-bottom
When pane is dragged...then move right puts on top of "CoNtRoL PaNeL"...
Make a random button for "WikipediA" pane
Update "Musicians" and "WikipediA" panes
Change font for Windows 10/Chrome
Chrome issue...adjust volume doesn't in "Media" pane
Opera issue...doesn't show "hand" over pane title
Update "Travel Map" pane
Add "Bachelor Food" pane
Add "Contact" form
Add "Tesla" pane (Inventor, Band & Car)
Add "Favorite Female Names" pane
Add more idioms
Add "Song Remakes" pane
Add "Naming (computer) same network or application" pane
Add "Collective Names for Animals
"Excavators" pane
"Cargo Containers" pane
"Cats of the World" pane
anyway vs anyways, etc
Fix "Timer" pane (broke between 20181030 & 20181201
Fix localStorage logic pane removed
Agent Dictionary
Add gold, black and white theme
Log "ID Generator"
Add to "Open Reversi" pane
Update WikipediA pane
Add comements to "Linux"
Add a reset for pane mgt
Agent business cards?
panes paper ($)...dp or "dp"/"pd" with stems lined up
Add "Agent Journal"
Add "Agent Story"
Store password on password panes!
Open pane...redo "Layout"
Clear "Find" before doing new search
Sort "Open" dropdown by Title
Create "Interesting" pane
Create login/session
Cleanup old code...commented code
Make mobile friendly version
Fix IKBB content leaf...size and wrap
Add "Travel Preparation" pane
Make edit pane "reset" button
Adjust colors by number
Remove "About" center listener
Prevent <div> w/o </div>
Rework maximize paneMgt(   )
tileHorizontal refresh spacing
Add "HTML" and "CSS" pane
Pushpin creation canvas
Possibly keep Hangman score
Crossword puzzle/Word Search?
Search/Sort/Highlight
Edit panes using VI
localStorage date/version
Add "Bugs" pane
Add a Word/Excel document
Lock BG colors
Make CP dropdowns the same
Finish comments in code
Put "most" JS in own file(s)...where possible (security is a issue)
Continue working on logo
Increment zIndex on all clicks
Look into "contenteditable="

Add vi recovery scripts to "Linux Command Line Interface (CLI)"
Add opacity to "Calendar" pane
Add "SMALL TRIANGLE", etc to "Unicode/UTF-8" pane
Add headers for caching
URI flag for console logging? ?console=true to localStorage.console for statics until turned off?
Apache2 https and Let's Encrypt
Expand "Calculator, Simple Interest" to include Δ between years in output
Change "Samsung Gear S3*" panes faces back with "title" description.
Create random string picker pane
Change '<h1 class="dragBoxHeaderTitle">' to <h2>
Set localStorage "posX" and "posY" when clicking "Create" button...change boxPosition( )
Add logging for "boxCenter( )"...pane viewing
Have "CoNtRoL PaNeL" and "System" panes display last...not before "User" panes
Create a "Characters" pane with favorite UTF-8 characters
Finish testing comments.sh
2025 calendar for "Paper"
Click in "dragBoxBody" to bring to the foreground/front
Increment z-index on all panes maximized
Sort "Open" dropdown like "Edit" dropdown
Make panes scrolling/resizing uniform across all panes to wide open...
       for both vertical and horizontal.
       Don't forget "New Pane" code.
Remove "<label for="checkbox">" and "</label>" from "~Pages~", "Song Duets", etc
M E N U -> "All Open" add a call to sorting and tiling from localStorage
Server naming schemas
When panes is drawn off screen allow drag back
Make a "/" favicon for index.php
Pane "ID Generator"...keep/display history
Never added dblclick to "New Pane" creation
Change initial sort to "Title" paneSort( )
Be able to resize "panes"
Resize all panes...like "Interesting Words"..."resize: both"
Right click to get a quick menu
When screen resized redraw the CoNtRoL PaNeL and panes below it. ()
Update "prodClean.sh" to remove extra spaces
Fix the centering/width of "CoNtRoL PaNeL" elements on newer browser
Add "Pole Vault" to "Hall of Fame" pane
Add "Lego" to "Hall of Fame"
Add "Olympic Games Tokyo 2020"...fav events
Add "Lamborghini" pane
Add "Song Duets" pane
Double click to max/min pane
Fix/Update pane "Time Share Game"
Put "Blank/None" "Paper" on top
Tried to hack "php" directory
Add "None" to Layout
Add pane "OcciSpace"
Add key generator pane/tool
Add development/test databases
Pumpkin's HW: "Tesla (Paint)"
Silhouette background
Work on database JSON
SQL Joins Background
Add Title to "Find"!!!
Min pane return to previous pos
Chg color sliders to rgb
Add find functionality
Put "Edit"s in alpha order
Keep closed panes closed
Why "Linux" moved to top
Add "Delete" dropdown
Fix the newline issue with "Edit"
Functionality to create panes
Fix new tileHorizontal bug
Save tiling to localStorage
"o" button chg width when max'd
Store panes' previous position
User edit pane content
Save "Theme" to current settings
Fix backup script
F-22 background
System panes move to right edge
Refresh issue with tileVertical
Hangman atomic number
Add "Web Utilities" pane
Some pane spacing
Pane move right/center/left
Fix "Pumpkin" Theme
Fix @ single pane tile
"Colors" pane has white edge
Add "Color" pane
All color in "About"...dynamic
Make boxPlace( ) function
Find ubuntu version of marlett.ttf
Mgt...align panes vertically
Tile panes...3rd row plus?
Finish CP -> tile (H&V) Max
Cleanup Hangman code (ENTER)
Dynamic window sizing
Click on pane body to foreground
"Notes" resize issue
Display BG color numbers
Convert "Help Links"
Align "these" checkboxes
Foreground when Min & Max
Add background picker
Add some game!
Tile then open pane
Save configuration(s)
Open/add/switch panes
Finish Min/Max panes
x
-
+

Releases

<
o
>
x
-
+

X-Ray

<
o
>
x
-
+

My Sites

<
o
>
Write on Tux's Tummy
Lunch Picks
Investments
Stocks
k o h l m e y e r . u s
kemiko
Kent's Resume
Hazelnut Harvest
H O M E   M E N U
Neighbors Southwest
GTE Manhole Covers in Neighbors Southwest
x
-
+

Notepad

<
o
>
Enter plain text here for little temporary reminders.

Look for the Easter eggs!!!
x
-
+

Timer

<
o
>
00:00:00
    x
    -
    +

    Media Player

    <
    o
    >

    Your browser doesn't support the audio tag

    x
    -
    +

    Remote Control

    <
    o
    >
    Router (rtr)
    Web (web)
    NAS (nas)
    Workstation (box)
    Hypervisor (vmw)

    dev.panes.us
    www.panes.us
    phpPgAdmin
    phpPgAdmin (download)
    phpMyAdmin
    phpMyAdmin (download)
    PHP Info
    porkbun
    Semrush - Online Marketing Can Be Easy
    Whois Lookup, Domain Availability & IP Search - DomainTools
    Google Search Console
    Google Analytics

    Gmail
    Messages
    Maps
    Finance
    Images

    Weather (DDG)
    Weather (Hoo)
    iP CHiCKEN
    Whois Lookup
    Dictionary
    Thesaurus
    Idioms and phrases
    My Shazam - Shazam

    *.kemiko.us  (menu)
    Do
    Map
    Notes
    Phone
    SpeedTest
    Stocks
    kemiko's toDo Manager
    TuxTummy
    TV
    Wiki
    Investments
    Lunch Picks
    Resume

    ProtonMail
    Result Hunter

    How-To Geek - We Explain Technology
    Stack Overflow (computer programming)
    Server Fault (system administration)
    Super User (power users)

    Grok
    ChatGPT
    Copilot
    Gemini
    Perplexity
    Claude

    Washington County Assessment and Taxation - Guest
    Geographic Information System (GIS) | Washington County, OR
    State of Oregon: Voting - My Vote
    Beaverton, OR - Official Website
    Summit at Progress Ridge
    x
    -
    +

    Graffiti

    <
    o
    >
    rem

    0.1 - 1.0

    width (px)
    h-shadow v-shadow blur color

    degrees
    x
    -
    +

    Calendar

    <
    o
    >
    Month Name
    Day of Week
    Weekdays
    Weekends
    Borders
    Opacity
    © 2017-2026 panes.us
    x
    -
    +

    About

    <
    o
    >
    PANES Logo Image

    Programs And Notes Execution System...

    is a group of "panes" for many purposes.
    Kent M Kohlmeyer (kemiko)

    Loaded:2026-06-07 @ 18:52:58
    Elapsed: seconds
    Updated:2026-06-07 @ 15:26:48

    Background:
    Foreground:
    Title Color:
    Title Text:
    Buttons:
    Border:
    Theme:

    Window size:
    IP:
    AS:
    Visits:

    x
    -
    +

    Edit

    <
    o
    >

    M E N U

    Copy
    Reload
    Back

    CoNtRoL

    All Open
    All Close

    Sort
    Tile
    Sort/Tile
    Theme

    Graffiti
    Calendar
    Help
    About

    Confirmation