my eye

Posts

All

Editors

Media

0 total

{'published': [DateTime(2024, 12, 17, 9, 19, 35, 340315, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/17/5g'], 'type': ['entry'], 'name': ['Appeal for Orange Grove Avenue Tree Removals'], 'content': [{'html': 'I would like to appeal the tree removal request of 1040 Orange Grove Avenue on the following grounds.\n\n## Response to Arborist\'s Conclusions\n\n### Reasonable risk of injury or harm\n\n> <em>(1) Where the tree poses a reasonable risk of injury or harm to persons or property or is substantially interfering with the structural integrity or the use of an existing structure (including, but not limited to, a fence or wall), swimming pool, or building and **there is no feasible and reasonable alternative to mitigate the interference**.</em>\n>\n> The trees are flawed and could cause significant injury to persons as the decayed portions of the bud can suddenly drop large clusters of diseased fronds. These trees are located directly over the front entrance and parking area in the driveway. The ‘pinched’ trunks are a weak point that are not capable of safely supporting the huge weight of the massive tree canopy especially since the trees are leaning and the weight is off-center.\n\nThe dead fronds can be removed which immediately mitigates the danger of them falling. There is no evidence that the living fronds are diseased or in danger of falling.\n\nThe pinch and the lean have been there for at least a decade supporting the same size mature canopy. In this time we have experienced significant rainstorms. Removing the weight of four years (growth seasons) of dieback (arborist demonstrated the last pruning was in 2020) will reduce the weight drastically bringing the canopy back in line with the weight it has supported with the pinch and the lean this entire time.\n\n**Conclusion: There *is* a feasible and reasonable alternative to mitigating the interference.**\n\n### Diseased or damaged or threat to persons or property\n\n> <em>(3) Where a written determination has been made by a certified arborist, after a visual inspection or scientific evaluation, that the tree is **so diseased or damaged that it is no longer viable or is a threat to persons or property, including to other trees**. The director or commission may waive the requirement for a certified arborist’s written statement when the tree can reasonably be determined to be dead by a layperson’s visual inspection or when, after conducting an inspection of the tree, the director determines that the tree poses an obvious and imminent threat to life or property.</em>\n>\n> There is evidence that the trees have both fungal issues at the base of the tree from grade disturbance as well as Fusarium dieback clearly evident in the canopy. Fusarium dieback is considered to be untreatable and fatal. Retention of these trees can also spread airborne spores and threaten nearby healthy trees.\n\nThe arborist\'s proof of Fusarium wilt is stated in the following two statements:\n\n<p><q>The crown of the trees appear to have Fusarium dieback</q>\n\n<p><q>You can see how the tree on the right side has a pocket where the fronds are noticeably discolored (dark) and are falling off the tree prematurely.</q>\n\nThere is genuinely no darkness let alone any coloration difference whatsoever in the photo or in person on the "right side" of the tree from any interpretation of "right side".\n\nI reached out to the arborist. The phone call was forwarded and he texted immediately "Please text me."\n\nI promptly introduced myself via text message as a South Pasadena resident that has reviewed his report and asked the following:\n\n> I see that you have said that one of the trees is suffering from Fusarium wilt although I cannot see in the photos or in person where the "noticeably discolored" pocket of fronds is located. Is there any other criteria by which you made this diagnosis?\n\nI have received no response 24 hours later.\n\n#### Characteristic Symptoms of Fusarium Wilt\n\nRaj Singh, D.P.M. of the Department of Plant Pathology at the LSU College of Agriculture states in a document titled "Fusarium Wilt of Canary Island Date Palm":\n\n> The characteristic symptoms of Fusarium wilt include one-sided death of the fronds or palm leaves. Initially, the leaflets on the other side of the infected frond stay green, but eventually the whole frond dies and desiccates.\n\nand\n\n> Reddish-brown streaks appear on the rachis of affected fronds.\n\n![x](/media/9qvR.png)\n\nThe above photo is an example of one-sided death that can be found in the LSU document linked below.\n\nwww.lsuagcenter.com/~/media/system/5/e/e/c/5eeca4db5b91d54c332ff1436a6f1b95/pub3472fusariumwilt1115.pdf\n\n#### Applicant\'s Tree No. 2\n\n![x](/media/pvDq.jpg)\n\n![x](/media/e8oo.jpeg)\n\nThe arborist has not shown and there cannot be seen a single frond present anywhere in the canopy that shows the characteristic one-sided wilt.\n\nThe rachi (stems) of the dead fronds show no unusual streaking and the arborist makes no mention of such. The rachi of the living fronds are obscured from view. Fronds have fallen and as of December 16 there is at least one lying on the ground next to palm No. 2 that could be studied.\n\n#### Fungal issues from grade disturbance\n\nThe grade was changed fairly recently and there are no photos depicting the "fungal issues at the base of the tree". If present it is most likely small and superficial and would be easily corrected by bringing the grade back to normal allowing the base of the tree to dry.\n\n**Conclusion: There is insufficient evidence to support that the tree is diseased and no longer viable or a threat to persons or property.**\n\n## Replacement Plan\n\n### Significance\n\nNot a single replacement species is capable of growing to a "significant" size as per our tree code (12" DBH or greater). Thus this property will never again possess the requirement to replace in the future. Two significant trees will be replaced with zero significant trees. The species selection represents a devaluing of our city\'s tree canopy.\n\n### Placement\n\n34.12(e) states "The replacement tree sizes and species must be clearly identified"\n\nThe replacement plan does not correctly depict mature canopy sizes. As a result they are placed incorrectly on the property.\n\nThe Palo Verde (No. 2 on replacement plan) is positioned 7\' from the house and 5\' from the driveway. Its mature canopy is 20-25\' in diameter and is not a tall enough species to be lifted 6-8\' for vehicle access without creating a lopsided and unappealling canopy.\n\nThe Japanese Maple (No. 13), the largest replacement, may approach 12" DBH under optimal conditions. The mature canopy can grow to 30\' in diameter. It is placed 4\' from the the South property line and 4\' from the East property line. The East property line is lined with 50\'+ tall Arborvitae. The Maple that wants to grow 15\' in each direction has 4\' of space. It will grow unsafely as a result and become a hazard long before it reaches 12" DBH.\n\nThe Gala Apple (No. 9) requires at least 600 chill hours to succeed. South Pasadena is lucky to receive half that during the coldest winter. There isn\'t a single place on the property that will allow this tree to thrive. A trick to increase chill hours is to ensure that the tree receives winter shade. Even though that trick likely would not sufficiently compensate for the lack of chill hours in our region the tree has been placed in a prime sunny location.\n\nThe replacement plan was not reviewed by an arborist.\n\n34.12(f) allows for "A certified arborist review of the tree plan, if required by the director."\n\n**The replacement plan was not reviewed by the city arborist.**\n\n## Community\n\nI knocked on the eleven closest neighbors\' doors and ultimately spoke to eight of them.\n\nOnly one was aware of the pending removal. That person is opposed and sent a public comment in opposition during the appeal. Another was not aware but was also opposed.\n\nThe rest of the neighbors are fine with the removal of the palms.\n\nWhen asked about replacements not a single neighbor had any ideas. "Leafy" was one person\'s input but most were genuinely uncertain how to respond to that question. I explained the replacement plan and all but one were unfamiliar with the species.\n\nWhen I described the Palo Verde\'s lack of leafiness to one neighbor their response was negative.\n\nThe one neighbor that was familiar with Crepe Myrtle had planted the species themselves and were regretful. They stated that they regret not having invested in an oak. I asked where they got the idea to plant Crepe Myrtle and they stated that they asked the city and the city said "There\'s a lot of people planting that in your area."\n\nThere are large trees and oaks of all maturities present in a three block radius standing next to houses of similar massing on properties of similar scale.\n\n## Desired Outcome\n\nThe contractor that has quoted or been hired to remove the trees can begin the job by pruning the dead fronds. They can use spurs, the simpler method of climbing, as the intentions are for eventual removal. This will fully solve the immediate danger of falling fronds and relieve a great deal of weight alleviating the other dangers posed by the lean and pinches.\n\nThe applicant may then take the time to go through a proper implementation of their replacement plan according to 34.11(a)(4):\n\n> (4) For the removal of a significant or mature tree, where the proposed replacement tree(s) are of greater value or provide greater benefits than the tree proposed for removal.\n\nThe environmental commission requested significant replacements that took into consideration ecological benefits. This request was ignored.\n\nThe local stakeholders as well as all members of the greater community deserve to have the value of our canopy upheld.\n\n## Precedent\n\nI believe this removal represents a worrying trend in the City of Trees whereby dubious hazard claims undermine due process and ultimately lead to a reduction and devaluing of our city\'s tree canopy.\n\nI believe staff, not just in public works but also during planning, lack leadership in this area.\n\nMarch 1998 the South Pasadena Review wrote:\n\n> The National Arbor Day Foundation, a non-profit education organization dedicated to tree planting and environmental stewardship, officially recognized South Pasadena as a Tree City U.S.A. during last week\'s city council meeting.\n\nPlease take the time to get this right a quarter century later so that South Pasadena can continue its tradition of excellence when it comes to tree planting and environmental stewardship.\n\nThank you, \nAngelo Gladding \n1856 Hanscom Drive\n\n<style>img { max-width: 40em; }</style>\n'}], 'updated': [DateTime(2024, 12, 17, 14, 1, 29, 869481, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 12, 15, 4, 46, 174339, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/webmention', '/2024/12/12/s3'], 'type': ['entry'], 'name': ['Webmention'], 'content': [{'html': '[[IndieWeb]] cross-site interactions.\n\n### Validate a Receiver\n\n<form method=post action=/webmention>\n<label><small>Target URL:</small><br>\n<input name=target></label><br>\n<button>Inspect</button>\n</form>\n\n### Send a Webmention\n\n<form method=post action=/webmention>\n<label><small>Source URL:</small><br>\n<input name=target></label><br>\n<label><small>Target URL:</small><br>\n<input name=target></label><br>\n<button>Send</button>\n</form>\n\n### Scan and send all Webmentions\n\n<form method=post action=/webmention/sender>\n<label><small>Source URL:</small><br>\n<input name=target></label><br>\n<button>Send</button>\n</form>\n'}], 'updated': [DateTime(2024, 12, 12, 15, 14, 23, 110440, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 12, 13, 53, 25, 920219, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/note', '/2024/12/12/uc'], 'type': ['entry'], 'name': ['Note Client'], 'content': [{'html': '$ req = web.tx.request\n\n$if req.method == "GET":\n <form method=post action=/note>\n <label><small>Content:</small><br>\n <textarea name=content style=width:30em></textarea><br>\n <button>Post</button>\n </form>\n$elif req.method == "POST":\n $ form = web.form("content")\n $if token := web.tx.user.session.get("token", [None])[0]:\n $ mp_resp = web.post("https://micro.blog/micropub",\n $ headers={\n $ "Authorization": f"Bearer {token}",\n $ "Content-Type": "application/x-www-form-urlencoded",\n $ },\n $ data={\n $ "h": "entry",\n $ "content": form.content,\n $ })\n $mp_resp.text\n <p>Note posted.</p>\n $else:\n <p>Your host does not support access tokens.</p>\n'}], 'updated': [DateTime(2024, 12, 12, 14, 6, 55, 117715, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 10, 10, 58, 22, 11918, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/10/ca'], 'in-reply-to': [{'name': ['South Pasadena Planning Commission -- December 10, 2024 Agenda'], 'url': ['https://www.southpasadenaca.gov/files/assets/public/v/1/community-development/documents/12-10-24-pc-agenda-packet.pdf']}], 'type': ['entry'], 'name': ['Public Comment for Peterson Avenue Development'], 'content': [{'html': "Commissioners, please take this tree related information into consideration.\n\n---\n\n![X](/media/ccRv.png)\n\nAssessor's imagery from 2014\n\n---\n\n![X](/media/vxDP.png)\n\nThe size of the existing pine at the base of the property isn't accurately represented. It is much larger and will continue to grow.\n\nThe diagrams of the Coast Live Oak replacements are undersized and placed too close together. The diagrams currently show a 24' canopy spread. Coast Live Oaks will grow to between 30-70' diameters and these being on a south-facing hill will receive enough sun to favor significant growth.\n\nThe Palo Verde (Parkinsonia florida) tree is being overused in our landscapes, specifically in front yards. They are considered small-medium sized patio trees. They only offer a small amount of shade and will never offer anything but the smallest bit of respite to walkers in the summer heat. Due to their short height they will not grow above the structure so they will eventually need to be pruned heavily on the structure side leaving a misshapen canopy for all to see. Furthermore, the plan shows them planted 10' apart which will cause them to grow into one another and lead to constant issues and an undesirable growth pattern.\n\n---\n\nPlease send this landscape plan to the NREC if possible. Otherwise, please ask the applicant to update the landscape plan to reflect the actual diameters of the species' mature canopies.\n\nWe do not have street trees in this area of the Monterey Hills. We rely on private property planting to provide shade for our streets. Please ask the applicant to place significant shade trees on the street. A Coast Live Oak placed as per the diagram would provide shade not only to walkers on the street but also to the part of the structure that does not have solar panels.\n\nAdditionally, a smaller oak, such as an Engelmann Oak (Pasadena Oak) could fit nicely in the opposite corner, again avoiding solar panels and providing shade to walkers on the street.\n\nLastly, native shrubs like Toyon and Sugar Bush should be considered for scenarios like this where what the applicant is looking for is more of a privacy hedge. Placing several of these long-lived native shrubs in between two Oak cornerpieces would be a beautiful, natural front yard landscape for walkers and wildlife while being aesthetically superior in every way.\n\n---\n\nAs a final note I'd like to point out that the NREC is currently reviewing our tree code and I believe it is a fair representation of the current discussions to say that the actual number of tree replacements can be too high and that species selection and placement on the property are vastly more important criteria.\n\nThank you, \nAngelo Gladding \n1856 Hanscom Drive\n"}], 'updated': [DateTime(2024, 12, 10, 12, 3, 45, 646508, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': [{'name': ['Funky Pop House Mix in a New York Club | X & Ivy'], 'author': [{'name': 'Book Club Radio', 'url': 'https://www.youtube.com/@bookclubradio'}], 'url': ['https://www.youtube.com/watch?v=czTabj7yrNU']}], 'token': ['eLAE'], 'published': [DateTime(2024, 12, 9, 16, 49, 6, 731688, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/10/pe'], 'type': ['entry'], 'updated': [DateTime(2024, 12, 9, 16, 49, 6, 731688, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 9, 14, 21, 33, 725538, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/rsvp', '/2024/12/09/om'], 'type': ['entry'], 'name': ['RSVP Client'], 'content': [{'html': '$ req = web.tx.request\n\n$if req.method == "GET":\n <p>Bookmarklet: <a href="javascript:(function(){\n window.location.href=\'https://ragt.ag/rsvp?url=\'+\n encodeURIComponent(window.location.href)\n })()">RSVP</a> <small>(drag to browser toolbar to install)</small></p>\n \n $ url = req.uri.query.get(\'url\', [None])[0]\n <form method=post action=/rsvp>\n <label><small>Event URL:</small><br>\n <input name=event_url value="$url" style=width:30em></label><br>\n $if url:\n $ event = web.get(url).entry\n <p>$event["name"]<br><img src="$event[\'photo\']"></p>\n <fieldset>\n <legend>RSVP</legend>\n $for response in ("yes", "no", "maybe"):\n <label><input type=radio name=response\n value=$response> $response.capitalize()</label>\n </fieldset>\n <button>RSVP</button>\n </form>\n <code style=font-size:.8em>$web.tx.user.session</code>\n$elif req.method == "POST":\n $ form = web.form("event_url", "response")\n $if token := web.tx.user.session.get("token", [None])[0]:\n $ mp_resp = web.post("https://micro.blog/micropub",\n $ headers={\n $ "Authorization": f"Bearer {token}",\n $ "Content-Type": "application/x-www-form-urlencoded",\n $ },\n $ data={\n $ "h": "entry",\n $ "in_reply_to": form.event_url,\n $ "rsvp": form.response,\n $ })\n $mp_resp.text\n <p>RSVP\'d to <code>$form.event_url</code></p>\n $else:\n <p>Your host does not support access tokens.</p>\n'}], 'updated': [DateTime(2024, 12, 12, 13, 52, 36, 675181, tzinfo=Timezone('America/Los_Angeles'))]}

{'video': ['/media/RoGT.mov\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 12, 8, 16, 9, 23, 82226, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 12, 8, 16, 9, 23, 82226, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/09/mj'], 'type': ['entry']}

{'photo': ['/media/5Htm.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 12, 8, 13, 2, 32, 137026, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 12, 8, 13, 2, 32, 137026, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/08/ft'], 'type': ['entry']}

{'published': [DateTime(2024, 12, 8, 12, 21, 59, 700841, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/birding', '/2024/12/08/is'], 'type': ['entry'], 'name': ['Birding'], 'content': [{'html': 'https://support.ebird.org/en/support/solutions/articles/48000950859-guide-to-ebird-protocols\n'}], 'updated': [DateTime(2024, 12, 8, 12, 22, 5, 578755, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 7, 19, 41, 13, 296257, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/nature-park', '/2024/12/08/uo'], 'type': ['entry'], 'name': ['Nature Park'], 'content': [{'html': '100 Pasadena Ave, South Pasadena, CA 91030\n\n$ native_plants = {\n$ "quercus agrifolia",\n$ "juglans californica",\n$ }\n\n$for native_plant in native_plants:\n * $native_plant\n'}], 'updated': [DateTime(2024, 12, 7, 20, 19, 26, 784358, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 7, 19, 18, 45, 192485, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 12, 7, 19, 18, 45, 192485, tzinfo=Timezone('America/Los_Angeles'))], 'in-reply-to': [{'name': ['IndieWebCamp San Diego 2024'], 'url': ['https://events.indieweb.org/2024/12/indiewebcamp-san-diego-2024-7C9aq9A4Zv9m']}], 'visibility': ['public'], 'author': [{'uid': ['/'], 'name': ['Angelo Gladding'], 'nickname': ['angelo'], 'note': ['<a href=/hacking#for-right>Hacker for right</a> <a href=/homesteading>homesteading into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/08/ph'], 'rsvp': ['yes'], 'type': ['entry']}

{'published': [DateTime(2024, 12, 5, 17, 15, 59, 298571, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/trail-cam', '/2024/12/06/es'], 'type': ['entry'], 'name': ['Trail Cam'], 'content': [{'html': 'Continously record video from camera to card.\n\n- Raspberry Pi Zero\n- Raspberry Pi camera (w/ infrared)\n- 256GB low-energy SD card (x2)\n\n---\n\n- Solar panel\n- Battery (x2)\n- Infrared light\n- IP65 case\n'}], 'updated': [DateTime(2024, 12, 5, 17, 18, 43, 429382, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 12, 5, 14, 14, 37, 534418, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/earthquakes', '/2024/12/05/i4'], 'type': ['entry'], 'name': ['Earthquakes'], 'content': [{'html': 'Aug 12, 2024 -- [4.4 earthquake was centered on notorious L.A. fault system](https://www.latimes.com/california/story/2024-08-12/4-6-magnitude-earthquake-rattles-los-angeles)\n\nhttps://www.usgs.gov/faqs/what-emergency-supplies-do-i-need-earthquake\n'}], 'updated': [DateTime(2024, 12, 12, 22, 51, 37, 741705, tzinfo=Timezone('America/Los_Angeles'))]}

{'photo': ['/media/kwC0.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 12, 4, 12, 54, 25, 519902, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 12, 4, 12, 54, 25, 519902, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'category': ['Salvia apiana'], 'url': ['/2024/12/04/vm'], 'type': ['entry']}

{'photo': ['/media/DbRf.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 12, 4, 12, 53, 43, 928799, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 12, 4, 12, 53, 43, 928799, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/04/vc'], 'type': ['entry']}

{'published': [DateTime(2024, 12, 1, 21, 29, 58, 351933, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/12/02/d9'], 'syndication': [{'name': ['South Pasadena Natural Resources and Environmental Commission -- December 2, 2024 Additional Documents'], 'url': ['https://www.southpasadenaca.gov/files/content/public/v/34/your-government/boards-commissions/natural-resources-and-environmental-commission/nrec-12.2.24-additional-doc_ak.pdf']}], 'in-reply-to': [{'name': ['South Pasadena Natural Resources and Environmental Commission -- December 2, 2024 Agenda'], 'url': ['https://www.southpasadenaca.gov/files/content/public/v/34/your-government/boards-commissions/natural-resources-and-environmental-commission/00-december-2-2024-nrec-agenda-packet_ak.pdf']}], 'type': ['entry'], 'name': ['Public Comment for Orange Grove Avenue and Diamond Avenue Tree Removals'], 'content': [{'html': '<div style=color:#cb4b16>Due to file size issues when converting to PDF the following had to be shortened significantly. See the actual public comment listed in the aside under "syndicated to" for the official record.</div>\n\nCommissioners, please take the following into consideration. Thank you.\n\n## 1040 Orange Grove Ave\n\nThese Canary Island Palms do not have a "diseased dieback" and are not suffering from Fusarium Wilt.\n\n### One-Sided Frond Death\n\n> The characteristic symptoms of Fusarium wilt include one-sided death of the fronds or palm leaves (Figure 1). Initially, the leaflets on the other side of the infected frond stay green (Figure 2), but eventually the whole frond dies and desiccates.\n>\n> Reddish-brown streaks appear on the rachis of affected fronds.\n\n#### Figure 1\n\n![x](/media/LQ0d.png)\n\n#### Figure 2\n\n![x](/media/9qvR.png)\n\nhttps://www.lsuagcenter.com/~/media/system/5/e/e/c/5eeca4db5b91d54c332ff1436a6f1b95/pub3472fusariumwilt1115.pdf\n\n### Applcant\'s Specimens\n\nThere is not a single identifiable frond (living or dead) with the characteristic one-sided wilt. The canopies are symmetrical in their living fronds and dieback as is typical of a healthy palm.\n\nBoots (the stub of a pruned front left on after pruning) falling off the bud is a natural part of the lifecycle of a healthy palm. Plants growing in the nooks between boots is common and does not in and of itself indicate decay.\n\n![x](/media/pvDq.jpg)\n![x](/media/kxP9.jpg)\n![x](/media/X1f1.jpg)\n![x](/media/yjuG.jpg)\n![x](/media/Yrx5.jpg)\n![x](/media/rTXo.jpg)\n![x](/media/Fk4g.jpg)\n![x](/media/za5o.jpg)\n![x](/media/dWin.jpg)\n\n![x](/media/e8oo.jpeg)\n![x](/media/FtWC.jpeg)\n\n#### Lean\n\nThe ever so slight lean is corrected immediately above the cutoff of the arborist\'s photo.\n\n![x](/media/5js8.jpg)\n\n#### Other specimens from around the city\n\nNote the dieback, the tapers that appear to be from a similar time period (probably a severe drought), the missing boots and the plants growing out of the boots.\n\n![x](/media/a0WH.jpg)\n![x](/media/8LHS.jpg)\n![x](/media/anpg.jpg)\n![x](/media/_YVP.jpg)\n![x](/media/odYV.jpg)\n![x](/media/o2Xe.jpg)\n![x](/media/SsN2.jpg)\n![x](/media/cvff.jpg)\n\n### Applicant\'s front yard\n\nThere is room for an oak to be planted near the sidewalk, in place of the pathway, in between the front door and the street. An Engelmann Oak or Blue Oak would be smaller than a Coast Live Oak but any could be made to fit in the space.\n\nThe existing elm is an invasive with mild allelopathy (discourages other plants from growing) that has been topped and will continue to be a maintenance burden to the city for the rest of its life while looking unnattural with a flattened top. It can provide protection for a fledgling oak and encourage vertical growth. When the oak becomes large enough to interact with the elm the elm could be removed to allow the oak to maximize its growth horizontally over the sidewalk and eventually over the street while remaining balanced.\n\nIf left alone the oak will grow to be a large shrub in the first 20 years that will provided lush privacy for the front door and windows. A certified arborist can help maintain a single leader while minimizing cuts and maximizing growth.\n\nA native sugar bush shrub could be planted on the south side of the property to add diversity and coverage. They can live for over a hundred years.\n\n![x](/media/dzyp.jpg)\n![x](/media/MK42.jpg)\n\n### Applicant\'s back yard\n\nThere is a row of arborvitae on the property adjacent to the applicant\'s. This completely blocks all early morning sun until noon. They are planted too close together. The species is generally considered to be a fire hazard due to its high resin content, dense foliage and dry interior branches. They are especially dangerous adjacent to structures. That property owner is currently constructing an ADU adjacent to the arborvitae (as shown in the third photo).\n\nI\'m sure the privacy is welcome, especially considering the new development project. However, the scale is just too much. With a pruning and thinning of the hedge privacy could be maintained, beneficial early sun could be let in and at least some of the neighborhood\'s magnificent old growth canopy would be seen from the rear second-story deck.\n\nThe additional light and space would not only benefit your family\'s early morning backyard activities but also allow for an oak and a pine to be placed in the back yard. A pair of toyons (another long-lived native shrub) could be placed near the rear property line to grow into a hedge that would allow for the eventual removal of the arborvitae while preserving privacy and renativizing the space with all of the benefits that come from such an endeavour.\n\nA grey pine is a good example of a native drought-tolerant pine that grows more vertically than horizontally and there\'s ample room for a coast live oak.\n\n![x](/media/8MG_.jpg)\n![x](/media/i2zR.jpg)\n![x](/media/xXAz.jpg)\n\n### Surrounding Area\n\nBirds nesting in an untopped old growth tree.\n\n![x](/media/w8E5.jpg)\n\nA sad street tree limbed up, unwatered and beneath the power lines. Street trees beneath power lines should be a nonstarter.\n\n![x](/media/euG4.jpg)\n\nOaks will find a way.\n\n![x](/media/E51P.jpg)\n\nLiontailed or lollipopped crepe myrtles are neither trees nor shrubs. Replacement trees need to be cared for according to ISA standards.\n\n![x](/media/uAin.jpg)\n\nMighty oaks can coexist with homes.\n\n![x](/media/FG3o.jpg)\n\nThe old growth canopy that surrounds the applicant\'s home.\n\n![x](/media/YY4F.jpg)\n![x](/media/josx.jpg)\n\n## 1108 Diamond Ave\n\n![x](/media/f5jM.png)\n![x](/media/uMHs.png)\n![x](/media/unJX.png)\n![x](/media/9Pam.jpg)\n\n### Overpruned & Pruned Incorrectly\n\nWas there a permit for trimming? more than 10% was removed from both oak trees. This violates our tree code. Did a certified arborist perform the trimming? Large cuts were made incorrectly on what were already very small canopies.\n\n### Insurance Related Claims\n\nWhat was the order of events? Was a claim made first or was it a cancellation notice out of nowhere. Did the pruning come after the cancellation notice? Has a new insurance company inspected the property and found no problem? Our city needs to better understand these insurance related tree hazard claims.\n\n### Root Flare\n\nThe root flares are clearly buried. What is a "loose soil" measurement when the flare is 12-18 inches below grade?\n\nWhere is a photo of "roots uplifting the soil area"? If the root flare is buried then the soil around the base of the tree will take the shape of the last person who raked soil over it. Uplifting typically reveals cracks in the clay.\n\nThe status of the roots are the primary factor when assessing the stability of a leaning tree.\n\n### Trunk Stress\n\nWhere is a photo of "signs of stress observed at the base on the tension side of the tree"? There doesn\'t appear to be any visible issues with the trunk at all.\n\n### Replacement Plan\n\nIn the City of Trees removed oaks should be replaced on-site with oaks. Oaks should be prioritized over lawns every single time.\n\n---\n\nAngelo Gladding \n1856 Hanscom Drive\n'}], 'updated': [DateTime(2024, 12, 15, 16, 40, 45, 563411, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 11, 27, 19, 11, 21, 321547, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/indieweb-rocks', '/2024/11/28/mx'], 'type': ['entry'], 'name': ['IndieWeb Rocks'], 'content': [{'html': '$ domain = web.tx.request.uri.query.get("domain", [None])[0]\n\n<form>\n<label>Domain: <input name=domain value="$domain"><label>\n<button>Validate</button>\n</form>\n\n$if domain:\n $ website = web.get(domain)\n $if card := website.card:\n <div style="display:grid;grid-template-columns:8em auto;">\n $if photo := card.get("photo", [None])[0]:\n $if "value" in photo and "alt" in photo:\n $ img_src = photo["value"]\n $ img_alt = photo["alt"]\n $else:\n $ img_src = photo\n $ img_alt = ""\n <div><img src=$:img_src alt="$:img_alt" style=max-width:100%></div>\n <div>\n <h2 style=margin-top:0><big>$card["name"][0]</big></h2>\n $if note := card.pop("note", [None])[0]:\n <p>$:note.replace("\\n", " ")</p>\n $if email := card.pop("email", [None])[0]:\n <p>$email<p>\n $if key := card.pop("key", [None])[0]:\n <p>$key</p>\n </div>\n </div>\n $if feed := website.feed:\n $if card and feed and card["name"][0] != feed["name"]:\n <h3>$feed["name"]</h3>\n <ul>\n $for item in feed["items"]:\n $ type = item.pop("type")[0].partition("-")[2]\n $ item.pop("author", None)\n <li>\n <small>$type</small>\n <div>$item.pop("url")[0] $item.pop("published")[0] $item.pop("updated", [None])[0]</div>\n <pre>$:item</pre>\n </li>\n </ul>\n $ mf2json = website.mf2json\n <h4>Rels</h4>\n <dl>\n $for rel, rel_values in sorted(mf2json["rels"].items()):\n <dt>$rel\n <dd><ul>\n $for rel_value in rel_values:\n $ stripped_rel_value = rel_value\n $for removal in (domain, f"www.{domain}", f"https://{domain}", f"https://www.{domain}", f"http://{domain}", f"http://www.{domain}"):\n $ stripped_rel_value = stripped_rel_value.removeprefix(removal)\n <li>\n $if stripped_rel_value.startswith("/"):\n <a href=$rel_value>$stripped_rel_value</a>\n $else:\n <a href=$rel_value>$rel_value</a>\n </ul>\n </dl>\n \n<style>\nform {\n margin-bottom: 1em;\n}\ndl {\n align-items: start;\n display: grid;\n font-size: .8em;\n grid-template-columns: 1fr 7fr;\n}\ndt {\n grid-column: 1;\n font-weight: bold;\n}\ndd {\n grid-column: 2;\n margin: 0;\n}\n</style>\n'}], 'updated': [DateTime(2024, 12, 1, 18, 18, 38, 614361, tzinfo=Timezone('America/Los_Angeles'))]}

{'photo': ['/media/bBws.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 23, 12, 57, 38, 596350, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 23, 12, 57, 38, 596350, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/23/mj'], 'category': ['Vinca major', 'Toxicodendron diversilobum', 'Juglans californica'], 'type': ['entry']}

{'photo': ['/media/gz5E.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 23, 11, 36, 30, 360135, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 23, 11, 36, 30, 360135, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/23/d4'], 'type': ['entry']}

{'photo': ['/media/ZiqF.heic\n'], 'summary': ['Spicier.'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 23, 10, 32, 0, 133232, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 23, 10, 32, 0, 133232, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/23/gy'], 'type': ['entry']}

{'photo': ['/media/Tb6J.heic\n'], 'summary': ['Spicy.'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 23, 10, 30, 26, 98344, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 23, 10, 30, 26, 98344, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/23/5w'], 'type': ['entry']}

{'in-reply-to': [{'name': ['Nature Park Volunteer Day'], 'url': ['https://www.weedingwildsuburbia.com/calendar/nature-park-volunteer-day-nov/']}], 'visibility': ['public'], 'rsvp': ['yes'], 'published': [DateTime(2024, 11, 15, 15, 3, 23, 403924, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 15, 15, 3, 23, 403924, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/15/x3'], 'type': ['entry']}

{'in-reply-to': [{'name': ['Homebrew Website Club Pacific'], 'url': ['https://events.indieweb.org/2024/11/homebrew-website-club-pacific-huu19VnVhVEL']}], 'visibility': ['public'], 'rsvp': ['maybe'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 11, 16, 40, 8, 568601, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 11, 16, 40, 8, 568601, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/12/nz'], 'type': ['entry']}

{'in-reply-to': [{'name': ['Homebrew Website Club Europe/London'], 'url': ['https://events.indieweb.org/2024/11/homebrew-website-club-europe-london-5mAXxarvcwjY']}], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 11, 16, 39, 19, 437112, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'updated': [DateTime(2024, 11, 11, 16, 39, 19, 437112, tzinfo=Timezone('America/Los_Angeles'))], 'url': ['/2024/11/12/p5'], 'type': ['entry']}

{'published': [DateTime(2024, 11, 8, 15, 59, 21, 482528, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/doing-it-live', '/2024/11/08/o7'], 'type': ['entry'], 'name': ['Doing It Live'], 'content': [{'html': "Doing it live means editing the deployed code of a deployed site.\n\n![a screenshot of the terminal session](/media/xBD_.png)\n\n8 tmux panes in my primary window:\n\n- 5 tailing logfiles\n- 1 command and control (managing daemons)\n- 1 general purpose\n- 1 vim with 46 splits including code files from the site environment's `site-packages` directory and miscellaneous server configuration files.\n\nThe 12 other tmux windows contain one-off purposes that I have yet to document properly or account for otherwise. Leaving them open allows for most ready access to do that at a later date.\n\nVanilla tmux and vanilla vim on vanilla Debian are extremely reliable long term.\n\n2-cpu\n\n admin@ragt:~$$ uptime 00:06:58 up 380 days, 17:53, 24 users, load average: 0.25, 0.15, 0.10\n"}], 'updated': [DateTime(2024, 11, 8, 16, 23, 5, 925178, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['Bastille - Pompeii (Audien Remix)'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 8, 12, 8, 3, 156971, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 8, 12, 8, 3, 156971, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/08/ub'], 'type': ['entry']}

{'published': [DateTime(2024, 11, 7, 13, 2, 24, 205498, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/templetor', '/2024/11/07/o3'], 'type': ['entry'], 'name': ['Templetor'], 'content': [{'html': 'Originally the templating language for <a href=https://github.com/webpy/webpy/blob/master/web/template.py><code>web.py</code></a>, I\'ve ported it to modern python for <a href=https://ragt.ag/code/projects/webint/files/web/templating><code>webint</code></a> and added <a href=https://github.com/zopefoundation/RestrictedPython>RestrictedPython</a> support.\n\n## Examples\n\nFor python webapps: [canopy python project](https://ragt.ag/code/projects/canopy/files/canopy/templates)\n\nFor writing posts/pages: [post body renderer in webint-posts app](https://ragt.ag/code/projects/webint-posts/files/webint_posts/templates/__init__.py#L12) and [this page\'s source](/templetor/source)\n\n## History\n\n> The web.py template language, called Templetor is designed to bring the power of Python to templates. Instead of inventing new syntax for templates, it re-uses python syntax. If you know the Python programming language, you will be at home.<br>---<cite>https://webpy.org/docs/0.3/templetor</cite>\n\n## Security\n\n> Templetor intentionally limits variable access within a template. A user has access to the variables passed into the template and some builtin python functions. This allows untrusted users to write templates, and not worry about them causing harm to the running system. You can, of course, increase the global variables available.<br>---<cite>https://webpy.org/docs/0.3/templetor</cite>\n\n> RestrictedPython is a tool that helps to define a subset of the Python language which allows to provide a program input into a trusted environment.<br>---<cite>https://github.com/zopefoundation/RestrictedPython</cite>\n\nTempletor generates an AST representation of the template that is then passed through RestrictedPython. A few default restrictions are relaxed and "safe builtins" are allowed, see <a href=https://ragt.ag/code/projects/webint/files/web/templating/templating.py>`templating.py`</a>.\n\n## Usage\n\n### Syntax\n\n#### Expression Substitution\n\nSpecial character $$ is used to specify python expressions. Expression can be enclosed in () or {} for explicit grouping.\n\n Look, a $$string. \n Hark, an $${arbitrary + expression}. \n Gawk, a $$dictionary[key].function("argument"). \n Cool, a $$(limit)ing.\n\n#### Assignments\n\nSometimes you may want to define new variables and re-assign some variables.\n\n<pre>$$ bug = get_bug(id)\n&lt;h1&gt;$$bug.title&lt;/h1&gt;\n&lt;div&gt;$$bug.description&lt;/div&gt;&lt;/pre&gt;\n \nNotice the space after $$ in the assignment. It is required to differentiate assignment from expression substitution.\n\n#### Filtering\n\nBy default, Templetor uses web.websafe filter to do HTML-encoding.\n\n $$ foo = "<div>bar</div>"\n\n$ foo = "<div>bar</div>"\n\nTo turnoff filter use : after $$. For example, the following will not be html escaped:\n\n $$foo\n\n $foo\n\n $$:foo\n\n $:foo\n\n#### Newline Suppression\n\n#### Escaping $$\n\n#### Comments\n\n#### Control Structures\n\n#### Other Statements\n\n#### Builtins & Globals\n\n##### `$$web` &\n\n###### Transaction Context\n\n $$web.tx\n\nQuery parameters:\n\n $$web.tx.request.uri.query\n\nExample:\n\n $:web.tx.request.uri.query\n\n<p><a href=?foo=bar&bat=baz>example query parameters</a></p>\n\n<form>\n<label>Favorite Color: <input name=favorite_color></label><br>\n<button>Submit</button>\n</form>\n\n#### HTTP Requests\n\n $$ homepage = web.get("ragt.ag")\n $$homepage.card\n\n$# homepage = web.get("ragt.ag")\n\n $#:homepage.card\n'}], 'updated': [DateTime(2024, 11, 15, 15, 46, 17, 347346, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 11, 6, 20, 16, 9, 641970, tzinfo=Timezone('America/Los_Angeles'))], 'start': [DateTime(2024, 11, 6, 19, 0, 0, tzinfo=Timezone('America/Los_Angeles'))], 'end': [DateTime(2024, 11, 6, 23, 30, 0, tzinfo=Timezone('America/Los_Angeles'))], 'location': ['https://ragt.ag'], 'visibility': ['public'], 'author': ['https://ragt.ag'], 'url': ['/usbahcm', '/2024/11/07/u8'], 'type': ['event'], 'summary': ['an overdue yet impromptu catch-up led to a pop-in, reach-out and check-in across latitudes and timezones'], 'attendees': ['https://ragt.ag', 'https://maxwelljoslyn.com', 'https://lifeofpablo.com', 'https://benji.dog', 'https://jamesg.blog'], 'photo': ['/media/Dy7p.png'], 'name': ['Ultra Secret Bonus Ad-Hoc Homebrew Club Meeting'], 'content': [{'html': 'Simon Willison\'s library: https://llm.datasette.io/en/stable/ as used in, for example, https://github.com/maxwelljoslyn/gm-trainer\n\nYo Pablo the song I linked you to: make SURE you listen to the correct version which is this one. A lot of them suck: https://www.youtube.com/watch?v=sy9fCcbLBbQ\n\nObligatory: <big>[Rebecca Black | Boiler Room: DC](https://youtu.be/vkcyXB08BBE)</big> > <small>[Charli xcx | Boiler Room & Charli xcx presents: PARTYGIRL Ibiza](https://youtu.be/T3gcbYL2VMg)</small>\n\nWe are discussing Angelo\'s homemade etherpad integration! It works pretty well.\n\n> Every time I play with it I discover a new UX pattern that\'s never been discovered before.\n> <cite>---Angelo</cite>\n\ne.g. linking to a page\'s editor for signed-in users provided the final nudge to finally share a workspace for our video chat after over a hundred video chats where it was often discussed as a possibility\n\nConsensus is that bugs and partial implementations can be fun in the form of unintended utility and serendipity.\n\ne.g. Maxwell cracking up from triggering an infinite loop of video participants.\n\n![Maxwell cracking up in three simultaneous frames at a certain scroll height](/media/_Ha2.png)\n![Maxwell cracking up in three different frames at a different scroll height](/media/_nzk.png)\n\nWorking on the site live while chatting about it *via* the site presents a unique requirement of tight feedback loops with quick, incremental results.\n\n### Fix for video chat grid\n\n <button onclick="document.body.classList.add(\'expand\')">expand</button>\n <style>\n body.expand > .sidebar {\n position: absolute;\n top: 0; bottom: 0;\n left: 0; right: 0;\n }\n body.expand .me-container,\n body.expand .peer-container {\n display: inline-block;\n width: 400px !important;\n height: 300px !important;\n }\n body.expand #room {\n display: none;\n }\n </style>\n\n> Amazingly fun! <cite>---James</cite>\n\n😊\n'}], 'updated': [DateTime(2024, 11, 8, 15, 52, 15, 843047, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 11, 2, 20, 25, 8, 546792, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/Ailanthus-altissima', '/2024/11/03/oc'], 'type': ['entry'], 'name': ['Ailanthus altissima'], 'content': [{'html': '$ common_name = "Tree of Heaven"\n\n$common_name\n\n## Removal\n\nhttps://extension.psu.edu/using-hack-and-squirt-herbicide-applications-to-control-unwanted-trees\n'}], 'updated': [DateTime(2024, 11, 25, 13, 4, 49, 545355, tzinfo=Timezone('America/Los_Angeles'))]}

{'photo': ['/media/Bkdw.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 11, 1, 16, 34, 22, 912697, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 11, 1, 16, 34, 22, 912697, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/11/01/hq'], 'category': ['Toxicodendron diversilobum'], 'type': ['entry']}

{'photo': ['/media/Enpp.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 13, 16, 58, 94641, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 13, 16, 58, 94641, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/gq'], 'category': ['Rhus ovata'], 'type': ['entry']}

{'photo': ['/media/qZoX.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 13, 14, 51, 139546, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 13, 14, 51, 139546, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/d6'], 'category': ['Ailanthus altissima'], 'type': ['entry']}

{'photo': ['/media/_VhQ.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 13, 11, 40, 926507, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 13, 11, 40, 926507, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/2u'], 'category': ['Ailanthus altissima', 'Pick Mattock'], 'type': ['entry']}

{'photo': ['/media/xeQk.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 13, 10, 20, 201780, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 13, 10, 20, 201780, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/gk'], 'type': ['entry']}

{'photo': ['/media/k0E5.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 12, 21, 49, 383386, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 12, 21, 49, 383386, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/uq'], 'category': ['Rhamnus californica', 'Juglans californica', 'Toxicodendron diversilobum', 'Marrubium vulgare'], 'type': ['entry']}

{'photo': ['/media/NS9P.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 12, 21, 25, 86940, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 12, 21, 25, 86940, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/sr'], 'type': ['entry']}

{'photo': ['/media/VuEW.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 12, 18, 18, 175785, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 12, 18, 18, 175785, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/jn'], 'category': ['Rhamnus californica', 'Juglans californica', 'Toxicodendron diversilobum', 'Marrubium vulgare'], 'type': ['entry']}

{'photo': ['/media/cv0z.heic\n'], 'token': ['eLAE'], 'published': [DateTime(2024, 10, 26, 12, 15, 25, 680170, tzinfo=Timezone('America/Los_Angeles'))], 'updated': [DateTime(2024, 10, 26, 12, 15, 25, 680170, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/26/gc'], 'type': ['entry']}

{'published': [DateTime(2024, 10, 23, 14, 58, 1, 696738, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/23/zf'], 'type': ['entry'], 'content': [{'html': "I'm currently experimenting with all aspects of this site. Features are broken and content is incomplete.\n"}], 'updated': [DateTime(2024, 10, 23, 15, 1, 6, 884840, tzinfo=Timezone('America/Los_Angeles'))], 'pinned': ['yes']}

{'published': [DateTime(2024, 10, 8, 21, 5, 16, 984339, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/10/09/hq'], 'type': ['entry'], 'listen-of': ['https://dot-social.simplecast.com/episodes/jay-graber'], 'updated': [DateTime(2024, 10, 8, 21, 5, 16, 984339, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 10, 2, 18, 10, 17, 323038, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/canopy-garden', '/2024/10/03/t4'], 'type': ['entry'], 'name': ['Canopy Garden'], 'content': [{'html': 'I maintain a <a href=/canopy#host>canopy host</a> called Canopy Garden.\n\n$if web.tx.user.session and not web.tx.user.is_owner:\n <form action=/ method=post>\n <button>Sprout a Tree for Yourself</button>\n </form>\n$else:\n <p>Sign in to sprout a tree for yourself.</p>\n'}], 'updated': [DateTime(2024, 10, 8, 18, 37, 51, 20990, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/09/homebrew-website-club-pacific-u55eEZgzZUcM'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 9, 25, 18, 27, 19, 525135, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/09/26/ru'], 'type': ['entry'], 'deleted': [{'datetime': '2024-09-26T01:27:29.525135+00:00', 'timezone': 'America/Los_Angeles'}], 'updated': [DateTime(2024, 9, 25, 18, 27, 19, 525135, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/09/homebrew-website-club-pacific-u55eEZgzZUcM'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 9, 25, 18, 27, 17, 525135, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/09/26/e5'], 'type': ['entry'], 'updated': [DateTime(2024, 9, 25, 18, 27, 17, 525135, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 9, 18, 42, 18, 837650, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/cats', '/2024/09/10/qh'], 'type': ['entry'], 'name': ['Cats'], 'content': [{'html': 'Rita, Sissy and Mowser (adopted names)\n'}], 'updated': [DateTime(2024, 10, 6, 19, 20, 37, 546881, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 9, 16, 9, 50, 765560, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/books/oaks-of-california', '/2024/09/09/97'], 'type': ['entry'], 'name': ['Oaks of California'], 'content': [{'html': "Bruce M. Pavlik, Pamela C. Muick, Sharon G. Johnson, and Marjorie Popper\n\n<small>Cachuma Press and the California Oak Foundation</small>\n\n### Chapters\n\n1. The Diversity of California Oaks\n2. The Oak Landscapes of California\n3. Wildlife and Oaks\n4. California Oaks and the Human Past\n5. Preserving Oaks for Future Generations\n6. Exploring California's Oak Landscapes\n\n### Appendices\n\nA. California Topography\nB. Tribal Areas of California\nC. Index to Common and Scientific Plant Names\nD. Insect Species Associated with California Oaks\nE. Vertebrate Species Associated with California Oaks\nF. Endandgered Species Associated with California Oaks\n\n---\n\n<p><q>Well researched and presented. Covers broadly and specifically. Excellent supporting photographs throughout.</q> ⭐⭐⭐⭐⭐\n"}], 'updated': [DateTime(2024, 9, 9, 17, 31, 43, 388606, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 7, 15, 51, 58, 60557, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/books/urban-forestry', '/2024/09/07/y5'], 'type': ['entry'], 'name': ['Urban Forestry: Second Edition'], 'content': [{'html': 'Gene W. Grey & Frederick J. Deneke\n\n<small>Krieger Publishing Company, 1986</small>\n'}], 'updated': [DateTime(2024, 9, 7, 18, 12, 46, 179254, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['Kaskade - Turn It Down (with Rebecca & Fiona) [Extended Mix]'], 'token': ['eLAE'], 'published': [DateTime(2024, 9, 7, 14, 43, 35, 62385, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/09/07/c7'], 'type': ['entry'], 'updated': [DateTime(2024, 9, 7, 14, 43, 35, 62385, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 5, 16, 25, 55, 542069, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/tree-history/city-presented-with-tree-city-flag--710-marchers-praised', '/2024/09/05/qq'], 'type': ['entry'], 'name': ['City Presented with Tree City Flag; 710 Marchers Praised'], 'content': [{'html': '<small>The South Pasadena Review, March, 25, 1998</small>\n\nThe National Arbor Day Foundation, a non-profit education organization dedicated to tree planting and environmental stewardship, officially recognized South Pasadena as a Tree City U.S.A. during last week\'s city council meeting.\n\nKevin Johnson, deputy forester from the Department of Forestry, represented The National Arbor Day Foundation and presented outgoing Mayor Paul Zee and Norma LaValley, a South Pasadena Beautiful board member, with a plaque and a Tree City U.S.A. flag that will fly over city hall.\n\nCommunity signs proclaiming South Pasadena as Tree City U.S.A. will also be constructed as part of the special declaration.\n\nCommunities entering the nationwide program receive the Tree City U.S.A. designation upon recommendation by state foresters, who co-sponsor the program. Communities qualify by establishing a city tree ordinance, providing a legal tree governing body, putting a comprehensive urban forestry program in place and observing Arbor Day each year.\n\n"Tree City U.S.A. is a distinct honor for our community that serves to reinforce the value we place on our natural resources," said Zee. "It\'s the first time the city has received this national recognition."\n\n*...article continues with 710 protests and construction hours discussions...*\n\n[original article](/media/oU2J.PDF)\n'}], 'updated': [DateTime(2024, 9, 5, 16, 33, 57, 732723, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 5, 13, 6, 58, 880457, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/tree-history/tree-measures-approved-and-garage-sale-signs-considered', '/2024/09/05/y5'], 'type': ['entry'], 'name': ['Tree Measures Approved and Garage Sale Signs Considered'], 'content': [{'html': '<small>The South Pasadena Review, December 10, 1997</small>\n\nTrees were again featured at last Wednesday\'s South Pasadena City Council meeting, with the adoption of an ordinance removing restrictions on the trimming of certain trees on private property, and designating responsibility for trees on public property to the Public Works Department.\n\nAn Administrative Policy relating to street tree replacement and maintenance was also approved, with an amendment suggested by Councilmember Dorothy Cohen which would include park trees as well as street trees. Also approved was a resolution identifying Southern California Native Tree Species.\n\nThe tree trimming ordinance revises Chapter 34 of the South Pasadena Municipal Code so that the trimming of trees on private property is deregulated, with the exception of heritage trees, mature oak trees and mature native trees.\n\nA permit must also be obtained for the trimming or pruning more than twenty percent of live foliage or limbs of any heritage tree within the city.\n\nIt is unlawful for any mature or significant tree to be transplanted or removed from the front yard of private property, and it is now unlawful for any heritage tree, oak tree or native species tree to be transplanted or removed from *any* location within the city without a permit from the city.\n\nResidents who have questions about the status of trees on their properties should check with the city before proceeding with removal or trimming of trees.\n\nNorma LeValley, REVIEW co-editor, and a member of the Board of Directors of South Pasadena Beautiful, was commended by Director of Public Works James Van Winkle for providing her expertise in evaluating trees and standards.\n\nIn the past, attempts to have South Pasadena designated a "Tree City USA" through the National Arbor Day Foundation have been denied because the existing ordinance did not define responsibility for management of city trees on public property. LeValley and South Pasadena Beautiful have been assisting the city with what should now be a successful application.\n\nDr Van Winkle added that LeValley and South Pasadena Beautiful are also assisting the city in establishing an inventory of significant trees in South Pasadena.\n\n*...article continues with garage sale and park discussions...*\n\n[original article](/media/PAVg.pdf)\n'}], 'updated': [DateTime(2024, 9, 5, 16, 36, 9, 980971, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 5, 1, 27, 19, 665855, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/resolutions', '/2024/09/05/kh'], 'type': ['entry'], 'name': ['Resolutions'], 'content': [{'html': '[Index of 1&ndash;7557 (1889&ndash;2018)](/media/R23Y.pdf)\n'}], 'updated': [DateTime(2024, 9, 7, 18, 49, 55, 594027, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 5, 1, 26, 5, 901561, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/ordinances', '/2024/09/05/7u'], 'type': ['entry'], 'name': ['Ordinances'], 'content': [{'html': '[Original Index of 646&ndash;2330 (1924&ndash;2019)](/media/DdR2.pdf)\n\n$ ordinances = {\n$ "646": ("08/25/1924", "..."),\n$ }\n\n<table style="font-family:Ubuntu mono">\n$for ordinance_number, (ordinance_date, ordinance_title) in ordinances.items():\n <tr>\n <th style=text-align:right;vertical-align:top>$ordinance_number\n <td style="padding:0 1em;vertical-align:top">$ordinance_date\n <td>$ordinance_title\n</table>\n'}], 'updated': [DateTime(2024, 9, 6, 20, 38, 42, 173668, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 4, 17, 58, 37, 626342, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/tree-history/tree-city-usa', '/2024/09/05/ue'], 'type': ['entry'], 'name': ['Tree City USA'], 'content': [{'html': 'By Norma LeValley\n\n![oak](/media/xm2q.png)\n\nAlmost 150 years ago, J. Sterling Morton brought his young bride to the newly established Nebraska Territory, where he had been offered a job as editor of the *Nebraska City News*.\n\nAs the town grew and became prosperous, so did the Mortons. Mr. Morton became a speaker, businessman, farmer and writer. He was concerned about the "treeless prairie" and realized the need for trees to build new homes in order to encourage settlers to move westward. Orchards had to be planted to feed them and trees to provide shelter and soften the hardships they would have to face.\n\nOn January 4, 1872, he appeared before the Nebraska State Board of Agriculture, requesting to establish a special day for tree planting to be called "Arbor Day." His request was approved and more than one million trees were planted in Nebraska on that first Arbor Day, April 10, 1872.\n\nTwenty-six years later, a small group of women in a young city in California organized a Woman\'s Improvement Association and, as its first project, cleared trash from around the cluttered Santa Fe depot. Wanting trees planted, the women advertised, "Free lunch in exchange for work." At the end of the day, South Pasadena had its first tree-lined park.\n\nBack in Nebraska, Morton\'s Arbor Day Farm was enlarged, planted with orchards by his four sons, and given to the State of Nebraska. In 1976, it became a National Historic Landmark and the responsibility of The National Arbor Day Foundation.\n\nThis spring, after more than two years of the combined efforts of city staff and local residents, South Pasadena will officially be designated by The National Arbor Day Foundation as being a Tree City USA.\n\nIn order to become a Tree City USA, four standards must be met and approved by a regional forestry service and then by the Nebraska-based National Arbor Day Foundation.\n\nThe first requirement was to have an organization or city department with legal status to implement an annual work plan to care for the community trees. A local tree ordinance that promoted the tree-care policies for planting, maintaining and preserving trees was the second standard. Such an ordinance included a list of recommended street tree species for specific locations.\n\nA community forestry program with an annual budget of at least $2 per capita was the third standard and the fourth requirement was to have an Arbor Day Observation and Proclamation each year.\n\nDuring 1997, the Department of Public Works worked with the City Council to update the previous Tree Ordinance and to write a more specific Tree Policy.\n\nWhile the presentation of an honorary plaque, the awarding of the official Tree City USA flag to fly above City Hall and the special highway signs at the entrance to the City are tangible forms of recognition, the real advantages are in the awareness that they generate.\n\nBeing a Tree City USA provides a network of other communities, more than 2000 at the latest count, for help in improving each city\'s tree maintenance and preservation program. The local Department of Forestry is available for additional assistance and to answer any tree related questions.\n\nCorrespondence classes and conference seminars provide additional training and award winning kits of videos, posters, plays, pamphlets and seeds will be introduced to elementary school classes, courtesy of South Pasadena Beautiful.\n\n![fig](/media/d1_r.png)\n\nToday, thanks to J. Sterling Morton and The National Arbor Day Foundation, each of the 50 states celebrates Arbor Day.\n\nUnlike most states, instead of having one Arbor Day, California designates an Arbor Week, this year from March 7 - 14. The week may well be extended in South Pasadena during 1998 as the city celebrates its first Arbor Year as a Tree City USA.\n\n[Original Article](/media/d6am.pdf)\n'}], 'updated': [DateTime(2024, 9, 4, 18, 39, 2, 216545, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 4, 17, 18, 50, 735383, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/tree-history/story-of-south-pasadenas-tree-heritage', '/2024/09/05/wu'], 'type': ['entry'], 'name': ["The Story of South Pasadena's Tree Heritage"], 'content': [{'html': 'By Rick Thomas \n<small>The Quarterly Magazine, Spring 2017</small>\n\n![city of trees](/media/3beU.png)\n\n<small>The first tree planting of 1,000 trees (1894).</small>\n\nSouth Pasadena is a small city. Truth be told, it\'s more like a town in many ways than a "real city." Our residents support the police and fire departments, public library, and schools -- one of the best public school districts in the San Gabriel Valley.\n\nBut what makes this place truly special are its people. The sun brought us here and kept us planted. Speaking of planting, one story I\'d like to share with you began over one hundred years ago. And it has given South Pasadena its most enduring heritage.\n\n### The First Tree Planting\n\nAround 125 years ago, the only trees that covered our fledgling city were citrus groves. The first visitors spent their winters at the valley\'s first resort hotel, The Raymond. Then came the land boom of the late 1880s, causing property values to skyrocket. The local orange groves gave way to neighborhoods, streets, and home sites. Thus, South Pasadena\'s rich heritage as the "City of Trees" was about to be born.\n\nOn April 24, 1894, our town folk gathered out front of the newspaper office, The South Pasadenan. The men arrived with shovels and picks. They planted 1,000 shade trees in a single day. The trees were donated by Horatio Nelson Rust from his family-run Rust Nursery in town. Members of the Woman\'s Improvement Association also gathered to clean up the area around the Santa Fe depot (near South Pasadena\'s Gold Line Station today). The local paper noted, "the women with their own hands planted trees and made a park."\n\n### The First Fighters\n\n![first fighters](/media/TVF9.png)\n\n<small>First "fighters" gather to protect a 200-year-old South Pasadena oak tree (about 1950).</small>\n\nBefore city residents were known as freeway fighters, they earned their chops fighting the city to protect its trees. On August 18, 1950, South Pasadena citizens made national headlines when they created a human blockade on Edgewood Drive to save a 200-year-old oak tree from removal by the city. They gained support from around the country when they defied the city shouting, "Do not take this tree!", carrying brooms and armed with rolling pins. They would not budge until the city agreed to spare the precious oak.\n\n### Tree Nazis\n\nIf you were a fan of the Jerry Seinfeld Show in the 1990s, you are familiar with the recurring character "Soup Nazi": A fussy cook with the best soup in the city and a well-deserved reputation for remaining true to his ruthless vision of what soup should be and how his patrons must behave. O.K., so he pissed people off, but his customers always came back.\n\nSouth Pasadena\'s Natural Resources commissioners are the "Tree Nazis" of our city. I should know, I once served on the commission. The most important duty as commissioner was saving our trees and enhancing the city\'s "urban forest." We regularly listened to requests for tree removal by homeowners and developers, like the couple who wanted to cut down their palm tree because the parrots screeched loudly in the palm leaves. We all felt sorry for the sleepless people, especially because the palm\'s crown was at window-level of their master bedroom. We booted that one to the city\'s Animal Commission.\n\nA ridiculous request I remember was a homeowner who asked permission to remove a jacaranda tree because it obscured their balcony view of the annual fireworks show at the high school sports field. She even brought her children to our meeting as witnesses. It didn\'t matter, we always listened patiently, and ended up saying "no." If the tree was healthy, it lived to see another day.\n\nWe denied request after request, even if the homeowner offered to pay the city for the cost of planting additional trees elsewhere. One homeowner offered to pay expenses for planting five trees – any type, anywhere in the city – in exchange for permission to remove the one massive sycamore tree that clearly was too big for his home lot. It hung over his roof like The Leaning Tower of Pizza. We denied his request, of course. Then he offered ten trees. Our answer was the same.\n\nThere was only one tree we ever gave our blessing to remove. A nursery which specializes in mature rare trees, said it was worth $25,000 and offered to remove it without charge. They promised it would be well cared for: placed into their private stock to be planted at a later date on a commercial site where such trees are treasured.\n\n### The City\'s Urban Forest\n\n![growth of the forest](/media/xzze.png)\n\n<small>The growth of trees in South Pasadena has been vest over the years. The above photos show the increase from 1895, 1907, and 1922.</small>\n\nIn 1922, the Security Pacific Bank published a booklet about the history of South Pasadena that was given to bank members. A two-page spread of three panoramic views of South Pasadena taken from Monterey Hills showed the dramatic tree growth over a span of nearly 30 years from 1895 to 1922. The bottom caption reads: "The growth of trees has been so great as to almost obscure the fact the whole valley is now filled with homes."\n\nFrom the city\'s water tower on Monterey Hills today, there is only one house completely visible in the foreground. A variety of trees is seen, including palm, elm, oak, eucalyptus, magnolia, pepper, cypress, jacaranda, and pine. The two major streets of Fremont and Fair Oaks are only identifiable because of two large towers sticking up through the tree canopy: The Holy Family Church (Fremont Avenue) and South Pasadena Middle School (Fair Oaks Avenue). The neighborhood surrounding the middle school is shrouded in a dense tree-scape known as the city\'s "urban forest."\n\n### A Unique and Unifying Experience\n\nWhether it\'s the magnificent mature palms on Stratford Avenue, the Morton Fig at Library Park, or the jungle-like tree cover and screeching parrots on Diamond Avenue, neighborhoods acquire their own unique character from the trees that line their streets.\n\nSouth Pasadena\'s love of trees is also a unifying experience that can be enjoyed by motorists and pedestrians alike. Residents call it "purple rain" when the jacaranda blossoms fall like rain covering the street, front yards, cars, and people as they walk along the sidewalks on Marengo Avenue. During the height of the jacaranda tree blossoms, motorists say it feels like they are traveling through a purple tunnel.\n\nIn South Pasadena, we believe that our love of trees brings us together. We are a small-town family of tree huggers. The city\'s Tree Policy is like our religion.\n\n[Original Article](media/6UBa.pdf)\n'}], 'updated': [DateTime(2024, 9, 5, 0, 4, 51, 478995, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 9, 4, 16, 47, 50, 174669, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/tree-history', '/2024/09/04/kr'], 'type': ['entry'], 'name': ['Tree History'], 'content': [{'html': '## 1983\n\n### Ordinance 1852 Establishing a Natural Resources Commission\n\n> Ordinance No. 1852 entitled: AN ORDINANCE OF THE CITY OF SOUTH PASADENA ESTABLISHING A NATURAL RESOURCES COMMISSION was given a second reading by title only and unanimously adopted.\n\n## 1997\n\n[11/19/97 City Council Meeting Minutes](/media/5fyJ.pdf)\n\n### Proposed Ordinance Removing Some Restriction on Trimming Trees on Private Property (First Reading)\n\n> Public Works Director Van Winkle gave a presentation on the proposed ordinance which would remove several restrictions on trimming trees on private property. The proposed ordinance removing restrictions on the trimming of certain private property trees, defining the list of native species trees and designating the Public Works Department as responsible for the management of trees on public property was introduced for first reading.\n\n> After reading the title, AN ORDINANCE OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, CALIFORNIA, REVISING CHAPTER 34 - "TREES AND SHRUBS" OF THE SOUTH PASADENA MUNICIPAL CODE, further reading was unanimously waived.\n\n[12/03/97 City Council Meeting Minutes](/media/Ar6D.pdf)\n\n### Resolution No. 6509 Regarding the Designation of Southern California Native Tree Species (p. 124) &\n\n> Resolution No. 6509, entitled A RESOLUTION OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, COUNTY OF LOS ANGELES, STATE OF CALIFORNIA, ESTABLISHING A LIST OF PROTECTED NATIVE TREE SPECIES was adoped by roll call vote (4 ayes).\n\n[Full text of Resolution 6509](/media/Zzue.pdf)\n\n### Ordinance No. 2051 Revising Chapter 34 (Trees and Shrubs) of the City\'s Municipal Code (p. 125) &\n\n> Ordinance No. 2051, entitled AN ORDINANCE OF THE CITY COUNCIL OF SOUTH PASADENA, CALIFORNIA, REVISING CHAPTER 34 - "TREES AND SHRUBS" OF THE SOUTH PASADENA MUNICIPAL CODE was adopted by a roll call vote (4 ayes). This ordinance removes restrictions on the trimming of certain private property trees and designating the Public Works Department as responsible for the management of trees on public property.\n\n[Full text of Ordinance 2051](/media/82PH.pdf)\n\n### Public Tree Maintenance Policy (p. 125) &\n\n> At the request of the City Council, the Public Works Department developed a written policy for the planting and maintenance of public trees. The Council approved the Public Tree Management Policy with amendments on a roll call vote (4 ayes).\n\n<a href=/south-pasadena/tree-history/tree-measures-approved-and-garage-sale-signs-considered><em>Tree Measures Approved and Garage Sale Signs Considered</em></a><br>\n<small>The South Pasadena Review, December 1997</small>\n\n## 1998\n\n[03/04/98 & 03/18/98 City Counil Meeting Minutes](/media/_vpr.pdf)\n\n### Proclamation "National Arbor Week"\n\n> The Mayor proclaimed March 7-14, 1998 as "National Arbor Week" and presented the proclamation to Norma LeValley and Ricki de Kramer of South Pasadena Beautiful.\n\n### Tree City U.S.A. Presentation\n\n> Mayor Zee announced the City of South Pasadena was named 1997 Tree City USA. Kevin Johnson, deputy forester for the Department of Forestry representing the Arbor Day Foundation presented the Tree City U.S.A. flag to Norma LeValley of South Pasadena Beautiful.\n\n<p><em><a href=/south-pasadena/tree-history/city-presented-with-tree-city-flag--710-marchers-praised>City Presented with Tree City Flag; 710 Marchers Praised</a></em><br><small>The South Pasadena Review, March 1998</small>\n\n<p><em><a href=/south-pasadena/tree-history/tree-city-usa>Tree City USA</a></em><br><small>By Norma LeValley<br>The Quarterly Magazine, Spring 1998</small>\n\n## 1999-2014\n\n[NREC Meeting Minutes 1999-2014](/media/B_qg.pdf)\n\n## 2007\n\nTODO acquire city council minutes for O-2160\n\n[Full text of Ordinance 2160](/media/3u1h.pdf)\n\n## 2016- &\n\n<big>[Current Natural Resources and Environmental Commission](https://www.southpasadenaca.gov/Your-Government/Boards-Commissions/Natural-Resources-and-Environmental-Commission)</big>\n\n## 2017\n\n<em><a href=/south-pasadena/tree-history/story-of-south-pasadenas-tree-heritage>The Story of South Pasadena\'s Tree Heritage</a></em><br><small>By Rick Thomas<br>The Quarterly Magazine, Spring 2017</small>\n\n---\n\n#### TODO\n\n735, 05/14/1930 -- AN ORDINANCE OF THE CITY OF SOUTH PASADENA AMENDINGING ORDINANCE NO. 656 OF THE CIYT OF SOUTH PASADENA REGULATING THE PLANTING OF ORNAMENTAL STREET TREES BY AMENDING SECTION 1 AND SECTION 8 THEREOF.\n\n842, 05/28/1941 -- AN ORDINANCE OF THE CITY OF SOUTH PASADENA REGULATING THE PLANTING, CARE, AND REPLACEMENT OF SHADE AND ORNAMENTAL TREES AND SHRUBS IN AND ALONG THE PUBLIC STREETS OF SAID CITY.\n\n2126, 02/04/2004 -- AN ORDINANCE OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, CALIFORNIA, AMENDING SECTION 2.73A-9 AND CHAPTER 34 OF THE SOUTH PASADENA MUNICIPAL CODE RELATION TO TREE PRESERVATION.\n\n2188, 06/17/2009 -- AN ORDINANCE OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, CALIFORNIA, AMENDING CHAPTER 34 RELATING TO THE ISSUANCE OF TREE REMOVAL PERMITS\n\n2191, 10/07/2009 -- AN ORDINANCE OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, CALIFORNIA, AMENDING CHAPTER 24 RELATING TO THE ISSUANCE OF TREE REMOVAL PERMITS\n\n2237, 10/17/2012 -- AN ORDINANCE OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, CALIFORNIA, AMENDING CHAPTER 34 (TREES AND SHRUBS), ADDING: SECTION 34.7.5 RELATED TO REPLACEMENT TREES; AMENDING SECTION 34.1 (DEFINITIONS); AMENDING SECTION 34.12 (PENALTIES); AMENDING SECTION 34.3 (VIOLATIONS); AND AMENDING CHAPTER 36 (ZONING) WITH THE ADDITION OF SUB SUBSECTIONS "I - IV" TO SECTION 36.410.020(B)(1)(A)(2) (PLANNING CLEARANCES REQUIRED) OF THE SOUTH PASADENA MUNICIPAL CODE RELATING TO PENALTIES FOR THE UNLAWFUL REMOVAL, RELOCATION, AND TRIMMING OF PROTECTED TREES IN THE CITY OF SOUTH PASADENA\n\n2328, 02/06/2019 -- AN ORDINANCE OF THE CITY COUNCIL OF THE CITY OF SOUTH PASADENA, CALIFORNIA AMENDING CHAPTER 34 ("TREES AND SHRUBS") AND AMENDING SECTION 36.410.020 ("PLANNING CLEARANCES") OF CHAPTER 36 ("ZONING") FOR CONSISTENCY WITH CHAPTER 34 ("TREES AND SHRUBS")\n'}], 'updated': [DateTime(2024, 9, 6, 13, 48, 52, 926852, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 31, 15, 56, 45, 282968, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/books/the-urban-forest', '/2024/08/31/qs'], 'type': ['entry'], 'name': ['The Urban Forest : Comprehensive Management'], 'content': [{'html': 'Gene W. Grey\n\n<small>John Wiley & Sons, 1996</small>\n\n### Dedication\n\n> To Jim Nighswonger, who taught me that urban forestry is not only a science but also an art\n'}], 'updated': [DateTime(2024, 9, 7, 18, 15, 17, 253610, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 30, 16, 18, 48, 55048, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/urban-forestry', '/2024/08/30/2q'], 'type': ['entry'], 'name': ['Urban Forestry'], 'content': [{'html': '## South Pasadena\n\n### Municipal Code - Chapter 34: Trees and Shrubs\n\n<p><a href=https://www.codepublishing.com/CA/SouthPasadena/#!/SouthPasadena34.html>current (2019-)</a><br>\n<a href=https://web.archive.org/web/20180205035028/https://www.codepublishing.com/CA/SouthPasadena/#!/SouthPasadena34.html>previous (-2019)</a>\n\n## Books\n\n[The Urban Forest: Comprehensive Management](/books/the-urban-forest) \n[Urban Forestry](/books/urban-forestry)\n'}], 'updated': [DateTime(2024, 9, 7, 18, 16, 46, 50595, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 28, 19, 12, 47, 751912, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/eggs', '/2024/08/29/8d'], 'type': ['entry'], 'name': ['Eggs'], 'content': [{'html': '![Basket of Easter Egg](/media/ELi6.jpg)\n'}], 'updated': [DateTime(2024, 9, 30, 20, 20, 29, 293340, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 15, 19, 26, 1, 814125, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/Toxicodendron-diversilobum', '/poison-oak', '/2024/08/16/cd'], 'type': ['entry'], 'featured': ['/media/Bkdw.jpg'], 'name': ['Toxicodendron Diversilobum'], 'content': [{'html': '$ common_name = "Pacific Poison Oak"\n\n$common_name\n\n## Removal\n\n***DO NOT MOW, WHACK OR BURN.***\n\nWear boots, long pants, long sleeved shirt and [[rubber latex double coated gloves]].\n\nUse [[garden shears]] to remove the above ground vines. Pick up and remove fallen, desicated leaves. Use a [[mattock]] to unearth and remove the roots.\n\nThrow plant parts and gloves directly into trash bag, seal tightly and place into trash can.\n\nPlace pants and shirt in an empty washing machine.\n\nWash the garden shears and mattock with rubbing alcohol and then dish soap.\n\nWash hands and forearms with a rubbing alcohol soaked washcloth. Use friction to wipe all skin surfaces (see https://youtu.be/4oyoDRHpQK0 for visual instructions). Follow up by washing with dish soap twice.\n\nRepeat with your face carefully avoiding dripping any liquids in your eyes.\n\nUse several washcloths as necessary. Place washcloths in washing machine.\n\nTake a shower, shampoo your hair and use a pair of exfoliating gloves to gently scrub your face and entire body.\n\nAdd the exfoliating gloves to the washing machine. Add 1/2 cup vinegar to the fabric softener dispenser along with normal detergent as usual and start the wash.\n\n## Allergic Reaction Onset\n\nThe rash usually appears within 3 days of the exposure to the oil, but the time frame can vary significantly. The more sensitive a person is to urishiol, the faster the rash may appear.\n\nSensitivity and the risk of a reaction increases with age and repeated exposure.\n\n*No previous exposure*: typically takes 2 to 3 weeks\n\n*Previous exposure*: usually appears within 4 to 48 hours\n\n### Itch Relief\n\nCeraVe "Itch Relief Moisturizing Lotion" with *1% Pramoxine Hydrochloride*\n'}], 'updated': [DateTime(2024, 11, 1, 17, 23, 17, 566810, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['/code/projects/webint'], 'name': ["can't type letters with w, a, s, or d"], 'content': ["i cn't type thoe letter :("], 'visibility': ['public'], 'published': [DateTime(2024, 8, 14, 20, 27, 46, 324797, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/issues/3', '/2024/08/15/2m'], 'type': ['entry'], 'updated': [DateTime(2024, 8, 14, 20, 27, 46, 324797, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/08/homebrew-website-club-pacific-SKUNaesxx2pP'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 8, 14, 19, 4, 59, 489326, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/08/15/82'], 'type': ['entry'], 'updated': [DateTime(2024, 8, 14, 19, 4, 59, 489326, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 13, 13, 53, 19, 695270, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/music/video-game', '/2024/08/13/xe'], 'type': ['entry'], 'name': ['Video Game Music'], 'content': [{'html': "## Xemogasa - Sapphire Eyes\n\n<ul><li>https://www.smwcentral.net/?p=section&a=details&id=28261\n\n## Sonic the Hedgehog - Green Hill Zone\n\n### ChipTunes\n\n- https://www.smwcentral.net/?p=section&a=details&id=23576\n- https://www.smwcentral.net/?p=section&a=details&id=23409\n- https://www.smwcentral.net/?p=section&a=details&id=22626\n\n## Donkey Kong Country 2: Diddy's Kong Quest - Stickerbush Symphony\n\n- https://www.smwcentral.net/?p=section&a=details&id=31794\n- https://www.smwcentral.net/?p=section&a=details&id=17617\n\n## DuckTales - The Moon\n\n### ChipTunes\n\n- https://www.smwcentral.net/?p=section&a=details&id=31049\n- https://www.smwcentral.net/?p=section&a=details&id=11129\n- https://www.smwcentral.net/?p=section&a=details&id=7494\n\n### Piano\n\n<ul><li>https://www.youtube.com/watch?v=WbeEDE4XMEc\n\n### Remastered\n\n- https://www.youtube.com/watch?v=fnOv8MvTukQ\n- https://www.youtube.com/watch?v=YHEifuLCSIY\n\n## Goldeneye 007 - Mission Status\n\nhttps://www.youtube.com/watch?v=1MTVgPcYmVQ\n"}], 'updated': [DateTime(2024, 8, 13, 14, 26, 51, 882788, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 13, 13, 36, 53, 254714, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena', '/2024/08/13/uu'], 'type': ['entry'], 'name': ['South Pasadena'], 'content': [{'html': '[Tree History](/south-pasadena/tree-history)\n\n## Organizations\n\n[South Pasadena Preservation Foundation](https://sppreservation.org/) \n[South Pasadena Beautiful](https://southpasbeautiful.org/)\n\n## Government\n\n[Ordinances](/south-pasadena/ordinances) \n[Resolutions](/south-pasadena/resolutions)\n\n### Phone Numbers\n\n$ numbers = {\n$ "Athens Disposal": "888-336-6100",\n$ "Building and Planning": "626-403-7220",\n$ "City Manager\'s Office": "626-403-7220",\n$ "Code Enforcement": "626-403-7225",\n$ "Fire Department (Business)": "626-403-7300",\n$ "Filming/Movie Permits": "626-403-7263",\n$ "Grafitti Hotline (24 hrs)": "626-403-7249",\n$ "Huntington Memorial Hospital": "626-397-5000",\n$ "Library": "626-403-7380",\n$ "Parks and Recreation": "626-403-7380",\n$ "Pasadena Humane Society": "626-792-7151",\n$ "Police (Non-emergency)": "626-403-7297",\n$ "Police (Business)": "626-403-7270",\n$ "Police (Watch Commander)": "626-403-7265",\n$ "Public Works": "626-403-7240",\n$ "School District": "626-441-5810",\n$ "Southern California Edison": "800-655-4555",\n$ "Southern California Gas": "877-238-0092",\n$ "Water Department": "626-403-7370",\n$ }\n\n<table>\n$for department, number in numbers.items():\n <tr><td>$department<td><small><code><a href=tel:$number>$number</a></code></small>\n</table>\n\n$ pages = {\n$ "": "",\n$ }\n\n$ days = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")\n\n## Locations\n\n$ stores = {\n$ "UPS Store 944": (\n$ "1107 Fair Oaks Ave",\n$ "626-799-4589",\n$ (\n$ "0900-1900",\n$ "0900-1900",\n$ "0900-1900",\n$ "0900-1900",\n$ "0900-1900",\n$ "0900-1700",\n$ "1100-1600",\n$ )\n$ ),\n$ "FedEx Office": (\n$ "460 Fair Oaks Ave",\n$ "626-403-6690",\n$ (\n$ "1000-1800",\n$ "0800-2000",\n$ "0800-2000",\n$ "0800-2000",\n$ "0800-2000",\n$ "0900-1800",\n$ "1200-1800",\n$ )\n$ ),\n$ "Ace Hardware": (\n$ "452 Fair Oaks Ave",\n$ "626-817-7690",\n$ (\n$ "0700-2000",\n$ "0700-2000",\n$ "0700-2000",\n$ "0700-2000",\n$ "0700-2000",\n$ "0700-2000",\n$ "0800-1800",\n$ )\n$ ),\n$ "Pavilions": (\n$ "1213 Fair Oaks Ave",\n$ "626-799-2261",\n$ (\n$ "0600-2300",\n$ "0600-2300",\n$ "0600-2300",\n$ "0600-2300",\n$ "0600-2300",\n$ "0600-2300",\n$ "0600-2300",\n$ )\n$ ),\n$ "Trader Joe\'s": (\n$ "613 Mission St",\n$ "626-441-6263",\n$ (\n$ "0800-2100",\n$ "0800-2100",\n$ "0800-2100",\n$ "0800-2100",\n$ "0800-2100",\n$ "0800-2100",\n$ "0800-2100",\n$ )\n$ ),\n$ "Public Library": (\n$ "1100 Oxley Street",\n$ "626-403-7330",\n$ (\n$ "1000-1800",\n$ "1000-2000",\n$ "1000-2000",\n$ "1000-2000",\n$ "1000-1800",\n$ "1000-1800",\n$ "1300-1700",\n$ )\n$ ),\n$ "City Hall": (\n$ "1414 Mission Street",\n$ "",\n$ (\n$ "0730-1800",\n$ "0730-1800",\n$ "0730-1800",\n$ "0730-1800",\n$ "",\n$ "",\n$ "",\n$ )\n$ ),\n$ "Post Office": (\n$ "1001 Fremont",\n$ "800-275-8777",\n$ (\n$ "1000-1730",\n$ "1000-1730",\n$ "1000-1730",\n$ "1000-1730",\n$ "1000-1730",\n$ "1000-1500",\n$ "",\n$ )\n$ ),\n$ "Rite Aid": (\n$ "914 Fair Oaks Ave",\n$ "626-441-3702",\n$ (\n$ "0700-2200",\n$ "0700-2200",\n$ "0700-2200",\n$ "0700-2200",\n$ "0700-2200",\n$ "0800-2200",\n$ "0700-2200",\n$ )\n$ ),\n$ }\n\n$ {\n$ "": (\n$ "",\n$ "",\n$ (\n$ "",\n$ )\n$ ),\n$ }\n\nBristol Farms\n\nFair Oaks Pharmacy\nGriffins of Kinsale\nHi-Life Burgers\nKaldi Coffee & Tea\nJones Coffee\nLost Parrot Cafe\nFiore Market & Cafe\n\nFarmer\'s Market\nCommunity Garden\n\nNature Park\nGolf Course\nRacquet Club\nDog Park\nSkate Park\n\nArroyo Park\nOrange Grove Park\nGarfield Park\n\nArroyo Seco Stables\nSan Pascual Stables\n\nWar Memorial Building\n\nGarfield/Marengo Elementary\nMiddle School\nHigh School\n\n$for store_name, (store_address, store_number, store_hours) in stores.items():\n ### $store_name\n\n <a href=tel:$store_number.replace("-", "")><small>$store_number</small></a>\n\n <table>\n $for day, store_hour in enumerate(store_hours):\n <tr><th style=text-align:left;>$days[day]\n $if store_hour:\n <td style=text-align:right;width:7em><code>$pendulum.from_format(store_hour.partition("-")[0], "HHmm").format("h:mm A")</code><td style=text-align:right;width:7em><code>$pendulum.from_format(store_hour.partition("-")[2], "HHmm").format("h:mm A")</code>\n $else:\n <td colspan=2 style=text-align:right;width:14em>closed\n </table>\n \n'}], 'updated': [DateTime(2024, 9, 5, 16, 4, 28, 984015, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 9, 7, 44, 36, 578331, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/humans', '/2024/08/09/hk'], 'type': ['entry'], 'name': ['Humans'], 'content': [{'html': 'Lists of personal websites and their authenticity.\n\n$code:\n def urlify(url):\n if not url.startswith("http://"):\n url = f"https://{url}"\n return url\n\n$ mets = {\n$ "Brent Goldman": "www.brentgoldman.com",\n$ "Tracy Durnell": "tracydurnell.com",\n$ "Maxwell Joslyn": "maxwelljoslyn.com",\n$ "David Shanske": "david.shanske.com",\n$ "Benji": "benji.dog",\n$ "James": "jamesg.blog",\n$ "Pablo Morales": "lifeofpablo.com",\n$ "Nick Simson": "nicksimson.com",\n$ "Rosalina Saige": "catgirlin.space",\n$ "Tantek Celik": "tantek.com",\n$ "Joe Crawford": "artlung.com",\n$ "Anthony Ciccarello": "ciccarello.me",\n$ "Aaron Parecki": "aaronparecki.com",\n$ "Jo": "dead.garden",\n$ "Mark Sutherland": "marksuth.dev",\n$ "Reilly Spitzfaden": "reillyspitzfaden.com",\n$ "Ryan Barrett": "snarfed.org",\n$ "Johannes Ernst": "j12t.org",\n$ "Evan Prodromou": "evanp.me",\n$ "Emelia Smith": "brandedcode.com",\n$ "Benjamin Goering": "bengo.is",\n$ "Michael Toomim": "toomim.us",\n$ "Seph Gentle": "josephg.com",\n$ "Cory Doctorow": "pluralistic.net",\n$ "Adam Conover": "adamconover.net",\n$ }\n\n$ unmets = {\n$ "Richard Stallman": "stallman.org",\n$ "Molly White": "mollywhite.net",\n$ "Leo Laporte": "leo.fm",\n$ "Paris Martineau": "parismartineau.com",\n$ "John Gruber": "daringfireball.net",\n$ "Eric Meyer": "meyerweb.com",\n$ "Matt Mullenweg": "ma.tt",\n$ "Steve Bate": "stevebate.net",\n$ "Amy Guy": "rhiaro.co.uk",\n$ "Brian Krebs": "krebsonsecurity.com",\n$ "Vinny Troia": "vinnytroia.com",\n$ "Joe Rogan": "joerogan.com",\n$ "Tony Hinchcliffe": "tonyhinchcliffe.com",\n$ "Louis C.K.": "louisck.com",\n$ "Sam Morril": "sammorril.com",\n$ "Joe List": "comedianjoelist.com",\n$ "Stavros Halkias": "stavvy.biz",\n$ "Ari Matti": "arimatti.com",\n$ "Barack Obama": "barackobama.com",\n$ "Joe Biden": "joebiden.com",\n$ "Donald Trump": "donaldjtrump.com",\n$ "Kamala Harris": "kamalaharris.com",\n$ "Taylor Swift": "taylorswift.com",\n$ "Beyonce": "beyonce.com",\n$ "Miley Cyrus": "mileycyrus.com",\n$ }\n\n## Humans I\'ve met\n\n<ul>\n$for met, met_url in mets.items():\n <li><a href=$urlify(met_url) rel=met>$met</a>\n</ul>\n\n## Humans I haven\'t met\n\n<ul>\n$for unmet, unmet_url in unmets.items():\n <li><a href=$urlify(unmet_url) rel=nofollow>$unmet</a>\n</ul>\n\n## Memorial Sites\n\n$ memorials = {\n$ "Aaron Swartz": "http://aaronsw.com",\n$ "Prince": "prince.com",\n$ }\n\n<ul>\n$for memorial, memorial_url in memorials.items():\n <li><a href=$urlify(memorial_url) rel=nofollow>$memorial</a>\n</ul>\n\n$ losts = {\n$ "Mark Gruber": "diveintomark.org",\n$ "Jay Graber": "jaygraber.com",\n$ "Dave Chappelle": "http://davechappelle.com",\n$ }\n\n$ zombies = {\n$ "Kyle Mahan": "kylewm.com",\n$ }\n\n## Lost [?](https://indieweb.org/lost_sites)\n\n<ul>\n$for lost, lost_url in losts.items():\n <li><a href=$urlify(lost_url) rel=nofollow>$lost</a>\n</ul>\n\n## Zombies [?](https://indieweb.org/zombie)\n\n<ul>\n$for zombie, zombie_url in zombies.items():\n <li><a href=$urlify(zombie_url) rel=nofollow>$zombie</a>\n</ul>\n\n## Notable people without a website\n\n$ notables = {\n$ "Mark Zuckerberg": "facebook.com/zuck",\n$ "Elon Musk": "x.com/elonmusk",\n$ }\n\n<ul>\n$for notable, notable_url in notables.items():\n <li><a href=$urlify(notable_url) rel=nofollow>$notable</a>\n</ul>\n'}], 'updated': [DateTime(2024, 8, 15, 20, 54, 23, 366930, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 6, 17, 54, 20, 37626, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/development/2019', '/2024/08/07/ay'], 'type': ['entry'], 'name': ['2019'], 'content': [{'html': '## Planning Commission\n\n#### 1-28\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/pc-agenda-012819.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_01_28.cfm)\n\n##### Continued Hearings\n\n- 325 Oaklawn Avenue (Appeal)\n- 815 Bank Street (Hillside Development Permit Modification)\n\n##### Public Hearings\n\n- 625 Fair Oaks Avenue (Conditional Use Permit/Design Review Board)\n- 817 Orange Grove Place (Appeal)\n- 1612 Spruce Street (Notice of Intent to Demolish/Design Review-Tentative Parcel Map)\n\n#### 2-25\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/022519-pc-agenda.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_02_25.cfm)\n\n##### Continued Hearings\n\n<ul><li>817 Orange Grove Place (Appeal)\n\n#### 3-25\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/032519-pc-agenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/pc-minutes-032519.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_03_25.cfm)\n\n##### Continued Hearings\n\n<ul><li>817 Orange Grove Place (Appeal)\n\n##### Public Hearings\n\n- 1337 Oak Hill Place (Hillside Development Permit)\n- 191 Monterey Road (Tentative Tract Map)\n- *Bank Street (Street Vacation)*\n\n#### 4-9\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/pc-agenda-040919.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/pc-minutes-040919.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_04_09.cfm)\n\n##### Continued Hearings\n\n- 817 Orange Grove Place (Appeal)\n- 1337 Oak Hill Place (Hillside Development Permit)\n\n##### Public Hearings\n\n<ul><li>1326 Fair Oaks Avenue (Administrative Use Permit)\n\n#### 5-14\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/051419-pc-agenda.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_05_14.cfm)\n\n##### Public Hearings\n\n- 420 El Coronado (Hillside Development Home Addition)\n- 1748 Camino Lindo (Hillside Development Home Addition)\n- 1935 Hanscom Drive (Hillside Development Home Addition)\n- *Zoning Code Amendment (Pre Development Plan Review)*\n\n[agenda (special meeting)](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/51419-special-meeting-agen.pdf)\n\n#### 7-9\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/070919-pc-agenda.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_07_09.cfm)\n\n##### Public Hearings\n\n- 728 Bonita Drive (Hillside Development Permit/Variance)\n- 1532 Indiana Avenue (Hillside Development Permit)\n- *Ordinance Amending Division 36.410 Zoning Approvals or Disapprovals of Article 4\nZoning Code of Title 36 of the So. Pas. Municipal Code to Establish a Predevelopment\nPlan Review*\n\n#### 8-13\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/081319-pc-agenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/signed-minutes-081319.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_08_13.cfm)\n\n##### Continued Hearings\n\n<ul><li>1532 Indiana Avenue (Hillside Development Permit)\n\n#### 9-10\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/091019-pc-agenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/signed-minutes-091019.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_09_10.cfm)\n\n##### Public Hearings\n\n<ul><li>220 Pasadena Avenue\n\n#### 10-24\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/102419-pc-agenda.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_10_24.cfm)\n\n##### Public Hearings\n\n<ul><li><em>Conditional Use Permit request for the establishment and operation of a 19,129 sq. ft. gym with extended hours of operation and ancillary uses in an existing 100,000 sq. ft. building located at 220 Pasadena Avenu</em>\n\n#### 12-10\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/planning-commission/121019-pc-agenda.pdf) / [video](http://www.spectrumstream.com/streaming/south_pasadena_pc/2019_12_10.cfm)\n\n##### Public Hearings\n\n- 831 Bank Street (Hillside Development Permit for facade modifications, a 93 sq. ft. single story addition, and a new deck at rear of an existing two story single-family home)\n- 226 Warwick Avenue (Hillside Development Permit and Variance for the development of a new 1,510 sq. ft. single-family residence)\n- 228 Warwick Avenue (Hillside Development Permit and Variance for development of a new 1,334 sq. ft. single-family residence)\n\n## Design Review Board\n\n#### 1-3\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/1319-drb-agenda-ii.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190103_drbminutes_offici.pdf)\n\n##### New\n\n<ul><li>1225 Via Del Rey\n\n##### Discussion\n\n<ul><li>1919 La Fremontia Street\n\n#### 2-7\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190207_drbagenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190207_drbminutes_offici.pdf)\n\n##### New\n\n- 1919 La Fremontia Street\n- 2024 Maycrest Ave\n\n#### 3-7\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/2019307_drbagenda_specialm.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190307_drb-minutes.pdf)\n\n##### New\n\n- 1422 Alhambra Road\n- 1326 Fair Oaks Avenue (Hi-Life Restaurant)\n- 621 Camino Cerrado\n\n##### Discussion\n\n- 1105-1115 Mission Street\n- 1675 Amberwood Drive\n\n#### 4-4\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190404_drbagenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190404_drbminutes_offici.pdf)\n\n##### Continued\n\n- 1422 Alhambra Road\n- 1326 Fair Oaks Avenue (Hi-Life Restaurant)\n\n#### 6-6\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/drb-agenda-060619.pdf)\n\n##### New\n\n- 902 Wolford Lane\n- 1215 Kolle Avenue\n\n#### 7-4\n\n**cancelled**\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/notice-of-cancellation-dr.pdf)\n\n#### 8-1\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/drb-agenda-80119.pdf)\n\n##### New\n\n- 1675 Amberwood Drive\n- 1412 Huntington Drive\n\n#### 9-5\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20190905_drbagenda.pdf)\n\n##### Continued\n\n<ul><li>1412 Huntington Drive\n\n##### New\n\n<ul><li>452 Fair Oaks Avenue\n\n#### 11-19\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/20191019_drbagenda.pdf)\n\n##### New\n\n- 630 Mission Street (a new non-illuminated sign on the west elevation of the office building)\n- 1212 Orange Grove (a 727 sq. ft. second story addition to the existing single-family house)\n- 822 Flores De Oro (a 477 sq. ft. second story addition to the existing house, conversion of an existing 664 sq. ft. carport into livable area, and construction of a new carport for two cars)\n\n#### 12-5\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/design-review-board/drb-agenda-20191205_.pdf)\n\n##### Continued\n\n- 630 Mission Street\n- 1212 Orange Grove\n- 822 Flores De Oro\n\n## Cultural Heritage Commission\n\n### 1-17\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/1172019-ag-revisedii.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/2019117_chcaction-minutes.pdf)\n\n### 2-21\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/2212019-agenda_revised.pdf)\n\n### 3-21\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/3212019-agenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/2019321-chc-minutes.pdf)\n\n### 4-18\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/20190418_chc_agenda.pdf)\n\n### 5-16\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/chc-agenda-51619.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/chc-minutes-051619.pdf)\n\n### 6-20\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/62019-chc-agenda.pdf) / [minutes](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/chc-minutes-062019.pdf)\n\n### 7-18\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/71819-chc-agenda.pdf)\n\n### 8-15\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/8152019-agenda.pdf)\n\n### 9-19\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/9192019-agenda.pdf)\n\n### 10-29\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/chc-20191029-agenda.pdf)\n\n### 11-21\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/20191121-agenda_revised.pdf)\n\n### 12-12\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/chc-agenda-121219.pdf)\n\n### 12-19\n\n[agenda](https://www.southpasadenaca.gov/files/assets/public/v/1/boards-and-commissions/documents/cultural-heritage-commission/12192019-agenda.pdf)\n'}], 'updated': [DateTime(2024, 8, 6, 21, 44, 19, 759855, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 6, 15, 52, 21, 91186, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/south-pasadena/development', '/2024/08/06/jm'], 'type': ['entry'], 'name': ['Development'], 'content': [{'html': '[2019](/south-pasadena/development/2019)\n'}], 'updated': [DateTime(2024, 8, 6, 21, 44, 47, 416670, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 8, 3, 22, 11, 25, 511663, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/vermicompost', '/2024/08/04/cj'], 'type': ['entry'], 'name': ['Vermicompost'], 'content': [{'html': '***Feeding the Worms*** \n<small>by Danusha Lameris</small>\n\n> Ever since I found out that earth worms have taste buds all over the delicate pink strings of their bodies, I pause dropping apple peels into the compost bin, imagine the dark, writhing ecstasy, the sweetness of apples permeating their pores. I offer beets and parsley, avocado, and melon, the feathery tops of carrots. \n> \n> I’d always thought theirs a menial life, eyeless and hidden, almost vulgar—though now, it seems, they bear a pleasure so sublime, so decadent, I want to contribute however I can, forgetting, a moment, my place on the menu.\n'}], 'updated': [DateTime(2024, 8, 3, 22, 14, 56, 983290, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 7, 31, 11, 28, 15, 929442, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/subscriptions', '/2024/07/31/em'], 'type': ['entry'], 'name': ['Subscriptions'], 'content': [{'html': '## Websites\n\n## Video\n\n### Nature\n\n- https://youtube.com/@arboristBlairGlenn\n- https://youtube.com/@CrimePaysButBotanyDoesnt\n- https://youtube.com/@sacramentofoodforest\n- https://youtube.com/@Hikingguy\n- https://youtube.com/@SwedishPlantguys\n- https://youtube.com/@jamesprigioni\n- https://youtube.com/@Selfsufficientme\n- https://youtube.com/@RobsAquaponics\n- https://youtube.com/@h4bats\n\n### News\n\n- https://youtube.com/@democracynow\n- https://youtube.com/@frontline\n- https://youtube.com/playlist?list=PL0tDb4jw6kPzyE27VRa8FyTt-RKK0SEI7 (Meet the Press)\n- https://youtube.com/@ThisWeekinGoogle\n- https://youtube.com/@cityofsouthpasadena5090\n\n### Comedy\n\n- https://youtube.com/@KillTony\n- https://youtube.com/@RoastBattle\n- https://youtube.com/@standupots\n- https://youtube.com/@sammorril\n- https://youtube.com/@JoeListComedy\n- https://youtube.com/@StavvyBaby\n\n### Music\n\n- https://youtube.com/@Fredagainagain\n- https://youtube.com/@itsmadeon\n- https://youtube.com/@boilerroom\n- https://youtube.com/@mynameishessam\n- https://youtube.com/@IAmKawehi\n\n### Gaming\n\n- https://youtube.com/@SummoningSalt (retro game documentaries)\n- https://youtube.com/@GrandPOOBear (SMW)\n- https://youtube.com/@BarbarousKing (SMW)\n- https://youtube.com/@AnnaCramling (Chess)\n\n### Podcasts\n\n- https://youtube.com/@joerogan\n- https://youtube.com/@TheAdamConover\n'}], 'updated': [DateTime(2024, 8, 4, 11, 3, 36, 23276, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/07/homebrew-website-club-europe-london-SREkOvgDDxsB'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 7, 30, 18, 14, 40, 900319, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/07/31/cr'], 'type': ['entry'], 'updated': [DateTime(2024, 7, 30, 18, 14, 40, 900319, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/07/homebrew-website-club-pacific-DsBjlAnfxEAp'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 7, 30, 16, 4, 37, 988394, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/07/30/ga'], 'type': ['entry'], 'updated': [DateTime(2024, 7, 30, 16, 4, 37, 988394, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['Night Tempo - Windy Summer (100% Pure Remastered)'], 'token': ['eLAE'], 'published': [DateTime(2024, 7, 26, 19, 47, 47, 101149, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/07/27/y3'], 'type': ['entry'], 'updated': [DateTime(2024, 7, 26, 19, 47, 47, 101149, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['Yelle - Que veux-tu (Madeon Remix) [Bonus Track]'], 'token': ['eLAE'], 'published': [DateTime(2024, 7, 25, 20, 19, 42, 815477, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/07/26/bz'], 'type': ['entry'], 'updated': [DateTime(2024, 7, 25, 20, 19, 42, 815477, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['Madeon - Pay No Mind (feat. Passion Pit)'], 'token': ['eLAE'], 'published': [DateTime(2024, 7, 19, 18, 5, 38, 242231, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/07/20/wc'], 'type': ['entry'], 'updated': [DateTime(2024, 7, 19, 18, 5, 38, 242231, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 7, 14, 16, 41, 40, 514237, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/117', '/2024/07/14/4b'], 'type': ['entry'], 'name': ['Lot 117'], 'content': [{'html': '16 acres, Altos de Monterey hillside\n\n$ native_plants = {\n$ "Quercus agrifolia": ("t", "Coast Live Oak", 40, 60),\n$ "‡ Quercus chrysolepis": ("t", "Canyon Live Oak", 50, 50),\n$ "‡ Pseudotsuga macrocarpa": ("t", "Bigcone Douglas-Fir", 80, 30),\n$ "‡ Quercus engelmannii": ("t", "Engelmann Oak", 40, 60),\n$ "‡ Quercus douglasii": ("t", "Blue Oak", 50, 60),\n$ "Juglans californica": ("t", "California Black Walnut", 40, 40),\n$ "‡ *Quercus lobata": ("t", "Valley Oak", 70, 60),\n$ "Pinus radiata": ("t", "Monterey Pine", 80, 40),\n$ "‡ Platanus racemosa": ("t", "California Sycamore", 100, 50),\n$ "‡ Populus fremontii": ("t", "Fremont Cottonwood", 60, 40),\n$ "‡ Adenostoma fasciculatum": ("S", "Chamise", 8, 8),\n$ "‡ Salvia mellifera": ("Hs", "Black Sage", 6, 6),\n$ "‡ Arctostaphylos glauca": ("S", "Bigberry Manzanita", 20, 15),\n$ "‡ Ceanothus spp.": ("S", "California Lilac", 15, 10),\n$ "‡ Cercis occidentalis": ("t", "Western Redbud", 20, 20),\n$ "Heteromeles arbutifolia": ("St", "California Holly, Toyon", 20, 15),\n$ "Rhamnus californica": ("St", "California Coffeeberry", 15, 10),\n$ "Rhus ovata": ("St", "Sugar Bush", 15, 15),\n$ "Prunus ilicifolia": ("St", "Hollyleaf Cherry", 20, 20),\n$ "Artemisia californica": ("Hs", "California Sagebrush", 5, 8),\n$ "Salvia apiana": ("Hs", "White Sage", 6, 6),\n$ "Nicotiana attenuata": ("H", "Ladies\' Tobacco", 3, 3),\n$ "Ericameria ericoides": ("S", "California Goldenbush", 4, 6),\n$ "Eriogonum fasciculatum": ("S", "California Buckwheat", 3, 4),\n$ "‡ Stipa pulchra": ("g", "Purple Needlegrass", 3, 3),\n$ "‡ Dendromecon rigida": ("S", "Bush Poppy", 8, 8),\n$ "‡ Sambucus nigra subsp. caerulea": ("t", "Blue Elderberry", 30, 20),\n$ "‡ Romneya coulteri": ("S", "Matilija Poppy", 8, 8),\n$ "‡ Vitis californica": ("v", "California Wild Grape", 20, 20),\n$ "Amorpha fruticosa": ("S", "Desert False Indigo", 10, 10),\n$ "‡ Baccharis pilularis": ("S", "Coyote Brush", 6, 6),\n$ "‡ Artemisia tridentata": ("S", "Big Sagebrush", 8, 8),\n$ "‡ Linum lewisii": ("H", "Blue Flax", 3, 2),\n$ "Toxicodendron diversilobum": ("S", "Pacific Poison Oak", 6, 6),\n$ "‡ Epilobium canum": ("Hs", "California Fuchsia", 3, 3),\n$ "Rhamnus ilicifolia": ("S", "Hollyleaf Redberry", 10, 8),\n$ "‡ Eriophyllum confertiflorum": ("Hs", "Golden Yarrow", 2, 3),\n$ "Croton setiger": ("h", "Dove Weed", 2, 3),\n$ "Helianthus annuus": ("h", "Common Sunflower", 6, 3),\n$ }\n\n$ native_animals = {\n$ "Canis latrans": ("m", "Coyote"),\n$ "Puma concolor": ("m", "Mountain Lion"),\n$ "Bubo virginianus": ("b", "Great Horned Owl"),\n$ "Tyto alba": ("b", "Barn Owl"),\n$ "Megascops kennicottii": ("b", "Western Screech-Owl"),\n$ "Crotalus oreganus": ("r", "Western Rattlesnake"),\n$ "Corvus corax": ("b", "Common Raven"),\n$ "Otospermophilus beecheyi": ("m", "California Ground Squirrel"),\n$ "Sciurus griseus": ("m", "Western Gray Squirrel"),\n$ "Thomomys bottae": ("m", "Botta\'s Pocket Gopher"),\n$ "Mephitis mephitis": ("m", "Striped Skunk"),\n$ "Procyon lotor": ("m", "Northern Raccoon"),\n$ "Calypte anna": ("b", "Anna\'s Hummingbird"),\n$ "Chamaea fasciata": ("b", "Wrentit"),\n$ "Odocoileus hemionus": ("m", "Mule Deer"),\n$ "Sialia mexicana": ("b", "Western Bluebird"),\n$ "Callipepla californica": ("b", "California Quail"),\n$ "Sylvilagus bachmani": ("m", "Brush Rabbit"),\n$ "Lynx rufus": ("m", "Bobcat"),\n$ "Sceloporus occidentalis": ("r", "Western Fence Lizard"),\n$ "Elgaria multicarinata": ("r", "Southern Alligator Lizard"),\n$ "Latrodectus hesperus": ("i", "Western Black Widow Spider"),\n$ "Aptostichus spp.": ("i", "California Trapdoor Spider"),\n$ "Hogna carolinensis": ("i", "California Wolf Spider"),\n$ "Araneus spp.": ("i", "Orb Weaver Spider"),\n$ "Phidippus spp.": ("i", "Jumping Spider"),\n$ "Adelpha californica": ("i", "California Sister Butterfly"),\n$ "Nymphalis antiopa": ("i", "Mourning Cloak Butterfly"),\n$ "Pogonomyrmex spp.": ("i", "Harvester Ant"),\n$ "Stenopelmatus spp.": ("i", "Jerusalem Cricket"),\n$ }\n\n$ invasive_plants = {\n$ "Ailanthus altissima": ("t", "Tree of Heaven", 50, 80),\n$ "Schinus terebinthifolius": ("t", "Brazilian Pepper Tree", 30, 40),\n$ "Schinus molle": ("t", "California Pepper Tree", 25, 50),\n$ "Washingtonia robusta": ("t", "Mexican Fan Palm", 70, 15),\n$ "Ulmus parvifolia": ("t", "Chinese Elm", 40, 60),\n$ "Fraxinus uhdei": ("t", "Tropical Ash", 40, 60),\n$ "Ricinus communis": ("S", "Castor Bean", 6, 12),\n$ "Spartium junceum": ("S", "Spanish Broom", 6, 10),\n$ "Vinca major": ("Hv", "Greater Periwinkle", 0.5, 1),\n$ "Oxalis pes-caprae": ("H", "Bermuda Buttercup", 0.5, 1),\n$ "Carduus pycnocephalus": ("h", "Italian Thistle", 2, 5),\n$ "Helminthotheca echioides": ("h", "Bristly Oxtongue", 2, 4),\n$ "Kali tragus": ("h", "Russian Thistle", 2, 5),\n$ "Nicotiana glauca": ("St", "Tree Tobacco", 10, 20),\n$ "Sonchus oleraceus": ("h", "Common Sowthistle", 1, 4),\n$ "Lactuca serriola": ("h", "Prickly Lettuce", 2, 5),\n$ "Solanum nigrum": ("h", "Black Nightshade", 1, 3),\n$ "Malva parviflora": ("h", "Cheeseweed", 1, 3),\n$ "Euphorbia peplus": ("h", "Petty Spurge", 0.5, 1),\n$ "Marrubium vulgare": ("H", "White Horehound", 1, 2),\n$ }\n\n$ invasive_animals = {\n$ "Rattus rattus": ("m", "Black Rat"),\n$ "Rattus norvegicus": ("m", "Norway Rat"),\n$ "Felis catus": ("m", "Domestic Cat (feral populations)"),\n$ "Passer domesticus": ("b", "House Sparrow"),\n$ "Sturnus vulgaris": ("b", "European Starling"),\n$ "Columba livia": ("b", "Rock Pigeon"),\n$ "Oryctolagus cuniculus": ("m", "European Rabbit"),\n$ "Sylvilagus floridanus": ("m", "Eastern Cottontail"),\n$ "Hemidactylus frenatus": ("r", "Common House Gecko"),\n$ "Apis mellifera scutellata": ("i", "Africanized Honeybee"),\n$ "Pomacea canaliculata": ("i", "Channeled Apple Snail"),\n$ "Lithobates catesbeianus": ("a", "American Bullfrog"),\n$ "Cyprinus carpio": ("f", "Common Carp"),\n$ "Mus musculus": ("m", "House Mouse"),\n$ "Didelphis virginiana": ("mM", "Virginia Opossum"),\n$ "Sus scrofa": ("m", "Feral Pig"),\n$ "Corvus splendens": ("b", "House Crow"),\n$ "Arion vulgaris": ("i", "Spanish Slug"),\n$ "Linepithema humile": ("i", "Argentine Ant"),\n$ "Loxosceles reclusa": ("i", "Brown Recluse Spider"),\n$ "Latrodectus geometricus": ("i", "Brown Widow Spider"),\n$ "Cheiracanthium mildei": ("i", "Long-Legged Sac Spider"),\n$ }\n\n$ plant_classifications = {\n$ "t": "tree",\n$ "S": "shrub",\n$ "s": "subshrub",\n$ "H": "perennial herb",\n$ "h": "annual herb",\n$ "g": "grass",\n$ "v": "vine",\n$ }\n\n$ animal_classifications = {\n$ "m": "mammal",\n$ "M": "marsupial",\n$ "b": "bird",\n$ "r": "reptile",\n$ "a": "amphibian",\n$ "i": "insect",\n$ "f": "fish",\n$ }\n\n$def generate_plant_table(plants):\n ### Plants\n\n <table>\n <tr>\n <th>Rank\n <th>Scientific Name\n <th>Common Name\n <th>Classification\n <th>Width\n <th>Height\n </tr>\n $for n, (scientific_name, (classification, common_name, height, width)) in enumerate(plants.items(), start=1):\n $if scientific_name.startswith("‡"):\n $ scientific_name = scientific_name.removeprefix("‡ ")\n <tr style=opacity:55%>\n $else:\n <tr>\n <td>$n\n <td>[[$scientific_name]]\n <td>$common_name\n <td>\n $for c in classification:\n $plant_classifications[c]\\\n $if not loop.last:\n ,\n </td>\n <td>$width\n <td>$height\n </table>\n\n$def generate_animal_table(animals):\n ### Animals\n\n <table>\n <tr>\n <th>Rank\n <th>Scientific Name\n <th>Common Name\n <th>Classification\n </tr>\n $for n, (scientific_name, (classification, common_name)) in enumerate(animals.items(), start=1):\n $if scientific_name.startswith("‡"):\n $ scientific_name = scientific_name.removeprefix("‡ ")\n <tr style=opacity:55%>\n $else:\n <tr>\n <td>$n\n <td>[[$scientific_name]]\n <td>$common_name\n <td>\n $for c in classification:\n $animal_classifications[c]\\\n $if not loop.last:\n ,\n </td>\n </table>\n\n<style>\ntable {\n font-size: .75em;\n}\nth {\n text-align: left;\n}\n</style>\n\n## Natives\n\n<p>Species are presented in order of most important to least important as a significant habitat or food for wildlife.</p>\n\n<p>Greyed out entries are chaparral native candidates considered for inclusion.</p>\n\n<p>Entries beginning with * are from chaparral-adjacent ecosystems (eg. savannah, coastal).</p>\n\n$:generate_plant_table(native_plants)\n\n$:generate_animal_table(native_animals)\n\n## Invasives\n\n<p>Presented in order of most invasive to least.</p>\n\n<p>Greyed out entries have been eradicated fully.</p>\n\n$:generate_plant_table(invasive_plants)\n\n$:generate_animal_table(invasive_animals)\n\n## Exotic\n\n<ul><li>Corymbia citriodora, Lemon-scented gum\n\n## Cultivated\n\n- Salvia rosmarinus, Rosemary\n- Cotoneaster integerrimus, Common cotoneaster\n\n## Maps\n\n<img src=/media/CyW4.png>\n\n$ trees = [\n$ {\n$ "name": \'Chinese Elm\',\n$ "latlng": [34.1017996, -118.1728512],\n$ "photoURL": \'/media/jeBy.jpg\'\n$ },\n$ ]\n\n<link rel=stylesheet href=https://unpkg.com/leaflet/dist/leaflet.css>\n<script src=https://unpkg.com/leaflet/dist/leaflet.js></script>\n\n<div id="map"></div>\n<style>#map { height: 40em; }</style>\n<script>\nlet hikemap = L.map(\'map\').setView([34.10217, -118.17147], 16)\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\nlet imageMarkers = $:web.dump(trees)\nimageMarkers.forEach(marker =>\n L.marker(\n marker.latlng,\n {icon: L.icon({\n iconUrl: marker.photoURL,\n iconSize: [25, 25],\n iconAnchor: [25, 25]})})\n .bindPopup(`<img src="$${marker.photoURL}" alt="$${marker.name}"\n style="max-width: 200px; max-height: 200px;">`)\n .addTo(hikemap)\n)\n</script>\n\n## Yearly Brush Clearance\n\n![firezone](/media/9XH2.png)\n\nEvery year public works contracts for brush clearance of 100\' from structures and power lines immediately adjacent to Illinois Drive and the two residences on either end. This area is roughly 1.25 acres with the red box indicating the 1.1 acres visible from Illinois Drive.\n\n### Native Species Pruned in October\n\n#### Hard Pruning (Pruning Back to the Stump or Near Ground Level):\n\nThese plants benefit from being pruned heavily, often back to the stump or near ground level. They are ideal for slope stabilization due to their deep roots and spreading habit.\n\n Matilija Poppy (Romneya coulteri) - Deep roots make it excellent for stabilizing slopes, thrives in morning sun.\n Bush Sunflower (Encelia californica) - Fast-growing with spreading roots, great for erosion control.\n California Fuchsia (Epilobium canum) - Low, sprawling growth helps cover bare soil, thrives with partial sun.\n Hummingbird Sage (Salvia spathacea) - Helps stabilize soil in shaded areas, thrives in partial sun.\n California Goldenrod (Solidago velutina californica) - Thrives in partial sun, attracts pollinators, and stabilizes soil.\n Deer Grass (Muhlenbergia rigens) - Excellent for stabilizing steep slopes with deep roots, suitable for partial sun.\n Creeping Wild Rye (Elymus triticoides) - Dense mat-forming growth helps control erosion, thrives in partial shade.\n California Fescue (Festuca californica) - Helps bind soil with its fibrous root system, prefers partial sun.\n Purple Needlegrass (Stipa pulchra) - Thrives with morning sun, great for stabilizing hillsides.\n\n#### Moderate Pruning (Pruning to Control Shape and Remove Spent Growth)\n\nThese plants benefit from moderate pruning to control their shape, improve health, and encourage growth. They thrive on east-facing slopes that receive morning sun and some afternoon shade.\n\n Cleveland Sage (Salvia clevelandii) - Thrives in morning sun, great for erosion control.\n Black Sage (Salvia mellifera) - Ideal for rocky hillsides, deep roots stabilize soil effectively.\n White Sage (Salvia apiana) - Provides erosion control and is suitable for partial sun conditions.\n California Buckwheat (Eriogonum fasciculatum) - Thrives in partial sun, excellent for erosion control.\n Bush Mallow (Malacothamnus spp.) - Fast-growing and effective for stabilizing soil, tolerates partial sun.\n Coyote Mint (Monardella villosa) - Low-growing and ideal for slopes, provides ground cover and attracts pollinators.\n Sugar Bush (Rhus ovata) - Suitable for partial sun, deep roots stabilize the soil.\n Toyon (Heteromeles arbutifolia) - Thrives in partial sun, provides erosion control with deep roots.\n California Lilac (Ceanothus spp.) - Thrives in partial shade, improves soil with nitrogen-fixing properties.\n Seaside Daisy (Erigeron glaucus) - Spreading habit helps stabilize soil, suitable for morning sun.\n Showy Penstemon (Penstemon spectabilis) - Adds color and helps stabilize soil, suitable for partial sun.\n Yarrow (Achillea millefolium) - Effective for controlling erosion on slopes, thrives in partial sun.\n\n#### Light Pruning (Selective Removal of Old or Dead Branches)\n\nThese plants benefit from light pruning to improve air circulation, control size, and maintain health. They are well-suited for east-facing hillsides that receive morning sun and partial shade.\n\n Chaparral Current (Ribes malvaceum) - Provides seasonal interest and helps with soil stability, suitable for partial sun.\n Manzanita (Arctostaphylos spp.) - Dense growth helps stabilize soil, thrives with morning sun.\n California Wild Rose (Rosa californica) - Provides erosion control and habitat, thrives in partial sun.\n Creeping Sage (Salvia sonomensis) - Forms a dense mat that helps stabilize soil, ideal for partial shade.\n Creeping Snowberry (Symphoricarpos mollis) - Thrives in partial shade, provides dense ground cover.\n Blue-eyed Grass (Sisyrinchium bellum) - Suitable for partially shaded slopes, provides spring blooms.\n Island Alum Root (Heuchera maxima) - Thrives in partial to full shade, helps stabilize soil.\n\n## Status\n\n> The City owns 15.89 acres of unimproved land in the Altos de Monterey hillside residential tract, referred to as Lot 117. This area is considered an open-space resource to the neighborhood and is not intended for future development.\n\n<a href=https://www.southpasadenaca.gov/files/assets/public/v/1/community-development/documents/1-20230505-revised-5th-draft_clean.pdf><small>2021&ndash;2029</small> <em>General Plan Housing Element <small>(Revised, Fifth Draft)</small></em></a><br><small>May 2023, p. 153</small>\n'}], 'updated': [DateTime(2024, 12, 6, 23, 45, 30, 141552, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 7, 5, 13, 40, 45, 64728, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/SMW', '/2024/07/05/r4'], 'type': ['entry'], 'name': ['Super Mario World'], 'content': [{'html': '<abbr title="Sūpā Mario Wārudo: Sūpā Mario Burazāzu fō">スーパーマリオワールド: スーパーマリオブラザーズ4</abbr>\n\n### Speedrunning\n\n### Tool Assisted\n\n#### Tool Assisted Speedrunning (TAS)\n\n## Hacks\n\n### Standard vs. Kaizo\n\n*regrab*\n\n#### Tool Assisted Walkthrough (TAW)\n\n## Playing\n\n[Clean ROM](https://vimm.net/vault/?p=details&id=1652)\n\n[Floating IPS (flips)](https://www.smwcentral.net/?p=section&a=details&id=11474) -- patches a clean rom with a hack\n\n[Snes9x](https://github.com/snes9xgit/snes9x) -- modern emulator\n\n[Hacks](https://www.smwcentral.net/?p=section&s=smwhacks)\n\n$ hacks = {\n$ "Sweet World": (30864, "kb", 12, 12, True),\n$ "Easyland": (37583, "kb", 14, 14, True),\n$ "Sixth Grade Kaizo": (37314, "kb", 1, 9, True),\n$ "Attempt at a Normal Hack": (37783, "sh", 21, 40, True),\n$ "Mario\'s Pizza Party": (37928, "kb", 10, 10, True),\n$ "Love Yourself": (30864, "kb", 17, 17, True),\n$ "Grand Poo World 3": ("https://www.smwcentral.net/?p=viewthread&t=126133", "kx", 0, 41, True),\n$ "What did Mario do?": (37896, "sh", 37, 69, True),\n$ "Kaizo Mario World": (16059, "kx", 1, 11, True),\n$ "Chicanery Beginner Edition": (38058, "kb", 15, 23, True),\n$ "Super Galega World": (36828, "kb", 6, 6, False),\n$ "Smoked Fish and Cabbage 2": (35540, "kb", 7, 28, True),\n$ "Baby Kaizo World": (19145, "kb", 15, 44, False),\n$ }\n$ unstarted_hacks = []\n$ ratings = {\n$ "k": ("d33682", "kaizo"),\n$ "s": ("2aa198", "standard"),\n$ "e": ("859900", "easy"),\n$ "n": ("268bd2", "normal"),\n$ "h": ("b58900", "hard"),\n$ "v": ("586e75", "very hard"),\n$ "b": ("859900", "beginner"),\n$ "i": ("268bd2", "intermediate"),\n$ "x": ("586e75", "expert"),\n$ }\n$if hacks:\n <ul>\n $for hack_name, (hack_id, hack_type, hack_progress, hack_total, hack_savestates) in hacks.items():\n $if hack_progress == -1:\n $ unstarted_hacks.append(hack_name)\n $continue\n $ hack_completed = hack_progress == hack_total\n <li><a href=\\\n $if isinstance(hack_id, int):\n https://www.smwcentral.net/?p=section&a=details&id=$(hack_id)\\\n $else:\n $hack_id\\\n >\n $if hack_completed:\n <s>\\\n $hack_name\\\n $if hack_completed:\n </s>\\\n </a>\n <code><small style=font-size:.8em>\\\n $ type_color, type_title = ratings[hack_type[0]]\n $ difficulty_color, difficulty_title = ratings[hack_type[1]]\n <abbr title="$(type_title): $difficulty_title">\n <span style=color:#$type_color>$hack_type[0].upper()</span>\\\n <span style=color:#$difficulty_color>$hack_type[1].upper()</span>\\\n </abbr>\\\n (\\\n $if hack_completed:\n $hack_total\\\n $else:\n $(hack_progress)/$hack_total\\\n )\\\n $if not hack_savestates:\n <abbr title="without save states">*</abbr>\n </small></code>\n </ul>\n\n<ul>\n$for unstarted_hack in unstarted_hacks:\n <li>$unstarted_hack</li>\n</ul>\n\n### Save States\n\nYou can save the state of the game at any point for immediate retry. It can make advancing much easier but will often break the flow.\n\nTo configure save states in Snes9x go to Settings > Save States >\n\n- Save current slot => "Keyboard Shift+F1"\n- Load current slot => "Keyboard F1"\n\n## Editing\n\n[Lunar Magic](https://www.smwcentral.net/?p=section&a=details&id=35121)\n\n#### See Also\n\n* [Wikipedia](https://en.wikipedia.org/wiki/Super_Mario_World)\n* [Mario Wiki](https://www.mariowiki.com/Super_Mario_World)\n* [Strategy Wiki](https://strategywiki.org/wiki/Super_Mario_World)\n* [Mariopedia](https://mariopedia.org/wiki/Super_Mario_World)\n* [Fandom](https://nintendo.fandom.com/wiki/Super_Mario_World)\n'}], 'updated': [DateTime(2024, 8, 13, 13, 53, 30, 263501, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 6, 3, 20, 5, 40, 987459, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/spatchcock-chicken', '/2024/06/04/7m'], 'type': ['entry'], 'name': ['Spatchcock Chicken'], 'content': [{'html': 'Serves 3-6\n\n### Ingredients\n\n- 4lb whole chicken\n- kosher salt\n- black peppercorn\n\n### Materials\n\n- kitchen shears\n- roasting pan\n- meat thermometer\n\n### Instructions\n\n- remove spine using kitchen shears; crack sternum; lay skin side up; pat dry\n- brine\n\n350F for 55:00 -- pull when breast reads 145\n'}], 'updated': [DateTime(2024, 6, 4, 14, 18, 28, 52219, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/05/homebrew-website-club-pacific-i68Swhvi4o4T'], 'visibility': ['public'], 'rsvp': ['yes'], 'token': ['eLAE'], 'published': [DateTime(2024, 5, 21, 18, 36, 17, 971163, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/05/22/5o'], 'type': ['entry'], 'updated': [DateTime(2024, 5, 21, 18, 36, 17, 971163, tzinfo=Timezone('America/Los_Angeles'))]}

{'in-reply-to': ['https://events.indieweb.org/2024/05/homebrew-website-club-pacific-QtQxihZl4SmQ'], 'visibility': ['public'], 'rsvp': ['no'], 'token': ['eLAE'], 'published': [DateTime(2024, 5, 4, 19, 3, 39, 407297, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/05/05/8o'], 'type': ['entry'], 'updated': [DateTime(2024, 5, 4, 19, 3, 39, 407297, tzinfo=Timezone('America/Los_Angeles'))]}

{'listen-of': ['twocolors, Safri Duo & Chris de Sarandy - Cynical'], 'token': ['eLAE'], 'published': [DateTime(2024, 5, 4, 13, 32, 45, 942221, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/05/04/ig'], 'type': ['entry'], 'updated': [DateTime(2024, 5, 4, 13, 32, 45, 942221, tzinfo=Timezone('America/Los_Angeles'))]}

{'photo': ['/media/vLqR.jpg'], 'token': ['eLAE'], 'published': [DateTime(2024, 4, 27, 15, 22, 20, 407, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/04/27/2c'], 'type': ['entry'], 'updated': [DateTime(2024, 4, 27, 15, 22, 20, 407, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</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$ media_data = [\n$ {\n$ "name": \'Flora\',\n$ "latlng": [34.2040027777778, -118.126038888889],\n$ "url": \'/media/NGz6.jpg\'\n$ },\n$ {\n$ "name": \'Panoramic View\',\n$ "latlng": [34.2189916666667, -118.120330555556],\n$ "url": \'/media/vLqR.jpg\'\n$ },\n$ {\n$ "name": \'Muir Peak Canyon Live Oak\',\n$ "latlng": [34.2145527777778, -118.102355555556],\n$ "url": \'/media/5Htm.jpg\'\n$ },\n$ {\n$ "name": \'Flowing Fog\',\n$ "latlng": [34.2161, -118.1027],\n$ "url": \'/media/RoGT.mov\'\n$ },\n$ ]\n\n<link rel=stylesheet href=https://unpkg.com/leaflet/dist/leaflet.css>\n<script src=https://unpkg.com/leaflet/dist/leaflet.js></script>\n\n<div id="map"></div>\n<style>#map { height: 40em; }</style>\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$# TODO for location in get_locations(start_time, end_time):\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(media_data)\nimageMarkers.forEach(marker =>\n L.marker(\n marker.latlng,\n {icon: L.icon({\n iconUrl: marker.url,\n iconSize: [50, 50],\n iconAnchor: [25, 50]})})\n .bindPopup(`<img src="$${marker.url}" alt="$${marker.name}"\n style="max-width: 200px; max-height: 200px;">`)\n .addTo(hikemap)\n)\n\nconst redIcon = L.icon({\n iconUrl: \'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-red.png\',\n iconSize: [60, 60], // Size of the icon\n iconAnchor: [12, 41], // Point of the icon which corresponds to the marker location\n popupAnchor: [1, -34], // Point from which the popup opens relative to the iconAnchor\n shadowUrl: \'https://unpkg.com/leaflet@1.7.1/dist/images/marker-shadow.png\', // Optional: Marker shadow\n shadowSize: [41, 41], // Size of the shadow\n shadowAnchor: [12, 41] // Anchor of the shadow\n})\n</script>\n\n---\n\n$for media in media_data:\n $ url = media["url"]\n $if url.endswith(".jpg"):\n <img src=$url alt="$media[\'name\'] $media[\'latlng\']">\n $elif url.endswith(".mov"):\n <video controls style=width:100%>\n <source src=$url type=video/quicktime>\n <source src=$(url[:-4]).mp4 type=video/mp4>\n <source src=$(url[:-4]).webm type=video/webm>\n Your browser does not support the video tag.\n </video>\n\n---\n\n<style>\ntable { width: 100% }\nth { text-align: left }\n</style>\n\n<table>\n<tr>\n<th>Time\n<th>Coordinates\n<th>Altitude\n<th>Motion\n<th>Battery\n</tr>\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 $ location = location["location"]\n $ latitude, longitude = location["geometry"]["coordinates"]\n $ p = location["properties"]\n $if p.get("type") == "trip":\n $continue\n <tr>\n $ h, m, s = p["timestamp"].partition("T")[2].rstrip("Z").split(":")\n <td>$(int(h)-8):$m<small style=color:#586e75>:$s</small>\n <td title="+/-$p[\'horizontal_accuracy\']"><a href=# onclick="L.marker([$longitude, $latitude],{icon:redIcon}).addTo(hikemap);return false;">$round(latitude, 6),$round(longitude, 6)</a>\n <td title="+/-$p[\'vertical_accuracy\']">$round(p["altitude"]*3.28084)\n $ motion = p["motion"]\n <td>\n $if motion and motion != "stationary" and p["speed"]:\n <div title="$motion[0]" style=background-color:#6c71c4;color:#002b36;text-align:center;width:$(p["speed"]*25)%><span style=font-size:.75em>$p["speed"]</span></div>\n $ battery = round(p["battery_level"]*100)\n <td><div style=background-color:#\\\n $if battery > 20:\n 859900\\\n $elif battery > 10:\n b58900\\\n $else:\n dc322f\\\n ;color:#002b36;display:inline-block;text-align:center;width:$(battery)%>\n $if battery > 50:\n <span style=font-size:.666em;>\n $if p["battery_state"] == "charging":\n <strong style=color:#d33682>$(battery)%</strong>\n $else:\n $(battery)%\n </span>\n $else:\n &nbsp;\n </div>\n $if battery < 50:\n <span style=display:inline-block;font-size:.666em;>\n $if p["battery_state"] == "charging":\n <strong style=color:#d33682>$(battery)%</strong>\n $else:\n $(battery)%\n </span>\n </tr>\n</table>\n'}], 'updated': [DateTime(2024, 12, 8, 17, 20, 6, 552470, tzinfo=Timezone('America/Los_Angeles'))]}

{'published': [DateTime(2024, 4, 22, 18, 48, 41, 293804, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/chiroptera', '/bats', '/2024/04/23/qv'], 'type': ['entry'], 'name': ['Chiroptera'], 'content': [{'html': "## Habitat\n\n[Creating Bat Habitat](https://www.youtube.com/watch?v=iYcpgddyq98)\n\n[AnimaLA: Are bats having a moment in Los Angeles?](https://www.youtube.com/watch?v=iFm7YZ6UmS4) <small>Oct 31, 2024</small>\n\n### Water\n\nTrough 7-10ft long (depending on species), still, unobstructed.\n\n*Nurseries need nearby water source.*\n\n### Plants\n\n[Saving Bats by Planting Agaves](https://www.youtube.com/watch?v=mCfmz4Bx2lo), Bat Conservation International\n\nhttps://blogs.cornell.edu/master-gardeners-cce-oc/2021/10/08/growing-a-bat-friendly-garden/\n\n## Houses\n\nInstall in pairs on a 12-20' pole; use light material on North-facing house to make a cool zone and use dark material on South-facing house to make a warm zone.\n\nThe more chambers the better to give lots of options.\n\n### Nurseries\n\nNurseries need a small void near the top of the house and should be on the warmer side.\n\n### Bachelor boxes\n\nBachelor boxes should be smaller but can be more densely spaced.\n\n### [Bat Conservation International](https://www.youtube.com/@BatConservation)\n\n[All About Bat Houses](https://www.youtube.com/watch?v=asQ4jvtX-iQ)\n\nplans: [4-chamber nursery](https://www.batcon.org/wp-content/uploads/2020/09/4-Chamber-Nursery-House-Plans.pdf), [2-chamber rocket box](https://batcon.org/wp-content/uploads/2020/04/RocketBoxPlans.pdf)\n\n### [Habitat for Bats](https://www.youtube.com/@h4bats)\n\nkit assembly instructions: [1](https://www.youtube.com/watch?v=hrCwHEIiB-c), [2](https://www.youtube.com/watch?v=oNoofHTLkOM), [3](https://www.youtube.com/watch?v=fApBXHXQ5oA) & [4](https://www.youtube.com/watch?v=N_B-rj9fdAU) chamber bat houses\n\n---\n\n[62 bats in a pair of two-chamber houses](https://www.youtube.com/watch?v=qOE0Z_piRGg)\n\nhttps://batmanagement.com/blogs/bat-roosts/what-color-should-i-paint-my-bat-house\n"}], 'updated': [DateTime(2024, 11, 1, 17, 19, 31, 451497, 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 into the future</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 into the future</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, 19, 19, 29, 37, 877233, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/pasadena', '/2024/04/20/tw'], 'type': ['entry'], 'name': ['Pasadena'], 'content': [{'html': '## Geography\n\nAdjacent cities, clockwise starting from to the North: Altadena, Sierra Madre, San Marino, [[South Pasadena]], Highland Park, Eagle Rock, La Cañada\n\n- Arroyo\n- Hahamongna Watershed Park\n- Eaton Canyon\n- Arlington Garden\n\n## Locations\n\n- Gamble House\n- Norton Simon Museum\n- Rose Bowl\n- Caltech\n- Pasadena City College\n\n## Culture\n\n### Rose Parade\n\n### Doo-Dah Parade\n\n## People\n\nhttps://en.wikipedia.org/wiki/Herb_Dean\n'}], 'updated': [DateTime(2024, 8, 13, 16, 9, 59, 207168, 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 into the future</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'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/trees', '/2024/04/11/8w'], 'type': ['entry'], 'name': ['Trees'], 'content': [{'html': 'The following applies to the Los Angeles area of Southern California.\n\n## Natives\n\n- [Quercus agrifolia](https://en.wikipedia.org/wiki/Quercus_agrifolia), California Live Oak, Coast Live Oak\n- [Quercus engelmannii](https://en.wikipedia.org/wiki/Quercus_engelmannii), Engelmann Oak, Pasadena Oak\n- [Juglans californica](https://en.wikipedia.org/wiki/Juglans_californica), California Walnut,\nSouthern California Black Walnut\n- [Washingtonia filifera](https://en.wikipedia.org/wiki/Washingtonia_filifera), California Fan Palm\n\n### Non-Natives\n\n- [Cedrus deodara](https://en.wikipedia.org/wiki/Cedrus_deodara), Himalayan cedar, Deodar cedar\n- [Pinus pinea](https://en.wikipedia.org/wiki/Stone_pine), Italian Stone Pine, Mediterranean stone pine, umbrella pine, parasol pine\n\n### Invasives\n\n- [Ailanthus altissima](https://en.wikipedia.org/wiki/Ailanthus_altissima), Tree of Heaven, Chinese sumac\n- [Schinus terebinthifolius](https://en.wikipedia.org/wiki/Schinus_terebinthifolia), Brazilian Pepper Tree\n- [Ulmus parvifolia](https://en.wikipedia.org/wiki/Ulmus_parvifolia), Chinese Elm\n- [Washingtonia robusta](https://en.wikipedia.org/wiki/Washingtonia_robusta), Mexican Fan Palm\n- Eucalyptus spp.\n\n### Understory shrubs\n\n- [Heteromeles arbutifolia](https://en.wikipedia.org/wiki/Heteromeles), Toyon, Christmas Berry, California Holly\n'}], 'updated': [DateTime(2024, 7, 18, 15, 42, 15, 716362, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/04/10/2k'], 'type': ['entry'], 'updated': [DateTime(2024, 4, 10, 15, 27, 16, 588045, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</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 into the future</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## Organizational Structure\n\n- https://indieweb.org/founders\n- https://indieweb.org/organizers\n'}], 'updated': [DateTime(2024, 12, 12, 15, 4, 33, 889675, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/dotfiles', '/2024/03/23/ef'], 'type': ['entry'], 'updated': [DateTime(2024, 3, 22, 23, 55, 36, 244038, tzinfo=Timezone('America/Los_Angeles'))]}

{'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', '3 cups red wine', '2 cups beef stock', '1T tomato paste', '1/2t thyme', '1 bay leaf', '2 cloves garlic'], '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 into the future</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 into the future</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 into the future</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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/canopy', '/2024/03/11/6j'], 'type': ['entry'], 'name': ['Canopy'], 'content': [{'html': '## Tree\n\nA tree canopy refers to the upper layer or "crown" of trees, which includes the branches, leaves, and stems. It forms a sort of natural "roof" over the ground and plays a critical role in providing habitat for wildlife, moderating temperature, improving air quality, and contributing to stormwater management by intercepting rainfall. In urban areas, tree canopies provide shade, reduce the urban heat island effect, and improve the aesthetics of the environment. Canopy coverage, or the extent of the tree canopy over an area, is often used as a measure of urban greenery and environmental health.\n\n## Software\n\n[canopy](/canopy) is an open source project that runs a decentralized social web platform using a network of personal websites connected via [[Social Web]] technologies.\n\n### Join\n\n<h4 id=host>Use a Host</h4>\n\n<ul><li>[Canopy Garden](canopy.garden)\n\n#### Self-host\n\nSee <a href=https://ragt.ag/code/projects/canopy#usage><code>canopy</code> README</a>.\n'}], 'updated': [DateTime(2024, 10, 8, 19, 20, 45, 482000, 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 into the future</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 into the future</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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/climate', '/2024/03/10/i3'], 'type': ['entry'], 'name': ['Climate'], 'content': [{'html': '## Microclimate\n\n## Los Angeles Climate\n\n### South Pasadena\n\n#### Extreme Heat\n\n<table>\n<thead>September 2024\n<tr><th>Day<th>Temp °F\n$for i, temp in enumerate((89, 94, 101, 106, 114, 113, 102, 105, 107, 95, 79), 1):\n <tr><th style=text-align:right>$i<td style=text-align:right>$temp\n</table>\n\n#### Extreme Rain\n\n## Earth\n\nhttps://en.wikipedia.org/wiki/Climate_change\n\n### 2024\n\n$ articles = {\n$ "https://www.cbsnews.com/losangeles/news/los-angeles-faces-scorching-119-as-heat-wave-affects-31-million-in-ca-nevada-and-arizona/": (24, 9, 7, "Los Angeles faces scorching 48°C / 119°F as heat wave affects 31 million in CA, Nevada and Arizona", "27% humidity in South Pasadena on Sep 7"),\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, 9, 11, 17, 33, 56, 300630, 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 into the future</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 into the future</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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/03/08/xm'], 'type': ['entry'], 'updated': [DateTime(2024, 3, 7, 17, 38, 49, 563242, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</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 into the future</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 into the future</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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/socialcg', '/swicg', '/2023/12/31/hg'], 'type': ['entry'], 'name': ["<abbr title='World Wide Web Consortium'>W3C</abbr> Social <abbr title='Community Group'>CG</abbr>"], 'content': [{'html': 'A space for implementors to collaborate and coordinate on any of the specifications published by the <a href=https://www.w3.org/TR/social-web-protocols/>W3C Social Web <abbr title="Working Group">WG</abbr></a> and related technologies.\n\n<p><big><a href=https://www.w3.org/community/socialcg/join><button>Join</button></a></big></p>\n\n<ul>\n<li><a href=https://github.com/swicg>GitHub</a></li>\n<li><a href=https://www.w3.org/community/socialcg/>Homepage</a></li>\n<li><a href=https://www.w3.org/community/socialcg/participants/>Participants</a></li>\n<li><a href=https://www.w3.org/groups/cg/socialcg/calendar/>Calendar</a> (<a href=https://www.w3.org/groups/cg/socialcg/calendar/export/>.ics</a>)</li>\n<li><a href=https://lists.w3.org/Archives/Public/public-swicg/>Mailing List</a></li>\n<li><a href=https://www.w3.org/wiki/SocialCG>Wiki</a></li>\n<li><a href=https://socialhub.activitypub.rocks>Forum</a></li>\n</ul>\n\n### Meetings\n\nCommunity Group meetings are held 1st Friday of the month 10-11 AM PST.\n\n- <a href=https://meet.jit.si/social-web-cg>Video Conference Room</a>\n- <a href=https://irc.w3.org>Chat Room</a> <small><code>[channel #social]</code></small> (<a href=https://www.w3.org/wiki/IRC>primer</a>, <a href=https://lists.w3.org/Archives/Public/w3c-wai-gl/2017AprJun/att-1007/W3C_IRC_Cheat_Sheet.pdf>cheat sheet</a>, <a href=https://www.w3.org/2001/12/zakim-irc-bot.html>bot</a>)\n- <a href=https://github.com/swicg/meetings>Minutes</a>\n\nIssue Triage meetings are held every Friday 9-10 AM PST.\n\n- <a href=https://meet.jit.si/socialcg-issue-triage>Video Conference Room</a>\n- <a href=https://www.w3.org/wiki/SocialCG/Issue_Triage#Issue_Triage_Meeting_Notes>Notes</a>\n\n### Questions\n\n- Where to host canonical issues?\n- What say does the community group over a future working group rechartering?\n- What does the extension process look like?\n\n### Potential Charters\n\n<strong style=color:#dc322f>A charter for the Community Group is currently being formed. Consensus will be sought at <s>December 6, 2024</s> January 3, 2025 meeting.</strong>\n\n#### Issues\n\n<ul style=font-size:.8em>\n$for issue in web.get("https://api.github.com/repos/swicg/potential-charters/issues").json:\n $ user = issue["user"]\n <li><a href=https://github.com/$user["login"]><img style=height:.9em src=$user["avatar_url"]> <a href=$issue["html_url"]>$issue["title"]</a></li>\n</ul>\n<p style=font-size:.8em;text-align:right><cite>https://github.com/swicg/potential-charters/issues</cite><br>$web.now().in_timezone("America/Los_Angeles").isoformat()</p>\n\n### Task Forces\n\n<ul>\n<li><a href=https://github.com/swicg/activitypub-webfinger>WebFinger</a></li>\n<li><a href=https://github.com/swicg/activitypub-html-discovery>HTML Discovery</a></li>\n<li><a href=https://github.com/swicg/forums>Forums / Threaded Discussions</a></li>\n<li><a href=https://github.com/swicg/activitypub-e2ee>End-to-End Encryption</a></li>\n<li><a href=https://github.com/swicg/activitypub-data-portability>Data Portability</a></li>\n<li><a href=https://github.com/swicg/activitypub-trust-and-safety>Trust & Safety</a></li>\n<li><a href=https://github.com/swicg/ap-test-suite-taskforce>Test Suite</a></li>\n<li><a href=https://github.com/swicg/activitypub-website-taskforce>Website</a></li>\n</ul>\n\n### History\n\nThe Social Web Incubator Community Group (also known as SocialCG, or SWICG) is the successor of the Social Web Working Group, which ran from 2014 to 2017.\n\n### Fediverse\n\n<ul>\n<li><a href=https://app.element.io/#/room/#fediverse-devs:matrix.org>Chat</a></li>\n<li><a href=https://browser.pub>BrowserPub</a></li>\n<li><a href=https://feditest.org>FediTest</a></li>\n<li><a href=https://github.com/steve-bate/activitypub-testsuite>activitypub-testsuite</a></li>\n<li><a href=https://fedidevs.org/>Fediverse Developer Network</a></li>\n<li><a href=https://webfinger.net/>webfinger.net</a></li>\n<li><a href=https://activitypub.rocks>activitypub.rocks</a></li>\n<!--li>fediverse.rocks</li--></ul>\n\n### IndieWeb\n\n<ul>\n<li><a href=https://chat.indieweb.org>Chat</a></li>\n<li><a href=https://indiewebify.me>indiewebify.me</a></li>\n<li><a href=https://micropub.rocks>micropub.rocks</a></li>\n<li><a href=https://webmention.rocks>webmention.rocks</a></li>\n<li><a href=https://websub.rocks>websub.rocks</a></li>\n<li>Microformats:\n$for lang in ("python", "php", "node", "go", "ruby"):\n <a href=https://$(lang).microformats.io>$lang</a>\\\n $if not loop.last:\n , \\\n</li>\n<!--li>indieweb.rocks</li--></ul>\n\n#### See Also\n\n<ul>\n<li><a href=https://socialwebfoundation.org>Social Web Foundation</a>, Evan Prodromou, Tom Coates, Mallory Knodel</li>\n<li><a href=http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse/>How Threads will integrate with the Fediverse</a>, Tom Coates <a href=https://mastodon.cloud/@tomcoates>@tomcoates@mastodon.cloud</a></li>\n<li><a href=https://reb00ted.org/tech/20231208-meta-threads-data-dialogue/>Meta/Threads Interoperating in the Fediverse Data Dialogue Meeting yesterday</a>, Johannes Ernst <a href=https://j12t.social/@j12t><small><code>@j12t@j12t.social</code></small></a></li>\n</ul>\n'}], 'updated': [DateTime(2024, 12, 13, 16, 20, 59, 730609, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/03/05/o3'], 'type': ['entry'], 'updated': [DateTime(2024, 3, 4, 19, 31, 29, 106664, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/01/31/dy'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 31, 15, 32, 36, 131109, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/01/24/gh'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 24, 10, 50, 59, 347674, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-reader', '/2024/01/20/dq'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 19, 17, 17, 33, 246171, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-cache/releases/0.0.12', '/2024/01/17/r9'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 17, 15, 13, 39, 508806, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.71', '/2024/01/17/a3'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 17, 15, 10, 21, 320868, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.105', '/2024/01/17/7z'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 17, 13, 8, 10, 818678, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.26', '/2024/01/17/iu'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 17, 12, 40, 33, 520337, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.104', '/2024/01/17/6m'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 17, 12, 38, 45, 462574, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-cache/releases/0.0.9', '/2024/01/17/b2'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 17, 12, 24, 14, 426646, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.68', '/2024/01/17/36'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 16, 19, 7, 58, 358488, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-cache', '/2024/01/13/so'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 12, 19, 3, 14, 239475, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live/releases/0.0.26', '/2024/01/06/rz'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 5, 16, 52, 14, 899945, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.103', '/2024/01/06/pt'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 5, 16, 47, 28, 480011, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.102', '/2024/01/06/5x'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 5, 16, 26, 55, 623230, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2024/01/03/fk'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 3, 15, 28, 14, 924968, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.101', '/2024/01/02/2j'], 'type': ['entry'], 'updated': [DateTime(2024, 1, 1, 21, 16, 37, 281927, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/mahnamahna/releases/0.0.2', '/2023/12/30/oe'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 30, 1, 4, 48, 276415, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/mahnamahna', '/2023/12/30/9o'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 29, 16, 59, 24, 552124, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-people', '/2023/12/28/ss'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 27, 16, 35, 56, 70534, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-data', '/2023/12/28/jc'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 27, 16, 28, 19, 77216, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-weather', '/2023/12/28/un'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 27, 16, 24, 27, 474058, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.11', '/2023/12/27/ch'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 26, 17, 34, 27, 183142, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live/releases/0.0.25', '/2023/12/27/r3'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 26, 16, 14, 35, 30182, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.100', '/2023/12/26/sc'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 25, 16, 52, 28, 413325, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.26', '/2023/12/26/gy'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 25, 16, 46, 38, 114572, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/12/25/a3'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 25, 7, 21, 47, 460898, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/python-microformats/releases/0.5.1', '/2023/12/25/t6'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 24, 16, 18, 49, 482540, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-system/releases/0.0.29', '/2023/12/24/h9'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 23, 22, 4, 47, 867935, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-system', '/2023/12/24/i5'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 23, 22, 4, 37, 349107, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks/releases/0.0.7', '/2023/12/23/bp'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 23, 15, 5, 22, 966437, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/sqlyte/releases/0.1.2', '/2023/12/22/uu'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 21, 16, 0, 18, 802288, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.3', '/2023/12/17/34'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 14, 15, 11, 852495, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.2', '/2023/12/17/gq'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 13, 49, 40, 554959, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.25', '/2023/12/17/h2'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 13, 34, 41, 675844, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.96', '/2023/12/17/m7'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 12, 2, 35, 538486, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.95', '/2023/12/17/2t'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 12, 1, 18, 810438, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.1', '/2023/12/17/qx'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 11, 55, 54, 439888, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks/releases/0.0.6', '/2023/12/17/td'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 17, 11, 43, 23, 97668, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.99', '/2023/12/16/wz'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 16, 10, 15, 8, 603580, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.26', '/2023/12/15/7n'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 15, 9, 31, 52, 50060, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.25', '/2023/12/15/jj'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 15, 9, 4, 53, 361083, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.24', '/2023/12/15/gc'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 15, 9, 3, 53, 676373, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.98', '/2023/12/15/ir'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 18, 49, 16, 219015, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.23', '/2023/12/15/6o'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 18, 37, 46, 579757, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.22', '/2023/12/15/nh'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 18, 30, 34, 367691, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.24', '/2023/12/15/pw'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 18, 19, 58, 423312, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-mentions/releases/0.0.16', '/2023/12/14/od'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 12, 59, 4, 213983, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-mentions', '/2023/12/14/oj'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 12, 58, 42, 787292, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner/releases/0.0.23', '/2023/12/14/dk'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 12, 51, 23, 695420, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-owner', '/2023/12/14/27'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 14, 12, 51, 13, 273585, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt/releases/0.2.0', '/2023/12/13/vh'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 13, 14, 47, 15, 889249, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/python-microformats/releases/0.5.0', '/2023/12/13/rn'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 13, 13, 49, 36, 868126, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/python-microformats', '/2023/12/13/4b'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 13, 13, 47, 3, 481127, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.94', '/2023/12/13/i7'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 13, 10, 57, 31, 234148, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.97', '/2023/12/13/84'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 20, 15, 28, 410058, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks/releases/0.0.5', '/2023/12/13/he'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 18, 10, 4, 149450, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webagt', '/2023/12/13/po'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 16, 10, 49, 913375, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/txtint', '/2023/12/12/j2'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 15, 58, 26, 882295, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/sqlyte', '/2023/12/12/35'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 14, 54, 26, 805999, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/newmath', '/2023/12/12/2c'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 14, 35, 7, 745524, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/easyuri', '/2023/12/12/r2'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 12, 14, 18, 20, 838467, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live/releases/0.0.24', '/2023/12/06/ix'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 6, 10, 10, 27, 868995, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-live', '/2023/12/06/de'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 6, 10, 10, 13, 679682, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.96', '/2023/12/06/eh'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 6, 10, 3, 38, 254946, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/indieweb.rocks', '/2023/12/03/jn'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 2, 19, 25, 52, 436694, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/now', '/2023/12/01/77'], 'type': ['entry'], 'name': ['Now'], 'content': [{'html': "Listening to [Book Club Radio](https://youtube.com/@bookclubradio) and [Boiler Room](https://youtube.com/@bookclubradio).\n\n[Gardening](/garden), [cycling](/cycling), surveying local [chaparral](/chaparral) and [hiking](/hiking) local [peaks](/peaks).\n\nWatching [Arborist Blair Glenn](https://www.youtube.com/@arboristBlairGlenn) and [Crime Pays But Botany Doesn't](https://www.youtube.com/@CrimePaysButBotanyDoesnt).\n\nReading [Oaks of California](/oaks-of-california) and [Urban Forestry](/urban-forestry).\n\nAttending [Nature Park](/nature-park) volunteer days, <a href=/NREC>Natural Resources and Environmental Commission (NREC)</a> meetings and [City Council](/city-council) meetings.\n\nDeveloping the [canopy](/canopy) software project [live](/live).\n\nAttending [IndieWeb Homebrew Website Club](/hwc) and [W3C Social CG](/socialcg) meetings.\n\nHosting [plumbing parties](/plumbing#parties).\n"}], 'updated': [DateTime(2024, 12, 12, 22, 27, 17, 18878, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.95', '/2023/12/01/qy'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 1, 13, 28, 27, 463529, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.25', '/2023/12/01/h2'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 1, 13, 2, 59, 120396, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search/releases/0.0.21', '/2023/12/01/yp'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 1, 13, 1, 12, 280464, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/releases/0.0.176', '/2023/12/01/dh'], 'type': ['entry'], 'updated': [DateTime(2023, 12, 1, 12, 28, 48, 622484, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.93', '/2023/11/27/39'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 26, 17, 50, 48, 720571, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.94', '/2023/11/27/j4'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 26, 17, 48, 52, 558330, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/issues/1', '/2023/11/25/jh'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 24, 16, 58, 52, 524579, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.67', '/2023/11/25/g2'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 24, 16, 47, 58, 891909, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.66', '/2023/11/25/78'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 24, 16, 44, 40, 394571, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.93', '/2023/11/24/5z'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 24, 14, 36, 58, 894995, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</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 + dl {\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", False)],\n$ "Server": [("Lenovo ThinkCentre M93p", 3.4, 3.9, "Intel Core i7-4770", 4, 8, ("16 GB", "DDR 3"), ("512 GB", "SSD"), "Debian", False)],\n$ "Workstation": [("Lenovo ThinkStation P520", 3.7, 4.5, "Intel Xeon W-2135", 6, 12, ("64 GB", "DDR 4"), ("1 TB", "SSD"), "Debian", False)],\n$ "Laptop": [("Lenovo ThinkPad T480s", 1.9, 4.2, "Intel Core i7-8650U", 4, 8, ("16 GB", "DDR 4"), ("256 GB", "SSD"), "Debian", False), ("Apple MacBook Pro A1502", 2.7, 3.1, "Intel Core i5", 2, 4, ("8 GB", "DDR 3"), ("128 GB", "SSD"), "Debian", "2024-02")],\n$ "Handheld": [("Apple iPhone X", None, None, None, None, None, None, ("64 GB", "SSD"), "iOS", False)]\n$ }\n<dl>\n$for computer_role, role_computers in computers.items():\n <dt>$computer_role</dt>\n <dd>\n $for (computer_model, cpu_base, cpu_turbo, cpu_name, cpu_cores, cpu_threads, memory, storage, os, retired) in role_computers:\n $if retired:\n <s>\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 $if retired:\n </s>&emsp;<small>$retired</small>\n <br>\n </dd>\n</dl>\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, 10, 2, 18, 7, 50, 577621, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/23/9a'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 22, 19, 5, 12, 940518, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/22/hu'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 22, 14, 4, 4, 32416, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/22/8a'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 22, 14, 3, 33, 838992, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.92', '/2023/11/21/hj'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 20, 17, 54, 42, 408206, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/loveliness', '/2023/11/21/y7'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 20, 16, 56, 21, 720637, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.91', '/2023/11/19/vq'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 18, 21, 51, 30, 832303, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/releases/0.0.175', '/2023/11/16/ii'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 16, 15, 0, 28, 451374, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.92', '/2023/11/15/c4'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 14, 21, 18, 4, 9015, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg/releases/0.1.40', '/2023/11/15/xs'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 14, 19, 56, 4, 15977, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.65', '/2023/11/15/34'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 14, 17, 19, 39, 439454, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg/releases/0.1.39', '/2023/11/15/2s'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 14, 17, 5, 15, 570250, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.90', '/2023/11/15/qe'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 14, 16, 26, 37, 842713, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</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## PRR&\n\n- cost of website\n- all tree related matters\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, 8, 17, 14, 10, 28, 123849, 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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-search', '/2023/11/13/eo'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 13, 14, 29, 11, 292825, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor/releases/0.0.174', '/2023/11/13/bh'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 13, 13, 31, 49, 74849, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.64', '/2023/11/13/rf'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 13, 12, 58, 22, 622775, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.91', '/2023/11/13/8z'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 12, 23, 40, 47, 320533, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.63', '/2023/11/13/5q'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 12, 23, 33, 22, 228324, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.62', '/2023/11/13/w8'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 12, 23, 30, 39, 698638, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.61', '/2023/11/13/me'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 12, 23, 16, 13, 701776, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/socialcg.rocks', '/2023/11/12/b9'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 12, 13, 24, 26, 478588, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-editor', '/2023/11/10/w6'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 9, 19, 2, 23, 199912, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.89', '/2023/11/09/vf'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 18, 36, 37, 844910, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.60', '/2023/11/09/a3'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 16, 41, 20, 221413, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.24', '/2023/11/09/je'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 16, 40, 2, 971345, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.90', '/2023/11/09/rq'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 16, 24, 9, 601340, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.88', '/2023/11/08/zk'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 15, 47, 26, 116087, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.59', '/2023/11/08/zf'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 15, 40, 19, 527831, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/11/08/88'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 8, 15, 35, 0, 312899, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.10', '/2023/11/07/4k'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 20, 54, 25, 610217, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.9', '/2023/11/07/yi'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 20, 47, 15, 745977, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.8', '/2023/11/07/c5'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 20, 41, 16, 393023, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.7', '/2023/11/07/ue'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 20, 37, 20, 234978, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/understory/releases/0.22.4', '/2023/11/07/bq'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 20, 12, 18, 228848, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.58', '/2023/11/07/hj'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 54, 36, 773700, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg/releases/0.1.38', '/2023/11/07/nt'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 48, 16, 914289, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/gmpg', '/2023/11/07/in'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 47, 53, 624636, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.57', '/2023/11/07/nv'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 41, 49, 479339, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.56', '/2023/11/07/wm'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 29, 21, 878078, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.87', '/2023/11/07/7d'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 23, 14, 210824, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.89', '/2023/11/07/6s'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 19, 22, 14, 611415, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.88', '/2023/11/07/rx'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 17, 52, 27, 307823, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.87', '/2023/11/07/az'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 17, 41, 55, 315824, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.86', '/2023/11/07/jt'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 17, 33, 29, 566129, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.86', '/2023/11/07/it'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 17, 29, 59, 430368, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.85', '/2023/11/07/oe'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 16, 27, 15, 263949, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.84', '/2023/11/07/fj'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 16, 20, 49, 33462, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.85', '/2023/11/07/68'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 16, 20, 28, 15736, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.83', '/2023/11/06/3e'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 15, 52, 3, 751505, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.82', '/2023/11/06/ej'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 15, 50, 34, 496653, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.84', '/2023/11/06/e2'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 15, 39, 52, 76221, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts/releases/0.0.23', '/2023/11/06/tp'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 15, 32, 45, 568673, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-posts', '/2023/11/06/qt'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 15, 32, 20, 624671, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.55', '/2023/11/06/vc'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 6, 15, 24, 38, 528579, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.6', '/2023/11/06/n6'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 5, 19, 6, 31, 699191, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.5', '/2023/11/05/ux'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 5, 14, 23, 12, 458026, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.54', '/2023/11/05/dk'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 5, 14, 1, 15, 613118, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.81', '/2023/11/05/ue'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 5, 13, 17, 50, 610535, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.53', '/2023/11/05/mc'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 5, 13, 16, 22, 262830, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.83', '/2023/11/05/en'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 5, 13, 7, 37, 522365, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.52', '/2023/11/04/rp'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 4, 16, 53, 58, 943608, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.51', '/2023/11/04/qn'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 4, 16, 8, 0, 464853, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/understory/releases/0.22.3', '/2023/11/04/h9'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 18, 41, 46, 771128, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/understory', '/2023/11/04/oa'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 18, 32, 49, 70711, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.82', '/2023/11/03/5t'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 14, 57, 52, 305924, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.50', '/2023/11/03/d7'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 14, 48, 36, 812734, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy/releases/0.0.81', '/2023/11/03/uj'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 14, 29, 22, 861557, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.49', '/2023/11/03/ov'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 14, 10, 35, 67931, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.48', '/2023/11/03/76'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 13, 58, 34, 576435, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.47', '/2023/11/03/8q'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 13, 5, 20, 524078, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.46', '/2023/11/03/3p'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 12, 48, 56, 762175, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.45', '/2023/11/03/pg'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 11, 30, 9, 813249, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.44', '/2023/11/03/rg'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 11, 21, 33, 699295, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.80', '/2023/11/03/nc'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 11, 15, 53, 99573, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.43', '/2023/11/03/gu'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 11, 3, 7, 695445, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.79', '/2023/11/03/5r'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 11, 2, 11, 491447, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.78', '/2023/11/03/5k'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 3, 10, 40, 10, 362448, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.42', '/2023/11/03/pj'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 2, 19, 53, 55, 274885, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.41', '/2023/11/03/f2'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 2, 19, 43, 39, 879231, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code/releases/0.0.40', '/2023/11/03/bo'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 2, 19, 9, 39, 715622, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-code', '/2023/11/03/ga'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 2, 19, 9, 17, 230596, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint/releases/0.1.77', '/2023/11/02/8x'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 2, 16, 28, 31, 137210, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint', '/2023/11/02/vw'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 2, 16, 27, 51, 62390, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/canopy', '/2023/11/02/3s'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 1, 18, 12, 36, 938803, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/bgq', '/2023/11/02/i3'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 1, 17, 27, 20, 510469, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites/releases/0.0.4', '/2023/11/01/t6'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 1, 15, 38, 44, 831379, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/code/projects/webint-sites', '/2023/11/01/cq'], 'type': ['entry'], 'updated': [DateTime(2023, 11, 1, 15, 34, 27, 101943, tzinfo=Timezone('America/Los_Angeles'))]}

{'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 into the future</a>.'], 'email': ['angelo@ragt.ag'], 'photo': ['XWjA.png']}], 'url': ['/2023/10/25/zs'], 'type': ['entry'], 'updated': [DateTime(2023, 10, 25, 15, 39, 15, 126403, tzinfo=Timezone('America/Los_Angeles'))]}