Articles
Github: Brent Litner
brentlintner starred NousResearch/hermes-agent
The agent that grows with you
Python 131k Updated May 4
Github: Brent Litner
brentlintner starred plastic-labs/honcho
Memory library for building stateful agents
Python 3.2k 1 issue needs help Updated May 1
Code Like a Girl
How Senior Engineers Actually Debug (It’s Not What You Think)
Most early engineers think debugging is about being fast, clever, or having seen the bug before.
It’s not.
Senior engineers don’t debug faster because they’re smarter. They debug better because they approach problems differently. What looks like intuition is usually a disciplined, almost boring process underneath.
1. They Don’t Start With Code — They Start With the SystemA common instinct is to jump straight into the code and start scanning for issues.
Senior engineers resist that urge.
Instead, they first ask:
What part of the system could even produce this behaviour?
They mentally map the flow — request → service → dependencies → storage → response. Before touching a single line of code, they narrow down where the bug could logically exist.
Debugging, at its core, is a search problem. Seniors reduce the search space first.
2. They Form Hypotheses (And Try to Disprove Them)Junior approach:
“I’ll try random things until something works.”
Senior approach:
“I think X might be happening because of Y. Let me prove myself wrong.”
This is subtle but powerful.
Instead of blindly trying fixes, they create small, testable hypotheses:
- “Is this a data issue or a logic issue?”
- “Is the bug happening before or after this service call?”
- “Is this reproducible or intermittent?”
Each step is designed to eliminate possibilities, not just find solutions.
3. They Reproduce the Problem ReliablyIf a bug can’t be reproduced, it can’t be debugged effectively.
Senior engineers invest time in:
- Creating minimal reproducible cases
- Controlling inputs
- Removing noise from the system
They don’t rush to fix. They stabilize the problem first.
Because once a bug is reproducible, it stops being mysterious and starts being mechanical.
4. They Use Observability as a Tool, Not an AfterthoughtLogs, metrics, traces — these aren’t just “nice to have.”
They are how senior engineers see the system.
Instead of guessing, they ask:
- What do the logs say at each step?
- Are there anomalies in metrics?
- Where does the timeline break?
If visibility is poor, they don’t proceed blindly — they improve observability first.
5. They Avoid Fixing SymptomsA quick fix that “makes the error go away” is tempting.
Senior engineers are cautious.
They ask:
- Why did this happen?
- What allowed this to happen?
- Could this appear elsewhere?
They care about root causes, not just surface-level fixes.
Because debugging isn’t just about solving this bug — it’s about preventing the next one.
6. They Know When to Stop Digging DeeperNot every bug needs a philosophical investigation.
Senior engineers balance depth with pragmatism:
- If it’s a one-off issue → patch and move on
- If it’s systemic → investigate deeply
- If it’s unclear → isolate and monitor
They understand that engineering is also about time and trade-offs, not just correctness.
7. They Communicate While DebuggingDebugging is rarely a solo activity at senior levels.
They:
- Share context early
- Explain their hypotheses
- Keep stakeholders updated
Not because they need help — but because debugging is also about alignment and trust.
The Real DifferenceThe biggest shift is this:
Junior engineers try to find the bug.
Senior engineers try to understand the system until the bug becomes obvious.
Debugging isn’t a talent. It’s a structured way of thinking:
- Narrow the search space
- Form and test hypotheses
- Make the system observable
- Focus on root causes
- Balance depth with speed
What looks like experience is often just discipline applied consistently.
Distilled PrincipleDebugging is not about being clever — it’s about being methodical under uncertainty.
And that’s what makes it a senior-level skill.
♦How Senior Engineers Actually Debug (It’s Not What You Think) was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Code Like a Girl
Change Fitness: The Career Skill AI Can’t Replace
♦
You don’t need to code to survive AI. You need Change Fitness. Here’s the 30% mindset framework that Harvard says will save your career.
Continue reading on Code Like A Girl »
Code Like a Girl
How to Know Your AI Feature Works Before Users Say It Doesn’t
♦
AI Evals for Product Managers
Continue reading on Code Like A Girl »
Cordial Catholic, K Albert Little
Life's Big Questions: A Moment of Profound Realization #shorts #atheist #christian #apologetics
James Davis Nicoll
Sunset / The Inheritors By William Golding
William Golding’s 1955 The Inheritors is a stand-alone speculative paleoanthropology novel.
Lok’s community is a simple one: himself, Ha, Nil, Fa, old Mai, an old woman, little Liku, and a baby. As far as Lok knows, this single group of wandering gatherers are the only people there are. His life is similarly straightforward: Lok and his kin cooperate to search for food.
Life is about to become much more complicated.
…
The Backing Bookworm
This Story Might Save Your Life
This book has been all over the Bookstagram universe. It was a combination of a couple of genres (mystery and a titch of romance), but I'll be honest, the romance element surprised me and didn't quite win me over. Instead, I thought the strength was in the tension and the friendship between the two main characters.
This is a solid suspense read with lots of red herrings and narrators Julia Whelan (one of my all-time favs!) and Sean Patrick Hopkins bring the connection between best friends Benny and Joy to life. The different sounding podcast elements were also a nice addition.
My wee beef: There's a pretty big secondary cast which made me pause as the twists were revealed as I tried to remember who that characters was in relation to the others.
But when I initially finished this audiobook, I wasn't sure how I felt about it and had to sit with it for a bit. It was a good read in the moment but isn’t a book whose details will stay with me long.
It's definitely twisty and it lives up to its hype ... but just barely.
My Rating: 4 starsAuthor: Tiffany CrumGenre: SuspenseType and Source: eAudiobook from public libraryNarrators: Julia Whelan, Sean Patrick HopkinsRun Time: 10 hours, 39 minPublisher: Macmillan AudioFirst Published: March 10, 2026Read: April 15-19, 2026
Book Description from GoodReads: Best friends Benny and Joy like to say they’ve been saving each other’s lives since the moment they met. Until the day Joy disappears and Benny is suspected of murder . . .
Benny Abbott and Joy Moore host one of the most beloved podcasts in the world. Each week, they delight listeners with a different “against all odds” survival story, gleefully finding the weird, life-affirming humor in near-death experiences. Since their first episode on Joy’s experience with severe narcolepsy, they’ve been the best friends everyone wants to befriend—and thanks to the meticulous management of Joy’s husband, Xander, they’ve built a lucrative empire.
The problem is, their next survival story may be their own. When Benny arrives at Joy and Xander’s one morning to record, he finds shattered glass and an empty house. The one clue shedding light on the couple’s disappearance is the incomplete, previously unseen first draft of Joy’s memoir. Benny is desperate to find them, even when the police soon zero in on him as their prime suspect.
Millions of devoted listeners think they know the “real” Benny and Joy. But as the hours tick by, and the odds seem increasingly stacked against Joy and Xander being found alive, not even the most devoted fans could guess the terrible secrets their favorite famous BFFs have hidden from the world—and from each other.
♦
Elmira Advocate
HOW MANY WOOLWICH COUNCILLORS WANT TO HANG AROUND FOR THE WATER BLAME
Well the chief architect of the Elmira cleanup failure over the last twelve years by the time the October elections roll around is running for the hills. She also bears some responsibility at the regional level for the water crisis throughout all of Waterloo Region. How many other regional as well as local councillors do you think will join the exodus? I would expect the mayors with more than one term as mayors and regional councillors might be thinking that this is a good time to hit the road. Is that only Barry Vrbanovic or is one of the other big city mayors a repeat culprit?
I expect that up here in Dogpatch (Woolwich) that there might be some small exodus of councillors although actually other than Bonnie Bryant, the others are all first term councillors. Hard to fault them horribly from one term's experience in which a quadruple term Sandy Shantz was leading the pack. She also spent a term as a councillor before her three terms as mayor. A small peccadillo derailed her for one term between her term as councillor and her three terms as mayor.
I have spent years trying to figure out if she basically is a naive fool, easily swayed and manipulated by the likes of Dave Brenneman, Mark Bauman, Chemtura/Lanxess and other local big shot companies and individuals. Or has she with full knowledge ploughed ahead wrecking havoc on our environment and health by prioritizing growth and business at all costs? Uniroyal and successors is not the only industrial dump in Woolwich Township. Breslube, prior to Safety-Kleen, damaged our environments's air and water for extensive distances throughout the 70s, 80s and 90s. Safety-Kleen were always welcomed with open arms and glad handing by earlier Woolwich mayors including Bill Strauss who personally owned multiple contaminated sites related to the fuel industry.
Perhaps we the citizens deserve both the environment and the mayors that we've had. Sebastian (TRAC) has very lately sent an excellent treatise on to some local environmentalists and unfortunately to a couple of wanna bees that may bite him. That could be unfortunate or it could turn out to be a blessing in disguise as he spends less time with those he refers to as deferential.
Kitchener Panthers
2026 SIGNING TRACKER: C Samuele Bruno
♦
KITCHENER - The Kitchener Panthers are proud to announce the signing of the versatile Italian import Samuele Bruno.
Bruno has spent the last several years playing in Italy's top baseball league, Serie A.
He hit a career .288 in 89 games playing for four teams in Serie A. This includes hitting .286 in 18 games in 2024 with Grosseto.
This spring, he played for Hastings College (NAIA) in Nebraska, where he hit .350 in 45 games.
Hastings' season ended Friday with a loss in the Great Plains Athletic Conference tournament.
"Samuele's versatility on the field will play a big factor for us this year," said general manager Shanif Hirani. "Being able to catch, as well as play the infield and the outfield will be extremely valuable.
"He has high level experience playing in Italy and is coming off a successful collegiate career. I'm excited to see that translate with us this season."
============
SAMUELE BRUNO
Bats/Pitches: R/R
Hometown: Nettuno, Italy (IMPORT)
Birthdate: July 23, 2003
Pronunciation: Sam-WELL-eh BRUNO
Elmira Advocate
IS JUSTICE CRAIG PARRY ANOTHER JUSTICE ROBERT REILLY ONLY 2.0 ?
I have noticed both the similarities and the differences. Both judges are local (Waterloo Region). Both are arrogant know it alls beyond belief. Both are stupid enough to think that either everybody in the world will believe their horseshit or that those who don't, do not matter.
The Dishonourable Robert Reilly dismissed the testimony of seven parent witnesses who supported me and my wife at trial. He blamed me alone for allegedly holding them under my spell and inducing them to falsely testify against the Plaintiff who sued both myself and my wife. Justice Craig Parry on the other hand dismissed the evidence of 48 female witnesses against Dr. Jeffrey Sloka. Justice Parry claimed that ALL the witnesses were unreliable however he blamed Waterloo Regional Police, the media and the prosecuters for having misled them in a variety of ways. I guess if you don't like multiple witnesses testimony than you need to scapegoat somebody.
Oh and my case was a civil case not a criminal case plus the co-accused (my wife) was found NOT liable as there was absolutely not one single shred of evidence presented against her. When I refused to put her on the stand in my defence both the Plaintiff's lawyer and the asshat Judge went ballistic. My in hindsight conclusion was that they were hoping to get her to say something on the stand to implicate herself because they had absolutely no evidence against her.
I had hoped and thought that Justice Reilly was the only local piece of crap Judge we had. I was mistaken apparently. I wonder if anybody at trial asked the police whether or not there were any male patients of Dr. Sloka (neurologist-brain, nerves etc.) who had complained about inappropriate and or intimate body examinations. If not that kind of looks bad on the doctor don't you think? I also wonder how Justice Parry satisfied himself that Dr. Sloka's intimate bodily examinations were appropriate? The Crown Prosecuter's witness a Neurologist said it was not appropriate. No other independent and certified witness said otherwise yet our Justice Craig Parry seems confident enough to substitute his judgement for that of a well known, certified professional Neurologist PLUS the opinions of the College of Physicians and Surgeons who permanently stripped Dr. Sloka of his medical license for his behaviour with female patients.
If if looks like a duck ....if it waddles like a duck ....and if it quacks like a duck ...it probably is a duck or in this case he probably is two letters past d.... and rhymes with duck.
Brickhouse Guitars
Coffee Break with Kyle & the Godin Century
Brickhouse Guitars
Coffee Break with the Boucher GR-SG-161T
Cordial Catholic, K Albert Little
Who Has the Authority? #Bible #apologetics #Christian #church
Child Witness Centre
Youth Symposium has Huge Impact for Over 1,600 Students
Going through adolescence can be tough enough for many youth – but especially during these uniquely challenging and quickly evolving times we’re in! That’s why our team at Child Witness Centre (CWC) is delighted our recent Youth Symposium was successful in making a huge impact.
The 19th annual edition of this very special program for local youth has just wrapped up! Our Youth Symposium began small in 2003 but has grown to benefit many hundreds of young people every year! This time around, a total of over 1,600 grade 8 students and their teachers attended. They came from almost 30 local schools – public, Catholic, and private – from across Waterloo Region, Guelph, and Wellington County.
Large and Dynamic InitiativeStrategically scheduled in April, this powerful preventative and outreach initiative reaches grade 8 students as they prepare academically and personally for high school and ultimately the person they’re becoming. The interest level from schools is always high! This one-day educational experience is run over three days – to accommodate the large volume of students. Those in attendance heard dynamic presentations aimed at making a big impact in their lives.
New this year was the Symposium being delivered in a single-stream, large-venue format, while remaining grounded in the same values and focus that educators have come to trust. For the first time in our program’s history, the event took place at University of Guelph (inside Rozanski Hall) on April 23 and at Wilfrid Laurier University (inside Lazaridis Hall) on April 28 and 29. In most recent years, the program took place in movie theatres, by spreading out the classes between multiple cinemas, and far more speakers involved. But with theatre renovations and fewer seats being available, it was time to reimagine what the program could look like.
Powerful Messages DeliveredThe featured speakers were a few of the best in the country for youth audiences. Chris Gray, Christene Lewis, and Jeff A.D. Martin leveraged their incredible lived experiences and gift of storytelling, while pouring themselves into their very meaningful and inspiring presentations. They encouraged living with purpose, hope, optimism, confidence, and kindness – while also dreaming big and pursuing goals. Themes included mental wellness, self-worth, resiliency, belonging, healthy relationships, positive thinking, and strong decision-making.
Our CWC representatives also shared a key message about the supports we offer if a young person becomes a victim of abuse or crime. A big highlight was our accredited facility dogs, Brady and Monet, appearing on stage. Last year alone, our agency supported 975 children and youth through the criminal justice system, along with 770 caregivers, to heal and move forward from their trauma.
Why This Program MattersThrough the amazing messages and interactions shared, there’s sure to be a mighty and lasting ripple effect in our community. Students were encouraged to overcome their challenges, recognize their inherent worth, shift to a champion mindset, seek help if needed, and understand the power they have in determining their own path forward. By taking place on university campuses, the event is also expected to help students envision themselves in a post-secondary setting in the future. For now, educators can carry the core messaging and themes back into their classroom discussions.
Glowing feedback for Youth Symposium has been received from many students and teachers over the years, including at this edition. One student said, “My experience was amazing. The presentations were all very inspiring, funny, and informative.” A teacher said, “Youth Symposium is one of the best field trips that a teacher could take their grade 8 class to.”
An Abundance of GratitudeOur team at CWC would like to thank everyone who helped pull off an immensely energizing, meaningful, and unforgettable initiative. Their Youth Symposium wouldn’t be possible without generous financial supporters and many volunteers. The program sponsors this year were KW Sertoma Club, Fergus-Elora Rotary Club, the Barb and Greg Billo Fund held at Waterloo Region Community Foundation, and the Brian and Pauline Fisher Fund held at Waterloo Region Community Foundation.
As we see things, youth not only deserve our support, but are 100% our future! That makes them a priceless investment of our time and resources. The reward is broad, deep, and lasting in our community.
The post Youth Symposium has Huge Impact for Over 1,600 Students first appeared on Child Witness Centre.
Github: Brent Litner
brentlintner pushed vim-settings
-
♦
adc5084Bump some packages
-
♦
79366c1Fix nvim tree bg no longer sticking as transparent
Elmira Advocate
MAYOR SHANTZ"S LEGACY IS LIKELY PROBLEMATIC
I suggest that her legacy is problematic mostly based upon her efforts regarding Elmira's water situation. Yes I am aware that the Woolwich Observer and others have been warning taxpayers here in Woolwich Township for decades about profligate municipal spending. Those folks have also likely suggested either empire building or at least unnecessary municipal hires which further add to the Township's financial burden when wages, benefits and long term cost of living increases are all included.
It is also possible that there are other issues such as local development both in Breslau and Elmira that may have offended many citizens. I do not however pretend to be either an expert on the intricacies of development nor on waste water infrastructure. I do have considerable knowledge however on water supply including both municipal, regional and even individual wells on private residences.
For myself there is one other major area of recent dispute that Mayor Shantz possibly cleverly avoided at all costs and that is the Region of Waterloo's mishandling of Wilmot's water supplies. Keep in mind that Mayor Shantz has also been a regional councillor for the past twelve years and should have stepped up and provided some leadership within regional council. Absolutely none was heard or reported upon at regional council meetings that multiple media have been attending vigorously for at least the last six months.
I have a colleague here in Elmira who has resoundingly been repeating the following mantra namely that Ms. Shantz's actions and decisions over the last eleven years have guaranteed the now universally accepted failure to clean up the Elmira Aquifers by 2028. While the "cleanup" has been irregular, inconsistent and inadequate for decades, the last chance to turn things around was in 2015 after the previous year's election which made Ms. Shantz mayor. Unfortunately, likely with bad advice (Brenneman & Bauman), she did absolutely everything wrong to restore the public's aquifers and everything right to minimize the polluter's environmental expenses and to polish Chemtura's and Lanxess's public images.
She has announced that she won't run in this fall's election. While that is a long overdue blessing I am not sure that local powers that be will not have multiple replacements waiting in the wings to solidify their influence generally at the expense of the public interest.
Code Like a Girl
Advocate For Paid Parental Leave, and Other Actions for Allies
Paid parental leave is already too rare in the United States. And now some employers are scaling it back.
Only 27% of private-industry workers have access to paid family leave, according to the US Department of Labor.
And recently, some high-profile companies that do offer paid leave for new parents have announced reductions. Zoom is cutting theirs by about 6 weeks, to 18 weeks for birthing parents and 10 weeks for non-birthing parents. Deloitte is cutting its parental leave from 16 weeks to 8 weeks.
As former Google executive Laszlo Bock noted, when one company cuts benefits, it can normalize others doing the same.
Yet paid parental leave is an important retention strategy. Catalyst reported earlier this year that 42% of women who voluntarily left their jobs said caregiving responsibilities, including childcare costs, drove their decision to exit the workforce.
There’s also a business case. The cost of one regrettable departure can be greater than the cost of providing leave, including lost productivity, hiring, and onboarding. Estimates range from 50% to 200% of someone’s annual salary.
Consider how you can advocate for protecting or improving paid parental leave. Who can you raise this issue with within your organization or union?
Share this action on Instagram, LinkedIn, or YouTube.
2. Encourage taking the full leaveOne reason organizations scale back parental leave may be that leaders misunderstand it. They might view it as unnecessary, optional, or even a vacation.
I’m still bothered by something a product manager said many years ago when I was about to go on maternity leave: “When Karen gets back from her holiday…”
That mindset matters. As gender equality researcher Siri Chilazi recently noted: When men in leadership take their full leave and talk about it openly, it changes what feels normal and possible. The more who do it, the less controversial it becomes.
Folks, let’s not disparage male coworkers and other non-birth parents for taking parental leave. Let’s encourage them to use the full benefit, support their time away, and welcome them back without judgment.
3. Document marginalized livesWhen members of underrepresented or marginalized groups are left out of the historical record, their contributions can be forgotten.
I appreciated learning about UC Berkeley professor Juana María Rodríguez, who asks her students to create and edit Wikipedia articles about LGBTQ+ people, history, and current issues. Together, they’ve made more than 300,000 edits.
Rodríguez’s goal? To prevent erasure.
It also reminded me of physicist Jessica Wade, who has personally added the biographies of more than 875 women scientists to Wikipedia so their contributions are recognized globally. She shares tips and advice for others who want to get started on a TED Talks blog post.
You can help, too.
Think about a leader, author, or someone in your industry who is a member of a marginalized group. If Wikipedia has an entry for them, can you make an edit to reflect their most recent accomplishments? If there isn’t an entry yet, follow Jessica Wade’s advice on how to create one.
Or, if you work in higher education, consider partnering with Wiki Education. They help faculty integrate creating content for Wikipedia articles into their curriculum.
(Thanks to Bernadette Smith’s Equality Institute Newsletter for introducing me to the UC Berkeley initiative.)
4. Treat AAPI racism seriouslyMay, which is Asian American and Pacific Islander (AAPI) Heritage Month in the United States, is a good reminder to focus on the inequity AAPI people can face in our workplaces. One issue? The false assumption that Asian employees are “doing fine” and not impacted by discrimination.
That belief is tied to the model minority myth. It’s a harmful stereotype that Asian people are uniformly successful and therefore less affected by bias.
As allies, let’s push back if we hear someone saying, “They’ll be fine,” or otherwise trying to downplay reports of harassment against employees of people of Asian and Pacific Island descent. We can ask, “What makes you say that?” and hopefully turn the conversation towards supporting those employees and addressing the discrimination.
5. Community spotlight: Point out the obviousSometimes, allyship is as simple as pointing out what others miss.
When newsletter subscriber Lisa had to withdraw from a panel, she recommended a woman colleague with equivalent experience as her replacement. Instead, the organizers chose a man. It just so happened that he didn’t represent the same type of organization as Lisa and her proposed substitute.
Lisa didn’t let it slide. She replied that their revised panel would now be all male and less diverse in another important way, too.
The organizers reconsidered and added her recommended panelist to the lineup.
Lisa summed it up well: “Sometimes it requires pointing out the obvious.”
Thank you, Lisa. What feels obvious to some of us often isn’t visible to others.
If you’ve taken a step towards being a better ally, please reply to this email and tell me about it. And let me know if I can quote you by name or credit you anonymously in an upcoming newsletter.
That’s all for this week. I’m glad you’re on this journey with me,
Karen Catlin (she/her), Author of the Better Allies® book series
pronounced KAIR-en KAT-lin, click to hear my name
Copyright © 2026 Karen Catlin. All rights reserved.
Being an ally is a journey. Want to join us?
- Say thanks to Karen and buy her a coffee (Need a receipt for educational reimbursement? Send us an email, and we’ll take care of it.)
- Follow @BetterAllies on Instagram, Medium, or YouTube. Or follow Karen Catlin on LinkedIn
- This content originally appeared in our newsletter. Subscribe to “5 Ally Actions” to get it delivered to your inbox every Friday
- Read the Better Allies books
- Form a Better Allies book club
- Tell someone about these resources
Together, we can — and will — make a difference with the Better Allies® approach.
♦♦Advocate For Paid Parental Leave, and Other Actions for Allies was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
House of Friendship
Slime-based Learning at Victoria Hills
Every week at Victoria Hills Community Centre, students have the chance to broaden their education at House of Friendship’s Adventure Learning program.
Held after school, Adventure Learning encourages schoolchildren in Grades 2 to 8 to explore new subjects, by making math, language, and science exciting and fun.
♦What better way to learn about the world than through slime? Matias enjoys a hands-on lesson at Victoria Hills Community Centre.
“We try to build a program based on what the kids are interested in,” said Kathleen Cameron, Neighbourhood Program Leader. “We usually have a video, where we share the science behind the activity.”
One week in February, the young students discovered how Silly Putty was invented by mistake. The children watched a short video about the inventor, James Wright, who tried to make a synthetic rubber substitute to support American war efforts in the Second World War. Instead, he created a bouncy, stretchy substance that eventually became a toy beloved by children throughout the world.
It was after watching the video, however, that the real fun began – the students all took part in making their own version of Silly Putty, slime.
They had to follow the recipe carefully, measuring out the ingredients – glue, baking soda, food colouring, and the secret ingredient, contact lens solution (containing boric acid and sodium borate). And while some of the students may not have measured as carefully as they should have, they still learned something in the process. The creation of slime, much like any other concoction, requires attention to detail.
It was a little bit messy, but it was worth it.
In addition to this kind of hands-on learning, the students also enjoy some physical activity in the gym, and have also taken part in spelling and math activities as part of the afternoon. Snacks are provided, recognizing that some of the children might come from households struggling to make ends meet, and after-school snacks aren’t always available at home.
This free program provides more than just support to the children’s education. It’s also providing a community.
“It’s fun to work with the kids,” said Kathleen. “I love seeing them interact with each other. They get to know us, come out of their shells, and meet some healthy role models while they are here.
“This is the neighbourhood I live in, and I’m happy to be there for my community. I get to help my neighbours here, and that’s wonderful.
Your support of Neighbourhoods work at House of Friendship is helping young students in Waterloo Region all year long! Your care and compassion will have a lasting impact on the lives of children who need support as they learn and grow. Thank you!
Donate today to help kids access educational programming!The post Slime-based Learning at Victoria Hills appeared first on House Of Friendship.
Code Like a Girl
The Best of Code Like a Girl: April 2026
Here are the best stories from Code Like a Girl for April. They have been selected from everything we’ve published on Medium and Substack.
We use each platform differently.
Medium is where we publish more widely.
Substack is where we concentrate our strongest work. Only three stories a week, thoughtfully chosen and actively amplified.
Most of our Substack stories come from writers who don’t publish on Medium, so there’s very little overlap between the two.
If you’re only reading us here, you’re missing part of it.
You can find us on Substack here: substack.com/@codelikeagirl
From Our Substack CommunityWhy I left MetaBy Britta
Britta spent six years at Meta, loved the work, believed in the people, and left with her lowest rating still being Exceeds Expectations. What broke her wasn’t the workload or the timezone or the VR pivots. It was watching a culture that once rewarded empathy and honesty quietly reorganize itself around ego, silence, and unchecked power.
26 Authors. 14 Countries. Zero BudgetBy Karen Smiley and Dinah Davis
26 women across 14 countries wrote a book together with no budget, no publisher, and no paid staff.
Every role, from editing to cover design, was filled by volunteers who showed up because they believed in what they were building.
This is what happens when women in tech stop waiting for permission and start creating the infrastructure themselves.
By Emanuela B
An HR rep told Emanuela she takes up too much space, and she took it as the best compliment she’d ever received.
This piece unpacks the impossible pendulum women face in corporate life: too quiet and you disappear, too present and you become a problem. And it asks a harder question about mentorship: what if the advice women pass down is just a blueprint for shrinking?
by Vinita
Most leaders are too busy firefighting to ever think strategically, and Vinita argues that is not a time problem, it is a priorities problem.
This piece breaks down exactly how to carve out the thinking space, make the hard trade-offs, and challenge the assumptions that keep organizations stuck in reactive mode. If you lead people and feel like you are always one step behind, this one is worth your time.
AI Agents: The Payback Tech Never Saw Comingby Patricia Gestoso
The AI agent boom is not really about technology. It is about users finally getting revenge on an industry that spent decades telling them they were too stupid, too complicated, and too demanding to deserve software that actually worked for them.
Patricia Gestoso makes a sharp case for why agents are a symptom of massive customer dissatisfaction, and what tech has to do to earn back the trust it never bothered to build.
Claude Code at Scale: What Actually Works (and What Doesn’t)by Nidhi Gahlawat
Nidhi Gahlawat spent two months using Claude Code on a massive Microsoft production codebase and came back with an honest verdict: it is genuinely useful, occasionally impressive, and wrong just often enough to keep you paying attention.
She breaks down exactly where it earns its place, PR reviews and boilerplate, and where it will confidently waste an hour of your time. If you use AI coding tools at work, this is the real-world take you actually need.
♦The Best of Code Like a Girl: April 2026 was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
James Davis Nicoll
Start Again / A Long and Speaking Silence (Singing Hills, volume 7) By Nghi Vo
2026’s A Long and Speaking Silence is the seventh volume in Nghi Vo’s Singing Hills secondary-world fantasy.
A former novice, now Cleric Chih, travels to Luntien in search of stories. Chih will learn many useful lessons, starting with keeping a better eye on their wallet than they actually did.
…
Cordial Catholic, K Albert Little
The Christian Author Who Searched Every Denomination Then Became Catholic (w/ Traci Rhoades)
Elmira Advocate
HISTORY REPEATS ITSELF BOTH AT TRAC AND WITH WILMOT TWN. & WATERLOO REGION
I TOLD THE LIARS & DECEIVERS AT CPAC BACK AROUND 2005 THAT THERE WAS CHLOROBENZENE DNAPL OFFSITE BY THE HOWARD AVE. WATER TOWER - They denied it then, now they admit to the chlorobenzene and "residual" DNAPL.
WATERLOO REGION PLAYED DECEPTIVE GAMES WITH WILMOT'S WATER BACK IN THE 1970s. They initially denied it, then admitted it. They are doing the same thing all over again.
Parents stop lecturing your children to stop lying. Clearly we are always going to need politicians and clearly they are always going to lie to us. If your child likes to lie then nurture that skill and hope for the day when they lie to further your interests versus the public interest.
Today's K-W Record has the front page story and headline titled "Former Wilmot mayor watches history repeat itself". Clearly back in the early 1970s the City of Kitchener had absolutely no problem robbing Peter of water to quench Paul's thirst. This continued until Wilmot stood on their hind legs and gave the Kitchener bullies whatfor. Agreements were made including that the Region would pay any Wilmot residents' costs required to drill deeper wells due to Kitchener drawing them down.
Similar bullies, polluters, politicians and long compromised regulators (MOE/MECP) have infested UPAC, CPAC initially, RAC, TAG and TRAC, all alleged public consultation bodies. I presented very strong evidence to the Chemtura Public Advisory Committee prior to 2007 that actually suggested that what Uniroyal's consultants had found was likely DNAPL (Dense Non Aqueous Phase Liquid) made up of chlorobenzene and other contaminants. As with pretty much all conclusions regarding contamination and cleanup it was based upon hard evidence actually provided by Uniroyal and corporate successors own, client driven consultants. In this case it was published in their monthly Progress Reports and examined a surprising discovery found one hundred feet below ground surface in well OW57-32R very near the Howard St. water tower. It has been vehemently denied for decades despite pumping well W4 being installed right beside it in order to speed up the dissolution of the DNAPL as well as keep the dissolved plume from spreading further under Elmira. Shortly after pumping well W4 was shut down, perhaps a little prematurely, downstream pumping well W3(R) and nearby observation wells such as CH75 began exhibiting increases in chlorobenzene. Hardly any surprise at all under the circumstances. Then in 2017 or 2018 Dr. Neil Thompson dropped the first bomb by advising that there was a lot more chlorobenzene in the Elmira aquifers than anybody had expected. By 2025 Jesse Wrighte of Arcadis Inc. advised that there were other sources of chlorobenzene located near the former Borg Textiles and the former Varnicolor Chemical. Allan Deal of GHD on behalf of Lanxess, also less than a year earlier, had advised as per the Minutes of a September 2024 TRAC meeting that nearby residual DNAPL was now dissolved. OH MY GOD BUT THE LYING BAST*RDS JUST CAN"T TELL THE TRUTH EVEN WHEN IT'S BITING THEM IN THE *SS. Residual DNAPL is the tail if you will of passing free phase DNAPL that is no longer continuous as in a "pool" of DNAPL.
This deceit, lying and manipulation of the truth has been the never ending story of the Elmira Water Crisis and our politicians not only have failed to call the polluter (Uniroyal/Crompton/Chemtura/Lanxess and regulator (MOE/MECP) on it but have enabled them throughout the last 36 1/2 years.
Grand River Rocks Climbing Gym
May Sale
The post May Sale appeared first on Grand River Rocks Climbing Gym.
Grand River Rocks Climbing Gym
May Sale
The post May Sale appeared first on Grand River Rocks Climbing Gym.
Becca Grieb
Meta Ads in 2026: What's Working, What's Dead, and What to Do Next
If you've been running Meta ads for any length of time, you already know the feeling: something that worked beautifully six months ago suddenly stops performing, and you spend the next few weeks trying to figure out why.
Meta's ad ecosystem evolves constantly — the algorithm changes, the creative formats shift, privacy regulations reshape what data you can actually use, and your competitors are running more ads than ever. Keeping up isn't optional anymore. It's table stakes.
I work with ecommerce brands and growth-stage companies on their paid media strategy, and Meta ads are almost always part of the conversation. Here's my honest read on what's working right now, what I've stopped recommending, and what I think the next 12 months look like.
What's Actually Working in 2026 Broad Targeting (Yes, Really)This one still surprises people, but the data keeps confirming it: broad targeting — or what Meta now calls "Advantage+ Audience" — is outperforming narrow, interest-based audiences for many advertisers.
This is a direct result of how much Meta's AI has improved. The algorithm is genuinely good at finding the right people now, often better than we are at manually defining who those people are. The days of stacking 15 interest layers and congratulating yourself on your laser-targeted audience are largely over.
What does this mean practically? Give Meta the creative, give it a budget, let the audience targeting stay wide, and let the algorithm learn. Test with strong creative rather than trying to engineer the audience.
The caveat: Broad targeting works best when you have enough conversion data for the algorithm to learn from. If you're a newer advertiser or running a brand with limited purchase history, you may still benefit from some audience signals to start.
Video Creative — But Specifically This KindNot all video is created equal right now. What's performing is short-form, native-feeling content that fits how people actually use the platform. Think lo-fi over produced. Think the way a creator would film something, not the way a brand would.
The content that stands out right now is: fast hooks in the first two seconds, authentic product demonstrations, creator-style testimonials, and content that doesn't immediately scream "this is an ad."
Polished 30-second brand films? Unless they're genuinely exceptional, they're getting skipped.
Advantage+ Shopping CampaignsFor ecommerce brands specifically, Advantage+ Shopping Campaigns (ASC) have become one of the best-performing formats available. Meta handles much of the heavy lifting — audience, placement, and optimization — while you focus on feeding it high-quality creative.
ASC works best when paired with a strong product catalogue, solid creative variety, and enough daily budget for the system to learn (typically $100+/day to start seeing meaningful data).
Retargeting With IntentionRetargeting isn't dead — but it's different than it was. With signal loss from iOS changes limiting how precisely you can retarget based on website behaviour, retargeting pools have shrunk and the data is less reliable.
What still works well: retargeting your email list and past purchasers (first-party data is king), video view retargeting (people who watched 50%+ of a video are warm), and engagement-based audiences.
What's worth pulling back from: site visitor retargeting with very short windows, which has become less accurate and more expensive.
What I've Stopped RecommendingDetailed Interest Targeting as a Primary StrategyAs I mentioned above: Meta's AI is better at finding your customer than you are at describing them with interest categories. Narrow interest targeting often restricts the algorithm unnecessarily and drives CPMs up.
I'm not saying never use it — I'm saying stop treating it as the foundation of your campaign strategy.
Optimizing for Link ClicksIf you're still running campaigns optimized for link clicks because it's cheaper than conversion campaigns — stop. You are paying to send curious people to your website, not buyers. The algorithm optimizes for what you tell it to optimize for. If you ask for clicks, you get clicks. You want purchases, customers, or at minimum, add-to-carts.
The only time I use link click optimization is for very top-of-funnel awareness plays where I genuinely don't care about conversion data and just want reach.
Changing Campaigns Too QuicklyThis one is less about a format and more about behaviour. One of the most common mistakes I see is advertisers jumping in to make changes to campaigns before the algorithm has had enough time to learn.
Meta's ad system needs data to optimize. If you're resetting campaigns every 3-4 days because the ROAS isn't where you want it, you're working against yourself. Unless something is dramatically off, campaigns need at least 7 days and 50 optimization events to exit the learning phase. Patience is part of the strategy.
Over-Relying on Platform-Reported ROASMeta's reported ROAS is not the complete picture. It never was, but post-iOS 14, it's become even less reliable. Platforms measure what they can see — and with signal loss, they can't see everything.
Cross-reference your Meta-reported numbers with actual revenue in your store, first-party data, and post-purchase surveys. If Meta says you did $10K in attributed revenue but your Shopify dashboard shows a different story, the truth is probably somewhere in the middle.
What the Next 12 Months Look LikeA few things I'm watching closely:
AI-generated creative will become table stakes — but differentiation will be in the human layer. As more brands use AI tools to produce creative at scale, the volume of ads running on Meta will continue to rise. The winners will be brands that use AI for production efficiency while keeping the creative strategy and brand voice distinctly human.
First-party data becomes a real competitive moat. As signal loss continues to affect targeting accuracy, brands with large, engaged email lists and robust CRM data will have a significant advantage. Start building and cleaning your list now if you haven't.
Lead generation will see continued investment. With ecommerce margins under pressure, more brands are experimenting with lead gen as a way to move people into a lower-cost nurture sequence before converting. Expect more brand-to-DTC overlap in how companies think about their Meta strategy.
The creative testing flywheel separates winners from everyone else. The brands that will win on Meta in the next year are the ones running structured creative tests consistently — not one test a month, but ongoing, systematic creative experimentation. If you don't have a creative testing process, that's where I'd start.
The Bottom LineMeta ads are still one of the highest-leverage paid channels available, especially for ecommerce and consumer brands. But the playbook has changed, and it keeps changing.
The advertisers who are winning right now are the ones who understand that Meta's AI is a tool to work with, not against — and who are investing in creative quality, first-party data, and strategic patience instead of trying to outsmart the algorithm with clever audience hacks.
Stop fighting the machine. Feed it what it needs, and focus your energy on the things it can't do for you: great creative, smart strategy, and a product worth selling.
Working through a Meta ads strategy and need a senior marketing perspective? Let's talk.Capacity Canada
Brown Bagging For Calgary’s Kids
Executive – Calgary, Alberta (Hybrid)
Brown Bagging for Calgary’s Kids (BB4CK) is seeking passionate community leaders to join our Board of Directors. If meaningful action motivates you, If you want to make a real difference in the daily life of a child, If you are passionate about creating social change and making a positive impact on your community…
You may be exactly who we are looking for!
Brown Bagging for Calgary’s Kids (BB4CK) is a community–funded non-profit organization that has been working for 35 years to make sure kids across Calgary have access to the food they need.
Together with the BB4CK community — donors, volunteers, school staff, and partners — we care for kids and families year-round. We work across the food-insecurity spectrum by preparing and delivering lunches to children in schools and summer camps, offering families a dignified choice through grocery cards, and advocating for systemic change in Calgary’s emergency food sector.
Our vision: A future where communities ensure no kids go hungry.
Our mission: Connect and inspire people to take meaningful action to feed and care for kids.
OpportunityBrown Bagging for Calgary’s Kids is currently seeking new members to join its Board of Directors. Each position will commence with a two-year term starting in Fall 2026. You will be joining a mature and highly cohesive board of committed volunteers who bring deep passion, strong governance practices, and a shared dedication to BB4CK’s mission.
In our commitment to building a diverse Board, we are specifically seeking candidates with Board governance expertise and leadership skills. In addition, expertise in human resources leadership, finance/audit, and/or risk management would be viewed as strengths.
Brown Bagging for Calgary’s Kids is dedicated to fostering a diverse, equitable, and inclusive environment. We are seeking applicants of all backgrounds, experiences, and perspectives, including individuals with lived experience of food insecurity, poverty, or systemic barriers.
ResponsibilitiesThe Board Member shall:
Act in a governance capacity, respecting the boundaries in accountability between management and the board.
- Ensure the long-term viability of the agency by comprehensively understanding and approving the strategic plan and annual operating budget, while continuously monitoring ongoing performance against both.
- Become familiar with the food insecurity landscape in Calgary, and how BB4CK can best meet its mandate
- Actively participate in Board and assigned committee meetings through regular attendance and appropriate preparation.
- Demonstrate a willingness to serve as Chair of a Committee and/or Chair of the Board in future years.
- Assist in communicating and promoting Brown Bagging for Calgary’s Kids (BB4CK) mission and programs to the community; play a central role in enhancing BB4CK’s reputation, advocating for its mission, and networking with the public and media.
- Familiarize yourself with BB4CK’s operations and culture by participating in food preparation sessions and other program opportunities.
- Attend special events.
- Review and understand the bylaws, policies, and Board structure, and recommend changes as necessary.
- Ensure BB4CK complies with all legal and regulatory requirements.
- Support the Executive Director’s success and contribute to the annual performance evaluation of the Executive Director.
- Support the recruitment and onboarding of new Board Members.
- Demonstrate personal and professional values that align with those of BB4CK.
- Assist in fostering and maintaining positive relationships among the Board, committees, staff members and the community to enhance BB4CK’s performance in achieving its mission.
Board members participate in quarterly Board meetings, with the occasional ad hoc meeting between scheduled sessions. Meetings are typically two hours and take place in person (where possible) in the late afternoon or evening.
- Board members participate in two standing committees of the Board and may also serve on ad hoc committees. Committee meetings are held quarterly, typically run for 90 minutes and take place virtually weekdays at lunch, or in the late afternoon/early evening.
- Board members are encouraged to attend the occasional special event throughout the year.
- Typical time commitment is approximately 25 hours per quarter (~8 hours per month).
- Our board terms extend up to six years, and we value directors who are ready to engage with BB4CK’s mission over that horizon. While we understand that circumstances can change, we’re seeking members who anticipate being able to contribute throughout that period.
Every Board Member, in exercising their powers and fulfilling their duties, shall:
- Act honestly and in good faith with a focus on the best interests of the Society.
- Exercise the care, diligence, and skill that a reasonable and prudent person would demonstrate under comparable circumstances.
- Adhere to the Society’s Code of Conduct, ensuring all decisions are made in the best interests of the organization while avoiding any personal conflicts of interest.
As a volunteer role, service on the Society’s Board is provided without remuneration, except for reimbursement of administrative support, travel, and accommodation expenses related to the fulfillment of Board duties.
Interested candidates are kindly invited to submit their applications by the end of day on June 1, 2026.
The post Brown Bagging For Calgary’s Kids appeared first on Capacity Canada.
Catherine Fife MPP
MPP Fife renews push for better handling of sexual assault cases in wake of Sloka trial
From the Waterloo Region Record, April 29, 2026: Waterloo MPP Catherine Fife is reintroducing her private member’s bill calling for more accountability and transparency in the handling of sexual assault cases.
Capacity Canada
Psoriasis Canada
♦
2026 – PsoCan Volunteer Board Director Posting Location: Canada (remote with some potential opportunity for travel) Application Deadline: Tuesday May 19, 2026, 5pm ET. About UsPsoriasis Canada is a national not-for-profit organization dedicated to improving the lives of people in Canada who live with psoriatic disease. As Canada’s trusted experts on psoriatic disease, we offer community, resources, and hope for a better future for those affected and those who care for them.
OpportunityWe are currently seeking a passionate and committed individual to fill a volunteer position on our Board of Directors for a term of three years, concluding in June 2029.
Role and ResponsibilitiesThe Board of Directors is responsible for the overall governance and strategic direction of Psoriasis Canada. This is an unpaid volunteer position. Organization staff are responsible for all operations of the organization. The successful candidate will be asked to sign a volunteer agreement, confidentiality agreement, and conflict of interest form.
Responsibilities of the Directors include: Leadership, Governance & Oversight- Directors help promote the mission and vision of the organization and advocate for Psoriasis Canada.
- Directors provide guidance and oversight for organizational risk management.
- The Board establishes governance structures to facilitate the performance of the Board’s role and enhance individual director performance. It ensures compliance with legal requirements as outlined in the Canadian Not-for-Profit Corporations Act and periodically reviews its policies and structure accordingly.
- The Board will advance Psoriasis Canada’s mission, vision and values by overseeing its strategic plan and ensuring that operational plans are consistent with the strategic plan.
- Fiduciary duties include financial stewardship of resources such as ensuring availability of and overseeing allocation of financial resources; ensuring that appropriate financial policies are in place for Psoriasis Canada; approving the annual budget and monitoring regularly.
Directorship is an opportunity for an individual who is passionate about Psoriasis Canada’s mission and who has a demonstrated commitment and the professional experience to serve in the role of Board leadership. A Director must:
- Be 18 years of age or older
- Be impacted by psoriasis and/or psoriatic arthritis, whether as a patient or caregiver / family member, or health care professional serving this community
- Be committed to serving the needs of people impacted by psoriatic disease and their families and furthering the organization’s mission
- Be able to communicate in English
- Reside in Canada
Additional assets include:
- Experience in healthcare, law, finance, fundraising, or non-profit governance.
- Knowledge of the health care system in Canada and awareness of the health policy environment.
- Ability to communicate in French or languages other than English.
Psoriasis Canada aims to reflect the communities that we serve so we welcome candidates with varied backgrounds and experiences to apply. All qualified applicants will receive consideration without regard to race, colour, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, or age.
TermThis appointment will begin on June 16, 2026, and continue until June 2029. The appointed director will be eligible to stand for election by the Members at the board election cycle corresponding to the expiry of this term. If elected, they may serve one additional three-year term in accordance with the organization’s bylaws.
Time and CommitmentA Director is expected to commit to the meeting times (scheduled in advance) as per the board attendance policy as well as to any other project commitment he/she/they volunteer to take on. This amounts to approximately 4–6 hours per month.
How to ApplyTo apply, please send the following information by email to Christian Boisvert-Huneault, Psoriasis Canada’s Acting Chair at vicechair@psoriasiscanada.ca by Tuesday May 19, 2026 5pm ET.
- Your résumé, including contact information (email and phone number) where you can be reached
- A letter of interest which includes a summary of your experience with and/or interest in our organization and the skills and knowledge are you willing to bring to our board
- Two professional references
Please note that applicants selected for further consideration will be contacted for an interview to be conducted between May 19 and May 22, 2026.
We appreciate the interest of all applicants; however, to manage capacity, only those selected for further consideration will be contacted.
The post Psoriasis Canada appeared first on Capacity Canada.
Code Like a Girl
Rendering Is a Browser Decision, Not a JavaScript One
This is the fifth article in a series on how JavaScript actually runs. You can read the full series here or on my website.
♦You change the DOM.
You expect the screen to update.
It doesn’t.
Why?
In the earlier articles, we established three constraints:
- JavaScript runs to completion.
- Tasks form scheduling boundaries.
- Microtasks must fully drain before moving on.
Now we add a fourth:
The browser will not render while a macrotask is running nor while microtasks are draining.Rendering Is a Browser Decision
Up to this point in the series, we’ve focused on two pieces of the system:
- The JavaScript engine, which executes code and manages the call stack.
- The runtime, which provides the event loop and scheduling rules.
But neither of these is responsible for rendering.
Beyond the JavaScript engine and the runtime, the browser also contains a rendering engine — the subsystem responsible for layout and painting.
The engine executes your code. The runtime manages when that code runs. The rendering engine decides when the result becomes visible.
For simplicity, this article will refer to that rendering engine simply as the browser.
The Rendering MisconceptionWhen I first started learning JavaScript, I carried several mental models that felt reasonable:
- DOM updates render immediately
- If I change the UI, the user will see it right away.
- The browser renders continuously at 60fps.
These felt natural because the screen often updates quickly. But they’re incomplete: Rendering does not happen whenever the DOM changes. Instead, rendering happens only when there is a ‘safe opportunity’, after the current macrotask finishes and the microtask queue is empty.
Rendering is not triggered by DOM mutation. It is gated by scheduling boundaries. Let’s test that.
Running the ExperimentsThese experiments rely on the browser’s rendering behaviour.
- Create a simple HTML file with the following content:
<div id="box">Initial</div>
2. Open the file in your browser
3. You can run all code snippets in this series by pasting them into the browser console.
These examples will not work in Node.js because they depend on the DOM and browser rendering.
Test 1: DOM Updates Inside One MacrotaskWhat happens when we have multiple DOM updates within the same macrotask? We may write something like the following, using a placeholder before the final string is ready:
const box = document.getElementById("box");
box.textContent = "Temporary string";
for (let i = 0; i < 1e9; i++) {}
box.textContent = "Final string of Test 1";We might worry that "Temporary string" would briefly appear before "Final string" is ready. But that doesn't happen. Phew!
Both updates occur inside the same macrotask and the browser refuses to render mid-task. It waits until the entire macrotask is finished, checks that there is no microtask in the queue and finally considers rendering.
The intermediate DOM states never show.
Test 2: Microtasks Also Delay RenderingWhat if the second update happens in a microtask instead? Would "Temporary string" appear briefly?
const box = document.getElementById("box");
box.textContent = "Temporary string";
Promise.resolve().then(() => {
box.textContent = "Final string of Test 2";
});Again, we only see "Final string of Test 2".
The initial macrotask runs and sets "Temporary string". After the call stack is empty, the microtask runs immediately after to update the DOM to "Final string". Only now does the browser get an opportunity to render.
Microtasks delay rendering just like synchronous code does.
Test 3: Breaking Into a New Task Allows PaintNow consider a timer callback:
const box = document.getElementById("box");
box.textContent = "Temporary string";
setTimeout(() => {
box.textContent = "Final string of Test 3";
}, 1000);This time we may see "Temporary string", followed by "Final string of Test 3" a second later.
Unlike the previous tests, we have now introduced a task boundary. The browser finishes the initial macrotask, drains microtasks (there are none here) and gets an opportunity to render. If it chooses to render, "Temporary string" becomes visible.
Later, when the runtime schedules the timer’s macrotask, the DOM updates to "Final string" and the next render will reflect this.
Rendering is allowed at task boundaries. This does not mean that rendering is guaranteed between macrotasks; only that it can only happen there.
Why Rendering WaitsIf the browser could render in the middle of a macrotask or in the middle of microtask draining, it could display half-updated DOM, inconsistent layout and/or partially computed state.
Thankfully, with this constraint, the browser renders only stable states, where a macrotask has finished and the microtask queue is empty. There would be no partial work in progress and hence rendering is atomic with respect to JavaScript execution.
The Correct Mental ModelWith these tests, we’ve shown that the browser does not render whenever the DOM changes. Instead:
The browser renders only after JavaScript finishes its turn.
Here, a “turn” means the current macrotask completes and the microtask queue has been fully drained.
Rendering is allowed only at those boundaries. This does not mean the browser renders after every turn, only that it cannot render during one. The rendering decision is gated by the same scheduling rules we’ve been building throughout this series.
What This Prepares Us For NextIf rendering only happens at specific boundaries, a new question emerges: How do we write code that runs at the right moment?
setTimeout creates a new macrotask but it does not align with the browser's frame timing. Microtasks delay rendering but they do not schedule it. If we want smooth animation and responsive updates, we need a way to run code just before the browser renders the next frame.
This is what requestAnimationFrame is design for. In the next article, we'll look more closely at how the browser's rendering cycle works and how to schedule work in harmony with it.
This article was originally published on my website.
♦Rendering Is a Browser Decision, Not a JavaScript One was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Code Like a Girl
Taylor Swift had to trademark her own voice, saying her own name.
♦
Welcome to AI. Where you have to legally prove you are you.
Continue reading on Code Like A Girl »
Code Like a Girl
Your User Stories Passed the AI Review… But They Still Broke the System
♦
(Part 2 of: When Your AI Team Starts Challenging Your User Stories)
Continue reading on Code Like A Girl »
Code Like a Girl
How to Debug and Fix Queue Overflow in Distributed Systems?
♦
Leveling Up System Design: #1 — A step-by-step guide to finding bottlenecks and fixing slow consumers in production
Continue reading on Code Like A Girl »
KW Predatory Volley Ball
Congratulations Jonah Dolhun. University of Toronto Commit.
♦
Read full story for latest details.Tag(s): Home
artsfols
PeterSlofstra
Ball Construction
The Grand Opening of the Preston Memorial Auditorium
Brickhouse Guitars
Coffee Break with Pellerin 10th Anniversary Collection Dreadnought
Agilicus
Cyber Criminals are Adopting AI: Keep your Critical Infrastructure Protected
Angstrom Engeneering
Quantum Series | In-line Automated Cluster System (UHV)
Agilicus
The Air Gap and Certificate Revocation / CRL / OCSP / Code-Signing
James Davis Nicoll
Burning It Down / The Player of Games By Iain M. Banks
Iain M. Banks’ 1988 The Player of Games is a stand-alone space opera, set in Banks’ Culture. And also adjacent to it.
The Culture allows its citizens to pursue whatever occupation they like. In the case of Jernau Gurgeh, that would be obsessive gameplaying. Gurgeh is extremely adept at learning and playing new games, but lately, he has become bored.
The Culture’s Special Circumstances agency has use for a person with Gurgeh’s talents.
There is the slight problem that Special Circumstances won’t explain what that use is until Gurgeh agrees to work with them. Gurgeh won’t agree until he knows what he is getting into. Nothing a little blackmail cannot solve.