I have found the issue with this very subtle bug.. the cache was returning a slice that would be mutated. The mutation involved appending an item and then sorting. because the returned slice is just a pointer+length the sort would modify the same memory.
CACHE Returned slice
original: [A B C D] [A B C D]
add: [A B C D] E [A B C D E]
sort: [E A B C] D [A B C D E]
fix found here:
https://git.mills.io/yarnsocial/yarn/pulls/1072
How The War in Ukraine Will Shape The Future with Irwin Redlener â Read more
Le suicide par écologisme
Il faut que les choses soient claires : lâempreinte carbone quâil sâagit de rĂ©duire, câest vous ! Et câest tellement vrai, tellement Ă©vident quâune rĂ©cente tribune du Monde revient sur ce qui est maintenant un but affichĂ© de lâĂ©cologie de combat, Ă savoir la rĂ©duction active de lâHumanitĂ©. Peu importe que les derniĂšres projections raisonnables montrent une [âŠ] â Read more
https://github.com/VernonGrant/gnu-c-language-manual Richard Stallman GNU C Language Intro and Reference available in PDF
Panier-Runacher : Sobriété bien ordonnée commence par les autres
Le vendredi, câest traditionnellement poisson. Ce jour-ci, ce sera du OrdralfabĂ©tix, câest-Ă -dire pourri, et par la tĂȘte comme il se doit. La surprise est totale : on apprend par deux sources, Investigate et Disclose, que lâactuelle ministre de la transition Ă©nergĂ©tique, AgnĂšs Pannier-Runacher, est directement liĂ©e par des intĂ©rĂȘts financiers et familiaux avec la seconde compagnie [âŠ] â Read more
Comment continuer Ă voir Rumble en France ?
Encore une fois, lâĂtat français sombre dans le ridicule et la tentative de censure la plus vile. On apprend que le site de vidĂ©o en lignes Rumble nâaffiche plus quâun petit panneau laconique pour les visiteurs provenant de la France. CâĂ©tait une Ă©tape sinon prĂ©visible du moins logique aprĂšs les derniers articles de la presse [âŠ] â Read more
RT @jonasnuts@jonasnuts
@_lourenco_c@twitter.com Eu estou no http://mastodont.social mas hĂĄ muito pessoal que estĂĄ a ir para o http://masto.pt
đŠđ: https://twitter.com/jonasnuts/status/1587000848718204928 â Read more
RT @jonasnuts@jonasnuts
@_lourenco_c@twitter.com Esquece. O Mastodont é descentralizado. Por isso tens servidores diferentes (em vez de teres todos os servidores sob a égide do musk). Alguns desses servidores são temåticos. Podes seguir pessoas que estejam noutros servidores.
đŠđ: https://twitter.com/jonasnuts/status/1587000445981048833 â Read more
An NES emulator in <5000 bytes of C++: https://github.com/binji/smolnes
RT by @mind_booster: Dear public bodies, business, & politicians: âincremental change is no longer an option: broad-based economy-wide transformations are required to avoid closing the window of opportunity to limit global warming to well below 2°C, pref. 1.5°C. Every fraction of a degree matters.â
Dear public bodies, business, & politicians: âincremental change is no longer an option: broad-based economy-wide transformations are required to avoid closing the window of opportunity to limit global warming to w ⊠â Read more
I was just reminded of this interpreter for an APL/J-like language by Arthur Whitney, the absolute weirdest bit of C code Iâve actually gotten something out of, and thought Iâd share: https://code.jsoftware.com/wiki/Essays/Incunabulum
Lundukeâs Normal Computing News - Oct 19, 2022
Listen now (40 min) | Microsoft kills âOfficeâ, iPads get USB-C, and Firefox wants to know your feelings. â Read more
Au moins Sandrine Rousseau Ă©chappera au sentiment dâinsĂ©curitĂ©
Ce sont des tombereaux de menaces par internet qui sâabattent sur une Ă©lue de la RĂ©publique. « Câest hyper-violent, on ne sait pas comment elle tient » aurait dĂ©clarĂ© lâentourage de lâinĂ©narrable Sandrine Rousseau, dont le mandat de dĂ©putĂ© EELV semble lui avoir donnĂ© une tribune permanente pour le militantisme Ă©cofĂ©ministe le plus dĂ©bridĂ©, ce qui aurait [âŠ] â Read more
Et un chargeur unique pour les gouverner tous
Vous ne lâavez probablement pas entendu (ou pas assez) mais tout un continent vient de pousser un « ouf » de soulagement : enfin, les chargeurs de smartphone vont ĂȘtre standardisĂ©s en Union EuropĂ©enne ! Câest une vĂ©ritable victoire que vient ici de signer le Parlement europĂ©en en imposant le chargeur unique pour smartphones dâici lâautomne 2024 : partant du [âŠ] â Read more
Convert HEIC to JPG in Go
The âHigh Efficiency Image File Formatâ or HEIF is an image format often used by Apple devices. Although called HEIF, the file types are often heic ( presumably the âcâ stands for container?)
They use a similar encoding method of video formats and are deemed
better quality and lower file size than standard jpeg files. 1 points posted by Edd Turtle â Read more
https://indymotion.fr/c/el_jj/videos chaßne avec des vidéos de maths
ĂlectricitĂ© : « ChĂ©rie, je crois que ça va couper ! »
Les clowneries de nos ministres sâĂ©taient largement dĂ©ployĂ©es pendant la crise sanitaire, et nâavaient commencĂ© Ă se calmer quâavec lâagacement visible des foules devant la multiplication artificielle du nombre de vagues, de cas et maintenant de picouses magiques. Avec la crise Ă©nergĂ©tique, câest le retour de la clownerie industrielle et planifiĂ©e, dont le cĂŽtĂ© grotesque [âŠ] â Read more
âPara Portugal, [âŠ] seria necessĂĄrio garantir uma redução de emissĂ”es de pelo menos 61% atĂ© 2030 relativamente aos nĂveis de 2005, em vez dos atuais 55% na Lei de bases do Clima, para alinhar o paĂs com a meta de 1,5°Câ
âPara Portugal, [âŠ] seria necessĂĄrio garantir uma redução de emissĂ”es de pelo menos 61% atĂ© 2030 relativamente aos nĂveis de 2005, em vez dos atuais 55% na Lei de bases do Clima, para alinhar o paĂs com a meta de 1,5°Câ
[nitter.net/ZEROasts/status/1575415098352586760#m](https://nitter.n ⊠â Read more
Video: C Programming on System 6 - VCF Midwest, Wikipedia Reader, and Subterm
I attended the Vintage Computer Festival Midwest 17 and wrote two new programs. â Read more
MĂȘme squattĂ©, entretenez votre bien et oubliez vos droits de propriĂ©taire
La façon dont le droit de propriĂ©tĂ© est interprĂ©tĂ© par les diffĂ©rentes cours de justice de la RĂ©publique française ne cessent dâamuser la galerie et câest sans surprise que des affaires dĂ©frayent rĂ©guliĂšrement la chronique. Ainsi, derniĂšrement, on apprend que mĂȘme occupĂ© illĂ©galement, votre logement doit ĂȘtre entretenu. Eh oui mâame Ginette, mĂȘme lorsque votre [âŠ] â Read more
Ălisabeth Borne lance un nouveau (rantan)plan vĂ©lo !
Le temps passe vite mais pas assez pour tout oublier. Câest ainsi quâon se souvient dâil y a un peu plus dâun an, une certaine Elisabeth Borne lançait avec brio un premier plan vĂ©lo qui permettait enfin Ă chaque Français dâentrer â en pĂ©dalant â dans le XXIĂšme siĂšcle. Pour parfaire les rĂ©sultats dĂ©jĂ flamboyants [âŠ] â Read more
Réforme des retraites ou rafistolage de circonstances ?
Mais puisquâon vous dit que Macron, câest Le Grand RĂ©formateur ! Puisquâon vous dit quâil nâa pas arrĂȘtĂ© de rĂ©former, dâaffĂ»ter avec habiletĂ© la France pour la prochaine dĂ©cennie ! Les petits dĂ©rapages budgĂ©taires nây changeront rien : les rĂ©formes sont sur des rails, elles passeront. Quoi quâil en coĂ»te. Câest sans doute dans cet esprit que lâactuel [âŠ] â Read more
Ăconomisez, Ă©conomisez, Ă©conomisez, il en restera bien quelque chose !
Le gouvernement est un petit malin et comme dâhabitude, il a tout prĂ©vu : alors mĂȘme que les tempĂ©ratures extĂ©rieures ne sont pas encore problĂ©matiques, il sent bien que les prochaines semaines pourraient poser quelques soucis. Câest pour cela quâil a dĂ©pĂȘchĂ© la plus affĂ»tĂ©e de ses membres pour lancer une belle campagne de propag dâinformation [âŠ] â Read more
Le plan se dĂ©roule comme prĂ©vu, câest-Ă -dire mal pour le peuple
Comme le disait rĂ©guliĂšrement Hannibal Smith, il nây a rien de tel quâun plan qui se dĂ©roule sans accrocs et celui qui consiste Ă transformer Ă grands coups de pieds au derriĂšre la riche sociĂ©tĂ© occidentale en sociĂ©tĂ© pauvre et dĂ©sorganisĂ©e semble porter ses fruits : ça se transforme de plus en plus. Dans cette « grande [âŠ] â Read more
Lâabsolue nĂ©cessitĂ© de la peur
Alors que lâautomne nâest mĂȘme pas encore entamĂ©, tout le monde semble vouloir parler dĂ©jĂ dâhiver. Ă commencer bien sĂ»r par nos Ă©lites qui nous rappellent, par leur incroyable talent prĂ©visionniste, que gouverner câest prĂ©voir, vous allez voir ce que vous allez voir. Dâailleurs, on a vu : ayant su prĂ©voir â avec un brio inĂ©galĂ© [âŠ] â Read more
Une presse française lùche et paresseuse
Ah, finalement, quâil est doux dâĂȘtre journaliste en France dans un journal de rĂ©vĂ©rence ! Jadis, câĂ©tait un travail fatigant, voire stressant et parfois mĂȘme risqué : il fallait aller chercher lâinformation directement sur le terrain et la corroborer le carnet de notes Ă la main. Certains Ă©vĂ©nements pouvaient impliquer de mettre sa vie en danger ; et [âŠ] â Read more
Câest la rentrĂ©e, alors faites confiance au gouvernement !
VoilĂ , câest dit ! Cet hiver sera rude : on va se cailler les miches mais finalement, cela permettra Ă tous de prendre de bonnes rĂ©solutions sur le chemin de la SobriĂ©tĂ© ĂnergĂ©tique, de goĂ»ter au plaisir des douches froides, des repas crus et des longs trajets en vĂ©lo sous la pluie, la neige et les missiles [âŠ] â Read more
Linux, Alternative OS, & Retro Computing News - Aug 27, 2022
Linuxâs birthday, Windows 95âs birthday, NetBSD, Zelda 3 in C++, & new Dell Linux laptop â Read more
PEP 697: C API for Extending Opaque Types
Add limited C API for extending types whose struct is opaque, by allowing code to only deal with data specific to a particular (sub)class. â Read more
(cont.)
Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.
Domain ObjectsA domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.
type User struct {
Identity string ```json:"identity"`
CreatedAt time.Time
event.AggregateRoot
}
// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
for _, e := range lis {
switch e := e.(type) {
case *UserCreated:
a.Identity = e.Identity
a.CreatedAt = e.EventMeta().CreatedDate
/* ... */
}
}
}
Events
Events are applied to the aggregate. They are defined by adding the event.Meta and implementing the getter/setters for event.Event
type UserCreated struct {
eventMeta event.Meta
Identity string
}
func (c *UserCreated) EventMeta() (m event.Meta) {
if c != nil {
m = c.eventMeta
}
return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
if c != nil {
c.eventMeta = m
}
}
Reading Events from EventStore
With a domain object that implements the event.Aggregate the event store client can load events and apply them using the Load(ctx, agg) method.
// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
user := &domain.User{Identity: userID}
err := rw.es.Load(ctx, user)
if err != nil {
if err != nil {
if errors.Is(err, eventstore.ErrStreamNotFound) {
return user, ErrNotFound
}
return user, err
}
return nil, err
}
return user, err
}
OnX Commands
An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.
// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
event.Raise(a, &UserCreated{Identity: identity})
return nil
}
// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
if a.State != TaskStateCreated {
return fmt.Errorf("task expected created, got %s", a.State)
}
event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
return nil
}
Crud Operations for OnX Commands
The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.
// Create is used when the stream does not yet exist.
func (rw *User) Create(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil && !errors.Is(err, ErrNotFound) {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
// Update is used when the stream already exists.
func (rw *User) Update(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
Just testing my new fancy twtwt client written in C
Scratch? Python? C? Kernighan on Languages for Kids Coding - Computerphile â Read more
âwe looked at how damaging the journey of overshooting the 2°C temperature target would be,
[âŠ]
The results suggest that a temporary overshoot would cause waves of irreversible extinctions and lasting damage to tens of thousands of speciesâ
https://theconversation.com/climate-crisis-even-temporarily-overshooting-2-c-would-cause-permanent-damage-to-earths-species-185929?utm_source=twitter&utm_medium=bylinetwitterbutton
âwe looked at how damaging the journey of overshooting the 2°C temperature target would ⊠â Read more
Went on a hike this evening and brought my camera along. The 26°C felt much nicer than yesterdayâs 33°C. I perfectly met a mate who also wanted to go for a quick walk, just like we planned it. The first half hour we went together and then I parted for the longer route to the local mountain. The sunset was absolutely brilliant, but the aftermath turned out to be very boring.

Photo 9 shows the entrance to a wasp nest next to the bench in the previous take. The greenery blocks most the view, though. Several individuals took off and returned. But it wasnât too crowded. Nothing like at a typical honey bee hive at this point in time
What I found quite strange, there was quite a lot of smell of dead meat and butyric acid in the air. Hello hot summer. Both in the forest as well as in the village. I think I noticed those nasty odors at six or seven different places. Never experienced that before. Not to thaaat extent.
Pour une poignée de semaines
Ah sapristi, câĂ©tait trop beau pour durer ! Mais câĂ©tait prĂ©visible, cela arrive tous les ans Ă la mĂȘme Ă©poque : des *ÂŁ*#{] de vacances. Il est temps pour moi de mettre ce blog en pause pour quelques semaines, et laisser tomber lâactualitĂ© et son commentaire : compte-tenu du rythme dâenfer que les politiciens actuels nous font subir, [âŠ] â Read more
Mais que fait Obélix ?
Par Edmond DantĂšs Depuis plusieurs annĂ©es, les discussions de fin de soirĂ©e ont pris des allures de dĂ©briefing mĂ©dical dans un centre de soins palliatifs. On ne refait plus le monde, on regarde comment il meurt. Parfois, ça ressemble Ă une discussion entre experts analysant une malfaçon de charpente industrielle. Lâun soutient que câest telle [âŠ] â Read more
France : le dĂ©litement sâaccĂ©lĂšre
Chaque jour qui passe â et Ă plus forte raison lorsque câest un jour de forte chaleur â est une ode, que dis-je, un poĂšme raffinĂ© Ă lâorganisation minutĂ©e et cadencĂ©e de nos infrastructures de transport, notamment en Ăle-de-France et en particulier Ă Paris. Il ne se passe pas une journĂ©e sans quâon doive louer [âŠ] â Read more
I just read that on average we get about 108 liters of rain per square meter in July. This year it has only been 6 liters so far. I truly hope that we get some heavy rain later this evening. But looking at the forecast I reckon it will only be a few drops, if at all. Itâs supposed to get less and less with each day and even hour I look at the weather report. :-( Terrible 35°C at the moment. BwĂ€h!
Enumclaw â Cowboy Bepop
Another John C. Peterson joint. Enumclawâs Save the Baby is out October 14th on Luminelle. Pre-order the limited gatefold stonewashed vinyl here.
Continue reading⊠â Read more
The problem I have with the vast majority of social movements, left or right, is that they often lead to projection instead of introspection. Instead of person A trying to decide how person B can treat person C better, person A should try to decide how person A can treat person C better.
@prologic@twtxt.net Thatâs an even cooler slider, thanks! @mckinley@twtxt.net Iâm also on the fence of changing my current background:

(44°C, what the heck!)
@off_grid_living@twtxt.net Beautiful! We melted at humid 34°C yesterday, it was awful.
Cette si discrĂšte colĂšre batave
DĂ©cidĂ©ment, la presse grand public choisit ses sujets et sans prendre beaucoup de risques, on peut dĂ©jĂ parier que les prochains jours verront se dĂ©velopper une titraille toute en finesse sur le thĂšme du rĂ©chauffement climatique et de lâabomination que constituent de fortes chaleurs en plein mois de juillet. Câest pratique, cela permet dâĂ©viter consciencieusement [âŠ] â Read more
https://beej.us/guide/bgc/html/split/index.html Beejâs Guide to C programming
@kt84@twtxt.net This is beautiful! Iâd like to trade our temperatures from tomorrow on. Approaching and then exceeding 30°C here. 22°C today were alright.
My mate and I spontaneously decided to go for a longer tour today in 29°C heat. We ended up hiking 23 km in 4:30 hours. I had two liters of mineral water in my backpack and we bought a bottle of cherry limonade each on the way in. In the end we opted for pear limo at the same self-service fridge. What a great invention these small vending machines and self-service huts are! In Germany shops are closed on Sundays, so we would have needed to find an open restaurant (plenty didnât survive Corona) with some detours.
It was my first time on that particular terrain. We went through some beautiful and quaint forest paths with scenic views. I forgot to put my SD card back into my camera, so no photos until my mate will send me his.
Now my feet a cooling off in a bucket of cold water. Superb.
Yesterday, we had a heavy thunderstorm in the evening. At first it wasnât too bad, just thunder in the distance and then a few drops of rain for at most five minutes. That was it. Alright, I thought, itâs over, let me call a mate and walk to the dairy farm. The heavy clouds looked awesome, a bit threatening but mostly harmless and just beautiful. We decided on a small detour to the home made ice cream vending machine and got ourselves some expensive, but very yummy pineapple/mint, yoghurt and raspberry/basil tubs. Mint was super strong, had to eat three spoons of some other flavors to actually taste it. A few spoons in and then the thunder rolled in from nowhere. So we quickly headed for the dairy farm while eating our ice creams. Half way there the sky floodgates opened and we took cover under a tree at the local playground. A minute later we decided to climb up the slide tower, because it had a proper roof. A tiny bit of hail cam down, but nothing serious.
About 15-20 minutes the rain stopped and the thunder and lighning rolled past. So we continued our journey and I finally filled my two one liter bottles successfully. Every now and then it drizzled a little bit through the forest. We reached our homes and a couple minutes later rain hit again. Thunder and lighning went crazy. The sky lit up every few seconds and this continued through half of the night.
Right after I hung up to meet my mate, another mate called and reported a few villages north of us they experienced hail sized a bit under golf balls. But he luckily managed to get the car in the underground carpark in time.
Today, it rained the whole morning. This was great since the temperatures stayed below 20°C, so my walk was a real joy. Itâs going to get close to 30°C tomorrow, though, gnarf, örks, bwĂ€h. :-(

GitHub enables the development of functional safety applications by adding support for coding standards AUTOSAR C++ and CERT C++
GitHub is excited to announce the release of CodeQL queries that implement the standards CERT C++ and AUTOSAR C++. These queries can aid developers looking to demonstrate ISO 26262 Part 6 process compliance. â Read more
https://github.com/jflaherty/ptrtut13 pointers and arrays in C
https://www.youtube.com/watch?v=ZbRQWmTIHkI Watching âC from scratchâ ep 23