from Roscoe's Story

In Summary: * Have taken the 1st round of night meds, read the Hour of Vespers, and have tuned into ESPN Radio for pregame coverage of tonight's Michigan St. / Duke men's basketball game. By game's end I'll have taken the 2nd round of night meds, will be ready for tonight's Hour of Compline, and will be ready to put my old self to bed.

Prayers, etc.: * I have a daily prayer regimen I try to follow throughout the day from early morning, as soon as I roll out of bed, until head hits pillow at night.

Health Metrics: * bw= 216.49 lbs. * bp= 145/70 (68)

Exercise: * morning stretches, balance exercises, kegel pelvic floor exercises, half squats, calf raises, toe raises, wall push-ups, BP breathing exercises, pilates

Diet: * 04:55 – 1 banana * 06:10 – 1 ham & cheese sandwich * 06:45 – snacking on chocolate m&m candies * 10:20 – 3 hamburger rolls, brown gravy, white bread and butter * 12:30 – pizza * 16:00 – 1 fresh apple

Activities, Chores, etc.: * 02:00 – still awake, insomnia all night * 03:30 – bank accounts activity monitored * 03:35 – read, write, pray, follow news reports from various sources, surf the socials, take daily meds, unpack, organize, and nap * 15:00 – listening to Tom Izzo, head coach of the Michigan St. Spartans, talk about his team and tonight's game against Duke

Chess: * 13:25 – moved in all pending CC games

 
Read more...

from Ian Cooper - Staccato Signals

Darker is Brighter's counterpart library. You can use Brighter and Darker in combination when you create a Command Query Responsibility Separation (CQRS) application. Under that approach, Brighter handles Commands, and Darker handles Queries. Brighter can also handle Domain Events.

Both Brighter and Darker implement the Command Dispatcher pattern and support a middleware pipeline between the sender and receiver. The middleware pipeline has a “Russian Doll” model; each piece of middleware encapsulates the next one in the chain.

Darker V5

We have not released Darker for a while. For Brighter, V10 was a significant capability upgrade. Darker V5 brings us comparable functionality to Brighter.

This post covers the main points. The README and the ADRs in docs/adr have the details.

Streaming queries

Handlers can now yield results one at a time as IAsyncEnumerable, so large result sets never have to be held in memory all at once. Streaming has its own pipeline, and logging, tracing, and resilience all work on it.


public sealed class GetOrdersStream : IStreamQuery<Order> { ... }

public sealed class GetOrdersStreamHandler : StreamQueryHandler<GetOrdersStream, Order>
{
    public override async IAsyncEnumerable<Order> ExecuteAsync(
        GetOrdersStream query,
        [EnumeratorCancellation] CancellationToken ct = default)
    {
        await foreach (var order in _repository.StreamByCustomerAsync(query.CustomerId, ct))
            yield return order;
    }
}

await foreach (var order in queryProcessor.ExecuteStream(new GetOrdersStream("C42"), ct))
    Process(order);

Polly V8 resilience pipelines

The new [UseResiliencePipeline] attributes use a Polly V8 ResiliencePipelineRegistry, which is the same approach Brighter takes.


services.AddDarker()
    .AddHandlersFromAssemblies(typeof(GetFooHandler).Assembly)
    .AddDefaultResiliencePipelines();   // or .AddResiliencePipelines(myRegistry)

[UseResiliencePipelineAttributeAsync(3, Constants.RetryPipelineName)]
public override Task<string> ExecuteAsync(GetFoo query, CancellationToken ct = default) { ... }

OpenTelemetry tracing and metrics

Each query now produces a query span. The span records an event for each step in the pipeline and records any exceptions. Handlers can attach their own database spans to it. Metrics are worked out from the traces: duration histograms, plus counts and failures by error.type. You choose how much query detail goes into the spans with InstrumentationOptions. The core package has no OpenTelemetry SDK dependency; the wiring is in Paramore.Darker.Extensions.Diagnostics.


services.AddDarker(o => o.InstrumentationOptions = InstrumentationOptions.QueryInformation);

services.AddOpenTelemetry()
    .WithTracing(t => t.AddDarkerInstrumentation())
    .WithMetrics(m => m.AddDarkerInstrumentation());

Agreement dispatch

This works like Brighter's Agreement Dispatcher. You can route a query to a handler based on the query's content and its context, not only its type. A typical use is switching to a new way of calculating a metric after a cut-over date.


services.AddDarker()
    .AddAsyncHandlers(r => r.Register<GetRevenue, decimal>(
        (query, context) => query.Date < CutOver ? typeof(LegacyRevenueHandler) : typeof(RevenueHandler),
        typeof(LegacyRevenueHandler), typeof(RevenueHandler)));

Query validation

[ValidateQuery] is a validation decorator that doesn't depend on any one validation library. Two provider packages plug into it, one for FluentValidation and one for DataAnnotations.


services.AddDarker()
    .AddHandlersFromAssemblies(...)
    .UseFluentValidation();   // or .UseDataAnnotations()

[ValidateQueryAttributeAsync(4)]
public override Task<Person> ExecuteAsync(GetPerson query, CancellationToken ct = default) { ... }

Result caching

[CacheableQuery] caches query results using Microsoft's HybridCache, and you can plug in FusionCache through DI. On a cache hit the rest of the pipeline is skipped. Each cached entry needs an expiry. You can replace how cache keys are built with your own ICacheKeyGenerator. To evict entries yourself, put a tag in the context bag under CacheableQueryAttribute.CacheTag. Hits and misses show up in traces and metrics. This package needs net8.0 or later.


services.AddHybridCache();
services.AddDarker().AddHandlersFromAssemblies(...).AddCaching();

[CacheableQueryAttributeAsync(step: 5, expirationSeconds: 60)]
public override Task<IReadOnlyList<Person>> ExecuteAsync(GetPeople query, CancellationToken ct = default) { ... }

Sharing the ASP.NET Core request scope (and your DbContext)

Darker query handlers can now use the same Scoped services as your controllers and Brighter command handlers in one request, such as an EF Core DbContext. This comes from the new Paramore.Darker.Extensions.AspNetCore package.


services.AddDarkerRequestScope();
services.AddDarker(o => o.HandlerLifetime = ServiceLifetime.Scoped)
    .AddHandlersFromAssemblies(typeof(MyHandler).Assembly);

Startup validation of pipelines

Calling ValidatePipelines() checks every registered handler and its decorators when the host starts, and reports every problem in one go. That means you no longer find mistakes one at a time on the first query. It looks for:

  • missing, non-public or unregistered handlers
  • handlers on the wrong sync/async interface
  • decorators that are on the wrong path or not registered
  • two decorators with the same step number
  • a fallback placed inside a retry
  • lifetime problems such as a captive dependency

If you want to run the same checks on demand, for example in a test or a health check, use provider.ValidateAll().


services.AddDarker()
    .AddHandlersFromAssemblies(...)
    .AddDefaultResiliencePipelines()
    .ValidatePipelines();   // call it last

Lifetime-aware factories and safer teardown

Handler and decorator factories now follow the lifetime you configure (Singleton, Scoped or Transient). Each query gets its own scope.

Teardown is also safer. If releasing one component fails, the failure is logged and the rest are still released. Teardown never throws, so it can't hide the handler's own exception.

This fixes two old bugs:

  • A Singleton handler was being disposed after its first query.
  • Scoped dependencies were resolved from the root provider instead of the request's scope.

Smaller things

  • Pass your own context. Execute and ExecuteAsync now accept an IQueryContext.
  • Built-in test doubles. SimpleHandlerFactory, SimpleHandlerDecoratorFactory and the InMemory registries are now public in core, so you can run Darker in tests or without a DI container.
  • AOT-friendly logging. Query logging uses System.Text.Json.

Changes to be aware of

The full list of breaking changes, with a migration step for each, is in release_notes.md. The main ones:

  • Packages consolidated.
    • The Policies and QueryLogging side packages are now part of Paramore.Darker.
    • Paramore.Darker.AspNetCore has been renamed to Paramore.Darker.Extensions.DependencyInjection.
    • The SimpleInjector and LightInject packages have been removed. Microsoft.Extensions.DependencyInjection is the only DI integration Darker supports.
  • Sync and async are fully separate. Handlers, decorators, attributes and factories now come in separate sync and async types, for example IQueryHandler and IQueryHandlerAsync. No single type serves both paths any more, so if you implemented IQueryHandler<,> directly and relied on both paths, you'll need to choose one.
  • Newtonsoft.Json is gone. Logging uses System.Text.Json now. The AddJsonQueryLogging callback takes JsonSerializerOptions instead of JsonSerializerSettings. If you were getting Newtonsoft.Json through Darker, add your own reference to it.
  • [RetryableQuery] is obsolete. It still works in V5, but you'll get compiler warnings, and it will be removed in V6. Move to [UseResiliencePipeline] and a ResiliencePipelineRegistry. The new defaults are not the same as the old ones, so review your retry and circuit-breaker settings.
  • contextBagData has been removed. Pass an IQueryContext instead.
  • Custom factories need updating.
    • On the async factories, Release is now ValueTask ReleaseAsync.
    • IAmALifetime now extends IAsyncDisposable.
    • Handler factories must implement CreatePipelineScope().
    • IAmALifetime.Add has been removed.
    • Container-backed decorator factories must resolve from lifetime.PipelineScope.
  • Teardown no longer throws. A failing release is logged at Error level instead of being thrown, so watch your logs rather than catching these exceptions.
  • IAsyncDisposable is honoured. On the async and stream paths, the Simple factories now await DisposeAsync. A Scoped service that implements only IAsyncDisposable won't be disposed on the sync Execute path.
  • Decorators are Transient under a Scoped or Transient handler lifetime, so don't count on one decorator instance being shared across a scope.
  • A Scoped QueryProcessor was never the fix for EF Core. It gets its own scope next to the request's, not the request's scope itself. Use Scoped handlers with AddDarkerRequestScope() instead. Note also that concurrent queries within one request need ScopeAffinity.AlwaysNew.
  • New dependency. The DI package now references Microsoft.Extensions.Hosting.Abstractions, so check for version conflicts with your hosting packages.
  • Validation is strict about visibility. An internal handler that you register explicitly still runs, but it fails ValidatePipelines().
  • Framework floors. The caching and AspNetCore packages need net8.0 or later. The other packages also support netstandard2.0.

Try it

5.0.0-preview1 is on NuGet now. Please try it and tell us how you get on by opening an issue or joining discussion #273.

 
Read more... Discuss...

from Midus

Publicat la 5 decembrie 2017

Până la capătul lumii și dincolo de el… Cam așa suna o destinație… Ah, nu, nu All Inclusive, piesa de teatru cu Medeea Marinescu și Marius Manole, ci una indicată în Pirații din Caraibe. Și nu, nu vreau să povestesc nici despre piesă, nici despre film. Cu toate astea, le recomand. Piesa, pentru câteva situații și lecții de viață, iar filmul, pentru aventură.

De aici, textul urma să ia o anumită turnură, dar se făcu cum se făcu, că ora mi se arătă trei și douăzeci. Oh, da, iarăși ne iei cu Călăreții Apocalipsei… Oh, nu! Nici vorbă! Și de-mi place, și de nu-mi place, am ajuns să fiu, în general, treaz la miezul nopții sau aproape până la miezul nopții.

Sun is the same in a relative way…

Time – Pink Floyd

![](https://i.snap.as/M8QEV7Yk.jpeg)

Se face cumva că „până la capătul lumii și dincolo de el” te duce cu gândul la vremuri în care Pământul era considerat centrul Universului (îmi place formularea din zilele noastre: Universul cunoscut). Nu trebuie însă să ne imaginăm că oamenii acelor vremuri credeau cu toții că Pământul este plat. Forma sferică era cunoscută încă din Antichitate. Aristotel aducea deja, în secolul al IV-lea î.Hr., argumente în sprijinul acestei idei.

Eppur si muove! Cel puțin, așa spune legenda despre Galileo Galilei. Nu există dovezi că ar fi rostit aceste cuvinte după ce a fost obligat să abjure doctrina heliocentrică. Dar Pământul chiar se mișcă, iar Galilei avea dreptate să susțină acest lucru. Autoritățile ecleziastice ale vremii nu erau deloc încântate de ideile lui!

Despre forma Pământului se vorbea cu mult înaintea lui Galilei. Pliniu cel Bătrân, în secolul I d.Hr., descria în Naturalis Historia un fenomen interesant: uscatul care nu mai poate fi văzut de pe puntea unei corăbii poate fi încă zărit de pe catarg. Tot el observa că un obiect luminos fixat în vârful catargului unei nave care se îndepărtează pare să coboare treptat, până dispare din vedere.

O observație simplă, dar grăitoare: o corabie nu dispare pur și simplu în depărtare, ci pare să se piardă treptat sub orizont.

A mai fost o vreme în care unor ținuturi li s-a spus „sfârșitul lumii”, deoarece dincolo de țărm nu mai era decât marea întinsă, iar în ea se culca soarele…

![](https://i.snap.as/FZ71R0p3.jpeg)

În acele timpuri, marinarii aveau tot felul de superstiții (dar cine nu are?!). Le aveau. Le primiseră drept moștenire, trăiau cu ele, apoi le transmiteau din tată în fiu.

În Finistère (nume evident pentru pământul de la capătul lumii) sau Penn-ar-Bed, denumirea celtă (nume mai puțin evident pentru același pământ), se spune că rostirea numelor a două creaturi aparent nevinovate și fără vreo putere miraculoasă va duce cu siguranță la naufragiul sau la scufundarea corabiei la bordul căreia vreun nefericit de marinar a pronunțat iepure sau melc.

![](https://i.snap.as/4Bd6L4pZ.jpeg)

Probabil natura le-o fi dat motive întemeiate să creadă asta. Eu aș zice că imaginea este sugestivă! Nu este vreun truc, ci o realitate din Pointe du Morgat (Beg ar Gador).

![](https://i.snap.as/heTUEua2.jpeg)

Cu iepurele (în stânga) cred că este destul de clar, dar cu melcul… Ei bine, cu melcul cred că este discutabil. Dacă aș zice că este o balenă, nu aș putea fi contrazis prea lesne în privința formei; poate doar a dimensiunii relative față de iepurilă de alături. Dar aceeași problemă ar fi și cu dimensiunea melcului…

Sun is the same in a relative way…

M-am agățat din nou de poze, din nou de Pink Floyd. Turnura asta nu trebuia să aibă loc. Intenționasem să spun că, pentru a ajunge până dincolo de capătul lumii, este nevoie de curaj și determinare, de sprijin și de încredere, de devotament și de loialitate. Mai e nevoie și de tărie fizică, psihică și de caracter.

Oare câte dintre acestea pot duce? Câte dintre ele mă caracterizează? Câte aș vrea să mă caracterizeze?! Toate! Dar le pot duce? E corpul meu atât de puternic? Cu siguranță că nu! E mintea mea suficient de isteață pentru asta? Întreab-o! Dar sufletul? Dacă nu l-oi fi vândut deja, poate că mai are o șansă! Aș vrea cât mai multe dintre cele de mai sus?! Mai întrebi?! Sigur! Le merit? Întrebarea asta au pus-o și într-una dintre ultimele reclame la un model al unei cunoscute mărci auto (tatăl ei avea prenumele Henry).

Oamenii puternici pot ajunge până dincolo! Dar ce înseamnă, de fapt, să fii puternic? Poate că nu este vorba despre forță fizică, despre inteligență sau despre curajul de a înfrunta necunoscutul. Poate că adevărata putere înseamnă să ai suficientă încredere în tine încât să-ți permiți să încerci, să greșești, să nu fii cel mai bun. Să nu te lași împiedicat de gândul că nu ești suficient de bun sau că altcineva ar fi mai îndreptățit decât tine să ajungă acolo. Să-ți acorzi, pur și simplu, permisiunea de a încerca.

Să sper că voi ajunge vreodată acolo e doar o copilărie… Poate doar dacă… doar dacă voi lupta pentru asta. Și pentru asta îmi trebuie ce am scris mai sus.

Deocamdată scriu. Ce va urma, voi vedea…

 
Read more... Discuss...

from Tuesdays in Autumn

Picked up at Badlands records during my recent excursion to Cheltenham, two jazz albums on CD: Future Present Past by Irreversible Entanglements and Omni by the James Brandon Lewis Quartet. On the former, the quintet continue in a similar vein to their previous record Protect Your Light: a little more groove-based and a tad less free-form than on their earlier productions. Lyrically too the emphasis has shifted somewhat, away from the righteously angry and toward the positive & encouraging, as reflected here by track titles such as ‘Don’t Lose Your Head’, ‘Hold On’, ‘Keep Going’ & ‘We Overcome’. Meanwhile, there’s been no reduction in quality, though I do wonder how many of their albums I’ll feel the need to keep on my shelves in the long term: this one is my fourth. An example track: ‘The Spirit Moves’.

Omni is the first record I’ve acquired featuring James Brandon Lewis. I’d seen a few clips of him on YouTube and wondered whether I’d be equal to the challenge of his music. Some of the booklet notes for Omni likewise gave me pause, with their mention of the concept of “molecular systematic music” and the occasional use of 12-tone scales as a starting point. At the same time they spoke of a spiritual dimension to the music, with gospel influences at play. I had no idea what to expect from “12-tone gospel”. What I got was sporadically thorny but often fascinating music, outstandingly well-played. Aside from Lewis himself, I was particularly impressed by drummer Chad Taylor. ‘The Sermon’ seems to be the only track from the album readily available on-line.


At Broadleaf Books in Abergavenny on Saturday morning I picked out a slender volume by Max Frisch called Man in the Holocene (translated from the German by Geoffrey Skelton), which had the following as part of its back-cover blurb: “Frisch charts the crumbling landscape of an old man’s consciousness as he slips away from himself toward death.” They don’t often write them like that any more. Naturally, I bought it: £3.50 paid. I read the book in two sittings that afternoon. The blurb was quite accurate. Summer storms bring flooding and landslides to an out-of-the-way valley in southern Switzerland, where Geiser, the elderly protagonist, lives alone, his memory and judgement beginning to fail him. Though first published in 1979, before climate change became a pressing concern, it’s a book which feels very much like it belongs to the present moment, with its evocation of an episode of extreme, unseasonable weather; the effects of which mirror Geiser’s decline. There’s something of the collage-novel about the book too, with its interpolation of snippets cut from books ostensibly on the protagonist’s shelves: Bible verses; paragraphs of local geology and history; extracts from an encyclopaedia. This is my first exposure to Frisch’s work and, favourably impressed by it, I hope not the last.


The strangest book I’ve acquired in some time came from Troutmark Books in Cardiff the other week. I’d been looking at a hardback copy of Christian Bök’s Eunoia when my eye was drawn to the blue-spined paperback next to it. This was Return to Leptis Magna, a title self-published in 2010 in an edition of 500 copies by London-based artist Anna Barham. I was intrigued enough to hand over a tenner for it. It’s a text entirely composed of anagrams of the book’s title. These are ‘artistically’ arranged in a monospaced font over its ninety or so pages like free verse, surrounded by ample white space. I’m not sure though if it is really quite poetry. At the edges of many pages are numbered ‘pointers’, references to other parts of the text, as though each page were just a small window on a very large sheet of paper containing the whole work. The evidently obsessive impetus behind it makes for a peculiarly compelling read. Here’s a brief extract:

               PARROT TANGLES MINUET
               PARROTING LAMEST TUNE
          TUNE PARROT LIGAMENTS
MINUTEST ANGEL PARROT
           TEN PARROTS EMULATING
               PARROTING METAL TUNES
               PARROTING EMU TALENT
 
Read more... Discuss...

from anewhome

I visited Mrs. S. at the nursing home today. She seemed in good spirits. Mercedes, her aide, had returned her radio from the repair shop.

I told her that we’d had a good lesson, that she must have slept well the previous because she’d been extremely alert, and I was saying my good-byes when explained that she’d slept well because the nurses now gave her sleeping aids. I sat back down in my chair.

Why?

Mrs. S is incredibly accomplished, well-traveled, and well-educated. But now she can barely see and she moves little and only thanks to a walker. Her main connection to keep abreast of the outside world and beating back the loneliness and boredom of the nursing home is her radio.

Her radio is tuned to the national radio station which has been covering of late protests in the street. They’ve been especially attuned to the more violent and destructive elements that have helped turn some of the protests and strikes into riots. In fact, it’s likely they’ve probably been giving these events more coverage relative to the more peaceful elements of the protests.

Mrs. S has been glued to the radio and to reports of riots, looting, and mayhem in the streets. And she’s anxious. And so, she takes pills to sleep.

 
Read more... Discuss...

from Midus

Publicat la 2 decembrie 2017

Dinu se simțea prins între cele două talere ale unei balanțe: a vorbi mai mult și a tăcea mai mult. Lumea voia să afle de la el cât mai multe, dar felul lui de a vorbi îi făcea pe unii să-l privească altfel. Nu-i pica deloc bine, iar după ce termina discuțiile pe marginea câte unei teme ajungea să se simtă prost din pricina acelor priviri.

Oare nu le plăcea expunerea? Sau stilul său rapid, entuziast, plin de încântare? Oricare ar fi fost motivul, era clar că ceva îi deranja pe unii dintre cei din jurul său. Îl deranja și faptul că nu-i spuneau ce nu le plăcea sau ce nu le convenea; mereu negau, mereu îi spuneau că i s-a părut. Dar, de tot atâtea ori, el nu se simțea în apele lui.

![](https://i.snap.as/EmZAxMEw.jpeg)

Luase o hotărâre, dar știa că nu va reuși să facă acel jurământ parțial al tăcerii. De vorbit era nevoit să vorbească, societatea presupunând exercitarea acestui atribut. Dacă ar fi fost un pustnic, i-ar fi fost foarte ușor. Dar nu era. În plus, pe lângă familie și societate, locul său de muncă presupunea interacțiune zilnică și utilizarea tuturor mijloacelor de comunicare. Dacă ar fi fost… dar ce mai contează ce ar fi fost? Nu era.

Așa că trebuia să-și vadă mai departe de viață și de îndatoririle de tot felul. Își propusese totuși să scrie mai mult, ocupându-și astfel timpul în care ar fi fost tentat să sune pe cineva, să se intereseze de câte un proiect sau de soarta unuia ori a altuia, să invite vreun prieten sau vreo prietenă la o cafea. Îi plăcea să spună asta, dar unele dintre prietenele sale preferau ceaiul; ba chiar nu orice ceai și nu servit oricum.

Observase tabieturile unora dintre ele, în mare parte asemănătoare, dar care difereau pe ici, pe colo. Încercase în câteva rânduri și el ceaiul în locul cafelei, dar îi fusese clar încă de la început că ceaiul nu fusese pentru el sau că el nu fusese „construit” pentru a bea ceai. Exista și o excepție: ceaiul de iarnă. Prietena lui cea mai bună îi observase firea și plăcerea din copilărie pentru anumite „dulcegării” condimentate cu scorțișoară.

Fiind o fină cunoscătoare a feluritelor arome, îi recomandase ceaiul Anotimpurile. Era sezonul rece, așa că Iarna era ceaiul perfect pentru el: cu scorțișoară! Cum se apropia sezonul rece, cum începea căutarea acelui sortiment, cu o coloristică a cutiei potrivită sărbătorilor de iarnă. Producătorii diversificau combinațiile de arome și încercau să atragă noi clienți. Dinu rămase fidel aromei. La serviciu își prepara ceaiul, pe care îl îndulcea cu zahărul de care multă lume îl îndemna să se îndepărteze.

Mierea ar fi fost mult mai potrivită, însă Dinu era de părere că apa fiartă alterează proprietățile deosebite ale produsului auriu. Deși cafeaua o prefera neagră, limonada și ceaiurile le prefera îndulcite un pic peste medie.

![](https://i.snap.as/CAX9WyBZ.jpeg)

Considera că media era, cel puțin în cazul limonadei, cantitatea de zahăr folosită de cei care o preparau la terasele pe care le frecventa în zilele toride de vară. Apăreau mereu discuții în jurul zahărului alb, al celui brun, al proprietăților sale și al faptului că zahărul schimbă aroma naturală a ceaiului neîndulcit. Era de acord cu acest din urmă aspect, pentru că așa descoperise gustul „adevărat” al cafelei, renunțând la zahăr.

Citise în adolescență un roman, o cronică de familie (probabil The Forsyte Saga – chiar dacă nu era acesta, tot ar trebui să-l recitească cândva), în care urmărea în special cum trebuie să se comporte un gentleman, cum să acționeze, cum și cât să vorbească. În tinerețe realizase că nu avea nici cea mai mică șansă de a deveni un gentleman autentic, în ciuda eforturilor sale.

Se mișca, respira, trăia, studiase, lucra, locuia într-o societate opusă uneia în care predomina bunul-simț și în care civilizația era la ea acasă. Ce, cum și cât să vorbească putea fi controlat prin exercițiu, dar sângele său, un amestec latino-balcanico-slav, îi fierbea de multe ori în vene, iar asta lăsa logica în urmă. Se mustra mereu după câte un astfel de episod, dar era conștient că sângele apă nu se face. Nici măcar donările frecvente de sânge nu aveau vreun efect de schimbare.

Deși încercase, deși concluzionase că nu are sorți de izbândă, voința sa fiind invers proporțională cu clocotul fluidului roșu, reușise totuși ceva; ceva ce avea să-i încânte simțurile mulți, foarte mulți ani după aceea. Își adusese aminte la un moment dat că citise că un gentleman își bea cafeaua fără zahăr.

![](https://i.snap.as/QJ8f2v9n.jpeg)

Poate că memoria îi juca feste (știa că nu se poate baza pe ea), dar putea să jure că așa citise. Rețeta de cafea, pe care o prepara acasă la ibric, presupunea, pentru fiecare ceașcă de cafea, o linguriță rasă de zahăr la o linguriță cu vârf de cafea. Cafeaua dulce astfel preparată era un deliciu, o savoare, dar totuși diferea de gustul lăsat de boabele de cafea prăjită pe care, copil fiind, le spărgea între măsele și pe care apoi le ronțăia cu poftă.

Știa că excesul dăuna, așa că nu abuza de bunăvoința bunicului, care se îndeletnicea cu măcinatul cafelei cu acea râșniță manuală din alamă, făcută probabil pe Insula Ada-Kaleh cam pe vremea când bunicul său avea vârsta lui fragedă…

![](https://i.snap.as/QfuoY6xU.jpeg)

Hotărî să reducă treptat zahărul din cafea. Se obișnui relativ repede cu gustul amar al cafelei preparate după aceeași rețetă, la nisip, pe foc mic, dar neîndulcită. În curând avea să se bucure de aroma cafelei perfecte. O astfel de senzație e greu de descris; o astfel de senzație se savurează sorbitură cu sorbitură, la o discuție amicală sau cu o carte bună în mână.

![](https://i.snap.as/kL3WovuU.jpeg)

Încercase același lucru cu ceaiul. Devenise conștient de răul pe care îl poate provoca zahărul. Redusese mult mai rapid cele patru lingurițe pe care obișnuia să le adauge la o ceașcă de ceai. Reușise să se împace și cu gustul plantelor, rădăcinilor, fructelor sau frunzelor fierte ori infuzate, însă nu simțea aceeași plăcere ca în cazul cafelei. Era o excepție: ceaiul cu scorțișoară. În cazul lui, plăcerea era dublată de recomandarea primită din partea prietenei sale.

Îi era clar: ceaiul se bea îndulcit.

![](https://i.snap.as/ZLsA4p2n.jpeg)

 
Read more... Discuss...

from Roscoe's Quick Notes

Michigan St vs Duke

My Tuesday's Game of Choice.

... finds the (2-0) Michigan St. Spartans, ranked #5 nationally, playing the (2-0) Duke Blue Devils, ranked #2 nationally, at Chicago's United Center in the State Farm Champions Classic. The game's early start time of 6:00 PM CT, increases the odds that I may be able to listen to the whole game before sleep sends me to bed.

And the adventure continues.

 
Read more...

from Blog of Sand

Inbetweeners 46- Mammon

First, let's do a little background from official 5e lore before we delve into Mammon's role in my campaign: Mammon is the Archduke of Minauros, the third layer of the Nine Hells, and the embodiment of greed and avarice. He appears as an enormous serpent with a muscular humanoid torso, horns, and vicious fangs. Obsessively greedy, calculating, and selfish, Mammon is among the wealthiest beings in the multiverse and oversees much of Hell's commerce and soul trade. He rules from a vast city slowly sinking into a filthy swamp, refusing to spend the money necessary to maintain it. Unlike most archdevils, Mammon willingly trades supernatural favors for gold rather than souls. He serves Asmodeus but values wealth above nearly everything, including his own dignity and political ambitions.

I maintained most of this canon for the Inbetweeners. He is the richest known entity in the multiverse (Mechanus and Sigil have far more collective capital and wealth, but none of it is ascribed to a single individual. The Lady of Pain has no need for “wealth” as her power vastly eclipses the need for traditional commerce). I particularly focused on his link to the soul trade, which was a major underlying theme in the early to mid parts of the campaign. Mammon is loath to part with any wealth, and favors souls he can use to further increase his wealth. However, sometimes his greed actually hurts him in this regard, as the Nameless One would later point out, his propensity to hoard would leave many valuable assets, souls in particular, underutilized.

Mammon had no idea of the players' existence or motives before they freed Lurian. However, Lurian took out his chief captain, the Bronze General, Bael. Bael had approached the Interloper on behalf of Mammon about purchasing some of the Far Realm weaponry that had made Zariel's forces so effective on the battlefield. Mammon had hoped to eventually supplant Zariel and hoard the Interloper's gifts for himself. Surely he could pay better. Bael was an exceptional battlefield commander and decorated general of the Blood War, but he wasn't the most skilled at political intrigue. Lurian was able to quickly set up a meeting, posing as a fallen angel looking to broker a deal with Mammon. He had borrowed Far Realm energy and items from the Interloper to sell the bit. He then defeated Bael in single combat, captured him and brought him to be executed as a galvanizing event for the newly reorganized Judgement of Torm. Lurian never would have been able to pull this off if he had not been freed by the players and empowered by the Interloper. So this put the Interloper and the players on Mammon's radar.

What Mammon failed to realize is the priorities of who he was trying to negotiate with. Gold, wealth, etc meant nothing to the Interloper. Souls were of some interest, but what he really wanted was field testing. The multiverse was just a series of experiments to him, and Zariel would provide more data than Mammon ever could. So losing Bael put Lurian, the Interloper and the Inbetweeners high up on his list of mortal enemies. Since Mammon wasn't even sure what the Interloper was or how he could be reached, he focused on his more tangible targets. Lurian's use of Far Realm energy to execute Bael compounded this issue. Normally an archdevil slain on the material could be resurrected in Hell. Lurian snuffed him out of existence entirely. Incidentally, Lurian also tortured Bael extensively to gain information about other targets, but Mammon didn't really care much about that. Torture is kind of par for the course in the Lower Planes.

If Bael's destruction was the fire of Mammon's hatred, Arkanos' defeat was gasoline. Many decades, perhaps centuries ago, a young man named Arkanos was enslaved and condemned to die in gladiator pits. He made one wish to anyone who would listen- to win. Mammon saw potential in Arkanos, and from there the seed of an idea germinated. He would twist the webs of fate so Arkanos could not lose. And so long as Arkanos did not lose, Mammon had dominion over his soul and fate. Everyone he slew would go to the soul coffers of Mammon, and since he couldn't lose this would be an endless revenue stream of souls. Better yet, the more Arkanos won, the more powerful his oppoonets, and therefore the more potent and lucrative the souls. He became one of Mammon's biggest cash cows, not to mention Mammon could always bet on Arkanos and win. However, once the odds because incredibly lopsided, the gambling stream dried up.

The players, untethered by causality, somehow beat Arkanos, freeing him from a curse that he should not have been able to be freed from. This incensed Mammon. He briefly held Bruce and Uzo's souls in his domain before Arkanos brought them back. Two souls might seem like a trifle, but Mammon could not abide by losing even a single soul he believed was his. He was penny rich pound foolish when it came to souls.

So, the combination of losing Bael and Arkanos put the players to the top of his list. He set to finding a way to destroy them. The first obstacle was Sigil. Mammon had little power there. He could send assassins, but if the Inbetweeners defeated Arkanos, what hope could an assassin have, no matter how expensive? So, he sought to draw the players out of Sigil. That is when Zane came with a proposal. They shared a mutual interest, and Mammon had the resources and moral flexibility to pull it off.

They studied everything known about the Inbetweeners. Paid off those in the Protectors they could for their research. They quickly identified the Beeple Hive as important to the players. That would be how they would draw the players out. The Beeple Hive was on the lonely mountain top, not in Sigil, and could be struck. Zane proposed a hostage situation, and using the Torment, which the players knew intimately as a location for the showdown. Mammon loved it. Furthermore they'd hit on Lurian's allies who were guarding the Beeple Hive, including Elythos, Lurian's lover.

Meanwhile, unbeknownst to the players, The Man (still Asmodeus) and the Nameless One were observing all of this. The Man long thought Mammon was weak and inefficient. He wanted to put all his wealth to better use. He did not openly move against him, he didn't want to spook the other Lords of the Nine until he was ready to make his grand play in the lower planes. However, if the Inbetweeners struck down Mammon, that wasn't on him. In fact, it would demonstrate that Mammon is weak and needed to be put down. So he dispatched the Nameless One to get close to the players and set things into motion. They did, however, withhold information from the players about Zane and Mammon's plot. They needed the Inbetweeners to have reason enough to seek revenge. So they waited, bided their time, and the Nameless One made sure the players would be ready to act. However... there was one piece of the puzzle they'd need- the Interloper. Only he could grant the players the power necessary to bring down a Lord of Hell.

 
Read more...

from anewhome

My kid's dance teacher was very bothered by the whole thing. We'd just had the first days of real cold of the season and the central heating was broken in the dance studio. The dance teacher had called the technician as a matter of course. The technician had diagnosed the problem, gone to the parts store, come back, and realized that he'd misdiagnosed the problem. He was going to have to order the part. And, of course, until he installed the part, the dance studio would go without central heating. She'd arranged an ad hoc solution, but was unhappy with it.

So, with an exaggerated frown on her face, she dragged me by the elbow into one of the studios. I took off my shoes and entered. She pointed to this big contraption: a movable heater powered by a big butane tank. The three burners shone a bright orange and the room smelled of what I suppose was the burning gas.

I couldn't immediately place it, but the smell of the burning gas, the sight of the burners and the big butane cylinder, made me smile. I breathed in deeply, exhaled, and told the teacher everything was going to be alright. These things always happen with the first cold. If it isn't the heater, it's the hot water heater. And the technician will be able to fix it all up soon enough. The kids will just have to wear an extra layer of clothing. I smiled at her, let her get on with her class, and walked out.

The cold air hit me on the way out of the door, and I remembered.

I first visited Rabat in January 2013. I was there only for a very short while for some preliminary research. It was cold, but it was the rain that was especially impressive. I imagine being so close to the Atlantic impacts rainfall, and that winter was especially wet, as I remember it. I'd come back to the place I'd rented soaked. My jeans, shirt, sweater, coat, socks, shoes, everything except for my waxed canvas messenger bag was just absolutely sopping wet. It was a miserable time walking to and from the tram to the research site or to the airbnb, and I was quite tired by the end of the day.

Naima, the host's mom, made everything OK, though. She's a brilliant cook and there was always a warm meal waiting for me shortly after I'd walk through the doors. But I'm most grateful for the butane gas heater she'd had her husband bring up.

Homes in the Middle East and North Africa, and in India too, for that matter, are often big cement boxes that are then beautifully decorated. You'll find plumbing, but sometimes gas isn't piped in, and people often use gas cylinders for heat and cooking.

The gas cylinder was old and so was the heater, and my privileged ass was extremely skeptical of the apparatus. Would I die of gas poisoning? Or would the fucking thing just blow up? Naima showed me how to work it: push the dial in, twist, and hit the ignition. Twist again if you need a bit more warmth. Twist again if you want it on full blast.

It took me a few days to become comfortable with it. I'd come home, undress, hang my things on the backs of chairs, and place them at a reasonable distance from the heater. The heat was never quite right: I was either a little uncomfortable because I was too cold or too hot. But soon that mattered little. The heater was a good friend. I'd move my chair closer or further depending on whether I was feeling the chill or crisping up. I'd sit further away from it as I digested one of Naima's wonderful tajines, or closer after coming back from finishing a cigarette in the chilled air late in the evening.

I was diligent about turning if off.

I'd slip into the cold bed as the rain poured outside. The muezzin called believers to prayer. I'd fall asleep.

 
Read more... Discuss...

from Why This Picture Matters

“Bu hikâyede, bilinmeyen bir el, yolumuzu çizmiştir. Ümit oyalamıştır. Fikir sürüklemiş, tehlike yolumuzu süslemiştir. Aşklarımız ise, bütün bunların üstünde, bütün varlığımıza kanat gererek ve hepsinden daha derin, bütün hayatımız boyunca yaşantımıza değer ve mana vermiştir. Öyle ki, ben şimdi başımı çevirip arkama baktığım zaman, bütün bunlar hepsi ve birden, bana her halkası ayrı ayrı yaşanmaya değer bir ömrün derin hazzını veriyor.”

****

“Hayatında beşerî hiçbir derin aşk hikâyesi yoktu. Aşkı, kendine inancı ve ambisyonuydu. Ömrü bir karargâh dekoru içinde geçti. Fakat bir karargâh adamı değildi. Ne yalnız asker, ne cihangirlik peşinde bir hayalperest, ne yalnız ıslahatçı. Hayır. Bunların hepsinin üstünde bir varlıktı. O, bir insandı.”

Şevket Süreyya Aydemir, Suyu Arayan Adam, Atatürk Evi, Yakutiye

 
Devamını oku... Discuss...

from Kevin Turby

Les gens sous-estiment le langage. Ils pensent que communiquer, c’est assez. Qu’après tout, ce qu’on veut, c’est transmettre des informations.

Mais le langage est tout. C’est notre manière d’exister dans le monde. Sans langage, quelle que soit sa forme, je ne vois pas d’existence.

Cette arme, ou plutôt cet outil de la vie, tout le monde ne l’a pas.

Mais j’ai envie que mon écriture crée quelque chose. Une émotion. Une réflexion. Un tremblement. Quelque chose.

Mais ce n’est pas en partageant des informations que j’y arriverai.

La pratique et l’honnêteté personnelle.

 
Read more... Discuss...

from Ernest Ortiz Writes Now

My biggest weakness as a writer is creating many different stories and ideas all at once and never finishing them. Two benefits of writing so much is that I’ll never run out of ideas and they’re all saved on paper or on my hard drive. Of course, the main con is not getting anything done.

The Package Trilogy is one example, the only reason I finished that series is because I hyper focused on it to the point of obsession. Whatever time I had I’d write missing or new sentences, draft, edit, get a cover, finalize, and publish. It’s amazing what you can accomplish when you focus and get something done.

But once again I have too many projects, old ones from years ago and new ones. So I decided to focus on two goals: one of them is writing a sci-fi novel series and the other I’m keeping under wraps until I give a post about it in the near future. It’s going to take a while so I’ll give updates whenever I can.

I’m excited for these projects and hopefully I can get them done just like The Package Trilogy. Wish me luck, send me prayers, and please spread the word of my blog and works to others. I’d appreciate it.

#writing #app #novel #projects

 
Read more... Discuss...

from 💚

Our Father Who art in Heaven Hallowed be Thy name Thy Kingdom come Thy will be done on Earth as it is in Heaven Give us this day our daily Bread And forgive us our trespasses As we forgive those who trespass against us And lead us not into temptation But deliver us from evil

Amen

Jesus is Lord! Come Lord Jesus!

Come Lord Jesus! Christ is Lord!

 
Read more...

from 💚

In Disabandon

I was routed through the Earth Every heresy to then The bitterest renew And many cinders Floating clusters of the void In pretty reams And five abandon The worriest amounts And as they clued The shoals of aching fever And as we were- Not done to Him In praying ever- as this poppy I redeemed Waking Mather Upon this know

And to the paper As I gathered gentle Moon Across the nights of Devon- on Whitby Road And sails to watch Waiting here across deliver And to this cane,- my assistant And knowing who I am- to simple wear

For chiding be That the errands unto Him Between us be Assault of every day And year in apprehension Bitter Wines of storing Heaven For the sailors- lost at sea Into the mayhem And seeing abandon Of the Hebrides and forests- in our keep

This day deliver Why the fights renew our history Ending faith and for the titres- that went in

Our lot is home And pretending to abandon All the sights that be- in Labrador And to this lake Filing sunny trees For the sacrament of days- and lost to poem- as gentle rain- and disabandon To the clues of overarch- and blame

In studied curves to keep forever As the lacrymal of War In feted Europe- to our May Upon this wish

In light rely To the pylons at this point And as we watch forever Let it be

Cables landing to protect The beach renew- our care and Earth The dust of Maine And bedded silver Upon this soul and Peter’s ewe- that History bought

And to reclaim Apostasy of fever Golden rooms- of unbelief And to this Watch- that Apple-lost December In our clue The thirst of here And cattle news The rights the same That to prayer and misforgivance- in the day for As to known And ended Heaven- for the dream- in Sydney Harbour To the ecstasy denote And curing death- for Artist’s call To ever Europe,- at shining moss

And a clue Unto our star That History them- Us in react And steady hours- to our son In wedded glow And up the street- the aged clue Of higher disabandon- on our shoal And like the glory- of the faded paper light- that lives forever- at sixty Herz.

 
Read more...

from brendan halpin

Every fall, undesirables from outside the city descend on Franklin Park. They vandalize the park with spray paint. They leave their garbage around. They are rude to other park users. And apart from the vandalism, they damage the park to an extent that grounds crews have to come in and remediate the damage they’ve done.

I’m talking, of course, about cross country runners.

While I believe Boston Latin School hosts a meet in Franklin Park, the rest of the meets are run by private colleges and schools and feature a lot of participants from outside the city.

And while some organizers are better than others, these people trash the park. They leave their course markers up. They spray paint the grass, the pavement, and even the trees. And if they run in the mud, they kill the grass and render grassy areas unfit for any other uses.

The BAA runs a half-marathon in Franklin Park, and they had to truck in a lot of tents for corporate sponsors as well as I guess the DJ and sound system, because of course you can’t run without someone spinning hits from the2010’s, and because it rained all weekend, the Playstead, which is used for BLA football practice, First Tee golf camp, cricket games, and baseball and softball games, is now absolute trash.

I’m wondering why this use and these users are prioritized over all others. I’m wondering if race organizers ever face a penalty for vandalizing the park. I’m wondering what benefit this use of Franklin Park brings to those of us who pay to maintain it.

“But they’ve been running cross country races there for over a hundred years!” True! And so what? It’s not 1915 anymore! Women can vote! We have antibiotics now! Rural electification happened! My point here is the fact that something has been done for a long time is the absolute worst reason to continue doing it. If Boston Public Schools want to host a meet here, great. Everybody else should find another park to trash. Or is it possible that they treat the courses in Lexington and Belmont with more respect?

In any case, it’s past time to get the undesirables out of the park.

 
Read more... Discuss...

from AnOublietteofThought

Shortly after speaking to a friend about books this morning, I had an idea. It is completely outside of genres I have read or written in. I think that might be a most delicious challenge to myself. Importantly, I know exactly where I'd like it to go, but no idea of how I'll get there. Normally that would bother me, but not in this case.

So... new goal. I will complete this novel and submit it before my 55th birthday. I'm curious about where I'm going to take it, because it's very much so outside of my wheelhouse. But if I can get the storytelling and voice just right, I think I could capture something really special.

It feels meant to be. I hope that it will survive my attention span. Perhaps it's time to flip the hyper-focus switch.

© 2026 AnOublietteofThought. All rights reserved.

 
Read more...

Join the writers on Write.as.

Start writing or create a blog