From 2d18bb2cd38c0c406c89adceceab23ef53a9cba7 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Mon, 16 Sep 2019 11:42:49 +0200 Subject: [PATCH] WIP How I Internet --- project.el | 28 ++++++- project.el.sig | Bin 585 -> 586 bytes src/archive.org | 10 +-- src/css/minimalist.css | 44 ++++++++++- src/posts/how-i-internet.org | 140 +++++++++++++++++++++++++++++++++++ 5 files changed, 209 insertions(+), 13 deletions(-) create mode 100644 src/posts/how-i-internet.org diff --git a/project.el b/project.el index e90f8fe..176b976 100644 --- a/project.el +++ b/project.el @@ -140,9 +140,17 @@ (let* ((file (org-publish--expand-file-name entry project)) (title (org-publish-find-title entry project)) (date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project))) - (keywords (y/get-meta file "KEYWORDS")) + (keywords (split-string (y/get-meta file "KEYWORDS") ",\s*")) (description (y/get-meta file "DESCRIPTION"))) - (format "- [%s] [[file:%s][%s]] /(%s)/ \n %s" date file title keywords description)))) + (concat + "- " + (format " [%s]" date) + (format " *[[file:%s][%s]]*" file title) + (format " @@html:
@@%s@@html:
@@" + (mapconcat (lambda (k) (format "@@html:@@#%s@@html:@@" k)) + (cl-sort keywords 'string-lessp :key 'downcase) + " ")) + (format "@@html:
@@%s@@html:
@@" description))))) (defun org-blog-sitemap-fn-descr (descr title list) "Return sitemap using TITLE and LIST returned by `org-blog-sitemap-format-entry'." @@ -154,6 +162,17 @@ (seq-filter #'car (cdr list)) "\n"))) +(defun org-blog-prepare (project-plist) + "With help from `https://github.com/howardabrams/dot-files'. + Touch `archive.org' to rebuilt it. + Argument `PROJECT-PLIST' contains information about the current project." + (let* ((base-directory (plist-get project-plist :base-directory)) + (buffer (find-file-noselect (expand-file-name "archive.org" base-directory) t))) + (with-current-buffer buffer + (set-buffer-modified-p t) + (save-buffer 0)) + (kill-buffer buffer))) + (defun org-blog-publish-to-html (plist filename pub-dir) "Same as `org-html-publish-to-html' but modifies html before finishing." (let ((file-path (org-html-publish-to-html plist filename pub-dir))) @@ -166,6 +185,7 @@ "" "" "" + "" "
" "
" @@ -175,7 +195,8 @@ "modern)" " / " "dark" - "(raw)" + "(raw," + "matrix)" "
" "
" "
") @@ -253,6 +274,7 @@ Return output file name." :base-extension "org" :publishing-directory ,publish-dir :recursive t + :preparation-function org-blog-prepare :publishing-function org-blog-publish-to-html :with-toc nil :with-title nil diff --git a/project.el.sig b/project.el.sig index 8bad8dc6078878963037cb0b4e8543458db31d5d..feeccee305f6f0860824a89d004427f9f1c4fe81 100644 GIT binary patch delta 567 zcmV-70?7Tz1j+;^i2_Fi009aBF%}^N#o$ihO_s|vF@xXv%R&!;1@We01p-}vQ6iBh zAb;c65CDZHL~3Vsr}$js*fZCLaK9m=>S963Z0-+~lgNv~jg=dF)TX`-tLzhJV?;+&|Dd1F!)?@jUlG3dF~+ofN5zohCJA z&mstae~-z2Z>F6ThZp6-!4wrLBb#cyS^cZKbBY`WBZ4RCX1mhlmG}1^MZ-~1TP5ci zl-b<6HtD4}P;9{#I+h~G+@&hx0h9=AEiC1UrF{N#V+{kjZ~v9 zX-wm%Xw_d)fg7-4@X#D1ebz}%(=;5jk3VTkM;#p*?Z!RXox9YV7 z9^8A0ctDUi7UHY}hr-@=0`572hJRE8R(*=AjkR_@5dS)>rp>S6Eo$GMI! z*VjCzE?y!p5RY9Gsli*+4>C@fitaQ=i9vwhz4|!oOt-nA{1A_l=?gvq5lGw(9)%pL zNhKKHOA6fH?kZ)|9uipPQo4b#VL_Akh6Bx>j^edjIxr>@4Me0Djwr(JF9 zAb;(V5BEj&fCf}OPne5E=h$pYd1-vDPxF%>9h~ycB25n$mcueV5(jCrA?U^60O5H6 z5~8a?B3kw?h^`V5H1jAHFeEOQ;k;=ws|4$VQOF_;mZVP=VG{NhBsQKu>Zx5(8Io&x zDfnW_EH^TRQKXmN=00M-;nemq4Q(nzLw~+W(sFRs@hExRp7kZI>USnWr$FT3mue<1 zp>nBLcA4d6iqP>RWbjG22a;v*Tm)u?&^nyv4foTBkZ|uyHcPwnh}+Ca*1QvFpJMgN zHyij}WJMyiwzMb9>DG+}k{k&WIGk>`T zTWPBE)%t{53X{P$jCas7U^+ranbIy16x)tc>Dq%ce1_BAC6}$UiYX6D21yZh$6&6p zS}ukN%|uMUr0}4GrmIDfHCP#DAN+1fV?R^^Yg-ZzyO!Y&;|d{7c#x^H$%p~f{8^b{ z#fs$@iP-Yde*YXSgxs$wLbsU0$$u{!YkYM&&1Q{d8i6;#fqvP%!N={ZV|<}GI3A2d zh^-b)EQ6gURrQ7ww_*|2Yq>d$@E}$-#-F5iQ*}_uuu%%CSs>K?iR)+6SMgXJ&VRqt zG_Pt$T)-ItY!K+2l5-7wJnq#>9jyfyS$U@@@@html:@@#blog@@html:@@ @@html:@@#self-hosting@@html:@@ @@html:@@#web@@html:@@@@html:
@@@@html:
@@How I protect myself against attention grabbing anti-patterns.@@html:
@@ +- [2019-08-18] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/project-el/index.org][Autoload Script by project]]* @@html:
@@@@html:@@#blog@@html:@@ @@html:@@#org-mode@@html:@@ @@html:@@#programming@@html:@@@@html:
@@@@html:
@@A script I use to load safely an eLISP file when entering a new project directory.@@html:
@@ +- [2019-08-17] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/troll-2/index.org][Troll 2]]* @@html:
@@@@html:@@#movie@@html:@@@@html:
@@@@html:
@@I watched what may be the worse movie of all time and I still enjoyed greatly the show.@@html:
@@ +- [2019-08-17] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/new-blog.org][New Blog]]* @@html:
@@@@html:@@#blog@@html:@@ @@html:@@#css@@html:@@ @@html:@@#org-mode@@html:@@ @@html:@@#programming@@html:@@ @@html:@@#web@@html:@@@@html:
@@@@html:
@@Meta article about how I generate this blog.@@html:
@@ \ No newline at end of file diff --git a/src/css/minimalist.css b/src/css/minimalist.css index 805830f..024558e 100644 --- a/src/css/minimalist.css +++ b/src/css/minimalist.css @@ -146,8 +146,7 @@ h6::before { } hr { position: relative; - height: 1em; - font-size: 0; + height: 1px; line-height: 0; overflow: hidden; border: 0; @@ -158,6 +157,7 @@ hr:after { top: 0; left: 0; width: 100%; + font-weight: bold; word-wrap: break-word; } pre { max-width: 100%; overflow: scroll; } @@ -211,7 +211,7 @@ navigation > a { margin: 0 1em; padding: 1px; } -#content *:first-child { +#content:first-child { margin-top: 0; } .timestamp-wrapper { @@ -223,7 +223,7 @@ navigation > a { padding: 1px 1ex; } .article-date { - font-size: 0.8; + font-size: 0.8em; font-style: italic; float: right; } @@ -494,6 +494,33 @@ input#darkraw:target ~ .main code, input#darkraw:target ~ .main pre { font-family: monospace; } + +/* Dark matrix theme selected */ +input#matrix:target ~ .main { + --main-background: #000; + --main-foreground: #0b0; + --second-foreground: #0b0; + --reveal-background: #000; + --soft-foreground: #0b0; + --border-color: #0b0; + --todo-txt: #0b0; + --color-h1: #0b0; + --color-h2: #0b0; + --color-h3: #0b0; + --color-h4: #0b0; + --color-h5: #0b0; + --color-h6: #0b0; + --color-link: white; + font-family: monospace; +} +input#matrix:target ~ #labels { + background: #000; + color: #0b0; +} +input#matrix:target ~ .main code, +input#matrix:target ~ .main pre { + font-family: monospace; +} /* Default color theme */ body,.main { background: var(--main-background); @@ -510,6 +537,15 @@ a, a:visited, color: var(--second-foreground); } +.keywords { + color: var(--second-foreground); + float: right; +} +.keyword:hover { + cursor: pointer; + color: var(--yellow); +} + .main ol > li:before, ol > li:before { color: var(--soft-foreground) } diff --git a/src/posts/how-i-internet.org b/src/posts/how-i-internet.org new file mode 100644 index 0000000..d859dc9 --- /dev/null +++ b/src/posts/how-i-internet.org @@ -0,0 +1,140 @@ +#+TITLE: How I Internet +#+SUBTITLE: (POSSE) Relaxing the Internet experience +#+AUTHOR: Yann Esposito +#+EMAIL: yann@esposito.host +#+DATE: [2019-09-14 Sat] +#+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 +*Sorry for the late reply* + +Don't take it personnaly if I do not answer immediately to your comments or +questions. + +I do not receive notification from most social media or even mail. +I do not have any social-media platform application on my phone. +I almost never check social media platform except GitHub. + +I check my mails once in a while. +It can be a few times a day, but it is not unusual not to check my mail for +a few days or even an entiere week. + +It is a protection against real-time notifications, and urgency feeling +that is harmful fof most people. + +--------- + +TL;DR: + +- 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] +- read Digital Minimalism[fn:dm] +- Control notifications +- Control real-time interactions +#+end_notes + +[fn:posse]: https://indieweb.org/POSSE +[fn:dm] http://www.calnewport.com/books/digital-minimalism/ +[fn:espial]: https://github.com/jonschoning/espial +[fn:node-red]: https://nodered.org +[fn:pinboard]: https://pinboard.in + +* Intro +:PROPERTIES: +:CUSTOM_ID: intro +:END: + +Our usage of the Internet changed a lot in recent years. +The book Digital Minimalism[fn:dm] explains quite clearly how Internet +and many social platforms are really useful but at the same can harm us. + +The harm mostly come from social anti-pattern that are mostly hacking our +brain. +More precisely owr lower part of the brain, the one close to the instinct +which is quite difficult to tame. +This is why this is the preferred target of those "brain hacks". + +Anti-features are: + +- likes / retweets ; they provide no more benefit for us except we feel good + by this social approval. +- comments are useful, the problem with comments is they generate a + notification or if not, generate us to check quite often if our output + has generated social approval or not. + +So now, I how my own blog on my own server with my own domain name. +And I publish things, but I only check the outcome once or two times a day. +I receive no notification, I do not have any social media application on my +phone. +The social media "reactions" are filtered in my email, put in some +directory and checked once in a while (no more than twice a day, generally +only a few times a week). + +The drawback is that it can feel rude for people not to be answered fast. +I am sorry, but it is a protection for my sanity. + +* Producing +:PROPERTIES: +:CUSTOM_ID: producing +:END: +** Self Hosting +:PROPERTIES: +:CUSTOM_ID: self-hosting +:END: +The first important step is to self host most of my data. + +Unfortunately this is not as straightforward as it should be. +The very first huge obstacle is owning a domain name and configuring the DNS. +It is WAY too complex to buy and control easily your own domain name. +I mean, once used to it, it is quite easy. +But I can't imagine someone not very used to computers to be able to +do all of that for himself in less than a few hours/days. + +I wrote an [[file:new-blog.org][article]] sharing the details about my currentl blog platform. +I also describe how I intend to provide a respectful blog. + +** TODO RSS +:PROPERTIES: +:CUSTOM_ID: rss +:END: +Describe that it is important to provide an RSS feed as a nice standardized +root to publishing. + +** TODO Git Repositories +:PROPERTIES: +:CUSTOM_ID: git-repositories +:END: +** TODO Espial +:PROPERTIES: +:CUSTOM_ID: espial +:END: +Describe espial, and how I changed it. +** TODO node-red +:PROPERTIES: +:CUSTOM_ID: node-red +:END: +Describe node-red and how I use it. +* TODO Consuming +:PROPERTIES: +:CUSTOM_ID: consuming +:END: +** TODO Emacs elfeed +:PROPERTIES: +:CUSTOM_ID: emacs-elfeed +:END: + +** TODO Mail +:PROPERTIES: +:CUSTOM_ID: mail +:END: +Only use mail + +** TODO Github +:PROPERTIES: +:CUSTOM_ID: github +:END: