small update
After Width: | Height: | Size: 130 KiB |
@ -0,0 +1,25 @@
|
||||
---
|
||||
categories:
|
||||
- Wiki
|
||||
- python
|
||||
- list
|
||||
cover: almanac.jpg
|
||||
cover_alt: The ancient 3d book of Piet Zwart Wiki
|
||||
date: 10/05/2023
|
||||
description: List of wiki pages
|
||||
git: https://git.xpub.nl/kamo/almanac
|
||||
slug: almanac
|
||||
title: Almanac
|
||||
---
|
||||
|
||||
A python script that connect to the PZI Media Wiki API, and compile a list with the title of all the pages.
|
||||
|
||||
To run:
|
||||
|
||||
```
|
||||
python3 almanac.py
|
||||
```
|
||||
|
||||
It's going to save the list in alphabetic order into the `list.txt` file.
|
||||
|
||||
[here is the list (updated at 10/05/2023)](https://git.xpub.nl/kamo/almanac/raw/branch/main/list.txt)
|
@ -0,0 +1,75 @@
|
||||
---
|
||||
categories:
|
||||
- Python
|
||||
- Tool
|
||||
- Writing
|
||||
cover: exex.jpg
|
||||
cover_alt: uhm not yet here
|
||||
date: 10/05/2023
|
||||
description: Branching and collaborative writing
|
||||
git: https://git.xpub.nl/kamo/exex
|
||||
slug: exex
|
||||
title: EXEX
|
||||
url: https://hub.xpub.nl/soupboat/exex/
|
||||
---
|
||||
|
||||
A branching version of the [exquisite corpse](https://en.wikipedia.org/wiki/Exquisite_corpse) game, forked from the [exquisite branch](https://git.xpub.nl/kamo/exquisite-branch) drawing app developed for [SI17](https://issue.xpub.nl/17/).
|
||||
|
||||
Write something, upload it and send the link to someone else: they will continue from your excerpt. With a catch: if you send to just one person the chain will continue linearly, but send it to more people and things will start branching in different directions.
|
||||
|
||||
Could be a writing machine to work on the collective pubblication for the graduation, inspired by what [Kim wrote here](https://pad.xpub.nl/p/gradcollectivexpub).
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
Clone the repository.
|
||||
```
|
||||
git clone https://git.xpub.nl/kamo/exex.git
|
||||
```
|
||||
|
||||
Create a virtual environment.
|
||||
```
|
||||
python3 -m venv venv
|
||||
```
|
||||
|
||||
Install the requirements with `pip` and the `requirements.txt` file.
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Create an `.env` file in the root folder of the project with the following variables:
|
||||
```
|
||||
DEBUG=True
|
||||
FLASK_ENV=development
|
||||
FLASK_APP=exquisite_branch
|
||||
```
|
||||
|
||||
Before running the app for the first time, be sure to initialize the database. __Watch out:__ this will delete the previous instance of the database along with its contents!
|
||||
```
|
||||
flask init-db
|
||||
```
|
||||
After initializing the database you can run the flask application
|
||||
```
|
||||
flask run
|
||||
```
|
||||
|
||||
## Overview
|
||||
|
||||
Exex saves contents in a database, and join them together in a branching version of the exquisite corpse.
|
||||
|
||||
The original exquisite corpse data structure is something similar to a linked list, where every drawing is connected to the previous one. Contents in _exex_ are saved in a database with the same principle.
|
||||
|
||||
![Diagram with the situationship of the entries](https://git.xpub.nl/kamo/exex/media/branch/main/linked.jpg)
|
||||
|
||||
Each entry in the database has the following properties:
|
||||
|
||||
- `id`: a unique identifier for every entry
|
||||
- `branch`: a random name for the excerpt
|
||||
- `parent`: the random name of the previous excerpt
|
||||
- `content`: the actual content of the writings
|
||||
- `username`: the author of the excerpt
|
||||
|
||||
When generating the display page, every entry look up its `parent` property to position itself after that.
|
||||
|
||||
Mhh should rewrite this better bc is super convoluted ahah.
|
||||
|
After Width: | Height: | Size: 538 KiB |
@ -0,0 +1,34 @@
|
||||
---
|
||||
categories:
|
||||
- Web
|
||||
- Animation
|
||||
- Soupboat
|
||||
cover: sail.jpg
|
||||
cover_alt: soupboat sailing in norway
|
||||
date: 05/05/2023
|
||||
description: Soupboat sailing toward new adventures
|
||||
git: https://git.xpub.nl/kamo/sail
|
||||
slug: sail
|
||||
title: sail
|
||||
url: https://hub.xpub.nl/soupboat/
|
||||
---
|
||||
|
||||
Small animation for the soupboat homepage, sailing toward new adventuress. The homepage is simple and basic, without much styling or anything. I always felt this latent feeling of reworking it, to make it different. But being a common and shared space I've never had the propper resolve to step in and transform it. To organize something altogether it was difficult because of time and life.
|
||||
|
||||
Recently however, we started wondering: what will happen next? What's the future of the Soupboat? Will it stay on and working and firm on its four legs in the studio, to be rebooted from time to time by the next xpub students? Or will it follow the advenutres of the future xpub3 gang?
|
||||
|
||||
We will see! In the meanwhile: let's enjoy a simple ASCII art animation of this cutie sailing away.
|
||||
|
||||
## Generator??????? Finally!!!
|
||||
|
||||
It was my first time using a generator! It's been a while that i wanted to try this structure, but finally found something that could make sense with it.
|
||||
|
||||
A generator is something like a function with intermediate steps. Each time you call the function, it will go till the next step, preserving its internal state.
|
||||
|
||||
In this particular case I used it for generating the waves pattern of the sea.
|
||||
|
||||
The sea layer in the ASCII art is composed of three distinct characters: __`'~__. The script that move the soupboat towards new water keep calling the waves generator to loop through these three symbols and keep repeating the pattern.
|
||||
|
||||
Look at the code for more precise documentation!
|
||||
|
||||
It was fun!!
|
Before Width: | Height: | Size: 504 KiB After Width: | Height: | Size: 504 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |