her.esy.fun/src/posts/how-i-internet.org

298 lines
11 KiB
Org Mode
Raw Normal View History

2019-09-16 09:42:49 +00:00
#+TITLE: How I Internet
#+SUBTITLE: Self hosting other advantages
2019-09-16 09:42:49 +00:00
#+AUTHOR: Yann Esposito
#+EMAIL: yann@esposito.host
#+DATE: [2019-09-23 Mon]
2019-09-16 09:42:49 +00:00
#+KEYWORDS: blog, self-hosting, web, zen, minimalism
#+DESCRIPTION: How I protect myself against attention grabbers and many social media anti-patterns.
#+OPTIONS: auto-id:t
#+begin_notes
TL;DR: Self-hosting is not only about controlling your data, it also influences
how you consume Internet for the best.
2019-09-16 09:42:49 +00:00
- I /POSSE[fn:posse]/; Publish Own Site, Syndicate Elsewhere:
+ I own my data I self host my blog, notes, my repositories, my bookmarks, etc...
+ I use espial[fn:espial] for self-hosted bookmarks and notes
+ I use note-red[fn:node-red] to publish my blogs, bookmarks and notes to
twitter, sync bookmarks with pinboard[fn:pinboard]
- Enhance not only publishing experience but consumption of Internet
+ read Digital Minimalism[fn:dm]
+ Control notifications
+ Control real-time interactions
2019-09-16 09:42:49 +00:00
#+end_notes
The way I and most people use Internet as changed drastically in a few years.
It started with social networks and smartphones.
2019-09-25 08:19:30 +00:00
More recently, applications started to introduce "features" targeting our
"lower brain" or "social brain".
It is not unusual to stay a lot longer on our smartphone than what we
expected.
2019-09-25 08:19:30 +00:00
Since the introduction of those methods, more and more people experience
difficulties to balance their life, to focus a long time on some subject,
and even might feel a lot more social anxieties.
2019-09-25 08:19:30 +00:00
One solution is of course to totally get rid of those platforms.
But it would mean throw away all the benefit they provide.
2019-09-25 08:19:30 +00:00
So my personal solution is to still keep the best of those platform while
minimizing my exposure to most /anti-features/.
All start by how I produce content.
And it naturally affect also how I consume information on Internet.
2019-09-19 21:36:20 +00:00
[fn:posse] https://indieweb.org/POSSE
2019-09-16 09:42:49 +00:00
[fn:dm] http://www.calnewport.com/books/digital-minimalism/
2019-09-19 21:36:20 +00:00
[fn:espial] https://github.com/jonschoning/espial
[fn:node-red] https://nodered.org
[fn:pinboard] https://pinboard.in
2019-09-16 09:42:49 +00:00
* Producing
:PROPERTIES:
:CUSTOM_ID: producing
:END:
2019-09-25 08:19:30 +00:00
I self host many services.
I control my data, and then I broadcast those info to different platforms.
** Articles: Self hosted blog
:PROPERTIES:
:CUSTOM_ID: self-hosting
:END:
2019-09-25 08:19:30 +00:00
First thing, is I /blog/.
Writing a blog article is an intermediate format.
A lot simpler than a real article for some journal, but also should contain
more details than just a "micro-blog status" where you can mostly express
an impression, a photo, an opinion...
2019-09-25 08:19:30 +00:00
I wrote an [[file:new-blog.org][article]] that explain the technical details behind my blog.
It also describes how I try to make it a /respectful/ blog.
2019-09-25 08:19:30 +00:00
The harder part if you want to do it yourself will be about self-hosting it.
You need to buy a domain name, and configure you DNS correctly.
This is not something tremendously hard, but don't expect to do that as
easily as registering to a private service.
2019-09-25 08:19:30 +00:00
But hey, I really believe this is worth the price.
** Code: Git Broadcast
:PROPERTIES:
:CUSTOM_ID: git-broadcast
:END:
2019-09-25 08:19:30 +00:00
I also self-host the code for my open-source projects.
But, Github is the developer social network.
It is easier to find contributor on Github than on your self-hosted repository.
2019-09-25 08:19:30 +00:00
So, I sync my code between my self-hosted instance and GitHub.
So if tomorrow something is wrong with Github, I could easily switch to my
self hosted repositories only.
Here is how you can configure your git repositories to push to multiple
2019-09-25 08:19:30 +00:00
URLs:
#+begin_src
git remote set-url origin --push --add <remote-url>
git remote set-url origin --push --add <another-remote-url>
#+end_src
** Bookmarks: Espial
:PROPERTIES:
:CUSTOM_ID: espial
:END:
2019-09-25 08:19:30 +00:00
I also like a tool to synchronize articles on the Internet I like and
appreciate.
For that, I use [[https://github.com/jonschoning/espial][espial]] which is an open-source, web-based bookmarking server.
It is a very easy to install, this is a single binary.
Your bookmark are kept in a single sqlite file.
This is perfect if you want to keep a lot of bookmarks some private some
2019-09-25 08:19:30 +00:00
public.
** Notes: Espial
:PROPERTIES:
:CUSTOM_ID: notes--espial
:END:
2019-09-25 08:19:30 +00:00
Another feature provided by [[https://github.com/jonschoning/espial][espial]] is the ability to save notes.
2019-09-25 08:19:30 +00:00
You can generate public or private notes.
I intend to use those notes for my "micro-blogging" needs.
Useful, for just making some short remark without investing in a full blog
post.
** RSS for articles, bookmarks, notes
:PROPERTIES:
:CUSTOM_ID: rss
:END:
2019-09-25 08:19:30 +00:00
It is important for me to provide RSS feeds.
People should know when I update my content.
2019-09-25 08:19:30 +00:00
So my blog, bookmarks and note generate RSS feeds[fn:espialpr].
2019-09-25 08:19:30 +00:00
[fn:espialpr] [[https://github.com/jonschoning/espial][espial]] is written in Haskell, and I made a few pull requests to add RSS
feeds of my public bookmarks as well as an RSS feed for my public notes.
** Syndicate Elsewhere: node-red
:PROPERTIES:
:CUSTOM_ID: node-red
:END:
2019-09-16 09:42:49 +00:00
2019-09-25 08:19:30 +00:00
With those RSS, it is then quite natural to syndicate elsewhere.
For that I use [[https://nodered.org][node-red]].
2019-09-20 13:05:56 +00:00
2019-09-25 08:19:30 +00:00
This is a web-based tool that make it easy to write /flows/.
Think about it like a super IFTTT.
2019-09-20 13:05:56 +00:00
2019-09-25 08:19:30 +00:00
To give you an example, each time I save a new public bookmark, a new blog
post, a new note, I tweet it.
2019-09-20 13:05:56 +00:00
* Consuming
:PROPERTIES:
:CUSTOM_ID: consuming
:END:
2019-09-25 08:19:30 +00:00
As I said, now that I can generate my content using my own, self-made
environment, it also influenced a lot the way I consume and interact with
other people on the Internet.
I consumed a lot of /news/ directly from my smartphone.
Most of the time using an app dedicated to some social network.
The natural presentation is an infinite scroll of content, with buttons to
engage in the social network with likes/upvotes/comments etc...
Most of the time, with enabled notifications to answer ASAP to anyone that
might [[https://www.xkcd.com/386/]["be wrong on the Internet"]].
Here is how I consume Internet content now.
2019-09-20 13:05:56 +00:00
** News
:PROPERTIES:
:CUSTOM_ID: news
:END:
2019-09-25 08:19:30 +00:00
Before explaining how I consume Internet news, I like to make a short
digression:
#+begin_quote
By writing this article I realized that, I mostly consume Internet content
via *news*.
More than that, that now, Internet is almost synonymous to news on the web.
Which is only a very small part of the Internet.
Consuming news via a social network platform makes you a lot more passive.
I can remember being a lot more active to consume the Internet content
years ago.
This is something to keep in mind I think.
#+end_quote
2019-09-20 13:05:56 +00:00
So my entry point to news consumption are:
- highly selected RSS sources (for example HN posts with > 500 upvotes)
- [[https://lobste.rs][lobste.rs]]
- [[https://pinboard.in/popular/][popular pinboard.in bookmarks]]
2019-09-25 08:19:30 +00:00
- very few sub-reddit with small volume
2019-09-20 13:05:56 +00:00
- [[https://laarc.io][laarc.io]]
- [[https://fermatslibrary.com][Fermat's Library newsletter]]
I plan on generating RSS from those different sources with "smart filters".
Typically number of upvote filters for lobste.rs, laarc.io, sub-reddits,
but also number of bookmarks in popular pinboard, etc...
2019-09-25 08:19:30 +00:00
I use [[https://github.com/skeeto/elfeed][elfeed]] inside Spacemacs.
2019-09-20 13:05:56 +00:00
I really enjoy staying inside emacs as much as I can.
This is a clean, dense, text-oriented environment.
2019-09-25 08:19:30 +00:00
I also use [[https://github.com/remyhonig/elfeed-org][elfeed-org]] to organize my feeds and I also take care to remove
2019-09-20 13:05:56 +00:00
feeds with too much volume.
Generally we shouldn't read more than a few articles a day.
** Mail
:PROPERTIES:
:CUSTOM_ID: mail
:END:
2019-09-25 08:19:30 +00:00
Most of my notifications go through my email.
Social network notifications are moved inside folder and are not directly
present in my inbox.
2019-09-20 13:05:56 +00:00
I check my social notifications once in a while.
2019-09-25 08:19:30 +00:00
So if you are waiting for an answer, sorry for the late reply, it might
take a while.
2019-09-20 13:05:56 +00:00
** Github
:PROPERTIES:
:CUSTOM_ID: github
:END:
I still get notifications on Github because I use it a lot for my work.
2019-09-25 08:19:30 +00:00
But only via email and the web interface.
2019-09-20 13:05:56 +00:00
So even for Github, I can take a few days to react.
2019-09-16 09:42:49 +00:00
2019-09-19 21:36:20 +00:00
* Conclusion
:PROPERTIES:
:CUSTOM_ID: conclusion
:END:
2019-09-20 13:05:56 +00:00
So I described how while still using centralized social media platform, I
still own my data, I protect myself from new attention grabbing features
and design / UX pattern changes in those platforms.
2019-09-19 21:36:20 +00:00
2019-09-20 13:05:56 +00:00
Mostly, I take the positive aspect of those platform while not paying most
of the negative price.
2019-09-19 21:36:20 +00:00
For now my system is quite tailored made, and adapted to me.
I think we could imagine that we could offer that to more people by having
a single, easy to create platform.
The bit sad state, is that I know there are a few system that try to make
2019-09-25 08:19:30 +00:00
it easy for more people to self-host, or provide self-hosting for a small
2019-09-20 13:05:56 +00:00
community or family.
But this is still reserved to technical people in my opinion.
2019-09-19 21:36:20 +00:00
2019-09-25 08:19:30 +00:00
I think we could be inspired by espial[fn:espial] to create a simple small platform to
2019-09-19 21:36:20 +00:00
provide those feature to most people.
2019-09-25 08:19:30 +00:00
- ability to blog/micro-blog and syndicate
- ability to publish securely private info to a small group of friends and family
2019-09-19 21:36:20 +00:00
- generate RSS for different group of peoples
2019-09-20 13:05:56 +00:00
I would personally prefer that to a Federation platform (like Mastodon).
2019-09-25 08:19:30 +00:00
Unfortunately the federated network mostly replicate the anti-features of twitter, Facebook,
2019-09-20 13:05:56 +00:00
and other social media platforms. While I believe we should change our
consumption habit.
RSS is already a great tool for that.
2019-09-19 21:36:20 +00:00
2019-09-25 08:19:30 +00:00
** Anti-features
:PROPERTIES:
:CUSTOM_ID: anti-features
:END:
A last note about anti-features used by social media platforms.
Those are anti-features, as they provide almost no benefit for the user.
All those anti-feature share the same pattern.
They use /spaced random reward/:
#+begin_notes
*Spaced Random Reward*
Typically the few first random gifts in a new
downloaded game.
The main way used to /hack/ your brain, is by giving it something he likes
at a random time.
Then you start to give reward with lower and lower probability.
Your brain will then be in a /search mode/ where he will /hope/ to get
another reward by staying a bit longer in the system.
#+end_notes
- *notifications* ; they are here to grab your attention when you are away
doing something else.
- *likes / upvotes / retweets / pokes...* ; those are also /Internet
reward/ but are even stronger because they also target your "social brain".
They reinforce a feeling of social approval.
More than that, we generally fall for most psychological tricks with those
and make our production oriented to short content, memes, etc...
- *infinite scrolling* ; make you brain want to look a bit more, because it
creates a fear to lose a great new info.
- *comments* ; Unlike likes or retweets, comment are a lot more useful,
they can start a discussion. They still have two problems:
1. Public comment are subject to spam, troll, attacks, etc...
2. Generally comments are associated to real-time notifications, and thus
break a slower, calmer, more respectful communication channel. We are
not all meant to react instantaneously.