my eye

Posts

All

Editors

Media

0 total

{'published': [DateTime(2024, 4, 24, 18, 44, 0, 905830, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/muir-peak-via-sam-merrill-and-castle-canyon', '/2024/04/25/pg'], 'type': ['entry'], 'name': ['Muir Peak via Sam Merrill and Castle Canyon'], 'content': [{'html': '$ start_time = "2024-04-12T16:58:14Z"\n$ end_time = "2024-04-13T02:02:59Z"\n$ image_data = [\n$ {\n$ "name": \'Flora\',\n$ "latlng": [34.2040027777778, -118.126038888889],\n$ "photoURL": \'/media/NGz6.jpg\'\n$ },\n$ {\n$ "name": \'Panoramic View\',\n$ "latlng": [34.2189916666667, -118.120330555556],\n$ "photoURL": \'/media/vLqR.jpg\'\n$ },\n$ ]\n\n<div id="map"></div>\n<link rel=stylesheet href=https://unpkg.com/leaflet/dist/leaflet.css>\n<style>#map { height: 40em; }</style>\n<script src=https://unpkg.com/leaflet/dist/leaflet.js></script>\n<script>\nlet hikemap = L.map(\'map\').setView([34.215, -118.115], 14)\nL.tileLayer(\'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\', {attribution: \'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors\'}).addTo(hikemap)\n\n$for location in web.tx.db.select("locations", where=f\'json_extract(locations.location, "$.properties.timestamp") > "{start_time}" and json_extract(locations.location, "$.properties.timestamp") < "{end_time}"\'):\n L.geoJSON($:web.dump(location["location"])).addTo(hikemap)\n\nlet imageMarkers = $:web.dump(image_data)\nimageMarkers.forEach(marker =>\n L.marker(\n marker.latlng,\n {icon: L.icon({\n iconUrl: marker.photoURL,\n iconSize: [50, 50],\n iconAnchor: [25, 50]})})\n .bindPopup(`<img src="$${marker.photoURL}" alt="$${marker.name}"\n style="max-width: 200px; max-height: 200px;">`)\n .addTo(hikemap)\n)\n</script>\n'}], 'updated': [DateTime(2024, 4, 28, 17, 23, 48, 446047, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 4, 20, 23, 4, 13, 740552, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/zeke', '/2024/04/21/zq'], 'type': ['entry'], 'name': ['Tim Dundon'], 'content': [{'html': '<img alt="bearded old man leaning on a tree trunk with a chicken standing on the tree and cactus in the background" src=https://ragt.ag/media/_5E8.webp style=width:100%>\n\na.k.a. Zeke the Sheik; Zeke the Magic and Meek Cosmic Sheik from Cripple Creek Peak and the Planet Bleak; The Guru of Doo Doo, The Sodfather\n\n---\n\n<details>\n<summary>\n[Tim Dundon, ‘Guru of Doo Doo,’ whose compost nourished Altadena’s gardens, dies at 77](https://www.latimes.com/obituaries/story/2019-08-06/tim-dundon-guru-of-doo-doo-compost-altadena-dies) -- August 6, 2019\n</summary>\n<blockquote>The pile is my baby. This is the tower of power, that makes people behind Katie Couric and Matt Lauer, quiver and cower, ‘cause it generates the power that makes a flower.</blockquote>\n</details>\n\n<details>\n<summary>\n[Episode 51: Cosmic Consciousness & Compost](https://esotouric.com/2014/02/03/canteatsunshine51/), Esotouric Bus Adventures -- February 3, 2014\n</summary>\n<figure>\n <figcaption>Interview with Tim</figcaption>\n <audio controls src=/media/avnc.mp3></audio>\n <a href=/media/avnc.mp3> Download audio</a>\n</figure>\n</details>\n\n<details>\n<summary>\n[The Royal Soil . . . Wrapped in Foil](https://www.youtube.com/watch?v=FhxnuXMcMgE) -- March 6, 2007\n</summary>\n<figure>\n <figcaption>Interview with Tim</figcaption>\n <video controls src=/media/LJEq.mp4></video>\n <a href=/media/LJEq.mp4> Download video</a>\n</figure>\n</details>\n\n<details>\n<summary>[Compost Crusader](https://www.latimes.com/archives/la-xpm-2001-feb-05-me-21351-story.html) -- February 5, 2001\n</summary>\n<blockquote>This is my monument to Mother Earth that shows waste can be converted into something that restores life.</blockquote>\n</details>\n\n<details>\n<summary>\n[Zeke’s Heap : Altadena Man’s 30-Foot-High Compost Pile Raises a Stink](https://www.latimes.com/archives/la-xpm-1990-03-09-me-2312-story.html) -- LA Times -- March 9, 1990\n</summary>\n<blockquote>This is the key of energy that will eventually set mankind free from misery and gravity.</blockquote>\n<blockquote>I’ve built the most powerful machine around. It’s called Nature. What could be more perfect?</blockquote>\n</details>\n\n<details>\n<summary>[Found Guilty in Dope Case Despite ‘Hilarious’ Trial : Zeke’s Week Was Bleak; Alter Ego Up the Creek](https://www.latimes.com/archives/la-xpm-1985-03-24-me-30176-story.html) -- LA Times -- March 24, 1985</summary>\n<blockquote>I’m the politician for which you all have been wishing ever since I had the vision that my mission was to end the great second Prohibition and to form the coalition for the abolition of nuclear fission and, in addition, to wipe out malnutrition. Because this all put me under a great deal of suspicion, I made the decision to make the transition to become a politician.</blockquote>\n<blockquote>The marijuana was merely the nurse that would reimburse my purse and allow me to throw your whole universe into reverse and make things get better instead of worse.</blockquote>\n<blockquote>I guess I’m just the sage who was too much of an outrage for the stage because he had the message that through the proper usage of the sewage, garbage and foliage, we can really turn the page on a new and more abundant golden age.</blockquote>\n<blockquote>I’m the stout devout who was here about but they wouldn’t let me go my route so I just had to hang out and more or less pout. But now I’m going to go out and show them how to knock out the drought.\n</blockquote>\n</details>\n\n---\n\nZeke\'s [2003 homepage](https://web.archive.org/web/20030109061313/http://www.2doo.com/index.shtml) contained e-mail, phone, fax and ICQ. It also had a welcome sign, animated gif, popup window, mailing list, discussion forum and disabled "shopping" tab.\n\nZeke marched in Pasadena’s [Doo-Dah Parade](/doo-dah) with his pet yam.\n\n[Google Maps Satellite View of Tim\'s House](https://www.google.com/maps/place/Mountain+View+St+%26+Fair+Oaks+Ave,+Altadena,+CA+91001/@34.1876618,-118.1514734,175a,35y,18.9h/data=!3m1!1e3!4m6!3m5!1s0x80c2c2f10ccd886b:0xb7a144d35b3ff027!8m2!3d34.1870875!4d-118.150843!16s%2Fg%2F11gdtx53y8?entry=ttu)\n\n<img src=/media/4tuj.jpg style=width:100%> <q>Tim Dundon, Compost Wizard, and His Rooster Elvis</q> --- [Michael Weschler](https://michaelweschler.com/PHOTOGRAPHY/Portraits/15/caption)\n\n---\n\n- https://arthurmag.com/2009/04/02/the-sodfather-californian-compost-wizard-tim-dundon/\n- https://intothegreen.org/2009/04/02/the-sodfather-august-2007/\n- https://chanceofrain.com/2012/08/a-lens-into-paradise/\n\n---\n\n- https://www.sfgate.com/news/article/compost-king-gets-dethroned-l-a-bulldozes-2950373.php\n- https://www.pasadenastarnews.com/2012/09/05/gate-planned-to-hide-chickens-compost-pile-in-altadena-mans-yard/\n- https://www.pasadenastarnews.com/2019/08/14/let-a-hundred-flowers-bloom-in-honor-of-zeke-the-sheik/\n- https://boingboing.net/2019/08/09/fare-thee-well-tim-zeke-the.html\n\n---\n\n$for ytid in ("m3UD2rKFoIE", "wqQ5HUjaGLI", "V_36Hb2KiQA", "e28u9VEzPEM"):\n - https://youtu.be/$ytid\n'}], 'updated': [DateTime(2024, 4, 27, 14, 54, 25, 112930, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 4, 20, 22, 18, 53, 664787, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/manure', '/2024/04/21/rn'], 'type': ['entry'], 'name': ['Manure'], 'content': [{'html': 'See [Guru of Doo Doo](/zeke).\n\n## Horse\n\nAn adult horse will produce around 40-50lb of manure every day. Find a horse and you\'ll find a human that needs to dispose of that much manure every day.\n\n~TODO add photos of a horse, different consistencies of manure, 6\' pile for scale~\n\n### Warning: Manure Pits are Deadly\n\n***NEVER ENTER AN ENCLOSED SPACE CONTAINING HORSE MANURE!***\n\nHorse manure produces hydrogen sulfide, carbon dioxide, methane and ammonia during breakdown. Fresh manure has an especially high capacity for production of these gases and high enough concentrations can knock you unconscious instantly.\n\nLack of ventilation prevents outside oxygen from displacing the gases in occupiable areas of enclosed space as they are produced. Low percentages of oxygen can knock you unconscious quickly.\n\nOnce unconscious you will quickly suffocate in the low-oxygen environment while being continuously poisoned by the gases.\n\nThe poisoning would leave permanent damage even if you were somehow able to be *immediately* rescued by enough people to enter and carry your limp body out all while holding their collective breaths and risking their own lives. **You should never try to save someone who has collapsed in such a situation. Therefore you should never expect someone to do so for you.**\n\n> On Aug. 10, three brothers died from the toxic fumes of an underground manure pit on their family’s farm, sending shock waves across the agricultural community, well beyond the town of St. Henry, Ohio.\n>\n> The eldest brother stepped into the underground tank first. He went in to fix a problem with a pump. When he was overcome by a toxic mix of gases and passed out, another brother called for help before rushing in to try rescue his brother. Then a third brother went in to try to save the other two.\n>\n> One by one, they all succumbed to the gases. One by one, they passed out, landing in the standing liquid, a tragic domino effect: Gary Wuebker, 37, Brad Wuebker, 35, and Todd Wuebker, 31.\n\n--- [Manure Pit Fatalities Spur Toxic Fumes Awareness](https://www.lancasterfarming.com/farming-news/news/manure-pit-fatalities-spur-toxic-fumes-awareness/article_48b1c415-bc71-566e-9ce6-b86bbbe732ce.html)\n\n#### Stables & Dumpsters\n\n~TODO add photos of dumpster for scale~\n\nA small stable can and will fill a 40-yard dumpster in a week. These bins are 7\' tall, 7\' wide and 22\' long. Consider the following cross-section of a 40-yard dumpster.\n\n<pre style=line-height:1.15>\n┌───────────────────────┐\n│ \\ │ 7\'\n│ MANURE \\ DEATH │\n│ FILLED TO BRIM \\ ZONE │ < Door\n│ \\ │\n└───────────────────────┘\n 18\' 4\'\n</pre>\n\nAccessing from an opened door doesn\'t eliminate the danger. Stepping too quickly into the DEATH ZONE before enough oxygen has displaced the gases will result in incapacitation and death.\n\nClimbing into the DEATH ZONE is incredibly dangerous. Inhaling just below the brim of the dumpster could be enough to make you dizzy and stumble lower rendering subsequent breaths futile resulting in incapacitation and death.\n\nStanding on top of the pile can be misleadingly tolerable. The uneven and unexpected composition of the pile is a tripping hazard. Tripping and falling into the DEATH ZONE will result in incapacitation and death.\n\nThe 3m 6006 is a multi-purpose respirator cartridge that claims to protect against hydrogen sulfide, carbon dioxide, methane and ammonia gases. See [3m respirator cartridge selection poster](https://multimedia.3m.com/mws/media/40744O/3m-respirator-cartridge-and-filter-selection-poster.pdf). **Always do your own research but *NEVER* rely on a respirator to allow you to enter the DEATH ZONE.**\n\n#### NEVER ENTER THE DEATH ZONE &\n\nDON\'T DO IT WHILE HOLDING ON TO THE EDGE. YOU\'LL LET GO WHEN YOU PASS OUT.\n\nDON\'T DO IT WHILE SOMEONE HOLDS YOUR HAND. THEY\'LL DROP YOU AND BE UNABLE TO CLIMB IN TO GET YOU OUT.\n\nDON\'T DO IT FIRST THING IN THE MORNING WHEN THE STENCH OF AMMONIA IS LESS PRONOUNCED. YOUR NOSE IS NOT A GAS MONITOR.\n\n### Selection\n\n**Avoid manure mixed with bedding (wood chips).** The increased carbon increases the carbon:nitrogen ratio. Trace amounts are acceptable if aging. Small amounts are acceptable if composting.\n\n> The data indicate that horse manure without bedding will supply a modest amount of N to plants. Horse manure with bedding will often tie up N, and supplemental N is needed when using this material as a source of organic matter for soils.\n\n--- [Horse Manure and Soil Nitrogen](https://s3.wp.wsu.edu/uploads/sites/411/2014/12/Paper_Manure_HorseManSoilN.pdf)\n\nHorse manure should be aged or composted before application.\n\n### Aging\n\n#### When *not* used in close proximity to edible plants\n\nAge 2-4 weeks to prevent burning the plant\'s roots. Consider intensity of material when spreading.\n\n#### When used in close proximity to edible plants\n\nAge 6 months to prevent pathogen transmission.\n\nStart a pile 6 feet tall and 6 feet in diameter (2.094 cubic yards). Place it beneath the largest tree just inside of the drip line.\n\n<img src=/media/aHF6.webp>\n\nAny smaller and the core will lose its thermal inertia. 5\'x5\' is 1.212 cubic yards.\n\nAny larger becomes quickly dangerous. 7\'x7\' is 3.325 cubic yards. ***Toxic gas concentrations can become dangerously high. In hot weather and when too densely packed or otherwise lacking ventilation the core can overheat beyond the relatively low ignition point of the straw which can ignite the gases causing a fiery explosion.***\n\n<img src=/media/8gHX.jpg style=width:100%>\n\nDon\'t add to it. Don\'t turn it. Don\'t touch it. Tarp it with a circular cone shaped tarp with an open top. Keep the exterior moist by temporarily removing the tarp and misting minimally--more during summer, less during winter.\n\n~TODO diagram of tarp and ventilation pipe~\n\nhttps://gardendrum.com/2013/11/07/how-to-aerate-a-large-compost-heap/\n\nLay flat a 1/2" PVC the length of the radius plus 6" (3\'6") with holes drilled on one end and wrapped in landscaping fabric. Place the end with holes in the center of the pile with the other ends sticking out of the pile.\n\nStart in Fall (Aug-Oct) for use in Spring (Feb-Apr) and vice versa.\n\nThe centermost region will contain the richest material for root-adjacent application, the weathered exterior good for a straw mulch and the in-between good for a manure tea.\n\n~TODO cross-section of regions~\n\n### Composting\n\n### Spreading\n\nSpread during Spring and Fall. Work 2" loamy material into the top 2-4" inches of existing soil. Mulch with an additional 2-4" with weathered material.\n\n## Guano\n\n### Bat\n\nCollect from beneath a [bat box](/bats#bat-box).\n\n### Chicken\n\n### Dove/Pigeon\n'}], 'updated': [DateTime(2024, 4, 22, 17, 52, 41, 973360, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 4, 17, 19, 32, 33, 322202, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/wetbulb', '/2024/04/18/nk'], 'type': ['entry'], 'name': ['Wet Bulb Temperature'], 'content': [{'html': '> Even heat-adapted people cannot carry out normal outdoor activities past a wet-bulb temperature of 32&nbsp;°C (90&nbsp;°F), equivalent to a heat index of 55&nbsp;°C (131&nbsp;°F). A reading of 35&nbsp;°C (95&nbsp;°F) – equivalent to a heat index of 71&nbsp;°C (160&nbsp;°F) – is considered the theoretical human survivability limit for up to six hours of exposure.\n\n--- https://en.wikipedia.org/wiki/Wet-bulb_temperature\n\n$code:\n def get_wet_bulb(Tdry, RH):\n return Tdry * math.atan(0.151977 * math.sqrt(RH + 8.313659)) + 0.00391838 * math.sqrt(RH**3) * math.atan(0.023101 * RH) - math.atan(RH - 1.676331) + math.atan(Tdry + RH) - 4.686035\n\nWet bulb for 110&nbsp;°F and 60% relative humidity is $get_wet_bulb(110, 60).\n\n<div>\\[\n\\scriptsize \\begin{align*}\nT_\\mathrm w = T\\arctan(0.151977\\sqrt{RH + 8.313659})\n\\\\ + 0.00391838\\sqrt{RH^3}\\arctan(0.023101RH) \n\\\\ - \\arctan(RH - 1.676331)\n\\\\ + \\arctan(T + RH)\n\\\\ - 4.686035\n\\end{align*}\n\\]</div>\n\n<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.css" integrity="sha384-wcIxkf4k558AjM3Yz3BBFQUbk/zgIYC2R0QpeeYb+TwlBVMrlgLqwRjRtGZiK7ww" crossorigin="anonymous">\n<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.js" integrity="sha384-hIoBPJpTUs74ddyc4bFZSM1TVlQDA60VBbJS0oA934VSz82sBx1X7kSx2ATBDIyd" crossorigin="anonymous"></script>\n<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>\n'}], 'updated': [DateTime(2024, 4, 18, 14, 26, 25, 722200, tzinfo=Timezone('America/Los_Angeles'))]}

{'in_reply_to': ['/code/projects/webint-editor'], 'name': ['Im n iue'], 'content': ['bruh _hy _re _o m_ny letter_ on thi_ input form not _orking right?\r\noh it bcz you r overri_ing them _ith your vim input l_yer thing.'], 'visibility': ['public'], 'published': [DateTime(2024, 4, 12, 14, 18, 28, 119825, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/issues/1', '/2024/04/12/t8'], 'type': ['entry']}

{'published': [DateTime(2024, 4, 10, 19, 33, 0, 315583, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/trees', '/2024/04/11/8w'], 'type': ['entry'], 'name': ['Trees'], 'content': [{'html': '\n'}], 'updated': [DateTime(2024, 4, 10, 19, 33, 18, 792387, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/04/homebrew-website-club-pacific-0qnrWmKCwpGQ'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 4, 10, 15, 27, 16, 588045, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/04/10/2k'], 'type': ['entry']}

{'published': [DateTime(2024, 3, 31, 14, 18, 12, 938280, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/agpl', '/2024/03/31/2y'], 'type': ['entry'], 'name': ['Affero General Public License'], 'content': [{'html': 'https://www.gnu.org/licenses/agpl-3.0.en.html\n\n## Precedence-related\n\nhttps://blog.joinmastodon.org/2021/10/trumps-new-social-media-platform-found-using-mastodon-code/\n'}], 'updated': [DateTime(2024, 4, 9, 12, 33, 46, 284592, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 30, 15, 7, 35, 793298, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/indieweb', '/2024/03/30/9e'], 'type': ['entry'], 'name': ['IndieWeb'], 'content': [{'html': 'A community of people who blog from their own domain.\n\n[chat](https://chat.indieweb.org) | [wiki](https://indieweb.org) | [events](https://events.indieweb.org)\n\n## Domain Ownership\n\nBuy a domain and put your homepage at it.\n\n[Choose between www and non-www URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs)\n\n## Microformats\n\nMark up authorship, posts and feeds.\n\nParsers --\n$for language in ("python", "php", "node", "go", "ruby"):\n [$language](https://$(language).microformats.io)\n $if not loop.last:\n | \\\n\n<h2>Specified Features</h2>\n\n* <img src=https://indieweb.org/images/thumb/6/63/webmention.svg/128px-webmention.svg.png style="height:1.25em;position:relative;top:.2em"> [Webmention](#webmention) -- cross-site interactions\n* <img src=https://indieweb.org/images/thumb/b/b3/indieauth-2023.svg/128px-indieauth-2023.svg.png style="height:1.25em;position:relative;top:.2em"> [IndieAuth](#indieauth) -- sign in with your domain\n* <img src=https://indieweb.org/images/thumb/4/47/micropub.svg/128px-micropub.svg.png style="height:1.25em;position:relative;top:.2em"> [Micropub](#micropub) -- post editors\n* <img src=https://indieweb.org/images/thumb/0/08/microsub.svg/128px-microsub.svg.png style="height:1.25em;position:relative;top:.2em"> [Microsub](#microsub) -- feed readers\n* <img src=https://indieweb.org/images/thumb/c/cf/websub.svg/128px-websub.svg.png style="height:1.25em;position:relative;top:.2em"> [Websub](#websub) -- subscriptions\n\n### Webmention\n\nCross-site interactions.\n\n### IndieAuth\n\nSign in with your domain.\n\n### Micropub\n\nPost editors.\n\n### Microsub\n\nFeed readers.\n\n### Websub\n\nSubscriptions.\n\n## Tools\n\nhttps://indiewebify.me\n'}], 'updated': [DateTime(2024, 4, 6, 18, 33, 21, 196979, tzinfo=Timezone('America/Los_Angeles'))]}

{'content': ['Created repository <a href=/code/projects/dotfiles><code>dotfiles</code></a>'], 'published': [DateTime(2024, 3, 22, 23, 55, 36, 244038, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/dotfiles', '/2024/03/23/ef'], 'type': ['entry']}

{'published': [DateTime(2024, 3, 15, 20, 56, 29, 296069, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': ['https://ragt.ag'], 'url': ['/beef-burgandy', '/2024/03/16/e2'], 'type': ['recipe'], 'name': ['Beef Burgandy'], 'summary': ['Beef, mushrooms, carrots, onions and bacon, cooked in a red wine sauce seasoned with herbs, garlic and tomato paste.'], 'ingredient': ['2T avocado oil', '3lb chuck, cut into 2" chunks'], 'instructions': [{'html': ''}], 'yield': ['6'], 'duration': ['20 min prep, 60-90 min/pound cook'], 'updated': [DateTime(2024, 3, 21, 15, 38, 56, 405970, tzinfo=Timezone('America/Los_Angeles'))], 'content': [{'html': 'Bœuf à la Bourguignonne\n\nhttps://www.youtube.com/watch?v=NlGFkXd-QT0\n'}]}

{'published': [DateTime(2024, 3, 15, 16, 59, 18, 647671, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/firefox', '/2024/03/15/jg'], 'type': ['entry'], 'name': ['Firefox'], 'content': [{'html': 'A free and open-source web browser developed by Mozilla.\n\n### Add-ons I Use &\n\n$ ff_addons = {\n$ "uBlock origin": ("ublock-origin", "an efficient wide-spectrum content blocker"),\n$ "Tree Style Tab": ("tree-style-tab", "show tabs like a tree"),\n$ "Vimium": ("vimium-ff", "keyboard shortcuts for navigation and control"),\n$ "Foxy Gestures": ("foxy-gestures", "mouse gestures"),\n$ "ReloadMatic": ("reloadmatic", "automates periodic reloading of browser tabs"),\n$ "Dark Reader": ("darkreader", "dark mode for every website"),\n$ "Refined GitHub": ("refined-github-", "simplifies the GitHub interface and adds many useful features"),\n$ "WAVE Accessibility Tool": ("wave-accessibility-tool", "evaluate web accessibility"),\n$ }\n<ul>\n$for ff_addon in ff_addons:\n $ ff_path = ff_addons[ff_addon][0]\n $ ff_desc = ff_addons[ff_addon][1]\n <li><a href=//addons.mozilla.org/en-US/firefox/addon/$ff_path>$ff_addon</a> -- $ff_desc</li>\n</ul>\n'}], 'updated': [DateTime(2024, 3, 15, 18, 26, 44, 795743, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 15, 14, 5, 22, 44070, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/node', '/2024/03/15/7p'], 'type': ['entry'], 'name': ['Node'], 'content': [{'html': 'Runs Javascript on your local machine.\n\n- ESLint\n- JSDoc\n'}], 'updated': [DateTime(2024, 3, 15, 14, 52, 59, 10733, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 14, 5, 7, 57, 59168, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/homomorphic-encryption', '/FHE', '/2024/03/14/dk'], 'type': ['entry'], 'name': ['Homomorphic Encryption'], 'content': [{'html': 'A form of encryption that allows computations to be performed on encrypted data without first having to decrypt it.\n\n> Full Homomorphic Encryption (FHE) allows untrusted (e.g. cloud) applications to operate directly on encrypted data, eliminating the need for server-side decryption or trust.\n>\n> simplefhe is a Python library for FHE that intends to be as easy-to-use as possible. In the simplest case, just a few lines of code are all you need to have working FHE!\n\n1. Keypair Generation\n2. Client-Side Encryption\n3. Server-Side Processing\n4. Client-Side Decryption\n\n--- https://pypi.org/project/simplefhe/\n'}], 'updated': [DateTime(2024, 3, 20, 17, 39, 18, 819016, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 10, 22, 32, 25, 249958, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/canopy', '/2024/03/11/6j'], 'type': ['entry'], 'name': ['Canopy'], 'content': [{'html': 'An open source project that runs a decentralized social web platform.\n\nSupports IndieWeb technologies.\n\n## Join\n\n### Self-host\n\nSee <a href=https://ragt.ag/code/projects/canopy#usage><code>canopy</code> README</a>.\n\n### Use a service provider\n\n- [Canopy Garden](canopy.garden)\n'}], 'updated': [DateTime(2024, 3, 14, 18, 48, 14, 344321, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 10, 16, 25, 38, 438567, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/03/10/eh'], 'type': ['entry'], 'watch-of': [{'name': ['The Chinese Hack that Stole 22m People’s Data | Cyberwar'], 'author': [{'name': ['VICE News'], 'url': ['https://youtube.com/@VICENews']}], 'url': ['https://youtu.be/FqN2Y66lanI']}], 'embed': ['https://www.youtube-nocookie.com/embed/FqN2Y66lanI?si=vbl1zYrBr78Djk3D'], 'category': ['China', 'hacking'], 'content': [{'html': 'Chinese military attacks US companies; DoJ issues arrest warrants.\n\nOriginally released 2016. See [[Operation Aurora]] (2009).\n\n> *If the Google hack and others like it are state sponsored that means the Chinese government is brashly stealing American intellectual property with one hand while making new trade deals with the other.*\n\n--- @08:28\n\n> It was the first time a security firm had publicly pointed to not just to China but to a very specific unit of the PLA.\n\n--- @nytimes.com/by/nicole-perlroth, Cyber Security Reporter, The New York Times @09:09\n\nShanghai, China -- PLA #61398 -- responsible for thousands of attacks.\n\n> The thing you have to understand about Chinese companies ... is that there\'s a corner office somewhere where there\'s a Communist Party representative. So the Communist Party is never far away from any Chinese company. There is always a connection to the government.\n\n--- Melissa Chan, Former China Correspondent, Al Jazeera English @10:40\n\n> Today we are announcing an indictment against five officers of the Chinese People\'s Liberation Army for serious cyber security breaches against six American victim companies. These represent the first ever charges against known state actors for infiltrating United States commercial targets.\n\n--- Eric Holder, Attorney General (May 19, 2014) @13:44\n\n> *But they are wearing PLA member uniforms.\n> If this is a nation state attack why single out individuals?*\n>\n> We\'re not charging a country for generically doing something bad.\n> We\'re proving up specific facts against particular people by name, by date, here is what they did.\n> So in this case we were able to figure out the name and the face behind the keyboard.\n>\n> And the reason why our companies are getting hammered day in and day out by this type of theft is because the people behind the keyboard think they\'re anonymous.\n> And these charges show "you are not".\n> And the fact is just because you\'re wearing a uniform shouldn\'t give you a free pass when you commit that same type of theft.\n\n--- John Carlin, Assistant Attorney General, Department of Justice @15:00\n'}], 'updated': [DateTime(2024, 3, 14, 17, 52, 23, 909522, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 10, 16, 10, 52, 225853, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/colophon', '/2024/03/10/4v'], 'type': ['entry'], 'name': ['Colophon'], 'content': [{'html': "I've created this site using [[canopy]].\n"}], 'updated': [DateTime(2024, 3, 10, 16, 12, 10, 462695, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 10, 14, 29, 20, 787576, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/climate', '/2024/03/10/i3'], 'type': ['entry'], 'name': ['Climate'], 'content': [{'html': '## Los Angeles Climate\n\n## Microclimate\n\n## Climate Change\n\nhttps://en.wikipedia.org/wiki/Climate_change\n\n### 2024\n\n$ articles = {\n$ "https://africanperceptions.org/en/2024/04/heat-wave-causes-havoc-in-mali-kills-100-people/":\n$ (24, 4, 9, "heat wave in Mali reaches 48°C / 119°F, kills 100 people", "<q>Malian meteorologists say the city Southwestern di Kayes recorded the hottest day in African history on April 4, 2024.</q>"),\n$ "https://www.upi.com/Top_News/World-News/2024/03/22/mongolia-severe-weather-has-killed-millions-of/1001711121581/":\n$ (24, 3, 22, "severe weather kills 4.7 million Mongolian livestock", "<q>2,257 herder families have lost over 70% of their livestock</q>"),\n$ "https://www.jpl.nasa.gov/news/nasa-analysis-sees-spike-in-2023-global-sea-level-due-to-el-nino": (24, 3, 21, "global sea level spike from strong El Niño", "<img src=https://d2pn8kiwq2w21t.cloudfront.net/original_images/e1-PIA26183_sea_level_update_2023.png style=width:100%>"),\n$ "https://edition.cnn.com/2024/03/18/climate/ocean-heat-record-year-climate-intl": (24, 3, 18, "global ocean heat hits new record every single day for the last year", "<q>The amplitude by which previous sea surface temperature records were beaten in 2023, and now again in 2024, is remarkable.</q>"),\n$ "https://www.aljazeera.com/gallery/2024/3/18/photos-record-heat-index-of-62-3c-scorches-rio-de-janeiro": (24, 3, 18, "record 62°C / 144°F heat index, Rio de Janeiro", "Meanwhile, extreme rains were wreaking havoc in the south of the country and are forecast to continue next week, according to authorities."),\n$ "https://www.noaa.gov/news/us-had-its-warmest-winter-on-record": (24, 3, 8, "warmest winter on record, US", "<q>The year-to-date (January -- February 2024, YTD) average temperature for the contiguous U.S. was 36.5°F -- 4.5°F above average -- ranking as the ninth warmest such YTD on record.</q>"),\n$ }\n\n$for url, (year, month, day, description, details) in articles.items():\n <details><summary>`$f"{month:02}/{day:02}"`&nbsp;&ndash;&nbsp;<a href=$url>$description</a></summary>$details</details>\n'}], 'updated': [DateTime(2024, 4, 15, 17, 50, 0, 86994, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 8, 19, 42, 45, 260609, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/03/09/9r'], 'type': ['entry'], 'watch-of': [{'name': ['Why Big Tech is Ruining Our Lives with Brian Merchant - Factually! - 250'], 'author': [{'name': ['Adam Conover'], 'url': ['https://youtube.com/@TheAdamConover']}], 'url': ['https://youtu.be/wJzHmw3Ei-g']}], 'embed': ['https://www.youtube-nocookie.com/embed/wJzHmw3Ei-g?si=7V4KrUl02-Sqz2z-'], 'updated': [DateTime(2024, 3, 14, 10, 55, 4, 64644, tzinfo=Timezone('America/Los_Angeles'))], 'category': ['Luddism'], 'content': [{'html': 'The Luddites as shock troops for modern industrial capitalism.\n\n## `00:00`\n\n- clothworkers: weavers, stocking frame knitters, finishers, croppers, ..\n- largest industrial workforce\n- late 1700s, early 1800s\n- was a "cottage industry", literally working in their own cottages\n- technologists/craftspeople/mastery\n- fix/mod their tools to be more productive/efficient\n- factory, powerloom/wideframe appears\n- cheaper, poorer quality\n- drives down sale price of everything\n- no apprentices\n- people in the trade begin to see the trends intersecting, industrializing taking shape\n\n## `10:00`\n\n- they start protesting\n- first to parliament\n\n - shoddy is fraudulent\n - let\'s get some regulations on the books\n\n - entrepreneurs oppose\n- no unions, no democracy\n- post revolutionary France\n- 1811 clothworkers organize in solidarity under ficticious "Ned Ludd"\n- would seek out and smash new machines, leaving old machines\n- state sees it as a threat\n- martials troops, thousands\n- largest domestic occupation in English history\n- at height 30,000 troops ready to fight Luddites\n\n - more than had fighting Napoleon\n- make it capital offense (hung for smashing a machine)\n\n - Lord Byron defends Luddites\n - still passes\n- propaganda campaign\n\n - "they know not what they do"\n - to smash machines, to protest technology, is to be a dummy, to be backwards-looking, to be a Luddite\n- it\'s worse for every segment of society except for the one\'s who own the machines\n\n## `20:00`\n\n- biggest misconception: "they were against technology" NO!\n\n - they were against the profits being only beneficial to the few of society\n- if someone had invented a technology to dramatically improve personal productivity, together it would have been a different story\n- proto-capitalism was entering\n\n - Luddites fighting against the shock troops of industrial capitalism\n- setting up factories at edge of town and employing orphans\n\n - when you hear automation ... it\'s never a clean automation\n\n - there\'s always an invisible supply chain of usually exploited labor hiding behind it\n\n - these machines are more efficient, it\'s the future\n\n - keep shipping us orphans\n\n- deskilling\n- labor is more precarious, more vulnerable\n- today\'s AI systems has precarious labor doing quality assurance\n\n - pennies payed in Kenya to review training data\n\n- not just jobs being automated\n- good jobs being replaced by bad jobs\n- who benefits from improvement of technology\n- industrial/entrepreneurial class was capturing all of the gains\n- Luddites were starving as "productivity" was shooting through the roof\n\n - Luddism is one of the early efforts to get those two trajectories to align\n - if you have technology that makes productivity to skyrocket it\'s trying to get people a seat at the table so that they can benefit too\n- it\'s possible there could have been some kind of new loom technology that actually benefitted everybody\n\n - it\'s not necessarily the new invention, it\'s how it was put to use, and to what end\n - it\'s the social context\n- studios want to use AI to write scripts\n\n - not as a tool to contribute to writer\'s creativity\n - instead to degrade the writer\'s ability to contribute\n- AI will do things better and replace jobs\n\n - actually, technology that has been invented, cannot replace a human writer, all it can do is make the product worse\n - worried not of writer\'s job being replaced, worried about studio using [LLM] to barf out draft then assign to someone to rewrite, talk to director, talk to post\n\n - you\'re not the writer, you\'re the associate producer\n- it was allowable in writer\'s contracts, got protections put in place with solidarity of strike\n- not worried about technology, worried about what companies are going to do with it\n- never seen before blunt force apocalyptic hyping of what AI is\n\n - still haven\'t figured out a good way to make money off it\n- fight was in hollywood with writers\n\n - will happen to copywriters, illustrators, coders, graphic designers\n- photoshop generative fill is fine\n- being deployed by management\n- put into opposition of workers\n\n## `30:00`\n\n## `40:00`\n\n## `50:00`\n'}]}

{'published': [DateTime(2024, 3, 7, 17, 55, 55, 309395, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/etherpad', '/2024/03/08/m2'], 'type': ['entry'], 'name': ['Etherpad'], 'content': [{'html': 'An open-source, web-based collaborative real-time editor.\n\nhttps://github.com/ether/etherpad-lite\n\n## Change History\n\nEtherpad stores a complete set of all changes in key/value format in a [[SQLite]] database. Keys contain `pad name` and `revision number` while corresponding values contain `changeset` and authorship (`author`/`timestamp`).\n\n### Example change record\n\n pad:2024--03--01--uu:revs:711|{"changeset":"Z:6o4>4=j*0+4$$said","meta":{"author":"a.atj4gB7UrxfFo4B7","timestamp":1709939218901}}\n\nhttps://github.com/ether/etherpad-lite/wiki/Changeset-Library\n\n### a series of insertion changesets\n\n Z:3n>1=m*0+1$$f\n Z:3o>3=n*0+3$$ede\n Z:3r>2=q*0+2$$ra\n Z:3t>2=s*0+2$$te\n Z:3v>2=u*0+2$$d \n Z:3x2|8=3i=1*0+2$$##\n Z:3m>3|8=3i=3*0+3$$ HT\n Z:3p>4|8=3i=6*0+4$$TP S\n Z:3t>4|8=3i=a*0+4$$igna\n Z:3x>5|8=3i=e*0+5$$tures\n'}], 'updated': [DateTime(2024, 3, 8, 22, 13, 25, 888504, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/03/homebrew-website-club-pacific-8RIa9kKqw3YX'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 3, 7, 17, 38, 49, 563242, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/03/08/xm'], 'type': ['entry']}

{'published': [DateTime(2024, 3, 7, 17, 34, 3, 291994, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/fediverse', '/2024/03/08/cg'], 'type': ['entry'], 'name': ['Fediverse'], 'content': [{'html': 'The ActivityPub-based federated social network.\n\nMastodon, Threads, Pleroma, Lemmy, Pixelfed\n\n## Implementing\n\n### WebFinger\n\n### HTTP Signatures\n'}], 'updated': [DateTime(2024, 3, 7, 17, 34, 22, 698458, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 6, 17, 12, 42, 614825, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/tmux', '/2024/03/07/xm'], 'type': ['entry'], 'name': ['tmux'], 'content': [{'html': 'A terminal multiplexer.\n\n## Leader\n\nI use <kbd title="CONTROL G">C-G</kbd> on workstation and laptop and <kbd title="CONTROL B">C-B</kbd> on server and media center.\n\nUsing <kbd>C-G</kbd> is less of a reach than <kbd>C-B</kbd> when using <kbd>CAPS LOCK</kbd> as <kbd>CTRL</kbd>.\n\nManage nested tmuxes by repeating the leader, e.g. server-within-a-server via <kbd>C-B C-B</kbd>.\n\n## As an "IDE" &\n\nA 1920px wide full-screen terminal using Ubuntu Mono 10pt (7px/ch) provides a width of 274ch.\nThis is enough space for two columns of full-width [[vim]] and a third column for a usable [[shell]]. See [[workon]].\n'}], 'updated': [DateTime(2024, 3, 8, 19, 7, 20, 574604, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 5, 15, 16, 51, 595646, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/python', '/2024/03/05/uo'], 'type': ['entry'], 'name': ['Python'], 'content': [{'html': 'A readable, hackable, high-level, open-source, general-purpose programming language.\n\n## PEP 8 – Style Guide for Python Code\n\nhttps://peps.python.org/pep-0008/\n\n- "code is read much more often than it is written"\n- "use blank lines in functions, sparingly, to indicate logical sections"\n\n## PEP 20 – The Zen of Python\n\nhttps://peps.python.org/pep-0020/\n\n## Zen of Python\n\n !pycon\n >>> import this\n The Zen of Python, by Tim Peters\n \n Beautiful is better than ugly.\n Explicit is better than implicit.\n Simple is better than complex.\n Complex is better than complicated.\n Flat is better than nested.\n Sparse is better than dense.\n Readability counts.\n Special cases aren\'t special enough to break the rules.\n Although practicality beats purity.\n Errors should never pass silently.\n Unless explicitly silenced.\n In the face of ambiguity, refuse the temptation to guess.\n There should be one-- and preferably only one --obvious way to do it.\n Although that way may not be obvious at first unless you\'re Dutch.\n Now is better than never.\n Although never is often better than right now.\n If the implementation is hard to explain, it\'s a bad idea.\n If the implementation is easy to explain, it may be a good idea.\n Namespaces are one honking great idea – let\'s do more of those!\n\n## PEP 257 – Docstring Conventions\n\nhttps://peps.python.org/pep-0257/\n\n## Beyond PEP 8\n\nhttps://youtu.be/wf-BqAjZb8M\n\n## black/isort &\n\n"*Black* defaults to 88 characters per line, which happens to be 10% over 80. This number was found to produce significantly shorter files than sticking with 80 (the most popular), or even 79 (used by the standard library). In general, [90-ish seems like the wise choice](https://youtu.be/wf-BqAjZb8M?t=260)."\n\n## radon &\n\n## pyright &\n\n## pytest &\n\n## Doctests\n\nVerifiable console sessions in your documentation strings.\n\nhttps://docs.pytest.org/en/7.1.x/how-to/doctest.html\n\n## Poetry\n'}], 'updated': [DateTime(2024, 3, 15, 18, 27, 13, 65543, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 4, 23, 57, 8, 418568, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/swicg', '/2023/12/31/hg'], 'type': ['entry'], 'name': ['Social Web Incubator Community Group'], 'content': [{'html': 'A space for implementors to collaborate and coordinate on any of the specifications published by the [W3C Social Web WG](https://www.w3.org/wiki/Socialwg) and related technologies.\n\n[Homepage](https://www.w3.org/community/socialcg/) | [Calendar](https://www.w3.org/groups/cg/socialcg/calendar/)\n\n## Timeline\n'}], 'updated': [DateTime(2024, 4, 30, 13, 7, 50, 411229, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['Antiloop - In My Mind'], 'token': ['eLAE'], 'published': [DateTime(2024, 3, 4, 19, 31, 29, 106664, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/03/05/o3'], 'type': ['entry']}

{'published': [DateTime(2024, 3, 2, 21, 22, 9, 916907, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/198', '/2024/03/03/or'], 'type': ['entry'], 'name': ['198 Methods of Nonviolent Action\n\n'], 'content': [{'html': '*Gene Sharp, The Methods of Nonviolent Action, Boston 1973*\n\n$ method_types = {\n$ "Nonviolent Protest and Persuasion": {\n$ "Formal Statements": (\n$ "Public speeches",\n$ "Letters of opposition or support",\n$ "Declarations by organizations and institutions",\n$ "Signed public declarations",\n$ "Declarations of indictment and intention",\n$ "Group or mass petitions"\n$ ),\n$ "Communications With a Wider Audience": (\n$ "Slogans, caricatures, and symbols",\n$ "Banners, posters, and displayed communications",\n$ "Leaflets, pamphlets, and books",\n$ "Newspapers and journals",\n$ "Records, radio, and television",\n$ "Skywriting and earthwriting"\n$ ),\n$ "Group Representations": (\n$ "Deputations",\n$ "Mock awards",\n$ "Group lobbying",\n$ "Picketing",\n$ "Mock elections"\n$ ),\n$ "Symbolic Public Acts": (\n$ "Displays of flags and symbolic colours",\n$ "Wearing of symbols",\n$ "Prayer and worship",\n$ "Delivering symbolic objects",\n$ "Protest disrobings",\n$ "Destruction of own property",\n$ "Symbolic lights",\n$ "Displays of portraits",\n$ "Paint as protest",\n$ "New signs and names",\n$ "Symbolic sounds",\n$ "Symbolic reclamations",\n$ "Rude gestures"\n$ ),\n$ "Pressures on Individuals": (\n$ \'"Haunting" officials\',\n$ "Taunting officials",\n$ "Fraternization",\n$ "Vigils"\n$ ),\n$ "Drama and Music": (\n$ "Humourous skits and pranks",\n$ "Performances of plays and music",\n$ "Singing"\n$ ),\n$ "Processions": (\n$ "Marches",\n$ "Parades",\n$ "Religious processions",\n$ "Pilgrimages",\n$ "Motorcades"\n$ ),\n$ "Honouring the Dead": (\n$ "Political mourning",\n$ "Mock funerals",\n$ "Demonstrative funerals",\n$ "Homage at burial places"\n$ ),\n$ "Public Assemblies": (\n$ "Assemblies of protest or support",\n$ "Protest meetings",\n$ "Camouflaged meetings of protest",\n$ "Teach-ins"\n$ ),\n$ "Withdrawal and Renunciation": (\n$ "Walk-outs",\n$ "Silence",\n$ "Renouncing honours",\n$ "Turning one\'s back"\n$ )\n$ },\n$ "Social Noncooperation": {\n$ "Ostracism of Persons": (\n$ "Social boycott",\n$ "Selective social boycott",\n$ "Lysistratic nonaction",\n$ "Excommunication",\n$ "Interdict"\n$ ),\n$ "Noncooperation with Social Events, Customs and Institutions": (\n$ "Suspension of social and sports activities",\n$ "Boycott of social affairs",\n$ "Student strike",\n$ "Social disobedience",\n$ "Withdrawal from social institutions"\n$ ),\n$ "Withdrawal from the Social System": (\n$ "Stay-at-home",\n$ "Total personal noncooperation",\n$ \'"Flight" of workers\',\n$ "Sanctuary",\n$ "Collective disappearance",\n$ "Protest emigration (hijrat)"\n$ )\n$ },\n$ "Economic Noncooperation: Economic Boycotts": {\n$ "Action by Consumers": (\n$ "Consumers\' boycott",\n$ "Nonconsumption of boycotted goods",\n$ "Policy of austerity",\n$ "Rent withholding",\n$ "Refusal to rent",\n$ "National consumers\' boycott",\n$ "International consumers\' boycott",\n$ ),\n$ "Action by Workers and Producers": (\n$ "Workers\' boycott",\n$ "Producers\' boycott"\n$ ),\n$ "Action by Middlemen": (\n$ "Suppliers\' and handlers\' boycott",\n$ ),\n$ "Action by Owners and Management": (\n$ "Traders\' boycott",\n$ "Refusal to let or sell property",\n$ "Lockout",\n$ "Refusal of industrial assistance",\n$ \'\'\'Merchants\' "general strike"\'\'\'\n$ ),\n$ "Action by Holders of Financial Resources": (\n$ "Withdrawal of bank deposits",\n$ "Refusal to pay fees, dues, and assessments",\n$ "Refusal to pay debts or interest",\n$ "Severance of funds and credit",\n$ "Revenue refusal",\n$ "Refusal of a government\'s money"\n$ ),\n$ "Action by Governments": (\n$ "Domestic embargo",\n$ "Blacklisting of traders",\n$ "International sellers\' embargo",\n$ "International buyers\' embargo",\n$ "International trade embargo"\n$ )\n$ },\n$ "Economic Noncooperation: The Strike": {\n$ "Symbolic Strikes": (\n$ "Protest strike",\n$ "Quickie walkout (lightning strike)"\n$ ),\n$ "Agricultural Strikes": (\n$ "Peasant strike",\n$ "Farm workers\' strike"\n$ ),\n$ "Strikes by Special Groups": (\n$ "Refusal of impressed labour",\n$ "Prisoners\' strike",\n$ "Craft strike",\n$ "Professional strike"\n$ ),\n$ "Ordinary Industrial Strikes": (\n$ "Establishment strike",\n$ "Industry strike",\n$ "Sympathy strike"\n$ ),\n$ "Restricted Strikes": (\n$ "Detailed strike",\n$ "Bumper strike",\n$ "Slowdown strike",\n$ "Working-to-rule strike",\n$ \'Reporting "sick" (sick-in)\',\n$ "Strike by resignation",\n$ "Limited strike",\n$ "Selective strike"\n$ ),\n$ "Multi-Industry Strikes": (\n$ "Generalised strike",\n$ "General strike"\n$ ),\n$ "Combination of Strikes and Economic Closures": (\n$ "Hartal",\n$ "Economic shutdown"\n$ )\n$ },\n$ "Political Noncooperation": {\n$ "Rejection of Authority": (\n$ "Withholding or withdrawal of allegiance",\n$ "Refusal of public support",\n$ "Literature and speeches advocating resistance"\n$ ),\n$ "Citizens\' Noncooperation with Government": (\n$ "Boycott of legislative bodies",\n$ "Boycott of elections",\n$ "Boycott of government employment and positions",\n$ "Boycott of government departments, agencies, and other bodies",\n$ "Withdrawal from governmental educational institutions",\n$ "Boycott of government-supported institutions",\n$ "Refusal of assistance to enforcement agents",\n$ "Removal of own signs and placemarks",\n$ "Refusal to accept appointed officials",\n$ "Refusal to dissolve existing institutions"\n$ ),\n$ "Citizens\' Alternatives to Obedience": (\n$ "Reluctant and slow compliance",\n$ "Nonobedience in absence of direct supervision",\n$ "Popular nonobedience",\n$ "Disguised disobedience",\n$ "Refusal of an assemblage or meeting to disperse",\n$ "Sitdown",\n$ "Noncooperation with conscription and deportation",\n$ "Hiding, escape, and false identities",\n$ \'Civil disobedience of "illegitimate" laws\'\n$ ),\n$ "Action by Government Personnel": (\n$ "Selective refusal of assistance by government aides",\n$ "Blocking of lines of command and information",\n$ "Stalling and obstruction",\n$ "General administrative noncooperation",\n$ "Judicial noncooperation",\n$ "Deliberate inefficiency and selective noncooperation by enforcement agents",\n$ "Mutiny"\n$ ),\n$ "Domestic Governmental Action": (\n$ "Quasi-legal evasions and delays",\n$ "Noncooperation by constituent governmental units"\n$ ),\n$ "International Governmental Action": (\n$ "Changes in diplomatic and other representation",\n$ "Delay and cancellation of diplomatic events",\n$ "Withholding of diplomatic recognition",\n$ "Severance of diplomatic relations",\n$ "Withdrawal from international organisations",\n$ "Refusal of membership in international bodies",\n$ "Expulsion from international organisations"\n$ )\n$ },\n$ "Nonviolent Intervention": {\n$ "Psychological Intervention": (\n$ "Self-exposure to the elements",\n$ ("The fast", (\n$ "Fast of moral pressure",\n$ "Hunger strike",\n$ "Satyagrahic fast"\n$ )),\n$ "Reverse trial",\n$ "Nonviolent harassment"\n$ ),\n$ "Physical Intervention": (\n$ "Sit-in",\n$ "Stand-in",\n$ "Ride-in",\n$ "Wade-in",\n$ "Mill-in",\n$ "Pray-in",\n$ "Nonviolent raids",\n$ "Nonviolent air raids",\n$ "Nonviolent invasion",\n$ "Nonviolent interjection",\n$ "Nonviolent obstruction",\n$ "Nonviolent occupation"\n$ ),\n$ "Social Intervention": (\n$ "Establishing new social patterns",\n$ "Overloading of facilities",\n$ "Stall-in",\n$ "Speak-in",\n$ "Guerrilla theatre",\n$ "Alternative social institutions",\n$ "Alternative communication system"\n$ ),\n$ "Economic Intervention": (\n$ "Reverse strike",\n$ "Stay-in strike",\n$ "Nonviolent land seizure",\n$ "Defiance of blockades",\n$ "Politically motivated counterfeiting",\n$ "Preclusive purchasing",\n$ "Seizure of assets",\n$ "Dumping",\n$ "Selective patronage",\n$ "Alternative markets",\n$ "Alternative transportation systems",\n$ "Alternative economic institutions"\n$ ),\n$ "Political Intervention": (\n$ "Overloading of administrative systems",\n$ "Disclosing identities of secret agents",\n$ "Seeking imprisonment",\n$ \'Civil disobedience of "neutral" laws\',\n$ "Work-on without collaboration",\n$ "Dual sovereignty and parallel government"\n$ )\n$ }\n$ }\n\n---\n\n- [Nonviolent Protest and Persuasion](#the-methods-of-nonviolent-protest-and-persuasion)\n- Noncooperation\n\n - [Social](#the-methods-of-social-noncooperation)\n - Economic\n \n - [Boycott](#the-methods-of-economic-noncooperation:-economic-boycotts)\n - [Strike](#the-methods-of-economic-noncooperation:-the-strike)\n - [Political](#the-methods-of-political-noncooperation)\n- [Nonviolent Intervention](#the-methods-of-nonviolent-intervention)\n\n$# $def render_subtypes(method_subtypes):\n$# <ul style=font-size:.8em>\n$# $for method_subtype, methods in method_subtypes.items():\n$# <li>[$method_subtype](#$method_subtype.lower().replace(" ", "-"))</li>\n$# </ul>\n$# <ul>\n$# $for method_type, method_subtypes in method_types.items():\n$# <li>[$method_type](#the-methods-of-$method_type.lower().replace(" ", "-"))\n$# $# $:render_subtypes(method_subtypes)\n$# </li>\n$# </ul>\n\n---\n\n$ n = 1\n$for method_type, method_subtypes in method_types.items():\n $ id = f\'the-methods-of-{method_type.lower().replace(" ", "-")}\'\n <h2 id=$id>The Methods of $method_type [#](#$id)</h2>\n $for method_subtype, methods in method_subtypes.items():\n $ id = method_subtype.lower().replace(" ", "-")\n <h3 id=$id>$method_subtype [#](#$id)</h3>\n <ol start=$n>\n $for method in methods:\n <li>\\\n $if isinstance(method, str):\n $method\\\n $else:\n $method[0]\n <ol style=list-style-type:lower-alpha>\n $for method_subsubtype in method[1]:\n <li>$method_subsubtype</li>\n </ol>\n </li>\n $ n = n + 1\n </ol>\n'}], 'updated': [DateTime(2024, 3, 3, 19, 27, 32, 607380, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 1, 12, 41, 29, 445892, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/posts-v-pages', '/2024/03/01/3z'], 'type': ['entry'], 'name': ['Posts v Pages'], 'content': [{'html': 'Posts, at once. Pages, evermore.\n\nA typical post permalink contains some date information (e.g. /2023/07/19/kt).\nThe text slug can be speakable (e.g. /2023/07/19/creative-post-title).\n\nAn additional undated permalink (e.g. /fnord) can be given to a post for easier typing/speaking.\n\nIf an undated permalink is given to a post that also changes significantly that post should be considered a page.\n\n## Posts\n\n- publish to main "/" feed\n- zero to few minor updates\n- major updates can be made via\n\n - insertions/deletions\n - append to post\n - create a new post and link back either in the `e-content` or as a `u-in-reply-to`\n- content is "pressed" at publish, informed by past events\n- implied that the content will not significantly change according to recent events\n\n## Pages\n\n- publish creation to main "[/](/)" feed\n- publish committed updates to "[/updated](/updated)" feed\n- publish feed of appends to `updated` or of its individual changesets\n\n - WebSub subscription of etherpad changesets to propagate to remote etherpads?\n- many minor to major updates\n- content is "gardened" every update, informed by recent events each time -- **returning to old pages is encouraged**\n\nEach update is added to `updated`.\n\nEtherpad stores a fine-grained [change history](/etherpad#change-history).\n'}], 'updated': [DateTime(2024, 4, 27, 20, 15, 59, 807398, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 3, 1, 12, 34, 4, 72666, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/quotes', '/2024/03/01/uu'], 'type': ['entry'], 'name': ['Quotes'], 'content': [{'html': 'Things people have said[-ish].\n\n## Mahatma Gandhi (1869--1948)\n\nIn a gentle way, you can shake the world.\n\n[Freedom](/freedom) is not worth having if it does not include the freedom to make mistakes.\n\nIt has always been a mystery to me how men can feel themselves honoured by the humiliation of their fellow beings.\n\nA man is but the product of his thoughts. What he thinks, he becomes.\n\nBe the change that you want to see in the world.\n\n[Nonviolence](/nonviolence) is a weapon of the strong.\n\nFirst they ignore you; then they abuse you; then they crack down on you and then you win.\n\n---\n\n## Siddhartha Gautama (c. 500BCE--400BCE) &\n\nWhen one feels no shame in telling a deliberate lie, there is no evil, I tell you, he will not do.\n\nIf people become accustomed to lying, they will unconsciously commit every possible wrong deed.\n\nBetter is to speak unpleasant truth than to tell lies.\n\nLife is like the harp string, if it is strung too tight it won\'t play, if it is too loose it hangs, the tension that produces the beautiful sound lies in the middle.\n\n---\n\n## Noam Chomsky (1928--)\n\nThe general population doesn\'t know what\'s happening, and it doesn\'t even know that it doesn\'t know.\n\nWe shouldn\'t be looking for heroes, we should be looking for good [ideas](/ideas).\n\nIf we don\'t believe in freedom of expression for people we despise, we don\'t believe in it at all.\n\nNobody is going to pour truth into your brain. It\'s something you have to find out for yourself.\n\nHe who controls the media controls the minds of the public.\n\nThe smart way to keep people passive and obedient is to strictly limit the spectrum of acceptable opinion, but allow very lively debate within that spectrum - even encourage the more critical and dissident views. That gives people the sense that there\'s free thinking going on, while all the time the presuppositions of the system are being reinforced by the limits put on the range of the debate.\n\nOptimism is a strategy for making a better future. Because unless you believe that the future can be better, it’s unlikely you will step up and take responsibility for making it so. If you assume that there’s no hope, you guarantee that there will be no hope. If you assume that there is an instinct for freedom, there are opportunities to change things, there’s a chance you may contribute to making a better world. The choice is yours.\n\nThe key element of social control is the strategy of distraction that is to divert public attention from important issues and changes decided by political and economic elites, through the technique of flood or flooding continuous distractions and insignificant information.\n\nDemocratic societies can\'t force people. Therefore they have to control what they think.\n\nThe indoctrination is so deep that educated people think they’re being objective.\n\nThe public is not to see where power lies, how it shapes policy, and for what ends. Rather, people are to hate and fear one another.\n\nConcentration of wealth yields concentration of political power. And concentration of political power gives rise to legislation that increases and accelerates the cycle.\n\nIt’s ridiculous to talk about freedom in a society dominated by huge corporations. What kind of freedom is there inside a corporation? They’re totalitarian institutions - you take orders from above and maybe give them to people below you. There’s about as much freedom as under Stalinism.\n\nHypocrites are those who apply to others the standards that they refuse to accept for themselves.\n\nFor those who stubbornly seek freedom, there can be no more urgent task than to come to understand the mechanisms and practices of indoctrination.\n\nThe point of public relations slogans like "Support Our Troops" is that they don\'t mean anything ... that\'s the whole point of good propaganda. You want to create a slogan that nobody is going to be against and I suppose everybody will be for, because nobody knows what it means, because it doesn\'t mean anything. But its crucial value is that it diverts your attention from a question that does mean something, do you support our policy? And that\'s the one you\'re not allowed to talk about.\n\nAnyone who studies declassified documents soon becomes aware that government secrecy is largely an effort to protect policy makers from scrutiny by citizens, not to protect the country from enemies.\n\nThe press is owned by wealthy men who only want certain things to reach the public.\n\nIt takes one minute to tell a lie, and an hour to refute it.\n\nYou are responsible for the predictable consequences of your actions.\n\nIt is the responsibility of intellectuals to speak the truth and expose lies.\n\nIf you are working 50 hours a week in a factory, you don\'t have time to read 10 newspapers a day and go back to declassified government archives. But such people may have far-reaching insights into the way the world works.\n\nIf you go to one demonstration and then go home, that\'s something, but the people in power can live with that. What they can\'t live with is sustained pressure that keeps building, organisations that keep doing things, people that keep learning lessons from the last time and doing it better the next time.\n\nDo you train for passing tests or do you train for creative inquiry?\n\nIt is important to bear in mind that political campaigns are designed by the same people who sell toothpaste and cars.\n\nThe most effective way to restrict democracy is to transfer decision-making from the public arena to unaccountable institutions: kings and princes, priestly castes, military juntas, party dictatorships, or modern corporations.\n\nThat\'s the whole point of good propaganda. You want to create a slogan that nobody\'s going to be against, and everybody\'s going to be for. Nobody knows what it means, because it doesn\'t mean anything.\n\nIf you want to make changes in the world, you\'re going to have to be there day after day doing the boring, straightforward work of getting a couple of people interested and building a slightly bigger organization and carrying out the next move and suffering frustration and finally getting somewhere. That\'s how the world changes.\n\nTo live a life of honesty and integrity is a responsibility of every decent person.\n\nWhoever sets the agenda controls the outcome of the debate.\n\nTechnology is basically neutral. It\'s kind of like a hammer. The hammer doesn\'t care whether you use it to build a house, or whether a torturer uses it to crush somebody\'s skull.\n\nLanguage etches the grooves through which your thoughts must flow.\n\nFor those who stubbornly seek freedom, there can be no more urgent task than to come to understand the mechanisms and practices of indoctrination. These are easy to perceive in the totalitarian societies, much less so in the system of \'brainwashing under freedom\' to which we are subjected and which all too often we serve as willing or unwitting instruments.\n\nI have no Facebook page or Twitter - I don\'t participate in it, and I don\'t like it particularly. I mean, it\'s a form of interaction, which strikes me as extremely superficial.\n\nYou keep plugging away--that\'s the way social change takes place. That\'s the way every social change in history has taken place: by a lot of people, who nobody ever heard of, doing work.\n\n---\n\n### Upton Sinclair (1878--1968)\n\nIt is difficult to get a man to understand something when his salary depends upon his not understanding it.\n\nWhen the masters of industry pay such sums for a newspaper, they buy not merely the building and the presses and the name; they buy what they call the "good-will"- that is, they buy you. And they proceed to change your whole psychology - everything that you believe about life. You might object to it, if you knew; but they do their work so subtly that you never guess what is happening to you!\n\nCan you blame me if I am pursued by the thought of how much we could do to remedy social evils, if only we had an honest and disinterested press?\n\nAmerican journalism is a class institution, serving the rich and spurning the poor.\n\nThere is one kind of prison where the man is behind bars, and everything that he desires is outside; and there is another kind where the things are behind the bars, and the man is outside.\n\nPessimism is mental disease. It means illness in the person who voices it, and in the society which produces that person.\n\nAll truly great art is optimistic. The individual artist is happy in his creative work. The fact that practically all great art is tragic does not in any way change the above thesis.\n\nAll art is propaganda. It is universally and inescabably propaganda; sometimes unconsciously, but often deliberately, propaganda.\n'}], 'updated': [DateTime(2024, 3, 8, 15, 12, 50, 111971, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 28, 12, 7, 49, 372918, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/hugelkultur', '/2024/02/28/zc'], 'type': ['entry'], 'name': ['Hügelkultur'], 'content': [{'html': '"Hill culture". Compost below, plant above.\n\nhttps://en.wikipedia.org/wiki/Hugelkultur\n'}], 'updated': [DateTime(2024, 3, 4, 17, 47, 47, 760984, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 28, 3, 26, 25, 390677, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/permaculture', '/2024/02/28/cd'], 'type': ['entry'], 'name': ['Permaculture'], 'content': [{'html': 'Permanent agriculture. Self-contained. Self-sustainable.\n\n- [Hügelkultur](/hugelkultur)\n- [Raised Beds](/raised-beds)\n- [Compost](/compost)\n\n - [Vermicompost](/compost#vermicompost)\n- [Mulch](/mulch)\n- [Medium](/medium)\n- [Manure](/manure)\n- [Water](/watering)\n\n - [Wick](/watering#wick)\n - [Hand](/watering#hand)\n - [Drip](/watering#drip)\n - [Rain Capture](/watering#rain-capture)\n\n- [Plants](/plants)\n\n - [Trees](/trees)\n - [Food](/food-garden)\n\n - [Indoor](/food-garden#indoor)\n - [Outdoor](/food-garden#outdoor)\n - [Natives](/garden#natives)\n - [Non-natives](/garden#non-natives)\n\n - [Palm](/garden#palm)\n - [Epiphyte](/garden#epiphyte)\n - [Succulent](/garden#succulent)\n - [Indoor](/garden#indoor)\n- [Animals](/animals)\n\n - [Rodents](/animals#rodents)\n\n - [Rat](/animals#rat)\n - [Mouse](/animals#mouse)\n - [Gopher](/animals#gopher)\n - [Ground squirrel](/animals#ground-squirrel)\n - [Birds](/animals#birds)\n\n - [Raven](/animals#raven)\n - [Parakeet](/animals#parakeet)\n - [Red-tailed Hawk](/animals#red-tailed-hawk)\n - [Vulture](/animals#vulture)\n - [Owl](/animals#owl)\n - [Jay](/animals#jay)\n - [Hummingbird](/animals#hummingbird)\n - [Finch](/animals#finch)\n - [Sparrow](/animals#sparrow)\n - [Chicken](/animals#chicken)\n - [Pigeon](/animals#pigeon)\n - [Dove](/animals#dove)\n - [Bat](/animals#bat)\n - [Cat](/animals#cat)\n\n - [Domesticated](/animals#domesticated-cats)\n\n - [Ratter](/animals#ratter-cats)\n - [Bobcat](/animals#bobcat)\n - [Cougar](/animals#cougar) \n https://www.kuow.org/stories/cougar-attack-washington-state-cyclists\n - [Dogs](/animals#dogs)\n\n - [Domesticated](/animals#domesticated-dogs)\n\n - [Protector](/animals#protector-dogs)\n - [Coyote](/animals#coyote)\n - [Skunk](/animals#skunk)\n - [Raccoon](/animals#raccoon)\n - [Insects](/animals#insects)\n\n - [Worms](/animals#worms)\n\n - [Red Wigglers](/animals#red-wigglers)\n - [Earthworms](/animals#earthworms)\n - [Termites](/animals#termites)\n - [Bees](/animals#bees)\n - [Butterflies](/animals#butterflies)\n - [Wasps](/animals#wasps)\n- [Tools](/tools)\n- [Wildlife](/wildlife)\n\n - [Water](/wildlife#water)\n - [Protection](/wildlife#protection)\n\n - Identify footpaths\n - Fencing\n\n - Staggered\n - Flat top\n - Catwalk / wall perch\n- [Homesteading](/homesteading)\n'}], 'updated': [DateTime(2024, 4, 20, 22, 18, 42, 508931, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 22, 21, 32, 19, 384767, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/02/23/fn'], 'in-reply-to': ['https://www.vromansbookstore.com/Cory-Doctorow-discusses-The-Bezzle'], 'rsvp': ['yes'], 'type': ['entry'], 'content': [{'html': '- content consumption/production cycle\n\n - subscribe to ~6,000 feeds\n - quickly open promising entries in browser tabs (~300/day)\n - close tabs quickly, undo tab if needed\n - with the remaining tabs, write a post for the day\n - use https://pluralistic.net/?s=foobar to look up past mentions of foobar\n\n- leave tab group open for the next morning\n\n- don\'t worry about the days you feel like crap about your writing; remember that those days when you feel good about your writing it isn\'t that good either...\n\n- "The New Good Internet is one where it\'s possible to have the ease of use that you get from apps and hosted services and all the rest of it but where you don\'t have to give up the agency that comes either from being able to fix things or being able to use the tools that other people have made to fix your stuff."\n'}], 'updated': [DateTime(2024, 3, 4, 19, 17, 20, 207232, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 21, 13, 7, 4, 79302, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/vim', '/neovim', '/2024/02/21/4h'], 'type': ['entry'], 'name': ['Vim'], 'content': [{'html': '## Neovim\n\n$ vim_plugins = {\n$ "w0rp/ale": "linting (syntax checking and semantic errors)",\n$ "junegunn/goyo.vim": "distraction-free writing in Vim",\n$ "junegunn/limelight.vim": "hyperfocus-writing in Vim",\n$ "altercation/vim-colors-solarized": "solarized color scheme",\n$ "tpope/vim-fugitive": "git support",\n$ "vim-test/vim-test": "run tests on different granularities",\n$ "google/vim-coverage": "a utility for visualizing test coverage results",\n$ "google/vim-maktaba": "a vimscript plugin library for plugin authors",\n$ "google/vim-glaive": "a utility for configuring maktaba plugins",\n$ "Lokaltog/vim-powerline": "create better-looking, more functional statuslines",\n$ "tpope/vim-repeat": "remaps `.` in a way that plugins can tap into it",\n$ "tpope/vim-surround": "easily delete, change and add surroundings in pairs",\n$ "junegunn/fzf": "general-purpose fuzzy finder",\n$ "rhysd/accelerated-jk": "accelerate up-down moving",\n$ }\n<ul>\n$for vp_id in vim_plugins:\n <li><a href=//github.com/$vp_id>$vp_id</a> -- $vim_plugins[vp_id]</li>\n</ul>\n\n## Vimium\n\nhttps://vimium.github.io/\n\n## Firenvim\n\n- https://jdhao.github.io/2020/01/01/firenvim_nvim_inside_browser/\n- https://www.math.cmu.edu/~gautam/sj/blog/20220329-firefox-disable-ctrl-w.html\n'}], 'updated': [DateTime(2024, 3, 15, 18, 18, 2, 129151, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 14, 16, 21, 42, 945118, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/web', '/2024/02/15/d5'], 'type': ['entry'], 'name': ['Web'], 'content': [{'html': "<p>The <dfn>web</dfn>, short for World Wide Web, is a network of hyperlinked documents accessible via the internet through a browser using DNS, URLs, HTTP and HTML.</p>\n\n## Web Apps\n\nProgressive Web Apps (aka PWAs) are websites that can be installed as standalone apps on mobile or desktop.\n\nhttps://ragt.ag/manifest.json\n\n### Mobile\n\nhttps://techcrunch.com/2024/02/15/apple-confirms-its-breaking-iphone-web-apps-in-the-eu-on-purpose\n\nhttps://9to5mac.com/2024/03/01/apple-home-screen-web-apps-ios-17-eu/\n\n### Desktop\n\n**Firefox**: https://pwasforfirefox.filips.si\n\n## Decentralized Web\n\n*def: withdrawn from a center or place of concentration; especially having power or function dispersed from a central to local authorities*\n\nThe web has a constantly evolving network topology that'll never be truly centralized or decentralized. Its current popular use is quite centralized.\n\n## DNS &\n\nRegistrars: https://www.icann.org/en/accredited-registrars \nTLDs: https://data.iana.org/TLD/tlds-alpha-by-domain.txt \n\n#### Record Lookup\n\n<pre style=line-height:1.15> ┌─────────────────┐\n │ Browser / Agent │\n └──────┬──▲───────┘\n │ │\nDomain name: example.com │ │ IP address: xxx.xxx.xxx.xx\n │ │\n 1 ┌─────▼──┴─────┐ 6\n ┌─────┤ DNS Resolver ◄─────┐\n │ └▲────┬──▲────┬┘ │\n┌────────────▼┐ │ │ │ │ ┌┴──────────────┐\n│ Root Server ├─────┘ 3│ │4 └─────► Domain Server │\n└─────────────┘ 2 │ │ 5 └───────────────┘\n ┌────▼──┴────┐\n │ TLD Server │\n └────────────┘</pre>\n\n## Semantic Web\n\n[The Semantic Web In Depth](https://web.archive.org/web/20010222204223/http://logicerror.com/semanticWeb-long) <small>**Aaron Swartz**, <small>`2001`</small></small>\n\n## Social Web\n\n- IndieWeb\n- ActivityPub\n- Threads, Instagram & Facebook (Meta)\n- Twitter &rarr; X &\n- Bluesky (AT Protocol)\n- Nostr\n- Solid\n\n## Tor\n\n### Onion\n\nSee [Canopy ID](/canopy#id).\n\n### Dark Web\n\n### Robots\n\nhttps://ragt.ag/robots.txt\n"}], 'updated': [DateTime(2024, 3, 29, 21, 35, 35, 286296, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 14, 14, 27, 7, 562432, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/homesteading', '/2024/02/14/6u'], 'type': ['entry'], 'name': ['Homesteading'], 'content': [{'html': '\n'}], 'updated': [DateTime(2024, 2, 14, 14, 27, 49, 518685, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 2, 14, 13, 23, 51, 919306, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/hacking', '/2024/02/14/ha'], 'type': ['entry'], 'name': ['Hacking'], 'content': [{'html': '> **HACK: 1) an article or project without constructive end; 2) work under-taken on bad self-advice; 3) an entropy booster; 4) to produce, or attempt to produce, a hack.** \n> *I saw this as a term for an unconventional or unorthodox application of technology, typically deprecated for engineering reasons. There was no specific suggestion of malicious intent (or of benevolence, either). Indeed, the era of this dictionary saw some "good hacks:" using a room-sized computer to play music, for instance; or, some would say, writing the dictionary itself.* \n> **HACKER: one who hacks, or makes them.** \n> *A hacker avoids the standard solution. The hack is the basic concept; the hacker is defined in terms of it.*\n\n--- @gricer.com, http://www.gricer.com/tmrc/dictionary1960.html\n\n### For Right\n\n> [Aaron](/@aaronsw.com) dead. \n> World wanderers, we have lost a wise elder. \n> Hackers for right, we are one down. \n> Parents all, we have lost a child. Let us weep.\n\n--- @twitter.com/timberners_lee, https://twitter.com/timberners_lee/status/290140454211698689\n'}], 'updated': [DateTime(2024, 3, 14, 16, 48, 47, 170886, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/01/homebrew-website-club-pacific-l8jJrVJmiF7q'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 1, 31, 15, 32, 36, 131109, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/01/31/dy'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2024/01/homebrew-website-club-europe-london-CHTpRRsewGQj'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 1, 24, 10, 50, 59, 347674, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/01/24/gh'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-reader><code>webint-reader</code></a>'], 'published': [DateTime(2024, 1, 19, 17, 17, 33, 246171, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-reader', '/2024/01/20/dq'], 'type': ['entry']}

{'name': ['Released <a href=/code/projects/webint-cache><code>webint-cache</code></a> <code>0.0.12</code>'], 'content': ['<ul><li>Auto-configure `pa11y` to use correct chrome binary</li></ul>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 17, 15, 13, 39, 508806, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-cache/releases/0.0.12', '/2024/01/17/r9'], 'type': ['entry']}

{'name': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.71</code>'], 'content': ['<ul><li>Handle missing/broken versions gracefully</li><li>Fix release post upgrade</li></ul>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 17, 15, 10, 21, 320868, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.71', '/2024/01/17/a3'], 'type': ['entry']}

{'name': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.105</code>'], 'content': ['<ul><li>Render full article in home page feed</li></ul>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 17, 13, 8, 10, 818678, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.105', '/2024/01/17/7z'], 'type': ['entry']}

{'name': ['Released <a href=/code/projects/webint-search><code>webint-search</code></a> <code>0.0.26</code>'], 'content': ['<ul><li>Add preliminary cache support</li></ul>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 17, 12, 40, 33, 520337, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.26', '/2024/01/17/iu'], 'type': ['entry']}

{'name': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.104</code>'], 'content': ['<ul><li>Add webint-cache</li></ul>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 17, 12, 38, 45, 462574, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.104', '/2024/01/17/6m'], 'type': ['entry']}

{'name': ['Released <a href=/code/projects/webint-cache><code>webint-cache</code></a> <code>0.0.9</code>'], 'content': ['<ul><li>Bootstrap</li></ul>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 17, 12, 24, 14, 426646, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-cache/releases/0.0.9', '/2024/01/17/b2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.68</code>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 16, 19, 7, 58, 358488, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.68', '/2024/01/17/36'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-cache><code>webint-cache</code></a>'], 'published': [DateTime(2024, 1, 12, 19, 3, 14, 239475, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-cache', '/2024/01/13/so'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-live><code>webint-live</code></a> <code>0.0.26</code>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 5, 16, 52, 14, 899945, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live/releases/0.0.26', '/2024/01/06/rz'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.103</code>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 5, 16, 47, 28, 480011, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.103', '/2024/01/06/pt'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.102</code>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 5, 16, 26, 55, 623230, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.102', '/2024/01/06/5x'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2024/01/homebrew-website-club-pacific-6ZOdSZjv7QCO'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 1, 3, 15, 28, 14, 924968, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/01/03/fk'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.101</code>'], 'visibility': ['public'], 'published': [DateTime(2024, 1, 1, 21, 16, 37, 281927, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.101', '/2024/01/02/2j'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/mahnamahna><code>mahnamahna</code></a> <code>0.0.2</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 30, 1, 4, 48, 276415, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/mahnamahna/releases/0.0.2', '/2023/12/30/oe'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/mahnamahna><code>mahnamahna</code></a>'], 'published': [DateTime(2023, 12, 29, 16, 59, 24, 552124, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/mahnamahna', '/2023/12/30/9o'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-people><code>webint-people</code></a>'], 'published': [DateTime(2023, 12, 27, 16, 35, 56, 70534, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-people', '/2023/12/28/ss'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-data><code>webint-data</code></a>'], 'published': [DateTime(2023, 12, 27, 16, 28, 19, 77216, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-data', '/2023/12/28/jc'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-weather><code>webint-weather</code></a>'], 'published': [DateTime(2023, 12, 27, 16, 24, 27, 474058, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-weather', '/2023/12/28/un'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.11</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 26, 17, 34, 27, 183142, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.11', '/2023/12/27/ch'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-live><code>webint-live</code></a> <code>0.0.25</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 26, 16, 14, 35, 30182, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live/releases/0.0.25', '/2023/12/27/r3'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.100</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 25, 16, 52, 28, 413325, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.100', '/2023/12/26/sc'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-posts><code>webint-posts</code></a> <code>0.0.26</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 25, 16, 46, 38, 114572, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.26', '/2023/12/26/gy'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2023/12/indieweb-create-day-68MuRUvSuoqr'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2023, 12, 25, 7, 21, 47, 460898, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/12/25/a3'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/python-microformats><code>python-microformats</code></a> <code>0.5.1</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 24, 16, 18, 49, 482540, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/python-microformats/releases/0.5.1', '/2023/12/25/t6'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-system><code>webint-system</code></a> <code>0.0.29</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 23, 22, 4, 47, 867935, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-system/releases/0.0.29', '/2023/12/24/h9'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-system><code>webint-system</code></a>'], 'published': [DateTime(2023, 12, 23, 22, 4, 37, 349107, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-system', '/2023/12/24/i5'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/indieweb.rocks><code>indieweb.rocks</code></a> <code>0.0.7</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 23, 15, 5, 22, 966437, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks/releases/0.0.7', '/2023/12/23/bp'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/sqlyte><code>sqlyte</code></a> <code>0.1.2</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 21, 16, 0, 18, 802288, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/sqlyte/releases/0.1.2', '/2023/12/22/uu'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webagt><code>webagt</code></a> <code>0.2.3</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 14, 15, 11, 852495, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.3', '/2023/12/17/34'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webagt><code>webagt</code></a> <code>0.2.2</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 13, 49, 40, 554959, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.2', '/2023/12/17/gq'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-search><code>webint-search</code></a> <code>0.0.25</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 13, 34, 41, 675844, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.25', '/2023/12/17/h2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.96</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 12, 2, 35, 538486, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.96', '/2023/12/17/m7'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.95</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 12, 1, 18, 810438, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.95', '/2023/12/17/2t'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webagt><code>webagt</code></a> <code>0.2.1</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 11, 55, 54, 439888, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.1', '/2023/12/17/qx'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/indieweb.rocks><code>indieweb.rocks</code></a> <code>0.0.6</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 17, 11, 43, 23, 97668, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks/releases/0.0.6', '/2023/12/17/td'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.99</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 16, 10, 15, 8, 603580, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.99', '/2023/12/16/wz'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-owner><code>webint-owner</code></a> <code>0.0.26</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 15, 9, 31, 52, 50060, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.26', '/2023/12/15/7n'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-owner><code>webint-owner</code></a> <code>0.0.25</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 15, 9, 4, 53, 361083, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.25', '/2023/12/15/jj'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-search><code>webint-search</code></a> <code>0.0.24</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 15, 9, 3, 53, 676373, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.24', '/2023/12/15/gc'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.98</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 14, 18, 49, 16, 219015, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.98', '/2023/12/15/ir'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-search><code>webint-search</code></a> <code>0.0.23</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 14, 18, 37, 46, 579757, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.23', '/2023/12/15/6o'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-search><code>webint-search</code></a> <code>0.0.22</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 14, 18, 30, 34, 367691, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.22', '/2023/12/15/nh'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-owner><code>webint-owner</code></a> <code>0.0.24</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 14, 18, 19, 58, 423312, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.24', '/2023/12/15/pw'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-mentions><code>webint-mentions</code></a> <code>0.0.16</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 14, 12, 59, 4, 213983, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-mentions/releases/0.0.16', '/2023/12/14/od'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-mentions><code>webint-mentions</code></a>'], 'published': [DateTime(2023, 12, 14, 12, 58, 42, 787292, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-mentions', '/2023/12/14/oj'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-owner><code>webint-owner</code></a> <code>0.0.23</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 14, 12, 51, 23, 695420, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.23', '/2023/12/14/dk'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-owner><code>webint-owner</code></a>'], 'published': [DateTime(2023, 12, 14, 12, 51, 13, 273585, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner', '/2023/12/14/27'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webagt><code>webagt</code></a> <code>0.2.0</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 13, 14, 47, 15, 889249, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.0', '/2023/12/13/vh'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/python-microformats><code>python-microformats</code></a> <code>0.5.0</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 13, 13, 49, 36, 868126, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/python-microformats/releases/0.5.0', '/2023/12/13/rn'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/python-microformats><code>python-microformats</code></a>'], 'published': [DateTime(2023, 12, 13, 13, 47, 3, 481127, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/python-microformats', '/2023/12/13/4b'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.94</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 13, 10, 57, 31, 234148, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.94', '/2023/12/13/i7'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.97</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 12, 20, 15, 28, 410058, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.97', '/2023/12/13/84'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/indieweb.rocks><code>indieweb.rocks</code></a> <code>0.0.5</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 12, 18, 10, 4, 149450, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks/releases/0.0.5', '/2023/12/13/he'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webagt><code>webagt</code></a>'], 'published': [DateTime(2023, 12, 12, 16, 10, 49, 913375, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt', '/2023/12/13/po'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/txtint><code>txtint</code></a>'], 'published': [DateTime(2023, 12, 12, 15, 58, 26, 882295, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/txtint', '/2023/12/12/j2'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/sqlyte><code>sqlyte</code></a>'], 'published': [DateTime(2023, 12, 12, 14, 54, 26, 805999, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/sqlyte', '/2023/12/12/35'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/newmath><code>newmath</code></a>'], 'published': [DateTime(2023, 12, 12, 14, 35, 7, 745524, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/newmath', '/2023/12/12/2c'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/easyuri><code>easyuri</code></a>'], 'published': [DateTime(2023, 12, 12, 14, 18, 20, 838467, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/easyuri', '/2023/12/12/r2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-live><code>webint-live</code></a> <code>0.0.24</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 6, 10, 10, 27, 868995, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live/releases/0.0.24', '/2023/12/06/ix'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-live><code>webint-live</code></a>'], 'published': [DateTime(2023, 12, 6, 10, 10, 13, 679682, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live', '/2023/12/06/de'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.96</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 6, 10, 3, 38, 254946, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.96', '/2023/12/06/eh'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/indieweb.rocks><code>indieweb.rocks</code></a>'], 'published': [DateTime(2023, 12, 2, 19, 25, 52, 436694, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks', '/2023/12/03/jn'], 'type': ['entry']}

{'published': [DateTime(2023, 12, 1, 13, 29, 13, 957909, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/now', '/2023/12/01/77'], 'type': ['entry'], 'name': ['Now'], 'content': [{'html': "I'm scaffolding the [[canopy]] live from my site.\n\nI attend [Homebrew Website Club](https://events.indieweb.org/tag/hwc) meetings regularly.\n\nPlaying: [The Adventures of Bucken Berry and Ala-Gold](/smw#The-Adventures-of-Bucken-Berry-and-Ala-Gold)\n"}], 'updated': [DateTime(2024, 4, 17, 16, 43, 7, 393038, tzinfo=Timezone('America/Los_Angeles'))]}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.95</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 1, 13, 28, 27, 463529, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.95', '/2023/12/01/qy'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-posts><code>webint-posts</code></a> <code>0.0.25</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 1, 13, 2, 59, 120396, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.25', '/2023/12/01/h2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-search><code>webint-search</code></a> <code>0.0.21</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 1, 13, 1, 12, 280464, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.21', '/2023/12/01/yp'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-editor><code>webint-editor</code></a> <code>0.0.176</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 12, 1, 12, 28, 48, 622484, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/releases/0.0.176', '/2023/12/01/dh'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.93</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 26, 17, 50, 48, 720571, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.93', '/2023/11/27/39'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.94</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 26, 17, 48, 52, 558330, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.94', '/2023/11/27/j4'], 'type': ['entry']}

{'in_reply_to': ['/code/projects/webint-code'], 'name': ['Add commit diff meters'], 'content': ['Add the number of lines changed and a simple graph of additions vs deletions to commit log and commit pages.'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 24, 16, 58, 52, 524579, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/issues/1', '/2023/11/25/jh'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.67</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 24, 16, 47, 58, 891909, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.67', '/2023/11/25/g2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.66</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 24, 16, 44, 40, 394571, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.66', '/2023/11/25/78'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.93</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 24, 14, 36, 58, 894995, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.93', '/2023/11/24/5z'], 'type': ['entry']}

{'published': [DateTime(2023, 11, 22, 19, 8, 39, 819194, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/uses', '/2023/11/23/4t'], 'type': ['entry'], 'name': ['Uses'], 'content': [{'html': '## Software\n\n### Desktop\n\n<div>\n<div>System</div>\n<div>\n**Debian Stable** (w/ *GNOME* environment), [Hide Top Bar](https://extensions.gnome.org/extension/545/hide-top-bar/) extension, \n[gnome-tweaks](https://packages.debian.org/bullseye/gnome-tweaks) to remap <kbd>CAPS LOCK</kbd> to <kbd>CONTROL</kbd>, **[unclutter](https://packages.debian.org/bullseye/unclutter)** to hide my inactive mouse cursor, **devilspie2** to control window placement and strip decorations\n</div>\n<div>Browsers</div>\n<div>**[[Firefox]]**, **Chromium**, **w3m**, **Tor Browser**</div>\n<div>Media</div>\n<div>**OBS**, **ffmpeg**, **mpv**, **yt-dlp**</div>\n<div>Games</div>\n<div>**[snes9x](https://github.com/snes9xgit/snes9x/releases/tag/1.62.3)**, **[Flips](https://www.smwcentral.net/?p=section&a=details&id=11474)**</div>\n<div>Terminal</div>\n<div>**gnome-terminal** (w/ <em>Ubuntu Mono derivative Powerline</em> font), **[tmux](/tmux)**, **zsh**, **oh-my-zsh** (w/ <em>Simplified Agnoster</em> theme)</div>\n<div>Editors</div>\n<div>\nText: **[[Neovim]]**<br>\nGraphics: **GIMP**, **[Icon (SVG)](/editors/icon)**, **[Pixel (PNG)](/editors/pixel)**\n</div>\n<div>Tools</div>\n<div>\nDevelopment: **git**, **[[Python]]**, **[[Node]]**, **Docker**, **act**<br>\nFile: **jq**, **tree**, **stow**, **rtorrent**, **silversearcher**, **sshfs**, **rsync**, **pdftoppm**, **gs**<br>\nCommunication: **OpenVPN**, **GPG**, **Weechat**<br>\nSystem: **apt**, **htop**, **openssh**, **VirtualBox**, **piper**\n</div>\n</div>\n\nSee my [dotfiles](/code/projects/dotfiles).\n\n### Mobile\n\n* Firefox -- Private, Safe Browser\n* PictureThis -- Plant Identifier\n* Lumos -- Sun and Moon Tracker\n* Overland -- GPS Tracker\n* Shazam -- Music Discovery\n* Larix -- Screencaster & Broadcaster\n* Signal -- Private Messenger\n* Pythonista -- Python Support\n\n### Services\n\nFastmail, Twilio, DigitalOcean, Dynadot, Stripe, GitHub, PyPI, npm\n\n## Hardware\n\n<style>\n#desktop + div {\n display: grid;\n grid-template-columns: 8em auto;\n grid-template-rows: auto auto auto auto auto auto auto;\n}\n#computers + div {\n display: grid;\n grid-template-columns: 8em auto;\n grid-template-rows: auto auto auto;\n}\n#peripherals + div {\n display: grid;\n grid-template-columns: 12em auto;\n grid-template-rows: auto auto auto;\n}\n</style>\n\n### Computers\n\n$ computers = {\n$ "Media": ("Lenovo ThinkCentre M900", 2.5, 3.1, "Intel Core i5-6500T", 4, 4, ("8 GB", "DDR 4"), ("256 GB", "SSD"), "Debian"),\n$ "Server": ("Lenovo ThinkCentre M93p", 3.4, 3.9, "Intel Core i7-4770", 4, 8, ("16 GB", "DDR 3"), ("512 GB", "SSD"), "Debian"),\n$ "Workstation": ("Lenovo ThinkStation P520", 3.7, 4.5, "Intel Xeon W-2135", 6, 12, ("64 GB", "DDR 4"), ("1 TB", "SSD"), "Debian"),\n$ "Laptop": ("Apple MacBook Pro A1502", 2.7, 3.1, "Intel Core i5", 2, 4, ("8 GB", "DDR 3"), ("128 GB", "SSD"), "Debian"),\n$ "Handheld": ("Apple iPhone X", None, None, None, None, None, None, ("64 GB", "SSD"), "iOS")\n$ }\n<div>\n$for computer_role, (computer_model, cpu_base, cpu_turbo, cpu_name, cpu_cores, cpu_threads, memory, storage, os) in computers.items():\n <div>$computer_role</div>\n <div>\n **$computer_model** <small>$os</small><br>\n $if cpu_name:\n <span title=base>$cpu_base</span>/<span title=turbo>$cpu_turbo</span><small>GHz</small> $cpu_name <small>(<span title=cores>$cpu_cores</span>/<span title=threads>$cpu_threads</span>)</small>&emsp;\\\n $if memory:\n $ memory_quantity, memory_speed = memory\n $ memory_size, memory_units = memory_quantity.split()\n <span title=$memory_speed>$memory_size<small>$memory_units</small></span>&emsp;\\\n $ storage_quantity, storage_speed = storage\n $ storage_size, storage_units = storage_quantity.split()\n <span title=$storage_speed>$storage_size<small>$storage_units</small></span>\n </div>\n</div>\n\n### Peripherals\n\n<div>\n<div>Keyboard</div>\n<div>**Ducky One 3 SF Daybreak RGB**<br>Gateron MX Silent Black RGB switches</div>\n<div>Mouse</div>\n<div>**Logitech G PRO Hero**</div>\n<div>Monitors <small>(vertical stack)</small></div>\n<div>**ViewSonic 22" VA2246MH-LED**<br>\n**ViewSonic 27" VA2759-SMH**</div>\n<div>Speakers</div>\n<div>**Logitech Z625 2.1**</div>\n<div>Microphone</div>\n<div>**Amazon Basics Condenser**</div>\n<div>Camera</div>\n<div>**Logitech C930e**</div>\n</div>\n'}], 'updated': [DateTime(2024, 3, 15, 18, 17, 40, 481209, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2023/12/indiewebcamp-san-diego-2023-ZEDdVaxIcQjz'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2023, 11, 22, 19, 5, 12, 940518, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/23/9a'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2023/11/indieweb-black-friday-create-day-build-don-t-buy-P4ZVmtnyGR6v'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2023, 11, 22, 14, 4, 4, 32416, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/22/hu'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2023/11/homebrew-website-club-pacific-thanksgiving-edition-Rt2imhnu6vfn'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2023, 11, 22, 14, 3, 33, 838992, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/22/8a'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.92</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 20, 17, 54, 42, 408206, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.92', '/2023/11/21/hj'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/loveliness><code>loveliness</code></a>'], 'published': [DateTime(2023, 11, 20, 16, 56, 21, 720637, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/loveliness', '/2023/11/21/y7'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.91</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 18, 21, 51, 30, 832303, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.91', '/2023/11/19/vq'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-editor><code>webint-editor</code></a> <code>0.0.175</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 16, 15, 0, 28, 451374, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/releases/0.0.175', '/2023/11/16/ii'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.92</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 14, 21, 18, 4, 9015, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.92', '/2023/11/15/c4'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/gmpg><code>gmpg</code></a> <code>0.1.40</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 14, 19, 56, 4, 15977, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg/releases/0.1.40', '/2023/11/15/xs'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.65</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 14, 17, 19, 39, 439454, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.65', '/2023/11/15/34'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/gmpg><code>gmpg</code></a> <code>0.1.39</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 14, 17, 5, 15, 570250, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg/releases/0.1.39', '/2023/11/15/2s'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.90</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 14, 16, 26, 37, 842713, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.90', '/2023/11/15/qe'], 'type': ['entry']}

{'published': [DateTime(2023, 11, 13, 19, 51, 45, 16361, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/todo', '/2023/11/14/ru'], 'type': ['entry'], 'content': [{'html': "talk to Dundon's neighbors/children\n\n## Hikes\n\n- [Mount Baden-Powell Trail](https://www.alltrails.com/explore/trail/us/california/mount-baden-powell)\n- [Crystal Lake, Mount Islip, Windy Gap Loop](https://www.alltrails.com/explore/trail/us/california/mount-islip-ridge-trail-to-islip-wawona-trail)\n\n## Software\n\n- sleep on git pull into testing before continuing with CI\n- stripe (webint-money)\n\n - canopy context\n - understory context\n- act\n\n - use secret to provide TOKEN for testing canopy live on DO\n - async/queue CI (on different artifact server ports)\n- publish js as npm module\n- tor/dns UX\n- mediasoup config\n\n - change env vars in mediasoup supervisor conf and restart supervisor\n - change self-signed.crt to example.com/domain.crt\n- install act: curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash\n\n - install docker: https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script\n\n - add user to group: https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user\n - set .actrc:\n\n ```\n -P ubuntu-latest=catthehacker/ubuntu:act-latest\n -P ubuntu-22.04=catthehacker/ubuntu:act-22.04\n -P ubuntu-20.04=catthehacker/ubuntu:act-20.04\n -P ubuntu-18.04=catthehacker/ubuntu:act-18.04\n ```\n- add .gitconfig: git config --global init.defaultBranch main\n- restart nginx after first code project is initialized (and PW is created)\n- canopy-platform as an anti-platform a la aaronsw's anti-framework; webint as an anti-framework\n- post search (sqlite regex)\n- auto-renew certs\n\n - runs every 10 weeks\n - `web.generate_cert(domain)`\n - `service nginx restart`\n - `supervisorctl restart mediasoup`\n- grafiti grid\n- backup\n\n - ~/app/run/\n\n- websockets (chat, notification API for webmentions/builds)\n- drop into 2d tileset only\n\n - start in lobby; has no video w/o sign in\n - video starts when enter room\n\n- vnc-based collaboration\n\n - https://novnc.com/info.html\n - https://wiki.archlinux.org/title/x11vnc\n\n- /health\n\n - walking/running/cycling via Polar/Overland\n\n- https://jamesg.blog/2023/12/08/lyrics-recommendation-bot/\n\n- /hiking\n\n- e-mail traceback to owner on 500\n- ding dong for room chat (AIM on/off)\n\n- celadon\n\n- `ffmpeg -re -i input_video.mp4 -c:v libx264 -preset veryfast -c:a aac -strict -2 -f flv rtmp://ragt.ag/live/foo`\n"}], 'updated': [DateTime(2024, 4, 22, 17, 54, 2, 406171, tzinfo=Timezone('America/Los_Angeles'))], 'name': ['To Do']}

{'content': ['Created repository <a href=/code/projects/webint-search><code>webint-search</code></a>'], 'published': [DateTime(2023, 11, 13, 14, 29, 11, 292825, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search', '/2023/11/13/eo'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-editor><code>webint-editor</code></a> <code>0.0.174</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 13, 13, 31, 49, 74849, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/releases/0.0.174', '/2023/11/13/bh'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.64</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 13, 12, 58, 22, 622775, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.64', '/2023/11/13/rf'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.91</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 12, 23, 40, 47, 320533, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.91', '/2023/11/13/8z'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.63</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 12, 23, 33, 22, 228324, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.63', '/2023/11/13/5q'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.62</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 12, 23, 30, 39, 698638, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.62', '/2023/11/13/w8'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.61</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 12, 23, 16, 13, 701776, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.61', '/2023/11/13/me'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/socialcg.rocks><code>socialcg.rocks</code></a>'], 'published': [DateTime(2023, 11, 12, 13, 24, 26, 478588, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/socialcg.rocks', '/2023/11/12/b9'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-editor><code>webint-editor</code></a>'], 'published': [DateTime(2023, 11, 9, 19, 2, 23, 199912, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor', '/2023/11/10/w6'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.89</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 8, 18, 36, 37, 844910, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.89', '/2023/11/09/vf'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.60</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 8, 16, 41, 20, 221413, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.60', '/2023/11/09/a3'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-posts><code>webint-posts</code></a> <code>0.0.24</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 8, 16, 40, 2, 971345, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.24', '/2023/11/09/je'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.90</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 8, 16, 24, 9, 601340, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.90', '/2023/11/09/rq'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.88</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 8, 15, 47, 26, 116087, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.88', '/2023/11/08/zk'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.59</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 8, 15, 40, 19, 527831, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.59', '/2023/11/08/zf'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2023/11/homebrew-website-club-pacific-vxaZbri2tPMQ'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2023, 11, 8, 15, 35, 0, 312899, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/08/88'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.10</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 20, 54, 25, 610217, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.10', '/2023/11/07/4k'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.9</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 20, 47, 15, 745977, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.9', '/2023/11/07/yi'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.8</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 20, 41, 16, 393023, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.8', '/2023/11/07/c5'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.7</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 20, 37, 20, 234978, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.7', '/2023/11/07/ue'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/understory><code>understory</code></a> <code>0.22.4</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 20, 12, 18, 228848, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/understory/releases/0.22.4', '/2023/11/07/bq'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.58</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 19, 54, 36, 773700, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.58', '/2023/11/07/hj'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/gmpg><code>gmpg</code></a> <code>0.1.38</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 19, 48, 16, 914289, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg/releases/0.1.38', '/2023/11/07/nt'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/gmpg><code>gmpg</code></a>'], 'published': [DateTime(2023, 11, 6, 19, 47, 53, 624636, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg', '/2023/11/07/in'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.57</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 19, 41, 49, 479339, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.57', '/2023/11/07/nv'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.56</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 19, 29, 21, 878078, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.56', '/2023/11/07/wm'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.87</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 19, 23, 14, 210824, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.87', '/2023/11/07/7d'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.89</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 19, 22, 14, 611415, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.89', '/2023/11/07/6s'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.88</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 17, 52, 27, 307823, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.88', '/2023/11/07/rx'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.87</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 17, 41, 55, 315824, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.87', '/2023/11/07/az'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.86</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 17, 33, 29, 566129, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.86', '/2023/11/07/jt'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.86</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 17, 29, 59, 430368, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.86', '/2023/11/07/it'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.85</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 16, 27, 15, 263949, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.85', '/2023/11/07/oe'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.84</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 16, 20, 49, 33462, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.84', '/2023/11/07/fj'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.85</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 16, 20, 28, 15736, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.85', '/2023/11/07/68'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.83</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 15, 52, 3, 751505, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.83', '/2023/11/06/3e'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.82</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 15, 50, 34, 496653, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.82', '/2023/11/06/ej'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.84</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 15, 39, 52, 76221, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.84', '/2023/11/06/e2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-posts><code>webint-posts</code></a> <code>0.0.23</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 15, 32, 45, 568673, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.23', '/2023/11/06/tp'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-posts><code>webint-posts</code></a>'], 'published': [DateTime(2023, 11, 6, 15, 32, 20, 624671, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts', '/2023/11/06/qt'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.55</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 6, 15, 24, 38, 528579, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.55', '/2023/11/06/vc'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.6</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 5, 19, 6, 31, 699191, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.6', '/2023/11/06/n6'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.5</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 5, 14, 23, 12, 458026, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.5', '/2023/11/05/ux'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.54</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 5, 14, 1, 15, 613118, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.54', '/2023/11/05/dk'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.81</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 5, 13, 17, 50, 610535, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.81', '/2023/11/05/ue'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.53</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 5, 13, 16, 22, 262830, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.53', '/2023/11/05/mc'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.83</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 5, 13, 7, 37, 522365, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.83', '/2023/11/05/en'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.52</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 4, 16, 53, 58, 943608, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.52', '/2023/11/04/rp'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.51</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 4, 16, 8, 0, 464853, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.51', '/2023/11/04/qn'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/understory><code>understory</code></a> <code>0.22.3</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 18, 41, 46, 771128, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/understory/releases/0.22.3', '/2023/11/04/h9'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/understory><code>understory</code></a>'], 'published': [DateTime(2023, 11, 3, 18, 32, 49, 70711, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/understory', '/2023/11/04/oa'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.82</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 14, 57, 52, 305924, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.82', '/2023/11/03/5t'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.50</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 14, 48, 36, 812734, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.50', '/2023/11/03/d7'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/canopy><code>canopy</code></a> <code>0.0.81</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 14, 29, 22, 861557, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.81', '/2023/11/03/uj'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.49</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 14, 10, 35, 67931, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.49', '/2023/11/03/ov'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.48</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 13, 58, 34, 576435, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.48', '/2023/11/03/76'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.47</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 13, 5, 20, 524078, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.47', '/2023/11/03/8q'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.46</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 12, 48, 56, 762175, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.46', '/2023/11/03/3p'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.45</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 11, 30, 9, 813249, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.45', '/2023/11/03/pg'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.44</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 11, 21, 33, 699295, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.44', '/2023/11/03/rg'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.80</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 11, 15, 53, 99573, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.80', '/2023/11/03/nc'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.43</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 11, 3, 7, 695445, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.43', '/2023/11/03/gu'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.79</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 11, 2, 11, 491447, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.79', '/2023/11/03/5r'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.78</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 3, 10, 40, 10, 362448, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.78', '/2023/11/03/5k'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.42</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 2, 19, 53, 55, 274885, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.42', '/2023/11/03/pj'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.41</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 2, 19, 43, 39, 879231, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.41', '/2023/11/03/f2'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-code><code>webint-code</code></a> <code>0.0.40</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 2, 19, 9, 39, 715622, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.40', '/2023/11/03/bo'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-code><code>webint-code</code></a>'], 'published': [DateTime(2023, 11, 2, 19, 9, 17, 230596, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code', '/2023/11/03/ga'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint><code>webint</code></a> <code>0.1.77</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 2, 16, 28, 31, 137210, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.77', '/2023/11/02/8x'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint><code>webint</code></a>'], 'published': [DateTime(2023, 11, 2, 16, 27, 51, 62390, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint', '/2023/11/02/vw'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/canopy><code>canopy</code></a>'], 'published': [DateTime(2023, 11, 1, 18, 12, 36, 938803, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy', '/2023/11/02/3s'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/bgq><code>bgq</code></a>'], 'published': [DateTime(2023, 11, 1, 17, 27, 20, 510469, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/bgq', '/2023/11/02/i3'], 'type': ['entry']}

{'content': ['Released <a href=/code/projects/webint-sites><code>webint-sites</code></a> <code>0.0.4</code>'], 'visibility': ['public'], 'published': [DateTime(2023, 11, 1, 15, 38, 44, 831379, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.4', '/2023/11/01/t6'], 'type': ['entry']}

{'content': ['Created repository <a href=/code/projects/webint-sites><code>webint-sites</code></a>'], 'published': [DateTime(2023, 11, 1, 15, 34, 27, 101943, tzinfo=Timezone('America/Los_Angeles'))], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites', '/2023/11/01/cq'], 'type': ['entry']}

{'in-reply-to': ['https://events.indieweb.org/2023/10/homebrew-website-club-pacific-hs5b8Mv5xnKm'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2023, 10, 25, 15, 39, 15, 126403, tzinfo=Timezone('America/Los_Angeles'))], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading</a> <a href=/web>the web</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/10/25/zs'], 'type': ['entry']}