1
0
Fork 0

Compare commits

...
Sign in to create a new pull request.

106 commits

Author SHA1 Message Date
bae78ae8be debian-campt: Fix publish date 2025-03-30 17:40:03 +02:00
d723198320 New post: Debian MountainCamp 2025-03-30 17:29:51 +02:00
Wachtl Enterprises LLC
84db7a17bd Add Roundcube logo, to be included by webmail
Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-03-23 22:20:05 +01:00
04dc281cb8 Make German header fit again 2025-03-20 12:31:12 +00:00
1cddd1f66b New post: documentation 2025-03-20 12:29:57 +00:00
Wachtl Enterprises LLC
017714ca6a Add docs to main menu
Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-03-18 21:48:55 +01:00
Wachtl Enterprises LLC
8f03fd80c8 Update contact to match german
Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-03-18 21:44:48 +01:00
a61eb46c06 more webring recursion! 2025-03-16 15:17:27 +01:00
873fa99b46 Minor improvement to content/en/visiting 2025-03-12 12:14:32 +01:00
fd021c4379 Increase build timeout
Set the build timeout to 5mins. Building takes 56s on my laptop, if the
server has some load on the disks, it may need more time than that.
Bumping it therefore.

Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-03-11 20:17:28 +00:00
bf8e6719f5 Update membership info
New membership fee enacted in GV 2025.
2025-03-11 20:17:23 +00:00
b332c98a16 Add phone number 2025-02-27 17:44:56 +00:00
bd477f71d0 update resonance bandits links 2025-02-25 14:54:29 +01:00
fa63699635 slightly align footer 2025-02-20 01:53:16 +01:00
80e9f4f593 CI: cache LFS content 2025-02-19 19:51:20 +00:00
c91bcabec6 Update roadster submodule 2025-02-19 19:51:20 +00:00
c93e938af9 Use canonical English hacker ethics 2025-02-19 19:29:22 +00:00
c8e7af3af0 Add keywords param 2025-02-19 19:22:51 +00:00
a74076f8af Rebase theme changes on top of Roadster
https://github.com/mansoorbarri/roadster/
2025-02-19 19:22:51 +00:00
0882201091 Replace author with authors, add taxonomy
This is how Roadster does author post metadata.
2025-02-19 19:08:53 +00:00
0cd1a16f2b add hugo webring button 2025-02-19 19:29:05 +01:00
255c098cf3 make webring buttons crisp 2025-02-19 19:22:58 +01:00
bbc2149d8b highlight current language in language selector 2025-02-19 02:14:59 +01:00
Wachtl Enterprises LLC
06f672dd21 Map is now an iframe
I asked around, and most people seemed to agree, that this was the
sanest approach. So now we have this

Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-02-18 23:14:06 +01:00
edf8509bac responsive images fix 2025-02-18 22:49:59 +01:00
075bf9485c drop language switcher from sidebar 2025-02-18 20:09:52 +01:00
b5f1520f2b fix header language switcher styling 2025-02-18 20:08:58 +01:00
abed95a670 CI: build and use specific container image 2025-02-18 18:45:51 +00:00
a6788f3083 CI: add cache 2025-02-18 17:29:16 +00:00
7f598586f2 update robots.txt 2025-02-18 16:30:10 +01:00
fcfa0e3a03 add language selector to every page 2025-02-17 23:01:01 +01:00
9b2b7b402d split 'Neue Website' post into de/en versions 2025-02-17 20:59:58 +01:00
76ded1c817 Remove self-closing slashes from <img> elements
Not necessary, and w3c validator isn't happy with them.
2025-02-17 18:34:55 +00:00
e3359edc9b Add logo alt text 2025-02-17 18:34:45 +00:00
5525da47d9 replace 3 old images with found hi-res versions 2025-02-17 14:12:26 +01:00
3295381618 Add w3c validator badges 2025-02-16 20:10:45 +00:00
db19d4590a Fix invalid characters in atom feed 2025-02-16 19:47:23 +00:00
23a92aecf8 .gitignore: ignore hugo_versioned.toml 2025-02-16 19:09:28 +00:00
51ceaab67b Remove wrapping links around images from markdown
Many of these made no sense anyway, and the rest is already taken care
of by our image render layout, which automatically adds a link to the
source image.
2025-02-16 19:09:28 +00:00
f67baf5846 Update mainroad 2025-02-16 18:31:26 +00:00
00965dc244 more buttons 2025-02-16 05:27:14 +01:00
Romedius Weiss
9c7232007c 🚑 add references to missing blog entries 2025-02-16 03:54:26 +01:00
Romedius Weiss
7c148b8d2c 🔧 add aliases 2025-02-16 01:27:35 +01:00
Romedius Weiss
7526d5a99c more notes 2025-02-16 01:19:42 +01:00
Romedius Weiss
bbccc765b2 💡 add dummies for blog entries that need completion 2025-02-16 01:18:36 +01:00
Romedius Weiss
64fa8a8847 💡 add todo notes 2025-02-16 00:29:59 +01:00
Romedius Weiss
53540e53d9 🍱 add spaceinvasions and blog entries 2025-02-16 00:25:44 +01:00
d5d701c545 about page 2025-02-16 00:18:18 +01:00
Romedius Weiss
293ba52fdc 🍱 typo 2025-02-15 21:57:55 +01:00
Romedius Weiss
a7388024b5 Bento: add open house entry 2025-02-15 21:49:14 +01:00
54c17307ba pin submodule 2025-02-15 21:48:09 +01:00
0f1a55a865 pin submodule 2025-02-15 21:43:10 +01:00
Romedius Weiss
fbac15bc6e 🍱 add first posts from our website 2025-02-15 20:31:17 +01:00
Oha
3df724eb02 Added Ohaa button 2025-02-15 20:25:37 +01:00
Romedius Weiss
3ffd9610cf 🍱 update bleepdrum prototype file 2025-02-15 20:11:34 +01:00
Romedius Weiss
c968a5954f 🎨 improve formatting 2025-02-15 19:36:19 +01:00
Romedius Weiss
616240fa19 🚨 fixing linter errors 2025-02-15 17:57:26 +01:00
Romedius Weiss
2707216e95 Add makefile, adapt Readme, fix line lengths 2025-02-15 17:34:19 +01:00
Romedius Weiss
460c7d2fb1 🔧 add vscode sttings to gitignore 2025-02-15 15:48:56 +00:00
Romedius Weiss
e1920ab527 🔧 fix hugo version for those using hvm 2025-02-15 15:48:56 +00:00
Romedius Weiss
aeff4ac4b9 🔧 add draft note 2025-02-15 15:48:56 +00:00
Romedius Weiss
cc2b72a2d6 🔧 improve readme 2025-02-15 15:48:56 +00:00
Romedius Weiss
3ea3455682 added posts for spaceinvasion 2025-02-15 15:48:56 +00:00
7b9dea75ee Make fedi links nicer 2025-02-14 22:53:29 +00:00
c1ab2f0b36 Make EPVPN markup nicer 2025-02-14 22:48:06 +00:00
16765b84f4 Fix trailing spaces on links 2025-02-14 22:47:41 +00:00
Wachtl Enterprises LLC
c71bef3c22 Fedi and IRC/Matrix clarifications
Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-02-14 22:15:30 +01:00
a4ae6c5676 ah, forgot the hidden files :P 2025-02-14 19:31:53 +01:00
4e15bf19fd small fixes for wp-admin page 2025-02-14 19:12:22 +01:00
7fd571c651 fix trollface on wp-admin 2025-02-14 19:00:01 +01:00
ed0b01c719 trololo ┐(•_•)┌ 2025-02-14 18:50:14 +01:00
fbdbe31d6e slight responsive-image srcset fixes
backport from work hugo
2025-02-13 15:37:48 +01:00
19d20d6edc pin submodule 2025-02-13 00:22:01 +01:00
b3f27ae1ea Revert "pin submodule"
This reverts commit d5832c7eff.
2025-02-13 00:21:40 +01:00
d5832c7eff pin submodule 2025-02-13 00:21:16 +01:00
f576f47150 pin submodule 2025-02-13 00:10:32 +01:00
79aa8a92bc pin submodule 2025-02-13 00:09:15 +01:00
350ee15325 pin submodule 2025-02-12 23:56:47 +01:00
e02d147fb9 Update README.md 2025-02-12 18:12:41 +00:00
4686be04a1 Add just build target, use in CI 2025-02-12 18:05:55 +00:00
118746921e CI: allow slashes in branch names 2025-02-12 17:56:41 +00:00
35a9e59934 CI: use deploy action for all pushes 2025-02-12 17:56:41 +00:00
1b66950436 CI: use just check target 2025-02-12 17:56:41 +00:00
37de5e8198 CI: remove nonfunctional lint workflow 2025-02-12 17:56:41 +00:00
9937bd4e2a editorconfig: fix yml indentation 2025-02-12 17:56:41 +00:00
5c85e09ad5 Add clang-format config 2025-02-12 17:56:41 +00:00
fd529835a4 add missing atom definition 2025-02-12 18:53:30 +01:00
34cd9b0b89 drop atom feed module (lives in layouts in this repo) 2025-02-11 20:51:15 +01:00
ae6771fe8d add rgb glitch to header text 2025-02-09 16:14:31 +01:00
d26c60995c Make signal glitch effect less confusing
People were asking what the yellow light means. Now it more subtly
flickers to off instead.
2025-02-04 22:13:56 +00:00
2fde53c943 .editorconfig: limit line length in markdown files 2025-02-04 20:52:06 +00:00
332d6b4672 Add Justfile and markdownlint-cli2 config 2025-02-04 20:50:31 +00:00
98b8f25c87 Add Geekend announcement 2025-02-04 20:49:21 +00:00
qnpati
7bfe11502b added eastereggs. spoilers beware 2025-02-04 17:53:08 +01:00
qnpati
dce24262f8 default for nixies when javascript is blocked 2025-02-04 17:52:05 +01:00
b9cd9cb1b5 set version in footer 2025-02-03 23:00:47 +01:00
10f4d8a23c pin mainroad 2025-02-03 23:00:22 +01:00
d88fac4322 fix nixie double display on mobile 2025-02-03 22:51:32 +01:00
181e12e1a4 add webring section w/ 88x31 buttons 2025-02-03 22:41:19 +01:00
7b0a22826e fix nixie status on pages without status widget; prettier format 2025-02-03 22:40:27 +01:00
Wachtl Enterprises LLC
10fb1ea1f3 Update mainroad
Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-02-03 22:20:00 +01:00
Wachtl Enterprises LLC
0e368ad0d6 Remove extraneous blank lines
Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-02-03 22:13:55 +01:00
Wachtl Enterprises LLC
c792384b8c Update OSM image to newer version
This time, the svg used to generate the webp is included!

Signed-off-by: Wachtl Enterprises LLC <tyrolyean@escpe.net>
2025-02-03 22:12:18 +01:00
197d3319bb make responsive images more great 2025-02-03 21:56:10 +01:00
qnpati
f8859950ed nixies 2025-02-03 20:08:47 +01:00
qnpati
3802b3e8c8 fix typo 2025-02-03 17:23:16 +01:00
264 changed files with 56414 additions and 449 deletions
.clang-format.editorconfig
.forgejo
.gitattributes.gitignore.gitmodules.hvm.markdownlint-cli2.jsoncJustfileMakefileREADME.md
assets
css
images
buttons
posts
2010-08-17-init
2010-10-02-got-space
2010-12-08-open-house
2011-05-16-year-0
2014-03-14-temporary-space-invasion-bitstindl
2014-04-05-bleepdrum-prototype
2014-04-18-el-wire-workshop
2014-04-21-mini-drone
2014-04-27-taming-pythons
uploads
js
content
_index.md
de
about.md
archive
contact.mdlinks.md
posts
2010-08-17-init.md2010-10-02-got-space.md2010-12-08-open-house.md2011-03-16-python-workshop.md2011-05-16-year-0.md2011-09-12-30-jahre-ccc.md2011-11-12-wolo-anon-austria.md2011-12-23-no nerd-left-behind.md2012-02-02-acta-informations-video.md2012-02-09-Stopp-ACTA-Demo-Innsbruck.md2012-02-xx copy 4.md2012-03-19-vds-demo.md2012-05-01-year-1-party.md2012-05-02 copy 2.md2012-06-14-stack-overflows.md2012-12-28-syndikat-auch-am-26c3.md2013-01-05-temporary-space-invasion.md2013-01-13-Temporary-space-invasion-erste-einfruecke.md2013-01-21-Der-3D-Drucker-druckt.md2013-01-25-1-fritz-lang-metropolis.md2013-02-24-diy-pcb-mit-loetstopmaske.md2013-03-14-noch-ein-paar-fotos.md2013-05-10-year-10-party.md2013-05-28-towel-day-playlist.md2013-07-23-Cryptoparty.md2013-07-23-sysadmin-day.md2013-08-25-HARD-DJ-VU.md2013-09-02-Cryptoparty2.md2013-10-02-neuer-3d-Drucker.md2013-10-23-Midibox copy.md2013-10-26-Und-er-druckt.md2013-10-30-Embedded-Linux-Ws.md2014-02-11-1-isitopen.md2014-02-11-2-thor-is-here copy.md2014-02-13-lasercutter.md2014-02-20-beagle-bone-black copy.md2014-02-22-firefly-board-game.md2014-02-27-Robelux-growing.md2014-03-03-SMD-Ofen copy.md2014-03-09-EL-Wires.md2014-03-14-temporary-space-invasion-bitstindl.md2014-04-03-noobs-can-triforce.md2014-04-05-bleepdrum-prototype.md2014-04-17-01-the-white-room-used-for-workshops.md2014-04-17-ancient-anguish.md2014-04-17-racing-timer.md2014-04-18-atari-punk-console.md2014-04-18-el-wire-workshop-dont-panic.md2014-04-18-el-wire-workshop.md2014-04-21-arduino-workshop.md2014-04-21-mini-drone.md2014-04-21-workshop.md2014-04-27-bleep-drum.md2014-04-27-taming-pythons.md2014-05-07-year11party-dont-panic!.md

7
.clang-format Normal file
View file

@ -0,0 +1,7 @@
---
Language: JavaScript
UseTab: Always
IndentWidth: 4
TabWidth: 4
LineEnding: LF
---

View file

@ -6,6 +6,13 @@ insert_final_newline = true
charset = utf-8
indent_style = tab
[*.md]
max_line_length = 80
[*.toml]
indent_style = space
indent_size = 2
[*.yml]
indent_style = space
indent_size = 2

View file

@ -0,0 +1,6 @@
# Containerfile for CI build container
FROM archlinux:base-devel
RUN pacman -Sy --noconfirm archlinux-keyring && pacman -Syu --noconfirm nodejs git openssh hugo go git-lfs rsync just markdownlint-cli2 clang
RUN git lfs install

View file

@ -0,0 +1,18 @@
on:
workflow_dispatch:
schedule:
cron: "0 17 * * 2" # every monday evening
jobs:
build_and_push:
name: Build and push container
runs-on: archlinux
steps:
- name: Login to registry
run: echo ${{ secrets.CONTAINER_REGISTRY_PASS }} | docker login -u ${{ vars.CONTAINER_REGISTRY_USER }} --password-stdin git.it-syndikat.org
- name: Build and push
uses: docker/build-push-action@v6
with:
file: .forgejo/Containerfile.build
push: true
tags: ${{ vars.BUILDER_CONTAINER_NAME }}

View file

@ -1,42 +1,54 @@
name: Push to webserver
on:
push:
branches:
- master
name: Build and push to webserver
on: [push]
jobs:
test:
runs-on: docker
container:
image: node:latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: https://github.com/DavidAnson/markdownlint-cli2-action@v19
with:
globs: '**/*.md'
build:
runs-on: docker
needs: test
container:
image: archlinux:base-devel
image: ${{ vars.BUILDER_CONTAINER_NAME }}
env:
HUGO_CACHEDIR: /tmp/hugo_cache
steps:
- name: Prepare container
run: |
pacman -Sy --noconfirm archlinux-keyring
pacman -Syu --noconfirm
pacman -S --noconfirm nodejs git make pacman-contrib base base-devel openssh wget curl procps-ng bash hugo go git-lfs rsync
git lfs install
- name: Checkout
# LFS caching courtesy of https://github.com/actions/checkout/issues/165#issuecomment-657673315
- name: Checkout without LFS
uses: actions/checkout@v4
with:
submodules: recursive
lfs: 'true'
lfs: 'false'
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v4
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}-v1
restore-keys: ${{ runner.os }}-lfs-
- name: Git LFS Pull
run: git lfs pull
# Hugo caching
- name: Get current date (for cache eviction)
id: get-date
run: echo "year-month-day=$(date --utc +'%Y%m%d')" >> $GITHUB_OUTPUT
- name: Restore cached build artifacts
uses: actions/cache@v4
with:
# Caches are immutable, create a new cache every day so it's always somewhat fresh.
key: ${{ runner.os }}-hugo-${{ steps.get-date.outputs.year-month-day }}
# If no cache has been created yet today, restore a previous one.
restore-keys: ${{ runner.os }}-hugo-
path: |
resources/_gen/
${{ env.HUGO_CACHEDIR }}
- name: Check
run: just check
- name: Build website
run: |
hugo build --minify
run: just build
- name: Copy to server
if: github.ref == 'refs/heads/master'
run: |
mkdir -p ~/.ssh
chmod -R 700 ~/.ssh

View file

@ -1,15 +0,0 @@
name: Push to webserver
on:
push:
- '!master'
jobs:
test:
runs-on: docker
container:
image: node:latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: https://github.com/DavidAnson/markdownlint-cli2-action@v19
with:
globs: '**/*.md'

1
.gitattributes vendored
View file

@ -6,3 +6,4 @@
*.ttf filter=lfs diff=lfs merge=lfs -text
*.woff filter=lfs diff=lfs merge=lfs -text
*.woff2 filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text

6
.gitignore vendored
View file

@ -11,3 +11,9 @@ hugo.linux
# Temporary lock file while building
/.hugo_build.lock
# vs code imports
settings.json
# generated by create_versioned_hugo_toml.sh
hugo_versioned.toml

4
.gitmodules vendored
View file

@ -1,3 +1,3 @@
[submodule "themes/mainroad"]
path = themes/mainroad
[submodule "themes/roadster"]
path = themes/roadster
url = https://git.it-syndikat.org/IT-Syndikat/Mainroad.git

1
.hvm Normal file
View file

@ -0,0 +1 @@
v0.143.1

3
.markdownlint-cli2.jsonc Normal file
View file

@ -0,0 +1,3 @@
{
"globs": ["**/*.md", "!themes/roadster"]
}

14
Justfile Normal file
View file

@ -0,0 +1,14 @@
check:
markdownlint-cli2
clang-format --dry-run assets/js/*.js
format:
markdownlint-cli2 --fix
clang-format -i assets/js/*.js
build:
./create_versioned_hugo_toml.sh hugo.toml hugo_versioned.toml
hugo build --config hugo_versioned.toml --minify
serve:
hugo serve

14
Makefile Normal file
View file

@ -0,0 +1,14 @@
check:
markdownlint-cli2
clang-format --dry-run assets/js/*.js
format:
markdownlint-cli2 --fix
clang-format -i assets/js/*.js
build:
./create_versioned_hugo_toml.sh hugo.toml hugo_versioned.toml
hugo build --config hugo_versioned.toml --minify
serve:
hugo serve

View file

@ -23,12 +23,17 @@ This repository contains the <https://it-syndikat.org> or
## Edit the site
## Dependencies
### Dependencies
- hugo
- git
- git-lfs
- Golang (for hugo modules)
- clang-format (for formating javascript files)
- markdownlint-cli2 (for formating markdown)
- for debian the easiest way to use it is to intall it via node as a global
command: `npm install markdownlint-cli2 --global`
- just or make (please keep the Makefile and the Justfile feature-equivalent)
After installing *git-lfs* run `git lfs install` once to make it available
system-wide.
@ -45,11 +50,21 @@ if not, you need to run `git lfs pull`.
This site was built using [Hugo](https://gohugo.io/). To preview the site while
editing it, you can use the `hugo server` command.
To build it locally run `hugo build`.
To make sure all formatting is correct, run `just check`/`just format`.
To build it locally run `just build`.
### Deployment
This website is auto deployed using a forgejo runner and forgejo actions. A
testing step including a linter has been included to prevent the pipeline from
deploying broken sites. If you changes do not deploy, please check the
deploying broken sites. If your changes do not deploy, please check the
actions tab.
### Markdown header entries
Please use the following:
- draft: true - to mark an entry as draft
- todo: notes what needs to be done
- recovery-source: link to archive.org

View file

@ -1,3 +1,11 @@
{{- $highlightColor := .Site.Params.style.vars.highlightColor | default (.Site.Params.highlightColor | default "#e22d30") -}}
:root {
--nixie-orange: orange;
--nixie-orange-glow: #ffa500;
--nixie-green: #17e129;
}
.sensor-table * {
border: none;
}
@ -9,6 +17,36 @@
padding: 0;
}
.languages-compact {
position: absolute;
right: 0;
bottom: 0;
padding: 0 0.4rem;
padding-bottom: 0.2rem;
z-index: 100;
}
.languages-compact a,
.languages-compact span {
font-size: 1em;
transition: color .25s ease-out;
font-weight: bold;
text-shadow: 3px 2px 2px black;
}
.languages-compact a:not(:hover),
.languages-compact span {
color: white;
}
.languages-compact a.current-lang {
color: {{ $highlightColor }};
}
#main-banner {
position: relative;
}
.error__404 {
font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif;
}
@ -17,6 +55,117 @@ code {
padding: 5px 10px;
}
.menu-status {
margin-left: auto;
margin-right: 1rem;
display: flex;
align-items: center;
}
.menu__btn-title {
padding-bottom: 0;
}
.tube-box {
display: flex;
align-items: center;
gap: 0.5rem;
}
.tube-box-title {
margin-left: auto;
}
.tube {
padding: 0.5rem;
width: 1.8rem;
text-align: center;
box-shadow: inset 0 0 25px 10px rgba(0,0,0,0.45);
color: var(--nixie-orange);
border-radius: 10px 10px 0 0;
border: 0.15rem solid rgb(20, 20, 20);
position: relative;
overflow: hidden;
}
.tube::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 70%);
animation: flicker 2s infinite;
opacity: 0.5;
}
.tube > span {
color: #FAE48E;
text-shadow: 2px 0 3px var(--nixie-orange), -2px 0 3px var(--nixie-orange), 0 2px 3px var(--nixie-orange), 0 -2px 3px var(--nixie-orange), 0 0 1rem var(--nixie-orange), 0 0 2rem var(--nixie-orange), 0 0 2rem var(--nixie-orange), 0 0 3rem var(--nixie-orange);
opacity: 1;
display: inline-block;
animation: glow 1s infinite;
transition: all 0.5s ease-in-out;
}
@keyframes flicker {
0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
opacity: 0.99;
}
20%, 24%, 55% {
opacity: 0.4;
}
}
@keyframes glow {
0%, 100% {
text-shadow: 2px 0 3px var(--nixie-orange), -2px 0 3px var(--nixie-orange), 0 2px 3px var(--nixie-orange), 0 -2px 3px var(--nixie-orange), 0 0 1rem var(--nixie-orange), 0 0 2rem var(--nixie-orange), 0 0 2rem var(--nixie-orange), 0 0 3rem var(--nixie-orange);
}
50% {
text-shadow: 2px 0 4px var(--nixie-orange), -2px 0 4px var(--nixie-orange), 0 2px 4px var(--nixie-orange), 0 -2px 4px var(--nixie-orange), 0 0 1.5rem var(--nixie-orange), 0 0 3rem var(--nixie-orange), 0 0 3rem var(--nixie-orange), 0 0 4rem var(--nixie-orange);
}
}
#nyan-cat {
position: fixed;
top: 50%;
left: -200px; /* Start off-screen */
transform: translateY(-50%);
animation: nyanFly 10s linear infinite;
}
@keyframes nyanFly {
0% {
left: -200px;
}
100% {
left: 100%;
}
}
#pac-man {
position: absolute;
top: 23.5%;
left: -100px; /* Start off-screen */
z-index: 100;
transform: translateY(-50%);
transform: rotate(180deg);
animation: pacManMove 10s linear forwards;
}
#pac-man img {
width: 50px;
}
@keyframes pacManMove {
0% {
left: -100px;
}
100% {
left: 100%;
}
}
/*** FONTS ***/
@font-face {
@ -99,6 +248,7 @@ code {
z-index: 100;
}
.logo__imagebox {
grid-column: 2;
text-align: center;
display: inline-block;
padding: 1rem;
@ -141,3 +291,60 @@ code {
fill: white;
}
}
@media screen and (max-width: 768px) {
.menu-status #status-tube {
display: none;
}
}
.logo__text:hover {
animation: rgb-glitch 1500ms ease infinite alternate;
}
@keyframes rgb-glitch {
0% {
color: rgba(255, 255, 255, 0.5);
text-shadow: 7px 3px 0px rgb(255, 0, 0), -3px 3px 0px rgb(0, 255, 0);
}
20% {
text-shadow: 7px 3px 0px rgb(0, 255, 0), -3px 3px 0px rgb(0, 0, 255),
3px -3px 0px rgb(255, 0, 0);
}
22% {
text-shadow: 3px 3px 0px rgb(0, 255, 0), -3px 3px 0px rgb(0, 0, 255),
3px -3px 0px rgb(255, 0, 0);
}
25% {
text-shadow: 3px 3px 0px rgb(0, 255, 0), -3px 3px 0px rgb(0, 0, 255),
3px -3px 0px rgb(255, 0, 0);
}
60% {
text-shadow: 4px 2px 0px rgb(0, 255, 0), -3px 3px 0px rgb(0, 0, 255),
3px -3px 0px rgb(255, 0, 0);
}
65% {
text-shadow: 4px 2px 0px rgb(0, 255, 0), -3px 7px 0px rgb(0, 0, 255),
13px -3px 0px rgb(255, 0, 0);
}
67% {
color: rgba(255, 255, 255, 1);
text-shadow: 4px 2px 0px rgb(0, 255, 0), -3px 7px 0px rgb(0, 0, 255),
3px -3px 0px rgb(255, 0, 0);
}
90% {
text-shadow: 3px 3px 0px rgb(0, 0, 255), -3px 3px 0px rgb(255, 0, 0),
3px -3px 0px rgb(0, 255, 0);
}
92% {
text-shadow: 0px 0px 0px none;
}
}
.widget-webring__button {
margin-bottom: 0.5rem;
image-rendering: pixelated;
}
.footer__version {
text-align: center;
}

BIN
assets/images/buttons/deneb.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/drkhsh.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/hugo.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/itsyndikat.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/oha.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/pentaculum.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/rb.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/valid-atom.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/buttons/valid-rss.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/posts/2010-08-17-init/tastaturstern.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/posts/2010-10-02-got-space/ballon.jpeg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/posts/2010-12-08-open-house/flyer.jpg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/posts/2011-05-16-year-0/flyer.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/images/posts/2014-04-21-mini-drone/6347_cb14.jpg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/images/posts/2014-04-27-taming-pythons/3279_0055.jpg (Stored with Git LFS) Normal file

Binary file not shown.

53208
assets/images/uploads/map.svg Normal file

File diff suppressed because one or more lines are too long

After

(image error) Size: 9.5 MiB

BIN
assets/images/uploads/map.webp (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -2,58 +2,474 @@ const spaceApiUrl = "https://spaceapi.it-syndikat.org/api/";
let statusValue;
function setSignalColour(colour) {
for (const c of ["red", "yellow", "green"]) {
document.getElementById(`signal-${c}`).style.display =
c == colour ? "block" : "none";
}
for (const c of ["red", "yellow", "green"]) {
document.getElementById(`signal-${c}`).style.display =
c == colour ? "block" : "none";
}
}
const hasSensorsWidget = () =>
document.getElementsByClassName("widget-sensors").length > 0;
document.getElementsByClassName("widget-sensors").length > 0;
async function randomDelay(min, max) {
await new Promise((resolve) =>
setTimeout(resolve, (Math.random() * (max - min) + min) * 1000),
);
function randomRange(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
async function signalGlitch(minDelay, maxDelay) {
while (true) {
await randomDelay(3, 7);
setSignalColour("yellow");
await randomDelay(0.5, 1.5);
setSignalColour(statusValue ? "green" : "red");
}
async function delay(millis) {
await new Promise(
(resolve) => setTimeout(resolve, millis),
);
}
async function signalGlitch(minDelay, maxDelay) {
while (true) {
await delay(randomRange(1000, 8000));
let num_flickers = randomRange(1, 4);
for (let i = 0; i < num_flickers; i++) {
setSignalColour(null);
await delay(randomRange(20, 50));
setSignalColour(statusValue ? "green" : "red");
await delay(randomRange(80, 300));
}
}
}
/**
* used to display up to 6 letters or numbers in some neat looking nixie tubes.
* @param {string} content the content to be displayed in the nixie tubes.
*/
function setNixieContent(content) {
content = content.toUpperCase();
let tube_boxes = document.getElementsByClassName("tube-box");
Array.prototype.forEach.call(tube_boxes, (tube_box, index) => {
let tubes = tube_box.getElementsByClassName("tube");
Array.prototype.forEach.call(tubes, (tube, index) => {
const span = tube.querySelector("span");
if (index < content.length) {
span.textContent = content.split("")[index];
} else {
span.textContent = "";
}
});
});
}
/**
* changes the colors of the nixies.
* @param {string} color can be a variable or hexcode.
*/
function setNixieColor(color) {
document.documentElement.style.setProperty('--nixie-orange', color);
}
// The Easter Egg Section. Beware of spoilers!
// the variable names are bad on purpose to prevent spoilers ;)
/* ി )
*/
// cause everything is better with rainbows.
function nixieRainbow() {
const tubeSpans = document.querySelectorAll('.tube>span');
const numberOfSpans = tubeSpans.length;
tubeSpans.forEach((span, index) => {
const hue = Math.floor((360 / numberOfSpans) * index);
const color = `hsl(${hue}, 100%, 50%)`;
span.style.color = color;
span.style.textShadow = `2px 0 3px ${color},
-2px 0 3px ${color},
0 2px 3px ${color},
0 -2px 3px ${color},
0 0 1rem ${color},
0 0 2rem ${color},
0 0 2rem ${color},
0 0 3rem ${color}`;
span.style.animation = 'none';
});
}
function resetNixieRainbow() {
const tubeSpans = document.querySelectorAll('.tube>span');
tubeSpans.forEach((span) => {
span.style.color = '';
span.style.textShadow = '';
span.style.animation = '';
});
}
function handleInput(event) {
let typedText = event.target.value;
setNixieContent(typedText);
inputCodeCheck(typedText);
}
function inputCodeCheck(typedText) {
switch (typedText.toLowerCase()) {
case "(){:;}":
shellShock();
break;
case "matrix":
matrix();
break;
case "barrel":
barrel();
break;
case "astley":
astley();
break;
case "kawaii":
nyan_cat();
break;
case "pacman":
pacman();
break;
case "gamble":
gamble();
break;
case "drkhsh":
drkhsh();
break;
}
}
const code = [ 38, 38, 40, 40, 37, 39, 37, 39, 66, 65 ];
const code_two = [
48, 49, 49, 56, 57, 57, 57, 56, 56, 49,
57, 57, 57, 49, 49, 57, 55, 50, 53, 51
];
let currentStepOne = 0;
let currentStepTwo = 0;
let codeEntered = false;
// Function to check the key sequence
function checkSequence(e) {
if (!codeEntered) {
if (e.keyCode === code[currentStepOne]) {
currentStepOne++;
if (currentStepOne === code.length) {
codeEntered = true;
currentStepOne = 0;
setNixieColor('var(--nixie-green)');
setNixieContent("ITCRWD");
let search_field =
document.getElementsByClassName("widget-search__field")[0];
search_field.placeholder = 'Emergency Services';
}
} else {
currentStepOne = 0;
}
} else {
if (e.keyCode === code_two[currentStepTwo]) {
currentStepTwo++;
if (currentStepTwo === code_two.length) {
nixieRainbow();
let search_field =
document.getElementsByClassName("widget-search__field")[0];
search_field.placeholder = 'user@it-syndikat:~$';
setTimeout(() => {
search_field.value = '';
search_field.blur();
setNixieContent('UNLCKD');
}, 0);
search_field.addEventListener('input', handleInput);
currentStepTwo = 0;
codeEntered = false;
}
} else {
currentStepTwo = 0;
}
}
}
// Add event listener for keydown events
window.addEventListener('keydown', checkSequence);
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [ array[j], array[i] ];
}
return array;
}
function shuffleString(
inputString,
charSet =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+[]{}|;:,.<>?') {
let characters = inputString.split('');
for (let i = 0; i < inputString.length; i++) {
characters.push(charSet[Math.floor(Math.random() * charSet.length)]);
}
for (let i = characters.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[characters[i], characters[j]] = [ characters[j], characters[i] ];
}
return characters.join('');
}
function shellShock() {
resetNixieRainbow();
setNixieColor('red');
let all = document.body.querySelectorAll('*');
const shuffledElements = shuffleArray(Array.from(all));
shuffledElements.forEach((element, index) => {
setTimeout(() => {
element.style.display = 'none';
if (index === shuffledElements.length - 1) {
setTimeout(
() => { document.body.innerText = "But nobody came."; },
100);
}
}, index * 100);
});
}
function matrix() {
resetNixieRainbow();
setNixieColor('var(--nixie-green)');
setInterval(() => { setNixieContent(shuffleString('matrix')); }, 100);
}
function barrel() {
document.body.style.transition = 'transform 5s';
document.body.style.transform = 'rotate(360deg)';
setTimeout(() => {
document.body.style.transition = '';
document.body.style.transform = '';
}, 5000);
}
function astley() {
let primary = document.querySelector('.primary');
let sidebar = document.querySelector('.sidebar');
primary.style.display = 'none';
sidebar.style.display = 'none';
let wrapper = document.querySelector('.wrapper.flex');
const div = document.createElement('div');
div.innerHTML = `
<video width="560" height="315" autoplay><source src="/videos/eastereggs/guesswhat.mp4" type="video/mp4"></video>`;
wrapper.appendChild(div);
}
function nyan_cat() {
const nyanCatDiv = document.createElement('div');
nyanCatDiv.id = 'nyan-cat';
const nyanCatImg = document.createElement('img');
nyanCatImg.src = '/images/eastereggs/nyancat.gif';
nyanCatImg.alt = 'Nyan Cat';
nyanCatDiv.appendChild(nyanCatImg);
document.body.appendChild(nyanCatDiv);
}
function pacman() {
resetNixieRainbow();
setNixieColor('yellow');
const pacManDiv = document.createElement('div');
pacManDiv.id = 'pac-man';
pacManDiv.innerHTML = `
<img src="/images/eastereggs/pacman.gif" alt="Pac-Man">
`;
document.body.appendChild(pacManDiv);
const elements =
document.querySelectorAll('.menu__item, .tube, .tube>span');
function checkCollision() {
const rect1 = pacManDiv.getBoundingClientRect();
elements.forEach((element) => {
const rect2 = element.getBoundingClientRect();
if (rect1.left < rect2.left + rect2.width &&
rect1.left + rect1.width > rect2.left &&
rect1.top < rect2.top + rect2.height &&
rect1.top + rect1.height > rect2.top) {
if (element.nodeName === "LI") {
element.style.visibility = 'hidden';
} else {
element.style.display = 'none';
}
}
});
// Continue checking for collisions
requestAnimationFrame(checkCollision);
}
// Continue checking for collisions
requestAnimationFrame(checkCollision);
}
function gamble() {
// make lever
let tubeBoxes = document.querySelectorAll('.tube-box');
tubeBoxes.forEach(tubeBox => {
let lever = document.createElement('button');
lever.textContent = 'Go';
lever.classList.add('btn');
lever.addEventListener('click', startSlotMachine);
tubeBox.prepend(lever);
// amount display
let amountSpan = document.createElement('span');
amountSpan.textContent = "1337€";
amountSpan.id = "score";
tubeBox.insertBefore(amountSpan, lever);
});
}
let intervalId;
function startSlotMachine() {
intervalId =
setInterval(() => { setNixieContent(shuffleString('gamble')); }, 100);
setTimeout(stopSlotMachine, 2000);
}
function stopSlotMachine() {
clearInterval(intervalId);
// evaluate
let matches = countMatches();
let score = evaluateScore(matches);
applyScore(score);
}
function countMatches() {
let tubes = document.querySelectorAll('.tube>span');
let symbols = Array.from(tubes).map(tube => tube.textContent);
symbols.splice(-6);
const symbolCounts = symbols.reduce((acc, symbol) => {
acc[symbol] = (acc[symbol] || 0) + 1;
return acc;
}, {});
return Math.max(...Object.values(symbolCounts));
}
function evaluateScore(matches) {
let score;
switch (matches) {
case 6:
score = 1337;
break;
case 5:
score = 420;
break;
case 4:
score = 69;
break;
case 3:
score = 13;
break;
case 2:
score = 5;
break;
default:
score = -25; // No matches or only 1 match
}
return score;
}
function applyScore(score) {
// ik this is hacky, but it works
let scoreSpan = document.querySelectorAll('#score')[1];
let scoreNum = parseFloat(scoreSpan.textContent);
scoreNum += score;
scoreSpan.textContent = `${scoreNum}`;
if (scoreNum <= 0) {
setNixieColor('red');
setNixieContent('DEATH💀')
}
}
function drkhsh() {
resetNixieRainbow();
setNixieColor('#a507b5');
}
window.onload = () => {
fetch(spaceApiUrl)
.then((response) => response.json()) // Parse the JSON from the response
.then((data) => {
const coreTemperatureValue = data.sensors.temperature[0].value;
const coreHumidityValue = data.sensors.humidity[0].value;
statusValue = data.state.open;
fetch(spaceApiUrl)
.then((response) => response.json()) // Parse the JSON from the response
.then((data) => {
const coreTemperatureValue = data.sensors.temperature[0].value;
const coreHumidityValue = data.sensors.humidity[0].value;
statusValue = data.state.open;
setSignalColour(statusValue === false ? "red" : "green");
setSignalColour(statusValue === false ? "red" : "green");
if (hasSensorsWidget()) {
document.getElementById("temperature-display").textContent =
`${coreTemperatureValue} °C`;
document.getElementById("humidity-display").textContent =
`${coreHumidityValue} %`;
document.getElementById("status-display").textContent =
statusValue === false ? "CLOSED" : "OPEN";
}
})
.catch((error) => {
console.error("Error fetching SpaceAPI data:", error);
document.getElementById("temperature-display").textContent =
"Failed to load data.";
document.getElementById("humidity-display").textContent =
"Failed to load data.";
document.getElementById("status-display").textContent =
"Failed to load state.";
});
if (hasSensorsWidget()) {
document.getElementById("temperature-display").textContent =
`${coreTemperatureValue} °C`;
document.getElementById("humidity-display").textContent =
`${coreHumidityValue} %`;
document.getElementById("status-display").textContent =
statusValue === false ? "CLOSED" : "OPEN";
}
signalGlitch();
// status nixie tubes!!
const content = statusValue ? "OPEN<3" : "CLOSED";
setNixieContent(content);
})
.catch((error) => {
console.error("Error fetching SpaceAPI data:", error);
document.getElementById("temperature-display").textContent =
"Failed to load data.";
document.getElementById("humidity-display").textContent =
"Failed to load data.";
document.getElementById("status-display").textContent =
"Failed to load state.";
});
signalGlitch();
};

3
content/_index.md Normal file
View file

@ -0,0 +1,3 @@
---
weight: 1
---

36
content/de/about.md Normal file
View file

@ -0,0 +1,36 @@
---
title: Über uns
authorbox: false
menu: main
toc: false
weight: 1
unlisted: true
---
Das IT-Syndikat, "Verein zur Förderung des freien Zugangs zu technischer Fort-
und Weiterbildung jeglicher Art", ist ein Hackerspace in Innsbruck. Wir sind
in den Räumlichkeiten vom Verein [cunst&co](https://cunst.net/) untergebracht.
> Hackerspaces (auch Hacklabs, Hackspaces) sind von der Community betriebene
> physische Orte, an denen Menschen ihr Interesse am Herumtüfteln an Technologie
> teilen, sich treffen, an ihren Projekten arbeiten und voneinander lernen.
([hackerspaces.org](https://hackerspaces.org))
Unsere Grundsätze sind an die [Hacker-Ethik des
Chaos-Computer-Clubs](https://www.ccc.de/de/hackerethik) angelehnt:
- Mülle nicht in den Daten anderer Leute.
- Öffentliche Daten nützen, private Daten schützen. Alle Informationen müssen
frei sein.
- Der Zugang zu Technik und allem, was einem zeigen kann, wie diese Welt
funktioniert, sollte unbegrenzt und vollständig sein.
- Misstraue Autoritäten fördere Dezentralisierung.
- Beurteile eine Häckse oder einen Hacker nach dem, was er oder sie tut und
nicht nach üblichen Kriterien wie Aussehen, Alter, ethnischer Zugehörigkeit,
Geschlecht oder gesellschaftlicher Stellung.
- Man kann mit Technik Kunst und Schönheit schaffen.
- Technik kann dein Leben zum Besseren verändern.
Bitte behaltet euch diese Grundsätze beim Besuch im Hinterkopf.
[Mehr Infos zu Besuch & Mitgliedschaft.](/visiting)

View file

@ -0,0 +1,184 @@
---
title: 'Temporary Space Invasion II: Bitstindl'
date: 2014-04-13
authors: ["IT-Syndikat"]
tags: []
todo: videos einbetten
recovery-source: https://web.archive.org/web/20140724093601/http://it-syndikat.org/pages/bitstindl.html
draft: true
aliases:
- '/pages/bitstindl.html'
---
In einer Reihe von Workshops bringen wir interessierten Menschen den kreativen
Umgang mit modernen Technologien näher.
Unsere Werkstatt wird nun von 15. bis 27. April im Rahmen des
Vorbrenner-Beirats in das Freie Theater verlegt. Die Haecksen und Hacker des
IT-Syndikats bringen zur "Space Invasion" ein dichtes Programm mit. In
Workshops können technik-interessierte Innsbruckerinnen
und Innsbrucker aller Altersgruppen erste hands-on Erfahrungen sammeln oder
ihr Wissen erweitern. Daneben steht die Werkstatt offen zum spontanen Basteln
und Plaudern. Vorträge und Diskussionen zu verschiedenen Themen runden die
zweiwöchige Veranstaltung ab.
Geboten werden unter anderem Workshops zu 3D-Druck, Arduino Programmierung,
Elektronik für Anfänger und Fortgeschrittene und dem sicheren Umgang mit
Emailverschlüsselung.
Das gesamte Programm wird hier auf der Webseite bekannt gegeben. Da bei
den Workshops nur begrenzt Arbeitsplätze zur Verfügung stehen, wird um
Anmeldung gebeten.
Aktuell - 13.4. - sind noch für alle Workshops Plätze verfügbar. Anmeldungen
bitte an wir(ät)it-syndikat.org
![Overview](/images/posts/2014-03-14-temporary-space-invasion-bitstindl/TSI2-scaled.jpg)
## Open Tuesday: Invasionsstart
__Dienstag 15.4.2014 18:00-22:00__
Zum Start der Invasion wird unser traditioneller Open Tuesday ins Freie
Theater verlagert. Alle sind willkommen gemeinsam mit den Haecksen und Hackern
zu diskutieren, programmieren, löten und basteln.
## Atari-Punk-Console Workshop
__Donnerstag 17.04.2014 18:00-22:00__
Max. Teilnehmer 8
Bei der Atari-Punk-Console handelt es sich um einen Synthesizer, welcher aus
zwei einfachen Oszillatoren (NE555) besteht und einen sehr Atari-ähnlichen
Sound generiert. Für die Generierung von einfachen Rythmen ist steht weiters
ein 4-fach Sequenzer zur Verfügung. Dieser generiert zyklisch vier
einstellbare Spannungen, durch welche sich die Frequenz des Synthesizers
steuern lässt. Der Synthesizer lässt sich über eine 3,5mm Klinkenbuchse an
beliebige Verstärker anschließen bzw. ist auch für den Kopfhöreranschluss
geeignet. Versorgt mit einer 9V-Block-Batterie ist die Atari-Punk-Console
immer und überall dabei, wo ordentlich viel Noise generiert werden muss
(missing video: punk conole)
## El Wire Workshop
__Freitag 18.04.2014 18:00-22:00__
Max. Teilnehmer 8
EL-Wires oder zu Deutsch "EL-Kabel" sind flexible ca. 2,5 mm dicke Kabel, die
elektrisch zum Leuchten gebracht werden. Durch verschiedene Färbungen werden
diese in allen möglichen Farben hergestellt.
Gemeinsam werden wir mit diesen Kabeln mitgebrachte Kleidungsstücke,
Gebrauchsgegenstände oder ähnliches zum leuchten bringen. Dazu schneiden wir
die Wires zurecht, verkabeln sie neu und bringen diese am Wunschobjekt an.
(missing video: el wires)
## 3D Druck Workshop
__Sa 19.04.2014 14:00__
Max. Teilnehmer 10
In diesem Workshop wird eine kleine Einführung in Rapid Prototyping mit
3D-Druckern gegeben. Es werden die nötigen open Source Werkzeuge zum umwandeln
der 3D Dateien in die Druckpfade vorgestellt und die Einstellungsmöglichkeiten
für den Drucker vorgestellt.
## Arduino Basics
__So 20.04.2014 16:00__
Max. Teilnehmer 10
Die Arduino Plattform ist eine sehr beliebte Basis für verschiedenste
Elektronikprojekte. Das einfache Auslesen und anzeigen verschiedenster
Sensoren ist die erste Fingerübung. Gemeinsam wird ein kleines digitales
Thermometer und ein Feuchtigkeitsmesser mit Anzeige gebaut.
Weitere Informationen unter Arduino.cc
## Cryptoparty Emailverschlüsselung mit PGP & Keysigning Party & CACert assuren
__Mo 21.04.2014 18:00-22:00__
Max. Teilnehmer 20
Unsere CryptoParty konzentriert sich diesmal auf Email-Verschlüsselung:
theoretische Grundlagen, weniger beachtete Ecken von PGP, das Web-of-Trust,
häufige Fehler und verbreitete Irrtümer. Bei Interesse können natürlich auch
andere klassische Themen wie Tor, CAcert oder TrueCrypt besprochen werden.
Im Anschluss findet eine Keysigning-Party für PGP und eine Assurance-Session
für CAcert statt, bei Teilnahmewunsch also bitte ein amtliches Dokument zur
persönlichen Identifikation mitnehmen.
Weitere Informationen unter [www.cryptoparty.in](https://www.cryptoparty.in)
## Open Tuesday
__Dienstag 22.4.2014 18:00-22:00__
Wie jeden Dienstag: Open House. Alle sind willkommen gemeinsam mit den
Haecksen und Hackern zu diskutieren, programmieren, löten und schrauben bis es
blinkt und fiept.
## Producing electronic Music
__Do 24.04.2014 19:00__
Max. Teilnehmer 10
In diesem Workshop wird Renoise vorgestellt, ein Rastersequenzer(Tracker) mit
dem man einen einfachen Einstieg in die Erstellung digitaler Musik schafft.
Dieser Workshop schafft einen Überblich über die Funktionalität und lädt zum
digitalen spielen ein.
Themenübersicht:
* Geschichte von Trackern
* Unterschied Tracker vs. Sequenzer
* Überblick Renoise Software
* Überblick Tontechnik (Frequenz vs. Zeitbereich, EQ, Compressor, Lautstärke
Peak vs. RMS, Kurzüberblick Mix/Mastering)
* Überblick Musiktheorie (Akkorde, Akkordprogressionen, etc.)
* Freies Üben/Spielen/Fragen ...
Alle Teilnehmer die einen Laptop dabei haben, bitte Kopfhörer nicht vergessen!
:-)
Kostenloser Downoad von [Renoise](https://www.renoise.com/)
## Elektronik advanced Workshop SMD
__Fr 25.04.2014 17:00__
Max. Teilnehmer 10
Mit unseren selbstgebastelten SMD Ofen wird das Bleep Drum Kit gebacken. Die
SMD Bauweise erlaubt normalerweise eine schnelle maschinelle Bestückung oder
verlangt eine ruhige Hand. Dafür sind aber die Komponenten in der Regel
günstiger als ihre langbeinigen Geschwister. Als Workshopergebnis hält man
dann einen kleine Drummacine in der Hand.
## Python Workshop
__Sa 26.04.2014 16:00__
Max. Teilnehmer 10
Python ist eine etablierte Skriptsprache die in vielen Situationen eingesetzt
wird. In schnell geschriebenen Prototypen, über robuste
Automatisierungsskripts bis in ausgewachsenen Webapplikationen findet Python
Anwendung.
## Zeitfluss - Ein Rückblick
__So 27.04.2014 17:00-19:00__
Einfach vorbeikommen
Die Zeit ist davongeronnen; letzten September im Rahmen eines Kunstprojektes
an der Karwendelbrücke in Innsbruck. Ein Vortrag der Ausführenden bietet
Hintergründe zur Idee, zur Umsetzung, technische Einblicke und Beispiele der
Reaktionen auf das Projekt.
## Kosten und Anmeldung
Dank einer Förderung, die über den Vorbrenner-Ausschuss zu Stande gekommen
ist, können wir sämtliche Workshops kostenlos anbieten.
Anmeldungswünsche bitte an unsere Kontaktadresse(siehe Impressum).

View file

@ -0,0 +1,9 @@
---
title: 'Space Invasion: Programm und Anmeldung'
date: 2015-04-03
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20240913053835/https://it-syndikat.org/pages/theNetwork.html
todo: recover
draft: true
---

View file

@ -0,0 +1,9 @@
---
title: 'Temporary Space Invasion 4 - Inter//Act!'
date: 2010-08-17
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20160407162223/http://it-syndikat.org/pages/interact.html
todo: recover
draft: true
---

View file

@ -17,30 +17,24 @@ Anfragen könnt ihr uns gerne per E-Mail an die folgende Adresse senden:
> Tschamlerstraße 3\
> A-6020 Innsbruck
[![it-syndikat innsbruck @ openstreetmap.org](/images/uploads/osmap.jpeg "it-syndikat innsbruck @ openstreetmap.org")](https://osm.org/go/0IUHnILQ7?m=&node=1528106414)
[show location on openstreetmap.org](https://osm.org/go/0IUHnILQ7?m=&node=1528106414)
{{< osm >}}
## Telefon
Erreichbar via *Eventphone* - [EPVPN](https://eventphone.de/doku/epvpn)
`1754`
- Via PSTN: [`+43 720 519629`](tel:+43720519629)
- Via *Eventphone* - [EPVPN](https://eventphone.de/doku/epvpn): [`1754`](tel:1754)
## Matrix / IRC
Unser [Matrix](https://matrix.org)-Raum ist rund um die
Uhr besetzt, ab und zu wird dort auch geredet:
Unser [Matrix](https://matrix.org)-Raum und IRC Channel sind rund um die
Uhr besetzt und zu einander gebridged, ab und zu wird dort auch geredet:
- [#lobby:it-syndik.at](https://matrix.to/#/#lobby:it-syndik.at)
Außerdem ist er zu IRC gebridged, wem das lieber ist:
- [#it-syndikat @ libera.chat](https://web.libera.chat/#it-syndikat)
- Matrix: [#lobby:it-syndik.at](https://matrix.to/#/#lobby:it-syndik.at)
- IRC: [#it-syndikat @ libera.chat](https://web.libera.chat/#it-syndikat)
## Soziale Netzwerke
Folge uns auf Mastodon:
Folge uns auf Fedi (Mastodon):
[@itsyndikat@chaos.social](https://chaos.social/@itsyndikat)

View file

@ -67,4 +67,4 @@ unlisted: true
Wörgl
- [monochrom](https://monochrom.at/) - Katzen würden Adorno lesen
- [p.m.k](https://pmk.or.at) - Plattform mobile Kulturinitiativen
- [resonance bandits](https://rbo.wf) - Initiative für tiefe Resonanzen
- [resonance bandits](https://rbss.info) - Initiative für tiefe Resonanzen

View file

@ -0,0 +1,28 @@
---
title: 'IT-Syndikat'
date: 2010-08-17
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20101021045244/http://it-syndikat.org/
todo: image in the bottom hidden in blog entry
---
We make stuff happen!
As hackerspaces became more popular, we decided we want our own.
For this reason we started IT-Syndikat.
IT-Syndikat is a community of technic-affine people who
enjoy creating, more than mere consumption. To have a place
for our projects, tools, meetings and to hang around, we are
currently looking for a place in Innsbruck.
We are actively looking for new members interested in areas
like music, art, media, engineering, electronics, IT, making,
and the like. While technical expertise is definitly welcome,
engagement and an active interest in new stuff are more important to us.
If the above sounds like something you want to be part of, you are really
welcome to come to our meetings, contribute to this wiki and join our projects.
![Sternatastatur](/images/posts/2010-08-17-init/tastaturstern.png)

View file

@ -0,0 +1,18 @@
---
title: 'we`ve got sapce'
date: 2010-10-02
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20101021045244/http://it-syndikat.org/
---
sooo ... hat ein zeitchen gedauert, aber nun haben wir zumindest
einen temporären raum zum starten unseres projekts gefunden.
dieser befindet sich in den räumlichkeiten des stadtbekannten vereins
"cunst & co" über dem bekannten weekender club/ehemaligen utopia in der
tschamlerstrasse 3 - näheres zum cunst & co siehe link auf dem bild unten :)
welkom haxxors
![Ballon](/images/posts/2010-10-02-got-space/ballon.jpeg)

View file

@ -0,0 +1,9 @@
---
title: 'Open House'
date: 2010-12-08
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20110722001731/http://it-syndikat.org/
---
![Flyer](/images/posts/2010-12-08-open-house/flyer.jpg)

View file

@ -0,0 +1,13 @@
---
title: 'Python Workshop'
date: 2011-03-16
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20110722001731/http://it-syndikat.org/
---
Die Termine fuer den Python Workshop stehen fest.
Alle die daran teilnehmen wollen bitte im Wiki eintragen.
Leider koennen nicht mehr als 10 Personen daran teilnehmen.
Bei zuvielen Anmeldungen wird ein weiterer Termin angeboten.

View file

@ -0,0 +1,31 @@
---
title: 'IT-SYNDIKAT YEAR 0 - p.m.k invasion '
date: 2011-05-16
authors: ["IT-Syndikat"]
tags: []
recovery-source: https://web.archive.org/web/20110722001731/http://it-syndikat.org/
todo: image in the bottom hidden in blog entry
---
live _ GASSEBNER/BREITENLECHNER
Samstag 14.05.2011 in der PMK
1273863600 Unixtime
Eintritt frei
Wem zusammenrottungen von lötern, codern, bastlern und cryptomanen in der
umgebung der tschamlerstrasse aufgefallen sind, dem ist das IT-SYNDIKAT
bereits begegnet. der innsbrucker hackerspace im cunst&co legt die lötkolben,
microcontroller und tastaturen beiseite um gemeinsam mit euch das nerd- und
geekdasein zu zelebrieren. mit blinkendings, selbstgefrickeltem und ausreichend
mate bewaffnet starten sie zur ersten space-invasion in die pmk. den
soundsupport stellen die altbekannten innsbrucker geraeuschemacher
GASSEBNER/BREITENLECHNER, die regelmässigen p.m.k-besuchern bestimmt schon
mal um die ohren gefahren sind. dazu beschert euch das it-syndikat sound-system
noch die nötige prise 8bit, elekro & nerdtunes.
nerds & freaks unite!
![Flyer](/images/posts/2011-05-16-year-0/flyer.png)

View file

@ -0,0 +1,13 @@
---
title: '30 Jahre CCC'
date: 2011-09-12
authors: ["IT-Syndikat"]
tags: [ccc]
recovery-source: https://web.archive.org/web/20120117005110/http://it-syndikat.org/index.php
---
kleiner dummy eintrag zum 30er des bekannten ccc :)
hier ein artikel aus der zeit.de, sinnvoll via archive.org: [30 jahre ccc](https://web.archive.org/web/20111231075403/http://www.zeit.de/2011/37/Chaos-Computer-Club/komplettansicht)
heise.de: [am anfang war das chaos...](https://www.heise.de/news/30-Jahre-CCC-Am-Anfang-war-das-Chaos-1340792.html)

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20120117005110/http://it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20120117005110/http://it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20120406210041/http://it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20120406210041/http://it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20120406210041/http://it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20120406210041/http://it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808132259/http://www.it-syndikat.org/archives/P1.html
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/index.php
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808132139/http://www.it-syndikat.org/archives/28-DIY-PCBs-mit-Loetstoppmaske.html
draft: true
---

View file

@ -0,0 +1,5 @@
---
recovery-source: https://web.archive.org/web/20130808132135/http://www.it-syndikat.org/archives/27-Noch-ein-paar-Fotos-von-der-Temporary-Space-Invasion.html
notes: auch von robelixens blog beziehbar
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20130808132131/http://www.it-syndikat.org/archives/26-IT-Syndikat-Year-10-Party.html
robellink: https://www.robelix.com/posts/19-IT-Syndikat-Year-10-Party.html
notes: auch von robelixens blog beziehbar
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808132537/http://www.it-syndikat.org/archives/25-Towel-Day-Playlists-IT-Syndikat-Year-10-Party.html
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808060119/http://www.it-syndikat.org/archives/10-Cryptoparty-Digitale-Selbstverteidigung-fuer-AnfaengerInnen.html
draft: true
---

View file

@ -0,0 +1,4 @@
---
recovery-source: https://web.archive.org/web/20130808132542/http://www.it-syndikat.org/archives/31-happy-sysadmin-appreciation-day.html
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921161814/http://it-syndikat.org/archives/51-Hard-DJ-jetzt-mit-RGB-VUs.html
secondary: robelix-blog
draft: true
---

View file

@ -0,0 +1,5 @@
---
recovery-source: https://web.archive.org/web/20131002072651/http://it-syndikat.org/archives/52-Cryptoparty-2-Return-of-the-Cypherpunks.html
draft: true
---

View file

@ -0,0 +1,5 @@
---
recovery-source: https://web.archive.org/web/20150509031951/http://it-syndikat.org/archives/53-Neuer-3D-Drucker.html
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150504011015/http://it-syndikat.org/archives/54-Midibox-MB-6582.html
secondary: robelix blog
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150501201929/http://it-syndikat.org/archives/55-...und-er-druckt!.html
secondary: robelix blog
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150503192722/http://it-syndikat.org/archives/56-Embedded-Linux-Workshop.html
secondary: robelix blog
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921191700/http://it-syndikat.org/archives/60-is-it-open.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921150729/http://it-syndikat.org/archives/61-Thor-is-here!.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20140408093259/http://it-syndikat.org/archives/62-Its-a-Lasercutter!-It-cuts-Lasers!.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921191528/http://it-syndikat.org/archives/63-Beagle-Bone-Black-PWM-Test.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921193205/http://it-syndikat.org/archives/65-Firefly-board-game.-Browncoats-unite!.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921130803/http://it-syndikat.org/archives/67-Robelux-is-growing.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150921040008/http://it-syndikat.org/archives/68-SMD-Ofen.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,6 @@
---
recovery-source: https://web.archive.org/web/20150920215248/http://it-syndikat.org/archives/69-EL-Wires!.html
secondary: image from Romedius
draft: true
---

View file

@ -0,0 +1,12 @@
---
title: 'Temporary Space Invasion: Bitstindl'
date: 2014-03-14
authors: ["IT-Syndikat"]
tags: [3d-drucker, 3d-printer,cryptography,event,löten,soldering]
recovery-source: https://web.archive.org/web/20140724093601/http://it-syndikat.org/pages/bitstindl.html
draft: true
---
Auch dieses Jahr übernehmen wir das Freie Theater Innsbruck. Informationen
über das Programm und die angebotenen Workshops findet ihr
[hier](/archive/2014-03-14-temporary-space-invasion-bitstindl).

View file

@ -0,0 +1,13 @@
---
title: 'Noobs can Triforce!'
date: 2014-04-03
authors: ["itsyndikatSoup"]
tags: []
todo: video einbetten vom 3d Drucker
recovery-source: https://web.archive.org/web/20140724093601/http://it-syndikat.org/pages/bitstindl.html
draft: true
---
Noobs can Triforce!
Soundtrack from Legend of Zelda played on a 3D Printer

View file

@ -0,0 +1,23 @@
---
title: 'Bleepdrum Prototype funktioniert'
date: 2014-04-05
authors: ["robelix"]
tags: []
draft: true
todo: exchange first picture - pull it from archive.org
---
Die Vorbereitungen für den SMD-Workshop bei der Temporary Space Invasion gehen
voran - Der erste Prototype funktioniert! Video kommt bald.
![oberseite](/images/posts/2014-04-05-bleepdrum-prototype/bleepdrum-oberseite.serendipityThumb.jpg)
Bleepdrum Oberseite
![Unterseite](/images/posts/2014-04-05-bleepdrum-prototype/bleepdrum-unten.jpg)
Bleepdrum Unterseite
![Bootloader](/images/posts/2014-04-05-bleepdrum-prototype/bleepdum-bootloader.jpg)
Bleepdrum bekommt Arduino-Bootloader verpasst

View file

@ -0,0 +1,13 @@
---
title: 'The white room used for workshops'
date: 2014-04-17
authors: ["itsyndikatSoup"]
tags: []
draft: true
---
(image missing)
The white room used for workshops
Space Invasion, day1

View file

@ -1,7 +1,7 @@
---
title: 'Ancient Anguish'
date: 2014-04-17
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: []
---

View file

@ -1,8 +1,8 @@
---
title: 'Racing Timer'
date: 2014-04-17
author: "robelix"
authors: ["robelix"]
tags: []
---
[![Quick'n'dirty Race Timer](/images/posts/2014-04-17-racing-timer/itscounter_s.serendipityThumb.jpg "Quick'n'dirty Race Timer")](https://it-syndikat.org/uploads/images/spaceinvasion2/itscounter_s.jpg "Quick'n'dirty Race Timer")
![Quick'n'dirty Race Timer](/images/posts/2014-04-17-racing-timer/itscounter_s.serendipityThumb.jpg "Quick'n'dirty Race Timer")

View file

@ -1,10 +1,10 @@
---
title: 'Atari Punk Console'
date: 2014-04-18
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["retro"]
---
[![2507 dbfd 400](/images/posts/2014-04-18-atari-punk-console/2507_dbfd_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![2507 dbfd 400](/images/posts/2014-04-18-atari-punk-console/2507_dbfd_400.jpeg)
Atari Punk Console

View file

@ -1,11 +1,11 @@
---
title: 'EL Wire Workshop - Dont Panic'
date: 2014-04-18
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["workshops", "space-invasion"]
---
[![0225 aae7 400](/images/posts/2014-04-18-el-wire-workshop-dont-panic/0225_aae7_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![0225 aae7 400](/images/posts/2014-04-18-el-wire-workshop-dont-panic/0225_aae7_400.jpeg)
EL Wire Workshop - Don't Panic

View file

@ -1,11 +1,11 @@
---
title: 'EL Wire Workshop'
date: 2014-04-18
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["workshops", "space-invasion"]
---
[![0221 7b1e 400](/images/posts/2014-04-18-el-wire-workshop/0221_7b1e_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![0221 7b1e](/images/posts/2014-04-18-el-wire-workshop/0221_7b1e.jpg)
EL Wire Workshop

View file

@ -1,10 +1,10 @@
---
title: 'Arduino Workshop'
date: 2014-04-21
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["workshops"]
---
[![6342 c557 400](/images/posts/2014-04-21-arduino-workshop/6342_c557_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![6342 c557 400](/images/posts/2014-04-21-arduino-workshop/6342_c557_400.jpeg)
Arduino Workshop

View file

@ -1,10 +1,10 @@
---
title: 'Mini Drone'
date: 2014-04-21
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["drones"]
---
[![6347 cb14 400](/images/posts/2014-04-21-mini-drone/6347_cb14_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![6347 cb14](/images/posts/2014-04-21-mini-drone/6347_cb14.jpg)
Mini Drone

View file

@ -1,10 +1,10 @@
---
title: 'Workshop'
date: 2014-04-21
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["workshops"]
---
[![6344 e704 400](/images/posts/2014-04-21-workshop/6344_e704_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![6344 e704 400](/images/posts/2014-04-21-workshop/6344_e704_400.jpeg)
Workshop

View file

@ -1,10 +1,10 @@
---
title: 'Bleep Drum'
date: 2014-04-27
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: []
---
[![3278 2923 400](/images/posts/2014-04-27-bleep-drum/3278_2923_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![3278 2923 400](/images/posts/2014-04-27-bleep-drum/3278_2923_400.jpeg)
Bleep Drum

View file

@ -1,10 +1,10 @@
---
title: 'Taming Pythons'
date: 2014-04-27
author: "itsyndikatSoup"
authors: ["itsyndikatSoup"]
tags: ["python"]
---
[![3279 0055 400](/images/posts/2014-04-27-taming-pythons/3279_0055_400.jpeg)](https://it-syndikat.org/feeds/index.rss2)
![3279 0055](/images/posts/2014-04-27-taming-pythons/3279_0055.jpg)
Taming Pythons

View file

@ -1,7 +1,7 @@
---
title: 'Year11Party: Dont Panic!'
date: 2014-05-07
author: "Romedius Weiss"
authors: ["Romedius Weiss"]
tags: ['42', 'event', 'music', 'party', 'towel-day']
---

Some files were not shown because too many files have changed in this diff Show more