{
    "version": "https://jsonfeed.org/version/1",
    "title": "https://grant.codes json feed",
    "home_page_url": "https://grant.codes",
    "feed_url": "https://backend.grant.codes/micropub/plugin/feeds/json",
    "author": {
        "name": "Grant Richmond",
        "url": "https://grant.codes"
    },
    "items": [
        {
            "id": "https://grant.codes/2024/05/03/climatebase-week-2",
            "content_html": "<h2 data-heading=\"Learnings\">Learnings</h2>\n\n<h3 data-heading=\"Climate History\">Climate History</h3>\n\n<ul>\n\n<li>The history of climate change science mainly revolves around dead white men</li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://en.wikipedia.org/wiki/Eunice_Newton_Foote\" rel=\"noopener\" class=\"external-link\" href=\"https://en.wikipedia.org/wiki/Eunice_Newton_Foote\" target=\"_blank\">Eunice Foote</a> mentioned again\n\n<ul>\n\n<li>We don't have a photo of her </li>\n\n<li>If you do a search another woman shows up</li>\n\n<li>Still a middle class white privileged lady</li>\n\n<li>Did not realize the importance of her discovery</li>\n\n</ul>\n\n</li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://en.wikipedia.org/wiki/Svante_Arrhenius\" rel=\"noopener\" class=\"external-link\" href=\"https://en.wikipedia.org/wiki/Svante_Arrhenius\" target=\"_blank\">Svante Arrhenius</a>\n\n<ul>\n\n<li>Distant relative of Greta Thunberg</li>\n\n<li>Did climate maths on the side</li>\n\n<li>He was actually worried about the world getting colder</li>\n\n<li>Thought burning coal would be a positive</li>\n\n</ul>\n\n</li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://en.wikipedia.org/wiki/Guy_Stewart_Callendar\" rel=\"noopener\" class=\"external-link\" href=\"https://en.wikipedia.org/wiki/Guy_Stewart_Callendar\" target=\"_blank\">Guy Stewart Callendar</a> noted a 0.3 degree temperature increase in his lifetime</li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://en.wikipedia.org/wiki/Roger_Revelle\" rel=\"noopener\" class=\"external-link\" href=\"https://en.wikipedia.org/wiki/Roger_Revelle\" target=\"_blank\">Roger Revelle</a> ran the first funded, professional climate science project</li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://en.wikipedia.org/wiki/Wallace_Smith_Broecker\" rel=\"noopener\" class=\"external-link\" href=\"https://en.wikipedia.org/wiki/Wallace_Smith_Broecker\" target=\"_blank\">Wallace Smith Broecker</a> published a paper in 1975 which popularized the phrase \"global warming\"</li>\n\n<li>We've been left with a mess, but we've been left with resources</li>\n\n<li>Often the debate is framed on science, but we also need to look at people</li>\n\n</ul>\n\n<h3 data-heading=\"Global Politics\">Global Politics</h3>\n\n<ul>\n\n<li>Let's switch the view of Africa being a problem to a solution</li>\n\n<li>Africa has creativity, youth and growth to offer</li>\n\n<li>Doesn't make sense to make decisions without the people most affected in the room</li>\n\n<li>Global north is bound to the fate of the south</li>\n\n<li>Should biggest polluters pay reparations for crises in other countries?</li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.vidyaonline.net/dl/hummingbird.pdf\" rel=\"noopener\" class=\"external-link\" href=\"https://www.vidyaonline.net/dl/hummingbird.pdf\" target=\"_blank\">The story of the hummingbird and the forest fire</a></li>\n\n</ul>\n\n<h3 data-heading=\"Climate\">Climate</h3>\n\n<ul>\n\n<li>CO2 is being released at the fastest rate in the last 66 million years</li>\n\n<li>Extremely hot days are around 150x more likely than they used to be</li>\n\n<li>The biggest greenhouse gas emissions are: carbon dioxide (76%), methane (16%), nitrous oxide (6%), hydrofluorocarbons (&lt;2%), perfluorocarbons (&lt;1%), sulphur hexafluoride (&lt;1%), nitrogen triflouride (&lt;1%) </li>\n\n<li>Drawdown is the point where greenhouse gas emissions start going down</li>\n\n<li>Main sectors where emission reduction is required are: electricity, energy, food, agriculture, land use, industry, transport &amp; building</li>\n\n<li>There is already hundreds of billions private climate funding. But it's not enough, we need a lot more &amp; huge public funding</li>\n\n<li>Transport is over funded right now in comparison to other sectors</li>\n\n<li>If people cared, they'd do more is a myth</li>\n\n<li>Climate change association with mental health is now well known\n\n<ul>\n\n<li>Sometimes called ecological grief / anxiety</li>\n\n</ul>\n\n</li>\n\n<li>Coral has annual spawning event when eggs are laid</li>\n\n<li>Closing the ozone layer was a very successful goal</li>\n\n<li>Carbon credits can be an excuse for not changing destructive behavior\n\n<ul>\n\n<li>But its not possible for all companies to meet net 0. That's where offsetting can help</li>\n\n</ul>\n\n</li>\n\n</ul>\n\n<h3 data-heading=\"People\">People</h3>\n\n<h4 data-heading=\"Speakers\">Speakers</h4>\n\n<ul>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/tajahmadeldridge/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/tajahmadeldridge/\" target=\"_blank\">Taj Ahmad Eldridge</a> - Managing Director - Climate Innovations @ <a data-tooltip-position=\"top\" aria-label=\"https://www.jff.org\" rel=\"noopener\" class=\"external-link\" href=\"https://www.jff.org\" target=\"_blank\">Jobs for the Future</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/heidilindvall/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/heidilindvall/\" target=\"_blank\">Heidi Lindvall</a> - General Partner and Investor @ <a data-tooltip-position=\"top\" aria-label=\"https://paleblue.vc\" rel=\"noopener\" class=\"external-link\" href=\"https://paleblue.vc\" target=\"_blank\">Pale blue dot</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/kyle-treige/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/kyle-treige/\" target=\"_blank\">Kyle Treige</a> - Cofounder &amp; CEO @ <a data-tooltip-position=\"top\" aria-label=\"https://www.pioneerclimate.com\" rel=\"noopener\" class=\"external-link\" href=\"https://www.pioneerclimate.com\" target=\"_blank\">Pioneer</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/ayisha-siddiqa-a61325179/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/ayisha-siddiqa-a61325179/\" target=\"_blank\">Ayisha Siddiqa</a> - Climate Advisor to <a data-tooltip-position=\"top\" aria-label=\"https://www.un.org\" rel=\"noopener\" class=\"external-link\" href=\"https://www.un.org\" target=\"_blank\">UN Secretary General</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/reneelertzman/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/reneelertzman/\" target=\"_blank\">Dr. Renée Lertzman</a> - Climate Psychologist &amp; Founder @ <a data-tooltip-position=\"top\" aria-label=\"https://projectinsideout.net\" rel=\"noopener\" class=\"external-link\" href=\"https://projectinsideout.net\" target=\"_blank\">Project InsideOut</a></li>\n\n</ul>\n\n<h4 data-heading=\"Fellows\">Fellows</h4>\n\n<ul>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/patrickbieger/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/patrickbieger/\" target=\"_blank\">Patrick Bieger</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/hannahrudin/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/hannahrudin/\" target=\"_blank\">Hannah Rudin</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/jacksontcastro/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/jacksontcastro/\" target=\"_blank\">Jackson Castro</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/kylesaari/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/kylesaari/\" target=\"_blank\">Kyle Saari</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/lauren-snyder/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/lauren-snyder/\" target=\"_blank\">Lauren Snyder</a></li>\n\n<li><a data-tooltip-position=\"top\" aria-label=\"https://www.linkedin.com/in/erikadains/\" rel=\"noopener\" class=\"external-link\" href=\"https://www.linkedin.com/in/erikadains/\" target=\"_blank\">Erika Dains</a></li>\n\n</ul>\n\n<h3 data-heading=\"Links\">Links</h3>\n\n<h4 data-heading=\"Misc\">Misc</h4>\n\n<ul>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"http://gapminder.com/\" target=\"_blank\">http://gapminder.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://climate.nasa.gov/interactives/climate-time-machine/\" target=\"_blank\">https://climate.nasa.gov/interactives/climate-time-machine/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://climatewaterproject.substack.com/\" target=\"_blank\">https://climatewaterproject.substack.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://jacobdarwinhamblin.com/\" target=\"_blank\">https://jacobdarwinhamblin.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://methanedata.azurewebsites.net/plumemap?mars=true\" target=\"_blank\">https://methanedata.azurewebsites.net/plumemap?mars=true</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://neighboursunited.org/campaign/deep-engagement/\" target=\"_blank\">https://neighboursunited.org/campaign/deep-engagement/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://podcasts.apple.com/us/podcast/hali-hewa-podcast/id1656226902\" target=\"_blank\">https://podcasts.apple.com/us/podcast/hali-hewa-podcast/id1656226902</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://projectinsideout.net/\" target=\"_blank\">https://projectinsideout.net/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://reasonstobecheerful.world/\" target=\"_blank\">https://reasonstobecheerful.world/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.bosmanvanzaal.com/cases/vertical-farming\" target=\"_blank\">https://www.bosmanvanzaal.com/cases/vertical-farming</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.climatepolicyinitiative.org/publication/global-landscape-of-climate-finance-2023/\" target=\"_blank\">https://www.climatepolicyinitiative.org/publication/global-landscape-of-climate-finance-2023/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.climatestoriesproject.org/\" target=\"_blank\">https://www.climatestoriesproject.org/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.climativity.com/\" target=\"_blank\">https://www.climativity.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.cop28.com/en/about-cop28\" target=\"_blank\">https://www.cop28.com/en/about-cop28</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.edf.org/launch\" target=\"_blank\">https://www.edf.org/launch</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.futuregenerationstribunal.com/\" target=\"_blank\">https://www.futuregenerationstribunal.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.globalmethanepledge.org/#pledges\" target=\"_blank\">https://www.globalmethanepledge.org/#pledges</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.lancetcountdown.org/2023-report/\" target=\"_blank\">https://www.lancetcountdown.org/2023-report/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.noaa.gov/weather\" target=\"_blank\">https://www.noaa.gov/weather</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.nottoolateclimate.com/\" target=\"_blank\">https://www.nottoolateclimate.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.ourclimateourfuture.org/video/secret-talking-climate-change/\" target=\"_blank\">https://www.ourclimateourfuture.org/video/secret-talking-climate-change/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.tarabrach.com/\" target=\"_blank\">https://www.tarabrach.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.ted.com/talks/renee_lertzman_how_to_turn_climate_anxiety_into_action\" target=\"_blank\">https://www.ted.com/talks/renee_lertzman_how_to_turn_climate_anxiety_into_action</a></li>\n\n</ul>\n\n<h4 data-heading=\"Articles\">Articles</h4>\n\n<ul>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://heatmap.news/politics/the-climate-coalition-is-threatening-to-split-apart\" target=\"_blank\">https://heatmap.news/politics/the-climate-coalition-is-threatening-to-split-apart</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://novaramedia.com/2024/01/14/we-are-in-the-post-climate-change-world-aaron-bastani-meets-gaia-vince/\" target=\"_blank\">https://novaramedia.com/2024/01/14/we-are-in-the-post-climate-change-world-aaron-bastani-meets-gaia-vince/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.aljazeera.com/news/2024/1/7/can-pakistans-indus-river-dolphins-be-saved\" target=\"_blank\">https://www.aljazeera.com/news/2024/1/7/can-pakistans-indus-river-dolphins-be-saved</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.bloomberg.com/news/articles/2024-03-15/why-having-a-baby-isn-t-really-bad-for-the-planet?sref=DJ6uFsR8\" target=\"_blank\">https://www.bloomberg.com/news/articles/2024-03-15/why-having-a-baby-isn-t-really-bad-for-the-planet?sref=DJ6uFsR8</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.carbonbrief.org/revealed-how-colonial-rule-radically-shifts-historical-responsibility-for-climate-change/\" target=\"_blank\">https://www.carbonbrief.org/revealed-how-colonial-rule-radically-shifts-historical-responsibility-for-climate-change/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.climate.gov/news-features/features/happy-200th-birthday-eunice-foote-hidden-climate-science-pioneer\" target=\"_blank\">https://www.climate.gov/news-features/features/happy-200th-birthday-eunice-foote-hidden-climate-science-pioneer</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.climatedrift.com/p/a-guide-to-enteric-methane\" target=\"_blank\">https://www.climatedrift.com/p/a-guide-to-enteric-methane</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.ctvc.co/dry-powder-for-climate-2023/\" target=\"_blank\">https://www.ctvc.co/dry-powder-for-climate-2023/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.economist.com/finance-and-economics/2024/03/14/how-nimbys-increase-carbon-emissions\" target=\"_blank\">https://www.economist.com/finance-and-economics/2024/03/14/how-nimbys-increase-carbon-emissions</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.gatesnotes.com/Visiting-Texas-to-see-the-future\" target=\"_blank\">https://www.gatesnotes.com/Visiting-Texas-to-see-the-future</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.motherjones.com/environment/2023/11/green-groups-housing-crisis-ceqa-environmental-density-nimby/\" target=\"_blank\">https://www.motherjones.com/environment/2023/11/green-groups-housing-crisis-ceqa-environmental-density-nimby/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.newyorker.com/magazine/2018/11/26/how-extreme-weather-is-shrinking-the-planet\" target=\"_blank\">https://www.newyorker.com/magazine/2018/11/26/how-extreme-weather-is-shrinking-the-planet</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.newyorker.com/magazine/2023/10/23/the-great-cash-for-carbon-hustle\" target=\"_blank\">https://www.newyorker.com/magazine/2023/10/23/the-great-cash-for-carbon-hustle</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.nps.gov/subjects/fire/indigenous-fire-practices-shape-our-land.htm\" target=\"_blank\">https://www.nps.gov/subjects/fire/indigenous-fire-practices-shape-our-land.htm</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.nytimes.com/2022/07/12/opinion/net-zero-global-warming.html\" target=\"_blank\">https://www.nytimes.com/2022/07/12/opinion/net-zero-global-warming.html</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.nytimes.com/2024/02/20/opinion/indigenous-peoples-biodiversity-climate.html\" target=\"_blank\">https://www.nytimes.com/2024/02/20/opinion/indigenous-peoples-biodiversity-climate.html</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.nytimes.com/interactive/2022/12/13/climate/climate-footprint-map-neighborhood.htm\" target=\"_blank\">https://www.nytimes.com/interactive/2022/12/13/climate/climate-footprint-map-neighborhood.htm</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.theguardian.com/environment/2024/mar/13/playing-thriving-reef-sounds-underwater-speakers-save-damaged-corals\" target=\"_blank\">https://www.theguardian.com/environment/2024/mar/13/playing-thriving-reef-sounds-underwater-speakers-save-damaged-corals</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://en.wikipedia.org/wiki/Common_But_Differentiated_Responsibilities\" target=\"_blank\">https://en.wikipedia.org/wiki/Common_But_Differentiated_Responsibilities</a></li>\n\n</ul>\n\n<h4 data-heading=\"Interesting companies\">Interesting companies</h4>\n\n<ul>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"http://earthscope.earth/\" target=\"_blank\">http://earthscope.earth/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"http://recyclego.com/\" target=\"_blank\">http://recyclego.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://climatefinance.fund\" target=\"_blank\">https://climatefinance.fund</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://northvolt.com/\" target=\"_blank\">https://northvolt.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.carbmee.com/\" target=\"_blank\">https://www.carbmee.com/</a></li>\n\n<li><a rel=\"noopener\" class=\"external-link\" href=\"https://www.levidian.com/\" target=\"_blank\">https://www.levidian.com/</a></li>\n\n</ul></div>",
            "url": "https://grant.codes/2024/05/03/climatebase-week-2",
            "title": "Climatebase Fellowship - Week 2",
            "date_modified": "2024-05-03T09:34:27.785Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2024/03/17/climatebase-week-1",
            "content_html": "<h2>Learnings</h2><h3>Climate</h3><ul><li>Climate change discovered all the way back in the 1850s, by an american woman - <a href=\"https://en.wikipedia.org/wiki/Eunice_Newton_Foote\" target=\"_blank\">Eunice Foote</a></li><li>Emission cuts should make up about 96% of the distance to net 0, and the bulk of the cuts are needed in the next decade</li><li>Carbon removal isn't making a difference yet - all removal that has been done to date is equivalent to around 30 seconds worth of worldwide emissions</li><li>The best climate solutions are:</li><li class=\"ql-indent-1\">Evidence based</li><li class=\"ql-indent-1\">Cheap</li><li class=\"ql-indent-1\">Ready to go</li><li class=\"ql-indent-1\">Targeted (geographically)</li><li class=\"ql-indent-1\">Granular (IE. not huge projects that need too much funding and red tape)</li><li>Nature doesn't have a design problem, people do</li><li>In general people are aware that climate change exists and is a problem, but the messaging can be scary.</li><li>Net 0 is about measuring how poorly we're doing, why not switch it to measure the good we are doing?</li><li>When building products, don't just think of the now, think about what happens after</li><li>Time to stop taking from the earth and instead reusing what we've already taken</li></ul><h3>Work &amp; Projects</h3><ul><li>Energy, transport, food and agriculture make up over 75% of current climate jobs</li><li>Work should not be an obligation, you should be able to find a sense of purpose and fulfillment in it</li><li>All the fellows are new here, don't worry about being inexperienced</li><li>Just ask if you want help. The worst they can say is no.</li><li>When coming up with project ideas:</li><li class=\"ql-indent-1\">Notice problems in your day-to-day</li><li class=\"ql-indent-1\">Become an expert on your passions / something valuable</li><li class=\"ql-indent-1\">Pay attention to changes in the world around you (covid, AI etc.)</li><li class=\"ql-indent-1\">Talk to people and organizations about their problems</li><li>Launch fast, get evidence to see if it will work</li><li>Competitions isn't necessarily bad, but if there is none why so?</li><li>Never do the \"same as x but cheaper\". Do things different, not cheaper</li><li>Most ideas don't work out, but it's a learning process</li></ul><h2>People</h2><h3>Fellows</h3><ul><li><a href=\"https://www.linkedin.com/in/coreypud\" target=\"_blank\">Corey Pudhorodsky</a></li><li><a href=\"https://www.linkedin.com/in/karina-van-schaardenburg-38755b5/\" target=\"_blank\">Karina van Schaardenburg</a></li><li><a href=\"https://www.linkedin.com/in/isaiahgarcia/\" target=\"_blank\">Isaiah Garcia</a></li><li><a href=\"https://www.linkedin.com/in/noopur-sharma-phd-bb6282a/\" target=\"_blank\">Noopur Sharma</a></li><li><a href=\"https://www.linkedin.com/in/candelarianarvaez/\" target=\"_blank\">Candelaria Primero Narváez</a></li><li><a href=\"https://www.linkedin.com/in/jared-naveed-malakouti-9533a185/\" target=\"_blank\">Jared Naveed Malakouti</a></li></ul><h3>Speakers</h3><ul><li><a href=\"https://www.linkedin.com/in/evanhynes/\" target=\"_blank\">Evan Hynes</a> - CEO &amp; Co-Founder @ <a href=\"https://climatebase.org\" target=\"_blank\">Climatebase</a></li><li><a href=\"https://drawdown.org/staff/jonathan-foley-phd\" target=\"_blank\">Dr. Jonathan Foley</a> - Executive Director @ <a href=\"https://drawdown.org\" target=\"_blank\">Project Drawdown</a></li><li><a href=\"https://mcdonough.com\" target=\"_blank\">William McDonough</a> - Chief Executive @ <a href=\"https://mcdonough.com\" target=\"_blank\">McDonough Innovation</a></li><li><a href=\"https://www.linkedin.com/in/annedowning/\" target=\"_blank\">Anne Downing</a> - Sr. Recruiter &amp; Talent Acquisition Consultant</li><li><a href=\"https://www.linkedin.com/in/david-pervan/\" target=\"_blank\">Dr. David Pervan</a> - Senior Lecturer @ <a href=\"https://climatebase.org\" target=\"_blank\">Climatebase</a></li><li><a href=\"https://www.linkedin.com/in/carolviana/\" target=\"_blank\">Carol Viana</a> - Certification Partner Support Associate @ <a href=\"https://www.rainforest-alliance.org\" target=\"_blank\">Rainforest Alliance</a></li><li><a href=\"https://www.linkedin.com/in/anushkamakhija/\" target=\"_blank\">Anushka Makhija</a> - Senior Product Manager @ <a href=\"https://formenergy.com\" target=\"_blank\">Form Energy</a></li><li><a href=\"https://www.linkedin.com/in/nicolahphillips/\" target=\"_blank\">Nicola Phillips</a> - Growth Marketing Manager @ <a href=\"https://www.latitudemedia.com\" target=\"_blank\">Latitude Media</a></li><li><a href=\"https://www.linkedin.com/in/jenmjohnson/\" target=\"_blank\">Jen Johnson</a> - Director of Marketing &amp; Communications @ <a href=\"https://skoll.org\" target=\"_blank\">Skoll Foundation</a></li><li><a href=\"https://www.laurynmorris.com\" target=\"_blank\">Lauryn Morris</a> - Founder @ <a href=\"https://www.nice.car\" target=\"_blank\">Nice</a></li><li><a href=\"https://www.linkedin.com/in/nicoleyershov/\" target=\"_blank\">Nicole Yershov</a> - Cofounder @ <a href=\"https://www.dropseedmarket.com\" target=\"_blank\">Dropseed</a></li></ul><h2>Links</h2><ul><li><a href=\"https://www.techtarget.com/sustainability/definition/green-collar-job\" target=\"_blank\">https://www.techtarget.com/sustainability/definition/green-collar-job</a></li><li><a href=\"https://www.techcarbonstandard.org\" target=\"_blank\">https://www.techcarbonstandard.org</a></li><li><a href=\"https://www.npr.org/2024/03/05/1235694992/a-new-satellite-will-track-climate-warming-pollution-heres-why-thats-a-big-deal\" target=\"_blank\">https://www.npr.org/2024/03/05/1235694992/a-new-satellite-will-track-climate-warming-pollution-heres-why-thats-a-big-deal</a></li><li><a href=\"https://www.climateu.earth\" target=\"_blank\">https://www.climateu.earth</a></li><li><a href=\"https://drawdown.org/solutions/table-of-solutions\" target=\"_blank\">https://drawdown.org/solutions/table-of-solutions</a></li><li><a href=\"https://80000hours.org\" target=\"_blank\">https://80000hours.org</a></li><li><a href=\"https://www.eesi.org/papers/view/fact-sheet-climate-jobs\" target=\"_blank\">https://www.eesi.org/papers/view/fact-sheet-climate-jobs</a></li><li><a href=\"https://high5test.com\" target=\"_blank\">https://high5test.com</a></li><li><a href=\"https://www.nice.car/\" target=\"_blank\">https://www.nice.car/</a></li><li><a href=\"https://www.dropseedmarket.com/\" target=\"_blank\">https://www.dropseedmarket.com/</a></li><li><a href=\"https://online.fliphtml5.com/xpweq/xugb/\" target=\"_blank\">https://online.fliphtml5.com/xpweq/xugb/</a></li><li><a href=\"https://www.futurecrunch.com\" target=\"_blank\">https://www.futurecrunch.com</a></li><li><a href=\"https://www.desmog.com\" target=\"_blank\">https://www.desmog.com</a></li><li><a href=\"https://www.frameworksinstitute.org/issues/climate-change-and-environment/\" target=\"_blank\">https://www.frameworksinstitute.org/issues/climate-change-and-environment/</a></li><li><a href=\"https://esal.us\" target=\"_blank\">https://esal.us</a></li><li><a href=\"https://drawdown.org/solutions\" target=\"_blank\">https://drawdown.org/solutions</a></li><li><a href=\"https://en.wikipedia.org/wiki/Eunice_Newton_Foote\" target=\"_blank\">https://en.wikipedia.org/wiki/Eunice_Newton_Foote</a></li><li><a href=\"https://www.forestspeopleclimate.org/\" target=\"_blank\">https://www.forestspeopleclimate.org/</a></li><li><a href=\"https://cleancreatives.org/\" target=\"_blank\">https://cleancreatives.org/</a></li><li><a href=\"https://www.techtarget.com/sustainability/definition/green-collar-job\" target=\"_blank\">https://www.techtarget.com/sustainability/definition/green-collar-job</a></li></ul>",
            "url": "https://grant.codes/2024/03/17/climatebase-week-1",
            "title": "Climatebase Fellowship - Week 1",
            "date_modified": "2024-03-17T15:33:04.039Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2020/08/09/100days-conclusion",
            "content_html": "<p>So my second #100days challenge comes to an end, and I would say it was another success.</p><p>I maybe wasn't quite so strict with it as last time - I may have taken 101 days and what I did on each day varied quite a lot, but I now have 100 updates and achieved quite a lot in that time.</p><p>Let's take a look at some of the bigger things I worked on over those 100 days</p><h3>Website Update</h3><p>I launched the redesign and rebuild of my website. It's now a Next.js app, and I am super happy with how it looks and Next.js seems like the perfect choice for me and is only getting better with each update.</p><p>There are definitely still plenty of potential improvements to be made, but in general I'm really happy with how it turned out.</p><p>The montly and yearly summary pages are really fun and I'm happy with the overabundance of feeds that I now have available.</p><h3>PostrChild Extension</h3><p>Although I've still not got around to releasing version 2 of the PostrChild extension I have put a lot of work into and it is very nearly feature complete.</p><p>It's definitely much better and feature filled than the first version but there are a few little bugs to iron out before declaring it ready to be published.</p><h3>Home Automation Improvements</h3><p>I also made a decent amount of random home automation improvements over these 100 days, including tracking my weight, better person presence tracking, more light, motion and temperature sensors. </p><hr /><p>All in all it was a great success!</p><p>I will definitely continue with a lot of the projects I have been working on, but I think I will take a break for a while and do something else with my spare time - I think there are some unplayed video games that are calling out to me!</p><p>P.S. Also big shoutout to my fellow <a href=\"https://kinsta.com\">Kinsta</a> coworkers who have also complete their 100 days of blogging!</p>",
            "url": "https://grant.codes/2020/08/09/100days-conclusion",
            "title": "#100days Conclusion",
            "date_modified": "2020-08-09T22:44:32.139Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2020/06/27/micropub-queries",
            "content_html": "<p>With <a href=\"https://indieweb.org/2020/West\">IndieWebCamp West just about to start</a> I figured this would be a good time to write up some of my thoughts on one of the missing pieces of the IndieWeb ecosystem: Micropub Queries.</p><h2>What is Micropub</h2><p>The quick version is that <a href=\"https://indieweb.org/Micropub\">Micropub</a> is an open standard to allow publishing to your own website from a variety of apps or clients. It's great. I love it. But it's <em>mostly</em> a one way experience, publishing only.</p><p>The spec does define ways to query and update specific posts, but they are generally not implemented by very many clients - perhaps because they are more complex to design and develop or perhaps because it's not the most useful thing.</p><h3>Increase in usage</h3><p>Recently we've also seen a couple of large projects add Micropub support in <a href=\"https://ia.net/writer\">iA Writer</a> and <a href=\"https://threadreaderapp.com/\">Thread Reader</a>. Which is awesome, but I think if queries become more mainstream there is the potential for much better apps and a more convincing reason for Micropub to be integrated into more existing apps.</p><h2>Queries</h2><p><a href=\"https://github.com/indieweb/micropub-extensions/issues/4\">Proposals for Micropub Queries</a> have been around for a while without a huge amount of movement. Maybe it's a chicken and egg type scenario, if no clients add support, then why add support to your site?</p><h3>Existing examples</h3><p>I've made a couple of things that use queries myself. My <a href=\"https://postrchild.com/\">chatbot</a> can query posts (although it's not very useful) and <a href=\"https://alltogethernow.io\">Together</a> has a useful view of your published posts as well, and <a href=\"https://indieweb.org/Indigenous_for_Android\">Indigenous for Android</a> also can show a basic list of your published posts.</p><p>But for me all those examples are fairly basic, and there is a lot of potential for more powerful and compelling experiences.</p><h3>A vision of the future</h3><p>There are so many possibilities for super useful experiences for Micropub Queries that I'm just going to list off a bunch of things I can think of:</p><ul><li>Readers could check if you have already liked, bookmarked, replied etc. to a url</li><li>Apps like <a href=\"https://indiebookclub.biz/\">indiebookclub</a> could query for books you have already read, or even track your reading progress</li><li>Save drafts to your own site and then edit and publish them from a Micropub client</li><li>Full admin UIs like the WordPress admin menu or <a href=\"https://getpublii.com/\">Publii</a> (recently mentioned in the IndieWeb chat) could support Micropub with the ability to query for drafts, trash, different post types etc.</li><li>Find your last location by querying the last post with a location included</li><li>Gallery posting apps that can query for already created photos like <a href=\"https://indieweb.org/best_nine\">best nine</a></li><li>Collection apps that can find existing posts</li><li>Search your own posts via the API</li><li>Create generic sites just using the Micropub Query API, eg. checkin views are hard, an app could query your site and generate a nice UI for you</li></ul><p>There are so many more that I've thought of and forgotten or that I've not though of yet.</p><p>Although there are plenty of nice, usable apps on the Indieweb I still think we are missing a next level experience to really highlight the power and potential of Indieweb technologies, maybe Micropub Queries could help bring that about...</p>",
            "url": "https://grant.codes/2020/06/27/micropub-queries",
            "title": "Are Micropub Queries the missing link?",
            "date_modified": "2020-06-27T16:14:37.887Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2020/05/06/wi-fi-setup-part-2",
            "content_html": "<p>After a second day of working on the WiFi I seem to have got it all working... So here goes for #100days 6</p><h3>Dynamic DNS</h3><p>Dynamic DNS basically makes it easier to connect to your home server from outside your network as your ip address is likely to change if you don't have some special internet service.</p><p>I use <a href=\"https://www.nsupdate.info/\" target=\"_blank\">https://www.nsupdate.info/</a> - it's free and open source and bullshit free</p><p>To set it up on the router I go to System → Software, first update all installed packages and then install the luci-app-ddns package</p><p>This then adds a Services → Dynamic DNS menu item - but a reboot may be needed before it becomes usable. I just edit the default placeholder item with my details from <a href=\"http://nsupdate.info\" target=\"_blank\">nsupdate.info</a>.</p><p><br></p><h3>Home Assistant Device Tracker</h3><p>I use a special package for device tracking in Home Assistant which works really well, it's super quick in comparison with other methods I have tried. I use it to switch things on and off when I leave or arrive.</p><p><a href=\"https://github.com/mueslo/openwrt_hass_devicetracker\" target=\"_blank\">https://github.com/mueslo/openwrt_hass_devicetracker</a></p><p>The instructions are good and pretty easy to follow as long as you can ssh into the router. I generally <code>wget</code> a release onto the router and install it.</p><p><br></p><h3>Backup</h3><p>Once everything is working you are going to want to make a backup so you don't have to go through this again like I just did.</p><p>Just go to System → Backup / Flash Firmware and click the backup button and save it somewhere safe</p><p><br></p><p>And that's us more or less done. There are only a few little tweaks left I may want to do like setting the default led not to be so bright and using alternative dns servers but the core of the router is working.</p>",
            "url": "https://grant.codes/2020/05/06/wi-fi-setup-part-2",
            "title": "WiFi Setup Part 2",
            "date_modified": "2020-05-06T21:59:17.919Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2020/05/05/my-wi-fi-setup-part-1",
            "content_html": "<p>After somehow totally borking my wifi the other day I have to reset it and all my custom configuration I had. So I decided to try and do a whole bunch of useful things in one go. I am writing this up live as I progress so it will be day 5 of my #100days project, and it will also serve as a reference incase I ever need to dig into my router settings again.</p><p>In my unique situation the first thing to do is switch my crappy ISP provided router into ONT mode which basically switches it off and just uses it to forward onto my own router via ethernet. So make a copy of any important settings or info from the basic router and then switch it into ONT mode.</p><p>Then with my own router is figure out what version I have and get the latest version of OpenWRT - I have a <a href=\"https://openwrt.org/toh/hwdata/d-link/d-link_dir-869_a1\" target=\"_blank\" style=\"color: inherit;\">D-Link DIR-869</a>. It supports both DD-WRT and OpenWRT but for some reason I didn't like DD-WRT so went with OpenWRT instead. In my case since I had installed it before, I had to use the upgrade image, even though I was starting from scratch. Remember that when resetting OpenWRT it is super secure by default and will only allow wired connections.</p><h3>Onto the settings!</h3><p>System → System - Set hostname &amp; timezone</p><p>System → Administration - Setup a root password and install your ssh key</p><p>Network → Wireless - Setup a main network (probably on 2 radios) + a separate hidden network for smart home devices + country codes</p><p>Network → DHCP &amp; DNS → Static Leases - Setup a bunch of static ips for your important devices that you want to talk to</p><p>Network → Firewall → Port Forwards - Here I set up a few different port forwarding rules to access my home server from outside the house</p><p>That's as far as I have managed to get today so looks like there will need to be a part 2 tomorrow, that goes over setting up dynamicDNS, a couple of extra modules and the all important backup feature.</p>",
            "url": "https://grant.codes/2020/05/05/my-wi-fi-setup-part-1",
            "title": "My WiFi setup - part 1",
            "date_modified": "2020-05-05T21:34:51.086Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2020/05/01/100-days-1",
            "content_html": "<p>So for some reason I have signed up to a 100 days of blogging challenge with my lovely coworkers at <a href=\"https://kinsta.com\" target=\"_blank\">Kinsta</a>. I've done this before a while ago and while it was challenging it was pretty fun and I got a lot done. </p><p><br></p><p>But I'm not much of a blogger. I don't particularly enjoy writing and I don't think I'm very good at it anyway. </p><p><br></p><p>But I figure I can work on plenty of other stuff every day! I have plenty of indieweb related projects and a few ideas for things I can write up.</p><p><br></p><p>So I've given myself some goals for the next 100 days:</p><p><br></p><ul><li>Convert my site to Next.js - I've already started on this but it's quite a big job. But with v9.3 Next.js includes basically everything I could ever want</li><li>Lots of website updates and improvements</li><li>Finish my rebuild of my PostrChild browser extension</li><li>Write up a couple of posts on my home automation &amp; local development setups</li><li>Organize all these projects in GitHub or somewhere public</li></ul><p><br></p><p>Outside of that I'll just see how it goes!</p>",
            "url": "https://grant.codes/2020/05/01/100-days-1",
            "title": "100 days #1",
            "date_modified": "2020-05-01T18:24:23.455Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2019/07/08/together",
            "content_html": "<p>Over the last few months I have been completely rebuilding my social reader <a href=\"https://alltogethernow.io\">Together</a>. So I felt I should write a post about it to highlight what&#x27;s changed and show off what Together has to offer.</p><p>First off just a little info on the idea of a <a href=\"https://indieweb.org/reader\">social reader</a>: A social reader is an application that can be used to read and interact with content from all around the web, not just one walled garden.</p><p>In the world of the <a href=\"https://indieweb.org\">#indieweb</a> that means following other websites and owning all your own content on your own website.</p><h2>Features</h2><h3>Layouts</h3><p>The content you follow from around the web comes in all different forms, it doesn&#x27;t make sense to force a photo into the same layout as long form blog post.</p><p>To help with this Together supports a number of views:</p><h4>Timeline View</h4><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/timeline.jpg\" class=\"alignwide\"/><p>The timeline view is similar to what you might find in twitter or facebook.</p><p>Each post has it&#x27;s own card in a scrolling list of cards. Great for shorter format and mixed content.</p><h4>Classic View</h4><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/classic.jpg\" class=\"alignwide\"/><p>Inspired by classic RSS readers such as Google Reader (r.i.p.). The classic view uses a 2 column layout with small post previews on the left and you can click into a single post to view it on the right.</p><p>This view works well for longer form articles or news updates.</p><h4>Gallery View</h4><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/gallery.jpg\" class=\"alignwide\"/><p>The gallery view shows a grid of photos and videos from your feeds.</p><p>You can click into an individual photo or view to view it full screen and swipe through them.</p><p>I use this view to follow my instagram feed and the <a href=\"https://micro.blog/discover/photos\">micro.blog photo feed</a>.</p><h4>Map View</h4><p>A more niche view is the map view that shows where the most recent posts in a channel come from.</p><p>This can be used to have a nice view where your friends have checked in recently.</p><h3>Previews</h3><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/preview.jpg\" class=\"alignnone\"/><p>Something I worked on quite a bit for this release was the feed following and preview UI.</p><p>The preview and search is now contained in one unified box, it&#x27;s now much easier to see exactly what you searched for and what feed you are previewing.</p><h3>Inline actions</h3><p>Inline actions are not new in this version of Together, but have seen an update. The actions let you reply, like or repost to your website via <a href=\"https://indieweb.org/micropub\">micropub</a>, perform admin actions (like blocking and muting sources) and viewing or loading the original content.</p><p>New in v3 is the consistent option to attempt to reload the content again from the source. This is useful for (annoying) feeds that only provide a short preview of a posts content.</p><p>Another new feature in v3 are the improved notifications. When you post a reply or like, notifications now have buttons to view your created post or immediately delete it if your micropub endpoint supports <a href=\"https://www.w3.org/TR/micropub/#delete\">deletes</a>.</p><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/notification.jpg\" class=\"alignnone\"/><h3>Settings management</h3><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/following.jpg\" class=\"alignnone\"/><p>Channel settings have also seen a bit of an upgrade in v3, in particular the list of feeds you are following, or have blocked or muted. You can now more easily see exactly what each feed is and click through to view it.</p><h3>Micropub Queries</h3><p>This one is exciting to me! <a href=\"https://github.com/indieweb/micropub-extensions/issues/4\">Micropub queries</a> are very experimental but if your micropub endpoint supports them it allows Together to query your own website for recently published content that can then be displayed and managed.</p><p>My site also supports various <a href=\"https://indieweb.org/posts#Types_of_Posts\">post types</a>, so I can see my photos, notes, articles or a variety of other content.</p><p>When viewing these posts from your own site you can also edit and delete them all from within Together.</p><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/micropub-query.jpg\" class=\"alignwide\"/><h3>Share Target</h3><p>I constantly find articles and content online that I want to interact with or store on my own website, and the Together share target helps facilitate that. Now if Together is installed as a PWA with chrome, you can natively share content to it, and then interact with that content, like writing a reply or liking the url.</p><h3>Contributions &amp; Donations\r</h3><p>\rWith this new release, I&#x27;ve also added the ability to donate money towards the development of Together if you are so inclined. Payments are handled via my own website at <a href=\"https://pay.grant.codes\">pay.grant.codes\r</a>. At some point I&#x27;d like to make this more obvious in a non-annoying way, but I&#x27;ve not thought of how to do that yet.</p><p>\rNon monetary contributions are also easier now too! In particular opening a GitHub issue is just a click away with error messages being autofilled into the issue.</p><h2>Tech details</h2><p>V3 of Together was a near total rewrite. Now the backend is a <a href=\"https://graphql.org\">GraphQL</a> server writtin in nodejs using Apollo and the frontend is a react app that reads from the server.</p><h3>Backend</h3><p>The <a href=\"https://github.com/alltogethernow/server\">new backend for Together</a> is a GraphQL server. It is totally independent from the frontend, so if you want to run your own version for your own project you are very much welcome to.</p><p>The backend is basically a bridge between <a href=\"https://graphql.org\">GraphQL</a> and <a href=\"https://indieweb.org/microsub\">Microsub</a> and <a href=\"https://indieweb.org/micropub\">Micropub</a>.</p><p>Microsub maps quite well to GraphQL as it is based on JF2 which is a strictly defined format.</p><p>But there are a few transformations that the Together server performs: It converts keys for all properties to camel case, and fills in a few properties with smart defaults, such as feed names are based on their url if there is no name, channels have a number of custom properties that mainly relate to Together settings, these are prefixed with &quot;_t_&quot;</p><p>Micropub on the other hand uses uses the much more fluid microformats2 format, which does not map nearly so well, so there is a bit of passing json strings involved and some conversion between mf2 and jf2.</p><p>For realtime updates, data is pushed from the server using GraphQL <a href=\"https://www.apollographql.com/docs/apollo-server/features/subscriptions\">subscriptions</a> over websockets.</p><p>On the server your microsub endpoint is polled every minute for updates, and if there is new data it is pushed to the client.</p><p>A small amount of persistent data is also stored in a <a href=\"https://www.mongodb.com/\">mongodb</a> database. This is mainly for user data, such as their endpoint info, token, and channel settings.</p><h3>Frontend</h3><p>The <a href=\"https://github.com/alltogethernow/web\">Together frontend</a> has always been built with react, but now it has been updated to be much more performant using newer features. All components have been converted to use <a href=\"https://reactjs.org/docs/hooks-intro.html\">react hooks</a>.</p><h2>Misc</h2><h3>IndieAuth Library</h3><p>A while back I made (with a lot of help from <a class=\"h-card\" href=\"https://martymcgui.re/\">@Marty McGuire</a>) an <a href=\"https://indieweb.org/indieauth\">IndieAuth</a> helper library that improves on a lot of issues with the auth implementation I had used before. So I now use that in together so there should be fewer issues with people trying to log in.</p><h3><a href=\"https://github.com/grantcodes/postrchild-editor-base\">@postrchild/editor-base</a></h3><p>As part of a bunch of my projects I have forms to create mf2 content for micropub posts, I had this extracted into a reusable form, but it previously was not very well made and didn&#x27;t follow a lot of react best practices.</p><p>But I have also rebuilt this to be way more performant and extendable, so now it is ideal for creating both super simple micropub client interfaces as well as far more advanced, customized interfaces.</p><h3><a href=\"https://microsub-middleware.glitch.me/\">Microsub Middleware</a></h3><p>This is another little side project that works independently of Together. It simply watches your microsub channels and then automatically performs actions on the content.</p><p>At the moment I mainly use it to roll up likes and bookmarks in my channels into one post per day instead of cluttering up my feeds.</p><p>It also has an option to only keep the most recent checkin post of all users in a channel, this lets me keep an up to date location map of my indieweb friends.</p><h3>Glitch Indieweb Starter</h3><p>Want to use all these awesome things I have mentioned but don&#x27;t know where to start? I&#x27;ve made something that can maybe help you with that! <a href=\"https://indieweb-starter.glitch.me\">indieweb-starter.glitch.me</a> is a pretty basic indieweb website that you can remix to instantly create your own (quite basic) website that supports IndieAuth, Micropub and Microsub - basically everything you need to get started using Together.</p><p>I wouldn&#x27;t recommend it as your main forever website, but it is a nice place to start out and try out some indieweb functionality before moving to something more permanent.</p><h3>PostrChild Browser Extension</h3><p>With the other updates I also needed to update the <a href=\"https://postrchild.com\">PostrChild browser extension</a>. So there will be a few updates there soon. The one I am currently happiest with is the automatic caching of a new post you are writing, it makes me feel much more comfortable knowing my content isn’t going to be lost.</p><h3>Granary</h3><p>I have to give a shoutout to <a href=\"https://granary.io\">granary</a> and <a href=\"https://snarfed.org\">snarfed</a>! Granary is a useful tool that can be used to convert data from silos such as twitter and instagram into a more friendly formats for the open web. I use this to covert my instagram feed and twitter lists into microformats2 html to follow in Together.<br/></p><p></p>",
            "url": "https://grant.codes/2019/07/08/together",
            "title": "Together v3",
            "summary": "An update on what is new in Together",
            "date_modified": "2019-07-08T20:34:22.043Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        },
        {
            "id": "https://grant.codes/2019/01/11/my-new-posting-workflow",
            "content_html": "<p>So I have been working away on some new features on my site for quite a while now and it looks like everything is about ready.</p><p>Honestly I don&#x27;t particularly enjoy writing long-form content, so it is kind of strange that I have really enjoyed working on this new functionality.</p><hr/><h2>The Inspiration</h2><p>I was rather inspired by the new block editor in WordPress (a.k.a. Gutenberg), there has been a lot of talk about it - with many varying opinions. But what I think can be almost universally agreed on is that an editor that is a bit more flexible than just a single rich text box leads to much more engaging content.</p><p>So with that in mind I set about first updating my own site to support long form articles in a much richer manner.</p><h2>The Articles</h2><p>Setting up an article view for my site was fairly straightforward. I wanted it to be about as simple as you could get.</p><p>So this view you are looking at is pretty close to the default post view with a few changes:</p><ul><li>No topography background (cool, but distracting when reading)</li><li>Hidden navigation (minimalism ftw)</li><li>The content is centered and a bit wider than normal.</li></ul><p>After that I knew I wanted to support at least wide and full aligned content - much like WordPress, so I borrowed their .alignfull and .alignwide class names and added support for them on this view.</p><h2>The Editor</h2><p>Now here is the real challenge! I wanted a feature rich editor to run on the frontend of my site, and it turned out I was able to make an editor that has the potential to work for anyone with an indieweb site thanks to microformats.</p><p>The editor looks for the microformats .p-name and .e-content classes, and injects itself into those elements.</p><h3>Core Features</h3><h4>Inline editing</h4><p>You can load the editor on you own site and uses the styles of your website</p><h4>Markdown Shortcuts</h4><p>If you start a paragraph with ### and a space it will turn that block into a h3, if you start with a &gt; you get a blockquote, etc.</p><img alt=\"\" src=\"https://grant.codes/media/2019/01/13/markdown-shortcuts.gif\" class=\"alignwide\"/><h4>Blocks</h4><p>The editor has a fairly loose idea of blocks. They can be added using a / in a empty paragraph or some are automatically made when you drop a file into the editor. At the moment I have kept them fairly simple:</p><ol><li>Image block</li><li>Audio block</li><li>Video block</li><li>Embed block</li></ol><img alt=\"\" src=\"https://grant.codes/media/2019/01/13/oembed-block-1.gif\" class=\"alignwide\"/><h4>Alignment</h4><p>Blocks can be wide or full aligned (if you have the right css styles)</p><img alt=\"\" src=\"https://grant.codes/media/2019/01/13/alignment.gif\" class=\"alignwide\"/><h4>Mentions</h4><p>You can @mention IndieWeb people. Currently it is only people from the IndieWeb Directory, but in the future I&#x27;d like to make it work with users personal nickname caches.</p><img alt=\"\" src=\"https://grant.codes/media/2019/01/13/mentions.gif\" class=\"alignwide\"/><h4>Other Micropub Properties</h4><p>I&#x27;ve enabled a decent set of other micropub properties in the sidebar.</p><h3>The Future</h3><p>Although the PostrChild extension is fairly usable right now, I think it is a long way from complete, I&#x27;ve had a bunch of ideas I&#x27;d like to at least look into:</p><ul><li>Using nickname caches for mentions</li><li>Potentially more block types - a code snippet and raw html block would probably be useful</li><li>Auto saving posts as drafts</li><li>Maybe a UI to list posts or drafts via micropub queries</li><li>Ability to create a new post / reply from anywhere, without first needing to visit your site</li><li>Improve user on-boarding</li><li>Fix some UX issues, like scrolling the cursor into view when at the bottom of the page and always having a blank paragraph available to type in.</li></ul>",
            "url": "https://grant.codes/2019/01/11/my-new-posting-workflow",
            "title": "My New Posting Workflow",
            "summary": "Inline editing on my own website",
            "date_modified": "2019-01-11T01:13:26.459Z",
            "author": {
                "name": "Grant Richmond",
                "url": "https://grant.codes"
            }
        }
    ]
}