Commit 95574037 authored by Rob Muhlestein's avatar Rob Muhlestein 🎧

better dark mode and more

parent 679b33d4
.lastchecked
......@@ -2,11 +2,9 @@ annotations
appstores
assets
atom
authpubkey
autodidact
bash
bashcomp
basicmark
bias
books
books/eloqjs
......@@ -21,21 +19,23 @@ books/lwd
books/modernc
books/sregoogle
books/tlcl
books/unixshprogtb
books/ydkjs
c
calendar
changes
cicd
cli
clinstall
cloud
cogdiss
commonmark
contain
contrib
copyright
corrupt
cred
cred/blip
crusty
daas
daemon
dev
......@@ -63,12 +63,15 @@ gfm
github
gitlab
gitlab/isbest
gitping
gitlab/pubkey
git/ping
git/save
gnulinux
goals
grok
gui
hci
home/repos
html
iaas
impostor
......@@ -88,10 +91,12 @@ learning
lfh
lfs
ligature
localrepos
logistics
markup
md
md/basic
md/common
md/pandoc
motivate
mupdf
mvkb
......@@ -105,7 +110,6 @@ opinions
overview
paas
pandoc
pandocmark
pka
pkg
platform
......@@ -122,18 +126,21 @@ rules
rwx
saas
schedule
schedule/next
secops
server
serverless
services
setupsshd
shell
sme
socratic
spaghetti
sre
ssg
sshkeys
ssh/authpub
ssh/catpub
sshd
ssh/keygen
stats
streamers
streamlink
......@@ -161,11 +168,9 @@ vscode
w
webdev
wgu
whatsnext
whitespace
wikis
wk01
wk02
wk03
worker
wsl
x
---
Title: Linux Beginner Boost
tpl-notitle: true
tpl-notitlehead: true
Title: RWX.GG Progressive Knowledge App
Short: RWX.GG
tpl-h1off: true
tpl-style: style.css
---
<div class=boxpoint>
[**Welcome to <span class=spy>RWX.GG</span>,**]{.biggest}
<span class=bigger>the [knowledge app](/pka/) for
*Linux Beginner Boost* and more.
[**Welcome!**]{.biggest}
<span class=big>Beginner boost is a [flipped](/flipped/) and [intense](/schedule/) [open course](/opencourse/) and [credential](/cred/). Chances are you haven't experienced anything like it in traditional education. You'll need more than just this app to get you through it. But don't worry. Join our community.
We got you.
[**So what'll you learn?**]{.bigger}
First you'll learn how to set yourself up to be an effective, tech-focused, [autodidact](/autodidact/). After learning how to learn you'll master the Linux command line as you write *real* code for projects in [nine different languages](/languages/), from low-level to high. Your portfolio will prove your skills and knowledge to everyone and anyone --- including you. You'll not only know how to code remotely on any computer in the world, but how computers and languages work. Later you'll be able to learn on your own --- especially coding languages and Linux distros --- because you just did. You'll send your [impostor syndrome](/impostor/) packing and armor yourself against [Dunning-Krueger](/dk/) making you that much better as a candidate for any occupation to choose to pursue later. What comes next is up to you.
[**What does it cost?**]{.bigger}
Nothing. This app and course will always be [free](/copyright/). You pay the cost of any [books](https://rwx.gg/books/) you choose to buy. This project is possible through generous donations and volunteer contributions from a great community of veterans and beginners. [RWX](/rwx/) is an open *knowledge* source project. One that seeks to crumble crusty cronyism and dispatch the deadly dogma that has suffocated *real* learning for far too long.
</div>
[**RWX is an open knowledge project**]{.bigger}
a [progressive knowledge app](/pka/) that seeks to [fix](/rwx/) education.
<style>
main {
max-width: unset;
}
main.content {
text-align: center;
margin: 0;
}
.boxpoint {
font-family: var(--sans-font);
font-size: 1.4em;
text-align: center;
line-height: 1.5em;
max-width: 600px;
display: inline-block;
margin-top: 2em;
}
.biggest { font-size: 1.3em; }
.bigger { font-size: 1.15em; }
.big { font-size: 1.02em; }
.small { font-size: .9em; }
.smaller { font-size: .8em; }
.smallest { font-size: .7em;line-height:0.8; }
footer {
display: none;
}
[**RWX is home to Linux Beginner Boost**]{.bigger}
a [flipped](/flipped/) and [intense](/schedule/) [open course](/opencourse/). Chances are you haven't experienced anything like it. You'll need more than just this app to get you through it. But don't worry.
We got you.
a {
color: none !important;
text-decoration: none;
background: none !important;
}
[**What will you learn?**]{.bigger}
First, how to become an effective, tech-focused, [autodidact](/autodidact/). Then you'll learn the Linux terminal while you write *real* code in [nine different languages](/languages/). You'll not only be able to code remotely from any command line in the world, but you'll understand how computers and languages work allowing you to learn any of them later.
a:hover {
text-decoration: dotted;
background: none !important;
}
[**What else will you get?**]{.bigger}
A portfolio that will prove your skills and knowledge to everyone and anyone including you. Your [impostor syndrome](/impostor/) will be sent packing and your [Dunning-Krueger](/dk/) will be obliterated with authenticity. What comes next is up to you.
What will your verse be?
</style>
[**How much does it cost?**]{.bigger}
Nothing. This app and course will always be [free](/copyright/). This project is made possible through generous [donations](/contrib/#donations) and volunteer [contributions](/contrib/) from people like you.
[© 2020 Rob Muhlestein. Licensed under Creative Commons Attribution ShareAlike](/copyright/){.tiny}
/cloud /services
/authpubkey /ssh/authpub
/week1 /wk01
/wk01 /schedule/#wk01
/setupsshd /sshd
/wk02 /schedule/#wk02
/wk03 /schedule/#wk03
/pandocmark /md/pandoc
/basicmark /md/basic
/commonmark /md/common
/markdown /md
/week2 /wk02
/fullstack /webdev
/ssh-keygen /sshkeys
/vim /vi
/daemons /daemon
/gitping /git/ping
/language /languages
/sshkeys /ssh/keygen
/localrepos /home/repos
/wiki /wikis
/lambdas /faas
/users /user
......
---
Title: Annotations
Subtitle: Building on Books
tpl-hdsearch: true
tpl-h1duck: true
---
*Annotations* are the most sustainable way to supplement and support [book](/books/) learning. Books are comprehensive, but very often incomplete, outdated, or just plain wrong. Rather than throw out all the great information in the best books, annotations provide an opportunity for a group or individual to leverage the format and structure of the book to add critical explanations and additions to avoid any gaps in learning that would result from learning from the book alone.
......
<!doctype html>
<html lang="en">
<head>
<title>Annotations | RWX.GG</title>
<title>Annotations</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
......@@ -9,8 +9,7 @@
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<!-- link rel="shortcut icon" href="/assets/img/logo.png" type="image/png"-->
<link rel="preload" href="/assets/styles.css" as="style">
<link rel="stylesheet" href="/assets/styles.css">
<link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<div id=pagebg></div>
......@@ -35,19 +34,20 @@
</div>
</nav>
</header>
<main class=content>
<a id=top></a>
<h1><a href="https://duckduckgo.com/lite?q=Annotations">Annotations</a></h1>
<main>
<a id=top></a><div class=container>
<h1><a href="https://duckduckgo.com/lite?kae=t&q=Annotations">Annotations</a></h1>
<h2>Building on Books</h2>
<p><em>Annotations</em> are the most sustainable way to supplement and support <a href="/books/">book</a> learning. Books are comprehensive, but very often incomplete, outdated, or just plain wrong. Rather than throw out all the great information in the best books, annotations provide an opportunity for a group or individual to leverage the format and structure of the book to add critical explanations and additions to avoid any gaps in learning that would result from learning from the book alone.</p>
<div class="co-example">
<p>The <a href="/books/hfgo/">Head First Go</a> book completely omits anything about <code>go mod init</code>, the <em>standard</em> way to begin any Go development these days. If you just learned Go from this book you would have critical gap in your learning.</p>
</div>
</div>
</main>
<footer>
<p><a href="/copyright/" id=copyright>© 2020 Rob Muhlestein. This written content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Any code is released into the public domain with no warranty.</a>
<p><a href="/copyright/" id=copyright>© 2020 Rob Muhlestein. Licensed under Creative Commons Attribution-ShareAlike.</a>
<br>Does something seem to have changed? <a href="/changes/">Check the change log.</a>
<br>See something wrong? <a href="https://gitlab.com/rwx.gg/README/-/issues">Open a ticket</a>
<br>See something wrong? <a href="https://gitlab.com/rwx.gg/README/-/issues">Open a ticket.</a>
</p>
</footer>
<script src="/assets/main.js"></script>
......
---
Title: App Stores
Subtitle: What the F*** Were We Thinking?!
tpl-hdsearch: true
tpl-h1duck: true
---
> There are 2 billion web users versus 50 million iOS users. (Brian Kennish, former Google engineer turned privacy advocate)
*App stores* used to be where you had to get your apps. They were a *massively failed attempt* to monopolize the ecosystem for everything that runs on *any* device --- even desktop and laptop computers. Thank God smart, informed, ethical people have promoted standards-based alternatives such as technologies like [progressive web apps](/pwa/) instead that have flourished while app stores dwindle and die like shopping malls during the 2020 COVID crisis.
*App stores* used to be where you had to get your apps. They were a *massively failed attempt* to monopolize the ecosystem for everything that runs on *any* device --- even desktop and laptop computers. Thank God smart, informed, ethical people have promoted standards-based alternatives such as technologies like [progressive web apps](/pwa/) instead that have flourished while app stores dwindle and die like shopping malls during the 2020 COVID crisis.
:::co-dumb
The idea that three or four companies would entirely control the vast majority of all software distribution through a crappy, poorly-vetted, highly biased, 30% extorted "market" is downright idiotic. One day people in the future will look back at how we collectively lost out minds to allow this to happen.
:::
## Resources
In fact, the only thing keeping app stores alive today is the control companies like Apple and Google have *on the devices themselves.* In an open market their app stores would perish. But they control that as well.
## Stop Associating Rise of Mobile Usage with App Store Success
It's important to distinguish the objective [rise](https://www.businessofapps.com/data/app-statistics/) in [use of mobile devices](https://www.statista.com/statistics/232790/forecast-of-apple-users-in-the-us/#statisticContainer) --- especially [Android](https://www.statista.com/topics/840/smartphones/) --- from a false conclusion that app stores are *also* increasing in usage and success. They aren't. If anything, [Microsoft's announcement](https://docs.microsoft.com/en-us/microsoft-edge/progressive-web-apps-edgehtml/microsoft-store) that it will include PWAs and the fact that the [opensource](/opensource/) Android OS has 80% market share is evidence that the original, monolithic app store approach has been a massive failure.
If you look at the apps that are *actually* [being downloaded](https://www.businessofapps.com/data/app-statistics/) --- almost all of which are social media apps that are not available anywhere *but* the app stores --- then you see a clearer picture of how app stores are actually in decline for general application usage and distribution. Unfortunately there are no statistics showing the [rapid growth of progressive web apps](https://www.enviance.com/ehs-insider/future-ehs-the-rise-of-progressive-web-apps) and every decision for a app developer to choose to create a PWA over the native app in an app store.
## Don't Confuse Apps with App Stores
Native apps have definite advantages over progressive web apps in many objective ways. But whatever the adoption rate of native apps it has nothing to do with the success of app *stores*. If anything the fact that Android is *destroying* the rate of iOS apps is because Android apps do not require an app store to be loaded.
Further evidence of this fact is the number of people jail-breaking their iPhones to run apps that *they* choose removing the corrupt control Apple attempts to exert over the market.
## Benefits of App Stores
Despite the obvious greed behind most app stores --- especially Apple --- the vetting process *does* protect *most* people from getting malware, but not all. All app stores have allowed malware and adware to be distributed so the process is not entirely free from flaws, but it is better than just downloading any app from the Internet.
Thankfully Amazon is [putting the heat](https://www.lifewire.com/how-to-get-paid-apps-free-android-4177674) on Google's Play store and a healthy competitive apps market exists in the Android ecosystem. Such is not true for Apple and the result will be Apple's eventual demise (which is already manifesting in their tumbling stock values and die-hard Apple fans loudly jumping ship and going to Linux and Windows).
## Opensource Android Has 80%
> Android took over as a clear market leader as of the fourth quarter of 2010, and has only further increased its lead since. As of the fourth quarter of 2016, more than 80 percent of smartphones sold were running the Android operating system. Apple’s operating system iOS is its main competitor, accounting for about 15 percent of the share.
## See Also
*This 2011 resource is to demonstrate that this failure was predicted well in advance and obvious to anyone paying attention to where all of this was going.*
[Why Mobile Apps Will Soon Be Dead (2011)](https://www.technologyreview.com/2011/05/19/194615/why-mobile-apps-will-soon-be-dead/){.see}
[Why Progressive Web Apps Will Replace Native Mobile Apps](https://www.forbes.com/sites/forbestechcouncil/2018/03/09/why-progressive-web-apps-will-replace-native-mobile-apps/){.see}
[Number of iPhone users in the United States from 2012 to 2021](https://www.statista.com/statistics/232790/forecast-of-apple-users-in-the-us){.see}
<!doctype html>
<html lang="en">
<head>
<title>App Stores | RWX.GG</title>
<title>App Stores</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
......@@ -9,8 +9,7 @@
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<!-- link rel="shortcut icon" href="/assets/img/logo.png" type="image/png"-->
<link rel="preload" href="/assets/styles.css" as="style">
<link rel="stylesheet" href="/assets/styles.css">
<link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<div id=pagebg></div>
......@@ -35,9 +34,9 @@
</div>
</nav>
</header>
<main class=content>
<a id=top></a>
<h1><a href="https://duckduckgo.com/lite?q=App Stores">App Stores</a></h1>
<main>
<a id=top></a><div class=container>
<h1><a href="https://duckduckgo.com/lite?kae=t&q=App Stores">App Stores</a></h1>
<h2>What the F*** Were We Thinking?!</h2>
<blockquote>
<p>There are 2 billion web users versus 50 million iOS users. (Brian Kennish, former Google engineer turned privacy advocate)</p>
......@@ -46,13 +45,29 @@
<div class="co-dumb">
<p>The idea that three or four companies would entirely control the vast majority of all software distribution through a crappy, poorly-vetted, highly biased, 30% extorted “market” is downright idiotic. One day people in the future will look back at how we collectively lost out minds to allow this to happen.</p>
</div>
<h2 id="resources">Resources</h2>
<p><a href="https://www.technologyreview.com/2011/05/19/194615/why-mobile-apps-will-soon-be-dead/" class="see">Why Mobile Apps Will Soon Be Dead (2011)</a> <a href="https://www.forbes.com/sites/forbestechcouncil/2018/03/09/why-progressive-web-apps-will-replace-native-mobile-apps/" class="see">Why Progressive Web Apps Will Replace Native Mobile Apps</a></p>
<p>In fact, the only thing keeping app stores alive today is the control companies like Apple and Google have <em>on the devices themselves.</em> In an open market their app stores would perish. But they control that as well.</p>
<h2 id="stop-associating-rise-of-mobile-usage-with-app-store-success">Stop Associating Rise of Mobile Usage with App Store Success</h2>
<p>It’s important to distinguish the objective <a href="https://www.businessofapps.com/data/app-statistics/">rise</a> in <a href="https://www.statista.com/statistics/232790/forecast-of-apple-users-in-the-us/#statisticContainer">use of mobile devices</a> — especially <a href="https://www.statista.com/topics/840/smartphones/">Android</a> — from a false conclusion that app stores are <em>also</em> increasing in usage and success. They aren’t. If anything, <a href="https://docs.microsoft.com/en-us/microsoft-edge/progressive-web-apps-edgehtml/microsoft-store">Microsoft’s announcement</a> that it will include PWAs and the fact that the <a href="/opensource/">opensource</a> Android OS has 80% market share is evidence that the original, monolithic app store approach has been a massive failure.</p>
<p>If you look at the apps that are <em>actually</em> <a href="https://www.businessofapps.com/data/app-statistics/">being downloaded</a> — almost all of which are social media apps that are not available anywhere <em>but</em> the app stores — then you see a clearer picture of how app stores are actually in decline for general application usage and distribution. Unfortunately there are no statistics showing the <a href="https://www.enviance.com/ehs-insider/future-ehs-the-rise-of-progressive-web-apps">rapid growth of progressive web apps</a> and every decision for a app developer to choose to create a PWA over the native app in an app store.</p>
<h2 id="dont-confuse-apps-with-app-stores">Don’t Confuse Apps with App Stores</h2>
<p>Native apps have definite advantages over progressive web apps in many objective ways. But whatever the adoption rate of native apps it has nothing to do with the success of app <em>stores</em>. If anything the fact that Android is <em>destroying</em> the rate of iOS apps is because Android apps do not require an app store to be loaded.</p>
<p>Further evidence of this fact is the number of people jail-breaking their iPhones to run apps that <em>they</em> choose removing the corrupt control Apple attempts to exert over the market.</p>
<h2 id="benefits-of-app-stores">Benefits of App Stores</h2>
<p>Despite the obvious greed behind most app stores — especially Apple — the vetting process <em>does</em> protect <em>most</em> people from getting malware, but not all. All app stores have allowed malware and adware to be distributed so the process is not entirely free from flaws, but it is better than just downloading any app from the Internet.</p>
<p>Thankfully Amazon is <a href="https://www.lifewire.com/how-to-get-paid-apps-free-android-4177674">putting the heat</a> on Google’s Play store and a healthy competitive apps market exists in the Android ecosystem. Such is not true for Apple and the result will be Apple’s eventual demise (which is already manifesting in their tumbling stock values and die-hard Apple fans loudly jumping ship and going to Linux and Windows).</p>
<h2 id="opensource-android-has-80">Opensource Android Has 80%</h2>
<blockquote>
<p>Android took over as a clear market leader as of the fourth quarter of 2010, and has only further increased its lead since. As of the fourth quarter of 2016, more than 80 percent of smartphones sold were running the Android operating system. Apple’s operating system iOS is its main competitor, accounting for about 15 percent of the share.</p>
</blockquote>
<h2 id="see-also">See Also</h2>
<p><em>This 2011 resource is to demonstrate that this failure was predicted well in advance and obvious to anyone paying attention to where all of this was going.</em></p>
<p><a href="https://www.technologyreview.com/2011/05/19/194615/why-mobile-apps-will-soon-be-dead/" class="see">Why Mobile Apps Will Soon Be Dead (2011)</a> <a href="https://www.forbes.com/sites/forbestechcouncil/2018/03/09/why-progressive-web-apps-will-replace-native-mobile-apps/" class="see">Why Progressive Web Apps Will Replace Native Mobile Apps</a> <a href="https://www.statista.com/statistics/232790/forecast-of-apple-users-in-the-us" class="see">Number of iPhone users in the United States from 2012 to 2021</a></p>
</div>
</main>
<footer>
<p><a href="/copyright/" id=copyright>© 2020 Rob Muhlestein. This written content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Any code is released into the public domain with no warranty.</a>
<p><a href="/copyright/" id=copyright>© 2020 Rob Muhlestein. Licensed under Creative Commons Attribution-ShareAlike.</a>
<br>Does something seem to have changed? <a href="/changes/">Check the change log.</a>
<br>See something wrong? <a href="https://gitlab.com/rwx.gg/README/-/issues">Open a ticket</a>
<br>See something wrong? <a href="https://gitlab.com/rwx.gg/README/-/issues">Open a ticket.</a>
</p>
</footer>
<script src="/assets/main.js"></script>
......
<!doctype html>
<html lang="en">
<head>
<title>Assets | RWX.GG</title>
<title>Assets</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
......@@ -9,8 +9,7 @@
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<!-- link rel="shortcut icon" href="/assets/img/logo.png" type="image/png"-->
<link rel="preload" href="/assets/styles.css" as="style">
<link rel="stylesheet" href="/assets/styles.css">
<link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<div id=pagebg></div>
......@@ -35,8 +34,8 @@
</div>
</nav>
</header>
<main class=content>
<a id=top></a>
<main>
<a id=top></a><div class=container>
<h1>Assets</h1>
<p>An <em>asset</em> is anything of value but in tech it generally means files that are used elsewhere — usually images, audio, video, 3D models, documents, fonts and such. Assets are distinct from your code. They are resources your code loads and controls in your application.</p>
<div class="co-tip">
......@@ -72,11 +71,12 @@
</tbody>
</table>
</div>
</div>
</main>
<footer>
<p><a href="/copyright/" id=copyright>© 2020 Rob Muhlestein. This written content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Any code is released into the public domain with no warranty.</a>
<p><a href="/copyright/" id=copyright>© 2020 Rob Muhlestein. Licensed under Creative Commons Attribution-ShareAlike.</a>
<br>Does something seem to have changed? <a href="/changes/">Check the change log.</a>
<br>See something wrong? <a href="https://gitlab.com/rwx.gg/README/-/issues">Open a ticket</a>
<br>See something wrong? <a href="https://gitlab.com/rwx.gg/README/-/issues">Open a ticket.</a>
</p>
</footer>
<script src="/assets/main.js"></script>
......
......@@ -52,13 +52,14 @@ const secs2dur = secs => {
const age = secs => secs2dur( Math.floor(Date.now()/1000) - secs )
const updateAges = _ => {
const updateAges = () => {
let nodes = document.getElementsByClassName('age')
for (let i = nodes.length; i; i--) {
let n = nodes[i-1]
n.innerText = age(n.dataset.secs)
}
}
onload = updateAges
setInterval(updateAges, 1000)
......@@ -103,7 +104,7 @@ addEventListener('click', e => {
onhashchange = e => scrollBy(0,-80)
const invert = _ => {
const invert = () => {
let sheet = D.createElement('style')
sheet.id = 'inverted'
sheet.innerHTML = `
......@@ -111,28 +112,18 @@ const invert = _ => {
transform: translate3d(0,0,0);
}
:root {
background: white;
background: #ddd;
filter: invert(1);
}
img:not(.invertable), .noinvert {
filter: invert(1);
}
div[class^=co-] {
border-left-color: #dfdfdf;
}
a, a:hover {
text-decoration-color: #9a9a9a;
color: #00837d;
}
code {
/* background: #ddd;*/
}
`
D.head.appendChild(sheet)
localStorage.inverted = 'true'
}