A lot of projects ported from the old metanohi site.
|
@ -10,10 +10,8 @@ import mege.git as git
|
|||
import mege.misc as misc
|
||||
|
||||
|
||||
def download_prog(root, fname):
|
||||
return ''
|
||||
|
||||
def list_pages(pathdir):
|
||||
def list_pages(pathdir=None):
|
||||
pathdir = misc.macrog('pathdir', pathdir)
|
||||
dl = htmlfunc.DefList()
|
||||
fs = [(p if os.path.isfile(p) else os.path.join(
|
||||
p, 'index.org'), f, f[:-4] if os.path.isfile(p) else f + '/') for p, f in filter(
|
||||
|
|
|
@ -41,7 +41,7 @@ set_min_height = function() {
|
|||
metadiv.style.width = (contentdiv.offsetWidth - 42) + 'px';
|
||||
contentdiv.style.paddingBottom = h + 'px';
|
||||
|
||||
h = wh - h - menudiv.offsetHeight - 145;
|
||||
h = wh - h - menudiv.offsetHeight - 165;
|
||||
contentdiv.style.minHeight = h + 'px';
|
||||
};
|
||||
|
||||
|
|
|
@ -304,14 +304,14 @@ del {
|
|||
}
|
||||
|
||||
hr {
|
||||
margin: 4px 0;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
|
||||
/* Lists */
|
||||
|
||||
ul, ol {
|
||||
margin-bottom: 4px;
|
||||
margin-top: 5px;
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
|
@ -370,7 +370,7 @@ dl > dl {
|
|||
/* Tables */
|
||||
|
||||
table {
|
||||
margin: 0 auto;
|
||||
margin: 5px auto;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
|
@ -529,7 +529,11 @@ div.left-float, img.left-float, video.left-float, audio.left-float {
|
|||
border: 1px outset black;
|
||||
}
|
||||
|
||||
.note p, .warning p {
|
||||
.notice {
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
.notice p, .note p, .warning p {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<!--@exec
|
||||
if page.is_dynamic:
|
||||
page.title = run_macros(page.title)
|
||||
page.summary = run_macros(page.summary)
|
||||
@--><?xml version='1.0' encoding='utf-8'?>
|
||||
|
@ -88,7 +89,7 @@ for x in('projects', 'writings', 'about', 'sitemap'):
|
|||
<!--@eval run_macros(page.metadata_html)@-->
|
||||
<!--@exec
|
||||
if page.is_dynamic:
|
||||
print("<p><a href='{}'>View source</a></p>".format(page.sourcepath), end='')@-->
|
||||
print("<p><a href='{}' rel='nofollow'>View source</a></p>".format(page.sourcepath), end='')@-->
|
||||
</div>
|
||||
</div>
|
||||
<div id='logo'>
|
||||
|
|
22
rules.mege
|
@ -31,17 +31,17 @@ redirect {eonaton,projects/eonaton} http://projects.metanohi.name/eonaton/
|
|||
redirect {evolution,projects/evolution} http://projects.metanohi.name/evolution/
|
||||
redirect {snake,projects/snake} http://projects.metanohi.name/snake/
|
||||
redirect {words,projects/words} http://projects.metanohi.name/words/
|
||||
redirect {projects/{cln,cli},cln,cli} http://old.projects.metanohi.name/cln/
|
||||
redirect {cln,cli} projects/cln/
|
||||
redirect writings/Na.html writings/na
|
||||
redirect writings/digital-sikring.html writings/digital-sikring
|
||||
|
||||
redirect bsq http://old.projects.metanohi.name/bsq/
|
||||
redirect gt3000 http://old.projects.metanohi.name/gt3000/
|
||||
redirect {algo,algohol} http://old.projects.metanohi.name/algo/
|
||||
redirect dsktp http://old.projects.metanohi.name/dsktp/
|
||||
redirect jap http://old.projects.metanohi.name/jap/
|
||||
redirect pedro http://old.projects.metanohi.name/pedro/
|
||||
redirect snowman http://old.projects.metanohi.name/snowman/
|
||||
redirect sq http://old.projects.metanohi.name/sq/
|
||||
redirect webcli http://old.projects.metanohi.name/webcli/
|
||||
redirect x http://old.projects.metanohi.name/x/
|
||||
redirect bsq http://projects.metanohi.name/bsq/
|
||||
redirect gt3000 http://projects.metanohi.name/gt3000/
|
||||
redirect {algo,algohol} http://projects.metanohi.name/algo/
|
||||
redirect dsktp http://projects.metanohi.name/dsktp/
|
||||
redirect jap http://projects.metanohi.name/jap/
|
||||
redirect pedro http://projects.metanohi.name/pedro/
|
||||
redirect snowman http://projects.metanohi.name/snowman/
|
||||
redirect sq http://projects.metanohi.name/sq/
|
||||
redirect webcli http://projects.metanohi.name/webcli/
|
||||
redirect x http://projects.metanohi.name/x/
|
||||
|
|
|
@ -4,5 +4,8 @@ cd ~/www/meta/nohi
|
|||
|
||||
git commit -a
|
||||
|
||||
git push
|
||||
|
||||
ssh webserverhost 'cd www/meta/nohi/scripts; ./hook_new.sh'
|
||||
|
||||
mege restart
|
||||
|
|
After Width: | Height: | Size: 2.8 KiB |
|
@ -77,3 +77,7 @@ Click to go to fullsize image.
|
|||
#&img;url=img/scr2.png,width=300,float=left,noclear,medlink,caption=Projects page
|
||||
#&img;url=img/scr3.png,width=300,float=left,noclear,medlink,caption=CSS fun
|
||||
|
||||
** Language
|
||||
|
||||
metanohi is only available in English.
|
||||
|
||||
|
|
|
@ -4,6 +4,13 @@
|
|||
* Licenses of media
|
||||
|
||||
| Path | License |
|
||||
|------+---------|
|
||||
| u | a |
|
||||
|---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [[/img/licenses/]]~cc*~ | CC BY [[http://creativecommons.org][creativecommons.org]] |
|
||||
| [[/img/licenses/]]~*gpl.png~ | See [[http://www.gnu.org/graphics/license-logos.html]] |
|
||||
| [[/img/licenses/]]~freecontent.*~ | Public domain |
|
||||
| [[http://projects.metanohi.name/bsq/Cerebral_lobes.png]] | Image released under GFDL 1.2 or any later version. Author unknown. See [[http://commons.wikimedia.org/wiki/File:Cerebral_lobes.png]]. |
|
||||
| [[http://projects.metanohi.name/bsq/Cerveau_anime.gif]] | Image released under GFDL 1.2 or any later version. Author: modifié par Azariel. See [[http://commons.wikimedia.org/wiki/File:Cerveau_animé.gif]]. |
|
||||
| [[http://projects.metanohi.name/bsq/Friendly_stickman.png]] | Image released under WTFPL 2.0. |
|
||||
| [[http://projects.metanohi.name/x/img/linux.png]] | Image copyright of Larry Ewing, Simon Budig and Anja Gerwinski. See [[http://commons.wikimedia.org/wiki/File:Tux.svg]]. |
|
||||
| [[http://projects.metanohi.name/x/img/textsize.png]] | Public domain |
|
||||
|
||||
|
|
|
@ -102,3 +102,8 @@ YFvSXaEGu8s=
|
|||
=ASfw
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** Misc.
|
||||
|
||||
#&img;url=img/fsfmember.png, medlink=http://www.fsf.org/associate/support_freedom/join_fsf?referrer=8085
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#+title: aeltei
|
||||
#&summary
|
||||
A curses frontend for fluidsynth
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: agpl 3+, program
|
||||
|
||||
* aeltei
|
||||
|
||||
aeltei is a virtual multi instrument environment. [[aeltei-0.1.0.tar.gz][Download]].
|
||||
|
||||
aeltei can also be found in the [[http://pypi.python.org/pypi/aeltei][Python Package Index]].
|
||||
|
||||
aeltei has its code at Gitorious; see [[http://gitorious.org/aeltei][http://gitorious.org/aeltei]].
|
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 289 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 197 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 199 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 436 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 254 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 309 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 678 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 257 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 159 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 365 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 353 KiB |
|
@ -0,0 +1,19 @@
|
|||
#+title: alart images
|
||||
#&summary
|
||||
Art from alart
|
||||
#&
|
||||
#+license: cc0
|
||||
#&fullpage
|
||||
|
||||
* alart images
|
||||
|
||||
Click on the images to go to their SVG versions.
|
||||
|
||||
#++exec
|
||||
#+BEGIN_SRC python
|
||||
root = misc.macrog('pathdir')
|
||||
for f in os.listdir(root):
|
||||
if os.path.isfile(os.path.join(root, f)) and f.endswith('.png'):
|
||||
base = f[:-4]
|
||||
print("<a href='{base}.svg'><img src='{base}.png' alt='{base}' /></a>".format(base=base))
|
||||
#+END_SRC
|
|
@ -0,0 +1,25 @@
|
|||
#+title: alart
|
||||
#&summary
|
||||
A pseudo-random art generator
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: gpl 3+, program
|
||||
|
||||
* alart
|
||||
|
||||
#&img;url=images/art0.png, alt=art, center
|
||||
|
||||
alart is a pseudo-random art generator. It generates silhouettes.
|
||||
|
||||
#&+large,center,classes=notice
|
||||
[[images/][See example art]].
|
||||
#&
|
||||
|
||||
alart is licensed under the GNU General Public License, version 3 or any later
|
||||
version. The current version of alart is 0.1.0 (codename: "Ablaze").
|
||||
|
||||
[[alart-0.1.0.tar.gz][Download gzipped tarball]].
|
||||
|
||||
alart can also be found in the [[http://pypi.python.org/pypi/alart][Python Package Index]].
|
||||
|
||||
alart has its code at Gitorious; see [[http://gitorious.org/alart][http://gitorious.org/alart]].
|
|
@ -0,0 +1,25 @@
|
|||
#+title: Alp
|
||||
#&summary
|
||||
A new time unit and a Python library/command-line utility
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: gpl 3+, program
|
||||
|
||||
* The Alp Project
|
||||
|
||||
The Alp is a new time unit. It is superior to the traditional units in many
|
||||
ways. It is, however, too complex to be explained in a short amount of space.
|
||||
|
||||
** Documentation and examples
|
||||
Currently, [[alp-documentation-0.1.0.pdf][this PDF file]] is the documentation. Alp documentation has a git
|
||||
repository at Gitorious: see [[http://gitorious.org/Alp-doc][http://gitorious.org/Alp-doc]].
|
||||
|
||||
** Software
|
||||
You can download the newest Alp program (v0.1.1, both a command-line utility
|
||||
and a Python library, released under the GPLv3+) [[Alp-0.1.1.tar.gz][here]] (older versions: [[Alp-0.1.0.tar.gz][0.1.0]].
|
||||
|
||||
Alp software can also be found in the [[http://pypi.python.org/pypi/Alp][Python Package Index]].
|
||||
|
||||
Alp software also has a git repository at Gitorious: see
|
||||
[[http://gitorious.org/Alp][http://gitorious.org/Alp]].
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
@ -0,0 +1,121 @@
|
|||
#+title: an5w
|
||||
#&summary
|
||||
A PHP script for simple surveys
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: wtf, program
|
||||
|
||||
* an5w
|
||||
#&img;url=art.png,title=Hmm..
|
||||
|
||||
an5w (pronounced "answ" as in "answer") is a simple PHP program for creating
|
||||
online surveys. It consists of just two PHP files, one that serves the user and
|
||||
one that shows the answers.
|
||||
|
||||
** Download
|
||||
|
||||
[[an5w.tar.gz][Here]]
|
||||
|
||||
** Documentation
|
||||
You will not find any documentation in the an5w tarball --- not even a single
|
||||
readme. When you've extracted the an5w directory from the tarball, put it in a
|
||||
place your webserver recognizes. That should work.
|
||||
|
||||
The code has no comments, basically because it's scaringly simple and extremely
|
||||
short. an5w is released under the WTFPL&acro='Do What The Fuck You Want To
|
||||
Public License', as published by Sam Hocevar [[http://sam.zoy.org/wtfpl/][here]].
|
||||
|
||||
A raw an5w directory has the following files and directories (*answers*
|
||||
and *art* are directories):
|
||||
|
||||
#&pre
|
||||
*answers* button footer
|
||||
*index.php* style.css wrapper art done header *questions* title
|
||||
#&
|
||||
|
||||
However, only the ones in bold are actually necessary. You can remove
|
||||
the rest without an5w failing. In the 'answers' directory, it's the same:
|
||||
|
||||
#&pre
|
||||
*index.php* style.css
|
||||
#&
|
||||
|
||||
Again, only the bold ones are needed. In this case, you only need 'index.php'.
|
||||
|
||||
*** Description of files
|
||||
|
||||
#++pre
|
||||
#+BEGIN_SRC
|
||||
answers/index.php:
|
||||
The program that shows answers
|
||||
|
||||
answers/style.css:
|
||||
CSS styles
|
||||
|
||||
button:
|
||||
The text of the submit button. Default is "Submit".
|
||||
|
||||
footer:
|
||||
Text to display on the bottom of the page. Default is nothing.
|
||||
|
||||
index.php:
|
||||
The main program
|
||||
|
||||
style.css:
|
||||
CSS styles
|
||||
|
||||
wrapper:
|
||||
The HTML element(s) that wrap everything else. Default is
|
||||
"<div id='wrapper'>TEXT</div>\n" (where TEXT is the actual content).
|
||||
|
||||
art/art.xcf:
|
||||
Promotional question marks
|
||||
|
||||
art/art-small.png:
|
||||
Promotional question marks in mini version
|
||||
|
||||
done:
|
||||
Text to display when the survey has been completed.
|
||||
|
||||
header:
|
||||
Text to display on the top of the survey page.
|
||||
|
||||
questions:
|
||||
The actual questions. See the *markup* section below.
|
||||
|
||||
title:
|
||||
The title of the survey. Will only be displayed on the titlebar of the page.
|
||||
#+END_SRC
|
||||
|
||||
*** Markup
|
||||
The syntax used in the 'questions' file is really quite simple. It looks like
|
||||
this:
|
||||
|
||||
#&pre
|
||||
Question
|
||||
Type of input (in form of text, multiple choices, etc.)
|
||||
|
||||
Another question
|
||||
Type of input
|
||||
#&
|
||||
|
||||
An example:
|
||||
|
||||
#&pre
|
||||
To what extent do you get annoyed when people attack you with pencils?
|
||||
[]
|
||||
|
||||
Why are cows unable to fly (in your own opinion)?
|
||||
[]
|
||||
#&
|
||||
|
||||
Currently (as of version 0.001), only the '[]' input type is supported. '[]' =
|
||||
<textarea>.
|
||||
|
||||
A question can only take up one line. If you need a newline, use a <br /> tag
|
||||
instead.
|
||||
|
||||
To see answers, just visit answers/index.php in your web browser.
|
||||
|
||||
*** Details
|
||||
an5w does not store data a database. It uses text files.
|
|
@ -0,0 +1,86 @@
|
|||
▄▄▄▄▄ ▀ ▄ █ ▄█▀█▄ ▀▀▄ ▀▀█▀▀ ▄▀▀▀▀█
|
||||
█ █ ▄▄▄ ▄▄█▄▄ ▄▄▄ █ █ █ █ █ █ █
|
||||
█▄▄▄▄▀ █ █ █▀ ▀█ █ █▄ ▄█ █ █ ▄▀▀▀▀█
|
||||
█ █ █ █ █ █ █ ▀▀▀ ▀▀█▀▀ ▀▀▀ █ █
|
||||
█▄▄▄▄▀ ▄▄█▄▄ ▀▄▄ ▀█▄█▀ █ ▀ ▄ ▀▀▀▀▀
|
||||
|
||||
|
||||
Bito is a programming language that aims to be easy to work with. Bito only
|
||||
accepts ones and zeroes. All other characters will be ignored. A command in
|
||||
Bito consists of two parts, the first part consisting of 1 bit and the second
|
||||
part consisting of three bits. All first parts must be written from left to
|
||||
right, while all last parts must be written from right to left. A last part
|
||||
consisting of 011 must thus be written 110.
|
||||
Bito saves data in a list containing an infinite numbers of memory cells. A
|
||||
cell can hold only any number above or equal to 0. There are no limits on how
|
||||
large numbers can be.
|
||||
|
||||
Tip: Writing comments with ones and zeroes will make code more difficult to
|
||||
understand. Try to replace ones with uppercase "i"s and zeroes with
|
||||
uppercase "o"s.
|
||||
|
||||
Available commands:
|
||||
0 xxx Append xxx to current memory cell (as a string)
|
||||
1 000 Print current number
|
||||
1 001 Print current number as ASCII
|
||||
1 010 Increment memory cell index
|
||||
1 011 Decrement memory cell index
|
||||
1 100 Start loop
|
||||
1 101 Restart or end loop
|
||||
1 110 Add value of previous cell to current cell (as an integer)
|
||||
1 111 Write input from stdin to next cells and write length to current cell
|
||||
|
||||
Trying to print an unset number will result in an error. Trying to print a
|
||||
number not in the ASCII range as ASCII text will also result in an error.
|
||||
Loops will run the times specified by the current cell. If the value of the
|
||||
current cell is either unset, 0 or 1, the loop will run only once, i.e. it will
|
||||
not act as a loop. Specifying the value 2 or above will thereby make it a loop.
|
||||
Because infinite loops are not possible in Bito, Bito does not suffer from the
|
||||
Halting Problem.
|
||||
Ending a loop when no loop has been started will not result in an error, nor
|
||||
will starting a loop without ending it do so (though the loop will, in those
|
||||
cases, not function as a loop). Also, nested loops cannot exist. When a loop
|
||||
has been started, all subsequent attempt to start a new loop will be ignored,
|
||||
until the loop has ended.
|
||||
Trying to add the value of a previous cell to the current cell will result in
|
||||
an error if the current cell is unset. If a previous cell is unset, its value
|
||||
is -1, which makes it ideal for use in subtracting numbers.
|
||||
|
||||
How to print an "N" (ASCII 78, binary ASCII 1001110):
|
||||
Short version:
|
||||
0001100011100100
|
||||
Long version:
|
||||
0 Current cell: OOI
|
||||
0 Current cell: OOIOOI
|
||||
0 Current cell: OOIOOIIIO (i.e. IOOIIIO)
|
||||
1 Print ASCII 78 (N)
|
||||
100
|
||||
011
|
||||
100
|
||||
100
|
||||
|
||||
Saving ones and zeroes as ASCII is meaningless, as it takes up much more space
|
||||
than needed. It is therefore recommended to convert every 8 characters into a
|
||||
byte. This will greatly reduce filesizes. If the number of characters in a file
|
||||
isn't directly dividable with 8 (4, 12, 132, etc.), just append a command that
|
||||
does not affect the the script too much -- like ending a loop (1 101). If this
|
||||
command is called outside a loop, nothing will happen.
|
||||
The above N-printing program would, in byte-form, take up two bytes instead of
|
||||
its current 16 bytes. It would save the first byte with 24 as its value and the
|
||||
second byte with 224 as its value (this is theoretically speaking -- as
|
||||
compressed Bito files are basically still text files, it is normal to have a
|
||||
newline character appended at the end of a file).
|
||||
|
||||
To run Bito programs, you can use the bitopret.py interpreter found in the
|
||||
'interpreter' directory. This interpreter also functions as a Bito file packer,
|
||||
i.e. it can compress Bito files.
|
||||
You will find a set of example programs in the 'examples' subdirectory.
|
||||
|
||||
|
||||
The Bito programming language was created by Niels Serup (metanohi.org). You
|
||||
can contact Niels a <ns@metanohi.org>.
|
||||
Updates to Bito are likely to appear at <http://metanohi.org/projects/bito/>.
|
||||
|
||||
This readme was written by Niels and was put into the public domain by him.
|
||||
Date: 27 July 2009
|
||||
|
After Width: | Height: | Size: 82 KiB |
|
@ -0,0 +1,691 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="154"
|
||||
height="60"
|
||||
id="svg3029"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="bito-logo.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/niels/Programming/Esoteric/Bito/bito-logo.png"
|
||||
inkscape:export-xdpi="344.80521"
|
||||
inkscape:export-ydpi="344.80521">
|
||||
<defs
|
||||
id="defs3031">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective3037" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.4805195"
|
||||
inkscape:cx="77"
|
||||
inkscape:cy="30"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="mainlayer"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1255"
|
||||
inkscape:window-height="975"
|
||||
inkscape:window-x="24"
|
||||
inkscape:window-y="0" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="mainlayer"
|
||||
font-size="10"
|
||||
style="font-size:10px;font-family:monospace"
|
||||
transform="translate(2.5,-20)">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.65052413999999992px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#51797a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono;opacity:0.9"
|
||||
x="-2.8715544"
|
||||
y="26.73325"
|
||||
id="text3210"
|
||||
transform="scale(1.0527564,0.9498873)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="26.73325"
|
||||
id="tspan3254">00100010001000100010001001001000</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="36.296406"
|
||||
id="tspan3283">10001000100010001001111110110110</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="45.859558"
|
||||
id="tspan3285">01100011011000100001001000101010</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="55.422714"
|
||||
id="tspan3287">01100010001101100010001101100010</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="64.98587"
|
||||
id="tspan3289">11110110001000110101000000101011</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="74.549026"
|
||||
id="tspan3291">10101000101111011000100100111000</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="-2.8715544"
|
||||
y="84.112183"
|
||||
id="tspan3293">10001101100010001001100010100001</tspan></text>
|
||||
<g
|
||||
id="g4065"
|
||||
style="fill:#69578b;fill-opacity:1">
|
||||
<g
|
||||
style="opacity:0.84999999999999998;fill:#69578b;fill-opacity:1"
|
||||
transform="matrix(1.1476463,0,0,1.1554864,-2.6476463,-12.283424)"
|
||||
id="g2947">
|
||||
<rect
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="48.5"
|
||||
width="6"
|
||||
height="10"
|
||||
id="rect193" />
|
||||
<rect
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="58.5"
|
||||
width="6"
|
||||
height="10"
|
||||
id="rect249" />
|
||||
<rect
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="68.5"
|
||||
width="6"
|
||||
height="10"
|
||||
id="rect305" />
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="1.0976562"
|
||||
y="36.5"
|
||||
id="text453">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="7.0976562"
|
||||
y="36.5"
|
||||
id="text455">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="13.097656"
|
||||
y="36.5"
|
||||
id="text457">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="19.097656"
|
||||
y="36.5"
|
||||
id="text459">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="25.097656"
|
||||
y="36.5"
|
||||
id="text461">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="36.5"
|
||||
id="text463">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="79.305992"
|
||||
y="36.5"
|
||||
id="text465">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="1.0976562"
|
||||
y="46.5"
|
||||
id="text467">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="31.097654"
|
||||
y="46.5"
|
||||
id="text469">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="43.097656"
|
||||
y="46.5"
|
||||
id="text471">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="49.097656"
|
||||
y="46.5"
|
||||
id="text473">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="46.5"
|
||||
id="text475">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="67.305992"
|
||||
y="46.5"
|
||||
id="text477">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="73.305992"
|
||||
y="46.5"
|
||||
id="text479">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="79.305992"
|
||||
y="46.5"
|
||||
id="text481">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="85.305992"
|
||||
y="46.5"
|
||||
id="text483">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="91.305992"
|
||||
y="46.5"
|
||||
id="text485">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="109.32681"
|
||||
y="46.5"
|
||||
id="text487">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="115.32681"
|
||||
y="46.5"
|
||||
id="text489">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="121.32681"
|
||||
y="46.5"
|
||||
id="text491">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="1.0976562"
|
||||
y="56.5"
|
||||
id="text493">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="7.0976562"
|
||||
y="56.5"
|
||||
id="text495">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="13.097656"
|
||||
y="56.5"
|
||||
id="text497">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="19.097656"
|
||||
y="56.5"
|
||||
id="text499">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="25.097656"
|
||||
y="56.5"
|
||||
id="text501">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="31.097654"
|
||||
y="56.5"
|
||||
id="text503">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="56.5"
|
||||
id="text505">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="79.305992"
|
||||
y="56.5"
|
||||
id="text507">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="103.32681"
|
||||
y="56.5"
|
||||
id="text509">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="109.32681"
|
||||
y="56.5"
|
||||
id="text511">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="121.32681"
|
||||
y="56.5"
|
||||
id="text513">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="127.32682"
|
||||
y="56.5"
|
||||
id="text515">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="1.0976562"
|
||||
y="66.5"
|
||||
id="text517">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="31.097654"
|
||||
y="66.5"
|
||||
id="text519">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="66.5"
|
||||
id="text521">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="79.305992"
|
||||
y="66.5"
|
||||
id="text523">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="103.32681"
|
||||
y="66.5"
|
||||
id="text525">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="127.32682"
|
||||
y="66.5"
|
||||
id="text527">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="1.0976562"
|
||||
y="76.5"
|
||||
id="text529">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="7.0976562"
|
||||
y="76.5"
|
||||
id="text531">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="13.097656"
|
||||
y="76.5"
|
||||
id="text533">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="19.097656"
|
||||
y="76.5"
|
||||
id="text535">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="25.097656"
|
||||
y="76.5"
|
||||
id="text537">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="31.097654"
|
||||
y="76.5"
|
||||
id="text539">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="43.097656"
|
||||
y="76.5"
|
||||
id="text541">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="49.097656"
|
||||
y="76.5"
|
||||
id="text543">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="55.097656"
|
||||
y="76.5"
|
||||
id="text545">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="61.097656"
|
||||
y="76.5"
|
||||
id="text547">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="67.097656"
|
||||
y="76.5"
|
||||
id="text549">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="79.305992"
|
||||
y="76.5"
|
||||
id="text551">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="85.305992"
|
||||
y="76.5"
|
||||
id="text553">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="91.305992"
|
||||
y="76.5"
|
||||
id="text555">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="103.32681"
|
||||
y="76.5"
|
||||
id="text557">▀</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="109.32681"
|
||||
y="76.5"
|
||||
id="text559">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="115.32681"
|
||||
y="76.5"
|
||||
id="text561">▄</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="121.32681"
|
||||
y="76.5"
|
||||
id="text563">█</text>
|
||||
<text
|
||||
style="fill:#69578b;fill-opacity:1"
|
||||
x="127.32682"
|
||||
y="76.5"
|
||||
id="text565">▀</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,142 @@
|
|||
#+title: Bito
|
||||
#&summary
|
||||
A poor but simple programming language along with an interpreter
|
||||
#&
|
||||
#+license: cc0, text
|
||||
#+license: bysa, logo
|
||||
#+license: gpl 3+, interpreter
|
||||
|
||||
* Bito
|
||||
|
||||
#&img;url=img/bito-logo.png,center
|
||||
|
||||
*Bito* is a programming language. I already wrote a readme about it, which you
|
||||
can either see below or download [[README][here]]. To run Bito
|
||||
programs, you will need a Bito interpreter.
|
||||
|
||||
[[bitopret.tar.gz][Download Bito interpreter, Bito interpreter README and Bito code examples]].
|
||||
|
||||
** Bito README
|
||||
|
||||
#&pre
|
||||
▄▄▄▄▄ ▀ ▄ █ ▄█▀█▄ ▀▀▄ ▀▀█▀▀ ▄▀▀▀▀█
|
||||
█ █ ▄▄▄ ▄▄█▄▄ ▄▄▄ █ █ █ █ █ █ █
|
||||
█▄▄▄▄▀ █ █ █▀ ▀█ █ █▄ ▄█ █ █ ▄▀▀▀▀█
|
||||
█ █ █ █ █ █ █ ▀▀▀ ▀▀█▀▀ ▀▀▀ █ █
|
||||
█▄▄▄▄▀ ▄▄█▄▄ ▀▄▄ ▀█▄█▀ █ ▀ ▄ ▀▀▀▀▀
|
||||
|
||||
|
||||
Bito is a programming language that aims to be easy to work with. Bito only
|
||||
accepts ones and zeroes. All other characters will be ignored. A command in
|
||||
Bito consists of two parts, the first part consisting of 1 bit and the second
|
||||
part consisting of three bits. All first parts must be written from left to
|
||||
right, while all last parts must be written from right to left. A last part
|
||||
consisting of 011 must thus be written 110.
|
||||
Bito saves data in a list containing an infinite numbers of memory cells. A
|
||||
cell can hold only any number above or equal to 0. There are no limits on how
|
||||
large numbers can be.
|
||||
|
||||
Tip: Writing comments with ones and zeroes will make code more difficult to
|
||||
understand. Try to replace ones with uppercase "i"s and zeroes with
|
||||
uppercase "o"s.
|
||||
|
||||
Available commands:
|
||||
0 xxx Append xxx to current memory cell (as a string)
|
||||
1 000 Print current number
|
||||
1 001 Print current number as ASCII
|
||||
1 010 Increment memory cell index
|
||||
1 011 Decrement memory cell index
|
||||
1 100 Start loop
|
||||
1 101 Restart or end loop
|
||||
1 110 Add value of previous cell to current cell (as an integer)
|
||||
1 111 Write input from stdin to next cells and write length to current cell
|
||||
|
||||
Trying to print an unset number will result in an error. Trying to print a
|
||||
number not in the ASCII range as ASCII text will also result in an error.
|
||||
Loops will run the times specified by the current cell. If the value of the
|
||||
current cell is either unset, 0 or 1, the loop will run only once, i.e. it will
|
||||
not act as a loop. Specifying the value 2 or above will thereby make it a loop.
|
||||
Because infinite loops are not possible in Bito, Bito does not suffer from the
|
||||
Halting Problem.
|
||||
Ending a loop when no loop has been started will not result in an error, nor
|
||||
will starting a loop without ending it do so (though the loop will, in those
|
||||
cases, not function as a loop). Also, nested loops cannot exist. When a loop
|
||||
has been started, all subsequent attempt to start a new loop will be ignored,
|
||||
until the loop has ended.
|
||||
Trying to add the value of a previous cell to the current cell will result in
|
||||
an error if the current cell is unset. If a previous cell is unset, its value
|
||||
is -1, which makes it ideal for use in subtracting numbers.
|
||||
|
||||
How to print an "N" (ASCII 78, binary ASCII 1001110):
|
||||
Short version:
|
||||
0001100011100100
|
||||
Long version:
|
||||
0 Current cell: OOI
|
||||
0 Current cell: OOIOOI
|
||||
0 Current cell: OOIOOIIIO (i.e. IOOIIIO)
|
||||
1 Print ASCII 78 (N)
|
||||
100
|
||||
011
|
||||
100
|
||||
100
|
||||
|
||||
Saving ones and zeroes as ASCII is meaningless, as it takes up much more space
|
||||
than needed. It is therefore recommended to convert every 8 characters into a
|
||||
byte. This will greatly reduce filesizes. If the number of characters in a file
|
||||
isn't directly dividable with 8 (4, 12, 132, etc.), just append a command that
|
||||
does not affect the the script too much --- like ending a loop (1 101). If this
|
||||
command is called outside a loop, nothing will happen.
|
||||
The above N-printing program would, in byte-form, take up two bytes instead of
|
||||
its current 16 bytes. It would save the first byte with 24 as its value and the
|
||||
second byte with 224 as its value (this is theoretically speaking -- as
|
||||
compressed Bito files are basically still text files, it is normal to have a
|
||||
newline character appended at the end of a file).
|
||||
|
||||
To run Bito programs, you can use the bitopret.py interpreter found in the
|
||||
'interpreter' directory. This interpreter also functions as a Bito file packer,
|
||||
i.e. it can compress Bito files.
|
||||
You will find a set of example programs in the 'examples' subdirectory.
|
||||
|
||||
|
||||
The Bito programming language was created by Niels Serup (metanohi.org). You
|
||||
can contact Niels at <[[mailto:ns@metanohi.org][ns@metanohi.org]]>.
|
||||
Updates to Bito are likely to appear at <[[http://metanohi.name/projects/bito/]]>.
|
||||
|
||||
This readme was written by Niels and was put into the public domain by him.
|
||||
Date: 27 July 2009
|
||||
#&
|
||||
|
||||
** Bito interpreter README
|
||||
|
||||
#&pre
|
||||
█ ▀ ▄ ▄
|
||||
█▄▄▄ ▄▄▄ ▄▄█▄▄ ▄▄▄ ▄▄▄▄ ▄ ▄▄ ▄▄▄ ▄▄█▄▄
|
||||
█▀ ▀█ █ █ █▀ ▀█ █▀ ▀█ █▀ ▀ █▀ █ █
|
||||
█ █ █ █ █ █ █ █ █ █▀▀▀▀ █
|
||||
██▄█▀ ▄▄█▄▄ ▀▄▄ ▀█▄█▀ ██▄█▀ █ ▀█▄▄▀ ▀▄▄
|
||||
█
|
||||
An interpreter for the Bi ▀ to programming language
|
||||
|
||||
Though a creating a compiler might have been the best way to be able to run
|
||||
files written in the Bito programming language, it's easier to create an
|
||||
interpreter. The standard interpreter for Bito files, bitopret, works
|
||||
flawlessly, though naturally it's not lightning fast. To use bitopret, run
|
||||
bitopret.py. If you run bitopret.py without any arguments, it will display some
|
||||
hopefully historically helpful help.
|
||||
|
||||
To understand the Bito language, you should have a look at the original README
|
||||
describing it. You can fetch a copy at <[[http://metanohi.name/projects/bito/]]>.
|
||||
|
||||
There are example programs in the 'examples' directory.
|
||||
|
||||
Niels Serup (metanohi.name) created this interpreter along with the Bito
|
||||
language. You can contact Niels at <[[mailto:ns@metanohi.org][ns@metanohi.org]]>.
|
||||
|
||||
Version information:
|
||||
bitopret 0.9
|
||||
Copyright (C) 2009 Niels Serup
|
||||
License GPLv3+: GNU GPL version 3 or later <[[http://gnu.org/licenses/gpl.html]]>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
#&
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
@ -0,0 +1,21 @@
|
|||
#+title: CLN
|
||||
#&summary
|
||||
Old PyGame CLI experiment
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: gpl 3+, program
|
||||
|
||||
* Command Line Navigation (CLN)
|
||||
|
||||
Never has pygame been used this effeciently...
|
||||
|
||||
Using Python and [[http://www.pygame.org/][pygame]] I have created a simple CLI clone that is unable to do
|
||||
anything useful. It is merely a proof that SDL can be used for stuff that
|
||||
appears to be non-graphical.
|
||||
|
||||
** Screenshot
|
||||
#&img;url=img/screenshot.png, alt=Screenshot showing CLN in action
|
||||
|
||||
** Download
|
||||
|
||||
Grab the 7z file [[cln_v.0.1.7z][here]]. Instructions on how to make it work are included.
|
After Width: | Height: | Size: 86 KiB |
|
@ -0,0 +1,345 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448"
|
||||
height="340"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="logo.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<pattern
|
||||
id="pattern2953"
|
||||
height="355"
|
||||
width="645"
|
||||
y="0"
|
||||
x="0"
|
||||
patternUnits="userSpaceOnUse">
|
||||
<g
|
||||
id="g2955" />
|
||||
<g
|
||||
id="g2957">
|
||||
<g
|
||||
id="g2959"
|
||||
clip-path="url(#clipPath2949)">
|
||||
<g
|
||||
id="g2961">
|
||||
<path
|
||||
id="path2963"
|
||||
style="fill:#aeb7bb;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="M 53.555,323.48 599.91,298.633 c 14.77,-0.672 26.117,-13.102 25.445,-27.867 L 615.699,58.398 C 615.027,43.629 602.598,32.281 587.828,32.953 L 41.477,57.797 C 26.707,58.469 15.359,70.898 16.031,85.668 l 9.657,212.367 c 0.671,14.766 13.101,26.117 27.867,25.445 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</pattern>
|
||||
<clipPath
|
||||
id="clipPath2949"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path2951"
|
||||
d="M 0,0 645,0 645,355 0,355 0,0 z" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath2945"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path2947"
|
||||
d="m 0,0 644.79999,0 0,354.39999 L 0,354.39999 0,0 z" />
|
||||
</clipPath>
|
||||
<mask
|
||||
id="mask2933"
|
||||
height="1"
|
||||
width="1"
|
||||
y="0"
|
||||
x="0"
|
||||
maskUnits="userSpaceOnUse">
|
||||
<g
|
||||
id="g2935">
|
||||
<g
|
||||
id="g2937"
|
||||
clip-path="url(#clipPath2929)">
|
||||
<path
|
||||
id="path2939"
|
||||
style="fill:#ffffff;fill-opacity:0.45794402;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 644.79999,0 0,354.39999 L 0,354.39999 0,0 z" />
|
||||
</g>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath
|
||||
id="clipPath2929"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path2931"
|
||||
d="m 0,0 644.79999,0 0,354.39999 L 0,354.39999 0,0 z" />
|
||||
</clipPath>
|
||||
<pattern
|
||||
id="pattern2903"
|
||||
height="355"
|
||||
width="645"
|
||||
y="0"
|
||||
x="0"
|
||||
patternUnits="userSpaceOnUse">
|
||||
<g
|
||||
id="g2905" />
|
||||
<g
|
||||
id="g2907">
|
||||
<g
|
||||
id="g2909"
|
||||
clip-path="url(#clipPath2899)">
|
||||
<g
|
||||
id="g2911">
|
||||
<g
|
||||
id="g2913"
|
||||
transform="matrix(1,0.031696,0.031696,-1,0,355)">
|
||||
<path
|
||||
id="path2915"
|
||||
style="fill:#88a189;fill-opacity:1;fill-rule:nonzero;stroke:#838383;stroke-opacity:1;stroke-width:1.015043;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 31.942,23.04 600.91,23.039 c 14.778,-0.001 26.674,11.896 26.675,26.669 l -0.001,274.36 c 0,14.777 -11.896,26.673 -26.674,26.67 l -568.968,10e-4 c -14.778,0 -26.67,-11.896 -26.671,-26.67 L 5.272,49.71 c 0,-14.777 11.892,-26.674 26.67,-26.67 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</pattern>
|
||||
<clipPath
|
||||
id="clipPath2899"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path2901"
|
||||
d="M 0,0 645,0 645,355 0,355 0,0 z" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath2895"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path2897"
|
||||
d="m 0,0 644.79999,0 0,354.39999 L 0,354.39999 0,0 z" />
|
||||
</clipPath>
|
||||
<mask
|
||||
id="mask2883"
|
||||
height="1"
|
||||
width="1"
|
||||
y="0"
|
||||
x="0"
|
||||
maskUnits="userSpaceOnUse">
|
||||
<g
|
||||
id="g2885">
|
||||
<g
|
||||
id="g2887"
|
||||
clip-path="url(#clipPath2879)">
|
||||
<path
|
||||
id="path2889"
|
||||
style="fill:#ffffff;fill-opacity:0.45794402;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 644.79999,0 0,354.39999 L 0,354.39999 0,0 z" />
|
||||
</g>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath
|
||||
id="clipPath2879"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path2881"
|
||||
d="m 0,0 644.79999,0 0,354.39999 L 0,354.39999 0,0 z" />
|
||||
</clipPath>
|
||||
<inkscape:perspective
|
||||
id="perspective2861"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.6046349"
|
||||
inkscape:cx="372.04724"
|
||||
inkscape:cy="170"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g2865"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1278"
|
||||
inkscape:window-height="1022"
|
||||
inkscape:window-x="1"
|
||||
inkscape:window-y="1"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,31.285725,916.71936)"
|
||||
inkscape:label="forside"
|
||||
id="g2863">
|
||||
<g
|
||||
id="g2865">
|
||||
<rect
|
||||
style="fill:#ff3400;fill-opacity:1;stroke:none"
|
||||
id="rect4456"
|
||||
width="587.29871"
|
||||
height="266.72736"
|
||||
x="-20.935801"
|
||||
y="-731.09418"
|
||||
transform="scale(1,-1)"
|
||||
ry="10.469671" />
|
||||
<g
|
||||
transform="matrix(1,-0.117595,-0.117595,-1,-43.606102,773.12083)"
|
||||
id="g2867">
|
||||
<path
|
||||
id="path2869"
|
||||
style="fill:#9e2b2b;fill-opacity:1;fill-rule:nonzero;stroke:#e08787;stroke-width:7.12143993;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 56.632,85.93 c 344.025,-79.58 555.708,87.14 555.708,87.14 0,0 -161.967,54.422 -308.935,26.126 C 165.182,172.587 56.87,88.285 56.632,85.93 z" />
|
||||
</g>
|
||||
<path
|
||||
id="path2871"
|
||||
style="fill:#ff3e1d;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 328.1599,582.62084 c -9.157,-33.953 -44.106,-54.059 -78.063,-44.902 -33.953,9.16 -54.058,44.109 -44.902,78.062 9.16,33.957 44.109,54.059 78.062,44.902 33.957,-9.156 54.059,-44.105 44.903,-78.062 z" />
|
||||
<path
|
||||
id="path2873"
|
||||
style="fill:#ffe51d;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 299.6169,590.31984 c -4.907,-18.191 -23.629,-28.961 -41.821,-24.054 -18.191,4.906 -28.961,23.628 -24.054,41.82 4.906,18.187 23.629,28.957 41.82,24.055 18.187,-4.907 28.957,-23.629 24.055,-41.821 z" />
|
||||
<text
|
||||
id="text2973"
|
||||
transform="matrix(-0.99896762,0.04542796,-0.04542796,-0.99896762,0,0)"
|
||||
x="-529.19556"
|
||||
y="-716.52588"
|
||||
style="font-size:12px">
|
||||
<tspan
|
||||
id="tspan2975"
|
||||
sodipodi:role="line"
|
||||
y="-716.52588"
|
||||
x="-529.19556 -523.91516 -518.63477 -513.35431 -508.0737 -502.79327 -497.51297 -492.23264 -486.95224 -481.67184 -476.39145 -471.11105 -465.83066 -460.55029 -455.2699 -449.9895 -444.70911 -439.42871 -434.14832 -428.86792 -423.58752 -418.30713 -413.02673 -407.74634 -402.46594 -397.18555 -391.90518 -386.62479 -381.34439 -376.064 -370.7836 -365.5032 -360.22281 -354.94241 -349.66202 -344.38162 -339.10123 -333.82083 -328.54044 -323.26004 -317.97968 -312.69928 -307.41888 -302.13849 -296.85809 -291.5777 -286.2973 -281.01691 -275.73651 -270.45612 -265.17572 -259.89536 -254.61507 -249.3347 -244.05432 -238.77385 -233.49345 -228.21306 -222.93266 -217.65227 -212.37187 -207.09148 -201.81108 -196.53069 -191.25029 -185.96985 -180.68941 -175.40901 -170.12862 -164.84822 -159.56783 -154.28743 -149.00703 -143.72664 -138.44624 -133.16585 -127.88542 -122.60506 -117.32465 -112.04427 -106.76392 -101.48353 -96.203125 -90.922691 -85.642296 -80.361908 -75.081512 -69.801117 -64.520737 -59.24036 -53.959999 -48.679596 -43.399193 -38.118797 -32.838394 -27.557989 -22.277592 -16.997204 -11.716817 -6.4364123 -1.1560197 4.1243796 9.4047718 14.685173 19.965506 25.245901 30.526295"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">e/WJ9WfNWYK8Fm/hjtBuwDnEMmsXqMi4SBFdsYAnxYuuTVrBNC7ETPDerdCuqygSOF4QhtNPxHfIP0oToci3zYIpdMI6zh/KUQgmmZGkKEf</tspan>
|
||||
<tspan
|
||||
id="tspan2977"
|
||||
sodipodi:role="line"
|
||||
y="-703.32489"
|
||||
x="-529.19556 -523.91516 -518.63477 -513.35431 -508.0737 -502.79327 -497.51291 -492.23264 -486.95224 -481.67184 -476.39145 -471.11105 -465.83066 -460.55026 -455.26987 -449.98947 -444.70908 -439.42868 -434.14832 -428.86792 -423.58752 -418.3071 -413.02673 -407.74634 -402.46594 -397.18555 -391.90515 -386.62476 -381.34436 -376.06396 -370.78357 -365.5032 -360.22281 -354.94241 -349.66202 -344.38162 -339.10123 -333.82083 -328.54044 -323.26004 -317.97964 -312.69925 -307.41885 -302.13846 -296.85806 -291.5777 -286.2973 -281.01691 -275.73651 -270.45612 -265.17572 -259.89532 -254.61504 -249.33467 -244.05429 -238.77382 -233.49345 -228.21306 -222.93266 -217.65227 -212.37187 -207.09148 -201.81108 -196.53069 -191.25029 -185.96982 -180.68938 -175.40898 -170.12859 -164.84819 -159.56783 -154.28743 -149.00703 -143.72664 -138.44624 -133.16585 -127.88542 -122.60506 -117.32465 -112.04427 -106.76389 -101.4835 -96.203102 -90.922691 -85.642296 -80.361908 -75.081512 -69.801117 -64.520737 -59.24036 -53.959969 -48.679565 -43.399162 -38.118767 -32.838364 -27.557989 -22.277592 -16.997204 -11.716817 -6.4364123 -1.1560197 4.1243796 9.4047718 14.685173 19.965567 25.245962 30.526295"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">LxoFwDHoFH7+MLrc1ihMBJquoVQEkSoLTtAdCytwyQQuhWU7zCwcpzsdhlSZOb4wS4Of6PIjuQ8YZrj2wh0mDEGw1xQ0Y0CqKyZSOrp9Y50</tspan>
|
||||
<tspan
|
||||
id="tspan2979"
|
||||
sodipodi:role="line"
|
||||
y="-690.12396"
|
||||
x="-529.19556 -523.91516 -518.63477 -513.35431 -508.0737 -502.79327 -497.51291 -492.2326 -486.95221 -481.67181 -476.39145 -471.11105 -465.83066 -460.55026 -455.26987 -449.98947 -444.70908 -439.42868 -434.14828 -428.86789 -423.58749 -418.3071 -413.0267 -407.74631 -402.46594 -397.18555 -391.90515 -386.62476 -381.34436 -376.06396 -370.78357 -365.50317 -360.22278 -354.94238 -349.66199 -344.38159 -339.10123 -333.82083 -328.54044 -323.26004 -317.97964 -312.69925 -307.41885 -302.13846 -296.85806 -291.57767 -286.29727 -281.01688 -275.73648 -270.45612 -265.17572 -259.89532 -254.61504 -249.33467 -244.05429 -238.77382 -233.49342 -228.21303 -222.93263 -217.65224 -212.37184 -207.09148 -201.81108 -196.53069 -191.25029 -185.96982 -180.68938 -175.40898 -170.12859 -164.84819 -159.56779 -154.2874 -149.007 -143.72661 -138.44621 -133.16585 -127.88542 -122.60506 -117.32465 -112.04427 -106.76389 -101.4835 -96.203102 -90.922661 -85.642265 -80.361908 -75.081512 -69.801117 -64.520737 -59.24036 -53.959969 -48.679565 -43.399162 -38.118767 -32.838364 -27.557959 -22.277561 -16.997204 -11.716817 -6.4364123 -1.1560197 4.1243796 9.4047718 14.685173 19.965567 25.245962 30.526356"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">rMjo5LYpS8sWK5DRyGWIm4eBmvb83M9dXk/WKeQQdxtxTkqCqF74mYLcl9e/T5b+lckvHqZrX6snNzy+H7qFl/zYBqeAfrmW/0Iu9y5u21i</tspan>
|
||||
<tspan
|
||||
id="tspan2981"
|
||||
sodipodi:role="line"
|
||||
y="-676.92291"
|
||||
x="-529.19556 -523.91516 -518.63477 -513.35431 -508.0737 -502.79327 -497.51291 -492.2326 -486.95221 -481.67181 -476.39142 -471.11102 -465.83063 -460.55023 -455.26987 -449.98947 -444.70908 -439.42868 -434.14828 -428.86789 -423.58749 -418.3071 -413.0267 -407.74631 -402.46591 -397.18552 -391.90515 -386.62476 -381.34436 -376.06396 -370.78357 -365.50317 -360.22278 -354.94238 -349.66199 -344.38159 -339.1012 -333.8208 -328.54041 -323.26001 -317.97961 -312.69925 -307.41885 -302.13846 -296.85806 -291.57767 -286.29727 -281.01688 -275.73648 -270.45609 -265.17569 -259.89532 -254.61504 -249.33467 -244.05429 -238.77382 -233.49342 -228.21303 -222.93263 -217.65224 -212.37184 -207.09145 -201.81105 -196.53065 -191.25026 -185.96979 -180.68938 -175.40898 -170.12859 -164.84819 -159.56779 -154.2874 -149.007 -143.72661 -138.44621 -133.16582 -127.8854 -122.60503 -117.32462 -112.04424 -106.76389 -101.4835 -96.203102 -90.922661 -85.642265 -80.361877 -75.081482 -69.801086 -64.520706 -59.24033 -53.959969 -48.679565 -43.399162 -38.118767 -32.838364 -27.557959 -22.277561 -16.997204 -11.716817 -6.4364123 -1.1560197 4.1243796 9.4047718 14.685173 19.965567 25.245962 30.526356"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">+WQfQlC3ieuTuv0+7IMxnD8ySeq/9sEemk5A871sKR69c/ErXR6+oFwaAxkpjREQI422EKM94p3rOWx0akxcTNSgTqSPa8XrTqFZNHfUZL7</tspan>
|
||||
<tspan
|
||||
id="tspan2983"
|
||||
sodipodi:role="line"
|
||||
y="-663.72192"
|
||||
x="-529.19556 -523.91516 -518.63477 -513.35431 -508.0737 -502.79327 -497.51291 -492.2326 -486.95221 -481.67181 -476.39142 -471.11102 -465.83063 -460.55023 -455.26984 -449.98944 -444.70905 -439.42865 -434.14825 -428.86789 -423.58749 -418.30707 -413.0267 -407.74631 -402.46591 -397.18552 -391.90512 -386.62473 -381.34433 -376.06393 -370.78354 -365.50317 -360.22278 -354.94238 -349.66199 -344.38159 -339.1012 -333.8208 -328.54041 -323.26001 -317.97961 -312.69922 -307.41882 -302.13843 -296.85803 -291.57764 -286.29727 -281.01688 -275.73648 -270.45609 -265.17569 -259.89529 -254.61501 -249.33464 -244.05426 -238.77379 -233.49342 -228.21303 -222.93263 -217.65224 -212.37184 -207.09145 -201.81105 -196.53065 -191.25026 -185.96979 -180.68935 -175.40895 -170.12856 -164.84816 -159.56776 -154.2874 -149.007 -143.72661 -138.44621 -133.16582 -127.8854 -122.60503 -117.32462 -112.04424 -106.76386 -101.48345 -96.203072 -90.922661 -85.642265 -80.361877 -75.081482 -69.801086 -64.520706 -59.24033 -53.959938 -48.679535 -43.399132 -38.118736 -32.838333 -27.557959 -22.277561 -16.997143 -11.716757 -6.4363513 -1.1559587 4.1244407 9.4047718 14.685173 19.965567 25.245962 30.526356"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">mqO+kQ84cBNcZ5UkwLKYftQGhnmabKlbn/Seu5lNUPrGhFqudI3h77jYIoxpKQQCKJJgRwasJKfY+vTTGaBhMyqKsXCTCvEpYoS0YGCHbn4</tspan>
|
||||
<tspan
|
||||
id="tspan2985"
|
||||
sodipodi:role="line"
|
||||
y="-650.521"
|
||||
x="-529.1955 -523.9151 -518.6347 -513.35431 -508.0737 -502.79327 -497.51291 -492.23257 -486.95218 -481.67178 -476.39142 -471.11102 -465.83063 -460.55023 -455.26984 -449.98944 -444.70905 -439.42865 -434.14825 -428.86786 -423.58746 -418.30707 -413.02667 -407.74631 -402.46591 -397.18552 -391.90512 -386.62473 -381.34433 -376.06393 -370.78354 -365.50314 -360.22275 -354.94235 -349.66196 -344.38156 -339.1012 -333.8208 -328.54041 -323.26001 -317.97961 -312.69922 -307.41882 -302.13843 -296.85803 -291.57764 -286.29724 -281.01685 -275.73645 -270.45609 -265.17569 -259.89529 -254.61501 -249.33464 -244.05426 -238.77379 -233.49339 -228.213 -222.9326 -217.65221 -212.37181 -207.09145 -201.81105 -196.53065 -191.25026 -185.96979 -180.68935 -175.40895 -170.12856 -164.84816 -159.56776 -154.28737 -149.00697 -143.72658 -138.44618 -133.16579 -127.8854 -122.60503 -117.32462 -112.04424 -106.76386 -101.48345 -96.203072 -90.92263 -85.642235 -80.361847 -75.081482 -69.801086 -64.520706 -59.24033 -53.959938 -48.679535 -43.399132 -38.118736 -32.838333 -27.557928 -22.277531 -16.997143 -11.716757 -6.4363513 -1.1559587 4.1244407 9.4048328 14.685234 19.965567 25.245962 30.526356"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">YHlz3ac7ROsYqsbLkHfIYdyY9LPhIm7hWqyAhyOjuH98yUbFNq0pb6oLbDAP8ZSaimniVG6kx4Fxv1LxQoKaWl18evBBB5WjQIgXIyPEMoC</tspan>
|
||||
<tspan
|
||||
id="tspan2987"
|
||||
sodipodi:role="line"
|
||||
y="-637.31995"
|
||||
x="-529.1955 -523.9151 -518.6347 -513.35425 -508.07364 -502.79321 -497.51285 -492.23257 -486.95218 -481.67178 -476.39139 -471.11099 -465.8306 -460.5502 -455.26984 -449.98944 -444.70905 -439.42865 -434.14825 -428.86786 -423.58746 -418.30707 -413.02667 -407.74628 -402.46588 -397.18549 -391.90509 -386.62473 -381.34433 -376.06393 -370.78354 -365.50314 -360.22275 -354.94235 -349.66196 -344.38156 -339.10117 -333.82077 -328.54037 -323.25998 -317.97958 -312.69922 -307.41882 -302.13843 -296.85803 -291.57764 -286.29724 -281.01685 -275.73645 -270.45605 -265.17566 -259.89526 -254.61501 -249.33464 -244.05426 -238.77379 -233.49339 -228.213 -222.9326 -217.65221 -212.37181 -207.09142 -201.81102 -196.53062 -191.25023 -185.96976 -180.68935 -175.40895 -170.12856 -164.84816 -159.56776 -154.28737 -149.00697 -143.72658 -138.44618 -133.16579 -127.88537 -122.60499 -117.32459 -112.04421 -106.76383 -101.48345 -96.203072 -90.92263 -85.642235 -80.361847 -75.081451 -69.801056 -64.520676 -59.240299 -53.959908 -48.679535 -43.399132 -38.118736 -32.838333 -27.557928 -22.277531 -16.997143 -11.716757 -6.4363513 -1.1559587 4.1244407 9.4048328 14.685234 19.965567 25.245962 30.526356"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">997++bMlsSV2mStrZXZXlZvXm+9BeXJsQ/bSVr9jYMIOSM5mLcfAyHfd7ct7GSiX7Oc8MGZbkX+hnLv7jnkdc5aOeIrBWlYfumMw6IrK15w</tspan>
|
||||
<tspan
|
||||
id="tspan2989"
|
||||
sodipodi:role="line"
|
||||
y="-624.11902"
|
||||
x="-529.1955 -523.9151 -518.6347 -513.35425 -508.07364 -502.79321 -497.51285 -492.23257 -486.95218 -481.67178 -476.39139 -471.11099 -465.8306 -460.5502 -455.26981 -449.98941 -444.70901 -439.42862 -434.14822 -428.86783 -423.58746 -418.30704 -413.02667 -407.74628 -402.46588 -397.18549 -391.90509 -386.62469 -381.3443 -376.0639 -370.78351 -365.50311 -360.22275 -354.94235 -349.66196 -344.38156 -339.10117 -333.82077 -328.54037 -323.25998 -317.97958 -312.69919 -307.41879 -302.1384 -296.858 -291.57761 -286.29724 -281.01685 -275.73645 -270.45605 -265.17566 -259.89526 -254.61497 -249.33461 -244.05423 -238.77376 -233.49336 -228.213 -222.9326 -217.65221 -212.37181 -207.09142 -201.81102 -196.53062 -191.25023 -185.96976 -180.68932 -175.40892 -170.12852 -164.84813 -159.56773 -154.28737 -149.00697 -143.72658 -138.44618 -133.16579 -127.88537 -122.60499 -117.32459 -112.04421 -106.76383 -101.48341 -96.203026 -90.92263 -85.642235 -80.361847 -75.081451 -69.801056 -64.520676 -59.240299 -53.959908 -48.679504 -43.399101 -38.118706 -32.838303 -27.557898 -22.277531 -16.997143 -11.716757 -6.4363513 -1.1559587 4.1244407 9.4048328 14.685234 19.965628 25.246023 30.526417"
|
||||
style="font-size:10.5607872px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">otQUD0Zuib0eP6cnGWw9i4yvPSC9YLBwZVozQpg2tUsWmtpc3KrTzDBc+4AmbA1fMGDuINeVkPmFbfn4QXc5uyeozmp0mR8KOJ6qhV5ow==</tspan>
|
||||
</text>
|
||||
<text
|
||||
id="text2991"
|
||||
transform="matrix(-0.99896762,0.045428,-0.045428,-0.99896762,0,0)"
|
||||
x="-529.07562"
|
||||
y="-604.41357"
|
||||
style="font-size:12px">
|
||||
<tspan
|
||||
id="tspan2993"
|
||||
sodipodi:role="line"
|
||||
y="-604.41357"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">AAAAgIPJov3uoC/PqdXATy5eHffFBWJ5AuZPqH+kcXgbGVorpfKFMtKB8zqZZein8oYDCPwCcbQH8NmdoUsZtPJhr8</tspan>
|
||||
<tspan
|
||||
id="tspan2995"
|
||||
sodipodi:role="line"
|
||||
y="-588.72144"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">DsoPBduYsGljMGZR1Vp1a6XhWd1b+b/O5LWJBYhnBPv4GJMwLkd3djE81rPbF+frmr2z4yvoLYmbKrajzMFLW/AAAA</tspan>
|
||||
<tspan
|
||||
id="tspan2997"
|
||||
sodipodi:role="line"
|
||||
y="-573.0293"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">AwEAAQAAAIBicnU01laJgMqxJ7i+vYYLef18w0M8QxNvTquI+k1lA6gy0/fUM0k8ZC0xsIxGOewzPawsvaXZGpzL2k</tspan>
|
||||
<tspan
|
||||
id="tspan2999"
|
||||
sodipodi:role="line"
|
||||
y="-557.33722"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">dGrVy5XfzrJ36Zx19f6fx2pxGeCkrX+ERWFmS8Gg7qqPldHPT5T8otBlOwh/zVVf/Ok8AaONkhpWAol1ZM8VOW314M</tspan>
|
||||
<tspan
|
||||
id="tspan3001"
|
||||
sodipodi:role="line"
|
||||
y="-541.64508"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">UQAAAEDbkCuOFwkiEAHRxlquYTCBoQSo4EKlpHfIASdQUF6iaTjiYco5ednub2kFsqHKXqoIAfp7QtdJkUpDxjKg+T</tspan>
|
||||
<tspan
|
||||
id="tspan3003"
|
||||
sodipodi:role="line"
|
||||
y="-525.953"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">dXAAAAQJmocquo9sCUJam/4hvYLmPST4RZYJs9gSO+Sztst7rj7tKRAQck7Du/dMkT9flABs7x5Whbkaq+BygJZi3y</tspan>
|
||||
<tspan
|
||||
id="tspan3005"
|
||||
sodipodi:role="line"
|
||||
y="-510.26083"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">e9kAAACAg8mi/e6gL8+p1cBPLl4d98UFYnkC5k+of6RxeBsZWiul8oUy0oHzOpll6KfyhgMI/AJxtAfw2Z2hSxm08m</tspan>
|
||||
<tspan
|
||||
id="tspan3007"
|
||||
sodipodi:role="line"
|
||||
y="-494.56845"
|
||||
x="-529.07562 -522.79883 -516.52197 -510.24487 -503.96799 -497.69113 -491.4144 -485.13754 -478.86072 -472.58386 -466.30701 -460.03018 -453.75333 -447.47647 -441.19965 -434.92279 -428.64594 -422.36911 -416.09225 -409.8154 -403.53854 -397.26172 -390.98489 -384.70804 -378.43118 -372.15436 -365.8775 -359.60065 -353.32382 -347.04697 -340.77011 -334.49329 -328.21643 -321.93958 -315.66275 -309.38589 -303.10907 -296.83221 -290.55536 -284.27853 -278.00168 -271.72485 -265.448 -259.17114 -252.89447 -246.6176 -240.34071 -234.06384 -227.78699 -221.51013 -215.23331 -208.95645 -202.6796 -196.40277 -190.12592 -183.84909 -177.57224 -171.29538 -165.01855 -158.7417 -152.46484 -146.18802 -139.91116 -133.63431 -127.35744 -121.0805 -114.80366 -108.52685 -102.25001 -95.973167 -89.696312 -83.419464 -77.142639 -70.865784 -64.588936 -58.312138 -52.035278 -45.758408 -39.481579 -33.20472 -26.927862 -20.651039 -14.374212 -8.0973568 -1.820497 4.4563546 10.733217 17.010069 23.286854 29.563709"
|
||||
style="font-size:12.553689px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Inconsolata;-inkscape-font-specification:Inconsolata">Gvv3doUiP5iyPyC4re4Itt99TqwXCcHFsa9V+ZHczJWfJyWdRAN6PYsTjk75x3GbrgCNTnXk8gGeRKYT+ao/0pApA=</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 32 KiB |
|
@ -0,0 +1,23 @@
|
|||
#+title: desurveil
|
||||
#&summary
|
||||
Cryptography program
|
||||
#&
|
||||
#+license: bysa, text
|
||||
#+license: cc0, logo
|
||||
#+license: agpl 3+, program
|
||||
|
||||
* desurveil
|
||||
|
||||
#&img;url=desurveil-logo.png, medlink=desurveil-logo.svg, alt=desurveil logo, center
|
||||
|
||||
#&-large
|
||||
desurveil is a cryptography program with support for key pair generation and
|
||||
encrypting and decrypting with RSA, OAEP, and arbitrary data lengths. [[desurveil-0.1.1.tar.gz][Download]].
|
||||
#&
|
||||
|
||||
desurveil is released under the [[http://gnu.org/licenses/agpl.html][AGPLv3(+)]] license.
|
||||
|
||||
desurveil can also be found in the [[http://pypi.python.org/pypi/desurveil][Python Package Index]].
|
||||
|
||||
desurveil has its code at Gitorious; see [[http://gitorious.org/desurveil][http://gitorious.org/desurveil]].
|
||||
|
After Width: | Height: | Size: 33 KiB |
|
@ -0,0 +1,21 @@
|
|||
#+title: Dililatum
|
||||
#&summary
|
||||
RPG engine
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: gpl 3+, program
|
||||
|
||||
* Dililatum
|
||||
|
||||
#&img;url=granul-small.png, float=right, alt=Dililatum logo, width=256, height=360
|
||||
|
||||
Dililatum is an RPG library/engine. It's quite simple. The 0.1 release is just
|
||||
out, and you can get it from Launchpad [[http://launchpad.net/dililatum/trunk/0.1/+download/Dililatum-0.1.tar.gz][here]].
|
||||
|
||||
To really use Dililatum you will need a game. [[../forestquest/][ForestQuest]] is such a game. It's
|
||||
not very finished, but it works.
|
||||
|
||||
Dililatum uses Launchpad for development, so there's not much need for this
|
||||
page. The project is available at [[http://launchpad.net/dililatum][http://launchpad.net/dililatum]], and the team
|
||||
managing the project has its page at [[http://launchpad.net/~dililatum-dev][http://launchpad.net/~dililatum-dev]].
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,23 @@
|
|||
#+title: DotBox
|
||||
#&summary
|
||||
A block-based mini game library
|
||||
#&
|
||||
#+license: bysa, page
|
||||
#+license: gpl 3+, program
|
||||
|
||||
* DotBox
|
||||
|
||||
#&img;url=dotbox-logo-320.png, alt=DotBox logo, center
|
||||
|
||||
#&+large, center
|
||||
DotBox is a block-based game mini library. It greatly limits what is plausible.
|
||||
#&
|
||||
|
||||
DotBox is licensed under the GNU General Public License, version 3 or any later
|
||||
version. The current version of DotBox is 0.1.0.
|
||||
|
||||
[[dotbox-0.1.0.tar.gz][Download gzipped tarball]].
|
||||
|
||||
DotBox can also be found in the [[http://pypi.python.org/pypi/dotbox][Python Package Index]].
|
||||
|
||||
DotBox has its code at Gitorious; see [[http://gitorious.org/dotbox][http://gitorious.org/dotbox]].
|
After Width: | Height: | Size: 6.6 KiB |
|
@ -0,0 +1,40 @@
|
|||
#+title: Electruth
|
||||
#&summary
|
||||
A collection of boolean logic tools. Understands gEDA netlists.
|
||||
#&
|
||||
#+license: bysa, text
|
||||
#+license: cc0, logo
|
||||
#+license: gpl 3+, program
|
||||
|
||||
* Electruth
|
||||
|
||||
See the Truth via ELECTRUTH&color=blue&huge.
|
||||
|
||||
#&img;url=electruth-logo-400.png, alt=electruth logo
|
||||
|
||||
#&pre
|
||||
"Sometimes it's false, sometimes it's true. But it's always
|
||||
boolean."
|
||||
-- Someone
|
||||
#&
|
||||
|
||||
electruth (or "ELECTRUTH") is a collection of boolean logic tools. It can be
|
||||
used as both a command-line tool and a Python library. It understands boolean
|
||||
algebra (to some extent) and can be used to simplify boolean expressions using
|
||||
the Quine-McClusky method. This can be useful if you have a truth table in need
|
||||
of basic shortening. electruth can also be used to compare boolean expressions,
|
||||
which can be very useful if you need to compare a truth table with a schematic
|
||||
you created based on that truth table. electruth can also be used to "destroy"
|
||||
complex boolean expressions into simpler ones consisting only of ANDS, ORS and
|
||||
NOTS.
|
||||
|
||||
You can download the newest electruth, v0.2.0, (released under the GPLv3+)
|
||||
[[electruth-0.2.0.tar.gz][here]].
|
||||
|
||||
Old versions: [[electruth-0.1.0.tar.gz][0.1.1]] (final one for Python 2.x), [[electruth-0.1.0.tar.gz][0.1.0]].
|
||||
|
||||
electruth can also be found in the [[http://pypi.python.org/pypi/electruth][Python Package Index]].
|
||||
|
||||
electruth has its code at Gitorious; see [[http://gitorious.org/electruth][http://gitorious.org/electruth]].
|
||||
|
||||
NEW: Truth table generation howto up [[truthtables][here]].
|
|
@ -0,0 +1,63 @@
|
|||
#+title: Electruth :: Truth tables
|
||||
#&summary
|
||||
A guide to using truth tables with electruth
|
||||
#&
|
||||
#+license: bysa, page
|
||||
|
||||
* HOWTO: Truth tables in electruth
|
||||
|
||||
The truth table syntax used in electruth is simple: columns are separated by
|
||||
commas (but can be separated by tabs instead), and rows are separated by
|
||||
newlines. The first row must contain at least one input column and at least one
|
||||
output column. To specify that something is input, prefix the input variable
|
||||
with a '<' character. To specify an output, use the '>' character. This is best
|
||||
illustrated with an example:
|
||||
#&pre
|
||||
<A,<B,>out
|
||||
0,0,1
|
||||
0,1,0
|
||||
1,0,0
|
||||
1,1,1
|
||||
#&
|
||||
|
||||
If you save this file as something.csv (.csv means it consists of
|
||||
comma-separated values) and run `electruth something.csv', you should get an
|
||||
output like this:
|
||||
|
||||
#&pre
|
||||
out = or(and(not(A), not(B)), and(A, B))
|
||||
#&
|
||||
|
||||
This makes sense, considering that the output variable `out' is only true (a
|
||||
"1" in the truth table) when `out' is either not A and not B or A and B.
|
||||
|
||||
So, that's how you make a truth table understandable by electruth. I want to
|
||||
stress that electruth's output can almost always be shortened. In the example
|
||||
above, we can see that `out' is false ("0") when A or B is true -- it is false
|
||||
only when A is false and B is true, and when A is true and B is false. This
|
||||
construct can be shortened to fit the XOR operator, and we can say that `out'
|
||||
is false when out = A XOR B. This means that `out' is true when out = NOT (A
|
||||
XOR B) (in the internals of electruth, this would be written as "out =
|
||||
not(xor(A, B))"). This is much shorter than "out = or(and(not(A), not(B)),
|
||||
and(A, B))". To test if the two expressions really match, electruth can be used
|
||||
(and this is really electruth's best part) by running this:
|
||||
|
||||
#&pre
|
||||
electruth truthtable.csv 'out=not A xor B'
|
||||
#&
|
||||
|
||||
which should return this:
|
||||
|
||||
#&pre
|
||||
out_0 = or(and(not(A), not(B)), and(A, B))
|
||||
out_1 = or(and(not(A), not(B)), and(A, B))
|
||||
'- out_0 matches out_1? True
|
||||
#&
|
||||
|
||||
which just confirms that it is true.
|
||||
|
||||
|
||||
I created electruth to help me design electronic digital circuits. I don't know
|
||||
what you use it for, but if you stumbled upon it because of that, I can
|
||||
recommend you take a look at the programs called Ktechlab and Qucs. They can be
|
||||
used for boolean logic as well.
|
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 13 KiB |
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="250"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="logo.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.308"
|
||||
inkscape:cx="250"
|
||||
inkscape:cy="125"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1255"
|
||||
inkscape:window-height="974"
|
||||
inkscape:window-x="25"
|
||||
inkscape:window-y="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2394"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="195.65831"
|
||||
sodipodi:cy="354.98007"
|
||||
sodipodi:r1="153.25435"
|
||||
sodipodi:r2="76.627174"
|
||||
sodipodi:arg1="1.9936503"
|
||||
sodipodi:arg2="3.0408478"
|
||||
inkscape:flatsided="true"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="M 132.76813,494.73601 L 106.07121,230.63761 L 348.13559,339.5666 L 132.76813,494.73601 z"
|
||||
transform="matrix(0.8876668,0,0,0.7989111,50.92815,-166.99191)" />
|
||||
<path
|
||||
style="font-size:40px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Gentium Bold"
|
||||
d="M 81.653893,121.7791 L 94.408342,121.7791 L 94.408342,133.92051 L 80.856732,133.92051 L 37.994437,133.92051 L 37.994437,149.15248 L 25.730539,149.15248 L 25.730539,79.615242 L 94.408342,79.615242 L 94.408342,91.535909 L 37.994437,91.535909 L 37.994437,121.7791 L 81.653893,121.7791 M 123.84168,133.92051 L 123.84168,91.315169 L 167.50114,121.7791 L 167.50114,133.92051 L 180.25559,133.92051 L 180.25559,116.03952 L 128.74724,79.615242 L 111.57779,79.615242 L 111.57779,133.92051 L 123.84168,133.92051 M 209.87288,133.92051 L 209.87288,85.134079 L 197.60899,85.134079 L 197.60899,133.92051 L 209.87288,133.92051 M 209.68893,77.573289 L 209.68893,67.860152 L 197.42504,67.860152 L 197.42504,77.573289 L 209.68893,77.573289 M 227.10364,79.615242 L 295.78144,79.615242 L 295.78144,133.92051 L 295.78144,149.15248 L 283.027,149.15248 L 283.027,133.92051 L 227.10364,133.92051 M 283.027,121.7791 L 283.027,91.535909 L 239.36757,91.535909 L 239.36757,121.7791 L 283.027,121.7791 M 353.17649,133.92051 L 340.91256,133.92051 L 340.91256,91.535909 L 325.21479,91.535909 L 325.21479,133.92051 L 312.95093,133.92051 L 312.95093,79.615242 L 381.62872,79.615242 L 381.62872,133.92051 L 368.87427,133.92051 L 368.87427,91.535909 L 353.17649,91.535909 L 353.17649,133.92051 M 454.72149,121.7791 L 454.72149,91.535909 L 411.06206,121.7791 L 454.72149,121.7791 M 421.85429,91.535909 L 398.79814,91.535909 L 398.79814,79.615242 L 467.47594,79.615242 L 467.47594,133.92051 L 398.79814,133.92051 L 398.79814,116.26026 L 434.36344,91.535909 M 25.730539,149.18456 L 73.31445,148.99524 L 467.40565,148.99524 L 467.40565,160.9159 L 37.994437,160.9159"
|
||||
id="flowRoot2383"
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.6 KiB |
|
@ -0,0 +1,57 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<title>Booleans - Enigma</title>
|
||||
<meta http-equiv="Content-Type" content="text/html">
|
||||
<meta name="description" content="Enigma">
|
||||
<meta name="generator" content="makeinfo 4.13">
|
||||
<link title="Top" rel="start" href="index.html#Top">
|
||||
<link rel="up" href="Language.html#Language" title="Language">
|
||||
<link rel="prev" href="Lists.html#Lists" title="Lists">
|
||||
<link rel="next" href="Files.html#Files" title="Files">
|
||||
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
||||
<!--
|
||||
This manual is for Enigma, version 0.1.
|
||||
Copyright (C) 2010 Niels Serup
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.3 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
||||
no Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
This document is also available under the terms of the Creative
|
||||
Commons Attribution-Share Alike 3.0 (or any later version)
|
||||
Unported license. A copy of the license is available at
|
||||
`http://creativecommons.org/licenses/by-sa/3.0/legalcode'.
|
||||
-->
|
||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||
<style type="text/css"><!--
|
||||
pre.display { font-family:inherit }
|
||||
pre.format { font-family:inherit }
|
||||
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
||||
pre.smallformat { font-family:inherit; font-size:smaller }
|
||||
pre.smallexample { font-size:smaller }
|
||||
pre.smalllisp { font-size:smaller }
|
||||
span.sc { font-variant:small-caps }
|
||||
span.roman { font-family:serif; font-weight:normal; }
|
||||
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
||||
--></style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="node">
|
||||
<a name="Booleans"></a>
|
||||
<p>
|
||||
Next: <a rel="next" accesskey="n" href="Files.html#Files">Files</a>,
|
||||
Previous: <a rel="previous" accesskey="p" href="Lists.html#Lists">Lists</a>,
|
||||
Up: <a rel="up" accesskey="u" href="Language.html#Language">Language</a>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<h3 class="section">2.5 Booleans</h3>
|
||||
|
||||
<p><a name="index-booleans-8"></a>Booleans are used a lot in Enigma. The predefined variables <code>true</code>
|
||||
and <code>false</code> can be used.
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<title>Built-In functions - Enigma</title>
|
||||
<meta http-equiv="Content-Type" content="text/html">
|
||||
<meta name="description" content="Enigma">
|
||||
<meta name="generator" content="makeinfo 4.13">
|
||||
<link title="Top" rel="start" href="index.html#Top">
|
||||
<link rel="up" href="Built_002dIn.html#Built_002dIn" title="Built-In">
|
||||
<link rel="prev" href="Built_002dIn-values.html#Built_002dIn-values" title="Built-In values">
|
||||
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
||||
<!--
|
||||
This manual is for Enigma, version 0.1.
|
||||
Copyright (C) 2010 Niels Serup
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.3 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
||||
no Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
This document is also available under the terms of the Creative
|
||||
Commons Attribution-Share Alike 3.0 (or any later version)
|
||||
Unported license. A copy of the license is available at
|
||||
`http://creativecommons.org/licenses/by-sa/3.0/legalcode'.
|
||||
-->
|
||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||
<style type="text/css"><!--
|
||||
pre.display { font-family:inherit }
|
||||
pre.format { font-family:inherit }
|
||||
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
||||
pre.smallformat { font-family:inherit; font-size:smaller }
|
||||
pre.smallexample { font-size:smaller }
|
||||
pre.smalllisp { font-size:smaller }
|
||||
span.sc { font-variant:small-caps }
|
||||
span.roman { font-family:serif; font-weight:normal; }
|
||||
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
||||
--></style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="node">
|
||||
<a name="Built-In-functions"></a>
|
||||
<a name="Built_002dIn-functions"></a>
|
||||
<p>
|
||||
Previous: <a rel="previous" accesskey="p" href="Built_002dIn-values.html#Built_002dIn-values">Built-In values</a>,
|
||||
Up: <a rel="up" accesskey="u" href="Built_002dIn.html#Built_002dIn">Built-In</a>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<h3 class="section">6.2 Functions</h3>
|
||||
|
||||
<p><a name="index-built_002din-functions-17"></a>Enigma has few built-in functions. But they do exist.
|
||||
|
||||
<p class="noindent"><code>str(OBJECT...)</code>: Converts all supplied values to strings.
|
||||
|
||||
<p class="noindent"><code>num(OBJECT...)</code>: Converts all supplied values to numbers.
|
||||
|
||||
<p class="noindent"><code>list(OBJECT...)</code>: Puts all supplied values in a list and destroys
|
||||
nested lists at one level.
|
||||
|
||||
<p class="noindent"><code>bool(OBJECT...)</code>: Converts all supplied values to booleans.
|
||||
|
||||
<p class="noindent"><code>code(OBJECT...)</code>: Converts all supplied values to code strings.
|
||||
|
||||
<p class="noindent"><code>repr(OBJECT...)</code>: Converts all supplied values to representational
|
||||
strings. Strings get prepended and appended by " characters, code
|
||||
objects are surrounded by { and }, and so on.
|
||||
|
||||
<p class="noindent"><code>type(OBJECT...)</code>: Converts all supplied values to type strings
|
||||
(string, number, file, etc.).
|
||||
|
||||
<p class="noindent"><code>len(OBJECT...)</code>: Converts all supplied values to their length. This
|
||||
can be used for both strings and lists.
|
||||
|
||||
<p class="noindent"><code>clone(OBJECT...)</code>: Clones all supplied values. When an object is
|
||||
cloned, its value is assigned to a new variable. The list of clones is
|
||||
returned.
|
||||
|
||||
<p class="noindent"><code>slice(LIST|STRING, NUMBER, NUMBER)</code>: Returns a list value sliced
|
||||
according to the first and second number if the first variable is a
|
||||
list variable, or a substring if the first variable is a string
|
||||
variable.
|
||||
|
||||
<p class="noindent"><code>loop(FUNCTION, [OBJECT]...)</code>: Executes function until it returns
|
||||
false. Sends the rest of the specified variables (if any) to the
|
||||
function as arguments.
|
||||
|
||||
<p class="noindent"><code>open(STRING, STRING)</code>: Opens the file by the name of the first
|
||||
string, using the second string as its guide as to how it should be
|
||||
opened. "r" means to read, "w" means to write, and "a" means to
|
||||
append. Returns a file object.
|
||||
|
||||
<p class="noindent"><code>close(FILE...)</code>: Closes files.
|
||||
|
||||
<p class="noindent"><code>read(FILE)</code>: Reads one character of a file and returns it. If no
|
||||
more characters are present, an empty string is returned.
|
||||
|
||||
<p class="noindent"><code>write(FILE, STRING)</code>: Writes a string to a file.
|
||||
|
||||
<p class="noindent"><code>greater(NUMBER, NUMBER...</code>: Checks if the first number is
|
||||
greater than the rest and returns true or false.
|
||||
|
||||
<p class="noindent"><code>lesser(NUMBER, NUMBER...</code>: Checks if the first number is
|
||||
lesser than the rest and returns true or false.
|
||||
|
||||
<p class="noindent"><code>equal(OBJECT, OBJECT...</code>: Checks if the objects are equal and returns
|
||||
true or false.
|
||||
|
||||
<p class="noindent"><code>and(BOOLEAN...)</code>: Checks if all booleans are true and returns true
|
||||
or false.
|
||||
|
||||
<p class="noindent"><code>or(BOOLEAN...)</code>: Checks if at least one boolean is true and returns
|
||||
true or false.
|
||||
|
||||
<p class="noindent"><code>not(BOOLEAN...)</code>: Converts values of true to values of false, and
|
||||
vice-versa.
|
||||
|
||||
<p class="noindent"><code>act(BOOLEAN, FUNCTION, [OBJECT]...)</code>: Run the function with the
|
||||
optional objects as arguments if the boolean is true.
|
||||
|
||||
<p class="noindent"><code>system(STRING...)</code>: Join the strings and run the result as a
|
||||
system command.
|
||||
|
||||
<p class="noindent"><code>add(NUMBER|STRING|CODE|LIST...)</code>: Add objects together. Numbers, strings, code
|
||||
strings and lists can be used, but only with similar types. The type
|
||||
of the first object determines what types the rest must be. The result
|
||||
is stored in the first object and also returned.
|
||||
|
||||
<p class="noindent"><code>subtract(NUMBER...)</code>: Subtract numbers from each other. The
|
||||
first object receives the final number. It is also returned.
|
||||
|
||||
<p class="noindent"><code>multiply(NUMBER...)</code>: Multiply numbers with each other. The
|
||||
first object receives the final number. It is also returned.
|
||||
|
||||
<p class="noindent"><code>divide(NUMBER...)</code>: Divide numbers with each other. The
|
||||
first object receives the final number. It is also returned.
|
||||
|
||||
<p class="noindent"><code>mod(NUMBER, NUMBER)</code>: Finds the remainder of the first number
|
||||
divided with the second number and returns it as a new variable.
|
||||
|
||||
<p class="noindent"><code>pow(NUMBER, NUMBER)</code>: Returns first number^second number.
|
||||
|
||||
<p class="noindent"><code>log(NUMBER, [NUMBER])</code>: Returns the logarithm of the first
|
||||
number. If the second number is not specified, the natural logarith is
|
||||
used.
|
||||
|
||||
<p class="noindent"><code>random()</code>: Returns a random number between 0 and 1.
|
||||
|
||||
<p class="noindent"><code>abs(NUMBER...)</code>: Sets and returns absolute values of numbers.
|
||||
|
||||
<p class="noindent"><code>round(NUMBER, NUMBER)</code>: Rounds the first number with x decimals,
|
||||
where x is the second number.
|
||||
|
||||
<p class="noindent"><code>floor(NUMBER, NUMBER)</code>: Floors the first number with x decimals,
|
||||
where x is the second number.
|
||||
|
||||
<p class="noindent"><code>ceil(NUMBER, NUMBER)</code>: "Ceils" the first number with x decimals,
|
||||
where x is the second number.
|
||||
|
||||
<p class="noindent"><code>sin(NUMBER...)</code>: Sets and returns sine values.
|
||||
|
||||
<p class="noindent"><code>cos(NUMBER...)</code>: Sets and returns cosine values.
|
||||
|
||||
<p class="noindent"><code>tan(NUMBER...)</code>: Sets and returns tangent values.
|
||||
|
||||
<p class="noindent"><code>asin(NUMBER...)</code>: Sets and returns arcsine values.
|
||||
|
||||
<p class="noindent"><code>acos(NUMBER...)</code>: Sets and returns arccosine values.
|
||||
|
||||
<p class="noindent"><code>atan(NUMBER...)</code>: Sets and returns arctangent values.
|
||||
|
||||
<p class="noindent"><code>sinh(NUMBER...)</code>: Sets and returns hyperbolic sine values.
|
||||
|
||||
<p class="noindent"><code>cosh(NUMBER...)</code>: Sets and returns hyperbolic cosine values.
|
||||
|
||||
<p class="noindent"><code>tanh(NUMBER...)</code>: Sets and returns hyperbolic tangent values.
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<title>Built-In values - Enigma</title>
|
||||
<meta http-equiv="Content-Type" content="text/html">
|
||||
<meta name="description" content="Enigma">
|
||||
<meta name="generator" content="makeinfo 4.13">
|
||||
<link title="Top" rel="start" href="index.html#Top">
|
||||
<link rel="up" href="Built_002dIn.html#Built_002dIn" title="Built-In">
|
||||
<link rel="prev" href="Built_002dIn.html#Built_002dIn" title="Built-In">
|
||||
<link rel="next" href="Built_002dIn-functions.html#Built_002dIn-functions" title="Built-In functions">
|
||||
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
||||
<!--
|
||||
This manual is for Enigma, version 0.1.
|
||||
Copyright (C) 2010 Niels Serup
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.3 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
||||
no Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
This document is also available under the terms of the Creative
|
||||
Commons Attribution-Share Alike 3.0 (or any later version)
|
||||
Unported license. A copy of the license is available at
|
||||
`http://creativecommons.org/licenses/by-sa/3.0/legalcode'.
|
||||
-->
|
||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||
<style type="text/css"><!--
|
||||
pre.display { font-family:inherit }
|
||||
pre.format { font-family:inherit }
|
||||
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
||||
pre.smallformat { font-family:inherit; font-size:smaller }
|
||||
pre.smallexample { font-size:smaller }
|
||||
pre.smalllisp { font-size:smaller }
|
||||
span.sc { font-variant:small-caps }
|
||||
span.roman { font-family:serif; font-weight:normal; }
|
||||
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
||||
--></style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="node">
|
||||
<a name="Built-In-values"></a>
|
||||
<a name="Built_002dIn-values"></a>
|
||||
<p>
|
||||
Next: <a rel="next" accesskey="n" href="Built_002dIn-functions.html#Built_002dIn-functions">Built-In functions</a>,
|
||||
Previous: <a rel="previous" accesskey="p" href="Built_002dIn.html#Built_002dIn">Built-In</a>,
|
||||
Up: <a rel="up" accesskey="u" href="Built_002dIn.html#Built_002dIn">Built-In</a>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<h3 class="section">6.1 Values</h3>
|
||||
|
||||
<p><a name="index-built_002din-values-16"></a>The following variables are special and can be accessed anytime. They can
|
||||
even be overwritten.
|
||||
<pre class="verbatim">args, return, temp, stdin, stderr, stdout, zero, true, false, none, @pi,
|
||||
@e, cwd, cpd, fnm
|
||||
</pre>
|
||||
<code>zero</code> is a fake writable file that does nothing. <code>none</code> is an
|
||||
abstract variable with an internal value of.. none. <code>@pi</code> is
|
||||
Pi. <code>@e</code> is Euler's number. <code>cwd</code> is the directory from which
|
||||
Enigma is run, <code>cpd</code> is the directory in which the current program
|
||||
file resides, and <code>fnm</code> is the filename of the current program
|
||||
file. The rest are self-explanatory — and <code>args</code>, <code>return</code>
|
||||
and <code>temp</code> are extra special.
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<title>Built-In - Enigma</title>
|
||||
<meta http-equiv="Content-Type" content="text/html">
|
||||
<meta name="description" content="Enigma">
|
||||
<meta name="generator" content="makeinfo 4.13">
|
||||
<link title="Top" rel="start" href="index.html#Top">
|
||||
<link rel="prev" href="Comparison.html#Comparison" title="Comparison">
|
||||
<link rel="next" href="Copying-This-Manual.html#Copying-This-Manual" title="Copying This Manual">
|
||||
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
||||
<!--
|
||||
This manual is for Enigma, version 0.1.
|
||||
Copyright (C) 2010 Niels Serup
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.3 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
||||
no Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
This document is also available under the terms of the Creative
|
||||
Commons Attribution-Share Alike 3.0 (or any later version)
|
||||
Unported license. A copy of the license is available at
|
||||
`http://creativecommons.org/licenses/by-sa/3.0/legalcode'.
|
||||
-->
|
||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||
<style type="text/css"><!--
|
||||
pre.display { font-family:inherit }
|
||||
pre.format { font-family:inherit }
|
||||
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
||||
pre.smallformat { font-family:inherit; font-size:smaller }
|
||||
pre.smallexample { font-size:smaller }
|
||||
pre.smalllisp { font-size:smaller }
|
||||
span.sc { font-variant:small-caps }
|
||||
span.roman { font-family:serif; font-weight:normal; }
|
||||
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
||||
--></style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="node">
|
||||
<a name="Built-In"></a>
|
||||
<a name="Built_002dIn"></a>
|
||||
<p>
|
||||
Next: <a rel="next" accesskey="n" href="Copying-This-Manual.html#Copying-This-Manual">Copying This Manual</a>,
|
||||
Previous: <a rel="previous" accesskey="p" href="Comparison.html#Comparison">Comparison</a>,
|
||||
Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<h2 class="chapter">6 Built-in values and functions</h2>
|
||||
|
||||
<ul class="menu">
|
||||
<li><a accesskey="1" href="Built_002dIn-values.html#Built_002dIn-values">Built-In values</a>
|
||||
<li><a accesskey="2" href="Built_002dIn-functions.html#Built_002dIn-functions">Built-In functions</a>
|
||||
</ul>
|
||||
|
||||
</body></html>
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<title>Compared assigning - Enigma</title>
|
||||
<meta http-equiv="Content-Type" content="text/html">
|
||||
<meta name="description" content="Enigma">
|
||||
<meta name="generator" content="makeinfo 4.13">
|
||||
<link title="Top" rel="start" href="index.html#Top">
|
||||
<link rel="up" href="Comparison.html#Comparison" title="Comparison">
|
||||
<link rel="prev" href="Comparison.html#Comparison" title="Comparison">
|
||||
<link rel="next" href="Compared-conditionals.html#Compared-conditionals" title="Compared conditionals">
|
||||
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
||||
<!--
|
||||
This manual is for Enigma, version 0.1.
|
||||
Copyright (C) 2010 Niels Serup
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.3 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
||||
no Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
This document is also available under the terms of the Creative
|
||||
Commons Attribution-Share Alike 3.0 (or any later version)
|
||||
Unported license. A copy of the license is available at
|
||||
`http://creativecommons.org/licenses/by-sa/3.0/legalcode'.
|
||||
-->
|
||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||
<style type="text/css"><!--
|
||||
pre.display { font-family:inherit }
|
||||
pre.format { font-family:inherit }
|
||||
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
||||
pre.smallformat { font-family:inherit; font-size:smaller }
|
||||
pre.smallexample { font-size:smaller }
|
||||
pre.smalllisp { font-size:smaller }
|
||||
span.sc { font-variant:small-caps }
|
||||
span.roman { font-family:serif; font-weight:normal; }
|
||||
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
||||
--></style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="node">
|
||||
<a name="Compared-assigning"></a>
|
||||
<p>
|
||||
Next: <a rel="next" accesskey="n" href="Compared-conditionals.html#Compared-conditionals">Compared conditionals</a>,
|
||||
Previous: <a rel="previous" accesskey="p" href="Comparison.html#Comparison">Comparison</a>,
|
||||
Up: <a rel="up" accesskey="u" href="Comparison.html#Comparison">Comparison</a>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<h3 class="section">5.1 Assigning values</h3>
|
||||
|
||||
<blockquote>
|
||||
<b>C:</b> <p><table class="cartouche" summary="cartouche" border="1"><tr><td>
|
||||
<pre class="example"> type var = value;
|
||||
</pre>
|
||||
</td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<b>Python:</b> <p><table class="cartouche" summary="cartouche" border="1"><tr><td>
|
||||
<pre class="example"> var = value
|
||||
</pre>
|
||||
</td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<b>Enigma:</b> <p><table class="cartouche" summary="cartouche" border="1"><tr><td>
|
||||
<pre class="example"> value = var;
|
||||
</pre>
|
||||
</td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
</body></html>
|
||||
|