Clean up website.
This commit is contained in:
parent
4cc2d533e9
commit
3d53073e1b
Binary file not shown.
After Width: | Height: | Size: 380 KiB |
|
@ -11,22 +11,22 @@ This is metanohi, the personal website of [[./niels][Niels G. W. Serup]].
|
||||||
|
|
||||||
** Copying
|
** Copying
|
||||||
|
|
||||||
In general, text, images, code and any other type of work on metanohi are
|
Essentially, if you use something from metanohi, please attribute Niels
|
||||||
available under the [[http://www.wtfpl.net/][Do What The Fuck You Want To Public License (WTFPL)]]; read
|
G. W. Serup and metanohi (unless it's not by Niels, which is rare).
|
||||||
about this choice [[/writings/licensing][here]] There may be cases with other licenses. The status of
|
|
||||||
a page can be seen in the bottom in a metadata box. If no license is specified
|
|
||||||
in the box, it's either because I forgot to apply one to the page, or it's
|
|
||||||
because the page has almost no content (like the "Page not found" page) and does
|
|
||||||
not really require a license, or it's because I don't care.
|
|
||||||
|
|
||||||
If you use something from metanohi, please attribute Niels G. W. Serup and
|
In general, text, images, code and any other type of work on metanohi are
|
||||||
metanohi (unless it's not by Niels, which is rare).
|
available under the [[http://www.wtfpl.net/][Do What The Fuck You Want To Public License (WTFPL)]] for the
|
||||||
|
fun of it; read more about this [[/writings/licensing][here]] if you so care. There may be other cases.
|
||||||
|
The status of a page can be seen in the bottom in a metadata box. If no license
|
||||||
|
is specified in the box, it's either because it's unnecessary to have a license
|
||||||
|
for that page (for example if it just an index page), or it's because I forgot
|
||||||
|
to apply one to the page, or it's because I don't care.
|
||||||
|
|
||||||
|
|
||||||
** Source code
|
** Source code
|
||||||
|
|
||||||
metanohi is run by [[/projects/mege/][mege]]. If you want to use it for a new website (I REALLY
|
metanohi is run by the [[/projects/mege/][mege]] HTML generator. If you want to use it for a new
|
||||||
REALLY wouldn't), you may wish to use metanohi as a template.
|
website (I REALLY REALLY wouldn't), you may wish to use metanohi as a template.
|
||||||
|
|
||||||
Get the main site:
|
Get the main site:
|
||||||
: $ git clone git://metanohi.name/metanohi-metanohi
|
: $ git clone git://metanohi.name/metanohi-metanohi
|
||||||
|
@ -40,13 +40,11 @@ Get the subsites (messy):
|
||||||
You can access metanohi from HTTPS. metanohi uses a [[http://cacert.org][CAcert]] (or is it a
|
You can access metanohi from HTTPS. metanohi uses a [[http://cacert.org][CAcert]] (or is it a
|
||||||
self-signed certificate now? I forget). To make your browser automatically
|
self-signed certificate now? I forget). To make your browser automatically
|
||||||
accept CAcerts, follow the instructions on [[https://wiki.cacert.org/FAQ/BrowserClients][CAcerts wiki]]; it doesn't take long.
|
accept CAcerts, follow the instructions on [[https://wiki.cacert.org/FAQ/BrowserClients][CAcerts wiki]]; it doesn't take long.
|
||||||
|
At some point it might get a LetsEncrypt certificate.
|
||||||
|
|
||||||
|
|
||||||
** History
|
** History
|
||||||
|
|
||||||
#+caption: This alien wonders why 'metanohi' was picked.
|
|
||||||
#&img;url=/img/aliens/makrh.png, float=right,noclear, width=100
|
|
||||||
|
|
||||||
metanohi was created in 2009 as a spinoff of earlier projects with equally
|
metanohi was created in 2009 as a spinoff of earlier projects with equally
|
||||||
undefined purposes. Back then the website was at metanohi./org/ instead of
|
undefined purposes. Back then the website was at metanohi./org/ instead of
|
||||||
metanohi./name/.
|
metanohi./name/.
|
||||||
|
|
|
@ -19,6 +19,8 @@ My first web pages from ca. 2004 contained pages whose only purpose was to show
|
||||||
links to other sites, because that's what you use websites for. With this page I
|
links to other sites, because that's what you use websites for. With this page I
|
||||||
intend to carry on with this tradition.
|
intend to carry on with this tradition.
|
||||||
|
|
||||||
|
Note: I have not updated this rather silly page since about 2012.
|
||||||
|
|
||||||
** Passive activism[fn:oxymoron]
|
** Passive activism[fn:oxymoron]
|
||||||
|
|
||||||
Beware, for the following Hyperlinks contain Knowledge!
|
Beware, for the following Hyperlinks contain Knowledge!
|
||||||
|
|
|
@ -6,51 +6,42 @@
|
||||||
|
|
||||||
* About Niels
|
* About Niels
|
||||||
|
|
||||||
Niels G. W. Serup is the creator of metanohi. He was born in 1992 and lives in
|
I, Niels G. W. Serup, is the creator of metanohi. I was born in 1992 and live
|
||||||
Denmark.
|
in Copenhagen, Denmark.
|
||||||
|
|
||||||
He studies computer science at [[http://diku.dk/][DIKU]] where he is also part of the yearly student
|
I study computer science at [[http://diku.dk/][DIKU]] where I am also part of the yearly student
|
||||||
revue [[http://dikurevy.dk/][DIKUrevy]] and the [[http://kantinen.org][Canteen association]], among other things. Some videos
|
revue [[http://dikurevy.dk/][DIKUrevy]] and the [[http://kantinen.org][Canteen association]], among other things. Some videos
|
||||||
from the revue has been put up online at [[http://youtube.com/DIKUrevy]].
|
from the revue has been put up online at [[http://youtube.com/DIKUrevy]].
|
||||||
|
|
||||||
Niels goes by the nicknames "ngws" and "nqpz" (and a few others).
|
While online, I go by the nickname "ngws" (and a few others).
|
||||||
|
|
||||||
|
|
||||||
** Contact
|
** Contact
|
||||||
|
|
||||||
Niels can be contacted at [[mailto:ngws@metanohi.name][ngws@metanohi.name]]. You can also find him as ngws
|
I can be contacted at [[mailto:ngws@metanohi.name][ngws@metanohi.name]]. I also hang out as ngws in #diku on
|
||||||
in #hongabar and #diku on irc.freenode.net.
|
irc.freenode.net.
|
||||||
|
|
||||||
|
|
||||||
** Things used by Niels
|
** Things I use
|
||||||
|
|
||||||
*** Emacs
|
*** Emacs
|
||||||
|
|
||||||
Emacs is a nice text editor. [[http://www.gnu.org/software/emacs/][Get it]].
|
Emacs is a nice text editor. [[http://www.gnu.org/software/emacs/][Get it]].
|
||||||
|
|
||||||
Links: [[https://gitorious.org/nqpz-config/nqpz-config/blobs/raw/master/home/.emacs][my .emacs]] and [[https://gitorious.org/nqpz-config/nqpz-config/trees/master/home/.emacs.d][my .emacs.d]].
|
*** Firefox
|
||||||
|
|
||||||
*** Conkeror
|
Firefox is okay. I use it with the Pentadactyl extension to make it more like
|
||||||
|
Emacs.
|
||||||
Conkeror is a nice webbrowser, somewhat similar in design to
|
|
||||||
Emacs. [[http://conkeror.org/][Get it]].
|
|
||||||
|
|
||||||
Links: [[https://gitorious.org/nqpz-config/nqpz-config/trees/master/home/.conkerorrc][My .conkerorrc]].
|
|
||||||
|
|
||||||
*** StumpWM
|
*** StumpWM
|
||||||
|
|
||||||
StumpWM is a nice tiling, Emacs-like window mananger. It has much fewer
|
StumpWM is a nice tiling, Emacs-like window mananger. It has much fewer features
|
||||||
features than e.g. XMonad (another tiling wm), but it's simple and
|
than e.g. XMonad (another tiling wm), but it's simple and efficient. [[http://stumpwm.antidesktop.net/cgi-bin/wiki.pl][Get it]].
|
||||||
efficient. [[http://stumpwm.antidesktop.net/cgi-bin/wiki.pl][Get it]].
|
|
||||||
|
|
||||||
Links: <@eval macros.titlelink('/writings/stumpwm')@>, [[https://gitorious.org/nqpz-config/nqpz-config/blobs/raw/master/home/.stumpwmrc][my .stumpwmrc]].
|
|
||||||
|
|
||||||
*** Debian
|
*** Debian
|
||||||
|
|
||||||
I run Debian testing with only a small amount of proprietary software. [[http://debian.org/][Get
|
I run Debian testing with only a small amount of proprietary software. [[http://debian.org/][Get
|
||||||
Debian]]. I used to run Trisquel, but I realized that I would rather use
|
Debian]].
|
||||||
something with more support, so I switched to using Debian after I bought a new
|
|
||||||
computer.
|
|
||||||
|
|
||||||
*** Dvorak
|
*** Dvorak
|
||||||
|
|
||||||
|
@ -103,6 +94,7 @@ keysym j = j J Insert
|
||||||
My keyboard layout can be achieved by running
|
My keyboard layout can be achieved by running
|
||||||
#+BEGIN_SRC
|
#+BEGIN_SRC
|
||||||
setxkbmap dk dvorak
|
setxkbmap dk dvorak
|
||||||
|
setxkbmap -option ctrl:swapcaps
|
||||||
xmodmap $HOME/.Xmodmap
|
xmodmap $HOME/.Xmodmap
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
This works quite well. In patterns such as
|
This works quite well. In patterns such as
|
||||||
|
@ -116,19 +108,19 @@ is entered if one presses -AltGr+x-, and ~d~ is entered if one presses
|
||||||
|
|
||||||
** Virtual existences
|
** Virtual existences
|
||||||
|
|
||||||
Most of these I don't use. Some might be dead.
|
Most of these I don't use actively.
|
||||||
|
|
||||||
|
+ [[https://github.com/nqpz][GitHub]]
|
||||||
+ [[http://en.wikipedia.org/wiki/User:NqpZ][Wikipedia]]
|
+ [[http://en.wikipedia.org/wiki/User:NqpZ][Wikipedia]]
|
||||||
+ [[http://identi.ca/nqpz][StatusNet]]
|
+ [[https://twitter.com/ngwwws][Twitter]]
|
||||||
+ [[https://gitorious.org/~nqpz][Gitorious]]
|
+ [[https://gitlab.com/u/ngws][GitLab]]
|
||||||
+ [[https://launchpad.net/~ngws][Launchpad]]
|
+ [[https://launchpad.net/~ngws][Launchpad]]
|
||||||
+ [[http://libreplanet.org/wiki/User:NqpZ][Libreplanet]]
|
|
||||||
+ [[http://en.literateprograms.org/User:NqpZ][LiteratePrograms]]
|
|
||||||
+ [[http://openlibrary.org/people/nqpz][Open Library]]
|
+ [[http://openlibrary.org/people/nqpz][Open Library]]
|
||||||
|
+ [[http://en.literateprograms.org/User:NqpZ][LiteratePrograms]]
|
||||||
|
+ [[http://uncyclopedia.wikia.com/wiki/User:Schabeindividuum][Uncyclopedia]]
|
||||||
+ [[https://savannah.gnu.org/users/nqpz][GNU Savannah]]
|
+ [[https://savannah.gnu.org/users/nqpz][GNU Savannah]]
|
||||||
+ [[http://uncyclopedia.wikia.com/wiki/User:Schabeindividuum][Uncyclopedia]] (don't take this one seriously)
|
+ [[http://libreplanet.org/wiki/User:NqpZ][Libreplanet]]
|
||||||
+ [[https://github.com/nqpz][GitHub]] (I don't like GitHub that much, but I use it sometimes)
|
+ [[http://identi.ca/nqpz][StatusNet]]
|
||||||
+ [[https://twitter.com/ngwwws][Twitter]] (not really using it)
|
|
||||||
|
|
||||||
|
|
||||||
** Keys
|
** Keys
|
||||||
|
@ -142,50 +134,15 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwEmn04iNjoD8wCFTQdadsAmlRRsQHJKgggPo9ZVKlCuZ
|
||||||
*** PGP
|
*** PGP
|
||||||
|
|
||||||
#&pre
|
#&pre
|
||||||
pub 2048R/B492E125 2012-08-29
|
pub 2048R/85445363 2014-06-11
|
||||||
Key fingerprint = 805A F9F1 554E 06E6 B90C A211 33CF 9BCE B492 E125
|
uid Niels G. W. Serup <ngws@metanohi.name>
|
||||||
uid Niels Gustav Westphal Serup (ngws) <ngws@metanohi.name>
|
sub 2048R/7CFE0D20 2014-06-11
|
||||||
sub 2048R/C9BB5929 2012-08-29
|
|
||||||
#&
|
|
||||||
|
|
||||||
#&pre
|
|
||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
|
||||||
|
|
||||||
mQENBFA+nqoBCADRpK8R83iTCEu7ceP0u0AKl67yQDtjJDC+/3sPod1VvzAccJA3
|
|
||||||
psOGz755/crN5vk/Z4I/L3dXd/bDU+UZo2wAlmcKTciZ0dxtWx/vj8sW2EzSTtJT
|
|
||||||
tNGKzIAYFo3wt55f9KznGqGxKw5LgkURPCyvWMwi4FewrczpAUtVY57Zum+k2fph
|
|
||||||
h3D9Pzi8eTKNrbW3dmkR7JINpZt9d7YiySYE6O+4brjJZ6rUIEFnSS92oVQc4c8d
|
|
||||||
7HN64ZrS7HKkmxGYzvdHgZVunsBS4e8DorWi4ETHNiMOaI9H4f5sIztNiOB8AfvM
|
|
||||||
f/eauXWW2NwmnB/LJOPj0gC1XVs+0DREHSfzABEBAAG0N05pZWxzIEd1c3RhdiBX
|
|
||||||
ZXN0cGhhbCBTZXJ1cCAobmd3cykgPG5nd3NAbWV0YW5vaGkubmFtZT6JATgEEwEC
|
|
||||||
ACIFAlA+nqoCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEDPPm860kuEl
|
|
||||||
yVgIAI5/lLEPLeOHuXQuDhNGGXBneml3zB+GvTeuPjd6SRz/DeddW6BQ4aX9M+Oh
|
|
||||||
QbfsU8k37vmJISyf1jM/n7MrLZAvPH+gbyD5FD4+pzGv7kItJv/gdlVcZ+Ycop5+
|
|
||||||
laa9s9kMB1LuDrKx+fgfDehl0eTW4AYH88ncQ9+Bgef4GsvBlbZAhuPjU39EN4vE
|
|
||||||
7oXY0NV2h06ZktJ4m598AxDU0Lj5PoZzAIXi2072BTQzEeo7lw+yvTigMql5KqIf
|
|
||||||
IoewZ0eJh3+dNyGff2XkOuzyjDs8uAXpWZ1lcsvrl8mWHyZi3zxs16Gyjh8sCLdS
|
|
||||||
EYdd8duzy1kYfsBuvvO3iQ8pY4O5AQ0EUD6eqgEIAN8Ov94RwF1Mw/NaQUQItgO2
|
|
||||||
4c9k07COxqjGaX+HtmgAOhO6ndlGp8NgGTb6bhTYEXqgAE73hoExcIddBJ0kkxNt
|
|
||||||
SNKH8x+neXmN4NzTYijrprL8e01H8toFt1Kwcyc/MiGhd/5bEqoWqYCOHncQqP0h
|
|
||||||
8AnJJ4tNpiPKNvPwA7gkgfI5iEB7CoYiOYb4dmWefNEDZbjdmPqV6hxW+CEXuafG
|
|
||||||
FIZq4gzT8KKgrvjvhvY+OCBN08UKFgTg3Z6sCSz1E6QqOvk80FOHrHd6oED83iec
|
|
||||||
Drtfsm6qCAtqV+zHjAX5dGL7P5s/4Os9Zs5o3CojkaKpRgVktqBL0xYZoDPCsPsA
|
|
||||||
EQEAAYkBHwQYAQIACQUCUD6eqgIbDAAKCRAzz5vOtJLhJV32B/9jnsRQJG5U0+B4
|
|
||||||
Nifr4TM0K6Xmla5+zhU/Gbmcr5wSSwVbqyyqnxtc/sbTUX87heNhP4ufpMFt47yJ
|
|
||||||
QK0mf0rYFIw+W9vmb/ISLMyKad5Og0C7Jg2/JJ4xNiCfTr2D99DzhNklYK/zYV81
|
|
||||||
VgEbOYPuk9v+vSCGVNOTiBkijZpGXBo2gDmt9Aay+hBQP59sc96YTEjMnLGyZiGE
|
|
||||||
ugmrJNM4ejYVoDnUh8eaPFNvQjEUtwtzqY0iwbQvtWzBRlMTPRLOy/iuIzGitqMI
|
|
||||||
EOTFhRXYSWReVaHWxduolu5YplmQHYj1LtGm4p6659ymKr80tzWAg3LK7AzDXRQ+
|
|
||||||
235mE/xO
|
|
||||||
=uaPn
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
||||||
#&
|
#&
|
||||||
|
|
||||||
|
|
||||||
** Photo
|
** Photo
|
||||||
|
|
||||||
#&img;url=img/niels-eyes.png, width=600, center, caption=Niels (kind of)
|
#&img;url=img/niels-hipster.png, width=600, center, caption=Niels (kind of)
|
||||||
|
|
||||||
|
|
||||||
** Hongabar
|
** Hongabar
|
||||||
|
|
|
@ -1,40 +1,10 @@
|
||||||
#+title: Initialization
|
#+title: Initialization
|
||||||
|
#+startup: showall
|
||||||
#+summary: This is the start page.
|
#+summary: This is the start page.
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
|
|
||||||
* Meta-meta-meta-meta-meta-metanohi!
|
* Hello
|
||||||
|
|
||||||
*metanohi* is a website created in 2009. It is the personal website of [[/about/niels][Niels
|
This is the personal website of [[/about/niels][Niels G. W. Serup]].
|
||||||
G. W. Serup]], a [[/writings/hacking][hacker]] in a world of non-hackers.
|
|
||||||
|
|
||||||
Historically, this start page has featured text which tried to be funny. It
|
Visit the subpages.
|
||||||
never really worked right, so now there's just a lot of footnotes.[fn:evenmore].
|
|
||||||
|
|
||||||
|
|
||||||
* Quick links
|
|
||||||
|
|
||||||
If you're not the type who crawls through the entirety of a website when you
|
|
||||||
visit it (why not?), here's the author's pick of metanohi pages you should read:
|
|
||||||
|
|
||||||
+ <@eval macros.titlelink('/writings/atem')@>
|
|
||||||
+ [[http://suum.metanohi.name/][SUUM]]
|
|
||||||
+ [[http://git.metanohi.name/][git projects]]
|
|
||||||
|
|
||||||
|
|
||||||
* Important note
|
|
||||||
|
|
||||||
This website is very broken (though its structural design is pretty ok).
|
|
||||||
However, you probably won't notice it. Just keep in mind that the code running
|
|
||||||
this site is unmaintained and poor; see for yourself at <@eval
|
|
||||||
macros.titlelink('/projects/mege')@>.
|
|
||||||
|
|
||||||
[fn:evenmore] Not just a lot, but A LOT[fn:alot]
|
|
||||||
|
|
||||||
[fn:alot] Like, 3[fn:alot2]
|
|
||||||
|
|
||||||
[fn:alot2] No, more like 4[fn:notfunny]
|
|
||||||
|
|
||||||
[fn:notfunny] This footnote is *not* funny.[fn:notsuperfluous]
|
|
||||||
|
|
||||||
[fn:notsuperfluous] This footnote is not superfluous.[fn:notfunny]
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
#&summary
|
#&summary
|
||||||
Where all my projects are listed.
|
Where all my projects are listed.
|
||||||
#&
|
#&
|
||||||
#+license: wtfpl
|
|
||||||
#+startup: showall
|
#+startup: showall
|
||||||
#&fullpage
|
#&fullpage
|
||||||
#&toc
|
#&toc
|
||||||
|
@ -14,7 +13,7 @@ Where all my projects are listed.
|
||||||
|
|
||||||
* Webcomic
|
* Webcomic
|
||||||
|
|
||||||
My (not very active) webcomic is at [[http://suum.metanohi.name/]].
|
My inactive webcomic is at [[http://suum.metanohi.name/]].
|
||||||
|
|
||||||
|
|
||||||
* Media
|
* Media
|
||||||
|
|
Binary file not shown.
|
@ -1,43 +0,0 @@
|
||||||
#+title: My BASH prompt (outdated)
|
|
||||||
#&summary
|
|
||||||
What my prompt used to do and what it looked like.
|
|
||||||
#&
|
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
* My old BASH prompt
|
|
||||||
|
|
||||||
I had a strange bash prompt. To use it, first, copy this into your ~.bashrc~:
|
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
|
||||||
function ps1lr {
|
|
||||||
if [ $1 == 0 ]; then
|
|
||||||
echo -ne "\033[42m\033[01;30m"
|
|
||||||
else
|
|
||||||
echo -ne "\033[41m\033[01;34m"
|
|
||||||
fi
|
|
||||||
length-extra-prepend $1 3
|
|
||||||
}
|
|
||||||
|
|
||||||
function ps1sp {
|
|
||||||
pwdw=$(($COLUMNS-20))
|
|
||||||
if (( $pwdw < 40 )); then
|
|
||||||
pwdw=40
|
|
||||||
fi
|
|
||||||
length-too-much-shorten "$(pwd | sed s%$HOME%~%)" $pwdw
|
|
||||||
}
|
|
||||||
|
|
||||||
#PROMPT_COMMAND=""
|
|
||||||
PS1='\[\033[00m\]$(ps1lr $?)\[\033[45m\] \[\033[44m\]\[\033[01;37m\]\
|
|
||||||
$(date +%H:%M)\[\033[45m\] \[\033[46m\]\[\033[01;33m\]\
|
|
||||||
$(ps1sp)\[\033[00m\]\n\[\033[45m\]\[\033[01;33m\]\u\[\033[01;32m\]@\
|
|
||||||
\[\033[01;36m\]\h\[\033[43m\]\[\033[01;30m\]:\[\033[40m\]\
|
|
||||||
\[\033[01;33m\]\$\[\033[00m\] '
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
Second, download [[bash-prompt-extras.tar.gz]] and put the included programs
|
|
||||||
somewhere in =$PATH=&sh.
|
|
||||||
|
|
||||||
|
|
||||||
* Not anymore
|
|
||||||
|
|
||||||
I didn't actually need all the features.
|
|
|
@ -9,7 +9,7 @@ Danish.
|
||||||
Jeg sendte denne besked til Undervisningsministeriet som så fortalte mig at de
|
Jeg sendte denne besked til Undervisningsministeriet som så fortalte mig at de
|
||||||
skam nok var i gang med at gøre det nemmere for "Linus"..
|
skam nok var i gang med at gøre det nemmere for "Linus"..
|
||||||
|
|
||||||
Sendt 8. marts. Se også <@eval macros.titlelink('stadig-digital-sikring')@>.
|
Sendt 8. marts 2011. Se også <@eval macros.titlelink('stadig-digital-sikring')@>.
|
||||||
|
|
||||||
* Digital sikring mod gennemførsel af eksamen en realitet
|
* Digital sikring mod gennemførsel af eksamen en realitet
|
||||||
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
#+title: Free culture
|
|
||||||
#+summary: A short summary of free culture with good external links
|
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
* Free culture
|
|
||||||
|
|
||||||
Free culture is about sharing and mixing creative works, often under
|
|
||||||
[[http://en.wikipedia.org/wiki/Copyleft][copyleft]]. It encompasses pictures, video, audio, text and similar types of
|
|
||||||
works.
|
|
||||||
|
|
||||||
It is good, although not necessarily easy to produce.
|
|
||||||
|
|
||||||
|
|
||||||
** External links
|
|
||||||
|
|
||||||
+ [[http://freedomdefined.org/Definition][Definition of Free Cultural Works]]
|
|
||||||
+ [[http://freeculture.org/][freeculture.org]]
|
|
||||||
+ [[http://creativecommons.org/][Creative Commons]]
|
|
|
@ -1,135 +0,0 @@
|
||||||
#+title: Free software
|
|
||||||
#+summary: An explanation of the necessity of free software
|
|
||||||
#+startup: showall
|
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
* Free software
|
|
||||||
|
|
||||||
This is a [[http://python.org/][Python 3]] computer program --- a piece of software:
|
|
||||||
#+BEGIN_SRC python
|
|
||||||
inp = input()
|
|
||||||
print(inp.lower())
|
|
||||||
#+END_SRC
|
|
||||||
Or at least it's a very small part of one. It reads text input from a user,
|
|
||||||
transforms the text to lowercase, and prints the transformed text. It is very
|
|
||||||
simple. Larger programs are often far less simple, as they may contain
|
|
||||||
implementations of complex algorithms or involve human interaction.
|
|
||||||
|
|
||||||
[[http://en.wikipedia.org/wiki/RSA][RSA]] and [[http://www.openssl.org/][OpenSSL]] are examples of this, RSA being an algorithm which requires
|
|
||||||
several subalgorithms to work, and OpenSSL being the large implementation of
|
|
||||||
RSA (among other things, but let's keep it simple) which contains way over
|
|
||||||
100,000 lines of code. For such a computer program to be run, it will most
|
|
||||||
often have to be compiled.
|
|
||||||
|
|
||||||
/Compilation/ is a process which translates human-readable source code --- like
|
|
||||||
the two Python lines earlier --- into a computer-readable format. When a
|
|
||||||
program has been compiled, computers can understand it, and it can be run and
|
|
||||||
used by users. The reason why programmers do not program in the
|
|
||||||
computer-readable format from the beginning is that it is almost impossible and
|
|
||||||
very impractical; humans need one or more levels of abstraction to be able to
|
|
||||||
transform ideas into runnable, useful software --- humans need programming
|
|
||||||
languages.
|
|
||||||
|
|
||||||
There are two things that make a lot of sense when talking about computer
|
|
||||||
programs: 1) if a program is installed on your computer, you should be able to
|
|
||||||
run it (why else have it?), and 2) if a friend (or someone else) would like to
|
|
||||||
use a program that you have, you should be able to share it to your friend,
|
|
||||||
i.e. copy it and give the friend the copy.
|
|
||||||
|
|
||||||
People who are unfamiliar with computers in general, and digital data in
|
|
||||||
particular, might have trouble understanding that any data you see on a
|
|
||||||
computer monitor or on an optical disc or on something else is nothing but
|
|
||||||
bytes, be it images, videos, websites, text, programs, e-mails, anything. A
|
|
||||||
byte x&var with a value n&var is no different than a byte y&var with the same
|
|
||||||
value n&var, even if it is stored in a different location. Any byte can be
|
|
||||||
cloned, copied, and only the amount of storage space available limits how many
|
|
||||||
times this copying can occur.
|
|
||||||
|
|
||||||
One must also be able to study a program, modify it to fit one's needs, and
|
|
||||||
redistribute copies of one's changes. There are several reasons for this; first
|
|
||||||
of all, a program must not be able to hide from you how it works and what it
|
|
||||||
does. You --- or a hired programmer --- must be able to look through the source
|
|
||||||
code and learn from it, so that knowledge about implementations of algorithms
|
|
||||||
and structuring of code segments can be spread. Computers have become
|
|
||||||
incredibly important on Earth, and it's just not good enough if a computer user
|
|
||||||
who wishes to learn more about software and how it works cannot study
|
|
||||||
the programs on their computer and in that way improve their computer
|
|
||||||
literacy.
|
|
||||||
|
|
||||||
Since machine code does not contain the original code and comments, source code
|
|
||||||
availability is a precondition for the studying and modification of a program.
|
|
||||||
|
|
||||||
Second, if a program does not work properly, you can only fix it if you're
|
|
||||||
allowed to do so and have the source code.
|
|
||||||
|
|
||||||
Third, it is impractical to constantly reinvent the wheel, which is what
|
|
||||||
programmers who do not use software that allows sharing and modification tend
|
|
||||||
to do.
|
|
||||||
|
|
||||||
Fourth, if a program cannot be studied, and if that program contains code for
|
|
||||||
reading from and writing to files in special formats --- e.g. the Microsoft Word
|
|
||||||
format --- people are forced to use that program if they have a file in such a
|
|
||||||
format (yes, LibreOffice has good support for such non-free formats, but not
|
|
||||||
full support).
|
|
||||||
|
|
||||||
Fifth, if a program cannot be studied, you cannot be certain of its
|
|
||||||
intentions. Since you do not know what the program does (in details), you do
|
|
||||||
not know if it does anything harmful --- if it tracks you, or if it reads your
|
|
||||||
documents without your permission.
|
|
||||||
|
|
||||||
Sixth, if a non-free program is abandoned by its developers, it will never
|
|
||||||
become better, and users of it might not be able to keep running it, because no
|
|
||||||
one can fix or improve it.
|
|
||||||
|
|
||||||
And so on.
|
|
||||||
|
|
||||||
*Free software* is the type of software that encompasses these freedoms; it
|
|
||||||
allows you to be in control of your computing, instead of others taking control
|
|
||||||
of it. Proprietary software, or non-free software, is the opposite of free
|
|
||||||
software. Many programs and systems are proprietary, including (but not at all
|
|
||||||
limited to) Microsoft Windows, Apple iPhone, Amazon Kindle, etc. Well-known
|
|
||||||
/free/ software includes Firefox, Inkscape, GIMP, and many others.
|
|
||||||
|
|
||||||
Today it often seems commonly accepted that software development and usage
|
|
||||||
follows a model like this:
|
|
||||||
#&block
|
|
||||||
Someone (a corporation, an individual, an organization, could be anyone)
|
|
||||||
develops a program --> the creator allows people to use the program
|
|
||||||
--> a user wants to share the program with a friend, but the user knows that it
|
|
||||||
is wrong, because that's what the creator said --> the user does nothing, and:
|
|
||||||
|
|
||||||
The user needs a new feature added to the program --> the user asks the creator
|
|
||||||
to add the feature, because the user knows that only the creator may modify the
|
|
||||||
program, even if it runs on the user's computer and not the creator's --> the
|
|
||||||
creator answers --> nothing happens
|
|
||||||
#&
|
|
||||||
It makes sense that you should be allowed to modify a program that runs on your
|
|
||||||
computer, or get someone to do it for you. It makes no sense that an entity
|
|
||||||
x&var should have the power to control a user just because that user runs a
|
|
||||||
program created by x&var. Programs should /not/ have owners, even if that's
|
|
||||||
what some have been mislead to believe.
|
|
||||||
|
|
||||||
|
|
||||||
All of this leaves us with these four condensed freedoms:[fn:freeswdef]
|
|
||||||
|
|
||||||
#&block
|
|
||||||
/The freedom to/:
|
|
||||||
+ run the program
|
|
||||||
+ study and modify the program
|
|
||||||
+ share the program (redistribute copies)
|
|
||||||
+ share your modified program
|
|
||||||
#&
|
|
||||||
|
|
||||||
** External links
|
|
||||||
|
|
||||||
Continue your reading here:
|
|
||||||
|
|
||||||
+ [[http://gnu.org/][GNU's Not Unix]]
|
|
||||||
+ The [[http://fsf.org/][Free Software Foundation]]
|
|
||||||
+ [[http://trisquel.info][Trisquel, a free operating system]]
|
|
||||||
+ [[http://debian.org/][Debian]]
|
|
||||||
+ [[http://en.wikipedia.org/wiki/Copyleft][Copyleft]] on Wikipedia
|
|
||||||
|
|
||||||
|
|
||||||
[fn:freeswdef] GNU.org. /The Free Software Definition/,
|
|
||||||
[[http://www.gnu.org/philosophy/free-sw.html]]
|
|
|
@ -3,7 +3,6 @@
|
||||||
Hackety hack.
|
Hackety hack.
|
||||||
#&
|
#&
|
||||||
#+startup: showall
|
#+startup: showall
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
* Hacking
|
* Hacking
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#+title: Writings
|
#+title: Writings
|
||||||
#+summary: A list of my writings
|
#+summary: A list of my writings
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
* Writings
|
* Writings
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,14 @@ from [[http://wtfpl.net/]]:
|
||||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
I think the license is fun, and there really is no good reason to use anything
|
||||||
|
else for most of my small, one-off projects. For larger projects, I use BSD2 or
|
||||||
|
BSD3 or whatever -- I accept all free software licenses and really do not wish
|
||||||
|
to discuss them that much (although I admit that I have previously been more
|
||||||
|
opionated).
|
||||||
|
|
||||||
* Reason
|
|
||||||
|
* Some reasons
|
||||||
|
|
||||||
I got tired of software and culture licenses. I don't mind them, and I don't
|
I got tired of software and culture licenses. I don't mind them, and I don't
|
||||||
have anything against copyleft -- it's a tool, and it can be effective in some
|
have anything against copyleft -- it's a tool, and it can be effective in some
|
||||||
|
@ -43,8 +49,9 @@ I guess that some people consider e.g. CC BY-SA a recognizable symbol and that
|
||||||
its law stuff is secondary. I can follow that thought, but I just got tired of
|
its law stuff is secondary. I can follow that thought, but I just got tired of
|
||||||
it.
|
it.
|
||||||
|
|
||||||
Some might not want to integrate WTFPL code into their project, but fuck them
|
Some people might not want to integrate WTFPL code into their project, but fuck
|
||||||
(okay, in practice I'll probably just relicense to BSD2 or BSD3 if necessary).
|
them (okay, in practice I'll probably just relicense to BSD2 or BSD3 if
|
||||||
|
necessary).
|
||||||
|
|
||||||
All that being said, I will work in any free software and free culture project
|
All that being said, I will work in any free software and free culture project
|
||||||
no matter what license they use. WTFPL is just for my own junk.
|
no matter what license they use. WTFPL is just for my own junk.
|
||||||
|
@ -60,4 +67,4 @@ copyright was only for commercial use.
|
||||||
* Previously
|
* Previously
|
||||||
|
|
||||||
I used to have a lot of text about this, but I've come to just not care. It's
|
I used to have a lot of text about this, but I've come to just not care. It's
|
||||||
all on git if you want to read it.
|
all in the git history if you want to dig it up and read it.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#+title: Na
|
#+title: Na
|
||||||
#&summary
|
#&summary
|
||||||
A new spoken and written language in development.
|
A new spoken and written language not in development.
|
||||||
#&
|
#&
|
||||||
#+license: wtfpl
|
#+license: wtfpl
|
||||||
#&toc
|
#&toc
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
#+title: My choices of software licenses (outdated)
|
|
||||||
#&summary
|
|
||||||
Which licenses did I use, and why?
|
|
||||||
#&
|
|
||||||
#+startup: showall
|
|
||||||
#+license: wtfpl
|
|
||||||
|
|
||||||
#&+classes=warning
|
|
||||||
This is an old opinion of mine, but its arguments still hold if one assumes that
|
|
||||||
copyleft is very important. See <@eval
|
|
||||||
macros.titlelink('/writings/non-copylefted')@> for my updated opinion.
|
|
||||||
#&
|
|
||||||
|
|
||||||
* My choices of software licenses
|
|
||||||
|
|
||||||
I like strong copyleft, the stuff found in the GNU General Public License, the
|
|
||||||
Creative Commons Attribution-Share Alike, and others. I like how people cannot
|
|
||||||
take the code or culture I contributed to the world and turn it into something
|
|
||||||
non-free. I have used those licenses a lot.
|
|
||||||
|
|
||||||
For cultural works, it seems to me that the Creative Commons Attribution-Share
|
|
||||||
Alike has a strong following; of course some people dislike it for being a long,
|
|
||||||
legalese text, but my general impression is that people who want to create
|
|
||||||
sharable and modifiable cultural works like it just fine. If there was a large
|
|
||||||
resistance towards the BY-SA, making something available under that license
|
|
||||||
would mean excluding many people from remixing that something, just because of
|
|
||||||
their dislike of the license. Since that doesn't appear to be the case, I'll
|
|
||||||
happily continue to use the BY-SA license.
|
|
||||||
|
|
||||||
For software, on the other hand, there are many loud voices against the
|
|
||||||
GPL. [[http://dustycloud.org/blog/field-guide-to-copyleft][This article]] explains the arguments well. As much as I like to copyleft my
|
|
||||||
code, I find it even more important that it's not lonely; and if so many are
|
|
||||||
against the strong copyleft in the GPL, I feel I must concede and release my
|
|
||||||
software under BSD3 or something on that level of lack of user freedom.
|
|
||||||
|
|
||||||
I only see two reasons to not use strong copyleft with a program (and they
|
|
||||||
overlap):
|
|
||||||
|
|
||||||
+ If the main objective of the software is to become widespread (like how the
|
|
||||||
Ogg Ogg/Vorbis codec uses a lax license --- which, by the way, [[https://lwn.net/2001/0301/a/rms-ov-license.php3][RMS agrees]]
|
|
||||||
with)
|
|
||||||
+ If so many people dislike strong copyleft that too few are willing to
|
|
||||||
contribute to a strong copyleft project (my reason)
|
|
||||||
|
|
||||||
I'm not that interested in whether GPL usage is currently dropping or rising, or
|
|
||||||
that the GPL is still very widely used; what interests me is that a high number
|
|
||||||
of projects simply do not use the GPL. I found the [[https://archive.fosdem.org/2012/schedule/event/is_copyleft_being_framed.html][Is copyleft being framed?]]
|
|
||||||
talk interesting, but copyleft being framed doesn't change the data at
|
|
||||||
[[http://flossmole.org]]: [[http://flossmole.org/system/files/FreecodeLicenses2012.png][this]] and [[http://flossmole.org/system/files/FSFLicenseCounts2012_0.png][this]] show that while GPL usage is high, so is the
|
|
||||||
combined use of BSD3, Expat/MIT, Apache 2.0, and other lax licenses.
|
|
||||||
|
|
||||||
A (for me) important example of where a lax license (in this case the BSD3) is
|
|
||||||
pretty much used everywhere is Haskell's package collection, [[http://hackage.haskell.org/][Hackage]]. If I came
|
|
||||||
along with a GPL-licensed program, it would be pretty lonely.
|
|
||||||
|
|
||||||
I must remind myself that strong copyleft was never an end in itself, but merely
|
|
||||||
a help. From now on (Oct 10, 2012), I'll make new software written by myself
|
|
||||||
available under the BSD3 license. If at some point in the future, the usage of a
|
|
||||||
lax licenses drops a lot and the usage of strong copyleft licenses rises (I
|
|
||||||
don't think that'll happen), I might switch back to using a strong copyleft
|
|
||||||
license. Until then, let the BSD3 experiment begin!
|
|
||||||
|
|
||||||
The main point of it all is to share code both ways, and if that flow works
|
|
||||||
better with a lax license, then I think I'm okay with the risk of someone
|
|
||||||
putting it into a proprietary program, even though I find that amoral.
|
|
||||||
|
|
||||||
I'm not going to relicense past (A|L)?GPL'd programs I've written unless someone
|
|
||||||
asks me to or I have to update them anyway..
|
|
||||||
|
|
||||||
I'll still contribute to strong copyleft software, but I might mention this URL.
|
|
||||||
|
|
||||||
If I were to place myself in a camp, it would be the
|
|
||||||
I-like-copyleft-sometimes-but-I-like-sharing-code-even-more camp.
|
|
|
@ -13,7 +13,7 @@ deres kraft af undervisningsministerium --- desuden er det ikke engang alle
|
||||||
skoler der bruger de kopisikrede cd'er, så i flere tilfælde er kopisikring
|
skoler der bruger de kopisikrede cd'er, så i flere tilfælde er kopisikring
|
||||||
ligegyldig. Så fjern den dog!
|
ligegyldig. Så fjern den dog!
|
||||||
|
|
||||||
Sendt 31. maj. Se også <@eval macros.titlelink('digital-sikring')@>.
|
Sendt 31. maj 2011. Se også <@eval macros.titlelink('digital-sikring')@>.
|
||||||
|
|
||||||
* Stadig digital sikring mod gennemførsel af eksamen
|
* Stadig digital sikring mod gennemførsel af eksamen
|
||||||
|
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
#+title: My StumpWM setup
|
|
||||||
#&summary
|
|
||||||
How I've set up StumpWM on Trisquel
|
|
||||||
#&
|
|
||||||
#+license: wtfpl
|
|
||||||
#+startup: showall
|
|
||||||
|
|
||||||
* My StumpWM setup
|
|
||||||
|
|
||||||
GNOME
|
|
||||||
|
|
||||||
I use StumpWM instead of e.g. Gnome. StumpWM is a tiling window manager, which
|
|
||||||
means that it's a good window manager.
|
|
||||||
|
|
||||||
** The setup
|
|
||||||
|
|
||||||
I just added a file ~stumpwm.desktop~:
|
|
||||||
#+BEGIN_SRC
|
|
||||||
[Desktop Entry]
|
|
||||||
Encoding=UTF-8
|
|
||||||
Type=XSession
|
|
||||||
Exec=stumpwm
|
|
||||||
TryExec=stumpwm
|
|
||||||
Name=StumpWM
|
|
||||||
Comment=Stump window manager
|
|
||||||
#+END_SRC
|
|
||||||
to ~/usr/share/xsessions/~, and then I could login to StumpWM via GDM.
|
|
||||||
|
|
||||||
** Links
|
|
||||||
|
|
||||||
+ [[http://stumpwm.antidesktop.net/][StumpWM]]
|
|
||||||
+ [[https://gitorious.org/nqpz-config/nqpz-config/blobs/raw/master/home/.stumpwmrc][My .stumpwmrc]]
|
|
||||||
|
|
||||||
|
|
||||||
** Old problems
|
|
||||||
|
|
||||||
/I have fixed these problems. They remain here for historical reasons only./
|
|
||||||
|
|
||||||
I never had any problems with StumpWM until I upgraded to Trisquel 4.0 and
|
|
||||||
Trisquel 4.5, after which StumpWM irregularly threw errors such as:
|
|
||||||
#+BEGIN_SRC
|
|
||||||
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying
|
|
||||||
GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
|
|
||||||
#+END_SRC
|
|
||||||
and also some fatal X errors which killed StumpWM and all its running
|
|
||||||
programs. This naturally annoyed me. I soon realized that it had nothing to do
|
|
||||||
with Trisquel, it was just that dependencies on things like D-Bus was getting
|
|
||||||
on StumpWM's nerves. I had always used an Xsession file to login to StumpWM,
|
|
||||||
but clearly, this wasn't good enough. Whenever I ran the default gnome-session
|
|
||||||
and whatever window manager was associated to that, there were no problems. And
|
|
||||||
while in gnome-session, I could always run:
|
|
||||||
: stumpwm --replace
|
|
||||||
to replace metacity or whatever with StumpWM. Except for an annoying
|
|
||||||
gnome-panel and Gnome taking over some of my keybindings, this worked
|
|
||||||
alright. The best thing was that when the fatal X error occured, only StumpWM
|
|
||||||
was killed --- all windows were maintained. This made me realize that one could
|
|
||||||
create a script which starts a new StumpWM instance whenever an old StumpWM
|
|
||||||
crashes, to create the illusion of a continually running StumpWM.
|
|
||||||
|
|
||||||
*** Solution
|
|
||||||
|
|
||||||
I compiled StumpWM from git with SBCL instead of CLISP. Now it doesn't crash.
|
|
||||||
|
|
||||||
*** Original solution
|
|
||||||
|
|
||||||
I added this to my ~.profile~:
|
|
||||||
#+BEGIN_SRC sh
|
|
||||||
if [ "$DISPLAY" ] ; then
|
|
||||||
pkill stumpwm
|
|
||||||
# Restart StumpWM when it crashes
|
|
||||||
while [ 1 ] ; do
|
|
||||||
stumpwm --replace
|
|
||||||
pkill stumpwm
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Since StumpWM will continue forever, this .profile file will block
|
|
||||||
# gnome-session from loading misc. crap.
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
You may also have to edit ~gnome-panel~ out of
|
|
||||||
~/desktop/gnome/session/required_components~ in ~gconf-editor~.
|
|
Loading…
Reference in New Issue