Compare commits
19 Commits
abf4bd40de
...
31a1970b7c
Author | SHA1 | Date |
---|---|---|
![]() |
31a1970b7c | 12 months ago |
![]() |
cfa3640f2f | 12 months ago |
![]() |
ee0d7bfc3d | 12 months ago |
![]() |
ca8f218280 | 12 months ago |
![]() |
60d020e5e1 | 12 months ago |
![]() |
20df906aa1 | 12 months ago |
![]() |
23d95ca70d | 12 months ago |
![]() |
8ccdd17ef5 | 12 months ago |
![]() |
0948e55a04 | 12 months ago |
![]() |
66388edb48 | 12 months ago |
![]() |
1c61a64c08 | 12 months ago |
![]() |
7565ebb901 | 12 months ago |
![]() |
8ca6d57c87 | 12 months ago |
![]() |
a712729b15 | 12 months ago |
![]() |
117e4d06bd | 12 months ago |
![]() |
aa48e5f1c5 | 12 months ago |
![]() |
892962baf2 | 12 months ago |
![]() |
b39bc619c9 | 12 months ago |
![]() |
427e941825 | 12 months ago |
@ -0,0 +1 @@
|
||||
.zsignore
|
@ -0,0 +1 @@
|
||||
{{ content }}
|
@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ ! $# = 1 ]; then
|
||||
printf >&2 "Usage: %s <path> [ext]\n" "$(basename "$0")"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
_path="$1"
|
||||
ext="${2:-md}"
|
||||
|
||||
if [ ! -d "$_path" ]; then
|
||||
printf >&2 "error: path %s not found\n" "$_path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
find "$_path" -type f -name "*.$ext" | sort -r | while read -r file; do
|
||||
post=$file
|
||||
# skip indices
|
||||
if [[ "$post" == *index.md ]]; then continue; fi
|
||||
|
||||
postdate=$("$ZS" vars "$post" postdate)
|
||||
if [ -z "$postdate" ]; then
|
||||
inputdate=$(basename $file | cut -d- -f1-3)
|
||||
postdate=$(date -j -f "%Y-%m-%d" "$inputdate" || true)
|
||||
fi
|
||||
|
||||
url=$("$ZS" vars "$post" url)
|
||||
|
||||
title=$("$ZS" vars "$post" title | tr A-Z a-z)
|
||||
if [ -z "$title" ]; then
|
||||
title=$(basename $file | cut -d- -f4-)
|
||||
fi
|
||||
|
||||
#post=$(ZS_LAYOUT=include $ZS build $file)
|
||||
|
||||
echo "<entry>"
|
||||
echo " <title>$title</title>"
|
||||
echo " <link href=https://jonathan.is/$url />"
|
||||
echo " <updated>$postdate</updated>"
|
||||
echo " <id>https://jonathan.is/$url</id>"
|
||||
echo " <content type=html>$post</content>"
|
||||
echo "</entry>"
|
||||
done
|
@ -0,0 +1,8 @@
|
||||
Containerfile
|
||||
compose.yaml
|
||||
readme.md
|
||||
data
|
||||
backing-up
|
||||
rss
|
||||
hooks
|
||||
hooks
|
@ -0,0 +1,6 @@
|
||||
FROM prologic/zs AS build
|
||||
COPY . .
|
||||
RUN zs build --production
|
||||
|
||||
FROM caddy/caddy:2.8-alpine
|
||||
COPY --from=build /data/.pub:/usr/share/caddy
|
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 541 KiB |
After Width: | Height: | Size: 288 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 573 KiB |
After Width: | Height: | Size: 912 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 254 KiB |
After Width: | Height: | Size: 849 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 689 B |
After Width: | Height: | Size: 288 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 192 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 159 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 366 KiB |
After Width: | Height: | Size: 140 KiB |
After Width: | Height: | Size: 319 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 499 KiB |
@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html><html><head><title>jonathan.is</title><style type="text/css">body {text-align: center; margin: 6em 0;font-family: "Avant Garde", Avantgarde, "Century Gothic", CenturyGothic, "AppleGothic", sans-serif}
|
||||
.juxtitle {font-size: 5em}
|
||||
img {max-width:80%; max-height: 80vh; padding: 3em 0 2em}
|
||||
.title {font-weight: bold; text-transform: uppercase; padding-bottom:.8em; font-size: 1.8em;}
|
||||
.post_date { color: #999; font-size: .8em;}
|
||||
a {color: #999;}
|
||||
.quark:after { content: "/////////////////////////////////////////////////////////////////"; display: inline-block; margin-top: 5em;}</style></head><body><div class="juxtitle">jonathan.is</div><div class="description">an experiment
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
jonathan.is: a record of artifacts generated by @jedahan</div><a href="/mystuff">http://jonathan.is/</a><div class="twitter"><a href="http://twitter.com/jedahan">@jedahan</a></div><div class="quark"><iframe allowfullscreen="1" frameborder="0" src="http://www.youtube.com/watch?v=8g_GVGyM9rw"></iframe><div class="title">You Only Die Once</div><div class="post_date">2012-12-26 16:35:24 UTC</div></div><div class="quark"><img src="2012_09_20_02_36_03_106_Screen_Shot_2012_09_19_at_10.33.41_PM.PNG" /><div class="title">share the traffic</div><div class="subtitle"><a>control the lights</a>
|
||||
<a href="https://github.com/theterg/web-trafficlight">get the code</a>
|
||||
<a href="">read theterg's writeup</a>
|
||||
|
||||
or click to continue the story on how we built an networked controllable party trafficlight</div><img src="2012_09_20_02_38_37_319_DSCF1808.jpg" /><div class="title">So, we finally got our Raspberry Pi!</div><div class="description">(we being jedahan.com and http://terg.is)</div><img src="2012_09_20_02_42_49_785_IMG_20120919_224052.jpg" /><div class="title">...and we already had this awesome traffic light</div><div class="description">(hooray for troy antique stores)</div><img src="2012_09_20_03_16_38_692_diagraaam.jpeg" /><div class="title">So a plan was made to share the lights with the world</div><div class="description">
|
||||
We wanted a way for anyone to control the lights and see in real-time what colors are on
|
||||
The control is no problem for an arduino, but the Pi really shines when a full network stack is needed
|
||||
|
||||
So we wrote a <a href="http://terg.is/tl/">website</a> using the http://bugswarm.net <a href="https://github.com/c4milo/bugswarm-js">javascript client</a> to let any web browser talk to the Pi
|
||||
The Pi is running a <a href="https://github.com/buglabs/bugswarm-tools">python client</a> which makes it easy to map red/yellow/green messages to toggle GPIO pins
|
||||
|
||||
Due to the awesomeness of programming for linux, it was easy to get python to write to /sys/class/gpio/...
|
||||
|
||||
A more thorough hardware writeup/howto is viewable on <a href="http://terg.is/?page_id=189">theterg's website</a></div><img src="2012_09_20_03_26_34_8_8004932854_a3042a5297_b.jpg" /><div class="title">Which was deemed a cool enough project by Adafruit!</div><div class="description">They gave us an awesome goodie bag which is definitely inspiring for more ambitious projects!
|
||||
|
||||
Thanks <a href="http://adafruit.com/">Adafruit</a>, <a href="http://raspberrypi.org">Raspberry Pi</a> and <a href="http://www.nycresistor.com">NYC Resistor</a>!
|
||||
|
||||
<a href="http://twitter.com/jedahan">Jonathan Dahan</a> and <a href="http://twitter.com/theterg">Andrew Tergis</a></div><div class="post_date">2012-09-20 02:32:10 UTC</div></div><div class="quark"><img src="2012_02_03_00_01_10_929_6787834175_84c066d779_b.jpg" /><div class="title">Bike-In Movie</div><div class="subtitle"></div><img src="2012_02_03_00_01_10_929_6787834175_84c066d779_b.jpg" /><div class="title"></div><div class="description">Movie too boring? Pedal Faster!<br />Movie going too fast? Slow Down.<br /><br />Control the playback speed of Doug Engelbart's <a href="http://sloan.stanford.edu/mousesite/1968Demo.html#complete">1968 Demo</a> with the bike!</div><img src="2012_02_06_06_20_24_371_split_biking.jpg" /><div class="title"></div><div class="description">An Arduino running Firmata talked to Processing on the laptop. Processing sent out an OSC message to Quartz Composer, which controlled the video.<br /><br />The lite-up wheel got a lot of attention.</div><img src="2012_02_06_06_24_41_116_Screen_Shot_2012_02_06_at_1.23.57_AM.PNG" /><div class="title"></div><div class="description">The code is available on <a href="github.com/jedahan/bike-in-movie">github.com/jedahan/bike-in-movie</a><br /><br />Lots of thanks to <a href="http://www.boxysean.com">Sean McIntyre</a> for the bike trainer, and <a href="http://319scholes.org">319 Scholes</a> for the bike and space!</div><div class="post_date">2012-01-29 00:00:00 UTC</div></div><div class="quark"><img src="2012_02_03_00_03_13_875_6793325161_714bdb4849_o.png" /><div class="title">Haiku Wifi</div><div class="subtitle"></div><img src="2012_02_03_00_03_13_875_6793325161_714bdb4849_o.png" /><div class="title"></div><div class="description">Haiku wifi is a public bulliten board, cleverly taking over your wireless network list</div><img src="2012_02_05_21_13_14_755_6787066535_e2be2bdd3a_z.jpg" /><div class="title"></div><div class="description">Connect to the access point and you can write your own poetry!</div><img src="2012_02_05_21_22_56_941_6793506265_9054570606_o.jpg" /><div class="title"></div><div class="description"><a href="http://sundialtone.com">Toby Schachman</a> and <a href="http://jonathan.is">I</a> created this hack at <a href="http://arthackday.net">art hack day</a>, hosted by <a href="http://319scholes.org">319 Scholes</a>. Many thanks to those who helped us realize the project in such a short time. Thanks to <a href="http://www.boxysean.com/projects/">Sean McIntyre</a> for providing the router and valuable input. Thanks to <a href="http://bnewbold.net">Bryan Newbold</a> for helping develop the ideas further.</div><img src="2012_02_05_21_45_29_899_Screen_Shot_2012_02_05_at_4.45.16_PM.PNG" /><div class="title"></div><div class="description">Code and documentation on how to set this up yourself is available on <a href="http://github.com/jedahan/haiku-wifi">github.com/jedahan/haiku-wifi</a></div><div class="post_date">2012-01-28 15:05:00 UTC</div></div><div class="quark"><img src="2012_02_07_07_48_00_269_Screen_Shot_2012_02_07_at_2.47.17_AM.PNG" /><div class="text">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="http://android.willfixeverything.com"> android</a>
|
||||
<a href="http://2.6.35.willfixeverything.com"> 2.6.35</a>
|
||||
<a href="http://coffee-script.willfixeverything.com"> coffee-script </a>
|
||||
<a href="http://the.next.build.willfixeverything.com"> the next build </a>
|
||||
|
||||
<a href="http://github.com/jedahan/willfixeverything"> * source code</a></div><div class="post_date">2011-04-22 05:47:00 UTC</div></div><div class="quark"><iframe allowfullscreen="1" frameborder="0" src="http://www.youtube.com/watch?v=atULotF2214&t=200"></iframe><div class="title">Multiperson Synthesizer</div><div class="post_date">2010-05-05 20:40:00 UTC</div></div><div class="quark"><iframe allowfullscreen="1" frameborder="0" src="http://www.youtube.com/watch?v=Z91WlggMZnA"></iframe><div class="title">itsaglitch</div><div class="post_date">2010-04-11 20:35:00 UTC</div></div></body></html>
|
@ -0,0 +1,44 @@
|
||||
Dear MoMA,
|
||||
|
||||
Jonathan Dahan here. I discovered your job listing through the newtech
|
||||
mailing list (thanks Don!) and had to apply to the Media Technology Developer
|
||||
position. I've been following you very closely these past
|
||||
couple of years and think we may be a perfect match. It started a few
|
||||
years back when I attented the Design and the Elastic Mind exhibit. I
|
||||
went once, and was overjoyed to see so many of my favorite pieces of
|
||||
art (Textarc! Hektor! GRL!) already there. What was even more special
|
||||
was seeing the faces of people who were never exposed to interactive
|
||||
art being inquisitive. I was too excited when someone asked a question
|
||||
about a piece I knew that I hopped over and had to explain what was going
|
||||
on. By the end of the day I had gathered a small group of people and was
|
||||
giving an impromptou tour.
|
||||
|
||||
I researched the pieces that were new to me, which is one of my favorite
|
||||
reasons to visit museums in general. A week later some friends asked me to
|
||||
join them for a return trip, and I ended up giving two more 'tours,' mainly
|
||||
just explaining HOW things worked and being surprised at what was the most
|
||||
compelling aspects to those who aren't developers or artists.
|
||||
|
||||
Fast forward a few years, and I was overjoyed to have the opportunity to
|
||||
develop a piece with Jer Thorpe for BUG Labs during the 'Talk to Me'
|
||||
exhibit. I saw the same behaviour - people being wowed by a world so
|
||||
outside thier experience.
|
||||
|
||||
Helping expose more and more people to art and experiences they aren't even aware
|
||||
exists would be a dream job for me. Inviting discussion from all perspectives by
|
||||
making accessible all forms of art. Helping a team of developers to come up with
|
||||
the best ways to expose that art - these are the things I would do as a Media
|
||||
Technology Developer.
|
||||
|
||||
My experience and skills are a good fit. Not just the development
|
||||
environment and language chops, but the teams I build and events I participate
|
||||
in - if you have any questions about the events please ask! I have at least a
|
||||
few stories from each.
|
||||
|
||||
Thanks for taking the time to consider me for the position.
|
||||
|
||||
Sincerely,
|
||||
|
||||
Jonathan Dahan
|
||||
|
||||
jonathan@jedahan.com
|
@ -0,0 +1,47 @@
|
||||
https://jedahan.com/2009/07/27/convergence.html
|
||||
https://jedahan.com/2011/02/11/california-two-weeks-later.html
|
||||
https://jedahan.com/2009/09/05/on-licensing.html
|
||||
https://jedahan.com/2013/03/16/arthackday-god-mode.html
|
||||
https://jedahan.com/2009/09/27/eat-your-medicine.html
|
||||
https://jedahan.com/2015/04/05/dusting-off-the-stacks.html
|
||||
https://jedahan.com/2011/02/13/west-coast-week-three.html
|
||||
https://jedahan.com/2009/09/27/distrology.html
|
||||
https://jedahan.com/2014/08/05/hackerschool-two-weeks-later.html
|
||||
https://jedahan.com/x.hope.net
|
||||
https://jedahan.com/hackerschool.com
|
||||
https://jedahan.com/2012/01/15/arduino-code.html
|
||||
https://jedahan.com/2010/07/21/arduino-buyers-guide.html
|
||||
https://jedahan.com/2009/06/19/chromium-os.html
|
||||
https://jedahan.com/resume
|
||||
http://jedahan.com
|
||||
https://jedahan.com/blog
|
||||
https://jedahan.com/2010/11/15/oshw.html
|
||||
https://jedahan.com/sfpc.io
|
||||
https://jedahan.com/2011/10/18/things-done-since-last-post.html
|
||||
https://jedahan.com/2014/07/18/simple-protection-for-hope.html
|
||||
https://jedahan.com/2012/09/20/raspberry-pi-iot-trafficlight.html
|
||||
https://jedahan.com/arthackday.net
|
||||
https://jedahan.com/images/me.jpg
|
||||
https://jedahan.com/antihacking.html
|
||||
https://jedahan.com/2010/04/10/antihacking.html
|
||||
https://jedahan.com/2009/09/27/island-labs-robot-army.html
|
||||
https://jedahan.com/2014/05/18/how-i-got-started-programming-nes-on-osx.html
|
||||
https://jedahan.com/2013/11/26/opencv-and-openframeworks-64-bit-on-mavericks.html
|
||||
https://jedahan.com/2010/07/02/notes.html
|
||||
https://jedahan.com
|
||||
https://jedahan.com/resume.pdf
|
||||
https://jedahan.com/wiki.illumos.org
|
||||
https://jedahan.com/2012/06/15/dumbrella.html
|
||||
https://jedahan.com/2012/04/12/museums-and-the-web-2012.html
|
||||
https://jedahan.com/piet.png
|
||||
https://jedahan.com/2010/07/05/systems.html
|
||||
https://jedahan.com/2009/09/27/random-technology-thoughts.html
|
||||
https://jedahan.com/2009/09/27/jekyll-or-why-blogging-is-not-the-same-as-publishing.html
|
||||
https://jedahan.com/2022/01/25/software-values.html
|
||||
https://jedahan.com/2009/11/10/awesome-island-labs-meeting.html
|
||||
https://jedahan.com/2009/09/27/gtd.html
|
||||
https://jedahan.com/2009/09/27/openssh.html
|
||||
https://jedahan.com/2013/01/28/buzzwords.html
|
||||
https://jedahan.com/2009/02/07/exherbo-works.html
|
||||
https://jedahan.com/2009/07/25/blog-trial-the-second.html
|
||||
https://jedahan.com/2011/02/04/san-francisco-one-week-later-edited.html
|
@ -0,0 +1,17 @@
|
||||
super-mario-clouds
|
||||
echo-canvas
|
||||
experiencing-the-interface
|
||||
my-hackerspace-sent-ballons-to-space
|
||||
scrapi-art-data-for-all
|
||||
9854039
|
||||
radio
|
||||
Messenger-of-God
|
||||
Haiku-Wifi
|
||||
weird-jukebox
|
||||
Bike-In-Movie
|
||||
The-Hand-of-God
|
||||
baculus
|
||||
who
|
||||
living-room
|
||||
circles-no-really
|
||||
YODO
|
@ -0,0 +1,11 @@
|
||||
services:
|
||||
jonathan.is:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Containerfile
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8081:80"
|
||||
volumes:
|
||||
- ./.pub:/usr/share/caddy
|
||||
- ./data:/data
|
@ -0,0 +1,25 @@
|
||||
# messenger of god
|
||||
|
||||
tl;dr Intercepted GSM traffic to send a text message from "God" to everyone on the commercial GSM network
|
||||
|
||||
Collaboration with [Dan Moore](makeitdoathing.com) and [Nicholas Johnson](http://www.nejohnson2.com/telesource) at arthackday:godmode
|
||||
|
||||
The Messenger of God was an experiment in GSM and GSM traffic interception.
|
||||
|
||||
The purpose of this installation was to demonstrate how we should not have unfettered faith in our mobile
|
||||
devices and how anyone can intercept or disrupt the public GSM cell phone network.
|
||||
|
||||
The piece consisted of an openBTS installation on an Ubuntu linux machine, a software define radio
|
||||
(an Ettus Research USRP B100), and some node.js. With this hardware/software combination we had our own
|
||||
reconfigurable GSM cell phone tower inside the gallery.
|
||||
|
||||
We configured our network to represent itself as the commercial GSM service provider : < redacted >.
|
||||
We created a web interface to openBTS allowing the audience to broadcast sms messages to every device
|
||||
registered to the network.
|
||||
|
||||
Over the course of the night we were able to automatically register 45+ devices on our GSM network and
|
||||
transmit countless messages.
|
||||
|
||||

|
||||
|
||||
If you'd like to hijack a gsm network, dan more explains how [in this talk](https://web.archive.org/web/20160805000440/http://www.makeitdoathing.com/gsm.html)
|
@ -0,0 +1,15 @@
|
||||
# echo.canvas
|
||||
|
||||
I created a minimal program in a langauge called Piet
|
||||
|
||||
In this language, pixel values are used instead of text as source code
|
||||
|
||||
I thought it would be fun to paint the program, in the way it would be interpreted by the computer, step by step. It was reflexive.
|
||||
|
||||
Download the second image (20x20) and you can run the program yourself :)
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
@ -0,0 +1,16 @@
|
||||
# scrapi
|
||||
|
||||
art(data) for all
|
||||
|
||||
while working for the metropolitan museum of art, i built a service to scrape the website
|
||||
and provide a more malleable set of raw materials for artists to work with.
|
||||
|
||||
some beautiful work came out of this, my part was just to free the data
|
||||
|
||||
you can mess with the api on ~~https://scrapi.org~~
|
||||
|
||||
If you want a copy of every image on the collections site ping me!
|
||||
|
||||
Its much easier and faster to share via sneakernet than to slam the metmuseum.org website
|
||||
|
||||
and check out the [code on github](http://github.com/jedahan/collections-api)
|
@ -0,0 +1,9 @@
|
||||
# circles
|
||||
|
||||
here are things made of circles
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
@ -0,0 +1,23 @@
|
||||
# space photography
|
||||
|
||||
[my hackerspace](islandlabs.org) sent balloons to space with cameras
|
||||
|
||||
the photos were recovered
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
@ -0,0 +1,22 @@
|
||||
# super mario clouds
|
||||
|
||||
digital art copyist program
|
||||
|
||||
i recreated cory arcangels super mario clouds, and documented the process. NES programming is fun!
|
||||
|
||||
I wrote up how you can do it yourself on the Metropolitan Museum of Art's Website, both [Why](http://www.metmuseum.org/about-the-museum/museum-departments/office-of-the-director/digital-media-department/digital-underground/2014/digital-art-copyism) and [How](http://www.metmuseum.org/about-the-museum/museum-departments/office-of-the-director/digital-media-department/digital-underground/2014/making-super-mario-clouds)
|
||||
|
||||
<video width=640 height=480 controls>
|
||||
<source src=mario-clouds-running.mp4 type="video/mp4">
|
||||
</video>
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
@ -0,0 +1,15 @@
|
||||
---
|
||||
postdate: 2015-02
|
||||
---
|
||||
|
||||
# ☠ radio
|
||||
|
||||
surya and I made a pirate radio station using software defined radio, and let the people submit whatever content they wanted
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
@ -0,0 +1,12 @@
|
||||
# living-room
|
||||
|
||||
physically programmable space, at [recurse center](http://recurse.com/)
|
||||
|
||||
run your own from [this code](https://github.com/living-room/turing)
|
||||
|
||||
run a newer version by [folk.computer](https://folk.computer)
|
||||
|
||||
<video width=640 height=480 controls>
|
||||
<source src=banana.mp4 type="video/mp4">
|
||||
</video>
|
||||
|
@ -0,0 +1,13 @@
|
||||
# weird jukebox
|
||||
|
||||
<video width=640 height=480 controls>
|
||||
<source src=weird-jukebox-tapes.mp4 type="video/mp4">
|
||||
</video>
|
||||
|
||||
<video width=640 height=480 controls>
|
||||
<source src=weird-jukebox-disks.mp4 type="video/mp4">
|
||||
</video>
|
||||
|
||||
<video width=640 height=480 controls>
|
||||
<source src=weird-jukebox-yaks.mp4 type="video/mp4">
|
||||
</video>
|
After Width: | Height: | Size: 1010 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 576 KiB |
After Width: | Height: | Size: 657 KiB |
After Width: | Height: | Size: 988 KiB |
After Width: | Height: | Size: 726 KiB |
After Width: | Height: | Size: 459 KiB |
After Width: | Height: | Size: 368 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 353 B |
After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 333 KiB |
After Width: | Height: | Size: 165 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 1019 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 450 KiB |
After Width: | Height: | Size: 632 KiB |
After Width: | Height: | Size: 425 KiB |
After Width: | Height: | Size: 555 KiB |
After Width: | Height: | Size: 485 KiB |
@ -0,0 +1,37 @@
|
||||
# https://jonathan.is
|
||||
|
||||
## quickstart
|
||||
|
||||
$ ssh server "git clone --bare https://git.woodbine.nyc/micro/jonathan.is.git"
|
||||
$ ssh server "cd jonathan.is.git && git show HEAD:hooks/post-receive > hooks/post-receive"
|
||||
$ git remote add server ssh://server/~jonathan.is.git
|
||||
$ git push server
|
||||
|
||||
## manual install
|
||||
|
||||
build
|
||||
|
||||
podman build . --tag jonathan.is
|
||||
|
||||
run
|
||||
|
||||
podman compose up
|
||||
|
||||
deploy
|
||||
|
||||
git push server
|
||||
|
||||
## todo
|
||||
|
||||
### deploy
|
||||
- [ ] forgejo (or git?) post-receive hook -> docker build
|
||||
- [ ] proxy nginx on digitalocean
|
||||
- [ ] setup beta.jonathan.is dns to digitalocena
|
||||
|
||||
### features
|
||||
- [ ] generate rss feed
|
||||
|
||||
### usability
|
||||
- [ ] test in chrome
|
||||
- [ ] redirect jedahan.com
|
||||
- [ ] redirect jonathan.is
|
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: none
|
||||
---
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
|
||||
<title>jonathan.is</title>
|
||||
<link href=jonathan.is/rss rel=self/>
|
||||
<link href=jonathan.is/writing />
|
||||
<updated>{{ time }}</updated>
|
||||
<id>jonathan.is</id>
|
||||
<author>
|
||||
<name>Jonathan Dahan</name>
|
||||
<email>rss@jonathan.is</email>
|
||||
</author>
|
||||
|
||||
{{ rss writing }}
|
||||
|
||||
</feed>
|