Clean up website.

This commit is contained in:
2016-04-20 21:26:30 +02:00
parent 4cc2d533e9
commit 3d53073e1b
18 changed files with 61 additions and 481 deletions

View File

@@ -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.

View File

@@ -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

View File

@@ -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]]

View File

@@ -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]]

View File

@@ -3,7 +3,6 @@
Hackety hack.
#&
#+startup: showall
#+license: wtfpl
* Hacking

View File

@@ -1,6 +1,5 @@
#+title: Writings
#+summary: A list of my writings
#+license: wtfpl
* Writings

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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~.