Haunt skelet + watcher!

master
Jurij Podgoršek 2022-08-16 01:01:22 +02:00
commit a2432ceec7
9 changed files with 223 additions and 0 deletions

1
.gitignore vendored 100644
View File

@ -0,0 +1 @@
site/

7
css/stil.css 100644
View File

@ -0,0 +1,7 @@
.glavna-navigacija ul {
display: flex;
flex-direction: row;
}
.glavna-navigacija ul li:not(:first-child) {
margin-left: 2rem;
}

21
haunt.scm 100644
View File

@ -0,0 +1,21 @@
(use-modules (haunt asset)
(haunt builder blog)
(haunt builder atom)
(haunt builder assets)
(haunt reader commonmark)
(haunt site)
(kreten theme))
(site #:title "kreten.si"
#:domain "kreten.si"
#:default-metadata
'((author . "Jurij")
(email . "jurij@kompot.si"))
#:posts-directory "stvari"
#:readers (list commonmark-reader)
#:builders (list (blog #:theme kreten-theme)
(atom-feed)
(atom-feeds-by-tag)
(static-directory "slike")
(static-directory "css")))

View File

@ -0,0 +1,25 @@
(define-module (kreten templates)
#:use-module (haunt site)
#:export (base-tmpl))
(define* (base-tmpl site body #:key title)
`((doctype "html")
(html
(head
(meta (@ (charset "utf-8")))
(title ,(if title
(string-append title " [" (site-title site) "]")))
(link (@ (rel "stylesheet")
(type "text/css")
(href "css/stil.css"))))
(body
(article
(header
(h1 (a (@ (href "/"))
(site-title site)))
(nav (@ (class "glavna-navigacija"))
(ul
(li "Zadnje objave")
(li "Projekti")
(li "Razno"))))
,body)))))

16
kreten/theme.scm 100644
View File

@ -0,0 +1,16 @@
(define-module (kreten theme)
#:use-module (kreten templates)
#:use-module (haunt builder blog)
#:export (kreten-theme))
(define kreten-theme
(theme #:name "kreten.si"
#:layout
(lambda (site title body)
(base-tmpl
site body
#:title title))
;; #:post-template post-tmpl
;; #:collection-template collection-tmpl
;; #:pagination-template pagination-tmpl
))

View File

@ -0,0 +1,37 @@
title: wavey wind // plesni podaljšek
date: 2021-08-08 23:22
tags: projekt,pifcamp,ljudmila
summary: OSC controlled visual (used with motion controller)
---
# Wavey Wind, the Modul-air Mitt
Using an ESP32 microcontroller with wifi and bluetooth capability, a gyroscope/accelerometer module and keyboards switches, I will be building an experimental low cost motion "glove" controller with a button for each finger.
The idea stems from an earlier abstract visualisation project which was intended to visualise music. After building the initial prototype and hooking it up with a touch user interface of sliders that modulate the visuals, I asked myself why should I make the program interpret music? We already do that when we listen and (can) react by dancing; using a motion sensor, the dancing can be "aplified" by turning bodily motions into shapes and colours projected on a surface.
Using the motion mitt, the operator of visuals doesn't have to get locked into a clumsy little touchscreen but can immerse in the experience of sound and video while co-creating it. A workshop will be held to build a number of gloves that can connect in an ad-hoc network, so that group of people could collaborate with them.
The glove(s) will send events via the open sound control protocol, opening the possibility to using using them for audio synthesis/modulation, or maybe even as a general interface.
"What Can a Body Do?"
# Gibalna rokavička ("Wavey Wind, the Modul-air Mitt")
Z ESP32 mikrokontrolerjem, ki omogoča wifi in bluetooth povezljivost, modulom z žiroskopom in pospeškomerjem ter tipkovničnimi stikali bom izdelal eksperimentalni nizkocenovni gibalni vmesnik z gumbom za vsak prst.
Ideja izhaja iz zgodnješega projekta abstraktne vizualizacije, ki naj bi odsevala glasbo. Po izgradnji zgodnjega prototipa z vmesnikom na drsnikov na dotik, ki modulirajo prikaz, sem se vprašal zakaj bi program interpretiral glasbo? To namreč počnemo že mi, na poslušanje (lahko) odreagiramo s plesom, gibalni senzor pa bi lahko telesne gibe "ojačal" v oblike in barve, projecirane na površino.
Z gibalno rokvičko se opravljalka_ec vizualij lahko izogne ujetosti v neroden zaslon na dotitk in potopi raje v izkušnjo zvoka in videa med soustvarjanjem le-te. Organizirana bo tudi delavnica za izgradnjo večih rokavičk, ki se lahko med sabo povežejo v ad-hoc mrežo, kar skupini ljudi omogoči sodelovanje.
Rokavica oz. rokavice bodo pošiljale podatke preko OSC (open sound control) protokola, kar odpira tudi možnost rabe za zvočno sintezo/modulacijo ali celo kot splošni vmesnik.
"Kaj zmore telo?"
# Izvorna koda / materiali
https://git.kompot.si/g1smo/wavey-wind
https://git.kompot.si/g1smo/pifcamp-2021
# Predhodnik
[Cancerain](projekti/cancerain.html)

13
stvari/ola.md 100644
View File

@ -0,0 +1,13 @@
title: NE TI SI bil
date: 2022-06-26 21:56
tags: meta
summary: nova spletna stran
---
# NE TI SI bil
Ta spletna stran, grajena s [hauntom](https://dthompson.us/projects/haunt.html) v [guile schemu](https://www.gnu.org/software/guile/).
## vir
https://git.kompot.si/g1smo/bil

View File

@ -0,0 +1,37 @@
title: wavey wind // plesni podaljšek
date: 2021-08-08 23:22
tags: projekt,pifcamp,ljudmila
summary: OSC controlled visual (used with motion controller)
---
# Wavey Wind, the Modul-air Mitt
Using an ESP32 microcontroller with wifi and bluetooth capability, a gyroscope/accelerometer module and keyboards switches, I will be building an experimental low cost motion "glove" controller with a button for each finger.
The idea stems from an earlier abstract visualisation project which was intended to visualise music. After building the initial prototype and hooking it up with a touch user interface of sliders that modulate the visuals, I asked myself why should I make the program interpret music? We already do that when we listen and (can) react by dancing; using a motion sensor, the dancing can be "aplified" by turning bodily motions into shapes and colours projected on a surface.
Using the motion mitt, the operator of visuals doesn't have to get locked into a clumsy little touchscreen but can immerse in the experience of sound and video while co-creating it. A workshop will be held to build a number of gloves that can connect in an ad-hoc network, so that group of people could collaborate with them.
The glove(s) will send events via the open sound control protocol, opening the possibility to using using them for audio synthesis/modulation, or maybe even as a general interface.
"What Can a Body Do?"
# Gibalna rokavička ("Wavey Wind, the Modul-air Mitt")
Z ESP32 mikrokontrolerjem, ki omogoča wifi in bluetooth povezljivost, modulom z žiroskopom in pospeškomerjem ter tipkovničnimi stikali bom izdelal eksperimentalni nizkocenovni gibalni vmesnik z gumbom za vsak prst.
Ideja izhaja iz zgodnješega projekta abstraktne vizualizacije, ki naj bi odsevala glasbo. Po izgradnji zgodnjega prototipa z vmesnikom na drsnikov na dotik, ki modulirajo prikaz, sem se vprašal zakaj bi program interpretiral glasbo? To namreč počnemo že mi, na poslušanje (lahko) odreagiramo s plesom, gibalni senzor pa bi lahko telesne gibe "ojačal" v oblike in barve, projecirane na površino.
Z gibalno rokvičko se opravljalka_ec vizualij lahko izogne ujetosti v neroden zaslon na dotitk in potopi raje v izkušnjo zvoka in videa med soustvarjanjem le-te. Organizirana bo tudi delavnica za izgradnjo večih rokavičk, ki se lahko med sabo povežejo v ad-hoc mrežo, kar skupini ljudi omogoči sodelovanje.
Rokavica oz. rokavice bodo pošiljale podatke preko OSC (open sound control) protokola, kar odpira tudi možnost rabe za zvočno sintezo/modulacijo ali celo kot splošni vmesnik.
"Kaj zmore telo?"
# Izvorna koda / materiali
https://git.kompot.si/g1smo/wavey-wind
https://git.kompot.si/g1smo/pifcamp-2021
# Predhodnik
[Cancerain](projekti/cancerain.html)

66
watch.scm 100644
View File

@ -0,0 +1,66 @@
(use-modules (ice-9 ftw)
(ice-9 match)
(srfi srfi-1))
;; Hello threading macro!
(define-syntax ->>
(syntax-rules ()
((->> value)
value)
((->> value (fn args ...) rest ...)
(->> (fn args ... value) rest ...))
((->> value fn rest ...)
(->> (fn value) rest ...))))
(define
(zlistaj name stat . children)
(list
(string->symbol name)
(stat:mtime stat)
(->> children
(fold
(lambda (kos vsi-kosi)
(let* ((cname (list-ref kos 0))
(polno-ime (string-append name "/" cname))
(ignoriran (hash-ref ignoriraj polno-ime)))
(if (not ignoriran)
(append (apply zlistaj
(append (list polno-ime)
(drop kos 1)))
vsi-kosi)
vsi-kosi)))
'()))))
(define stari-fajli '())
(define ignoriraj (make-hash-table))
(hash-set! ignoriraj "./site" #t)
(hash-set! ignoriraj "./.git" #t)
(hash-set! ignoriraj "." #t)
(define (list-eq? list1 list2)
(if (list? list1)
(fold (lambda (kos1 kos2 vsi-kosi)
(and (list-eq? kos1 kos2)
vsi-kosi))
#t
list1
list2)
(eq? list1 list2)))
(define (pregleduj-in-izgradi)
(let* ((vse (file-system-tree "." (lambda (name stat)
(not (hash-ref ignoriraj (string->symbol name))))))
(fajli (list-ref (apply zlistaj vse) 2))) ;; "." folder ignoriramo ker se spremeni pri buildu
(if (list-eq? fajli stari-fajli)
#:nil
(begin
(display "Sprememba!\n")
(if (> (length stari-fajli) 0)
(system "haunt build")
#:nil)))
(set! stari-fajli fajli)
(sleep 1)
(pregleduj-in-izgradi)))
(pregleduj-in-izgradi)