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
|
||||
|
||||
In general, text, images, code and any other type of work on metanohi are
|
||||
available under the [[http://www.wtfpl.net/][Do What The Fuck You Want To Public License (WTFPL)]]; read
|
||||
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.
|
||||
Essentially, if you use something from metanohi, please attribute Niels
|
||||
G. W. Serup and metanohi (unless it's not by Niels, which is rare).
|
||||
|
||||
If you use something from metanohi, please attribute Niels G. W. Serup and
|
||||
metanohi (unless it's not by Niels, which is rare).
|
||||
In general, text, images, code and any other type of work on metanohi are
|
||||
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
|
||||
|
||||
metanohi is run by [[/projects/mege/][mege]]. If you want to use it for a new website (I REALLY
|
||||
REALLY wouldn't), you may wish to use metanohi as a template.
|
||||
metanohi is run by the [[/projects/mege/][mege]] HTML generator. If you want to use it for a new
|
||||
website (I REALLY REALLY wouldn't), you may wish to use metanohi as a template.
|
||||
|
||||
Get the main site:
|
||||
: $ git clone git://metanohi.name/metanohi-metanohi
|
||||
|
@ -37,16 +37,14 @@ Get the subsites (messy):
|
|||
|
||||
** SSL/TLS
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
#+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
|
||||
undefined purposes. Back then the website was at metanohi./org/ instead of
|
||||
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
|
||||
intend to carry on with this tradition.
|
||||
|
||||
Note: I have not updated this rather silly page since about 2012.
|
||||
|
||||
** Passive activism[fn:oxymoron]
|
||||
|
||||
Beware, for the following Hyperlinks contain Knowledge!
|
||||
|
|
|
@ -6,51 +6,42 @@
|
|||
|
||||
* About Niels
|
||||
|
||||
Niels G. W. Serup is the creator of metanohi. He was born in 1992 and lives in
|
||||
Denmark.
|
||||
I, Niels G. W. Serup, is the creator of metanohi. I was born in 1992 and live
|
||||
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
|
||||
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
|
||||
|
||||
Niels can be contacted at [[mailto:ngws@metanohi.name][ngws@metanohi.name]]. You can also find him as ngws
|
||||
in #hongabar and #diku on irc.freenode.net.
|
||||
I can be contacted at [[mailto:ngws@metanohi.name][ngws@metanohi.name]]. I also hang out as ngws in #diku on
|
||||
irc.freenode.net.
|
||||
|
||||
|
||||
** Things used by Niels
|
||||
** Things I use
|
||||
|
||||
*** Emacs
|
||||
|
||||
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
|
||||
|
||||
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]].
|
||||
Firefox is okay. I use it with the Pentadactyl extension to make it more like
|
||||
Emacs.
|
||||
|
||||
*** StumpWM
|
||||
|
||||
StumpWM is a nice tiling, Emacs-like window mananger. It has much fewer
|
||||
features than e.g. XMonad (another tiling wm), but it's simple and
|
||||
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]].
|
||||
StumpWM is a nice tiling, Emacs-like window mananger. It has much fewer features
|
||||
than e.g. XMonad (another tiling wm), but it's simple and efficient. [[http://stumpwm.antidesktop.net/cgi-bin/wiki.pl][Get it]].
|
||||
|
||||
*** Debian
|
||||
|
||||
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
|
||||
something with more support, so I switched to using Debian after I bought a new
|
||||
computer.
|
||||
Debian]].
|
||||
|
||||
*** Dvorak
|
||||
|
||||
|
@ -103,6 +94,7 @@ keysym j = j J Insert
|
|||
My keyboard layout can be achieved by running
|
||||
#+BEGIN_SRC
|
||||
setxkbmap dk dvorak
|
||||
setxkbmap -option ctrl:swapcaps
|
||||
xmodmap $HOME/.Xmodmap
|
||||
#+END_SRC
|
||||
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
|
||||
|
||||
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://identi.ca/nqpz][StatusNet]]
|
||||
+ [[https://gitorious.org/~nqpz][Gitorious]]
|
||||
+ [[https://twitter.com/ngwwws][Twitter]]
|
||||
+ [[https://gitlab.com/u/ngws][GitLab]]
|
||||
+ [[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://en.literateprograms.org/User:NqpZ][LiteratePrograms]]
|
||||
+ [[http://uncyclopedia.wikia.com/wiki/User:Schabeindividuum][Uncyclopedia]]
|
||||
+ [[https://savannah.gnu.org/users/nqpz][GNU Savannah]]
|
||||
+ [[http://uncyclopedia.wikia.com/wiki/User:Schabeindividuum][Uncyclopedia]] (don't take this one seriously)
|
||||
+ [[https://github.com/nqpz][GitHub]] (I don't like GitHub that much, but I use it sometimes)
|
||||
+ [[https://twitter.com/ngwwws][Twitter]] (not really using it)
|
||||
+ [[http://libreplanet.org/wiki/User:NqpZ][Libreplanet]]
|
||||
+ [[http://identi.ca/nqpz][StatusNet]]
|
||||
|
||||
|
||||
** Keys
|
||||
|
@ -142,50 +134,15 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwEmn04iNjoD8wCFTQdadsAmlRRsQHJKgggPo9ZVKlCuZ
|
|||
*** PGP
|
||||
|
||||
#&pre
|
||||
pub 2048R/B492E125 2012-08-29
|
||||
Key fingerprint = 805A F9F1 554E 06E6 B90C A211 33CF 9BCE B492 E125
|
||||
uid Niels Gustav Westphal Serup (ngws) <ngws@metanohi.name>
|
||||
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-----
|
||||
pub 2048R/85445363 2014-06-11
|
||||
uid Niels G. W. Serup <ngws@metanohi.name>
|
||||
sub 2048R/7CFE0D20 2014-06-11
|
||||
#&
|
||||
|
||||
|
||||
** 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
|
||||
|
|
|
@ -1,40 +1,10 @@
|
|||
#+title: Initialization
|
||||
#+startup: showall
|
||||
#+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
|
||||
G. W. Serup]], a [[/writings/hacking][hacker]] in a world of non-hackers.
|
||||
This is the personal website of [[/about/niels][Niels G. W. Serup]].
|
||||
|
||||
Historically, this start page has featured text which tried to be funny. It
|
||||
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]
|
||||
Visit the subpages.
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#&summary
|
||||
Where all my projects are listed.
|
||||
#&
|
||||
#+license: wtfpl
|
||||
#+startup: showall
|
||||
#&fullpage
|
||||
#&toc
|
||||
|
@ -14,7 +13,7 @@ Where all my projects are listed.
|
|||
|
||||
* Webcomic
|
||||
|
||||
My (not very active) webcomic is at [[http://suum.metanohi.name/]].
|
||||
My inactive webcomic is at [[http://suum.metanohi.name/]].
|
||||
|
||||
|
||||
* 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
|
||||
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
|
||||
|
||||
|
|
|
@ -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.
|
||||
#&
|
||||
#+startup: showall
|
||||
#+license: wtfpl
|
||||
|
||||
* Hacking
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#+title: Writings
|
||||
#+summary: A list of my writings
|
||||
#+license: wtfpl
|
||||
|
||||
* Writings
|
||||
|
||||
|
|
|
@ -26,8 +26,14 @@ from [[http://wtfpl.net/]]:
|
|||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||
#+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
|
||||
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
|
||||
it.
|
||||
|
||||
Some might not want to integrate WTFPL code into their project, but fuck them
|
||||
(okay, in practice I'll probably just relicense to BSD2 or BSD3 if necessary).
|
||||
Some people might not want to integrate WTFPL code into their project, but fuck
|
||||
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
|
||||
no matter what license they use. WTFPL is just for my own junk.
|
||||
|
@ -60,4 +67,4 @@ copyright was only for commercial use.
|
|||
* Previously
|
||||
|
||||
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
|
||||
#&summary
|
||||
A new spoken and written language in development.
|
||||
A new spoken and written language not in development.
|
||||
#&
|
||||
#+license: wtfpl
|
||||
#&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
|
||||
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
|
||||
|
||||
|
|
|
@ -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