1
0
Fork 0
mirror of https://github.com/fmap/muflax65ngodyewp.onion synced 2024-06-18 09:16:48 +02:00

removed rants

This commit is contained in:
muflax 2010-10-27 02:12:28 +02:00
parent 4f25b3d774
commit f67e2ce93f
16 changed files with 8 additions and 566 deletions

View file

@ -3,6 +3,9 @@
All major changes on the site
=============================
- 2010/10/27: Removed rants. This is part of a personal change, which will
trickle down, slowly, into the site.
- 2010/10/02: I wanted to condense all essential insights into one little
list, so I wrote my [Gospel of Muflax].
@ -21,7 +24,7 @@ All major changes on the site
- 2010/07/13: Notes on how I fixed my [Concentration] issues. Also, I filled
out PhilPapers' excellent [Philosophical Survey].
- 2010/05/28: New rant on why [Square Circles Exist].
- 2010/05/28: New rant on why *Square Circles Exist* (removed).
- 2010/04/26: Reworked the whole site, turning it into a proper site instead
of a rambling blog.
@ -32,8 +35,8 @@ All major changes on the site
*Argument from Spirituality*, a *Safer Use* section and changed my position
somewhat.
My [Rants] have now become an official part of the site (the internet wouldn't
work without unnecessarily strong opinions and emotions).
My *Rants* (removed) have now become an official part of the site (the
internet wouldn't work without unnecessarily strong opinions and emotions).
I rewrote and greatly extended my thoughts on Dennett's [Consciousness
Explained]. Yes, I'm finally done with the book.
@ -48,11 +51,9 @@ All major changes on the site
[vim]: /software/vim.html
[Philosophical Survey]: /reflections/survey.html
[Concentration]: /experiments/concentration.html
[Square Circles Exist]: /rants/square_circles.html
[Consciousness Explained]: /reflections/con_exp.html
[Determinism]: /reflections/determinism.html
[Poetry]: /poetry/
[Rants]: /rants/
[Good Sleep]: /experiments/sleep/good_sleep.html
[Speed Reading]: /experiments/speedreading.html
[Letting Go of Music]: /reflections/letting_go_of_music.html

View file

@ -50,18 +50,6 @@ Some of the stuff I wrote.
- [ashuku], a personal statistics tool
- [saneo], my keyboard layout
[Rants]
=======
The fuel of the internet.
- [Square Circles Exist], so stop using them as an argument!
- [Python], I hate your creeping dementia
- The [Singularity] is Very Far Away
- [Perl], we are finished
- [Game Design Sins], because the whole business is incompetent
- why [Neo 2] is retarded
[Changelog]: /changelog.html
[RSS]: /rss.xml
[Contact]: /about.html
@ -74,14 +62,6 @@ The fuel of the internet.
[Good Sleep]: /experiments/sleep/good_sleep.html
[Polyphasic Sleep]: /experiments/sleep/polyphasic_sleep.html
[Rants]: /rants
[Square Circles Exist]: /rants/square_circles.html
[Game Design Sins]: /rants/game_sins.html
[Python]: /rants/python.html
[Perl]: /rants/perl.html
[Singularity]: /rants/singularity.html
[Neo 2]: /rants/neo.html
[Reflections]: /reflections
[Philosophical Survey]: /reflections/survey.html
[Letting Go of Music]: /reflections/letting_go_of_music.html

View file

@ -1,155 +0,0 @@
% Game Design Sins
Recently, I've been reading a lot of stuff about game design and I even started
playing a few of the games that have been lying around here for positively ages
now (アウターワールド (originally Another World), SMB, Dig Dug 2, plenty of
stuff on the NDS). I started noticing a small set of Deadly Sins. If a game
commits one, it stinks. If the rest is done exceptionally well, it might still
be enjoyable, but there already is a bad aftertaste. Commit two or more and
it's hopeless. The game is shit. Interestingly, most of them apply to TV as
well.
Shut up already!
=================
Aka Navy syndrome aka All Players Are Retards. Never, ever tell me how to play
your game or how all that stupid stuff works or what I'm seeing. "Hey, I bet
you can JUMP up there!" "Hey Link, that's a VASE. You can TOUCH it and then
THROW it on the ground to SMASH it." Will you shut up already! I can figure it
out myself! If your game is so complicated that it needs half a college course
to get used to, then your design stinks. If you think I might be to stupid to
understand the simplest of concepts, then I don't anything to do with you. If
you fear I might miss some part of your awesome game and you need to explain
everything to me, then this might be because your game is shallow, stupid and
*boring*!
This applies to more than just gameplay. Ever heard of "show, don't tell"?
Doesn't look like it. Never use text (or worse: speech), when you can show.
Learn a thing or two from Half Life 2. Instead of telling me about oppression,
show it. You *could* go on hours and hours about your angst and loneliness, or
you *could* show me one woman desperately waiting at the train station for her
husband that will never come. One of the two approaches works, the other is
annoying. Can you tell which is which? Never explain and tell, when you can
imply and show.
Now, this doesn't mean "don't talk". I'm a pretty big fan of Planescape:
Torment and Arcanum and *boy* do these games talk. But what they have to say is
interesting. PS:T never explains any game mechanic. It never explains stuff to
you, the player (though it does explain a few things to the main character).
Many main plot points are never made explicit at all and lots of information
can be missed. If you are not actively looking for it, you might even miss 2
of the 3 classes your character can be. So "Shut up already" and 'talky" are
not opposites. But when you can do without words, do so.
Sure, take your time
=====================
Yeah, you have this awesome feature. Say, in your game, you can reverse time at
any point. Then it's a good idea to take it slow and don't give me this feature
or anything. Let me do a dozen or so tutorial levels first. And talk to me.
Maybe a nice, long intro. Or really long loading times. Anything goes, as long
as you can prevent the player from *actually enjoying your game*. I'm looking
at you, Braid. A couple of minutes before the first enemy, really?
When I play a game for the first time, I give it about 30, maybe 60 seconds.
During this time, something cool has to happen. If it doesn't, that's it. The
game is over, it's boring and it can bugger off. Mario's main skill is jumping.
How long does it take to jump? A couple of seconds, at most. You move a bit,
start running to the right, press a button and there it is. You jump. Or take
Another World. You get a short establishing shot of some research lab and the
character, 10 seconds later, some weird shit happens and you are sucked into a
parallel dimension. You don't know what the fuck is going on and without
warning materialize in a pool of water. If you don't react immediately, and you
won't because you will still try to figure out what is going on, a bunch of
tentacles grabs you and you are dead. Not even a minute in and already dead.
You continue, this time swimming up. A strange world awaits you and you are
attacked by a beast right away. From this moment on, you will be constantly on
the run, trying to survive. You are never given a chance to get bored. If it
weren't for the intro, I'd mention God of War, too. You are thrown right into
a battle and encounter your first boss within 2 minutes or so. That's how it
should be.
You know what? It's not enough for something cool to happen. I, the player,
must do something cool. Which brings me to the next sin.
Don't let me play the game
===========================
Take control away from me at any time you feel like it. Throw in a cutscene! Let
the character do something automatically that I could have done instead. Even
better, let another character do it for me! In a cutscene!
I get it. You are way cooler than I could ever be. It's for my own best if you
do all the awesome stuff and I just watch. Like in Oblivion, where the final
battle is fought between two NPCs in a cutscene. Don't get any of this hideous
game stuff in your movie, Mister Game Designer. It could be, you know, *fun*.
Big Numbers
===========
It's really important for any self-respecting game to have as many Big Numbers
as possible. You must have 16x anti-aliasing and anisotropic filtering, 50,000
polygons per character, not just one, but several layers of shaders and at least
10 different buttons and if you can count the number of axes on one hand, than
it's not enough and you need to throw in another analog stick. NOT.
Pick one
feature. Do this one feature well. SMB has 2 buttons and one D-pad.
Portal can do with 3 buttons (blue / orange portal and grab). If
you need much more than that, you are doing it wrong. If you think
that a top-notch graphics engine matters at all, you are doing it
wrong. Many designers seem to think that the less people can
actually play their game, the better. Especially PC games are
affected by this. Many modern games run on less than 1% of all
machines. That's, like, really smart. And don't even get me started
on DRM and digital distribution (read: renting games). But anyone
who thinks that publishing games on the PC is a good thing in the
first place must be insane.
I like buttons
==============
This is the one that I understand the least. Don't people *play* the games they
make? Then how come many are so cumbersome and slow to use? Buttons after
buttons, multiple seconds of blackout between each screen and a HUD that was
seemingly designed on LSD. The one that really annoys me right now is
Scribblenauts. If you want to change your avatar in the middle of the game, you
have to go through *5* menus and then go all the way back again. Fail a puzzle
and you have to not just watch the introduction again, but click away a pop-up,
too. Every. Single. Time. How do they test this? Didn't someone try to smash
their NDS after a week or so of playtesting and trying a puzzle over and over
again?
Rape the setting
================
To be fair, this sin is not as common as the other ones, but it's so horrible
that it is a complete deal breaker for me. I'm not talking about "Don't dare to
be different when working in an established franchise!" bullshit. What I mean is
the sheer lack of respect for what you are creating. A good example would be
Jade "make it Asian, but not *too* Asian" Empire. Or Fallout 3. Inconsistent
worlds that don't have any kind of respect for themselves. Throw in whatever
crap you can think of. Pile stereotype on stereotype. I don't want to drift into
a violent rant about constant sexism, racism and just plain ignorance about
anything, or offering "moral choices" that only a 3 year old could think of as
intriguing ("Do you want to be a *NICE GUY* or a *BIG MEANIE*?"), or making
characters expendable and "funny", or throwing in stuff because a market
analysis indicates that the target demography might want it (and not because you
like it or anything), or confusing violence with maturity, or..., so I'll stop
here.
Just... don't. I've played enough games that even /b/ couldn't have made more
stupid and offensive. Just stop it already, ok?
Bad Actors
===========
Voice acting. Nuff said. Bad writing is one thing (and not necessarily a show
stopper because games don't always need writing). But bad actors physically
hurt. In my paradise, I'm allowed to club 3 line-readers to death with a metal
reinforced Model M keyboard per day. I'm going to start with Bethesda, then work
through the entire JRPG genre and finally take out however voices the people in
FPS cutscenes. You guys make my ears bleed. Take some classes, seriously. You
*suck*. And insist on getting your lines in context, please, so that you can at
least pretend you could convey any emotion at all.

View file

@ -1,20 +0,0 @@
% Rants
Rants
=====
![angry_logo](/angry_logo.jpg)
The fuel of the internet.
- [Square Circles Exist], so stop using them as an argument!
- [Python], I hate your creeping dementia
- The [Singularity] is Very Far Away
- [Perl], we are finished
- [Game Design Sins], because the whole business is incompetent
- why [Neo 2] is retarded
[Square Circles Exist]: /rants/square_circles.html
[Game Design Sins]: /rants/game_sins.html
[Python]: /rants/python.html
[Perl]: /rants/perl.html
[Singularity]: /rants/singularity.html
[Neo 2]: /rants/neo.html

View file

@ -1 +0,0 @@
title: Rants

View file

@ -1,67 +0,0 @@
% Why NEO 2 is retarded
[Neo 2] claims to be an ergonomic keyboard layout. I have been using it until
about a month ago when I forked it and created my own layout, [saneo]. I don't
contend its claim as far as the letters are concerned. However, level 3 aka
Mod3, containing the punctuation characters, is totally fucked up. How fucked
up? Let me demonstrate.
First, let's get some data. What's a typical use for Mod3? Programming and
normal texts. I decided on analyzing C (representing curly-bracket languages),
Python (representing pseudo-code and list languages), my shell history and shell
files (representing Unix usage) and Perl (representing line noise).
Additionally, I included my local Usenet cache to represent normal texts. I took
several thousand files each and in the end averaged them all together.
Second, we do a little experiment. Say, if Neo 2 is actually ergonomically
optimized, we would expect the most frequent characters to be on the easiest to
reach positions. Of course, it depends a little on personal taste, keyboard form
and hand size how easy each position is, but let's go with the arrangement the
Neo devs chose for their letters.
If the layout is optimized, the most frequent letters and the most frequent
punctuation characters should be on the same physical keys. Let's see if this is
true. Here is a little table, showing the letters sorted by (German) frequency
and the corresponding Mod3 character. I've put the keys with "." and ","
according to their left-hand equivalent. Green means 5% or more, yellow down to
1.5% and the rest is red (which is often around .01%). Have a look.
![Teh Table](neo.png)
Great fucking job, guys. The 7 best keys get only 2 frequent characters. 6
frequent characters are in the middle of fucking nowhere. You decided to place
an obsolete character, the long S, that no one in my fucking news cache even
used *at all*, in a better position than **,**, **.**, **"**, **'**[^3] and
**\#**, which together make up a good **40%** of all punctuation. [^0]
The one character that is more frequent in many cases than any letter except the
friggin' E, and more frequent than 2/3 of the letters in general, the
underscore, isn't even anywhere near a good position.[^1]
Way to go, Neo, way to go.[^2]
[^0]: Some of the reasoning behind this is that any Mod1 key is
easier to reach than any Mod3 key. If you think that Mod3+N is harder to
type than Ö, then I wouldn't let you design *a wooden stick* because it
seems your brain is barely able to use
2 fingers at the same time.
[^1]: "But I don't program! I rarely need an underscore!" But you constantly use
curly brackets, more often than any other bracket?!
[^2]: To be fair, it's impossible to optimize for punctuation-heavy
curly-bracket languages and normal text at the same time. However, this
half-assed mess makes it hard for *both* groups. That's clearly not a good
solution. I chose to optimize for the programming languages because a) I use
them more and b) they tend to be so rich in punctuation that they simply
overshadow normal text.
[^3]: Which are not even normal punctuation, if the Neo devs weren't so
inconsistent in their design. If you want to follow official guidelines (but
only prescriptionist dipshits would want to), you should use the German
quotation marks „ and “, and the proper accent . Which are even harder to
reach. Which makes the whole thing even more retarded.
[Neo 2]: http://neo-layout.org/
[saneo]: /software/saneo.html

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View file

@ -1,25 +0,0 @@
% Perl
Perl, we're finished. I want nothing to do with you, ever again.
I'd like to say "It's not you; it's me.", but this wouldn't be true. It *is*
you. You just suck beyond reason, suck more than I could have ever imagined.
You know, Perl. It's the year 2010. Unicode is almost 20 years old. Do you speak
it? Of course not. So why do you pretend you do?
You lie to me. "man perlretut" tells me:
> \\w matches a word character (alphanumeric or \_), not just [0-9a-zA-Z\_] but
> also digits and characters from non-roman scripts
But you don't. "\\w+" doesn't match any Japanese string whatsoever. Not even
"Freischütz". Like, really.
I tell you, explicitely, to use Unicode. You don't. You match what the fuck you
want to match. You really don't care at all.
Nor can you handle Unicode in a string anyway. You don't understand how long it
is. Or how to print it correctly. Or how to split it. Nothing.
Perl, it's over. I'm leaving. And I'm not coming back.

View file

@ -1,127 +0,0 @@
% Stuff I hate about Python
Python may be my favorite language, but there sure are some things seriously
wrong with it.
(This is all Python 3.1 code, unless otherwise noted.)
Discordianism
=============
I thought a bit about which programming language is the most Discordian one, and
it must be Python. "Python?! Python is clear and precise, how can it be
Discordian?! Shouldn't it be something like Brainfuck, or Malbolge, or PHP?" No,
those are simply evil. They are, in Discordian lingo, destructive chaos. But a
proper Discordian language must be creatively chaotic, instead. Instead of just
screwing up because of incompetence or malice, it needs to actively take apart
order to achieve something greater.
"So why not Perl, or maybe Ruby? They sure have a culture that looks very
Discordian." True, but that's exactly the problem: you can not mindfuck someone
if they are _expecting_ it. A [Bavarian Fire Drill] doesn't work if you prepare
people for it. It works only _because_ it is a completely legit action in
_absolutely the wrong context_.
And that's why you need a language that pretends to be serious and orderly, but
that can also go all Eris on your ass. Like Python. Lemme show you them:
> GP: Is Eris true?
> M2: Everything is true.
> GP: Even false things?
> M2: Even false things are true.
> GP: How can that be?
> M2: I don't know man, I didn't do it.
> -- [Principia Discordia]
In Python 2.x, you can do:
~~~ {.python}
True = False
# This enables us to do:
if True:
print "All Hail Eris!"
if False:
print "And Ewige Blumenkraft!"
~~~
Even more fun, add a little
~~~ {.python}
True, False = False, True
~~~
to your code and enjoy the confusion and self-doubt the next maintainer will
face! (Or add it to your own code while drunk, making sure to forget about it
afterwards!)[^haskell]
[^haskell]: On the other hand, there's Haskell, which allows you to redefine
functions in a context, so that you can have
~~~ {.haskell}
let 2 + 2 = 5
~~~
, which is very Orwellian indeed.
Pokemon-Speak
=============
What I mean is stuff like this:
~~~ {.python}
import datetime
d = datetime.datetime(2012, 12, 21)
now = datetime.datetime.now()
dt = (d - now).days
print("Only {} days left until the end of the world!".format(dt))
~~~
Sure, I can abbreviate it, but that obfuscates the code somewhat. Related to
this is the explicit _self_. I mean, seriously? Sure, it makes it clear what you
are calling, but still, stuff like this really gets on my nerves:
~~~ {.python}
def make_website(self):
self.make_html_files(self.src, self.dst)
self.make_css_files(self.src, self.dst)
self.upload(self.ftp)
~~~
Half that code is just pure noise!
Long Code is Long
=================
"There should be one - and preferably only one - obvious way to do it." leads to
some seriously overlong code sometimes. I mean, the shortest way to check
whether a file is newer than another is this:
~~~ {.python}
import datetime, os
def a_newer_than_b(a, b):
return (datetimet.datetime.fromtimestamp(os.stat(a).st_mtime)
> datetimet.datetime.fromtimestamp(os.stat(b).st_mtime))
~~~
This is a bad joke. In Perl, you do "if ($a -ot $b) {...}". Why can't I have
something just as simple?
Another good example is some list comprehension inconsistency. I can do:
~~~ {.python}
l = [x for x in haystack if isinstance(x, Needle)]
~~~
, but I can't do:
~~~ {.python}
for f in files if os.path.exists(f):
mangle(f)
~~~
Why not?
[Bavarian Fire Drill]: http://s23.org/wiki/Bavarian_Fire_Drill
[Principia Discordia]: http://www.principiadiscordia.com/book/6.php

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

View file

@ -1,108 +0,0 @@
% The Singularity is Near!
The Singularity is Near! (and alle so: yeah...)
===============================================
Science fiction is dead to me. I can not stand the weak ethics, ridiculous
predictions, massive biases and total disconnect with science since at least 50
years any more. At first, that depressed me a little. Losing a whole genre is
always tragic, but I have survived the death of horror; I will make it without
science fiction, too. But actually, I found something to replace it with:
Futurology! In fact, retro-futurology. Find some futurologist, at least some
years old, and compare their vision of the future with now - it will be
hilariously wrong! No exceptions. Kurzweil is amazing in that he is wrong even
after only half a decade! Clarke at least is sometimes correct when predicting
stuff half a century away, but Kurzweil couldn't even design a five-year-plan
for a socialist utopia. He even gets his own data wrong in determining the date
for the singularity. That's mind-boggling. It's really takes a special kind of
intelligence to be so stupid. Based on [JBR]'s scoring system, I'll award
between 0 to 1 point per prediction, depending on how good it was. Of course, I
only rate predictions that can already be judged (and exclude those that are so
vacuus that they don't say anything at all, like "The rate of paradigm shift
(technical innovation) is accelerating, right now doubling every decade.").
"Partially borrowed" from Wikipedia.
[JBR]: http://www.xibalba.demon.co.uk/jbr/retro/
1. "We will have the requisite hardware to emulate human intelligence with
supercomputers by the end of this decade." Not even a single component of
the brain can be emulated. 0 points.
2. "Automatic Speech-Recognition Software with good accuracy in 2000." Muahaha.
This one is a postdiction and yet, "good"? Yeah, right. Well, it isn't
entirely awful, but "good"?! 0.5 points.
3. "Computers will start to disappear as distinct physical objects, meaning
many will have nontraditional shapes or will be embedded in clothing and
everyday objects." No. I still don't have a fridge that orders new milk and
I've been promised one since I was born! 0 points.
4. "Full-immersion audio-visual virtual reality will exist." No. In fact,
entertainment systems are rapidly moving away from "immersion" (thank
gods!). As far as I know, there isn't any full-immersion for training
purposes either. 0 points.
5. "Glasses that beam images onto the users' retinas to produce virtual reality
will be developed." Alright, "developed" is correct, but in actual use?
Personally, I expect VR to be integrated into phones instead. 0.5 points.
6. "Real-time language translation in which words spoken in a foreign language
would be translated into text that would appear as subtitles to a user
wearing the glasses." Muahahaha! The smartest company on the planet, Google,
can't even correctly generate subtitles in the *same* language. 0 points.
7. "Cell phones will be built into clothing and will be able to project sounds
directly into the ears of their users." Yeah, right. 0 points.
8. "Exoskeletal, robotic leg prostheses allow the paraplegic to walk." Ok,
prototypes exist and work well. The reason they are still rare isn't so much
the robot, but rather the energy source. 1 point.
9. "Telephone calls are routinely screened by intelligent answering machines
that ask questions to determine the call's nature and priority." If only! 0
points.
10. "'Cybernetic chauffeurs' can drive cars for humans." Even humans can't drive
well, but robots are going to do it before they have mastered *vision*?!
That's... optimistic. 0 points.
11. "The classroom is dominated by computers." No, just no. Laptops might have
replaced paper notebooks by now, but it's very rare for a teacher to be even
aware of useful software, like SRS. 0 points. Personal prediction: this
won't be true, ever. School will go extinct before teachers apply science to
their job.
12. "A small number of highly skilled people dominates the entire production
sector." Yes and no. Specialization is going strong, but companies are also
larger than ever. 0.5 points.
13. "Tailoring of products for individuals is common." To a degree and for a
price, yes. 0.75 points.
14. "Drugs are designed and tested in simulations that mimic the human body."
Nope. This is impossible *in principle*. You can only simulate what you
understand well; understanding by simulation is a contradiction in terms.
You must know the detailed rules of a system to simulate it well (small
derivations will often lead to largely different results), but then you
already understand it. 0 points.
15. "Blind people navigate and read text using machines that can visually
recognize features of their environment." Nope. Unless you count "dogs" as
machines. Because, face it, that's how good you have to be to compete on
this market. 0 points.
16. "PCs are capable of answering queries by accessing information wirelessly
via the Internet." 1 point.
17. "By 2020, there will be a new world government." While there is still some
time, just think of all the paperwork! The UN is breaking apart, the EU is
becoming irrelevant and there aren't any two superpowers speaking with each
other. I think we can judge this one. 0 points.
Alright, that's about it. 3.75 out of 17. I especially like that he is still
convinced that translation software is *just around the corner*. Yes, futurology
will fill the void left by science fiction nicely. \*chuckles\*
Holy Cow!
========
I studied Kurzweil's analysis a bit more in-depth and finally realized - by
gods, the man is right! If you plot major milestones, you can clearly see a
trend! Unfortunately, Kurzweil's plot is a little outdated and some details are
wrong, so I updated it. Here is his version:
![Singularity](singularity.jpeg)
Here is the fixed version:
![Sincowlarity](selection-2010-03-04112119.png)
I can see it now! The Sincowlarity is near! Transbovines are already emerging!
![Transbovine](transbovine.jpg)
Kurzweil, you are a genius!

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -1,36 +0,0 @@
% Square Circles Exist
Please, for the love of gods, stop using this phrase. *Please*. Like in, "Can an
omnipotent god create even logically impossible things, like a square circle?"
or something like that. Because the metaphor is **wrong**. And I'm gonna show this
by drawing you a square circle.
![a square circle](square.png)
"But wait, this is just a square? It's clearly not a circle." Are you sure? *In
what world?*
First, let's see the definition of what a square and a circle actually *are*.
A **circle** is a shape on a plane[^plane] consisting of all points which are of the
same distance from a given point, called the center. A **square** is a shape on
a plane with 4 equal sides and 4 equal angles.
And now comes the crucial point: the world I drew this in is **[Nethack]**. Yes,
Nethack. You see, Nethack's world behaves pretty much like any grid you would
expect, but there is one tricky aspect - distance works different than you might
think. The thing is, *all* 8 fields around any given field are defined as being
at the distance of 1. All 16 fields surrounding *those* are at a distance of 2
from the center and so on. In other words, a diagonal move is the same distance
as a horizontal or vertical move.
So the shape I drew clearly has 4 sides, at equal angles. It's a square. And all
it's 8 points are 1 field away from the center, thus forming a circle. It's a
square circle. It doesn't require omnipotence to make one.
[^plane]:
Those definitions can be generalized to spaces beside planes, making a
3-dimensional sphere a circle as well. This is, however, irrelevant to my
point.
[Nethack]: http://en.wikipedia.org/wiki/Nethack

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View file

@ -1,6 +1,7 @@
% saneo - putting the sane back into Neo
As outlined in my [rant], [Neo 2] sucks. So I designed my own keyboard layout.
I was kinda (read: a lot) unhappy with my old keyboard layout, [Neo 2]. So I
designed my own keyboard layout.
Design Principles
=================
@ -64,4 +65,3 @@ characters and the rest is mostly spam. ;)
[github]: http://github.com/muflax/saneo
[Neo 2]: http://neo-layout.org/
[rant]: /rants/neo.html