]> git.quilime.com - quilime.com.git/commitdiff
new posts and styles
authorGabriel Dunne <gdunne@quilime.com>
Fri, 7 Jul 2023 05:10:09 +0000 (22:10 -0700)
committerGabriel Dunne <gdunne@quilime.com>
Fri, 7 Jul 2023 05:10:09 +0000 (22:10 -0700)
12 files changed:
_config.yml
_includes/about.md [new file with mode: 0644]
_includes/nav.html
_posts/cli/2014-06-20-gifs_w_ffmpeg_gifsicle.md
_posts/cli/2020-12-06-dotfiles.md
_posts/projects/2014-08-03-mesh-mapping.md
_posts/projects/2014-08-04-hyperterra.md [new file with mode: 0644]
_posts/projects/2023-07-06-grayarea-video-archive.md
about.md
css/style.css
index.md [new file with mode: 0644]
posts/index.html [moved from index.html with 100% similarity]

index d552ef362062b1eaabd7961efc913e990f5ba750..7e15103ee5ed77aba05e7c16e58d06926ce48348 100644 (file)
@@ -3,7 +3,7 @@ name: quilime
 baseurl: ""
 url: "https://quilime.com"
 excerpt_separator: "<!--more-->"
-permalink: /:categories/:title:output_ext
+permalink: /:title:output_ext
 markdown: kramdown
 kramdown:
   syntax_highlighter: rouge
@@ -15,7 +15,7 @@ plugins:
   - jekyll-feed
   - jekyll-paginate
 paginate: 10
-paginate_path: "/page:num/"
+paginate_path: "/posts/:num"
 defaults:
   -
     scope:
diff --git a/_includes/about.md b/_includes/about.md
new file mode 100644 (file)
index 0000000..cfbf7e8
--- /dev/null
@@ -0,0 +1,5 @@
+Welcome to `quilime.com` &mdash; a blog of open source projects, code snippets, and command line notes.
+
+You can also view my [personal website](https://gabrieldunne.com), and [github](https://www.github.com/quilime).
+
+© 2000—{{ "now" | date: "%Y" }} [~gld](https://gabrieldunne.com)
index 76c2f2f798596f0d243062c460599132d897d6b5..455365b0761d71e72d9e411c0ae03a8e65b58386 100644 (file)
@@ -1,11 +1,7 @@
 <div id="nav">    
 <ul>
   <li><a href="{{site.url}}/">home</a></li>
-  <li><br /></li>
-  <li><a href="{{ site.url }}/projects">projects</a></li>
-  <li><a href="{{ site.url }}/snippets">snippets</a></li>
-      <li><a href="{{ site.url }}/cli">cli</a></li>
-  <li><br /></li>
+  <li><a href="{{ site.url }}/posts">posts</a></li>
   <li><a href="{{ site.url }}/about">about</a></li>    
   <li><a href="{{ site.url }}/feed.xml">rss</a></li>      
 </ul>
index 6191fea37f7d3947374496d39433aebeb7c29773..efbc5c02c30509ceb6f33fd16d8d3f9d5ffa3dc0 100644 (file)
@@ -1,8 +1,11 @@
 ---
 date: 2014-06-20
-title: gif from mov
+title: .mov to .gif
 category: cli
 ---
+
+using [ffmpeg](https://ffmpeg.org/) and [gifsicle](https://www.lcdf.org/gifsicle/)
+
 ```bash
 ffmpeg -i in.mov -s 640x360 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=6 > out.gif
 ```
\ No newline at end of file
index 3a8d812d262273b2d0cc95f6b581e9f2075ef016..9daefb3bb700196836f0b67d16dd1646ab0a05c4 100644 (file)
@@ -8,4 +8,7 @@ Dotfiles setup for multi-os setups ('nix, Mac OS).
 
 Adapted for ZSH Shell from various distros (Ubuntu, Arch/Manjaro, etc)
 
-[Source on Github](https://github.com/quilime/cfg)
+Utilizing a bare repo in a side folder ($HOME/.cfg), and an alias allows for management via git.
+
+[source on github](https://github.com/quilime/cfg)
+
index 5f199aca4f97458e709dfbe9534aa4b33a6e6d45..4086adbfe6241f0616d34dec9ae82db7b9532456 100644 (file)
@@ -6,11 +6,13 @@ categories: code
 
 ![https://www.flickr.com/photos/quilime/14605757439/](https://farm3.staticflickr.com/2909/14605757439_21366782a6_z.jpg)
 
-Mapped Geometry IRL
+![https://www.flickr.com/photos/quilime/14799022016/](https://farm4.staticflickr.com/3864/14799022016_022ede88fc_c.jpg)
+
+A simple mesh-based projection-mapping tool with basic vertex editor written in C++/OpenGL.
 
-A simple mesh-based projection-mapping tool with basic vertex editor written with openFrameworks.
+Tested on MacOS and Raspbian/Raspberry-Pi.
 
-Tested on OSX and Raspbian/Raspberry-Pi.
+Built as the starting point for the project [Hyper Terra](/hyperterra.html), [source]()
 
 <!--more-->
 
@@ -27,21 +29,3 @@ Tested on OSX and Raspbian/Raspberry-Pi.
 - [ofxAddons](http://ofxaddons.com/)
   - [ofxCameraSaveLoad](https://github.com/roymacdonald/ofxCameraSaveLoad)
 
-## Screenshots and Photos
-
-![https://www.flickr.com/photos/quilime/14605757439/](https://farm3.staticflickr.com/2909/14605757439_21366782a6_z.jpg)
-Mapped Geometry IRL
-
-![https://www.flickr.com/photos/quilime/14799022016/](https://farm4.staticflickr.com/3864/14799022016_022ede88fc_c.jpg)
-Mesh Editor View
-
-Copyright (c) 2014- Gabriel Dunne, All rights reserved
-
-- [www](http://gabrieldunne.com)
-- [blog](http://quilime.com)
-- [github](http://github.com/quilime)
-- [twitter](http://twitter.com/quilime)
-
-# Software License
-
-See LICENSE file.
diff --git a/_posts/projects/2014-08-04-hyperterra.md b/_posts/projects/2014-08-04-hyperterra.md
new file mode 100644 (file)
index 0000000..762895c
--- /dev/null
@@ -0,0 +1,33 @@
+---
+date: 2014-08-03
+title: Hyper Terra
+categories: code
+---
+
+![https://farm8.staticflickr.com/7558/16110524908_6d91e1e6df_c.jpg](https://farm8.staticflickr.com/7558/16110524908_6d91e1e6df_c.jpg)
+
+## Projection sculpture
+
+"Hyper Terra" is a projection-mapped sculpture with an embedded projector, computer, and integrated power supply. The sculpture is a mountain with simulated solar and lunar lighting that can be set up with any lat/long on Earth and a point in time. The graphics software has controls for time advancement towards the past or future, the long/lat on Earth, solar/lunar positioning, light color, and more. The result is both a sculpture and a dynamic visual timepiece. 
+
+## Software Abstract
+
+[Source on Github](https://github.com/quilime/hyperterra)
+
+Written in C++/OpenGL, running on an NVidia Jetson TK1.
+
+OpenGL projection graphics software coded in C++ using a linux dev branch of the [Cinder](http://libcinder.org/) framework (included as a submodule). 
+
+3D graphics light an abstract landscape with dynamic shadows using a multi-pass rendering enging. Lights are position at the Sun and Moon positions of that time and place, calculated by an [ephemeris](http://en.wikipedia.org/wiki/Ephemeris) table, via pyephem, a library for Python.
+
+## Screenshots
+
+![https://farm4.staticflickr.com/3874/14972519720_96154ba3dd_c.jpg](https://farm4.staticflickr.com/3874/14972519720_96154ba3dd_c.jpg)
+
+## Links
+
+- [Source on Github](https://github.com/quilime/hyperterra)
+- [Instructable](http://www.instructables.com/id/Hyper-Terra/)
+- [Process Photos](https://www.flickr.com/photos/quilime/sets/72157647947813024/)
+
+
index cac2e4a9409d0122ee4aae56e47a0dd361d8314c..f84ccd5f31bbb99d20e42f66d9ed576b83631b48 100644 (file)
@@ -5,209 +5,18 @@ category: projects
 tags: archive video javascript
 ---
 
-Live at: [https://archive.grayareafestival.io](https://archive.grayareafestival.io)
+<img src="https://media.quilime.com/files-bak/projects/ga-archive.png">
 
-A filterable archive of videos from the [Gray Area Festival](https://grayareafestival.io), consisting of in-person and virtual conference talks, presentations, and group panels. The videos in the archive are currently hosted on the Gray Area [YouTube Channel](https://www.youtube.com/@grayareaorg), which is currently the source of video metadata.
-
-The archive is built entirely client-side with flat-file JSON files, and includes english captions for each video, which improves accessibility and encourages filtering, searching, NLP analysis, and/or experimentation with LLMs. Contributions are welcome. These `.vtt` formatted caption files are stored alongside the video metadata JSON in the [data/videos](data/videos/) folder.
-
-Preliminary work has been carried out to allow users to filter videos by various curated topics ordered by the [frequency of key-words](data/wordcount.txt), and [word-count per video](data/wordcount_video_stats.txt) generated from the video captions. View these files in the [data/topics](data/topics/).
-
-This project is open to submissions and suggestions around engaging with this growing collection of content. You are welcome to make a [pull request](https://github.com/GrayAreaorg/festival-video-archive/pulls) or contribute to the [issues](https://github.com/GrayAreaorg/festival-video-archive/issues) for discussion.
-
-
-<!--more-->
-
-
-## LICENSE
-
-This work and all content therin is licensed under a [CC Attribution-NonCommercial-NoDerivatives 4.0 International License](http://creativecommons.org/licenses/by-nc-nd/4.0/)
-
-
-## Dev Setup
-
-Built Using
-
-- [Node](https://nodejs.org/) v19.8.1
-- [AlpineJS](https://alpinejs.dev/) v3.12.0
-- [TailwindCSS](https://tailwindcss.com/) v3.3.2
-- [yt-dlp](https://github.com/yt-dlp/yt-dlp) v2023.02.17
-- [jq](https://stedolan.github.io/jq/) v1.6
-
-Installation
-
-```bash
-npm install -D tailwindcss
-npx tailwindcss init
-```
-
-CSS Build Scripts
-
-- `npm run css-watch` to watch for change and output css to `./dist/output.css`.
-- `npm run css-build` to output minified css to `./dist/output.css` for production.
-
-## Scripts
-
-## Sync all data
-
-Download all video data, vtt's, topic lists, and compile json database in one command.
-
-`./bin/_sync.sh`
-
-## Generate Topic Lists
-
-`./bin/search-caption-string.sh`
-
-This script searches for specified query patterns in .vtt files within a source directory, counts the occurrences of each file, and saves the sorted results to an output file.
-
-Example Use:
-
-Find and collate vtt's related to the topic of "software": `./bin/search-caption-string.sh data/videos "software" "programming" "code" "algorhythm" "open source"`
-
-Example Output:
-
-```
-  97 data/videos/2015/History of the Future, Art & Technology from 1965 - Yesterday | Casey Reas | The Gray Area Festival [mHox98NFU3o].en.vtt
-  72 data/videos/2020/Amelia Winger-Bearskin | Gray Area Festival 2020 [68gwy1W7Duo].en.vtt
-  48 data/videos/2016/Situated Systems Panel | Autodesk | The 2016 Gray Area Festival [jTDMOl7MvrU].en.vtt
-  47 data/videos/2015/The School of Poetic Computation | Zach Lieberman | The Gray Area Festival 2015 [0F8EZU6B-jE].en.vtt
-  43 data/videos/2017/Lauren McCarthy | the 2017 Gray Area Festival [l1qeNMXccvA].en.vtt
-  42 data/videos/2020/Ruha Benjamin | Gray Area Festival 2020 Keynote [GISl_8-fbuA].en.vtt
-  39 data/videos/2019/Jaron Lanier | Gray Area Festival 2019 Keynote [lsNF4KfmwkY].en.vtt
-  ...
-```
-
-Save output to file via `cat`:
-
-Find and collate vtt's related to the topic of "software": `./bin/search-caption-string.sh data/videos  "software" "programming" "code" "algorhythm" "open source" > data/topics/software.txt`
-
-### Generate All Topic Lists
-
-`./bin/gen-all-topics.sh`
-
-### Topic List Query Arrays
-
-Keywords used to generate the curated topics. Any video with captions containing these key words will be sorted by descending word frequency.
-
-- **AI**: artificial intelligence, ai
-- **Art**: art, fine art, gallery
-- **Biology**: biology, cell, genetics, evolution, physiology, biochemistry, adaptation, reproduction, biodiversity, microbio, molecular
-- **Decolonialism**: decolonialism, neocolonialism, colonial, indigenous, imperialism, sovereignty
-- **Design**: design, graphic design, web design, product design
-- **Ecology**: ecology, earth, climate change, ecosystem, biodiversity, conservation, environment
-- **History**: history, historical, past, era, ancient, civilization, culture, heritage
-- **Indigenous Wisdom**: indigenous, wisdom, elder, past, native, heritage, spiritual
-- **Machine Learning**: machine learning, ml, neural net
-- **Metaverse**: ar, vr, xr, augmented reality, mixed reality, virtual reality, immersive, virtual world
-- **Music**: music, song, concert, composition, melody
-- **Philosophy**: philosophy, metaphysics, ethics, aesthetic, phenomenology
-- **Software**: software, programming, code, algorhythm, open source
-- **Systems**: systems, chaos, complexity, modeling, simulation, pattern
-
-## TopicList.txt to JSON
+Running at: [https://archive.grayareafestival.io](https://archive.grayareafestival.io)
 
-`./bin/topic_lists_to_json.js`
+Source code: [https://github.com/GrayAreaorg/festival-video-archive](https://github.com/GrayAreaorg/festival-video-archive)
 
-Converts a topic list `.txt` file generated from [search-caption-string.sh](./bin/search-caption-string.sh) to JSON format, readable by the front-end.
-
-Usage: `node bin/topic_lists_to_json.js file.txt > file.json`
-
-Convert entire folder:
-```bash
-#!/bin/bash
-for file in $(find . -type f -name "*.txt"); do
-  json_file="${file%.txt}.json"
-  node bin/topic_lists_to_json.js "$file" > "$json_file"
-done
-```
-
-## Generate Wordcount from .vtt Captions
-
-`./bin/wordcount.js`
-
-Counts the number of words in all the video caption files (`*.vtt`) in a given directory.
-It sorts them by frequency and associates them to the corresponding video via video id.
-
-Usage: `node ./bin/wordcount.js srcDirectory outputFile.txt [--include-video-stats]`
-
-`--include-video-stats` (optional) includes the wordcount per video id.
-
-
-## Compile JSON Archive Database
-
-`./bin/compile-db.js`
-
-Usage `node ./bin/compile-db.js source dest`
-
-- `source` A JSON file or folder of JSON files of YouTube metadata scraped from YouTube via ytdlp
-- `dest` A destination folder to write the JSON single-file database. Will prompt to confirm overwrite.
-
-
-## Get YouTube Autogenerated Captions
-
-`./bin/get-youtube-subs.sh`
-
-Download auto-generated captions in English for given YouTube ID
-
-Usage `./bin/get-youtube-subs.sh youtube_id [dest]`
-
-- `youtube_id` A YouTubeID
-- `dest` (optional) .vtt output destination. Default output will be alongside the source.
-
-
-## Get YouTube Subs from JSON Data
-
-`./bin/get-all-subs.sh`
-
-Download YouTube auto-generated subtitles in English (en) .vtt subtitle format using information existing YouTube JSON metadata (prerequiste). Will create .vtt files alongside source JSON
-
-Usage `./bin/get-all-subs.sh sourceDir`
-
-- `sourceDir` A source folder of YouTube JSON metadata files
-
-
-## Get YouTube Metadata
-
-`./bin/get-youtube-metadata.sh`
-
-Download YouTube metadata in JSON format from single YouTube video, playlist, or playlists.
-
-Usage `./bin/get-youtube-metadata.sh destination`
-
-- `destination` A destination folder to save the JSON data
-
-Example
-
-```
-# get all 2021 videos
-./bin/get-youtube-metadata.sh https://www.youtube.com/playlist?list=PLm8zJ0HKEJIbQgPDRsUHiawVtahvShN8X ./data/videos/2021/
-```
-
-### Youtube Playlists
-
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIYq6FBpOBHfHchjI0zTYINO # 2022
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIbQgPDRsUHiawVtahvShN8X # 2021
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIaarwTpOzGg4DXXVLWy2GVU # 2020
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIZXGbpAdjpIP9cuuJYfOW-F # 2019
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIaNfzV_-f0aYvrpAZAzjhIl # 2018
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIYAk9rAz1CQmE9Pzn8G_hrq # 2017
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIZtQ0PqjW341QIWrqPPkQXi # 2016
-- https://www.youtube.com/playlist?list=PLm8zJ0HKEJIZz_vKS1amJguyAEIiTtxjw # 2015
+A filterable archive of videos from the [Gray Area Festival](https://grayareafestival.io), consisting of in-person and virtual conference talks, presentations, and group panels. The videos in the archive are currently hosted on the Gray Area [YouTube Channel](https://www.youtube.com/@grayareaorg), which is currently the source of video metadata.
 
+The archive is built entirely client-side with flat-file JSON files, and includes english captions for each video, which improves accessibility and encourages filtering, searching, NLP analysis, and/or experimentation with LLMs. Contributions are welcome. These `.vtt` formatted caption files are stored alongside the video metadata JSON in the [data/videos](https://github.com/GrayAreaorg/festival-video-archive/blob/main/data/videos/) folder.
 
-## Optional Metadata: Custom Keys via YouTube Description Field
+Preliminary work has been carried out to allow users to filter videos by various curated topics ordered by the [frequency of key-words](https://github.com/GrayAreaorg/festival-video-archive/blob/main/data/wordcount.txt), and [word-count per video](https://github.com/GrayAreaorg/festival-video-archive/blob/main/data/wordcount_video_stats.txt) generated from the video captions. View these files in the [data/topics](https://github.com/GrayAreaorg/festival-video-archive/blob/main/data/topics/).
 
-Used for more fidelity in Video Archive. Extra object keys can added to the YouTube description field with the following criteria:
+This project is open to submissions and suggestions around engaging with this growing collection of content. You are welcome to make a [pull request](https://github.com/GrayAreaorg/festival-video-archive/pulls) or contribute to the [issues](https://github.com/GrayAreaorg/festival-video-archive/issues) for discussion.
 
-- Metadata delimiter (6 equals signs) "======"
-- `key: value` format
-- Append raw metadata to bottom of YouTube Description field
-- When parsed in the archive JSON, prepended with `meta_`, for example, `festival_year: 2015` becomes `{ "meta_festival_year" : "2015" }` in the archive json
 
-```
-======
-featured: <featured person(s), or group>
-featured_url: https://www.ruhabenjamin.com
-festival_year: 2015
-... additional metadata as needed ...
-```
index 5aa94ab40f470a8a80c96962f98809c227f051b9..26fffeec1179493afd9ff87b3775768a4aa1576f 100644 (file)
--- a/about.md
+++ b/about.md
@@ -2,14 +2,14 @@
 title: about
 ---
 
-`quilime.com` was started April 30, 2000. It's taken various forms as a project portfolio, code dump, and blog. Within this site you'll find [open source projects](/projects), [code snippets](/snippets) and [command line tricks](/cli).
+{% include about.md %}
 
-Visit my [personal website](https://gabrieldunne.com) for my other work, and [github](https://www.github.com/quilime) for more code.
+[source code](https://git.quilime.com/?p=quilime.com.git;a=tree;h=refs/heads/main;hb=refs/heads/main)
+
+### quilime.com archives
 
-archived sites
 - [2008](http://portfolio.quilime.com/2008)
 - [2007](http://portfolio.quilime.com/new/port.php)
 - [2005](http://portfolio.quilime.com/recent.html)
 - [2004](http://portfolio.quilime.com/archive/)
 
-© 2000—{{ "now" | date: "%Y" }} [~gld](https://gabrieldunne.com)
\ No newline at end of file
index a3df474944263f4294324a84c661f2ad651f4632..9bc126ffb5dcdde5b711b3136deba56b20df8f28 100644 (file)
@@ -13,6 +13,7 @@ body {
     padding:0;
     font-size:18px;
     margin:1em;
+    margin-right:4em;
     color: #ddd;
 }
 a {
@@ -33,6 +34,9 @@ a.mute {
 a:hover {
     color:#f0f;
 }
+p {
+    max-width:720px;
+}
 
 
 h1 {
@@ -116,11 +120,17 @@ table, td, tr {
   padding:0;
 }
 
+/* sentence case */
+.sc {
+    text-transform: capitalize;
+}
+
 #content {
 /*    position: absolute;*/
 /*    z-index: -1;*/
     padding-left: 12em;
     padding-bottom: 2em;
+    margin-top:4em;
 }
 #content.single {
     padding-top:0;
@@ -225,9 +235,7 @@ span.nextprev span a:hover {
     display:inline-block;
     margin-right:0.3em;
 }
-.entry p {
-     max-width:720px;
-}
+
 .entry h1 {
     text-indent: -1.5em;
 }
diff --git a/index.md b/index.md
new file mode 100644 (file)
index 0000000..fff87dd
--- /dev/null
+++ b/index.md
@@ -0,0 +1,20 @@
+---
+layout: index
+title: index
+---
+
+{% include about.md %}
+
+<br />
+
+<div class="allposts">
+  <br />
+  {% for post in site.posts %}
+  <div class="entry">
+    <h1><a class="sc" href="{{ site.url }}{{ post.url }}">— {{ post.title }}
+      <span style="font-weight:normal; font-size: 0.75em; color:#393939;">{{ post.date | date: "%Y-%m-%d" }}</span></a></h1>
+  </div>
+  {% endfor %}
+</div>
+
+
similarity index 100%
rename from index.html
rename to posts/index.html