Kitten Technologies
Check-in [9576e8d3d8]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Magic Pipes in the prose and nav!
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 9576e8d3d8b2247a8f2e7fede103393d966ca286
User & Date: alaric 2017-11-10 14:31:09
Context
2017-11-10
14:34
Added pwdb CGI check-in: de5feebf7b user: alaric tags: trunk
14:31
Magic Pipes in the prose and nav! check-in: 9576e8d3d8 user: alaric tags: trunk
2016-09-17
22:01
Updated hardcoded path to fossil check-in: 11a42ae4b4 user: alaric tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to README.wiki.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
This repository contains the Hyde source code for the Kitten Technologies web site at
[http://www.kitten-technologies.co.uk/] and the Fossil skin (that uses the same CSS as the
master site) for all the public Fossil repos. The <code>deploy.sh</code> script exports the skin from this repo and imports it into all my project repos, then pushes the lot to the live server.

To create a new fossil repo:

  *  Set the project name in "fossil ui": http://localhost:8080/setup_config
  *  Enable zipfile fetching: "fossil user capabilities nobody gjorz"
  *  Set the admin password: "fossil user password alaric"
  *  Copy it into "~snell-systems/kitten-technologies/fossil/", and
     chown it to "www"
  *  Add CGI file in this repo: <code>src/project</code>
  *  Link the local repo: fossil sync https://alaric@www.kitten-technologies.co.uk/project/<NAME>
  *  Write a README.wiki
  *  Generate a METADATA.rdf by copying an existing one and modifying it.
  *  Generate a DOWNLOAD.wiki by running:

     ~/personal/projects/kitten-technologies/bin/generate-download-page <NAME>










|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
This repository contains the Hyde source code for the Kitten Technologies web site at
[http://www.kitten-technologies.co.uk/] and the Fossil skin (that uses the same CSS as the
master site) for all the public Fossil repos. The <code>deploy.sh</code> script exports the skin from this repo and imports it into all my project repos, then pushes the lot to the live server.

To create a new fossil repo:

  *  Set the project name in "fossil ui": http://localhost:8080/setup_config
  *  Enable zipfile fetching: "fossil user capabilities nobody gjorz"
  *  Set the admin password: "fossil user password alaric"
  *  Copy it into "~snell-systems/kitten-technologies/fossil/", and
     chown it to "lighttpd"
  *  Add CGI file in this repo: <code>src/project</code>
  *  Link the local repo: fossil sync https://alaric@www.kitten-technologies.co.uk/project/<NAME>
  *  Write a README.wiki
  *  Generate a METADATA.rdf by copying an existing one and modifying it.
  *  Generate a DOWNLOAD.wiki by running:

     ~/personal/projects/kitten-technologies/bin/generate-download-page <NAME>
30
31
32
33
34
35
36
37
38
39


40
41
42
43

44
45
46
47
48
49
50
  http://www.kitten-technologies.co.uk/project/<NAME>/doc/trunk/<NAME>.release-info

  *  Add it to Alaric's FOAF file as a currentProject.
  *  Tweet it from https://twitter.com/Kitten_Tech

To do new a release of a project:

  *  Tag it as the version number, eg "1.0"
  *  If it's a chicken egg, update the release-info file to reflect
     the new release, and the .setup file to reflect the new version number.


  *  Update DOWNLOAD.wiki by running:

     ~/personal/projects/kitten-technologies/bin/generate-download-page <NAME>
  *  Commit and push.

  *  Tweet it from https://twitter.com/Kitten_Tech

<h1>How the RDF stuff works</h1>

Each project (including this meta-project) has a METADATA.rdf file.

This is accessible via the URL:







<


>
>



|
>







30
31
32
33
34
35
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  http://www.kitten-technologies.co.uk/project/<NAME>/doc/trunk/<NAME>.release-info

  *  Add it to Alaric's FOAF file as a currentProject.
  *  Tweet it from https://twitter.com/Kitten_Tech

To do new a release of a project:


  *  If it's a chicken egg, update the release-info file to reflect
     the new release, and the .setup file to reflect the new version number.
  *  Commit
  *  fossil tag add '1.0' trunk
  *  Update DOWNLOAD.wiki by running:

     ~/personal/projects/kitten-technologies/bin/generate-download-page <NAME>
  *  Commit.
  *  Push.
  *  Tweet it from https://twitter.com/Kitten_Tech

<h1>How the RDF stuff works</h1>

Each project (including this meta-project) has a METADATA.rdf file.

This is accessible via the URL:

Changes to deploy.sh.

1
2

3
4
5
6
7
8
9
10
#!/bin/sh


PROJECTS="ugarit banterpixra tangle argon simple-graphics quick-ref-cards magic-pipes speakd ugarit-manifest-maker"

echo "Generate site"
hyde

echo "Set up Fossil CGI stuff"
mv out/project/htaccess out/project/.htaccess
chmod a+rx out/project/*


>
|







1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

PROJECTS="`(cd src/project; echo *)`"
#PROJECTS="ugarit banterpixra tangle argon simple-graphics quick-ref-cards magic-pipes speakd ugarit-manifest-maker"

echo "Generate site"
hyde

echo "Set up Fossil CGI stuff"
mv out/project/htaccess out/project/.htaccess
chmod a+rx out/project/*

Changes to layouts/default.sxml.

14
15
16
17
18
19
20

21
22
23
24
25
26
27
      ,($ 'title))
     (div (@ (class "status"))
      "It's a beautiful day"))
    (div (@ (class "mainmenu"))
     (a (@ (href "/")) "Home")
     " | "
     (a (@ (href "/project/ugarit")) "Ugarit")

     (a (@ (href "/project/banterpixra")) "banterpixra")
     (a (@ (href "/project/tangle")) "Tangle")
     (a (@ (href "/project/argon")) "ARGON")
     (a (@ (href "/project/simple-graphics")) "simple-graphics")
     (a (@ (href "/project/speakd")) "speakd")
     " | "
     (a (@ (href "/licence.html")) "KTPL")







>







14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
      ,($ 'title))
     (div (@ (class "status"))
      "It's a beautiful day"))
    (div (@ (class "mainmenu"))
     (a (@ (href "/")) "Home")
     " | "
     (a (@ (href "/project/ugarit")) "Ugarit")
     (a (@ (href "/project/magic-pipes")) "Magic Pipes")
     (a (@ (href "/project/banterpixra")) "banterpixra")
     (a (@ (href "/project/tangle")) "Tangle")
     (a (@ (href "/project/argon")) "ARGON")
     (a (@ (href "/project/simple-graphics")) "simple-graphics")
     (a (@ (href "/project/speakd")) "speakd")
     " | "
     (a (@ (href "/licence.html")) "KTPL")

Changes to src/index.wiki.

13
14
15
16
17
18
19

20
21
22
23
24
25
26

The site has just been significantly redesigned and the projects are being ported from [[http://subversion.apache.org/|Subversion]] into [[http://fossil-scm.org|Fossil]]. As such, many of the projects are currently missing while I manually convert each of them over to Fossil. If you'd like to ask me to hurry up with any of the below, please [[https://www.kitten-technologies.co.uk/project/kitten-technologies/tktnew|file a ticket]].

== Current Projects

* [[/project/ugarit|Ugarit]], a backup/archival system based around content-addressable storage, inspired by [[http://en.wikipedia.org/wiki/Venti|Venti]] and [[http://en.wikipedia.org/wiki/Git_(software)|Git]].
* [[/project/ugarit-manifest-maker|Ugarit Manifest Maker]], a tool for rapidly generating archive import manifests for Ugarit.

* [[/project/speakd|speakd]], a scheduler for text-to-speech announcements.
* [[/project/banterpixra|banterpixra]], a tool for converting language grammers in a form of BNF to nice "railroad diagrams" in SVG.
* [[/project/tangle|Tangle]], a tool for managing networks. The network is described in a human-readable text file that documents devices, ports, cables, virtual circuits, physical locations, owners of equipment (useful for colocation), and IP subnets. The tool cross-checks the file for errors and generates an easily navigated HTML reference document, as well as multiple diagrams of the logical and physical cabling.
* The Eye Of Horus, a server/service monitoring tool in a similar vein to Nagios, but redesigned from scratch to address some frustrations with it.
* [[/project/argon|ARGON]], an ambitious blue-sky project re-examining the platforms on which we build software. It's still in a very protracted and detailed design process; I may be implementing some of it in the next decade or so.
* [[/project/simple-graphics|Simple Graphics]], a simple turtle graphics library for Chicken Scheme, aimed at education.
* [[/project/quick-ref-cards|Kitten Quick Reference Cards]], a set of handy references to things like transistor electronics, structured cabling, and Lojban grammar.







>







13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

The site has just been significantly redesigned and the projects are being ported from [[http://subversion.apache.org/|Subversion]] into [[http://fossil-scm.org|Fossil]]. As such, many of the projects are currently missing while I manually convert each of them over to Fossil. If you'd like to ask me to hurry up with any of the below, please [[https://www.kitten-technologies.co.uk/project/kitten-technologies/tktnew|file a ticket]].

== Current Projects

* [[/project/ugarit|Ugarit]], a backup/archival system based around content-addressable storage, inspired by [[http://en.wikipedia.org/wiki/Venti|Venti]] and [[http://en.wikipedia.org/wiki/Git_(software)|Git]].
* [[/project/ugarit-manifest-maker|Ugarit Manifest Maker]], a tool for rapidly generating archive import manifests for Ugarit.
* [[/project/magic-pipes|Magic Pipes]], a toolkit for making powerful shell pipelines.
* [[/project/speakd|speakd]], a scheduler for text-to-speech announcements.
* [[/project/banterpixra|banterpixra]], a tool for converting language grammers in a form of BNF to nice "railroad diagrams" in SVG.
* [[/project/tangle|Tangle]], a tool for managing networks. The network is described in a human-readable text file that documents devices, ports, cables, virtual circuits, physical locations, owners of equipment (useful for colocation), and IP subnets. The tool cross-checks the file for errors and generates an easily navigated HTML reference document, as well as multiple diagrams of the logical and physical cabling.
* The Eye Of Horus, a server/service monitoring tool in a similar vein to Nagios, but redesigned from scratch to address some frustrations with it.
* [[/project/argon|ARGON]], an ambitious blue-sky project re-examining the platforms on which we build software. It's still in a very protracted and detailed design process; I may be implementing some of it in the next decade or so.
* [[/project/simple-graphics|Simple Graphics]], a simple turtle graphics library for Chicken Scheme, aimed at education.
* [[/project/quick-ref-cards|Kitten Quick Reference Cards]], a set of handy references to things like transistor electronics, structured cabling, and Lojban grammar.