mirror of
https://github.com/kirsle/kirsle.net
synced 2024-12-26 16:59:28 +00:00
Latest web files check-in
This commit is contained in:
parent
4d9cad5b41
commit
719766b933
|
@ -19,7 +19,7 @@
|
||||||
<!-- Kirsle.net Flare -->
|
<!-- Kirsle.net Flare -->
|
||||||
<link rel="stylesheet" type="text/css" href="/flare/ui.css">
|
<link rel="stylesheet" type="text/css" href="/flare/ui.css">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="/solar/monokai.css">
|
<link rel="stylesheet" type="text/css" href="/solar/gruvbox.css">
|
||||||
<link rel="stylesheet" type="text/css" href="/solar/vim-syntax.css">
|
<link rel="stylesheet" type="text/css" href="/solar/vim-syntax.css">
|
||||||
|
|
||||||
<link rel="alternate" type="application/rss+xml" title="Kirsle's RSS Feed" href="/blog.rss">
|
<link rel="alternate" type="application/rss+xml" title="Kirsle's RSS Feed" href="/blog.rss">
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<a href="#navbar" class="btn btn-primary"><i class="fas fa-bars"></i></a>
|
<a href="#navbar" class="btn btn-primary"><i class="fas fa-bars"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="brand d-lg-none">
|
<div class="brand d-md-none">
|
||||||
<a href="/">
|
<a href="/">
|
||||||
<img src="/flare/cjk-48.png" width="48" height="48" alt="Kirsle.net logo">
|
<img src="/flare/cjk-48.png" width="48" height="48" alt="Kirsle.net logo">
|
||||||
Kirsle.net
|
Kirsle.net
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="order-1 order-lg-12 col-12 col-lg-10 col-xl-8">
|
<div class="order-1 order-md-12 col-12 col-md-9 col-lg-10 col-xl-9" style="min-width: 0; max-width: 1280px">
|
||||||
<div class="content-panel mb-4">
|
<div class="content-panel mb-4">
|
||||||
{{ if .SetupNeeded }}
|
{{ if .SetupNeeded }}
|
||||||
<div class="alert alert-success">
|
<div class="alert alert-success">
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="navbar" class="nav-panel order-12 order-lg-1 col-12 col-lg-2">
|
<div id="navbar" class="nav-panel order-12 order-md-1 col-12 col-md-3 col-lg-2">
|
||||||
<div class="brand">
|
<div class="brand">
|
||||||
<a href="/">
|
<a href="/">
|
||||||
<img src="/flare/cjk-48.png" width="48" height="48" alt="Kirsle.net logo">
|
<img src="/flare/cjk-48.png" width="48" height="48" alt="Kirsle.net logo">
|
||||||
|
@ -191,6 +191,22 @@
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<!-- Matomo -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _paq = window._paq || [];
|
||||||
|
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||||
|
_paq.push(['trackPageView']);
|
||||||
|
_paq.push(['enableLinkTracking']);
|
||||||
|
(function() {
|
||||||
|
var u="//svc.ckir.net/";
|
||||||
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||||
|
_paq.push(['setSiteId', '2']);
|
||||||
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
|
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<!-- End Matomo Code -->
|
||||||
|
|
||||||
{{ template "scripts" }}
|
{{ template "scripts" }}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
<h1>About Me</h1>
|
<h1>About Me</h1>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<em>Updated: Aug 11 2020</em>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 col-sm-2 markdown">
|
<div class="col-12 col-sm-2 markdown">
|
||||||
<img src="https://www.kirsle.net/static/photos/ff7ec4f5.jpg" class="img-responsive portrait" alt="Kirsle"><p>
|
<img src="https://www.kirsle.net/static/photos/ff7ec4f5.jpg" class="img-responsive portrait" alt="Kirsle"><p>
|
||||||
|
@ -14,13 +18,36 @@
|
||||||
<h2 class="mt-0">Hello world!</h2>
|
<h2 class="mt-0">Hello world!</h2>
|
||||||
|
|
||||||
<p>My name is <strong>Noah</strong> and this is my website, where I primarily keep
|
<p>My name is <strong>Noah</strong> and this is my website, where I primarily keep
|
||||||
my blog. I'm a 30 year-old software engineer living in Los Angeles.</p>
|
my blog. I'm a 32 year-old software engineer from Portland, OR (previously Los
|
||||||
|
Angeles for about a decade).</p>
|
||||||
|
|
||||||
<p>My interests include programming, creative writing, various forms of what could
|
<p>I've been interested in computers my whole life ever since I was given an
|
||||||
be loosely defined as "art," including some dabbling with 3D modeling and
|
old Tandy MS-DOS machine running Windows 3.1 back when I was in kindergarten.
|
||||||
Flash animations. I'm a "high functioning introvert," and when I manage to
|
I taught myself how to create web pages when I was 12, how to program in Perl
|
||||||
get out of the house, I like to go hiking with my dog and my partner. For
|
by 14, and I've been in love with software development ever since! It's the
|
||||||
several years I could be found at Disneyland every couple of weekends.</p>
|
closest thing to magick in an otherwise material universe; if you can imagine
|
||||||
|
it, you can write code to do it!</p>
|
||||||
|
|
||||||
|
<p>I'm a 90's kid and a "<a href="https://en.wikipedia.org/wiki/Netizen" target="_blank">netizen</a>"
|
||||||
|
of the web from the early 2000s, back when the Internet was simple and social
|
||||||
|
media didn't exist. I purposely designed my website to resemble the good old
|
||||||
|
classic sites from back then: with a visual wallpaper and lots of color. Only,
|
||||||
|
now I make sites while keeping them compliant with modern HTML standards and
|
||||||
|
friendly to view on mobile devices!</p>
|
||||||
|
|
||||||
|
<p>Besides computers, I have a pretty wide array of other interests in my
|
||||||
|
personal life; I'm a "jack of all trades, master of some" and like to dabble
|
||||||
|
here or there. I love to write and create various forms of what could be loosely
|
||||||
|
defined as "art." A long while ago I played with <a href="/rendering">3D modeling</a>
|
||||||
|
and <a href="/flash">Flash animations</a>. I like to learn about all forms of
|
||||||
|
science, delve into spiritual topics and explore the nature of the universe.
|
||||||
|
I'm into nudism and nude photography, videogames and board games, hiking
|
||||||
|
and camping, <a href="https://www.rivescript.com/" target="_blank">chat bots</a>,
|
||||||
|
and discovering new things.</p>
|
||||||
|
|
||||||
|
<p>I'm a "high functioning introvert," where I can go out and socialize from
|
||||||
|
time to time, and fool people into thinking I'm actually an extravert, but
|
||||||
|
then I need my alone time to recharge my batteries.</p>
|
||||||
|
|
||||||
<h3>Music Taste</h3>
|
<h3>Music Taste</h3>
|
||||||
|
|
||||||
|
@ -65,12 +92,6 @@
|
||||||
and the little bits of JavaScript I add are to enhance the experience slightly.
|
and the little bits of JavaScript I add are to enhance the experience slightly.
|
||||||
My website works fine with all scripts disabled.</p>
|
My website works fine with all scripts disabled.</p>
|
||||||
|
|
||||||
<p>I somewhat miss the earlier Internet days when websites had background
|
|
||||||
images rather than racing to the bottom with simplicity. My website has been described as
|
|
||||||
"hipster," but I like it this way, and it's
|
|
||||||
<a href="https://validator.w3.org/check?uri=referer">HTML5 standards compliant</a>.
|
|
||||||
Usually.</p>
|
|
||||||
|
|
||||||
<h3>Privacy</h3>
|
<h3>Privacy</h3>
|
||||||
|
|
||||||
In this post-<a href="https://en.wikipedia.org/wiki/Edward_Snowden">Snowden</a>
|
In this post-<a href="https://en.wikipedia.org/wiki/Edward_Snowden">Snowden</a>
|
||||||
|
|
42
www/blog/archive.gohtml
Normal file
42
www/blog/archive.gohtml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{{ define "title" }}Archive{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
|
||||||
|
<h1>Archive</h1>
|
||||||
|
|
||||||
|
{{ $thumbs := .Data.Thumbnails }}
|
||||||
|
|
||||||
|
{{ range .Data.Archive }}
|
||||||
|
<div class="card mb-4">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3>{{ .Date.Format "January, 2006" }}</h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
{{ range .Posts }}
|
||||||
|
{{ $thumb := index $thumbs .ID }}
|
||||||
|
<div class="col-12 col-sm-6 col-md-4 col-lg-3 mb-4">
|
||||||
|
<div class="card bg-secondary"
|
||||||
|
style="height: auto; min-height: 150px;
|
||||||
|
{{ if $thumb }}background-image: url({{ $thumb }}); background-size: cover{{ end }}
|
||||||
|
"
|
||||||
|
title="Tags: {{ range .Tags }}#{{ . }} {{ end }}">
|
||||||
|
<span class="p-1" style="background-color: RGBA(0, 0, 0, 0.8)">
|
||||||
|
<a href="/{{ .Fragment }}">{{ .Title }}</a><br>
|
||||||
|
<small class="blog-meta">
|
||||||
|
{{ .Created.Format "Jan 02 2006" }}
|
||||||
|
{{ if ne .Privacy "public" }}
|
||||||
|
<span class="blog-{{ .Privacy }}">[{{ .Privacy }}]</span>
|
||||||
|
{{ end }}
|
||||||
|
</small>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ end }}
|
|
@ -569,6 +569,7 @@ Palette Town. This is what happened...
|
||||||
ideas, feel free to leave me a comment about them. :)
|
ideas, feel free to leave me a comment about them. :)
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{{ RenderComments "Sequence Breaking Pokémon FireRed" "article-firered" }}
|
|
||||||
|
{{ RenderComments .Request "Sequence Breaking Pokémon FireRed" "article-firered" }}
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -113,7 +113,7 @@ blockquote {
|
||||||
.mobile-nav {
|
.mobile-nav {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@media (max-width: 990px) {
|
@media (max-width: 767px) {
|
||||||
body {
|
body {
|
||||||
background-image: url("/flare/blue-dust.png");
|
background-image: url("/flare/blue-dust.png");
|
||||||
background-attachment: scroll;
|
background-attachment: scroll;
|
||||||
|
@ -361,7 +361,7 @@ ul.blog-categories li:last-child:after {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 990px) {
|
@media (max-width: 767px) {
|
||||||
.content-panel {
|
.content-panel {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|
95
www/privacy.gohtml
Normal file
95
www/privacy.gohtml
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{{ define "title" }}Privacy Policy{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
|
||||||
|
<h1>Privacy Policy</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This page explains some of the privacy features on this website. In
|
||||||
|
my personal life I'm a privacy and security nut and run adblockers
|
||||||
|
and privacy guard add-ons in my web browsers and I respect <em>your</em>
|
||||||
|
privacy too.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Two privacy-related aspects of this site are as follows:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li><a href="#matomo">Matomo Web Analytics</a> is an open source,
|
||||||
|
self-hosted web analytics tool that I use to understand how my
|
||||||
|
visitors navigate my site and where they're coming from. You
|
||||||
|
can safely <a href="#matomo-optout">opt out</a> and your web
|
||||||
|
browser's privacy settings are respected <em>by default</em>.
|
||||||
|
</li>
|
||||||
|
<li><a href="#comments">Comment threads</a> on my blog <em>MAY</em>
|
||||||
|
be subscribed to by email; this is an optional feature and
|
||||||
|
unsubscribing is easy.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<h2 id="matomo">Matomo Web Analytics (Self-Hosted)</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
I'm currently using the open source analytics tool
|
||||||
|
<a href="https://matomo.org/" target="_blank">Matomo</a> to
|
||||||
|
learn about how my site is being used and where my visitors are
|
||||||
|
coming from. This tool is hosted on the same server as my blog
|
||||||
|
and is using my own database.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
My Matomo installation anonymizes visitor IP addresses and respects
|
||||||
|
the <a href="https://en.wikipedia.org/wiki/Do_Not_Track" target="_blank">
|
||||||
|
Do Not Track (DNT)</a> setting in your web browser. If you use a
|
||||||
|
browser add-on such as Privacy Badger, Matomo does not track any
|
||||||
|
information about your visits, as Privacy Badger will enable the
|
||||||
|
DNT flag automatically.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3 id="matomo-optout">Matomo Analytics Opt-Out</h3>
|
||||||
|
|
||||||
|
<iframe
|
||||||
|
style="border: 0; height: 200px; width: 600px;"
|
||||||
|
src="https://svc.ckir.net/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=000000&fontColor=ffffff&fontSize=11pt&fontFamily=Verdana"
|
||||||
|
></iframe>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<h1 id="comments">Comments and Email Subscriptions</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
When you leave a comment on my blog, you may <em>optionally</em>
|
||||||
|
enter your email address as well. If so, your email address is used
|
||||||
|
for two things:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>If you have a <a href="https://gravatar.com/" target="_blank">Gravatar</a>,
|
||||||
|
it can be displayed alongside your comment.</li>
|
||||||
|
<li>You may subscribe to get email notifications when future comments are
|
||||||
|
added to the same page you just commented on (opt-in).</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Your email address is not displayed to other visitors of the site and
|
||||||
|
I will not share it with others. You're also completely free to never
|
||||||
|
tell me your email address in the first place!
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Also, the name and email address you most recently entered into a
|
||||||
|
comment form or Contact Me page is <strong>cached</strong> in a local
|
||||||
|
session cookie that stays with your web browser (not on the server side).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Unsubscribe from Comment Threads</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To unsubscribe from individual comment threads, you may click the link
|
||||||
|
in the email notification to do so. You may also unsubscribe from
|
||||||
|
<strong>ALL</strong> comment threads site-wide by visiting the
|
||||||
|
<a href="/comments/subscription">Comment Subscription</a> page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
{{ end }}
|
53
www/solar/gruvbox.css
Normal file
53
www/solar/gruvbox.css
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
/* Gruvbox highlight theme, converted from
|
||||||
|
* https://tmtheme-editor.herokuapp.com/#!/editor/theme/Gruvbox
|
||||||
|
* Using: https://github.com/davinche/pygments-from-tmtheme
|
||||||
|
*/
|
||||||
|
.highlight { background-color: #282828; color: #fdf4c1aa; }
|
||||||
|
.highlight .ge { font-style: italic; }
|
||||||
|
.highlight .gs { font-weight: bold; }
|
||||||
|
.highlight .c { color: #928374; font-style: italic; }
|
||||||
|
.highlight .cp { color: #928374; font-style: italic; }
|
||||||
|
.highlight .c1 { color: #928374; font-style: italic; }
|
||||||
|
.highlight .cs { color: #928374; font-style: italic; }
|
||||||
|
.highlight .cm { color: #928374; font-style: italic; }
|
||||||
|
.highlight .m { color: #fdf4c1; }
|
||||||
|
.highlight .mf { color: #fdf4c1; }
|
||||||
|
.highlight .mi { color: #fdf4c1; }
|
||||||
|
.highlight .mo { color: #fdf4c1; }
|
||||||
|
.highlight .se { color: #fdf4c1; }
|
||||||
|
.highlight .kc { color: #fdf4c1; }
|
||||||
|
.highlight .k { color: #fa5c4b; }
|
||||||
|
.highlight .kd { color: #fa5c4b; }
|
||||||
|
.highlight .kn { color: #fa5c4b; }
|
||||||
|
.highlight .kt { color: #fabd2f; }
|
||||||
|
.highlight .s { color: #b8bb26; }
|
||||||
|
.highlight .sb { color: #b8bb26; }
|
||||||
|
.highlight .sc { color: #b8bb26; }
|
||||||
|
.highlight .sd { color: #b8bb26; }
|
||||||
|
.highlight .s2 { color: #b8bb26; }
|
||||||
|
.highlight .sh { color: #b8bb26; }
|
||||||
|
.highlight .si { color: #b8bb26; }
|
||||||
|
.highlight .sx { color: #b8bb26; }
|
||||||
|
.highlight .sr { color: #b8bb26; }
|
||||||
|
.highlight .s1 { color: #b8bb26; }
|
||||||
|
.highlight .ss { color: #b8bb26; }
|
||||||
|
.highlight .bp { color: #fdf4c1; }
|
||||||
|
.highlight .nc { color: #8ec07c; }
|
||||||
|
.highlight .no { color: #d3869b; }
|
||||||
|
.highlight .nt { color: #8ec07c; font-weight: bold; }
|
||||||
|
.highlight .nv { color: #fdf4c1; }
|
||||||
|
.highlight .vc { color: #fdf4c1; }
|
||||||
|
.highlight .vg { color: #fdf4c1; }
|
||||||
|
.highlight .vi { color: #fdf4c1; }
|
||||||
|
.highlight .ow { color: #fe8019; }
|
||||||
|
.highlight .o { color: #fe8019; }
|
||||||
|
.highlight .n { color: #fdf4c1aa; }
|
||||||
|
.highlight .nl { color: #fdf4c1aa; }
|
||||||
|
.highlight .nn { color: #fdf4c1aa; }
|
||||||
|
.highlight .nx { color: #fdf4c1aa; }
|
||||||
|
.highlight .bp { color: #fdf4c1; }
|
||||||
|
.highlight .p { color: #fdf4c1aa; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Kirsle.net overrides */
|
||||||
|
.highlight { background-color: transparent }
|
|
@ -7,6 +7,7 @@ corporations over the years.
|
||||||
* [Cisco](#cisco)
|
* [Cisco](#cisco)
|
||||||
* [Facebook](#facebook)
|
* [Facebook](#facebook)
|
||||||
* [Symantec](#symantec)
|
* [Symantec](#symantec)
|
||||||
|
* [TikTok](#tiktok)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -58,6 +59,8 @@ entire career in tech.
|
||||||
Facebook has been having a really bad 2018 since the Cambridge Analytica scandal began.
|
Facebook has been having a really bad 2018 since the Cambridge Analytica scandal began.
|
||||||
Only started collecting links here 12/6/18, needs some backfilling.
|
Only started collecting links here 12/6/18, needs some backfilling.
|
||||||
|
|
||||||
|
First are some questionable choices by Facebook management:
|
||||||
|
|
||||||
* [Facebook accused of striking 'secret deals over user data' - BBC News](https://www.bbc.com/news/technology-46456695) ‒ leaked internal exec emails about their purposefully privacy-infringing business practices.
|
* [Facebook accused of striking 'secret deals over user data' - BBC News](https://www.bbc.com/news/technology-46456695) ‒ leaked internal exec emails about their purposefully privacy-infringing business practices.
|
||||||
* Allowed some companies to retain full access to users' friends' data, *even after* closing the general privacy hole in 2014/2015 as related to the Cambridge Analytica leaks.
|
* Allowed some companies to retain full access to users' friends' data, *even after* closing the general privacy hole in 2014/2015 as related to the Cambridge Analytica leaks.
|
||||||
* They were aware the Android permission change to log users' call and text history *would be controversial* before they even launched it, and purposefully directed users attention away from the feature.
|
* They were aware the Android permission change to log users' call and text history *would be controversial* before they even launched it, and purposefully directed users attention away from the feature.
|
||||||
|
@ -69,6 +72,11 @@ Only started collecting links here 12/6/18, needs some backfilling.
|
||||||
* [As Facebook Raised a Privacy Wall, It Carved an Opening for Tech Giants](https://www.nytimes.com/2018/12/18/technology/facebook-privacy.html) (NY Times) ‒ "Facebook allowed Microsoft’s Bing search engine to see the names of virtually all Facebook users’ friends without consent, the records show, and gave Netflix and Spotify the ability to read Facebook users’ private messages."
|
* [As Facebook Raised a Privacy Wall, It Carved an Opening for Tech Giants](https://www.nytimes.com/2018/12/18/technology/facebook-privacy.html) (NY Times) ‒ "Facebook allowed Microsoft’s Bing search engine to see the names of virtually all Facebook users’ friends without consent, the records show, and gave Netflix and Spotify the ability to read Facebook users’ private messages."
|
||||||
* Non-NY Times article: [Facebook let tons of companies get info about you, including Amazon, Netflix, and Microsoft](https://www.cnbc.com/2018/12/19/facebook-gave-amazon-microsoft-netflix-special-access-to-data-nyt.html) (CNBC)
|
* Non-NY Times article: [Facebook let tons of companies get info about you, including Amazon, Netflix, and Microsoft](https://www.cnbc.com/2018/12/19/facebook-gave-amazon-microsoft-netflix-special-access-to-data-nyt.html) (CNBC)
|
||||||
|
|
||||||
|
Some bad things that Facebook's platform allowed for (not necessarily the fault
|
||||||
|
of the Facebook company, but noteworthy nonetheless):
|
||||||
|
|
||||||
|
* [A Genocide Incited on Facebook, with posts from Myanmar's Military](https://www.nytimes.com/2018/10/15/technology/myanmar-facebook-genocide.html) (NY Times)
|
||||||
|
|
||||||
# Symantec
|
# Symantec
|
||||||
|
|
||||||
[Symantec](https://www.symantec.com/) is a security company most known for
|
[Symantec](https://www.symantec.com/) is a security company most known for
|
||||||
|
@ -77,3 +85,60 @@ to **shut the fuck up** and pray that nobody ever finds out about it.
|
||||||
|
|
||||||
* [Top Voting Machine Vendor Admits It Installed Remote-Access Software on Systems Sold to States](https://motherboard.vice.com/en_us/article/mb4ezy/top-voting-machine-vendor-admits-it-installed-remote-access-software-on-systems-sold-to-states) — In 2006 hackers stole the source code to **pcAnywhere** and the public did not learn of this until 2012, when hackers posted the source code online. Only then did Symantec admit that *they knew about it the entire time.* Not only did this play a role in hacked voting machines but it compromised the security **of all customers of the pcAnywhere software.**
|
* [Top Voting Machine Vendor Admits It Installed Remote-Access Software on Systems Sold to States](https://motherboard.vice.com/en_us/article/mb4ezy/top-voting-machine-vendor-admits-it-installed-remote-access-software-on-systems-sold-to-states) — In 2006 hackers stole the source code to **pcAnywhere** and the public did not learn of this until 2012, when hackers posted the source code online. Only then did Symantec admit that *they knew about it the entire time.* Not only did this play a role in hacked voting machines but it compromised the security **of all customers of the pcAnywhere software.**
|
||||||
* [Google takes Symantec to the woodshed for mis-issuing 30,000 HTTPS certs](https://arstechnica.com/information-technology/2017/03/google-takes-symantec-to-the-woodshed-for-mis-issuing-30000-https-certs/) — Symantec has **repeatedly** had problems with this; the result is that Symantec has lost all trust by browser vendors and has been revoked from the trusted Certificate Authority Store on Chrome and Firefox. SSL providers are supposed to be among the **most trusted** companies because the security of the Internet rests in their hands. If hackers can trick Symantec into giving them an SSL cert for `google.com` then countries like Iran can [intercept private communications putting lives in real danger](https://en.wikipedia.org/wiki/DigiNotar).
|
* [Google takes Symantec to the woodshed for mis-issuing 30,000 HTTPS certs](https://arstechnica.com/information-technology/2017/03/google-takes-symantec-to-the-woodshed-for-mis-issuing-30000-https-certs/) — Symantec has **repeatedly** had problems with this; the result is that Symantec has lost all trust by browser vendors and has been revoked from the trusted Certificate Authority Store on Chrome and Firefox. SSL providers are supposed to be among the **most trusted** companies because the security of the Internet rests in their hands. If hackers can trick Symantec into giving them an SSL cert for `google.com` then countries like Iran can [intercept private communications putting lives in real danger](https://en.wikipedia.org/wiki/DigiNotar).
|
||||||
|
|
||||||
|
# TikTok
|
||||||
|
|
||||||
|
Chinese propaganda social network. I hear buzz about all its problems here and
|
||||||
|
there on Reddit, here is a comment by [u/surprisedduck26](https://www.reddit.com/r/worldnews/comments/g8yqbw/chinese_internet_users_who_uploaded_coronavirus/forhdwh?utm_source=share&utm_medium=web2x) that sums it up nicely in one place:
|
||||||
|
|
||||||
|
> I'm curious why people are supporting the TikTok platform in any way when you could easily just use your phone camera.
|
||||||
|
>
|
||||||
|
> I was ban from the reddit sub r/TikTok for posting a single comment about how TikTok censors Tiananmen and Tibet references. Sure would be a shame if others knew about it. <https://www.reddit.com/r/news/comments/d948n2/tiktok_censors_references_to_tiananmen_and_tibet?sort=confidence>
|
||||||
|
>
|
||||||
|
> But who cares about that right? It's not like...
|
||||||
|
>
|
||||||
|
> TikTok Admits It Suppressed Videos by Disabled, Queer, and Fat Creators. <https://slate.com/technology/2019/12/tiktok-disabled-users-videos-suppressed.html>
|
||||||
|
>
|
||||||
|
> TikTok has been accused of secretly gathering "vast quantities" of user data and sending it to servers in China. <https://www.bbc.com/news/business-50640110>
|
||||||
|
>
|
||||||
|
> TikTok is paying the FTC a fine of $5.7 million for collecting the data of kids under 13. <https://www.vox.com/the-goods/2019/2/28/18244996/tiktok-children-privacy-data-ftc-settlement>
|
||||||
|
>
|
||||||
|
> TikTok censors all reference to the Hong Kong protests. <https://www.washingtonpost.com/technology/2019/09/15/tiktoks-beijing-roots-fuel-censorship-suspicion-it-builds-huge-us-audience/?noredirect=on>
|
||||||
|
>
|
||||||
|
> TikTok has had children as young as 8 targeted by sexual predators and Police are urging parents to check the app privacy settings. <http://webcache.googleusercontent.com/search?ie=UTF-8&client=ms-android-google&source=android-browser&q=cache:https:%2F%2Fwww.scotsman.com%2Flifestyle-2-15039%2Ftiktok-privacy-settings-everything-parents-need-to-know-about-the-video-app-1-4872619>
|
||||||
|
>
|
||||||
|
> <https://www.dailymail.co.uk/sciencetech/article-6694671/Predators-grooming-children-young-eight-popular-live-streaming-apps.html>
|
||||||
|
>
|
||||||
|
> TikTok's privacy page admits to collecting as much data as possible, from meta data, GPS location, and pulls all contact information on someone's Facebook and instagram (if connected) and phone, while allowing themselves to use this data for whatever they want.
|
||||||
|
>
|
||||||
|
> <https://www.tiktok.com/legal/privacy-policy?lang=en>
|
||||||
|
>
|
||||||
|
> TikTok has been labeled a "threat to national security" by the USA government.
|
||||||
|
>
|
||||||
|
> <https://m.youtube.com/watch?v=rU0zzHKHxC8>
|
||||||
|
>
|
||||||
|
> <https://m.youtube.com/watch?v=6jOJe9U9Wj8>
|
||||||
|
>
|
||||||
|
> <https://www.nytimes.com/2019/11/01/technology/tiktok-national-security-review.html>
|
||||||
|
>
|
||||||
|
> TikTok is ban from US Navy mobile devices, as it's been declared a cybersecurity threat.
|
||||||
|
>
|
||||||
|
> <https://www.theguardian.com/technology/2019/dec/21/us-navy-bans-tiktok-from-mobile-devices-saying-its-a-cybersecurity-threat>
|
||||||
|
>
|
||||||
|
> TikTok had vulnerabilities as recent as last month, which allowed attackers to gain control of users accounts to upload videos or view private videos, while a separate flaw allowed attackers to retrieve personal information from TikTok user accounts through the company’s website.
|
||||||
|
>
|
||||||
|
> <https://www.nytimes.com/2020/01/08/technology/tiktok-security-flaws.html>
|
||||||
|
>
|
||||||
|
> Its almost as if Tiktok is China’s attempt at pushing their propaganda out to the world while also having massive privacy issues. China has realized that to control the global population you have to control social media and what people see. So for the last year they have been pouring a ton of money into getting their social media app to be accepted and widely used- through a campaign of paid content creation/submission, and vote manipulation. Once they have widescale buy in, their backdoor monitoring and data collection will have free reign.
|
||||||
|
>
|
||||||
|
> I find it a worrying trend how easily Reddit is blindly uvoting these videos to the front page and supporting a company with such privacy concerns, and an obvious agenda that is censoring and controlling the information you see.
|
||||||
|
>
|
||||||
|
> The Chinese propaganda machine is already being pushed on Reddit threads just like this one.
|
||||||
|
>
|
||||||
|
> There are reddit accounts that clearly have a pro-Chinese agendas posting in threads like these daily. I recently called out one of these reddit users via this comment: https://www.reddit.com/r/Unexpected/comments/esks18/z/ffbixet
|
||||||
|
>
|
||||||
|
> and low and behold the user u/littleking123 immediately deleted their account. Thankfully you can see a web cache of their pro-TikTok, pro-China, and anti-Hong Kong comments here.
|
||||||
|
>
|
||||||
|
> http://webcache.googleusercontent.com/search?ie=UTF-8&client=ms-android-google&source=android-browser&q=cache%3Ahttps%3A%2F%2Fwww.reddit.com%2Fuser%2Flittleking123
|
||||||
|
>
|
||||||
|
> It's still not too late to do something. I'm posting this here for exposure so others know what's going on.
|
||||||
|
|
|
@ -123,6 +123,7 @@
|
||||||
* [JavaScript Module Pattern: In-Depth](http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html) — How to write self-contained JavaScript modules in raw ES5.
|
* [JavaScript Module Pattern: In-Depth](http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html) — How to write self-contained JavaScript modules in raw ES5.
|
||||||
* [Deploying ES2015+ Code in Production Today](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/) — Using `<script type="module">` and `<script nomodule>` to ship native ES6 code to the browser, with pre-browserified fallback for legacy users.
|
* [Deploying ES2015+ Code in Production Today](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/) — Using `<script type="module">` and `<script nomodule>` to ship native ES6 code to the browser, with pre-browserified fallback for legacy users.
|
||||||
* [A JavaScript-Free Frontend](https://dev.to/winduptoy/a-javascript-free-frontend-2d3e) — Modals, drop-downs and other <abbr title="Single Page App">SPA</abbr> features in pure HTML and CSS without JavaScript.
|
* [A JavaScript-Free Frontend](https://dev.to/winduptoy/a-javascript-free-frontend-2d3e) — Modals, drop-downs and other <abbr title="Single Page App">SPA</abbr> features in pure HTML and CSS without JavaScript.
|
||||||
|
* [Everyone has JavaScript, right?](https://kryogenix.org/code/browser/everyonehasjs.html)
|
||||||
|
|
||||||
## PHP
|
## PHP
|
||||||
|
|
||||||
|
|
251
www/wiki/Bookmarks/Spirituality.md
Normal file
251
www/wiki/Bookmarks/Spirituality.md
Normal file
|
@ -0,0 +1,251 @@
|
||||||
|
# Spirituality
|
||||||
|
|
||||||
|
Links and resources specifically relating to spirituality, metaphysics and the
|
||||||
|
nature of existence and reality.
|
||||||
|
|
||||||
|
I started writing this page on **Aug 9, 2019** after a couple years reading into
|
||||||
|
lots of esoteric stuff. The page will grow as I come and backfill in links to
|
||||||
|
all sorts of things I found, and the purpose of this page is to distill down the
|
||||||
|
common "fundamental truths" and read between the lines of all religions and magick
|
||||||
|
while providing links to examples found everywhere.
|
||||||
|
|
||||||
|
* [Common Root Phenomena](#common-root-phenomena)
|
||||||
|
* [Mind Is Everything](#mind-is-everything) (Reality is subjective)
|
||||||
|
* [Lucid Dreaming](#lucid-dreaming) (Astral Projection)
|
||||||
|
* [Law of Attraction](#law-of-attraction) (Chaos Magick, Wicca, Dimension Jumping)
|
||||||
|
* [The Two Cups Method](#the-two-cups-method)
|
||||||
|
* [The Unknowable God](#the-unknowable-god) (Source, the One Consciousness, the True God)
|
||||||
|
* [Behind the Veil](#behind-the-veil)
|
||||||
|
* [The Akashic Records](#the-akashic-records)
|
||||||
|
* [The Wheel of Time](#the-wheel-of-time)
|
||||||
|
* [Indra's Net](#indra-s-net)
|
||||||
|
|
||||||
|
## My Personal Beliefs
|
||||||
|
|
||||||
|
There's a lot of "woo-woo" linked on this page but these are just the examples
|
||||||
|
to show that a lot of people, with their own varied and crazy belief systems, are
|
||||||
|
actually talking about the same things and I rather go straight to their source.
|
||||||
|
|
||||||
|
* I don't subscribe to horoscopes, chakras, crystals, psychic powers, astral
|
||||||
|
projection, occult magic, angels or demons, archons or the demiurge as I
|
||||||
|
have never directly experienced these things.
|
||||||
|
* However, I believe these things are real _for those who believe_ and reality
|
||||||
|
is subjective anyway. If you believe in and wish to see angels or spirits or
|
||||||
|
what have you, I believe you will start to see them. If they help you live
|
||||||
|
your life and achieve your goals, more power to you.
|
||||||
|
* [Law of Attraction](#law-of-attraction) is real and there's an infinite number
|
||||||
|
of methods to use it, from "woo-woo magick" to every self-help book and
|
||||||
|
motivational speech that I've ever heard. You don't need be religious or believe
|
||||||
|
in any magic to manifest reality with your thoughts.
|
||||||
|
* I subscribe and keep tabs on all sorts of spiritual topics. You never know
|
||||||
|
when a piece of wisdom will come from an unexpected source.
|
||||||
|
|
||||||
|
# Common Root Phenomena
|
||||||
|
|
||||||
|
Religions and various practices all throughout the world and history have given
|
||||||
|
many different names, symbols and rituals to some common root phenomena that
|
||||||
|
have been experienced by different people at different times.
|
||||||
|
|
||||||
|
I'm specifically talking about Abrahamic religions (i.e. Christianity, Judaism,
|
||||||
|
Islam, Gnosticism) as well as Hinduism and Buddhism. Also Wicca, chaos magick
|
||||||
|
and the occult in general.
|
||||||
|
|
||||||
|
## Mind Is Everything
|
||||||
|
|
||||||
|
What most of these common phenomena boil down to is that "mind is everything,
|
||||||
|
reality is subjective, the universe works exactly how you think it does, what
|
||||||
|
happens when you die is exactly what you think will happen" and there's no
|
||||||
|
objectively right answers.
|
||||||
|
|
||||||
|
A common thing you'll encounter when reading about various forms of magick is
|
||||||
|
that it mostly only affects your _personal reality_ and you won't be able to
|
||||||
|
convince anybody else of any of it if they don't want to believe. But what even
|
||||||
|
_is_ "reality" anyway?
|
||||||
|
|
||||||
|
Each of us is living in our own personal reality even while we seem to interact
|
||||||
|
with other people "out there" in the real world. Even if you take the stark
|
||||||
|
materialist, scientific approach: you're a brain living in a dark skull that
|
||||||
|
doesn't see the real world, only the electrical impulses given by your eyes and
|
||||||
|
ears that your brain uses to re-construct an approximation of reality that lets
|
||||||
|
you function in the world. [Is your red the same as my red?](https://www.youtube.com/watch?v=evQsOFQju08)
|
||||||
|
|
||||||
|
## Lucid Dreaming
|
||||||
|
|
||||||
|
> **Other names:** Astral Projection, Out of Body Experience
|
||||||
|
|
||||||
|
Lucid dreaming is the act of becoming aware that one is having a dream _while_
|
||||||
|
in a dream. When you become lucid and you realize the dream world is entirely of
|
||||||
|
your own creation, you can change it, fly through the air like Peter Pan, summon
|
||||||
|
any dream character (real or fictional) you want, teleport to new surroundings,
|
||||||
|
explore distant planets and fantastical environments and so on.
|
||||||
|
|
||||||
|
See ["The Phase" - Leave Your Body in 3 Days](https://www.youtube.com/watch?v=YQjAIlFZWWc)
|
||||||
|
for a good overview of how to lucid dream.
|
||||||
|
|
||||||
|
Astral Projection is another word for lucid dreaming. AP'ers will believe they've
|
||||||
|
left their body and gone to the astral plane and it might be based on real-world
|
||||||
|
locations of which they are familiar, but they fail to bring back any objective
|
||||||
|
hard evidence that would convince a skeptic that Astral Projection has anything
|
||||||
|
to it.
|
||||||
|
|
||||||
|
Links:
|
||||||
|
|
||||||
|
* Reddit:
|
||||||
|
* [/r/luciddreaming](https://www.reddit.com/r/luciddreaming)
|
||||||
|
* [/r/AstralProjection](https://www.reddit.com/r/AstralProjection/)
|
||||||
|
* ["The Phase" - Leave Your Body in 3 Days](https://www.youtube.com/watch?v=YQjAIlFZWWc)
|
||||||
|
|
||||||
|
## Law of Attraction
|
||||||
|
|
||||||
|
> **Other names:** Chaos Magick, Dimensional Jumping, various occult magick
|
||||||
|
> disciplines (Wicca, Voodo, etc.)
|
||||||
|
|
||||||
|
The [Law of Attraction](https://en.wikipedia.org/wiki/Law_of_attraction_%28New_Thought%29)
|
||||||
|
is another common root phenomena that has many different names and belief
|
||||||
|
systems surrounding it.
|
||||||
|
|
||||||
|
The LoA can be summarized as "like attracts like" or "put out positive thoughts
|
||||||
|
and intention into the world and the world gives you positive results" and the
|
||||||
|
same goes the opposite way.
|
||||||
|
|
||||||
|
**Prayer** and **meditation** are the most common ways people invoke the Law of
|
||||||
|
Attraction. In the former, you're intently focused on a prayer to your favorite
|
||||||
|
deity for something to unfold in your life and in the latter you may just be
|
||||||
|
focused on what you want to achieve. Then you forget about it and go on the rest
|
||||||
|
of your day, and what you want manifests itself in sometimes improbable ways.
|
||||||
|
|
||||||
|
Various techniques and methods are used to help you further visualize and focus
|
||||||
|
your intentions:
|
||||||
|
|
||||||
|
* **Chaos magick**
|
||||||
|
* This is "non-denominational" magick. It states that all the rituals and symbols
|
||||||
|
associated with magic use (candles, pentagrams, chants, etc.) are all fundamentally
|
||||||
|
meaningless but they help you visualize and believe in the magick which is the
|
||||||
|
root mechanism for the Law of Attraction, to be intently focused on an outcome
|
||||||
|
and to put the emotional energy and intent behind it for it to manifest.
|
||||||
|
* [The Complete Psychonaut Field Manual - A Cartoon Guide to Chaos Magick](https://ultraculture.org/blog/2015/11/13/psychonaut-field-manual/)
|
||||||
|
offers a good introduction and overview in easily digestable webcomic format.
|
||||||
|
* [Chaos magick on Wikipedia](https://en.wikipedia.org/wiki/Chaos_magic)
|
||||||
|
* **Dimension Jumping**
|
||||||
|
* Subreddits: [/r/dimensionjumping](https://www.reddit.com/r/dimensionjumping) and
|
||||||
|
[/r/dimensionaljumping](https://www.reddit.com/r/dimensionaljumping) - the latter
|
||||||
|
is archived but has a wealth of information to search.
|
||||||
|
* The belief system is that The Universe actually consists of a multiverse of infinite
|
||||||
|
parallel realities -- every reality possible, in fact -- and a countless number of
|
||||||
|
these realities have _you_ in them. By focusing your intention and performing
|
||||||
|
chaos magick-like experiments you can "jump" to alternate dimensions to manifest things
|
||||||
|
you want.
|
||||||
|
* There's no hard scientific proof of the multiverse and the methods proposed on
|
||||||
|
these subreddits are similar to ones you find in other magick and LoA practices.
|
||||||
|
|
||||||
|
### The Two Cups Method
|
||||||
|
|
||||||
|
To evidence the connection between Law of Attraction with various magick and
|
||||||
|
quantum multiverse theories, I've seen the two cups method come up multiple
|
||||||
|
times in my research.
|
||||||
|
|
||||||
|
The two cups method is basically this:
|
||||||
|
|
||||||
|
* Think of something you want to change or manifest into your reality.
|
||||||
|
* Get two cups and a way to label them (masking tape, sticky note, tape a slip
|
||||||
|
of paper you can write on, etc.)
|
||||||
|
* On one cup, summarize the current state you want to change as one word, for
|
||||||
|
example "Debt" or "Sickness" and fill this cup with water.
|
||||||
|
* On the other cup, summarize the desired state in the same way, for example
|
||||||
|
"Wealth" or "Healthy"
|
||||||
|
* While focusing carefully on your intention, slowly pour the water from the
|
||||||
|
first cup into the second, the water helping you visualize the transition to
|
||||||
|
getting what you want.
|
||||||
|
* Drink the water from the new cup. Remove the labels and put the cups away,
|
||||||
|
you're done! Don't dwell on it much more, Law of Attraction works best when
|
||||||
|
you let the universe manifest it in its own way.
|
||||||
|
|
||||||
|
Links to where I've seen this under different labels:
|
||||||
|
|
||||||
|
* [Dimensional Jumping](https://www.reddit.com/r/DimensionalJumping/comments/3h2yxo/the_act_is_the_fact_part_one_an_exercise/)
|
||||||
|
* [A site about witchcraft and magick](https://www.shadowharvestwitch.com/blogharvestingshadows/2018/9/20/two-cup-method-spell)
|
||||||
|
|
||||||
|
## The Unknowable God
|
||||||
|
|
||||||
|
> **Other names:** Source, the One Consciousness, the True God, the Universe Itself,
|
||||||
|
> The Supreme Self, Brahman, The Father.
|
||||||
|
|
||||||
|
The most common fundamental belief at the root of all the religions I've found is
|
||||||
|
the idea that the universe itself is made of consciousness. Consciousness is **all**
|
||||||
|
that exists, and the universe wouldn't exist without it. Matter is made from
|
||||||
|
consciousness. The brain does not create consciousness; consciousness creates the
|
||||||
|
brain.
|
||||||
|
|
||||||
|
"We are just the universe experiencing itself." We are all God, in one way or
|
||||||
|
another. What are the characteristics of God as defined by most religions?
|
||||||
|
All-powerful, omniscient, omnipresent. God can't be a subject _inside_ the
|
||||||
|
universe, for that would imply the universe is greater than God. There can't
|
||||||
|
be anything _outside_ of the universe, or else God would be contained within
|
||||||
|
that too.
|
||||||
|
|
||||||
|
The Unknowable God therefore is the very fabric of existence itself, the whole
|
||||||
|
entire universe all at once. Not a humanoid figure that one could know. The
|
||||||
|
unknowable god is the Source of all consciousness that exists, you and I and all
|
||||||
|
the animals and creatures and everything is a part of this One Consciousness.
|
||||||
|
In a way, God is playing that he's _not_ God by imagining that he is each and
|
||||||
|
every one of us, wearing us all like masks.
|
||||||
|
|
||||||
|
This isn't necessarily to imply the universe is [solipsistic](https://en.wikipedia.org/wiki/Solipsism)
|
||||||
|
(although it very well could be). From one scale of looking at it, we _are_ all
|
||||||
|
God because God is all that could exist, but if you zoom in to our scale of living
|
||||||
|
we all might as well be separate individuals with our own private perspectives.
|
||||||
|
|
||||||
|
* [Hinduism and the Belief in One God](https://www.hinduwebsite.com/onegod.asp) -
|
||||||
|
"He exists in all and all beings exist in him. There is nothing other than Him,
|
||||||
|
and there is nothing that is outside of Him. He is Imperishable, unknowable,
|
||||||
|
immortal, infinite, without a beginning and without an end."
|
||||||
|
* [An Unknowable God - What Bahá’ís Believe](https://www.bahai.org/beliefs/god-his-creation/revelation/unknowable-god)
|
||||||
|
* [**The Egg**](http://galactanet.com/oneoff/theegg_mod.html), a short story by Andy Weir
|
||||||
|
* [Video adaptation on YouTube](https://www.youtube.com/watch?v=ehRggplMieM)
|
||||||
|
* [The Unknowable God](http://theforbiddenreligion.com/the-unknowable-god.htm) - from
|
||||||
|
the Gnostic book "Primordial Gnosis: The Forbidden Religion"
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
# Behind the Veil
|
||||||
|
|
||||||
|
This section of the page and onwards is not a list of things that commonly appear
|
||||||
|
across a _wide_ range of spiritual disciplines but does have enough of a
|
||||||
|
recurring theme (experienced by many different people) that it warrants its own
|
||||||
|
section.
|
||||||
|
|
||||||
|
IMHO, the mechanisms of what goes on "behind the veil" are _probably_ none of
|
||||||
|
our business and you can learn to enjoy "heaven on Earth" with your own outlook
|
||||||
|
on life. This section details near death experiences, psychedelic trip reports
|
||||||
|
and other scary things that people have _commonly_ encountered on the other side.
|
||||||
|
|
||||||
|
## The Akashic Records
|
||||||
|
|
||||||
|
TBD.
|
||||||
|
|
||||||
|
## The Wheel of Time
|
||||||
|
|
||||||
|
Most commonly reported by people who've consumed Salvia, many have reported
|
||||||
|
encountering the "wheel of time" or the "wheel of karma," a crazy fractal
|
||||||
|
wheel-like object that contains the entirety of the universe and all its
|
||||||
|
possible timelines and realities.
|
||||||
|
|
||||||
|
I first heard of it from [a near-death experience report](https://www.reddit.com/r/Psychonaut/comments/6o3233/this_near_death_experience_nde_account_resembles/)
|
||||||
|
on Reddit and through comments was linked to a
|
||||||
|
[search for "wheel" on /r/salvia](https://www.reddit.com/r/Salvia/search/?q=wheel&restrict_sr=1)
|
||||||
|
where I found many trip reports and artist depictions of the wheel.
|
||||||
|
|
||||||
|
Links:
|
||||||
|
|
||||||
|
* **Near Death Experiences**
|
||||||
|
* [I fell out of the 3rd dimension into...another dimension?](https://www.reddit.com/r/AskReddit/comments/332k1c/serious_redditors_who_have_been_clinically_dead/cqh5wj2/) - Redditor
|
||||||
|
describes seeing fractals of realities similar to his own and having to choose
|
||||||
|
one to return to. Isn't sure he returned to the correct reality.
|
||||||
|
* [Fatal car wreck and description of a "water wheel" of every conceivable reality](https://www.reddit.com/r/Glitch_in_the_Matrix/comments/60rtm5/meta_near_death_experience_glitch_reveals/)
|
||||||
|
* **Salvia Trip Reports**
|
||||||
|
* ["Welcome back, my child"](https://www.reddit.com/r/Drugs/comments/39ciq3/first_trip_report_20x_welcome_back_my_child_xpost/)
|
||||||
|
* [My first experience with the wheel](https://www.reddit.com/r/Salvia/comments/7ysx69/my_first_experience_with_the_wheel/)
|
||||||
|
|
||||||
|
## Indra's Net
|
||||||
|
|
||||||
|
TBD.
|
|
@ -8,4 +8,6 @@
|
||||||
* [ ] Tour of Linux desktop environments (GNOME, KDE, Xfce, Cinnamon, MATE, Lxde)
|
* [ ] Tour of Linux desktop environments (GNOME, KDE, Xfce, Cinnamon, MATE, Lxde)
|
||||||
* [ ] In-depth how the Domain Name System works, `/etc/hosts`, PiHole
|
* [ ] In-depth how the Domain Name System works, `/etc/hosts`, PiHole
|
||||||
* [ ] In-depth how e-mail systems work
|
* [ ] In-depth how e-mail systems work
|
||||||
* [x] SMTP servers (connect directly to one and spoof an e-mail)
|
* [x] SMTP servers (connect directly to one and spoof an e-mail)
|
||||||
|
* [ ] Cross-site scripting
|
||||||
|
* [ ] Programming an API server
|
||||||
|
|
188
www/wiki/Degoogle/Apps.gohtml
Normal file
188
www/wiki/Degoogle/Apps.gohtml
Normal file
|
@ -0,0 +1,188 @@
|
||||||
|
{{ define "title" }}App Compatibility{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
|
||||||
|
<h1><a href="/wiki/Degoogle">Degoogle</a> / App Compatibility</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This is my App Compatibility Table for the Play Store apps I use and their
|
||||||
|
status running on a google-free Android device.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
My test device is a Pixel (1st gen) running LineageOS 17 without Google Apps
|
||||||
|
nor microG. Play Store apps were downloaded using
|
||||||
|
<a href="https://f-droid.org/en/packages/com.aurora.store/" target="_blank">Aurora
|
||||||
|
Store</a> on F-Droid.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><strong>Legend:</strong></p>
|
||||||
|
<ul>
|
||||||
|
<li><strong class="text-success">Green:</strong> app works to an acceptable
|
||||||
|
level of functionality.</li>
|
||||||
|
<li><strong class="text-warning">Yellow:</strong> app works at a basic level
|
||||||
|
<em>OR</em> there is a functional web-app alternative.</li>
|
||||||
|
<li><strong class="text-danger">Red:</strong> app does not work AND there
|
||||||
|
is no suitable web-app alternative.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>App Name</th>
|
||||||
|
<th>On F-Droid?</th>
|
||||||
|
<th>Web app?</th>
|
||||||
|
<th>Notes</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Alaska Airlines</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
Seems to work. Haven't tested actual flight.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-danger text-light">Alltrails</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
Error: app requires Google Play Services to run.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Bank of America</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
App works fine. Fingerprint reader supported!
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-warning text-dark">Buycott</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
Pops up a warning that it requires Google Play Services, but
|
||||||
|
seems to work anyway.<br>
|
||||||
|
Product barcode scanning works.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Discord</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
Works!
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-danger text-light">Disneyland</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
App requires Google Play Services to work.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Fly Delta</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
Seems to work. Haven't tested actual flight.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Hulu</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
No Chromecast support.<br>
|
||||||
|
Website tells you to get the mobile app.<br>
|
||||||
|
Desktop-mode website could try and play videos, but failed with
|
||||||
|
an error. (Fennec F-Droid browser).
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Kik</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
Works!
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-warning text-dark">Lyft</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td><a href="https://ride.lyft.com/">ride.lyft.com</a></td>
|
||||||
|
<td>
|
||||||
|
App won't run without Google Play Services.<br>
|
||||||
|
Mobile web app works to request a ride.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Netflix</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>Works, but no Chromecast support</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Nextcloud</td>
|
||||||
|
<td><a href="https://f-droid.org/en/packages/com.nextcloud.client/" target="_blank">Yes</a></td>
|
||||||
|
<td>-</td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">ProtonMail</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>No push notification support w/o Play Services.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Rivermark Mobile</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>Works!</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">Twitter</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td><a href="https://twitter.com/">twitter.com</a></td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-warning text-dark">Uber</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td><a href="https://m.uber.com/">m.uber.com</a></td>
|
||||||
|
<td>
|
||||||
|
App runs, but map doesn't load and GPS location not supported
|
||||||
|
without Google Play Services.<br>
|
||||||
|
Mobile web app works to request a ride.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-danger text-light">Venmo</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
App crashes frequently. There is a web app, but sending/receiving
|
||||||
|
payments is not supported in the web app.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">VLC Player</td>
|
||||||
|
<td><a href="https://f-droid.org/en/packages/org.videolan.vlc/">Yes</a></td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>Works! Has FOSS Chromecast support!</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="bg-success text-light">ZOOM Cloud Meetings</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>Seems working, haven't tested a video call yet.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{ end }}
|
126
www/wiki/Degoogle/index.md
Normal file
126
www/wiki/Degoogle/index.md
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
# Degoogle
|
||||||
|
|
||||||
|
My personal checklist and research to de-google my stuff.
|
||||||
|
|
||||||
|
## Motivations
|
||||||
|
|
||||||
|
* The Cambridge Analytica revelations ([blog post](/withdrawing-from-social-media))
|
||||||
|
* The [Purism Librem 5](https://puri.sm/products/librem-5/) phone is on my watch
|
||||||
|
list. If released, it will be a GNU/Linux phone (not Android) so might as well
|
||||||
|
prepare to leave the Android ecosystem while I wait.
|
||||||
|
|
||||||
|
Main things that have been keeping me on the stock Google Pixel 3 Android OS:
|
||||||
|
|
||||||
|
* Google Fi as cell carrier, and potential loss of features running an open source
|
||||||
|
Android like LineageOS (mainly, ability to switch towers between T-Mobile, Sprint,
|
||||||
|
US Cellular at will; WiFi Assistant I can care less about).
|
||||||
|
* Unlimited photo storage with Google Photos for a couple years with the Pixel phone
|
||||||
|
purchase. But if I self-host my own photo cloud this is really a moot point.
|
||||||
|
|
||||||
|
## Progress
|
||||||
|
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead class="thead-dark">
|
||||||
|
<tr>
|
||||||
|
<th>Google Service</th>
|
||||||
|
<th>% Migrated</th>
|
||||||
|
<th>Replacement Service</th>
|
||||||
|
<th>Remarks</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Photos</th>
|
||||||
|
<td>100%</td>
|
||||||
|
<td>Nextcloud (self)</td>
|
||||||
|
<td>All Google Photos migrated, Camera Backup enabled</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Contacts</td>
|
||||||
|
<td>100%</td>
|
||||||
|
<td>Nextcloud (self)</td>
|
||||||
|
<td>Automatic sync between Android and Thunderbird (desktop)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Calendar</td>
|
||||||
|
<td>100%</td>
|
||||||
|
<td>Nextcloud (self)</td>
|
||||||
|
<td>Automatic sync between Android and Thunderbird (Lightning Calendar add-on)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Drive</td>
|
||||||
|
<td>100%</td>
|
||||||
|
<td>Nextcloud (self)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Gmail</td>
|
||||||
|
<td>80%</td>
|
||||||
|
<td>Rackspace Mail</td>
|
||||||
|
<td>Moved kirsle.net from GSuite to Rackspace; minimizing use of Gmail.com account WIP</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Search</td>
|
||||||
|
<td>100%</td>
|
||||||
|
<td><a href="https://duckduckgo.com" target="_blank">DuckDuckGo</a></td>
|
||||||
|
<td>Switched to DDG a long time ago as default search provider in Firefox.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Maps</td>
|
||||||
|
<td>0%</td>
|
||||||
|
<td>n/a</td>
|
||||||
|
<td>No real competitor to Maps</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>YouTube</td>
|
||||||
|
<td>0%</td>
|
||||||
|
<td>n/a</td>
|
||||||
|
<td>No real competitor to YouTube</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
|
||||||
|
* [x] Experiment first with old Pixel on LineageOS without Google Play Services
|
||||||
|
nor microG. Install microG only as a last resort to test the crucial apps that
|
||||||
|
didn't work otherwise.
|
||||||
|
* [x] Leave Google Fi for a normal carrier (T-Mobile or Sprint)
|
||||||
|
* [ ] Install/configure a home server to provide crucial services:
|
||||||
|
* [x] Nextcloud for Contacts, Calendar, Camera Backup and File/Photo Storage
|
||||||
|
* [ ] Personal OpenVPN Server
|
||||||
|
* [ ] ~~Install LineageOS on primary Android phone~~ I can't do without Chromecast
|
||||||
|
support for Netflix/Hulu, so second best option is to remove Google accounts from
|
||||||
|
my phone but keep the Google Play Services for Chromecast support.
|
||||||
|
* [x] Change 2FA methods to TOTP app instead of Google push notification.
|
||||||
|
* [x] Google Voice: forward text messages to email.
|
||||||
|
* [x] Add Gmail address to a standard email app (Librem Mail on F-Droid)
|
||||||
|
* Chromecast from apps still works fine.
|
||||||
|
* Google Home app can still manage Chromecasts on the local network w/o account.
|
||||||
|
* **Google WiFi:** requires a Google account to manage the WiFi routers. For this
|
||||||
|
I installed [Android-x86](https://android-x86.org/) in VirtualBox on my laptop,
|
||||||
|
if I need to manage my WiFi I can boot that up and use the app.
|
||||||
|
* [ ] Migrate out of Google's ecosystem
|
||||||
|
* [x] Download latest export from Google Takeout
|
||||||
|
* [x] Upload contacts to Nextcloud server
|
||||||
|
* [x] Purge all photos from Google Photos (move all photos to Nextcloud)
|
||||||
|
* [x] Clear out my Google Drive of all files (move important ones to Nextcloud)
|
||||||
|
* [x] Clear all data from Google Assistant and other places
|
||||||
|
* [x] Opt-out of all data services and ad personalization from Google.
|
||||||
|
* [x] Move kirsle.net email from Google to an external provider
|
||||||
|
* [ ] Migrate accounts linked to my Gmail address to Kirsle.net address
|
||||||
|
* [ ] Wind down usage of Gmail account (unsubscribe from any mailing lists,
|
||||||
|
get down to Inbox Zero where only Google themselves will ever send me
|
||||||
|
mail to my Gmail account)
|
||||||
|
|
||||||
|
## Google-free Android
|
||||||
|
|
||||||
|
See [Self Hosting](/wiki/Self-Hosting) for my experiments running LineageOS
|
||||||
|
_without_ Google Services and the options for self-hosting crucial web services.
|
||||||
|
|
||||||
|
### App Compatibility w/o Play Services
|
||||||
|
|
||||||
|
Without Google Play Services some apps won't function correctly. I need to make
|
||||||
|
sure the apps that are important _to me_ work or have workable solutions.
|
||||||
|
|
||||||
|
**See also:** my [App Compatibility Table](/wiki/Degoogle/Apps)
|
||||||
|
|
233
www/wiki/DontBeEvil.md
Normal file
233
www/wiki/DontBeEvil.md
Normal file
|
@ -0,0 +1,233 @@
|
||||||
|
# Mirror of Project Veritas Google Leak 2019
|
||||||
|
|
||||||
|
The folders in this repo came from the "Everything" zip (Don't Be Evil.zip); this README
|
||||||
|
is my own commentary on what's good in the leak.
|
||||||
|
|
||||||
|
# Censorship
|
||||||
|
|
||||||
|
* Several conversation threads about Breitbart and InfoWars being blocked for hate
|
||||||
|
speech and conspiracy theory, respectively.
|
||||||
|
* A few slides of Google powerpoints suggesting human reviewers of news videos,
|
||||||
|
maybe taken out of context, not too interesting.
|
||||||
|
|
||||||
|
#### youtube_controversial_query_blacklist.pdf
|
||||||
|
|
||||||
|
* a list of keywords that Google blacklists
|
||||||
|
from YouTube searches (or videos? not sure)
|
||||||
|
* Mass shooting attacks in Las Vegas, New York, Texas etc.
|
||||||
|
* Conspiracy theories like Crisis Actors
|
||||||
|
* Porn queries
|
||||||
|
* Depression? Colgate?
|
||||||
|
* Abortion
|
||||||
|
|
||||||
|
# Election Tampering
|
||||||
|
|
||||||
|
* Just some threads (3 PDF files) of googlers wanting to add an easter egg to Google Translate
|
||||||
|
to say what "covfefe" means, which looks like they had problems adding it and
|
||||||
|
backed out of the idea altogether.
|
||||||
|
* Easter egg translates "cov fe'fe" and "covfefe" into `( ̄\_(ツ)_/ ̄)`.
|
||||||
|
* Had problems with Arabic trying to actually translate it into something else in
|
||||||
|
their language and had to roll it back.
|
||||||
|
|
||||||
|
Not much to see here.
|
||||||
|
|
||||||
|
# Fake News
|
||||||
|
|
||||||
|
* Lots of documents on how Google is combatting fake news, by withholding AdSense
|
||||||
|
on sites they deem to be misrepresenting information. Sounds reasonable to me.
|
||||||
|
* Study end-to-end how a publisher's traffic is promoted (i.e. on social media),
|
||||||
|
the content of the site, how the publisher represents their content, their
|
||||||
|
relationship to other scammers, and other properties by manual human review to
|
||||||
|
see if it falls under the Fake News policy. Sounds reasonable.
|
||||||
|
* Only AdSense is blocked on these Take News Sites, but DoubleClick ads may still
|
||||||
|
be used on those sites (global politics and "ads as a platform" standards)
|
||||||
|
|
||||||
|
There's also a couple resumes in here of Googlers where they describe the products
|
||||||
|
they've worked on and the features they've added. Pretty entertaining look at the
|
||||||
|
"behind the scenes" at Google but nothing crazy jumps out at me. Worked with Google
|
||||||
|
search ranking algorithms.
|
||||||
|
|
||||||
|
#### Fwd_ Fake News-letter 11_27_ Efforts to combat spread of (mis_dis)information - Google Groups.pdf
|
||||||
|
|
||||||
|
Some interesting stuff in here:
|
||||||
|
|
||||||
|
> Goal: Establish “single point of truth” for definition of “news” across Google products. Mitigate risk of
|
||||||
|
> low-quality sources and misinformation in Google News corpus.
|
||||||
|
|
||||||
|
> Goal: Establish and streamline news escalation processes to detect and handle misinformation across
|
||||||
|
> products during crises. Install 24/7 team of trained analysts ready to make policy calls and take
|
||||||
|
> actions across news surfaces including News, News 360 and Feed.
|
||||||
|
|
||||||
|
These _could_ be abused maybe? No indication they intend to misuse them.
|
||||||
|
|
||||||
|
#### news black list site for google now.txt
|
||||||
|
|
||||||
|
```
|
||||||
|
# Manual list of sites excluded from appearing as Google Now stories to read
|
||||||
|
# results. The urls are used with a UrlMatcher, and should be in the format
|
||||||
|
# specified in: webutil/urlutil/urlmatcher.h
|
||||||
|
```
|
||||||
|
|
||||||
|
**Notice:** per the filename and comment at the top of the file, this is a
|
||||||
|
blacklist for stories appearing in the Google Now app on Android. Some sites
|
||||||
|
(GTA 5 Mods, APK Mirror) make sense to be suppressed from the feed IMHO.
|
||||||
|
You also don't want to throw a page from 4Chan on somebody unexpectedly.
|
||||||
|
|
||||||
|
Some sites I recognized or have heard of before:
|
||||||
|
|
||||||
|
* apkmirror.com: Android app mirror site, not sure why it's on here.
|
||||||
|
* play.google.com, drive.google.com, docs.google.com
|
||||||
|
* ebay.com
|
||||||
|
* torrentfreak.com and several similar (thepiratebay)
|
||||||
|
* dailystormer.com
|
||||||
|
* newsbusters.org (pointed out in Veritas interview, I don't otherwise know of it)
|
||||||
|
* glennbeck.com (know the name, don't know about him though)
|
||||||
|
* naturalnews.com
|
||||||
|
* yugiohblog.konami.com: a site about the Yu-Gi-Oh trading card game?
|
||||||
|
* infowars.com
|
||||||
|
* smosh.com: YouTuber site
|
||||||
|
* boards.4chan.org
|
||||||
|
* queerty.com - LGBT magazine
|
||||||
|
* voat.co - a Reddit clone, login required now o.O
|
||||||
|
* ebaumsworld.com
|
||||||
|
* reddit.com/r/interestingasfuck - oh they even filter by subreddits, how nice
|
||||||
|
* reddit.com/r/gentlemanboners
|
||||||
|
* reddit.com/r/exmormon
|
||||||
|
* dealsplus.com
|
||||||
|
* gta5-mods.com
|
||||||
|
|
||||||
|
Lots of domains that sound like fake news sites, but I didn't check them out myself.
|
||||||
|
See the file for yourself.
|
||||||
|
|
||||||
|
* conservativespirit.com
|
||||||
|
* toprightnews.com
|
||||||
|
* hangthebankers.com
|
||||||
|
|
||||||
|
This section of the file has what looks like a bunch of fake news sites
|
||||||
|
(.com.co domain suffix? really?):
|
||||||
|
|
||||||
|
```
|
||||||
|
# START: sites flagged for peddling hoax stories.
|
||||||
|
abcnews.com.co/
|
||||||
|
actionnews3.com/
|
||||||
|
cbsnews.com.co/
|
||||||
|
channel-7-news.com/
|
||||||
|
civictribune.com/
|
||||||
|
drudge-report.co/
|
||||||
|
independencetribune.com/
|
||||||
|
nbc.com.co/
|
||||||
|
neonnettle.com/
|
||||||
|
now8news.com/
|
||||||
|
tdtalliance.com/
|
||||||
|
theracketreport.com/
|
||||||
|
therightists.com/
|
||||||
|
thirdestatenewsgroup.com/
|
||||||
|
tipsforsurvivalists.com/
|
||||||
|
worldnewsdailyreport.com/
|
||||||
|
# END: sites flagged for peddling hoax stories.
|
||||||
|
```
|
||||||
|
|
||||||
|
I pinged a few and a lot of them don't even exist anymore.
|
||||||
|
|
||||||
|
#### Page level domain restrction 2017_10_02_us_las-vegas-attack-deadliest-us-mass-shooting-trnd_index.pdf
|
||||||
|
|
||||||
|
A bug ticket within Google to add "page level domain restriction" on several
|
||||||
|
links to news articles talking about the Las Vegas attack. Some example pages:
|
||||||
|
|
||||||
|
* http://www.cnn.com/2017/10/02/us/las-vegas-attack-deadliest-us-mass-shooting-trnd/index.html
|
||||||
|
* http://abcnews.go.com/US/wireStory/las-vegas-attack-deadliest-shooting-modern-us-history-50227779
|
||||||
|
* http://www.foxnews.com/politics/2017/10/02/las-vegas-shooting-lawmakers-condemn-senseless-attack-thank-police.html
|
||||||
|
* http://www.bbc.co.uk/news/av/world-us-canada-41471532/las-vegas-shooting-witnesses-describe-attack
|
||||||
|
* http://www.bbc.com/news/av/world-us-canada-41471532/las-vegas-shooting-witnesses-describe-attack
|
||||||
|
|
||||||
|
427 URLs in total.
|
||||||
|
|
||||||
|
> 3) Are you adding or removing violations?
|
||||||
|
>
|
||||||
|
> Add
|
||||||
|
>
|
||||||
|
> 4) Which violations would you like to add?
|
||||||
|
>
|
||||||
|
> LEGACY_SENSITIVE
|
||||||
|
>
|
||||||
|
> 5) Please provide a brief justification for this request.
|
||||||
|
>
|
||||||
|
> Las Vegas Mandalay Bay Shooting
|
||||||
|
|
||||||
|
Per a commenter in the bug ticket thread this is a "URL takedown request", but
|
||||||
|
not clear what service. Probably Google Search listing. Could be just adding a
|
||||||
|
"Sensitive" label to these links too.
|
||||||
|
|
||||||
|
#### Realtime Boost.pdf
|
||||||
|
|
||||||
|
PowerPoint slide about responding quickly to real-world events.
|
||||||
|
|
||||||
|
* Detect real world events
|
||||||
|
* Is this Query Trending?
|
||||||
|
* Fast triggering: <5 mins after the event
|
||||||
|
* Fast serving: 5ms average / 40ms 99% percentile
|
||||||
|
|
||||||
|
* They use Twitter as a signal for rapid-fire tweets about breaking news
|
||||||
|
* Updates Google search autocomplete quickly (type "p" and auto-suggest "prince dead"
|
||||||
|
as one example in the slides)
|
||||||
|
|
||||||
|
Neat!
|
||||||
|
|
||||||
|
# Hiring Practices
|
||||||
|
|
||||||
|
To be checked.
|
||||||
|
|
||||||
|
# Leadership Training
|
||||||
|
|
||||||
|
To be checked.
|
||||||
|
|
||||||
|
# Machine Learning Fairness
|
||||||
|
|
||||||
|
What it seems they're going for at Google:
|
||||||
|
|
||||||
|
* Machine learning collects data from the real world and then produces results
|
||||||
|
based on real world data, which isn't always comfortable with people. Things
|
||||||
|
like implicit stereotypes or social biases that fully exist in the real world
|
||||||
|
get reflected "by default" when machine learning studies the real world.
|
||||||
|
* Google is working on algorithms to try and steer the "actual results" into a
|
||||||
|
more equal output, so no group of people feel marginalized by the Google
|
||||||
|
machine learning results.
|
||||||
|
* Similar in concept to a "random number generator" in many videogames or music
|
||||||
|
playing programs aren't _actually_ random and have algorithmic bias to seem
|
||||||
|
more in line with what the user expects. If your music player picks the same
|
||||||
|
song twice in a row -- that's true randomness and happens, so instead it runs
|
||||||
|
an algorithm to be more in line with the ideal expectation of the user.
|
||||||
|
|
||||||
|
Some people may have a problem with that and expect that Google Search reflects
|
||||||
|
the world exactly as it is without changing it and I'm sure arguments could be
|
||||||
|
made for either side.
|
||||||
|
|
||||||
|
The folder contains some examples:
|
||||||
|
|
||||||
|
* Google search for "american inventors" returns mostly African American
|
||||||
|
inventors (George Washington Carver, Lewis Howard Latimer...).
|
||||||
|
* A discussion thread about how it's a bug in the search algorithm.
|
||||||
|
* Google Image Team is working on forcing diversity into search results
|
||||||
|
to work around the bug.
|
||||||
|
|
||||||
|
> **Quote:**
|
||||||
|
>
|
||||||
|
> As is the 'our algorithm isn't actually that smart, it's just that
|
||||||
|
> "African American" has the word "American" in it'
|
||||||
|
|
||||||
|
Other examples of why ML Fairness was needed to intervene in Google Search:
|
||||||
|
|
||||||
|
* The term "doctor" would primarily return photos of men.
|
||||||
|
* Real-world diversity in surgeons: 81% Male, 19% Female
|
||||||
|
* 89,000 results for "male surgeon" on Google
|
||||||
|
* 119,000 results for "female surgeon" on Google
|
||||||
|
|
||||||
|
Still working through powerpoints on this but so far not very worrisome.
|
||||||
|
|
||||||
|
# Partisanship
|
||||||
|
|
||||||
|
TBD.
|
||||||
|
|
||||||
|
# Psychological Research
|
||||||
|
|
||||||
|
TBD.
|
82
www/wiki/Go-WebAssembly.md
Normal file
82
www/wiki/Go-WebAssembly.md
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
# WebAssembly and Go(lang)
|
||||||
|
|
||||||
|
Some notes, links and tips for working with WebAssembly programs written in Go.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
(from [github.com/mattn/golang-wasm-example](https://github.com/mattn/golang-wasm-example))
|
||||||
|
|
||||||
|
Quick synopsis of an example WASM app in Go that fetches a PNG image over HTTP
|
||||||
|
and draws it into a canvas.
|
||||||
|
|
||||||
|
```go
|
||||||
|
// +build js,wasm
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"syscall/js"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
href := js.Global().Get("location").Get("href")
|
||||||
|
u, err := url.Parse(href.String())
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
u.Path = "/logo.png"
|
||||||
|
|
||||||
|
log.Println("loading image file: " + u.String())
|
||||||
|
resp, err := http.Get(u.String())
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
b, err := ioutil.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
enc := base64.StdEncoding.EncodeToString(b)
|
||||||
|
|
||||||
|
canvas := js.Global().Get("document").Call("getElementById", "canvas")
|
||||||
|
ctx := canvas.Call("getContext", "2d")
|
||||||
|
image := js.Global().Call("eval", "new Image()")
|
||||||
|
image.Call("addEventListener", "load", js.FuncOf(func(this js.Value, args []js.Value) interface{} {
|
||||||
|
ctx.Call("drawImage", image, 0, 0)
|
||||||
|
return nil
|
||||||
|
}))
|
||||||
|
image.Set("src", "data:image/png;base64,"+enc)
|
||||||
|
|
||||||
|
canvas.Call("addEventListener", "click", js.FuncOf(func(this js.Value, args []js.Value) interface{} {
|
||||||
|
js.Global().Get("window").Call("alert", "Don't click me!")
|
||||||
|
return nil
|
||||||
|
}))
|
||||||
|
|
||||||
|
select {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* [WebAssembly (Go Wiki)](https://github.com/golang/go/wiki/WebAssembly)
|
||||||
|
* [MDN - CanvasRenderingContext2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D) -
|
||||||
|
HTML5 Canvas API documentation (general front-end knowledge).
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
* [Cat-o-licious](https://github.com/fiorix/cat-o-licious) is a simple game using
|
||||||
|
SDL2 and originally targeted toward desktop applications. The author ported the
|
||||||
|
engine over to WASM using the HTML5 Canvas API in place of SDL2 functions.
|
||||||
|
* [golang-wasm-example](https://github.com/mattn/golang-wasm-example) at time of
|
||||||
|
writing shows a simple WASM app in Go that fetches a PNG image and renders it
|
||||||
|
into an HTML5 Canvas. The Go portion was also copied above.
|
||||||
|
* [sdl-canvas-wasm](https://github.com/timhutton/sdl-canvas-wasm) is a **C++**
|
||||||
|
example that natively uses SDL2 and compiles to WebAssembly.
|
||||||
|
[Live demo here.](https://timhutton.github.io/sdl-canvas-wasm/)
|
196
www/wiki/Linux-Phones.md
Normal file
196
www/wiki/Linux-Phones.md
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
# Linux Phones
|
||||||
|
|
||||||
|
This is a collection of notes about running GNU/Linux operating systems on
|
||||||
|
smartphones, specifically the [Pine64 Pinephone](https://www.pine64.org/pinephone/)
|
||||||
|
but also probably applicable to the [Purism Librem 5](https://puri.sm/products/librem-5/)
|
||||||
|
and similar devices.
|
||||||
|
|
||||||
|
The focus of this page is on standard GNU/Linux distros such as postmarketOS,
|
||||||
|
Debian/Phosh, Fedora and so on. Ubuntu Touch UBports is a different kind of
|
||||||
|
creature altogether and many notes on this page may not apply there.
|
||||||
|
|
||||||
|
Table of Contents:
|
||||||
|
|
||||||
|
* [See Also](#see-also)
|
||||||
|
* [Web Browsers](#web-browsers)
|
||||||
|
* [GNOME Web (Epiphany)](#gnome-web-epiphany)
|
||||||
|
* [Firefox](#firefox)
|
||||||
|
* [Productivity Apps](#productivity-apps)
|
||||||
|
* [Nextcloud](#nextcloud)
|
||||||
|
* [KeePass](#keepass)
|
||||||
|
* [Security](#security)
|
||||||
|
* [Default Software by OS](#default-software-by-os)
|
||||||
|
* [GNU Coreutils on postmarketOS](#gnu-coreutils-on-postmarketos)
|
||||||
|
|
||||||
|
# See Also
|
||||||
|
|
||||||
|
Listings of potential mobile-friendly Linux apps:
|
||||||
|
|
||||||
|
* [postmarketOS: Potential apps](https://wiki.postmarketos.org/wiki/Potential_apps)
|
||||||
|
* [Mobile GNU/Linux Apps](https://mglapps.frama.io/)
|
||||||
|
* [apps (Mobian Wiki)](https://wiki.mobian-project.org/doku.php?id=apps)
|
||||||
|
|
||||||
|
[Librem5](https://source.puri.sm/Librem5) gitlab has patches for some Linux
|
||||||
|
apps for mobile friendliness:
|
||||||
|
|
||||||
|
* [Geary mail client](https://source.puri.sm/Librem5/geary)
|
||||||
|
|
||||||
|
# Web Browsers
|
||||||
|
|
||||||
|
## GNOME Web (Epiphany)
|
||||||
|
|
||||||
|
postmarketOS, Mobian/Phosh and probably others ship with GNOME Web as the
|
||||||
|
default browser. It's currently the best optimized mobile web browser for
|
||||||
|
Linux and has built-in support to "Install Site as Web Application" to add
|
||||||
|
an app launcher for web apps.
|
||||||
|
|
||||||
|
Installed web apps run in a mode where the URL bar is replaced by just a
|
||||||
|
title bar and seems to have a sandboxed profile (no cookie sharing with the
|
||||||
|
normal GNOME Web sessions).
|
||||||
|
|
||||||
|
### User-Agent String
|
||||||
|
|
||||||
|
You may want to customize the User Agent to look like mobile Firefox so
|
||||||
|
that sites like `mobile.twitter.com` will give a more modern front-end UI
|
||||||
|
instead of one that looks themed after Android 2.x
|
||||||
|
|
||||||
|
Run this command to set the User-Agent to appear like Firefox:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Safari/537.361"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Firefox
|
||||||
|
|
||||||
|
> See also [Firefox on postmarketOS Wiki](https://wiki.postmarketos.org/wiki/Firefox)
|
||||||
|
|
||||||
|
Firefox is another _decent_ web browser for mobile Linux. With a few `about:config`
|
||||||
|
tweaks you can enable better touch controls. Some parts of Firefox UI is not very
|
||||||
|
mobile friendly and you probably only want to open one tab per window, as the tab
|
||||||
|
bar doesn't fit on screen very well when you have 2+ tabs open.
|
||||||
|
|
||||||
|
To set the necessary about:config tweaks, easiest is to use your prefs.js.
|
||||||
|
From the postmarketOS wiki:
|
||||||
|
|
||||||
|
> Go in your profile directory (.mozilla/firefox/xxxxxxxx.default/) then exec:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo 'user_pref("dom.w3c.touch_events.enabled", true);' >> prefs.js
|
||||||
|
echo 'user_pref("browser.gesture.pinch.in", "cmd_fullZoomReduce");' >> prefs.js
|
||||||
|
echo 'user_pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge");' >> prefs.js
|
||||||
|
echo 'user_pref("general.useragent.site_specific_overrides", false );' >> prefs.js
|
||||||
|
echo 'user_pref("general.useragent.override", "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Safari/537.361");' >> prefs.js
|
||||||
|
```
|
||||||
|
|
||||||
|
> And restart the browser.
|
||||||
|
|
||||||
|
# Productivity Apps
|
||||||
|
|
||||||
|
## Nextcloud
|
||||||
|
|
||||||
|
I use [Nextcloud](https://nextcloud.com/) as a self-hosted replacement for many
|
||||||
|
Google services (see my [Degoogle](/wiki/Degoogle) page).
|
||||||
|
|
||||||
|
GNOME Online Accounts already has built-in support to use Nextcloud and syncs
|
||||||
|
your Contacts and Calendar with the respective GNOME apps. You can also browse
|
||||||
|
your Nextcloud filesystem using the File Browser (Nautilus) app.
|
||||||
|
|
||||||
|
The desktop app for Linux is _probably_ not mobile friendly but it has a
|
||||||
|
command-line program called `nextcloudcmd` which may be usable to set up a
|
||||||
|
traditional sync to local filesystem. I haven't tested it yet.
|
||||||
|
|
||||||
|
## KeePass
|
||||||
|
|
||||||
|
I use the [KeePass password manager](https://keepass.info/) and so need to find a
|
||||||
|
good app for this that I can use from my smartphone.
|
||||||
|
|
||||||
|
Currently I haven't found a native app that is mobile-friendly and fits on the
|
||||||
|
small display of the phone.
|
||||||
|
|
||||||
|
As a workaround I found that [KeeWeb](https://keeweb.info/) has a usable enough
|
||||||
|
mobile interface in the form of a web application. I installed it as a plugin on
|
||||||
|
my Nextcloud server. For best security you might install it directly onto the
|
||||||
|
local host of your phone, e.g. with nginx and access it at http://localhost.
|
||||||
|
Otherwise self-host it on a web server you control.
|
||||||
|
|
||||||
|
# Security
|
||||||
|
|
||||||
|
At time of writing, GNU/Linux distros don't have a security model as good as what's
|
||||||
|
available on Android. Linux security mainly boils down to filesystem-level access
|
||||||
|
controls, but there's very little in the way to prevent two user-space apps from
|
||||||
|
messing with each other's data.
|
||||||
|
|
||||||
|
Like on a desktop Linux system, common sense applies, don't install random dodgy
|
||||||
|
software from unknown sources, don't `wget | bash` to run unknown scripts without
|
||||||
|
reading them first and verify what they're doing, etc.
|
||||||
|
|
||||||
|
On distros running Phosh your user password is required to be a numeric PIN code
|
||||||
|
that you unlock the screen with. These sorts of passwords are _very_ weak and
|
||||||
|
you may want to disable `sudo` access to your account and instead set a very
|
||||||
|
strong `root` user password.
|
||||||
|
|
||||||
|
Some misc tips relevant to Linux on smartphones:
|
||||||
|
|
||||||
|
* Use full disk encryption is available. Currently only postmarketOS seems to
|
||||||
|
support this but is marked as "experimental." The idea being if your phone is
|
||||||
|
lost or stolen you don't wanna make it easy for somebody to access the
|
||||||
|
filesystem and steal secrets from Firefox's cookies or saved password store etc.
|
||||||
|
* Use the GNOME Keyring or similar whenever possible. You can use any complex
|
||||||
|
password you want for this, the stronger the better.
|
||||||
|
* If your password is a numeric PIN code, disable sudo access to your account and
|
||||||
|
either create a secondary sudoer user or configure a root password. Use strong
|
||||||
|
passwords either way.
|
||||||
|
* If your phone listens on an SSH server, set up [SSH key-based authentication](https://www.ssh.com/ssh/key/)
|
||||||
|
and disable login using password. Especially if your password is a numeric PIN
|
||||||
|
code! Also disable root login over SSH.
|
||||||
|
* If you generate SSH _client_ keys on your phone, password protect those! In
|
||||||
|
case your phone is lost/stolen it will buy you time to remove the phone's SSH
|
||||||
|
keys from your servers' `authorized_keys` files.
|
||||||
|
|
||||||
|
# Default Software by OS
|
||||||
|
|
||||||
|
Just some notes on what each GNU/Linux distro comes with out of box and some
|
||||||
|
notes.
|
||||||
|
|
||||||
|
* postmarketOS/Phosh:
|
||||||
|
* Phone, SMS
|
||||||
|
* GNOME Web
|
||||||
|
* Cheese photo booth
|
||||||
|
* Extensions (GNOME)
|
||||||
|
* Settings
|
||||||
|
* GNOME Software (not mobile friendly)
|
||||||
|
* King's Cross (terminal emulator)
|
||||||
|
|
||||||
|
* Fedora
|
||||||
|
* Phone, SMS
|
||||||
|
* GNOME Web
|
||||||
|
* GNOME Contacts
|
||||||
|
* Evolution mail client (not mobile friendly)
|
||||||
|
* GNOME Software (not mobile friendly)
|
||||||
|
|
||||||
|
* Mobian/Phosh
|
||||||
|
* Phone, SMS
|
||||||
|
* GNOME Web
|
||||||
|
* GNOME Contacts
|
||||||
|
* GNOME Calendar (not mobile friendly)
|
||||||
|
* GNOME Software (patches to make it mobile friendly)
|
||||||
|
* Geary (mail client, mobile-friendly patches)
|
||||||
|
* King's Cross (terminal emulator)
|
||||||
|
|
||||||
|
## GNU Coreutils on postmarketOS
|
||||||
|
|
||||||
|
postmarketOS is based on Alpine Linux which is a very minimalist distro and
|
||||||
|
ships with [Busybox](https://www.busybox.net/) by default, meaning standard
|
||||||
|
CLI tools like `grep`, `less` and `du` are Busybox versions and not the standard
|
||||||
|
GNU coreutils found on most Linux distros.
|
||||||
|
|
||||||
|
So some CLI options to these programs aren't supported in Busybox, like
|
||||||
|
`grep --exclude` or `du --max-depth` or `less -r` and several of my bash shell
|
||||||
|
aliases relied on these options.
|
||||||
|
|
||||||
|
To install GNU versions (see also [How to get regular stuff working](https://wiki.alpinelinux.org/wiki/How_to_get_regular_stuff_working)
|
||||||
|
from Alpine Linux wiki):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apk add coreutils grep less
|
||||||
|
```
|
|
@ -11,7 +11,9 @@ See [the index](/wiki/_pages) for the list of all available pages in this wiki.
|
||||||
* [Python cocos2d Installation](/wiki/Python-cocos2d-Installation)
|
* [Python cocos2d Installation](/wiki/Python-cocos2d-Installation)
|
||||||
* [Fedora on Macbook](/wiki/Fedora-on-Macbook)
|
* [Fedora on Macbook](/wiki/Fedora-on-Macbook)
|
||||||
* [Debian on Macbook](/wiki/Debian-on-Macbook)
|
* [Debian on Macbook](/wiki/Debian-on-Macbook)
|
||||||
|
* [Linux on Smartphones](/wiki/Linux-Phones)
|
||||||
* [nginx configs](/wiki/nginx-configs)
|
* [nginx configs](/wiki/nginx-configs)
|
||||||
|
* [Go WebAssembly](/wiki/Go-WebAssembly)
|
||||||
|
|
||||||
# Ideas and Notes
|
# Ideas and Notes
|
||||||
|
|
||||||
|
@ -22,6 +24,10 @@ See [the index](/wiki/_pages) for the list of all available pages in this wiki.
|
||||||
* [Protocol Buffers Protocol](/wiki/Protocol-Buffers-Protocol)
|
* [Protocol Buffers Protocol](/wiki/Protocol-Buffers-Protocol)
|
||||||
* [Optimize RiveScript](/wiki/Optimize-RiveScript) - So it can support Alice-sized brains
|
* [Optimize RiveScript](/wiki/Optimize-RiveScript) - So it can support Alice-sized brains
|
||||||
* [Self Hosting](/wiki/Self-Hosting) - Own your own data + how well Android works in 2018 without Google.
|
* [Self Hosting](/wiki/Self-Hosting) - Own your own data + how well Android works in 2018 without Google.
|
||||||
|
* [Degoogle](/wiki/Degoogle) - Notes on my personal effort to de-google my life.
|
||||||
|
* [Simple CAS Protocol](/wiki/Simple-CAS-Protocol) - Simple overview of single sign-on with CAS protocol.
|
||||||
|
* Google-fu examples:
|
||||||
|
* [Vue.js public path config](/wiki/Vue-DDG-Searches)
|
||||||
|
|
||||||
# Personal Reference
|
# Personal Reference
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,8 @@ So each packet would consist of a format like:
|
||||||
2. A fixed size packed integer to indicate the length of the protobuf message (i.e. a 32-bit integer, or 4 binary bytes... or you could probably get away with 16-bit and have a max size of 65K for each protobuf message)
|
2. A fixed size packed integer to indicate the length of the protobuf message (i.e. a 32-bit integer, or 4 binary bytes... or you could probably get away with 16-bit and have a max size of 65K for each protobuf message)
|
||||||
3. The binary-encoded protobuf message.
|
3. The binary-encoded protobuf message.
|
||||||
|
|
||||||
\* The Message Type byte should reserve one bit for extensibility: for example, reserve the highest bit. This means that initially you can only have up to 128 types of messages in your protocol (using Message Type IDs from 0 to 127 (`01111111`), and if you run out of space you can set the highest bit to `1` (so, `128` for `100000000`) and that could instruct your protocol to read the *next* byte to continue finding the Message Type. [UTF-8 encoding](https://www.youtube.com/watch?v=MijmeoH9LT4) works on a similar principal. The highest bit of every byte would be reserved for extending the length, so you don't run out of space as the protocol grows.
|
\* The Message Type byte should reserve one bit for extensibility: for example, reserve the highest bit. This means that initially you can only have up to 128 types of messages in your protocol (using Message Type IDs from 0 to 127 (`01111111`), and if you run out of space you can set the highest bit to `1` (so, `128` for `10000000`) and that could instruct your protocol to read the *next* byte to continue finding the Message Type. [UTF-8 encoding](https://www.youtube.com/watch?v=MijmeoH9LT4) works on a similar principal. The highest bit of every byte would be reserved for extending the length, so you don't run out of space as the protocol grows.
|
||||||
|
|
||||||
If you found you need to extend the length limit (part #2 of the packet format), you could handle this by incrementing the Protocol Version Number from the handshake. Client and server could both switch to larger integers when using the new protocol.
|
If you found you need to extend the length limit (part #2 of the packet format), you could handle this by incrementing the Protocol Version Number from the handshake. Client and server could both switch to larger integers when using the new protocol.
|
||||||
|
|
||||||
The mapping between Message Type values and your protobuf messages would be done on your own. For example you could arbitrarily say that Message Type 1 is Login, 2 is Register, 3 is Logout, etc.
|
The mapping between Message Type values and your protobuf messages would be done on your own. For example you could arbitrarily say that Message Type 1 is Login, 2 is Register, 3 is Logout, etc.
|
||||||
|
|
34
www/wiki/Regexp Basics.md
Normal file
34
www/wiki/Regexp Basics.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# Regexp Basics
|
||||||
|
|
||||||
|
A small reference for some basic things you can do with regular expressions
|
||||||
|
that you can get a lot of mileage out of without getting too in the weeds with
|
||||||
|
crazy features.
|
||||||
|
|
||||||
|
Recommended links:
|
||||||
|
|
||||||
|
* [Regexr](https://regexr.com/), an interactive regexp explorer.
|
||||||
|
* [perlretut](https://metacpan.org/pod/distribution/perl/pod/perlretut.pod),
|
||||||
|
where I learned regexp back in the day. It's Perl documentation but the
|
||||||
|
regexp knowledge inside is universally applicable to other programming languages.
|
||||||
|
|
||||||
|
This page includes examples and code snippets in various programming languages.
|
||||||
|
|
||||||
|
## String Search (& Replace)
|
||||||
|
|
||||||
|
The simplest regexps deal with just plain old raw text.
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// JavaScript
|
||||||
|
"Hello world".match(/world/);
|
||||||
|
```
|
||||||
|
|
||||||
|
```perl
|
||||||
|
# Perl
|
||||||
|
"Hello world" =~ /world/;
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Python
|
||||||
|
import re
|
||||||
|
re.match(r'world', "Hello world")
|
||||||
|
```
|
153
www/wiki/Simple-CAS-Protocol.md
Normal file
153
www/wiki/Simple-CAS-Protocol.md
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
# Simple CAS Protocol
|
||||||
|
|
||||||
|
[Central Authentication Service](https://apereo.github.io/cas/5.1.x/protocol/CAS-Protocol-Specification.html)
|
||||||
|
is a very simple Single Sign On protocol. Here's a quick tl;dr. how it works.
|
||||||
|
|
||||||
|
CAS involves three parties:
|
||||||
|
|
||||||
|
* A **client web browser** that wants to log in to your web application.
|
||||||
|
* A **web application** that wants to authenticate the client browser by using CAS.
|
||||||
|
* The **CAS server** that provides the single sign-on for users (stores their email
|
||||||
|
address and password in a database).
|
||||||
|
|
||||||
|
## How it looks to the Web Application
|
||||||
|
|
||||||
|
1. Client web browser visits your web application and clicks a "Log In" button.
|
||||||
|
2. The web application issues an HTTP redirect to send the user to the CAS server's
|
||||||
|
`/login` URL, including a query string parameter of the URL that CAS should
|
||||||
|
send the user back to after they authenticate with CAS (a "service URL").
|
||||||
|
* e.g.: `https://accounts.cas.com/login?service=https://your-application.com/login-complete`
|
||||||
|
3. CAS server presents the user with a login screen to enter their email and
|
||||||
|
password. Upon successful login with CAS, CAS redirects the user to your
|
||||||
|
service's URL along with a `ticket` query string parameter.
|
||||||
|
4. The web application's back-end code sends the `ticket` and its `service` URL
|
||||||
|
to the CAS server to verify, by making an HTTP request to the `/validate`
|
||||||
|
URL on CAS.
|
||||||
|
* e.g.: `https://accounts.cas.com/verify?service=https://your-application.com/login-complete&ticket=1A2B3C`
|
||||||
|
5. Assuming the login with CAS was successful and the ticket is valid and correct,
|
||||||
|
the CAS `/verify` URL returns a simple plain text response:
|
||||||
|
`yes\nname@example.com` -- it says "yes" or "no" on the first line indicating
|
||||||
|
if the ticket was correct, and the user's email address on the second line if
|
||||||
|
the login was successful.
|
||||||
|
|
||||||
|
The web application now has the user's verified e-mail address confirmed through
|
||||||
|
CAS and could set session cookies to mark them "logged in" on the application,
|
||||||
|
create a web application account using their e-mail address, etc.
|
||||||
|
|
||||||
|
Example web app code in Python/Flask:
|
||||||
|
|
||||||
|
```python
|
||||||
|
from flask import Flask, redirect, url_for, session
|
||||||
|
import requests
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
# Config variables.
|
||||||
|
CAS_SERVER = "https://accounts.cas.com"
|
||||||
|
CAS_LOGIN_URL = CAS_SERVER + "/login"
|
||||||
|
CAS_VERIFY_URL = CAS_SERVER + "/validate"
|
||||||
|
|
||||||
|
# The service URL that CAS will send the user back to, on our
|
||||||
|
# web application, after they authenticate with CAS.
|
||||||
|
SERVICE_URL = "https://your-application.com/login-complete"
|
||||||
|
# (Python/Flask could determine this URL dynamically as follows):
|
||||||
|
# SERVICE_URL = url_for("login_complete", _external=True)
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
def index_page():
|
||||||
|
return """
|
||||||
|
<a href="/login">Sign in to this web application</a>
|
||||||
|
"""
|
||||||
|
|
||||||
|
@app.route("/login")
|
||||||
|
def login_begin():
|
||||||
|
# Start of the login process: redirect the user to CAS to authenticate.
|
||||||
|
# URL is like: https://accounts.cas.com/login?service=https://your-application.com/login-complete
|
||||||
|
return redirect(
|
||||||
|
CAS_LOGIN_URL + "?service=" + CAS_VERIFY_URL
|
||||||
|
)
|
||||||
|
|
||||||
|
@app.route("/login-complete")
|
||||||
|
def login_complete():
|
||||||
|
# This HTTP request includes a "ticket" query parameter.
|
||||||
|
ticket = request.args.get("ticket")
|
||||||
|
|
||||||
|
# Call the CAS server to verify the ticket.
|
||||||
|
r = requests.get(
|
||||||
|
CAS_VERIFY_URL,
|
||||||
|
params={
|
||||||
|
"ticket": ticket,
|
||||||
|
"service": SERVICE_URL,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
# omitted: handle http errors, check if `r.ok` or r.status_code is 200, etc.
|
||||||
|
|
||||||
|
# Read the response from CAS validate url.
|
||||||
|
data = r.text # looks like "yes\nname@example.com" or "no\n"
|
||||||
|
lines = data.split("\n")
|
||||||
|
|
||||||
|
# Successful?
|
||||||
|
if lines[0] == "yes":
|
||||||
|
email = lines[1]
|
||||||
|
|
||||||
|
# User is authenticated, mark them logged in or whatever.
|
||||||
|
session["logged_in"] = True
|
||||||
|
session["user_email"] = email
|
||||||
|
return "Login successful, welcome %s!" % email
|
||||||
|
|
||||||
|
return "Login failed."
|
||||||
|
```
|
||||||
|
|
||||||
|
## How it looks to CAS Server
|
||||||
|
|
||||||
|
The CAS Server itself is just a simple web application that has user accounts
|
||||||
|
and session cookies to log users in and remember them.
|
||||||
|
|
||||||
|
Suppose the CAS server has a database with these tables:
|
||||||
|
|
||||||
|
* Users table
|
||||||
|
* Email
|
||||||
|
* Password (hashed of course!)
|
||||||
|
* Tickets table
|
||||||
|
* Service URL
|
||||||
|
* Ticket
|
||||||
|
* Email
|
||||||
|
* Expires (datetime)
|
||||||
|
|
||||||
|
The logic of the CAS endpoints works as follows:
|
||||||
|
|
||||||
|
* **/login**
|
||||||
|
* Query parameters:
|
||||||
|
* `service`: the URL to redirect the user back to after login (this is a URL
|
||||||
|
on the web application that is wanting to authenticate the user)
|
||||||
|
* Present a login page with an email and password box. The login form POSTs
|
||||||
|
to the CAS server to check the password is correct (either POST to same
|
||||||
|
/login URL or other one, not important).
|
||||||
|
* The POST handler verifies the email address and password is valid.
|
||||||
|
* Query the Users table by the email address given.
|
||||||
|
* Verify the submitted password hashes to the same one in the database.
|
||||||
|
* On successful password login:
|
||||||
|
* Generate a "ticket" (a completely random string, a UUID or whatever).
|
||||||
|
* Insert the ticket into the Tickets table:
|
||||||
|
* Service URL = the `service` parameter originally given to "/login"
|
||||||
|
* Ticket = the randomly generated ticket string
|
||||||
|
* Email = the email the user just entered the correct password for
|
||||||
|
* Expires = a date/time shortly in the future (say 1 hour or so)
|
||||||
|
* Redirect user to the `service` URL with the `ticket` query parameter.
|
||||||
|
* **/verify**
|
||||||
|
* The web application will call this to verify the ticket parameter given to
|
||||||
|
its service URL.
|
||||||
|
* Query parameters:
|
||||||
|
* `service`: the very same service URL originally given to `/login` above.
|
||||||
|
* `ticket`: the ticket string given to the service URL.
|
||||||
|
* CAS queries the Tickets table to find the ticket string.
|
||||||
|
* If the ticket is not found, error: return `no\n`
|
||||||
|
* If the ticket has expired (current date/time > Expires time in DB): error,
|
||||||
|
return `no\n`
|
||||||
|
* If the `service` query parameter does NOT match the Service URL in the
|
||||||
|
Tickets table for that ticket: error, return `no\n`
|
||||||
|
* If the ticket exists in DB, the service URL matches, and the ticket is
|
||||||
|
NOT expired, success! Return `yes\n` and the email address from the
|
||||||
|
Tickets table.
|
||||||
|
* Delete the row from the Tickets table so the ticket can only be verified
|
||||||
|
one time (prevent replay attacks).
|
161
www/wiki/Vue-DDG-Searches.md
Normal file
161
www/wiki/Vue-DDG-Searches.md
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
# DuckDuckGo Search Queries for Vue Multi-site Config
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
Using vue-cli, set up a project that allows for two distinct web apps to exist
|
||||||
|
in the same repository together: a "main" site and an "admin" site.
|
||||||
|
|
||||||
|
Each site would have a distinct top-level Vue app (entry point) and a distinct
|
||||||
|
"public/" folder of assets to copy into each site. Each site would have some Vue
|
||||||
|
components specific to itself, but also be able to share components common to
|
||||||
|
both sites.
|
||||||
|
|
||||||
|
## Searches
|
||||||
|
|
||||||
|
All searches done using [DuckDuckGo](https://duckduckgo.com/)
|
||||||
|
|
||||||
|
1. Search `man vue-cli-service` (attempting to find the manual page for the
|
||||||
|
vue-cli-service command, to check for CLI options)
|
||||||
|
* Landed on [CLI Service | Vue CLI 3](https://cli.vuejs.org/guide/cli-service.html)
|
||||||
|
* Didn't find anything useful from this page.
|
||||||
|
2. Went to Vue CLI homepage to learn how to install vue-cli and create a
|
||||||
|
hello-world app of my own, so that I could run
|
||||||
|
`./node_modules/.bin/vue-cli-service --help` and see the man page that
|
||||||
|
way. Didn't find any CLI options that would configure the public folder
|
||||||
|
path in the man page.
|
||||||
|
3. Search `vue-cli public folder path`
|
||||||
|
* Landed on [HTML and Static Assets | Vue CLI 3](https://cli.vuejs.org/guide/html-and-static-assets.html)
|
||||||
|
* First paragraph says: "The file public/index.html is a template that
|
||||||
|
will be processed with [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin)"
|
||||||
|
* So I knew the part of vue-cli (html-webpack-plugin) responsible for this
|
||||||
|
feature. But how does vue-cli configure it? There is no webpack.config.js,
|
||||||
|
and I searched my hello-world codebase for the word "public" and didn't see
|
||||||
|
any explicit configuration anywhere for it.
|
||||||
|
4. Search `vue-cli html-webpack-plugin settings`
|
||||||
|
* Landed on [Working with Webpack | Vue CLI 3](https://cli.vuejs.org/guide/webpack.html)
|
||||||
|
* Found my first hint on how you can create a `vue.config.js` and customize
|
||||||
|
options to the html-webpack-plugin (under "Modifying Options of a Plugin"):
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// vue.config.js
|
||||||
|
module.exports = {
|
||||||
|
chainWebpack: config => {
|
||||||
|
config
|
||||||
|
.plugin('html')
|
||||||
|
.tap(args => {
|
||||||
|
args[0].template = '/Users/username/proj/app/templates/index.html'
|
||||||
|
return args
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* This let you override the "public/index.html" path with a custom path, and
|
||||||
|
was half of the final solution. (Other half is getting the _other_ "public/*"
|
||||||
|
files to be copied into your dist folder!)
|
||||||
|
5. Seeing mention of publicPath in places, searched `vue publicPath config`
|
||||||
|
* Landed on [Configuration Reference | Vue CLI 3](https://cli.vuejs.org/config/)
|
||||||
|
and saw mentions of a "publicPath" variable, but it turned out this
|
||||||
|
wasn't what I wanted. publicPath is the HTTP URI of your website root, default
|
||||||
|
is "/", if you changed it to e.g. "/custom-public" then the index.html of your
|
||||||
|
dist/ output references files as e.g. `<script src="/custom-public/app.js">`
|
||||||
|
6. Searched `vue-cli multiple public folders`
|
||||||
|
* Found [Change public folder in vue-cli project](https://stackoverflow.com/questions/49278322/change-public-folder-in-vue-cli-project)
|
||||||
|
from StackOverflow. Code snippets in the responses were similar to the one
|
||||||
|
above from step 4, changing the path of the index.html but not getting the
|
||||||
|
other files.
|
||||||
|
* Found a GitHub issue on vue-cli for [Make public folder path configurable](https://github.com/vuejs/vue-cli/issues/3184).
|
||||||
|
**This was the solution! 🎊** Found a code snippet for my vue.config.js that
|
||||||
|
would do what I wanted and use a differently-named folder for the public files:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// vue.config.js
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const publicDir = 'assets/html';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
chainWebpack: config => {
|
||||||
|
config
|
||||||
|
.plugin('html')
|
||||||
|
.tap(args => {
|
||||||
|
args[0].template = path.resolve(publicDir + '/index.html');
|
||||||
|
return args
|
||||||
|
})
|
||||||
|
|
||||||
|
config
|
||||||
|
.plugin('copy')
|
||||||
|
.tap(([pathConfigs]) => {
|
||||||
|
pathConfigs[0].from = path.resolve(publicDir);
|
||||||
|
return [pathConfigs]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* Now I just needed to make it _configurable_ so you could `npm run build-admin`
|
||||||
|
to build an "admin site" or `npm run build-main` to build a "main" site, each
|
||||||
|
using its own public folder.
|
||||||
|
* Searches: `vue.config.js runtime options`, `vue-cli multiple vue.config.js`
|
||||||
|
and `vue.config.js config variables` before landing on
|
||||||
|
[Environment Variables and Modes | Vue CLI 3](https://cli.vuejs.org/guide/mode-and-env.html#modes)
|
||||||
|
* Solution: create .env files that define variables, use the `--mode` option of
|
||||||
|
`vue-cli-service` to specify the .env file to load, and the variables are
|
||||||
|
available inside your vue.config.js at the `process.env` variable.
|
||||||
|
|
||||||
|
## Source files I ended up with
|
||||||
|
|
||||||
|
vue.config.js:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
let PUBLIC_PATH = process.env.VUE_SITE_NAME === "admin" ? "custom-public" : "public";
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
chainWebpack: config => {
|
||||||
|
config
|
||||||
|
.plugin('html')
|
||||||
|
.tap(args => {
|
||||||
|
args[0].template = PUBLIC_PATH + '/index.html'
|
||||||
|
return args
|
||||||
|
})
|
||||||
|
|
||||||
|
config
|
||||||
|
.plugin('copy')
|
||||||
|
.tap(([pathConfigs]) => {
|
||||||
|
pathConfigs[0].from = PUBLIC_PATH;
|
||||||
|
return [pathConfigs]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
package.json npm run scripts:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
"scripts": {
|
||||||
|
"serve": "vue-cli-service serve",
|
||||||
|
"build-admin": "vue-cli-service build --mode admin --dest admin-dist ./src/admin/index.js",
|
||||||
|
"build": "vue-cli-service build --mode main --dest dist ./src/main/index.js",
|
||||||
|
"lint": "vue-cli-service lint"
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
.env config files:
|
||||||
|
|
||||||
|
```
|
||||||
|
# .env.admin
|
||||||
|
VUE_SITE_NAME=admin
|
||||||
|
|
||||||
|
# .env.main
|
||||||
|
VUE_SITE_NAME=main
|
||||||
|
```
|
||||||
|
|
||||||
|
So:
|
||||||
|
|
||||||
|
* `npm build` would output the site to the default dist/ folder, use
|
||||||
|
./src/main/index.js as the entry point (instead of default src/main.js from
|
||||||
|
a default vue-cli project) and use the default public/ folder.
|
||||||
|
* `npm build-admin` would output the site to admin-dist/ (so as not to overwrite
|
||||||
|
the dist/ for the main site), use ./src/admin/index.js as entry point and use
|
||||||
|
the folder "custom-public/" instead of default public/ to get its index.html and
|
||||||
|
static assets.
|
93
www/wiki/solipsism-notes.md
Normal file
93
www/wiki/solipsism-notes.md
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
# The Solipsistic Version
|
||||||
|
|
||||||
|
Notes on a story about a solipsistic universe. A character on their quest to
|
||||||
|
find out what reality is made of meets a figment of his own imagination that
|
||||||
|
explains to him how it all works.
|
||||||
|
|
||||||
|
* There is only You, and the rest of the world and the people in it are
|
||||||
|
literally figments of your imagination. Including the figure who is delivering
|
||||||
|
this speech to the reader.
|
||||||
|
* You're God, and you've always existed, and will always exist, and will always
|
||||||
|
be conscious and knowing of everything. So you do "this" thing, you become a
|
||||||
|
mere mortal living in your universe that doesn't remember he's God and feels
|
||||||
|
like a tiny little thing that's afraid of death.
|
||||||
|
* You do it because you get bored, or lonely, or whatever. You're an all-powerful
|
||||||
|
creator of worlds but have nobody to share it with. You can make your creatures
|
||||||
|
bow in awe of your power, but you fully know you're pulling their strings to
|
||||||
|
say that. But you _become_ one of them and forget that you're pulling all
|
||||||
|
their strings, and you have companionship and learning and can have surprises
|
||||||
|
and have fun.
|
||||||
|
|
||||||
|
Crazy ideas to fit in / Q&A's:
|
||||||
|
|
||||||
|
* Religions:
|
||||||
|
* Don't really matter. Even if you go full atheist.
|
||||||
|
* If you do search for meaning: the universe literally SCREAMS spirituality
|
||||||
|
in your face.
|
||||||
|
* Besides religions, tons of outside paths to the exact same enlightenment
|
||||||
|
and connection to spirit. Self-help books, motivational speakers, and even
|
||||||
|
the crazy ones like astrology and witchcraft -- all appeal to one person or
|
||||||
|
another, so no matter who you incarnate as you have a path that will call
|
||||||
|
you to your spirit if you ever want it.
|
||||||
|
* And if you're having a great life and never seek the spirit? That's fine
|
||||||
|
too! Every go-around through life is just another dream you're having.
|
||||||
|
* Try and work all sorts of ways how TV and movies and every story ever told
|
||||||
|
is talking about the same stuff.
|
||||||
|
* Simulation theory as in The Matrix or Westworld
|
||||||
|
* "Row, row, row your boat!" ... "life is but a dream!" - God telling himself
|
||||||
|
that since the very beginning of his currently life.
|
||||||
|
* Alice in Wonderland, Peter Pan being about thoughts create reality or
|
||||||
|
happy thoughts make you fly, etc.
|
||||||
|
* Generalize all the "hero's journey", "good vs. evil" tropes that make up
|
||||||
|
almost every story ever told.
|
||||||
|
* Say it's all some Truman Show type way of reality screaming in your face
|
||||||
|
what it's all made of the same stuff, but subtle so you don't notice it
|
||||||
|
unless you go looking for it.
|
||||||
|
* Could have a reference to The Egg:
|
||||||
|
* Character is like "so do I play through every part eventually" (are all the
|
||||||
|
humans he sees either his past lives or future lives and he will be them one
|
||||||
|
day living in the same story but from their point of view that time)
|
||||||
|
* Narrator would be like, "no need. You make up the world anew every single
|
||||||
|
time. You'll make it look like the last time but might tweak a few things,
|
||||||
|
invent new ideas of how buildings should look or what social customs should
|
||||||
|
be."
|
||||||
|
* So no long-term Earth that outlives your currently live, you have a different
|
||||||
|
Earth every time like a random new dream.
|
||||||
|
* The other people in your dream, they're there to teach you things you already
|
||||||
|
know but don't have access to right now.
|
||||||
|
* You see people of every profession and sport, so you know those are possible
|
||||||
|
things to do in this life if you want to.
|
||||||
|
* Libraries and science books are how God stores up his knowledge over the
|
||||||
|
eons... he comes up with new ideas each life and his accumulated ideas are
|
||||||
|
exposed in the form of libraries and teachers in his incarnations, so he can
|
||||||
|
"remember" the parts of the universe he wants to research this lifetime.
|
||||||
|
|
||||||
|
Reincarnation?
|
||||||
|
|
||||||
|
* Either: you don't. After each life you come back to "God Mode" and have full
|
||||||
|
memory, knowledge and everything of who you were before you started this life.
|
||||||
|
Nothing to worry about and you can play around or do another life again.
|
||||||
|
* Or: you do reincarnate by default, a la the Buddhist way. You immediately go
|
||||||
|
from human life to next human life (or w/e), until you finally decide enough
|
||||||
|
is enough and 'wake up' to being God.
|
||||||
|
|
||||||
|
And after death/escaping the reincarnation loop?
|
||||||
|
|
||||||
|
* You don't have to die again. If you fully awoke during your lifetime, your
|
||||||
|
reality would transition into "heaven" directly; you'd have your full God
|
||||||
|
Mode powers and be able to reshape your reality or do w/e you want without
|
||||||
|
having to endure one more painful death.
|
||||||
|
* But this is a blessing and a curse. Once it "clicks" for you and you're God,
|
||||||
|
reality becomes the thing that can't be unseen. You'll have FULL knowledge
|
||||||
|
that every flap of a bird's wing is under your direct control. The illusion
|
||||||
|
will be up. That feeling of loneliness or the panic of the memory that you've
|
||||||
|
always been conscious and have no choice not to be conscious will set in.
|
||||||
|
* If you can come to terms with that, you may have a pleasant time. But so far
|
||||||
|
you've been reincarnating frequently to escape from your true nature.
|
||||||
|
|
||||||
|
Q&A's
|
||||||
|
|
||||||
|
> **Q:** What if I got lost? Or was having a bad life?
|
||||||
|
>
|
||||||
|
> **A:** If life is going horribly you'll inevitably call out for help.
|
||||||
|
> the universe will always respond and show you a path to reach your spirit.
|
Loading…
Reference in New Issue
Block a user