from Roscoe's Quick Notes

Twins vs Yankees

Joined in progress.

Today's MLB game of choice is joined in progress. The Twins and Yankees are playing through the 3rd inning, and the Twins are leading, 1 to 0. I'm following the game's scores and stats in real time via MLB's Gameday Service where we can also find links to the radio-call of the game provided by announcers of either team we choose.

And the adventure continues.

 
Read more...

from eivindtraedal

Document er en fiende av norske etablerte medier. Deres busimessmodell er å diskreditere de såkalte “mainstream media” for å spre sitt høyreekstreme tankegods. At de kan pynte seg med medlemskap i Redaktørforeningen er en fallitterklæring for norsk presse. Endelig kommer flere redaktører på banen i protest.

Dette er, som kjent, Anders Behring Breiviks gamle favorittblogg. Han leste ikke Document for å finne reisetips eller kakeoppskrifter, men fordi de spredte den hatefulle og konspiratoriske tankegodset som inspirerte Breivik til å sprenge regjeringskvartalet og massakrere barn. Den dag i dag pisker de opp hat mot AUF-ere, spesielt Gaute Skjervø, og bruker landssviker-retorikk mot statsministeren.

Angrep på etablerte medier er en sentral del av Documents virksomhet. Filter Nyheter bringer denne uka noen ferske eksempler fra podcasten “skogpodd”, der redaktør Hans Rustad raljerer over sine “kolleger”: NRK «minner litt om Goebbels” journalistene i NRK er «propagandasoldater», VG er «spydspissen for den dype staten» og Aftenposten «tjener ondskapens hær i himmelrommet». Dette kan man altså få millioner i pressestøtte for.

Hvilke redaktører ønsker å gi godkjentstempel til en slik brønnpisser? Svar: alle sammen! Bortsett fra en liten håndfull prinsippfaste redaktører som nå velger å melde seg ut i protest. Resten ser ut til å trives godt med å låne sin troverdighet til Documents samfunnsnedbrytende virksomhet.

Hva er det man egentlig er redd for her? At Document skal få vann på mølla? At forsøk på “kansellering” skal gi dem unnskyldninger til å spille offerrollen? Her er greia: de trenger ikke noe vann på mølla. Mølla går av seg selv. Document kommer til å anklage “mainstream media” for å være korrupte og onde uansett. Likevel velger altså våre etablerte medier å svare på de konstante angrepene ved å låne Document sin troverdighet. Hans Rustad jobber hardt for å undergrave norske redaktører, og de svarer med å låne ham spaden sin.

Eller for å sitere Churchill (beklager, jeg har blitt mann 41, det er obligatorisk): “You were given the choice between war and dishonor. You chose dishonor, and you will have war”. Document vil fortsette å undergrave den frie pressen og demokratiet vårt for å fremme sin ekstreme agenda. Det eneste norsk presse kan velge, er om de vil vise ryggrad eller ta angrepene liggende. All honnør til dem som står opp og sier fra.

 
Read more... Discuss...

from Blog of Sand

Starcraft Co.– A Retrospective

Now that Starcraft Co. is finished, I wanted to just give a few thoughts, reflections and future ideas. First off, it turned into a much larger project than I initially anticipated. The final product was 348 pages, 131452 words and 33 chapters... a proper novel. The writing style evolved as the missions became more detailed. Initially I started with just short action sequences, which made sense considering the early missions were very simple and linear. As the scope of the campaign broadened, it turned into more of an epic sci-fi style space opera. Because it was based on an RTS campaign written over 20 years ago, there wasn't a ton in the way of world building and character development, so I did my best to fill in the gaps without having to completely rewrite the narrative or add in non-canon content. Overall I'm happy with the final product.

I felt the story really captured the theme of the original campaign, quality over quantity in combat. A small mercenary outfit focused extensively on improving their skill and equipment and this allowed them to continually face foes with overwhelming superiority in numbers and come out victorious. They simply scaled up from there. The Protoss alliance was interesting to develop because in the campaign there isn't a ton of build up to it, and yet they become an integral part of the final missions. So, developing this was fun. In retrospect, the betrayal felt a little sudden, like clearly the UIC was corrupt, but the degree to which Starcraft Co. turned on them is a little out of left field in the campaign. So I made sure to foreshadow this in missions prior to Greed, which really kicks it into overdrive. If I was to do it all over again, though, I'd lay the groundwork earlier. I think I made up a lot of the campaign as I went along originally, so this makes sense. The early missions were pretty simple, but that was more me learning how to use the campaign editor. I didn't really understand triggers until mission 9.

There was of course some inevitable repetition, as RTS campaigns are well... repetitive. I don't imagine many people would be interested in reading it in its entirety, but it was a fun experiment/challenge nonetheless. I'll probably host/post the entire document at some point down the line, I just haven't decided how yet. In the meantime, some future ideas:

Starcraft Co. 2

I had a planned second campaign, that starts right at the end of Starcraft Co. that I never actually created. The original campaign never reveals the true antagonist, who set the renegade scientists entire plan into motion. Terrans alone never would have been able to figure out how to enslave/breed zerg, let alone grow an Overmind. So this campaign was going to explore who did it and have you play as this mysterious antagonist, with Starcraft Co. themselves playing the role of the villain. This would take a lot of work since I never actually drafted the campaign, and I could do it in a few ways:

1)Actually dig out the old Brood War Campaign editor (or a 3rd party one) and make the campaign. Then use that as a template for the next installment. This would be fun, but especially time consuming.

2)Just sketch out the narrative using the lore I have built up as a template.

3)A hybrid. Don't make every mission, but a few of the more interesting ones and fill in the blanks. Honestly this is the most appealing at the moment.

It will be a while before I try to tackle Starcraft Co. 2, if I ever do, but I think it could be fun.

Continuing the Inbetweeners

We are about 20 installments deep into the Inbetweeners and not even close to halfway through. I'll keep plugging away at this one as I have time. I anticipate it will eventually eclipse Starcraft Co. in scale based on the amount of lore I have piled up.

The Indeterminate Trials of Marius (working title)

Project I've been sketching out, involving an unfortunate protagonist who has a seemingly endless series of trials he must complete to return to his family and regular life. I'm still working out the details but I'm planning on rolling out the first installment at some point.

Other RTS campaigns.

Maybe I can dig back in the old memory vault and resurrect other StarCraft Campaigns, or maybe some old Age of Empire's 2 campaigns I created back in the day. These would be much smaller in scope than Starcraft Co.

And of course, miscellaneous treatises, short stories, writing experiments, etc will continue to be produced. Stay tuned!

 
Read more...

from Nomina Numina

It's only been a few weeks since I started sharing these pages, and I'm now better in command of my research and investigations than before I began. I must not underestimate what writing here has done for my understanding and my peace of mind.

Two things from my Thus wrote I post (August 31, 2026) call out to me today:

“Speaking my truth to the world is better than letting my inner world consume me whole.”

And:

“Silence also corrodes. If left unmanaged, some unspoken words and thoughts become toxic. They rush the mind, body, and soul like a firestorm, leaving nothing but ash and cinder in their wake.”

I'm not suggesting I've found some new reservoir of strength. But I do feel I've arrived at the edges of something unfamiliar, where knowledge, however subjective, and uncertainty are coming into a strange sort of balance I’ve never encountered — a cheimorropia between worlds.

But is balance preferable? Does balance mean smoothness? Is there friction that is healthy, even necessary?

#Intermundia


Notes:

  1. Cheimorropia — (n.) from Greek cheimōn (winter storm) + rhopē (the tilt of the balance before it settles); storm-poise; balance amidst chaos.

By D. Bowman Nomina Numina is a journal of my reflections, moments, and meaning-making between worlds. Reply by email.

 
Read more... Discuss...

from Nomina Numina

I came upon this quote while searching a book from my library regarding what to make of alleged psychical (anomalous) experiences when corroboration is lacking or insufficient:

“If I am the character-witness for an obscure man who relates a psychical incident, I am but one and may myself have been deceived in my impressions of him. If, however, the narrator is a famous man, and many persons of standing have spread abroad his reputation for judgment and character, it is much harder to believe that all could have been deceived in him.” — W.F. Prince

If I understand the author’s logic, reputation as collateral, with many vouchers for one, seems a sound method. Courts have run on less for centuries.

But if I were to apply the author’s logic to my own circumstances, then this would be a closed case before it ever opened. This is not a critique of his method, just of my situation, for which I’m obscure by both choice and design. No one can vouch for me, as I write under a name that cannot be easily found. No persons of standing have spread or can spread my reputation for quality character or sound judgment broadly, for I have taken careful steps so that none shall. That, in itself, may appear a self-defeating move, but I do not believe celebrity equals authenticity.

Upon a second reading of the first clause, however, I may myself have been deceived in my impressions of him. For the person vouching for the obscure man is himself a narrator. The persons of standing who vouch for the famous man are narrators in their turn, each requiring their own vouchers, each of whom may have been deceived in their own impressions, just as I may have been in my own. In this chain of vouchers, no first witness exists. There is only the telling of the experience, passed upward, and at the top, someone whose word must simply be taken.

The author would be right to doubt me if he were here today. My own events had all the witnesses their nature permitted. Outside of two or three experiences I can recall off-hand, the majority of my encounters have but two witnesses, and one of them cannot be deposed. My testimony, in part, waits here in these growing pages. Therefore, the very same doubts and burdens of proof that meet me at the bottom of the ladder also wait at the top, for everyone — famous or merely patient — with a book of entries older than I am.

#Anomalology


Notes:

  1. See also Darke Sentences: Vigenère's Chain of Knowing.

  2. Quote is from Noted Witnesses for Psychic Occurrences, by W.F. Prince (1928).

  3. A paradox of the psychical is the need to speak of it to process, understand, and integrate it, but to speak it means to take the great risk of being disbelieved, mocked, shunned, clinically probed, and institutionalized. How does one negotiate such treacherous terrain? Thus, the misunderstanding and vilification of the anomalous, and the limitlessness of the unspoken.

  4. In my vernacular, Psychical and Anomalous are one and the same.

  5. W.F. Prince was an Episcopal priest turned psychical researcher. I do not share his traditions despite what appears to be our shared, asynchronous interests in anomalous experiences. I’m certain we’d have had very robust conversations, if given the opportunity.


By D. Bowman Nomina Numina is a journal of my reflections, moments, and meaning-making between worlds. Reply by email.

 
Read more... Discuss...

from Jaran Flaath

Arne Svingen, forøvrig en av favorittforfatterene til eldstemann, løfter noen gode poeng i sin ytring på NRK.no. Det skal godt gjøres for meg å løse noen av utfordringene, men jeg kan bidra med et knippe anbefalinger som kanskje kan bidra til å navigere jungelen av litteratur for de yngre.

Lesing for barna er minst like viktig som egen lesing. I hjemme vårt har vi lest for barna siden de var veldig små, og jeg har bygget en god liste med bøker og serier jeg synes utmerker seg og som jeg gjerne kan anbefale videre.

Jeg lenker til bøkene i norske nettbutikker, men de fleste kan fint lånes på biblioteket. Å bygge en samling bøker hjemme er noe jeg har stor tro på at inspirerer til mer lesing, men det må ikke bli en barriere for å skaffe bøker til lesing. Lån på biblioteket, av andre, og bruk bursdager og jul til å ønske dere bøker til barna, er en god løsning.

Jeg synes det er vanskelig å klassifisere mange av bøkene i alderskategorier, fordi barn ofte er veldig forskjellige når det kommer til modenhet, leseferdigheter, hva de liker, og mange 13-åringer vil jeg tro (som vår) kan kose seg med bøker for de yngre barna, fordi det er gode, morsomme og trygge historier.

Denne listen blir mer som et utdrag enn en komplett liste. Det er enormt mye der ute, men her er et sted å starte.

Detektivbyrå nr 2 av Jørn Lier Horst og Hans Jørgen Sandnes

Jørn Lier Horst og Hans Jørgen Sandnes produserer detektivhistorier så blekket spruter. Det har blitt en enorm samling fengende og spennende historier som kan leses for eller av barn fra de er ganske små.

Oppdagerklubben av Bobbie Pears

En god serie fantasifulle skapninger og verdener. Har vært til glede for barna fra de var 4-5 og fremdeles for yngstemann på snart 10.

Alba og Finito av Lars Mæhle

Nyere serie om Alba og hunden hennes Finito som løser mysterier. 10-åringen synes fremdeles disse er artige.

Musse og Helium av Camilla Brinck

Her må du stålsette deg litt, da det er mange bøker og det føles til tider som det går i ring. Men barna fenges og det er en både spennende historie og fokus på gode verdier. Stå i det, så får barna en fin introduksjon til fantasy og eventyrsjangeren gjennom disse to musene og vennene deres.

Gutta i Trehuset av Andry Griffiths og Terry Denton

Her er det også en god stabel bøker for barna å fordype seg i. Kombinasjonen av morsomme tegninger, bisarre historier og fantasi-uten-grenser har gjort det til en sikker vinner for gutta mine. Eldstemann på 13 plukker dem fremdeles opp innimellom.

Bokfabrikken Arne Svingen

Kronikkforfatteren har også vært en bokfabrikk i mange år noe som har resultert i en rekke gode bøker både for de yngre og ungdom.

Spesielt etter 10-årsalderen har eldstemann fått opp øyene for universene til Svingen, kanskje aller mest de selvstående bøkene. Kan nevne Snitch, Unike Edgar, Bror, Cash Money

Familien Von Humbug av Karen Margrete Kilane og Hans Jørgen Sandnes

Nyere serie om Lucy og bestefaren. Lucy oppdager hun egentlig er del av en mystisk og til tider dysfunksjonell herskapsfamilie, von Humbug. Hun møter bestefaren sin og sammen oppdager hun familiehistorien sin, drar på elleville eventyr.

Blinkskudd for yngstemann fra 8-årsalderen.

Donald Pocket

Ikke undervurder verdien av Donald-pocket, følelsen av å krype under et teppe eller dyna med en pocket mens høststormen banker på vinduet, eller i teltet en varm sommerkveld. Egne minner med Donald-pocket i hendene er mange, og våre barn kan gjerne få oppleve det samme. Erfaringen min er at historiene fremdeles slår veldig godt an.

Kjøp samlinger på Finn.no. Hender du kommer over en banankasse med pockets for håndfull mynter. Hjelper godt med å fylle opp nevnte bokhylle med leseinspirasjon.

Dette er i hvertfall en start. Diskuterer gjerne barn, lesing og barnebøker, så hører gjerne fra deg. Send meg også gjerne dine boktips til barna!

 
Read more...

from An Open Letter

Just to be incredibly explicit, I am in no way shape or form interested in J as anything past a friend. Because we hang out a lot and we do stupid things together, a lot of people think that we are in a relationship. This isn’t necessarily great for me because both I don’t want her partner to feel worried at all or any kind of fear regarding that, but also because lot of single people might rule me out because it seems I’m in a relationship. But I think it’s honestly a really sweet thing, on how our platonic friendship and love for each other. Is that meaningful. I feel like if strangers don’t think that opposite sex friendships might potentially be relationships, their is work to be done lol. Something about being so comfortable with someone else and not worrying about being perceived in certain ways is a really comforting thought.

 
Read more...

from Things Left Unsaid

I remember when I was a child seeing a show on television with someone using a pottery wheel. It was so cool to see a lump of reddish brown clay spinning around, and being manipulated into a vase, or a bowl, or whatever. It was like magic to me. I always thought I might like to try it.

It was pretty exciting when the person shaping the clay would add too much water or make a part of the outer edge too thin. The entire project would suddenly go into speed wobble. There was really no saving or fixing it when that happened. It would fold up, and flop around wildly. Inertia would destroy it. The only thing they could do was pick up the pieces, mash them all together, and start over.

That is what my posts are like. I start off with an idea, and then I lose control of it. It goes into a speed wobble, fold ups, and pieces of it fly. Instead of starting over, I scoop the entire mess up, mash all the pieces together, and then post it. Maybe I should have started over. Put more work into it. Instead, I put the mess into the kiln. It comes out looking like a lump of clay that has some remnants of when someone had tried to turn it into a vase, and failed. Part of it smooth, part of a hand print, and what might have been the upper rim mostly squeezed together like a sneering mouth. What the fuck is that? Oh, that's when I tried to make a vase. I have to get ready for work.

 
Read more... Discuss...

from PlantLab.ai | Blog

A botanical-plate illustration on a near-black ground: a plant specimen mounted beside a ruled record card, joined by a single line - one specimen, one structured record

You have a product that sees plants: a grow camera, a controller, a garden app, a greenhouse dashboard. You want it to say something useful about plant health. The obvious path is to train your own vision model, which means collecting labelled images, standing up training infrastructure, and then owning the much harder second job forever – knowing when your model is wrong. Most teams do not want that job. They want an answer they can trust and a JSON response they can build on.

That is what a plant health diagnosis API is for. You POST an image, you get a structured result back, and the hard part is somebody else's problem: the model, the calibration, the honesty about being unsure.

What a good response actually contains

The point of an API, versus a chatbot that writes a paragraph, is that the answer is structured and machine-readable. A single image goes in. What comes back is a compact object your code can branch on – not prose you have to parse. Illustratively:

{
  "schema_version": "3.1.0",
  "results": [
    {
      "is_healthy": false,
      "health_confidence": 0.10,
      "growth_stage": "flowering",
      "growth_stage_confidence": 0.9,
      "conditions": [
        {
          "class_id": "powdery_mildew",
          "display_name": "Powdery Mildew",
          "confidence": 0.95,
          "coarse_group": "fungal_disease"
        }
      ],
      "reliability_score": 0.98,
      "bbox": { "x0": 0, "y0": 0, "x1": 1, "y1": 1, "normalized": true }
    }
  ]
}

Check the live docs for the full schema, but the shape is the point. Every field is something your integration can act on: the condition (class_id) and its confidence, the clinical family it belongs to (coarse_group), a reliability_score for that result, its growth_stage, and a bbox for each plant when more than one is in frame.

Why not just call a general vision model

You can hand a plant photo to a general-purpose vision model and get a fluent answer. Two things go wrong at scale.

It over-calls, confidently. A general model produces a confident-looking answer whether or not it has any basis for the call, and it has no idea when it is wrong. Wire that into automation and you will act on your worst inputs, because the confidence number means the least exactly when the photo is hardest.

It is prose, not data, and it is not cheap. You pay per call for a paragraph you then have to parse, normalize, and second-guess. A purpose-built diagnosis API returns fixed fields in a few milliseconds, at a cost that survives running on every frame or every upload.

The value is not “an AI looked at your plant.” It is a calibrated, structured answer you can put a threshold on.

The fields that make it safe to automate

Two fields in that response exist specifically so you can automate without getting burned.

The reliability signal is separate from confidence. Confidence is how hard the model leaned; reliability estimates how much to trust this answer on this specific image. Gate your automation on reliability, not raw confidence, and low-quality photos stop triggering actions. That distinction is the whole reason the field exists.

The family. Every condition comes back with its clinical family, its coarse_group. When two conditions genuinely cannot be separated from a photo, that family is what your logic acts on: alert, log, or ask for a better photo, rather than commit to a coin-flip between two exact names. An honest “it's in this group” is more automatable than a precise guess.

Where it drops in

Because the answer is structured JSON, it goes wherever your stack already is. It runs as a step in a Home Assistant automation or a Node-RED flow, behind a camera that fires on motion or on a schedule, or inside your own app's upload path. There is a worked Home Assistant plant-monitoring walkthrough if you want a concrete integration to copy.

The audience this fits: hardware makers who want plant-health detection on the box without building an ML team, app developers who want a diagnosis feature without owning a model, and AgTech integrators who want one detection layer that speaks JSON across their platform.

Honest about scope

A diagnosis API is only as good as its honesty about what it covers. PlantLab's live model today diagnoses 30 conditions in cannabis, with tomato in development and further crops on a public roadmap – and a crop is never called “live” in the API before a real model does the work. If your product needs a crop that is still on the roadmap, that is a straight answer you can plan around, not a silent wrong result. The reasoning behind building one crop at a time is in A Plant Lab, One Crop at a Time.

Try it

There is a free tier, so you can send a real image and read a real response before writing a line of integration code. Grab a key and the schema at plantlab.ai – one image in, structured JSON out, in about 18 milliseconds.

 
Read more...

from PlantLab.ai | Blog

A botanical-plate illustration on a near-black ground: a plant specimen examined under a magnifying glass, an early blemish visible on one leaf

An AI plant health check is easy to build and easy to trust too much. Point a phone at a plant, and half a dozen apps will name a disease in a second, with a confidence percentage that looks reassuring. The naming is the easy part. Knowing when the answer is wrong, and admitting it out loud, is the part almost nobody ships. So here are the five questions that separate a real diagnosis from a confident guess, and how to take the photo so the check holds up.


Why a photo diagnosis is harder than it looks

The problems worth catching are the ones that look alike. A plant that is short of one nutrient can look almost identical to one short of a different nutrient. Several pests leave nearly the same speckling on a leaf before the real damage shows. Light stress can mimic both. On a clear textbook photo of a single leaf, any decent model gets it right. On the crowded, backlit, dirt-splashed photo a grower actually takes, the same model has to choose between three things that look the same – and that is where most tools quietly fall apart.

So the accuracy number on the box is not the number that matters. What matters is accuracy on the hard cases, on the photos you take, and whether the tool knows the difference.

The confidence trap: confident is not the same as correct

Here is the single most useful thing to understand about any AI plant health checker.

Confidence is how hard the model leaned. Accuracy is how often it is right when it leans that hard. They are not the same number. Hand a general-purpose AI a plant photo and it will produce a confident-looking percentage whether or not it has any basis for the call. On an easy photo the two line up. On a hard one they can point in opposite directions – a “90% confident” that is wrong more often than a coin flip.

A well-calibrated tool is one where the confidence tracks reality: when it says 90%, it is right about nine times in ten; when it says 40%, it hedges because it genuinely is not sure. A poorly calibrated tool prints a high number every time, because a high number feels better and nobody checks. The gap between those two matters the moment you act on the answer – especially if you wire it into anything automated, where you will end up acting on the worst photos, the ones where the number means the least.

Five questions to ask any AI plant health check

You do not need to see inside the model to judge it. You can judge it from its behavior, with five questions.

1. Does it ever say “I'm not sure”? A tool that always returns a confident single answer is not being confident, it is guessing with good posture. Over-calling, naming a condition it cannot actually distinguish, is the most common failure of consumer plant apps, because a definite answer feels more useful than an honest hedge. Watch for whether it ever hedges at all.

2. Does the confidence track reality? Test it. Give it an obviously healthy plant and an obviously sick one. A calibrated tool is near-certain on both. Then give it a genuinely ambiguous photo – a faint early spot, a lookalike. If the number stays pinned near 100%, the confidence is decoration. If it drops, the tool is being honest.

3. When it is unsure, does it tell you what it is unsure between? The honest answer to a hard photo is often not the most specific one. “A magnesium-group deficiency” or “a sap-sucking pest” is more useful than a confident coin-flip between two exact names, because you can act on the family while you rule out the specifics. A tool that only ever commits to one exact label is hiding its uncertainty from you.

4. Does it work on the photo you actually take? Try the tool on a whole-plant shot, not a tight macro of the damage. Diagnosis is comparative – which leaves are affected, old growth or new, the pattern between the veins or across them, how the rest of the plant looks. Crop all that away and even a good model is guessing. If a tool demands a perfect single-leaf studio shot to work, it will not survive your grow room or your garden.

5. Is it honest about what it covers? Every model has a scope – which plants, which conditions, what it was never built to see. A tool that claims to diagnose anything, on any plant, at high confidence, is telling you it does not know its own limits. Ask what it does not do. The answer tells you whether to trust the answers it does give.

How to photograph a plant so the check holds up

The fastest way to get a wrong answer is a bad photo, and the instinct that produces bad photos is a strong one: when a leaf looks wrong, you zoom in on the damage. That throws away the context the diagnosis depends on. A few habits that measurably change the answer:

  • Shoot the whole plant, then the affected area. The damage is already in the wide shot, and the wide shot carries the comparison the model needs.
  • Do not overexpose. Brighten a photo past the point where the bright areas wash out, and a sick plant can read as healthy – the worst kind of wrong answer, a confident all-clear on a plant that needs help.
  • Get reasonably close and steady, but do not obsess over sharpness. Mild blur is survivable; a good tool loses confidence gracefully when the image is poor, rather than inventing a crisp wrong answer.

We measured these effects and wrote them up in a companion post on how to photograph plants for diagnosis – the framing findings hold regardless of what you grow.

Where PlantLab fits

PlantLab is an AI plant health diagnosis lab. It was built around the five questions above, because the reason it exists is that a general-purpose chatbot once looked at a plant, said the wrong thing with total confidence, and cost real time.

Concretely, on the plant-neutral side of what those questions ask for: every diagnosis carries a calibrated reliability signal – a second number that estimates how much to trust this specific answer on this specific image, not just how hard the model leaned. When two conditions genuinely cannot be separated in a photo, PlantLab returns the family rather than a confident coin-flip. It reads the whole plant, not a lone cropped leaf. And it is honest about scope: the live model today covers 30 conditions in cannabis, with tomato and further crops on a clearly-labelled public roadmap, where a label only ever means what it says and no crop is called “live” before a real model does the work. You can read why it is built one crop at a time in A Plant Lab, One Crop at a Time, and what is coming next in I'm Building Tomato Diagnosis Next.

For people building on top of it rather than tapping a phone screen, the same answer comes back as structured JSON: the diagnosis, the family, the reliability signal, the growth stage, per-plant bounding boxes. That is why it drops into Home Assistant and other automation without anyone having to train a model themselves.

The takeaway

An AI plant health check is worth exactly as much as its honesty. A tool that always sounds sure is easy to build and easy to be burned by. A tool that tells you when it is not sure, tells you what it is unsure between, and works on the messy photo you actually took – that is the one you can act on. Judge every plant app by those five questions, take the wide shot, and trust the number that is willing to be low.

You can run a free plant health check at plantlab.ai – answer in about 18 milliseconds, calibrated reliability included, no account required to try it.

 
Read more...

from Jaran Flaath

I starten av september dro vi til Helsinki for en langhelg med fokus på god mat og drikke, og lave skuldre.

Jeg visste veldig lite om Helsinki før avreise, men hadde med en svoger som hadde gjort en del research på forhånd og påtatt seg booking av et par spisesteder i forkant. Det er alltid min regel nummer #1 på reise: Ferdig booket middag, og gjerne lunsj, på forhånd. Det er lite som ødelegger ferieidyllen som å skulle finne en spiseplass når blodsukkeret er i bunn.

Helsinki var en overraskende behagelig by. Gatene opplevdes trygge, de var rene og ryddige, og jeg tror vi kunne telle på én hånd de spisestedene vi ikke synes det fristet å sette seg ned på. Mange andre storbyer synes jeg ofte har i overkant mange kebabhjørner og mer eller mindre tomme, lugubre spiseplasser.

Oppsummert etter langhelgen kan jeg fortelle dette:

Finner stresser ikke. De utøver ikke vold eller bråker unødvendig.

De er skandinaver, så de er ikke overdrevet imøtekommende eller har noen overdreven påtatt interesse i “how you are doing?”, men de er høflige og hyggelige. Midt i blinken for oss andre skandinaver med andre ord.

Jeg tror knapt vi hørte en sirene, og så hele fire politi mens vi var der. I Oslo eller København går det vel knapt fem minutter mellom en sirene skriker seg gjennom gatene. Jeg har ikke sjekket volds- eller ulykkesstatistikken, om det skiller nevneverdig mellom byene, eller om vi bare var heldige og traff på årets roligste helg.

Uansett. Helsinki anbefales varmt. 10 av 10. Under følger en liste over ting vi så og plasser vi besøkte, som jeg kan anbefale du også stikker innom om du skal så i lende.

Retro Enoteca

Hjemmelaget pasta. Både med og uten gluten! Helt vanvittig pasta-opplevelse.

🌐 https://retroenoteca.fi/en/

Grön

Kulinarisk høydepunkt. To Michelin-stjerner, men jeg tror plassen hadde vært helt utrolig også uten.

🌐 https://www.restaurantgron.com/

Löyly

Morgenbadstu fra 9-11 i helgene var en skikkelig god start på dagen. Nydelig beliggenhet og fire forskjellige badstuer å veksle på. Prøv røyk-saunaen! Adgang til å hoppe rett i det baltiske hav for nedkjøling. Kan også anbefale pause med noe godt i glasset rundt peisen midt i lokalet.

🌐 https://www.loylyhelsinki.fi/en

Godt valg for litt kulturelt påfyll. Mye fint, både av mer klassisk og nyere kunst.

🌐 https://ateneum.fi/en/

Konsolinet, Kamppi

Er du gamer, spesielt på konsoll? Da må du ta turen innom her. Eneste gangen jeg satt mine føtter innenfor shopping-kategorien på denne turen. Haugevis av både nye og gamle spill, konsoller og utstyr.

🌐 https://en.konsolinet.fi/

Trillby & Chadwick

Unik drink-bar. Helt spesielt sted, med en spennende historie. Drakk drink av et bittelite badekar. Middels på smak. Maks på opplevelse. Masse gode drinker, både med og uten alkohol.

🌐 https://www.sonofapunch.com/restaurants/trillby-chadwick

Grapes Wine Bar

Nydelig liten vinbar med herlig atmosfære. De har ingen vinliste, de åpner noen flasker etter humør hver dag som gjør det til en plass som fint kan besøkes om igjen og om igjen.

🌐 https://www.grapewinebar.fi/?lang=en

Masse mer vi burde ha gjort og sett, men det tar også litt tid å ta det med ro. Så har vi noe til neste gang, for vi skal absolutt tilbake.

 
Read more...

from AI Tools Test | Reviews, Comparisons & Guides

A YouTube description generator is usually the last tool I open on an upload day, not the first, and the order says something honest about how attention gets spent. By the time a video is cut, the thumbnail is picked, and the title has been rewritten once or twice, there isn't much focus left over for the box of text sitting underneath the video. The description gets whatever attention survives everything that came before it.

This piece uses AllyHub's AI YouTube description generator as its running example, mainly because it fits that gap. It hands over a workable first draft at the point where your own attention for writing has already run thin. The channel's voice still has to come from you.

Why a YouTube description generator ends up last on the list

Editing gets the freshest attention because it happens first, while the footage still feels interesting and the choices still feel creative. The thumbnail gets the next wave, since a weak thumbnail visibly costs views and that's an easy thing to care about in the moment. The description sits after both of those, competing for whatever focus is left once the video already feels finished in every way that shows up on screen. It's tempting to treat it as clerical work, a formality between finishing and publishing, rather than a piece of writing that also has a job to do.

The gap between finishing a video and writing about it

A video feels done the moment the edit is locked and the thumbnail is chosen. Writing a description is a different kind of task entirely. It asks you to step back and explain, in plain sentences, what the video is and why someone unfamiliar with it should watch. That's a writing problem, not an editing problem, and it draws on a different kind of attention than the one you've been running on for the last stretch of the session. Most creators solve it the same way: paste in a line or two, drop in a link, move on. Nobody plans to skip this step. It just tends to be the one finished with whatever is left over.

What happens when attention runs out

A rushed description has a recognizable shape once you notice it. It often opens by restating the video title, which tells a viewer nothing they didn't already know. It buries the one sentence that explains the video somewhere in the middle, if that sentence exists at all. It skips timestamps, because timestamps take a few more minutes to write out by hand. None of this happens because a creator stopped caring about the video. It happens because the writing energy that would go into a clear description was already spent earlier in the session, on the parts of the process that feel more visibly creative.

What a description still needs, even a rushed one

A workable description doesn't need to be long to do its job. It needs one plain sentence, early, that says what the video covers, in words a stranger would use, not the shorthand a creator uses to describe it to themself. It benefits from a shape a viewer can scan quickly: a short opening line, then whatever links, timestamps, or credits belong underneath. And it deserves roughly the same care a title gets, because a description written with no thought behind it tends to read as exactly what it is, something finished after the attention for the day was already gone.

Where a tool helps, and where it still doesn't

A generator is genuinely useful for one narrow part of this problem: producing a first draft when you have none, structured well enough that you end up editing instead of starting from an empty box. That's a real use, worth relying on for exactly that. What a generator can't do is confirm that the draft matches the finished video, that the tone sounds like the channel, or that a claim sitting in the description is still true after the edit changed. That part still needs a short read-through by the person who made the video, every time, because a generic draft published unread isn't really an improvement over a rushed one. It just moves the rushing from writing to reviewing.

A few questions worth asking before you hit publish

Is the description finished, or just present?

Those are two different states, and it's worth telling them apart before publishing. Present means there's text sitting in the box, filling the space where a description is supposed to go. Finished means someone read it back against the video once, at whatever level of attention that check deserves. Most rushed descriptions are present, not finished, and the gap between the two usually doesn't show up until later, when a line written early turns out not to match what the video became by the time it was actually cut.

What would make this step stop feeling like an afterthought?

Probably not more willpower saved for the end of a long editing session. That supply runs out for a reason, and it runs out in roughly the same place most days. More realistically, it means treating the description as its own short task with its own moment, even a few minutes taken earlier in the process, or a draft generated ahead of time so the read-through is the only thing left once attention is thin. The description doesn't need to go first. It just needs to stop defaulting to last, every single time.

 
Read more... Discuss...

from hypocritepoet

clever children of the revolution

The day started with brilliance and joy. OH! God it was so wonderful. Moments in the sunshine, self-reflection. Soaking up every photon like a solar panel of pale silicone.

My partner sprung from bed happy as a clam. Not sure what the source is, but savoring. So unusual for this non-morning-person. Certain she'd shift everyone's clock given the chance.

Lots of illustration yesterday! Story story story! the problem i'm having is that I can't stay focused. I keep drifting from idea to idea and task to task.

Going in the ministry this morning. It's been weeks since i had a solid day at the doors. Loved it. Even the rejection.

Got the robovac going again. Just caught it trying to steal two quarters (maybe it thinks it is one of those horses outside of woolworths, ¢25 a ride).

Living room disassembled for deep cleaning: goodie night tonight Going to start with a session of Scriptionary.

Sleep was deep and refreshing. Great dream, failed to record it, now all I remember are the emotion and touch. I was in a boat—that much remains... travel dream

Finished a piece that might be hard to read for some. Still haven't decided to post.

Weather: winding and warm Countenance: bright and determined Missing level: manageable but missing

My screen is filled with colorful characters ELO Im OFF to see the wizard!

YAAY! DHL FINALLY RESPONDED. In German. All I have to do is find a local address in Germany. They'll delivery my packages there. Then I get to pay my friends to ship them a second time to the US. THANKS DHL DE. Good Grief!!! Had to go places I didn't want to go to source those friends. Hopefully the'll come through.

Insurance claim is proceeding. Sklr, the injured hired a lawyer. Our claims adjuster is like 'nbd, it's normal.' So, yay? Not stressing. Warm and windy today.

Insurance stress. Don't want to get sued. Don't have anything to give. Feels like an excercise. in futility. we drive old cars, so they of course point out they may want to total me out. Sigh. Okay, never mind. I'll do the work myself and hire paint and body to paint it.

I did get a fat thank you for your honesty from the agent when I pointed out that the bumper was from a parking lot, not the motorcycle

Break. Lovely convo with Mack. He's such a quiet and sweet guy. Largely overlooked because he can be a bit prickly at first. But it's just his defense mechanism. Hope he comes tonight.

Sara Bareilles – king of anything

Got a genuinely kind and unsolicited compliment from Ng! She is in rare form today. Thankful and happy.

Home.

Hot.

Cleaning house.

Eck! All this cat hair. Robo vac was down for a few weeks before I noticed and the cat hair is EVERYWHERE!

Continuing the Barielles concert I love a clean house. Who doesn't? IKR? Full of art and music. All i need is voices and food. Some beer. Dancing would be nice. Art takes time. That's what makes it so wonderful. It's not a thing, it's a way to see the collected energy of the artist. Barielles making me wistful.

wiystmul Pink Floyd vibrating everything. Printing and cutting cards Taking a break to draw. 2p

Cleaning bathroom. the one place chemistry is acceptable.

whoa. needed a polish.

Jackson Pollock must brush his teeth here from the grave.

https://open.spotify.com/album/1uXol4dKqzMsUiqvHpwhZh?si=R6Q8oYBnRmmI0LjpR4xiHg

house filling while Ng carries her invalid little sister to the doctor. weird: mom: 86 and sister: 66 both can play softball, handle easy falls and go go go.

the 60yo can barely walk now. Wonder if It would be better to be mentally ill or physically disabled. Mental illness isn't terrible... all the time. somtimes it's lousy. Today, i'm kind to me. Good job, boy! Keep it up.


Close to the Edge... Little bits here and there... but that last line stopped me:

Seasons will pass you by I get up, I get down

Sometimes I have FOMO. I think that's normal. but i started thinking about HS, why I was willing to grind like a dog into my late 20's for no pay as a scut-worker plumbing, carpenter-ing and roofing... I wasn't going anywhere, I was waiting for the 'destination'.

I still am.

life with out end at last. a house for everyone. no mental illness. no perverts touching little boys and girls. no greed or theft. no sickness. no broken. no down.

shadows, no doubt, for you cannot have light without dark. But not the unending grind of this life.

I was waiting and I am.

Anderson wrote a gorgeous song about change, questioning life. what it's liek to stand on the bank of a river where everything changes constantly and nothing at all ever does.

Close to the end, down by the corner Down at the edge, 'round by a river

Sudden call shouldn't take away the startled memory All in all, the journey takes you all the way As apart from any reality that you've ever seen and known Guessing problems only to deceive the mention Passing paths that climb halfway into the void As we cross from side to side, we hear the total mass retain

People question everything because what they think is solid ground and reality, are really just paper cutouts. Move off-axis 5º and you can seed the cardbaord edges of this life. Money, ironically, made of paper. But we pretend it has power. And it does, but only because we all agree the Emporer isn't really naked.

Forgetting this is the cruelest joke. THinking for a moment that this is all we are and ever will be. REMEMBERING, that this is just a phase makes me giddy and laugh.

A seasoned witch could call you from the depths of your disgrace And rearrange your liver to the solid mental grace And achieve it all with music that came quickly from afar Then taste the fruit of man recorded losing all against the hour

SUCH FANTASTIC imagery. And a little scary. Basically saying it take black magic to wake us up from our stupor. We're so busy distracting ourselves with baubles and tchotchkes we can't be bothered to hear real truth if it knocked on our damned door.

It has, for millions. But they're busy. or not interested. or just cannot hear it.

Like Raul.

It knocked on Raul's door this mornnig. Well, it was a fence shake. Truth could see Raul's legs between teh front tires of a 1966 Oldsmobile with tail like wings wide enough to float a 747. Gorgeous car, clad in rust and missing the rear wheel.

“Say, you workin' on this beast?” Truth shouted from the yard's edge, shaking the fence to get his attention.

Out poked a middle-aged hispanic face, unshaved for his day off. Clasping a sweating beer he waddled over to engage Truth.

“Eh, not really. Tinkering.” Raul said.

“Love this car. My dad is looking for a '55 Fairlane. maybe I could convince. him he needs an Olds. For sale?” Truth doubted Raul would sell it, but who knows. and it was a good conversation that would interest them both.

“Haha.” Raul laughed and sipped his morning beer. “Nahh. Not for sale. It's my brothers car. I WISH he'd sell it. It was our grandfathers. It sat in the garage for 40 years unmolested. Paint's gone, but the interior is immaculate.”

Raul complained a bit about his brother selling the the house and asking to store it in his brother's yard. Then forgetting it for 4 years. So Raul was taking advantage of the day before it got scorching hot to tinker with the timing.

“So... ever read the the Bible Raul?” Truth was pushing the conversation somewhere weightier. “Ever thought about living in a world that doesn't try to cook y our brain if your in the sun too long on a September afternoon?”

Raul waved his hand an shook head no as he smiled and sipped his beer again.

Truth smiled. “No problem. Is that a Bible thing? Or religion in general?”

“Nah,” the man replied. “Cath-O-Lick.”

His reply was almost comical.

“Ahhhh, well, I like to say, 'nobody's perfect.” Truth laughed. He always laughed at his joke. MOST people got it Once in a while it would land sour.

“Yeah. I'm Catholic.” the man paused and gestured at his knees. “But, I'm not like practicing, y'know? I can't get up and down anymore like I used to.”

“Surely they make exceptions.”

“Yeah, but you know... I kinda want to do the stuff everyone else is doing... otherwise I feel like a failure.”

Truth saw an opportunity. “God doesn't see failures, Raul. ONLY potential. He sees the potential in you.”

Raul smiled and demurred. “Yeah, I know. I know. But I go online and watch the services. Me and Jesus, we have an understanding. I'm happy like this, with the way things are. I'm fine with my choices. I know when I get to heaven, none of this will matter any more. Maybe we can talk then.”

Raul excused himself and went back to to the rusty Olds.

Truth grinned. Happy. to have had the chance to discuss his Creator.

Maybe the next house would be more welcoming.


It would not.

But you know what is?

This album!

BRO! Guests in 2.5 hours. tine to finish up teh cards adn put out the drinks!!

Nash lightnein

Side Nash

Great little car. Wonder if dad will dig it. Based on its top speed of 35mph, I’m gong to guess no.

Look at what a functional human I am. Practically getting things done. No one knows I'm really a hairs breadth from a psychotic break.

😬

Crows

you'vegotmail

working

more than ths

plan

No goodie night will ever be complete without you. Maybe next time. Def next time!!!


He did not make it.

But WOW!


Tonight was… beautiful.

‘Promptly’ seems to mean 45m late. Who am I to complain. I haven’t been on time in 30 years. Andy and Vero showed at 7 sharp. When Mack cancelled I called Jo and his wife.

“Whatcha doin’?” I asked oozing charm.

“Hey,” Jo answered, “just common’ dinner.”

“Well, turn off the stove and come over and play a game and eat snacks! We had a cancellation and you were the first person I thought of second!” I’m pretty sure he could hear the smile in my voice.

I was beaming.

“Oh, haha” he said, “we’ll be right over.”

I was overjoyed! While we waited, Caesar showed, as did Charlotte (a longtime single friend who just turned 70).

While we waited, we played a few rounds of guess who. We each wrote of our dream home. Our dream job. Our future wishes.

Then shuffled them and drew blind. Reading each card in turn, we all tried to guess what treatment went with who.

We laughed and guffawed at the obvious and were genuinely surprise at others.

‘I want to make wine’

‘I want to deep sea dive and discover new species’

‘I want to perfect wormhole travel’

We agreed time and money were o object… physics got sidelined.

Then Jo and fam arrived and we fired up ‘Scriptionary’ 2.0.

I did a version of this some time ago, tho was expanded and made better.

We.

Had.

A.

Blast.

My mother-in-law came. We had a houseful.

We couldn’t stop laughing.

Some of the prompts were SO HARD.

‘milk a goat’ ‘Gaius’ ‘Torture stake’ (I know! I thought it was a good one. Hard to draw).

For ‘Difficult’, I used a single verse they ideally was a despicable scene.

Super hard. badear 'Communicate' was the prompt. Jah calls Jehovah calls Samuel Gideon Gideon attacks

So, v3 will be simplified.

It’s 11:40 now. Quiet and hot here in. Texas.

The ten of us agreed to plan a camping trip thanksgiving weekend. Cooler weather. Everyone off work.

zine01 More to come.

zine01

More to come.

The house is quiet now.

Cups on tables. Cards everywhere. Crumbs. Chairs in the wrong places. Evidence.

A few hours ago this room was full of voices talking over one another, people laughing hard enough to lose the thread of the game, somebody shouting that their drawing was OBVIOUS when it absolutely was not.

Now just the hum of the AC and the little noises a house makes when everyone has gone home.

Funny.

Tonight feels: whole.

Not solved. Not erased. Just… crowded out.

There wasn’t room for missing anybody because the house was too full of everybody.

Maybe that’s one of the tricks.

You don’t always defeat loneliness by answering it.

Sometimes you invite ten people over, put food on the table, hand them pencils, make them draw a goat, and laugh until loneliness gets bored and leaves.

For a while, anyway.

There are worse ways to spend a Tuesday.

I’m tired. Hot. Happy.

The kind of happy that leaves wreckage.

Tomorrow I’ll clean it up.

Tonight I’m going to leave the chairs crooked.

Proof that people were here.


Oh, how I love people. And I think it shows. At one point tonight, it occurred to me that I was behaving more like an entertainer than a host. Not a complaint. Everyone needs a clown.

 
Read more...

from AnOublietteofThought

Earlier today I replaced my cat paw industrial with a death moth. I need to change balls, but I'm happy overall. I'd like to find some 3mm rhinestones, but I might get stuck with the 5mm since I sized up from 16g to 14g. I prefer the look of a 16g, but I read a few articles that concern me about migration.

I've had mine for several years now, but when the sadist of a piercer decided to shove a 14g into a two week old irritated piercing without my permission, and shattered the cartilage in my outer ear, let's just say I have concerns. I do have the correct ears for such a piercing, but the guy seriously fucked up. He has no business piercing people. I cannot accurately express how much that hurt. He lied and told me it was because it wasn't healed, then shoved it through the other hole. No taper either. That hurt even worse.

Anyway, that sent me down a rabbit hole of looking at my jewelry. I have a lot of jewelry. I've given away quite a lot, but there were many years where my adornments really meant something to me. I also design and make jewelry, so...

It wouldn't be that big of a deal, except I know that by this time next year, I will likely have much less space. Many of my pieces are made for a specific outfit that I may no longer wear. Others I may melt down and reset. Others I just like but am unlikely to wear.

I need to get real with myself and just give most of it away to someone who might treasure it. I might like certain jewelry, but that doesn't mean current me is going to choose to wear it. I realize I'm pretty predictable and basic in my adornment these days, and I like it that way.

I tend to wear silver toned jewelry. I prefer platinum, rhodium, and titanium, but I also wear sterling and stainless, as well as a few white gold pieces. I keep some yellow gold of each style just in case the outfit demands it.

My industrial is elegant and dainty because I don't enjoy changing it. I keep a range of Celtic styled cuffs. I have three lobe piercings on each ear that I prefer specific threaders, huggers, or studs for. I have flatback studs in every possible color and size. I also have several conch cuffs, but my ear tends to get annoyed with them.

I've gotten pretty particular with my necklace wearing, though I have many. That may change in the future, but it, too, stays pretty simple these days. A dainty chain and specific pendant makes me pretty happy. I can wear chokers or collars, but I find them really annoying unless I weigh about twenty pounds less than I currently do.

Bracelets are easy. I wear specific locked on cuffs almost always. My favorite have the twelve astrology constellations etched into them. They're so pretty. I have all sets in silver and gold. Same goes for anklets. If I'm wearing one it's usually a cuff, bells, or special. I keep considering welding a dainty chain on, but it's not very practical, and stockings would no longer look correct.

Rings...I once wore many rings, but it just feels over-gilded to me now. I have specific rings I wear now, but rarely more than one or two per hand. I don't wear toe rings. Anything else tends to be the same item.

Everything I wear tends to be the same items. So I'm thinking I should really just give it all away. However, much of it is memories, special occasions, and gifts. I don't know. It's a very strange feeling. Much of it, I think I should probably take it apart and add it to my supply hoard.

I froze up and got rid of nothing. There's always next time.

(Not proofread.)

© 2026 AnOublietteofThought. All rights reserved.

 
Read more...

from Sightless Scribbles, syndicated

This post is Syndicated via Sightless Scribbles

Learn how to follow Sightless Scribbles here

Read How to Download Assets from GitHub using a screen reader. online here or read this newsletter below.

GitHub, and by extension, other git based websites are very popular because they all have version control.

I've decided to make this small guide on how to download things from GitHub just in case someone might need a resource somewhere for screen reader users.

This will not be a screen reader guide on how to authenticate with GitHub, upload to GitHub, or anything else related to GitHub.

Before proceeding with reading this guide, I suggest you brush up on working with GitHub via their desktop program or brush up on using GitHub via the command line interface.

Optional, but not required, Git documentation is here, and is kind of like the massive Git explainer

Now you are familiar with GitHub, let's talk downloading things from GitHub.

GitHub currently calls downloadable packages assets. The term "asset" is what is used to generically describe anything a project will allow you to download, be that an .EXE file, source code in a ZIP file, or anything else. GitHub is used to manage so many different projects that a term to describe "releases you can download" was needed, and "asset" is that term for now.

I've included graphical instructions but below the GUI instructions, I provide command line instructions.

To explain the GUI bits, I will showcase some GitHub projects I use.

Main example project pages:

YT-DLP, a tool to download audio and video from the web.

The Accessible Markdown editor fork I use.

And finally, Pandoc, which is utterly amazing.

Find the releases pages.

To download release packages from a repository, or project, you need to find the releases page. There are multiple ways to get to the releases page.

The easiest, and fastest, way to get to all releases page is to tack on the ending /releases at the end of any project URL. For example, Pandoc releases URL is this.

https://github.com/jgm/pandoc/releases/

It's always best practice to add /latest to the end of all URLs so you can get to the latest release quickly. For example, Pandocs latest release URL can be found here

Over time, I am sure the interface will change, so the most evergreen way I can think of to find the releases is to go straight to the releases URL, but let's say you can't guess the releases URL or don't know that every releases page ends in a /releases ending. How do you get there?

After landing on a main project, or repo, page, Invoke your screen reader's find command. Type, releases, then press enter. The releases link will be immediately after the heading results for the moment.

After getting to the releases page.

Releases for any project are listed in reverse chronological order, most recent release first, and at the end of each release section are one of two things, depending on how the developer has chosen to present Assets:

  1. An Asset button that announces as, ""Assets {number} button collapsed." If his is the case, you must activate the button to expand and have the actual list of assets presented.
  2. The asset files list (e.g., the zips or EXEs or whatever is appropriate for the context) that you can download. The Assets button is set to "auto-expand" in some way. It's there, but already expanded and the list is visible.

Searching on the word "Assets" is the direct and fastest route to this location.

Most often, for projects with relatively few assets, you will simply have the list of assets showing at the end of each release's section. For projects with larger numbers of assets, the assets button is used.

Usually, for now, the release items will be in a list after you expand the assets button, so you can find whatever you want to download by navigating via list item.

So now you know how to download assets via the GUI, let's tackle downloading via CLI.

A brief intro to GitHub CLI.

If you love the command line the way I love a hunky man’s pecs, there is a way to download assets from the CLI as well. The CLI is my most preferred method of downloading.

In order to download via CLI, you do need the GitHub command line tool. GitHub CLI is a command-line tool that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place.

The easiest way to get it, I've found, is to install GitHub CLI via Winget.

This getting started CLI guide for screen reader users should get you started but you can also Read the GitHub CLI manual to learn everything you can do.

I've provided a custom Windows terminal/command line/PowerShell command below that will download GitHub CLI, install it, then authenticate it after enabling some accessibility settings. I've never tried downloading something without an account, so your milage may wildly vary if you don't authenticate with a GitHub account using the CLI.

winget install --id Git.Git -e; winget install --id GitHub.cli -e; gh config set accessible_prompter enabled; gh config set accessible_colors enabled; gh config set spinner disabled; gh auth login

After you authenticated your GitHub CLI, now we can download assets!

Downloading assets via the CLI

Once you authenticated your Github the command to actually download assets is actually all in one command, unless you want to target kinds of files and or versions.

To download the latest of the project, you need to download the source code archive or fetch a particular extension package. There isn't one command to download everything. Because you need to use one or the other, an archive, or a targeted package file extension type, use a command similar to the below command, making sure to swap out the type of release you want to download.

gh release download —archive=EXTENSION, or, —pattern '*.EXTENSION' —repo <[HOST/]OWNER/REPO>

To break this command down a little bit... we're telling GitHub CLI what to download and where to get it.

gh release download tells GitHub CLI what to do.

—archive=EXTENSION, or, —pattern '*.EXTENSION' tell GitHub CLI what to download.

—repo <[HOST/]OWNER/REPO> tells GitHub Cli where to find the assets in question.

Example CLI download commands.

So, in the case of Pandoc, we would use the Pattern flag to find all Windows installers that are packaged. Pandoc calls its Windows binaries "MSI" extensions, so, the pattern command would look like,

gh release download —pattern '*.msi' —repo jgm/pandoc

If a message comes back saying it can't find any assets, try the below, swapping out, MSI, in the below commands, for any other file extension types. So for example, some alternate patterns to look for are,

—pattern '*.exe'

—pattern '*.msi'

—pattern '*.zip'

You can also download the source code if you use a command like this, making sure to include the —archive tag.

gh release download —archive=zip —repo jgm/pandoc

What if you wanted a different version?

To get a certain version, you would include the version number as well as the type of thing you are looking for, even if you want the source code. You must keep the —repo flag as before because that tells the client where to fetch. To demonstrate this with Pandoc again, we will include an older version but use the pattern flag to find an older MSI installer.

gh release download 3.9.0.2 —pattern '*.msi' —repo jgm/pandoc

And to demonstrate downloading an older source code archive, we would use a command like the below, keeping the —repo flag as before because that tells the client where to fetch.

gh release download 3.9.0.2 —archive=zip —repo jgm/pandoc

And that's all! There's one more thing before we go, but first, allow me to preach for a second. I know this is not the most intuitive via the CLI. Blame GitHub, not me. There's no one command to download all release assets, yet.

If you hate the web interface, like me, and wanna release stuff via the GitHub CLI, GitHub developers can use this releases command to upload assets via the CLI as well.

Thanks for reading! If you found this guide helpful, give me money so I can keep writing.

Syndicated via Sightless Scribbles

Learn how to follow Sightless Scribbles here

 
Read more... Discuss...

Join the writers on Write.as.

Start writing or create a blog