Articles
Github: Brent Litner
brentlintner starred BrowserMCP/mcp
Browser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
TypeScript 5.5k Updated Apr 24, 2025
Github: Brent Litner
brentlintner starred GAM-team/got-your-back
Got Your Back (GYB) is a command line tool for backing up your Gmail messages to your computer using Gmail's API over HTTPS.
Python 3k 2 issues need help Updated Dec 27, 2025
Github: Brent Litner
brentlintner starred Jerome2606/PstMboxConverter
Free conversion from Outlook (.pst file) export to .MBox file (to be able to import in other mail tools)
Python 8 Updated Dec 16, 2025
Carrie Snyder: Obscure Canlit Mama
Practices for quieting the mind
♦
Another day, another prompt. Day 21 — “Is there a moment when your mind’s chatter quiets? What do you notice then?” This prompt is about quieting the thinking mind. I wrote while visiting my mom’s apartment this morning.
How do I turn off my thinking mind? Actually, I’m an expert — I’ve learned all kinds of strategies by necessity, because writing doesn’t thrive when thinking, if thinking is equated with panic or rumination. Thinking seems like the opposite of trusting, of going with the flow. Thinking spirals. To turn off the thinking mind, you need to get what’s inside, out — by drawing, sketching, making music. Even talking is not the same as thinking.
When I’m quiet and listening, there’s tone, there’s atmosphere, sensation, a lot of valuable communication expressed beyond words. Am I thinking, then? “Lost in thought” — that phrase expresses wandering in interiority. How different it is from being “absorbed” — when I am absorbed in a task, in an experience, the world is there/here and my attention and awareness is heightened.
As practices for quieting the thinking mind, I like meditation that focuses on sensation. And I like my friend Emily’s observational meditation, too, that breaks down what’s seen into descriptors that don’t name the thing itself. So that tree outside Mom’s window becomes a spiky set of fractals growing from an inner stem, tiny spikes on larger spikes, dark green prickles, cones in some of the crevices where the branches part like arms held up or legs spread, and the spears are topped with crusted white gatherings, hardened flecks come together to form lopsided bolls, dollops, all different shapes and sizes, clinging fast to any outspread surface, and in smaller tighter balls collecting on inner protected crevices.
Maybe? Was I thinking when I wrote that? Yes, of course, but I wasn’t spinning. I wasn’t entirely “I” either. I was observing closely, without weighing the value of what I was seeing, and that’s a state that feels unselfconscious, and self-sustaining, satisfying. I am sustained and occupied in this observational state, and being alive and in my body is so easy. The task is easy too. It is very relaxing. It happens quite often to me, that I enter into this state, or find myself in this state of relaxed attention, maybe because of all the practice. This is the state in which I write — anything. Including this.
xo, Carrie
Elmira Advocate
IN YOUR FACE WATERLOO REGION CITIZENS: OUR WATER SUPPLY IS FOREMOST FOR DEVELOPERS TO MAKE MONEY NOT FOR US TO SURVIVE
I believe that is becoming apparent as we read in the K-W Record about Waterloo Regional economic committees attended by local developers and builders as well as in today's paper that our regional councillors are attending meetings for example of the Waterloo Region Home Builders' Association. From regional councillor Colleen James to mayors Barry Vrbanovic and Dorothy McCabe, they apparently feel the need to stroke the egos or wallets of the Homebuilders' Association. What I find interesting is that I've sent e-mails of my Elmira Advocate Blog to all three asking for help and assistance in remediating the Elmira Aquifers which would be of direct benefit to the constituents of all three regional councillors. Zero response thank you very much. Maybe they are afraid to raise the ire of our beloved mayor Sandy Shantz. Kitchener mayor and regional councillor Barry Vrbanovic solicitously told the Homebuilders "We remain open for business," and Ms McCabe Waterloo mayor and regional councillor added "We continue to process planning files.". Isn't that sweet. No offers of a cup of water to parched citizens in either Kitchener or Waterloo however.
Regional Councillor Colleen James also advised the Homebuilders Association that trust must be rebuilt between themselves and the Region. O.K. maybe it's a cheap shot when you're attending their meeting and you don't suggest some sympathy and concern for the rest of us who have worked and lived here our whole lives but darn if it doesn't sting. I think at least half the water problem or more is how the Region have treated corporations, manufacturers, homebuilders and developers for decades. It's been kid gloves even for proven large groundwater polluters from Ciba-Geigy, C.G.T., Northstar, Uniroyal Tire (Kit.), B.F. Goodrich, Deilcraft, former Gaukel St. Post Office (Gasworks), Budd Automotive, Sunar, Canbar, maybe Seagram's, Uniroyal Chemical/Lanxess (Elmira), Nutrite and Varnicolor Chemical.
The Region brag about how proactive they are with Source Water Protection when in fact they never have been. Nor have they ever flexed their muscle up here in Elmira with Uniroyal Chemical other than to quietly walk away when things weren't going well. Here is a tip for the Region. Fix the water supply to allow all of us a share LONG BEFORE you feel the need to remove the development freeze to financially benefit either developers, home builders or make Dougie Ford happy.
KW Habilitation
January 21, 2026: What’s Happening in Your Neighbourhood?
♦
♦Out and About Meetups are an invitation for everyone to come together once per month at free community events. Meet up with old friends, make new friends, and explore KW! Out and About’s Local Community Connectors will be there too. Come to Skate Night in January, meet us for a Community Lunch in February and come with us to the Downtown Showdown to Meet The Kitchener Rangers in March,Everything we do will be absolutely free to join in on! There are options to meet with the LCC’s at an earlier time and bus with them to the events too. You might learn some new routes with the LCC’s, just don’t forget your bus fare! You can also meet the group at the event location at the regular start time. Hope to see you there. Let us know you are coming by emailing connecting@outandaboutwr.ca
Click here for more info on Skate Night
Click here for more info on Community Lunch
Click here for more info on Meet The Kitchener Rangers
♦♦ ♦
♦Looking for Weekly, Fun and Free? Click on me! Program details can be found in the Community Calendar
♦Celebrate Black History Month
Sunday, February 1
12:00 PM – 5:00 PM
FREE – Registration Required
Ken Seiling Museum – 10 Huron Road, Kitchener
Join the Canadian Caribbean Association of Waterloo Region in to celebrating Black History Month with stories, food, music, and good vibes! t’s a great chance to connect, learn, and honor the amazing contributions throughout history. Expect engaging stories, cool discussions, and a welcoming vibe. Don’t miss out on this awesome community gathering!
Click here for more info
♦January Local Social
Friday, January 30
4:00 PM – 5:30 PM
FREE
Thrive HIV Prevention & Support – Unit 6C, 1770 King St E, Kitchener
Calling all folks between the ages of 12-29 in Waterloo Region! Doin’ It is inviting you to their January Local Social. Doin’ It, is a local and inclusive sexual health resource for youth run by Thrive HIV Prevention & Support. If you want a space to craft, share 2026 hopes and talk sexual health—then this is the event for you. This month, celebrate the new year in a calm space where you can be in community with others who are interested in all things sexual health. There will be crafts, colouring, snacks and as always you are welcome to bring your current project.
Click here for more info
♦Winter Exhibition’s Opening Reception
Thursday, January 29
6:00 PM – 8:00 PM
FREE
Canadian Clay and Glass Gallery – 25 Caroline St. N, Waterloo
The Canadian Clay & Glass Gallery would like to invite you to attend the opening reception of their Winter 2026 exhibitions! All four of the exhibitions will be celebrated alongside snacks, drinks, and remarks from curators and artists alike. If you have visited the Canadian Clay and Glass Gallery in the past, you will know that the art exhibits are often dazzling, moving and unique. If you have never experienced the Gallery before, you won’t want to miss this event as it will be your perfect introduction to the space and the community.
Click here for more info
♦
♦Games Afternoon
Sundays, January 25, March 22, May 26
1:00 PM – 5:00 PM
FREE
Holy Saviour Church (lower hall) – 33 Allen St. E, Waterloo
Click here for more info
Tea and Crafts
Every other Tuesday (Jan 27, Feb 10, etc.)
6:00 PM – 8:00 PM
Willow River Centre – 243 King St. E, Kitchener
Click here for more info
Afternoon Drop-In
Wednesdays
1:00 PM – 3:00 PM
Central Library – 85 Queen St. N, Kitchener
Click here for more info
The post January 21, 2026: What’s Happening in Your Neighbourhood? appeared first on KW Habilitation.
James Davis Nicoll
Nightingales Sing / The Ayakashi Hunter’s Tainted Bride, volume 1 By Midori Yuma & Mamenosuke Fujimaru
2023’s The Ayakashi Hunter’s Tainted Bride Volume One is the first tankōbon for Midori Yūma and Mamenosuke Fujimaru’s The Ayakashi Hunter’s Tainted Bride fantasy manga series. The Sarah Kellis English translation came out in 2025.
Fourteen-year-old Nanao is beautiful, hails from a powerful clan, and is engaged to the handsome and charming Reito. When she misplaces the hairpin Reito gave her, Nanao is distraught. Happily, with the help of her conniving, jealous cousin Akemi, Nanao finds it again… out in the open, just beyond the household’s mystical protections.
Still, how risky could it possibly be to step beyond the barrier, pick up the hairpin and return?
…
Code Like a Girl
A Decade of Women Writing
To mark ten years of Code Like a Girl, I want to celebrate the voices that built it. In this post, I’m sharing our top post of all time, the most-read stories from each year on Medium, and some of the thoughtful comments we’ve already received here on Substack.
Earlier this week, I wrote about how this all started.
♦code.likeagirl.io/i-didnt-plan-to-start-a-movement-2574f41894f3This newsletter picks up from there, shifting the focus from my story to the many voices that followed.
What has mattered most is what happens when women are given space to speak, teach, question, and imagine.
Ten years in, I still believe that matters.
What We Were Talking About in 2016In 2016, the dominant theme was belonging. Writers were naming the friction of entering and surviving tech. Identity, credibility, burnout, and quiet exclusion showed up again and again.
It’s no accident that the top post questioned the management versus technical track. That piece captured a core tension of the time: advancement often required giving up the work you loved, especially for women still fighting to be seen as engineers in the first place.
Top 3 Posts of 2016- Why I Left Management: The Engineering Technical Track vs. Management Track by Joy Ebertz
- Why ‘her’? The Case for a Pronoun for a Programmer By Michael Hoffman
- From Secretary to Software Developer: the hard way By Denise Nepraunig
In 2017, the conversation sharpened. Writers were no longer just describing friction. They were pushing back on it. We also started to see some technical posts showing up.
This was a year of naming myths, challenging broken systems, and refusing biological or cultural explanations for exclusion. The top post captured that turning point perfectly, rejecting the idea that women don’t belong in engineering and asserting, plainly, that the problem was never ability.
Top 3 Posts of 2017- Actually, I was biologically designed to be an engineer by Mary-Ann Ionascu
- 5 Different ways to synchronize data from MongoDB to ElasticSearch by Apurva Gupta
- I’m a woman in tech, and this is what I want in a company by Leigha Mitchell
In 2018, the center of gravity shifted toward competence and craft. The most popular posts were practical, hands on, and unapologetically technical, written by people doing the work and teaching others how to do it too.
The top post, How to Undo the Last Commit, fit that moment perfectly. It wasn’t about identity or justification. It assumed belonging and focused on mastery, signaling a year where the community claimed technical authority rather than asking for permission.
Top 3 Posts of 2018- How to Undo the Last Commit by Isabel Costa
Our most popular post of all time, with over 1 million reads. - How-To Use Python to Remove or Modify Empty Values in a CSV Dataset By Leah Cole
Our second most popular story of all time, with 97k reads. - Análisis y visualización de datos con Pandas & MatPlotLib by Stephanie Frias
Fun fact: For a while during this period, Code Like a Girl published Portuguese and French editions alongside the main publication.
By 2019, the work had become intensely practical. The most popular posts focused on tooling, workflows, and problem-solving at the day-to-day level. Short, specific answers to real problems dominated.
The top post fit that moment exactly. It wasn’t aspirational or theoretical. It was about unblocking yourself and moving forward, reflecting a community that was firmly inside the work and optimizing how to do it well.
Top 3 Posts of 2019All three top posts are by Ai-Lyn Tang
- How to fix the go error: File is not `goimports`-ed (goimports) by @AAi-Lyn Tang
- How To Set a Background Using JavaScript
- Regex to test for lowercase characters
In 2020, the writing reflected a world under strain. The most read posts balanced deep technical problem solving with questions of resilience, ethics, leadership, and survival inside a rapidly changing industry.
It’s telling that the most popular story centered on securing systems and minimizing risk. In a year defined by uncertainty, the community gravitated toward work that prioritized stability, trust, and reliability, both in our code and in our lives.
Top 3 Posts of 2020- Best Practice to Secure your WebHooks by Fienny Angelina
- How to Refactor SCSS Variables for Styled Components by Andreea Macoveiciuc
- Four ways to scale Spring Batch by Female Power SV
In 2021, the focus widened from pure execution to progression. The most popular posts balanced deep technical skill building with career navigation, allyship, and questions of growth inside increasingly complex systems.
The year’s top stories reflect a community thinking about what comes next: advancing careers, preparing for interviews, choosing tools with intention, and confronting the emotional reality of early and mid-career work, all while technology itself was accelerating.
Top 3 Posts of 2021- Resumes that made it into FAANG by Anjali Viramgama
- Flutter vs. React Native vs. Kotlin: Which One is Driving 2021 and Why? by Scarlett Rose
- The Ultimate Beginner’s Guide For Spring Batch Error Handling by Female Power SV
In 2022, the focus settled into durability and pragmatism. The most read posts centered on making systems work better, longer, and more efficiently, from extending the life of older hardware to tightening data workflows and infrastructure.
Alongside that practicality ran a quieter thread of leadership and decision-making. The community was thinking not just about how to build, but how to sustain careers, teams, and tools in a world that no longer felt experimental, but operational.
Top 3 Posts of 2022- Linux Ubuntu Installation Steps on Old MacBook Air Mid- 2012 by @ Carla Martins
- The 10 Tech Gadgets and Accessories I can’t live without by Carla Martins
- Group By vs Partition By in SQL by Namaste Databricks
In 2023, AI entered the picture in a real way. The most read posts shifted toward systems thinking, architecture, and the practical work of integrating new tools into existing workflows.
Developers weren’t speculating anymore. They were experimenting, adapting, and learning how to work alongside AI while still grounding themselves in fundamentals like performance, structure, and decision-making.
Top 3 Posts of 2023- Swagger and Postman: Build a Swagger UI for your Python Flask Application by Python Code Nemesis
- Advanced ChatGPT Prompting Techniques for Developers by Aleksandra Liutikova aka Java Senorita
- Using Data Classes to create database models in Python by Python Code Nemesis
By 2024, the conversation shifted from learning tools to mastering leverage. The most read posts focused on productivity, promotion, decision making, and the hidden mechanics of influence inside modern tech careers.
AI was no longer novel. It was assumed. What people wanted instead was judgment: how to choose the right path, measure impact, manage others, and stay effective in an industry that felt faster, noisier, and less forgiving than before.
Top 3 Posts of 2024- I Removed VS Code, and My Productivity Improved Tremendously by Chris Ng
- 7 Productivity Hacks I Stole From a Principal Software Engineer by Nidhi Jain 👩💻
- Why 500 LeetCode Problems Changed My Life by Surabhi Gupta
By 2025, the conversation turned inward. The most read posts weren’t just about getting better at work; they were about redefining what work was worth. Identity, burnout, leadership presence, and long-term sustainability took center stage.
AI was no longer a curiosity or even a tool. It was a force reshaping careers, teams, and entry points into the industry, pushing people to ask harder questions about value, visibility, and what kind of future they were actually building.
Top 3 Posts of 2025- Why Reading More Books Wasn’t Making Me Smarter by Shruti Mangawa
- Micro-Retirement: A New Way To Live by Sivan Hermon
- 9 Lessons from a Principal Engineer That Made Me a Better Developer by Nidhi Jain 👩💻
Looking across these years, the pattern is unmistakable.
We didn’t move in straight lines. We moved in waves.
From belonging to pushback.
From competence to execution.
From stability to progression.
From durability to adaptation.
From leverage to reckoning.
The writing changed because the world changed. Because careers changed. Because the questions women in tech were asking kept evolving.
But one thing stayed constant.
When women were given space to write honestly — about systems, tools, careers, burnout, ambition, and identity — the work didn’t fragment. It compounded.
Stories built on each other. Skills layered. Confidence grew. Patterns emerged.
And once those patterns were visible, they were harder to dismiss as coincidence, personality, or individual failure.
That is the quiet power of a decade of voices.
Not a single viral post.
Not a single argument won.
But thousands of women documenting reality in public, year after year.
This post isn’t a conclusion. It’s a snapshot.
Because the questions haven’t stopped changing. And neither has the work.
Ten years in, I’m still grateful for every person who wrote, read, shared, and stayed. And I’m still convinced that making space — for women to speak, teach, question, and imagine together — is one of the most practical things we can do.
The next decade will ask different questions.
What matters is that we keep answering them out loud.
♦A Decade of Women Writing was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Cordial Catholic, K Albert Little
The Incredible Story of the Baptist Bible Scholar Who Became Catholic! (w/ Dr. Stephen Boyce)
Code Like a Girl
Crossing the AI Chasm of your career
♦
How to catch the products that soar while avoiding products that crash
Continue reading on Code Like A Girl »
Code Like a Girl
Learning React: useReducer Is Not as Difficult as It Looks
useState is the first hook every new React developer learns. It’s simple, intuitive, and powerful for building interactive UI. But it’s not the only tool available — and sometimes, it’s not even the best one.
I have been consulting React programmers at work for several years now. I still see how my colleagues use useState without any doubt, but even mentioning useReducer makes them shiver.
To better understand why this is happening, I talked to my colleagues, who have recently started learning React. We walked through various state-management techniques and explored real-world examples. These conversations helped me see what they were struggling with the most.
After a few explanations and some practical exercises, the hook suddenly didn’t look so frightening anymore.
In this article, I’ll break down the common fears around useReducer, explain when it’s worth using, and show you that it’s much simpler than it seems.
Stereotypes and MisconceptionsLet’s start with the fears I heard most often.
“I don’t know when to use useReducer. Do I even need it?”
Many beginners think useReducer is meant only for highly complex components, so they never even consider using it. And because most examples in the official documentation rely on useState, it’s easy to believe that it’s the default solution for everything.
Additionally, it is challenging to determine when it is actually necessary. I always recommend starting with useState, and when you feel it’s becoming uncomfortable to manage state with multiple setter functions, you need to change your state management strategy. But it is important to try both variants and to feel the difference.
Of course, if your component is simple and only manages a single boolean or string, you definitely don’t need useReducer—that would be unnecessary overhead. But once you start managing multiple pieces of state with useState, mainly when those values depend on each other, it’s usually a sign that switching to useReducer will give you a cleaner and more structured solution.
“The syntax looks complicated.”
Multiple useState calls feel easier than writing a reducer function. In my experience, the writing reducer function frightens people the most. But in reality, you only need to write it once, and your fears will disappear immediately.
It is just a function that gets the current state and passed action, calculates the new state and returns it. That’s all.
“Dispatch? Actions? Types? Why do I need it all?”
The mental model of “dispatching actions” feels foreign when you’re used to simply calling setValue(newValue). It looks too much and too complicated, but if you need to manage a more complex state, it makes complete sense.
When you use useReducer, you need to think about how actions change the UI and describe that change using a reducer function.
I will show later in this article how easy it actually is.
The differenceLet’s start with the basics. Both hooks are meant for managing state, but the important thing is how we pass the new values.
Before we dive into examples, let’s compare the syntax.
const [name, setName] = useState<string>("value");
//setting new value
setName("new value");
const [state, dispatch] = useReducer(reducer, initialArg, init?);
//setting new values
dispatch({type: "added", payload: "new value"});Let’s be honest, using useReducer looks more complicated: we need to define a mysterious reducer function and pass additional arguments to the dispatch. Too much… Or not?
The primary purpose of useReducer is to make state management simpler where it is needed. If your component is simple enough, you can stay with useState.
In other cases, useReducer can help you.
Action is the keyUsing useReducer is more about actions and the results that must be visible on the screen when those actions occur.
Actions force you to think in terms of what happened, not how to mutate the state. This leads to:
- more predictable updates
- cleaner logic
- easier debugging
You have one place where your state is being modified. And when your component grows, this structure becomes a lifesaver. What you need to know is what action has occurred.
But what is the action, and how to use it?
Actions can have any shape. By convention, it’s common to pass objects with a type property identifying the action. It should include only the minimal information the reducer needs to compute the next state. — from official React documentation
The best example of using useReducer is a view component or a wizard, where you need to store a lot of information in the state. That information is connected to values that depend on it.
For example, creating a component that shows the user a list of data needs information about:
- Fetching the data
- When data is successfully collected
- When an error occurs, error messages
We could use useState for each of these points, but let’s think in terms of using useReducer. We need to define an object in the state that contains all the required information, along with actions. For this example, actions could be:
- Data is loading
- Data is loaded successfully.
- An error has occurred.
When we have objects and actions, we must define a reducer function and describe what happens to the state when this action occurs.
- Data is loading -> showing spinner, clearing data in the state, removing all error messages...
- Data is loaded -> setting data to state and removing the spinner…
- An error -> removing previous data from state, hiding the spinner, and showing error messages…
That’s how we can use useReducer. Now let’s look at how it looks in the code.
useState Version
const [loading, setLoading] = useState<boolean>(false);
const [loaded, setLoaded] = useState<boolean | undefined>(undefined);
const [items, setItems] = useState<T[] | undefined>(undefined);
const [errorMessage, setErrorMessage] = useState<string[] | undefined>(undefined);
const setLoadingState = () => {
setLoading(true);
setLoaded(false);
setItems([]);
setErrorMessage([]);
};
const setFailureState = (errors?: string[] | null) => {
setLoading(false);
setLoaded(true);
setItems([]);
setErrorMessage(errors || []);
};
const setLoadedState = () => {
setLoading(false);
setLoaded(true);
setItems((prev) => prev ?? []);
setErrorMessage([]);
};
useReducer version
export enum BaseListActionType {
Loading = 0,
Loaded = 1,
Failure = 2,
}
export interface IBaseListState<T> {
loading: boolean;
loaded?: boolean;
items?: T[];
errorMessage?: string[];
}
export interface IBaseListAction<T> {
type: BaseListActionType;
errorMessage?: string[] | null;
payload?: T[];
}
export const baseListReducer = <T>(
state: IBaseListState<T>,
action: IBaseListAction<T>
): IBaseListState<T> => {
switch (action.type) {
case BaseListActionType.Loading:
return {
...state,
loading: true,
loaded: false,
items: [],
errorMessage: [],
};
case BaseListActionType.Failure:
return {
...state,
loading: false,
loaded: true,
items: [],
errorMessage: action.errorMessage || [],
};
case BaseListActionType.Loaded:
return {
...state,
loading: false,
loaded: true,
items: state.items ?? [],
errorMessage: [],
};
default:
return state;
}
};
dispatch({ type: BaseListActionType.Loading });
dispatch({ type: BaseListActionType.Loaded, payload: [], });Transition From useState to useReducerTo make this easier, I will describe the transition from useState to useReducer.
- Combine your state into a single object, and create an object of all your useState definitions.
- Define actions as simple strings or enums. Choose what works better for you.
- Define a reducer function. Action -> New state object. Usually, aswitch statement is used for it.
- Switch your setValue calls to dispatch.
When to switch to useReducer:
- You have multiple related pieces of state.
- Updating one value requires updating others.
- You have conditional or branching logic.
- You’re calling several setter functions.
- You’re writing the same update logic in multiple places.
If your component has started to feel “messy,” that’s your signal.
When not to switch:
- You manage a single value.
- Your component is simple.
- State updates are trivial.
- You don’t have branching logic.
If you’ve been relying on useState for everything, that’s completely normal. But the moment your component starts feeling messy, or your state transitions become harder to track, that’s your signal to reach for useReducer. It’s not just for “advanced” React developers. It’s for anyone who wants to write cleaner, more maintainable code.
That’s all about the useReducer hook. I hope these tips will be helpful.
♦Learning React: useReducer Is Not as Difficult as It Looks was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Github: Brent Litner
brentlintner starred YusukeIwaki/capybara-playwright-driver
Playwright driver for Capybara
Ruby 228 Updated Dec 28, 2025
Github: Brent Litner
brentlintner starred thoughtbot/appraisal
A Ruby library for testing your library against different versions of dependencies.
Ruby 1.3k Updated Sep 8, 2025
Github: Brent Litner
brentlintner starred DarthSim/hivemind
Process manager for Procfile-based applications
Go 1.1k 1 issue needs help Updated Dec 12, 2023
Grand River Rocks Climbing Gym
Boulder 101
The post Boulder 101 appeared first on Grand River Rocks Climbing Gym.
Capacity Canada
Guelph Humane Society
♦
♦ Make a Difference Join the Guelph Humane Society Board of DirectorsThe Guelph Humane Society envisions a compassionate world where all animals are valued and respected. Our mission is to advance the welfare of animals through care, education, community engagement and relationships.
SPECIFIC SKILLS WE ARE LOOKING TO FILLCandidates with one or more of the following:
- Business & Finance experience
- Community engagement / building
- Passion for GHS’s mission
- Previous board experience an asset & understanding of a Governance model within a non-profit, charitable context
Don’t have any of the experiences listed above, but are still interested? We’re also seeking individuals with a diverse set of skills and experiences who can demonstrate a willingness to learn, lead, and be an ambassador for GHS in the community.
If you’re interested (or even just curious) about joining the GHS Board of Directors, we’d love to hear from you. Send your cover letter and CV by 12 pm on February 24, 2026 or any questions, to jointheboard@guelphhumane.ca
The post Guelph Humane Society appeared first on Capacity Canada.
The Backing Bookworm
The Future Saints
Well, I didn't expect a story set in the music biz to make me cry, but here we are.
Ok, with the obvious (and admitted) similarities to Taylor Jenkins Reid's Daisy Jones and the Six aside, yes, this is a story set in the music industry with a female lead, but this contemporary story holds its own and is much more of an emotional journey than I expected.
This page-turner of a read centres around The Future Saints, an up-and-coming musical group and through the experiences of Hannah, Ripper, Kenny (and music exec Theo), readers get a behind-the-scenes look at the competitive music industry and its impact on the characters. We witness their highest of highs (literally and figuratively) and their lowest of lows when the trio finds sudden fame after going viral.
But this is more than a rags to riches story. Winstead blends well-defined characters (I particularly loved Kenny and Ripper as secondary characters) and humour within a story that deep dives into the harsh realities of mental illness and the long-lasting effects of grief with a poignancy that made this reader tear up.
Through the dual POVs of lead singer Hannah and music exec/manager Theo, as well as social media posts, magazine articles and interviews, Winstead gives readers a raw and compelling look at fame, complicated familial bonds and the devastating impact of grief. It's a story about resiliency, family and finding out what happens when you get the dream you thought you wanted.
This book, which I finished on my younger sister's birthday (today! - HBD Jennifer!), gave my tearducts a good workout and is my first five star read of 2026. I look forward to rereading this book in audiobook form in the future.
Recommended for fans of:- sibling bonds- music industry- poignant reads
Disclaimer: My sincere thanks to Atria Books for the complimentary digital advanced copy that was given to me in exchange for my honest review.
My Rating: 5 starsAuthor: Ashley WinsteadGenre: Contemporary FictionType and Source: ebook from publisher via NetGalleyPublisher: Atria BooksFirst Published: Jan 20, 2026Read: Jan 16-20, 2026
Book Description from GoodReads: Perfect for fans of Daisy Jones and the Six and In Five Years—a beautiful, powerful, and transportive new novel about a music executive desperately trying to bring a rock band back from the brink, from bestselling author Ashley Winstead.
This is a love story, but not the one you’re expecting.
When record executive Theo meets the Future Saints, they’re bombing at a dive bar in their hometown. Since the tragic death of their manager, the band has been in a downward spiral and Theo has been dispatched to coax a new—and successful—album out of them, or else let them go.
Immediately, Theo is struck by Hannah, the group’s impetuous lead singer, who’s gone off script by debuting a whole new sound, replacing their California pop with gut-wrenching rock. When this new music goes viral, striking an unexpected chord with fans, Theo puts his career on the line to give the Saints one last shot at success with a new tour, new record, and new start.
But Hannah’s grief has larger consequences for the group, and her increasingly destructive antics become a distraction as she and her sister Ginny—her lifelong partner in crime—undermine Theo at every turn. Hannah isn’t ready to move on or prepared for the fame she’s been chasing, and the weight of her problems jeopardize the band, her growing closeness with Theo, and, worst of all, her relationship with her sister—all while the world watches closely. The Future Saints’s big break is here—if only they can survive it.
A novel about sisterhood, friendship, and the ghosts that haunt us, The Future Saints is “a mesmerizing look at grief, love, and the music industry that's so raw and emotional, you’ll want to play it on repeat.” (Laura Hankin, author of One-Star Romance).
♦
Github: Brent Litner
brentlintner starred aleclarson/vite-tsconfig-paths
Support for TypeScript's path mapping in Vite
TypeScript 1.6k 1 issue needs help Updated Jan 9
Kitchener-Waterloo Real Estate Blog
Waterloo Region Housing Market Update: December 2025 Trends & What to Expect in 2026
As we move through the first month of 2026, many homeowners and buyers are asking the same question: Where is the Waterloo Region housing market headed next?
The short answer is this — 2025 was not a year of recovery or collapse. It was a year of reset.
Rather than dramatic swings, the market recalibrated. Pricing became more disciplined, buyers became more analytical, and homes began selling based on fundamentals again — not urgency or emotion. Below is a detailed breakdown of what happened in 2025, what December’s numbers tell us, and how these trends are shaping the year ahead in Waterloo Region.
In 2025, a total of 6,177 homes sold through the MLS® System in Waterloo Region. That represents:
- An 8.8% decline compared to 2024
- 25.3% fewer sales than the ten-year annual average
In 2025, a total of 6,177 homes sold through the MLS® System in Waterloo Region. That represents:
This confirms what many homeowners felt firsthand: fewer transactions, longer selling timelines, and far more price sensitivity. Higher borrowing costs, economic uncertainty, and affordability constraints changed buyer behaviour significantly. Buyers became more selective, more cautious, and far less willing to stretch beyond perceived value.
December reflected these same conditions. 306 homes sold, down 9.5% year-over-year and nearly 20% below the long-term December average. While sales remained muted, new listings continued to rise, shifting negotiating power and increasing buyer choice.
This is an important distinction: Homes are selling — but only when pricing, condition, and positioning align precisely with buyer expectations.
In 2025, a total of 6,177 homes sold through the MLS® System in Waterloo Region. That represents:
- A 5.9% decrease compared to December 2024
- A 0.5% increase from November
That modest month-over-month increase suggests pricing may be starting to stabilize after a prolonged adjustment period. However, performance varied significantly by property type.
Detached Homes: The Most Resilient SegmentDetached homes remained the strongest and most stable segment in Waterloo Region.
- December average price: $839,394
- Down 6.0% year-over-year
- Up 1.4% month-over-month
- 2025 year-to-date average: $876,896 (down 3.7% from 2024)
Well-located detached homes with functional layouts, finished basements, and meaningful updates continue to attract buyers. However, homes priced based on peak-market expectations are sitting longer and facing resistance.
Townhouses: Increasingly Price-Sensitive- December average price: $568,249
- Down 9.8% year-over-year
- Down 4.4% from November
- Year-to-date average: $611,256 (down 4.3%)
Townhouses now face stronger competition — both from other townhomes and from detached properties when pricing overlaps. Buyers are carefully comparing value, making clear positioning essential.
Apartment-Style Condos: The Weakest PerformerCondos experienced the sharpest correction in 2025.
- December average price: $366,784
- Down 22.9% year-over-year
- Down 13.1% month-over-month
- Year-to-date average: $437,084 (down 7.4%)
This decline was driven by reduced investor activity, higher carrying costs, increased resale inventory, and weaker pre-construction demand. While challenging for sellers, this shift has improved conditions for end-user buyers who now have greater negotiating leverage.
Semi-Detached Homes: Moderating Alongside the Market- December average price: $601,535
- Down 6.7% year-over-year
- Year-to-date average: $635,412 (down 4.1%)
Overall, the year-to-date average price for all residential properties in Waterloo Region was $754,199, down 3.7% from 2024.
♦Source: Cornerstone Association of REALTORS®
Supply & Inventory: More Choice for BuyersInventory growth was one of the defining themes of 2025.
- 13,872 new listings added in 2025
- Up 5.2% from 2024
- 15.7% above the ten-year average
- 375 new listings in December alone (+6.5% year-over-year)
- 1,188 active listings at month-end
- Up 15.9% from December 2024
- Nearly double the ten-year average for December
Months of supply now sit at:
- 2.3 months overall
- 4.9 months for condominiums
- 3.0 months for townhouses
- 1.7 months for detached homes
This does not signal oversupply — but it does confirm a move away from extreme seller-favourable conditions. Buyers are taking time, comparing options, and negotiating more confidently.
Days on Market: A More Deliberate BuyerIn December, homes took an average of 45 days to sell, compared to:
- 36 days in December 2024
- A five-year average of 24 days
This reflects a more measured buyer mindset: more showings before offers, more conditions, and closer scrutiny of pricing and value.
Looking Ahead to 2026Most indicators point toward stabilization rather than a rapid rebound in early 2026. Affordability remains a constraint, especially for first-time buyers. However, proposed federal and provincial incentives — including the removal of HST on new homes up to $1M for first-time buyers — may provide modest support.
Markets like Waterloo Region, which experienced significant growth between 2020 and 2022, are still working through that adjustment. Success in 2026 will continue to depend on accuracy, strategy, and execution.
- Buyers benefit from more choice and stronger negotiating power, particularly in condos and townhomes
- Sellers must price precisely and prepare thoughtfully — overpricing is being penalized quickly
- Homes that are well-presented, competitively positioned, and aligned with today’s buyer expectations are still selling
If you’re considering buying or selling in 2026 — or simply want to understand how these trends apply to your specific home or neighbourhood — we’re always happy to provide tailored, data-driven guidance.
The post Waterloo Region Housing Market Update: December 2025 Trends & What to Expect in 2026 appeared first on Kitchener Waterloo Real Estate Agent - The Deutschmann Team.
Children and Youth Planning Table of Waterloo Region
Virtual Information Session on Federal Government Youth Initiatives
Service Canada invites you to participate in an upcoming Virtual Information Session on Federal Government Youth Initiatives.
This session will highlight programs, resources, and opportunities designed to empower young people across Canada to engage in public service, leadership, and community development.
♦ Date: January 29th 2026.
♦ Time: 09:00 to 13:45
♦ Location: Online via Microsoft Teams (link below for registration)
Choose the session(s) that interest you and register using the links provided below. You’ll be asked to enter your name and email address, and a link will be sent to access the session of your choice.
Time
Topic
Discussion Points
Presented By
Register
9:00 AM – 10:00 AM
Service Canada and Official Languages Programs (OLP)
Learn about Service Canada and our support for youth
Learn about programs to learn and improve your English or French
Service Canada and Official Languages Programs (OLP)
Register here for Service Canada for Youth and Official Languages Program (OLP)
10:15 AM – 11:15 AM
Canada Revenue Agency (CRA)
Improve your tax literacy, learning additional benefit and credits available for youth
Canada Revenue Agency (CRA)
Register Here for Canada Revenue Agency (CRA) for Youth
11:30 AM – 12:30 PM
Canada Learning Bond (CLB), Registered Education Savings Plan (RESP), Canada Education savings Grant and More!
Explore financial supports, and programs available for youth education
Employment and Social Development
Canada
Register Here for Canada Learning Bond (CLB), Registered Education Savings Plan (RESP), Canada Education savings Grant and More!
12:45 PM – 1:45 PM
Canada Summer Jobs (CSJ), Youth Employment and Skills Strategy (YESS)
Understand how to support diverse youth become job-ready through work experience, training, skills development and wraparound supports
Employment and Social Development
Canada
Register Here for Canada Summer Jobs (CSJ) and Youth Employment Skills Strategy (YESS)
We encourage you to share this invitation with other youth and community members who may be interested. Together, we can strengthen youth engagement and build a brighter future.
Note: All sessions will run concurrently in French. If you wish to participate in the French sessions, please contact us and we will forward you the French registration links.
Accessibility Notice: If you require assistance or accommodations to participate in these sessions, please contact us in advance so that appropriate arrangements can be made.
Thank you, and we look forward to your participation.
The post Virtual Information Session on Federal Government Youth Initiatives appeared first on Children and Youth Planning Table.
Cindy Cody Team
Highlights from RE/MAX’s 2026 Regional Housing Trends Report
As Canada’s housing market continues evolving into 2026, RE/MAX Canada’s latest Regional Housing Trends report highlights what buyers should know before making a move, especially in dynamic mid-sized markets like Kitchener-Waterloo. While national headlines often focus on major markets like Toronto and Vancouver, there’s a lot happening closer to home here in Southwestern Ontario.
National Trends Canadians Should Know in 2026According to the RE/MAX 2026 outlook:
- Sales are expected to rise modestly
After a year of slower activity, national home sales are forecast to increase about 3.4% in 2026, reflecting renewed buyer interest and rising inventory. - Home prices may soften further
Average prices are predicted to decline around -3.7%, creating more opportunity for buyers, particularly in markets that saw significant price growth over the past several years. - Balanced conditions are emerging
More listings and a slowing pace of bidding wars are shifting many regions toward balanced (or more buyer-favourable) markets, compared with the seller’s markets seen in previous years.
“Amid looming economic clouds, Canadians are maintaining their interest in homeownership. The resilience that began to emerge in the fall is anticipated to continue into 2026, with first-time buyers in particular finding creative ways to save and enter the market.”
Don Kottick, President RE/MAX Canada
According to the Regional Housing Trends report, in 2026, Canadian buyers should focus on:
- Interest rates: “Possible cuts of 0.5-1% could improve affordability”
- Inventory: “More listings mean better choice and negotiating power”
- Tech tools: “Virtual tours and online platforms make buying easier than ever”
While RE/MAX’s national overview sets the stage, local data helps bring the picture into focus for Kitchener-Waterloo:
♦ ♦ Prices & Sales Activity- In 2025, the average home price in Kitchener-Waterloo fell about 6% year-over-year (across all property types), from roughly $781,000 to about $733,000, a reflection of broader price moderation seen across many Ontario markets.
- Sales activity also cooled slightly, with total transactions dipping by nearly 3%.
These trends align with broader RE/MAX national forecasts, where softer price trends are expected to continue into 2026, helping reduce affordability pressures in some segments.
♦ Market Conditions in 2026Looking ahead:
- Balanced market conditions are anticipated. With inventory up and buyer demand steady, Kitchener-Waterloo may see fewer frenzied bidding wars and more room for negotiation.
- Detached homes remain most in demand, particularly for families seeking space and long-term value.
- First-time buyers are shopping in the $500,000–$600,000 range, seeking affordability without sacrificing quality or community.
Neighbourhoods like Beechwood, Westmount, and Colonial Acres continue to attract interest due to their established character, green spaces, and strong community feel.
What properties are on the market now? Take a look at our listings!
What Buyers Should Take AwayFor prospective buyers in 2026:
- More inventory and softer pricing could give you more choices and negotiation power compared to the recent past.
- Balanced conditions mean you may not need to rush into offers without due diligence, unlike the competitive markets of the pandemic era.
- Local market factors matter. Economic conditions, employment trends, and neighbourhood-specific demand will shape your experience in Kitchener-Waterloo.
National trends provide valuable context, but understanding how these play out locally, particularly in desirable mid-sized markets like ours, is the key to making informed decisions in 2026.
If you are thinking about making a move in 2026, or have questions about this market, contact us today. We’re happy to share our expertise!
Cindy Cody Team
Home Maintenance Tips for a Canadian Winter: How to Protect Your Investment
Canadian winters can be tough on homes, especially in Kitchener-Waterloo, where freeze-thaw cycles, heavy snowfall, and fluctuating temperatures are part of everyday life. Whether you’re a homeowner, landlord, or preparing to sell, proactive winter maintenance is one of the best ways to protect your property value and avoid costly repairs.
Here are some practical, Canadian winter–specific home maintenance tips to help you safeguard your investment throughout the cold season.
1. Prepare Your Heating System EarlyYour heating system works overtime in winter, so a breakdown can be inconvenient, uncomfortable, and expensive.
What to do:
- Schedule a professional furnace inspection and tune-up before peak winter.
- Replace furnace filters every 1–3 months.
- Ensure heat registers and vents are unobstructed.
- If you have a gas furnace, install or test carbon monoxide detectors on every level of the home.
Why it matters: A well-maintained system runs more efficiently, lowers energy bills, and reduces the risk of emergency repairs during cold snaps.
2. Seal Drafts and Improve InsulationCold air infiltration is a common issue in older homes throughout Waterloo Region.
What to do:
- Inspect windows and doors for drafts.
- Apply weatherstripping or caulking where needed.
- Check attic insulation levels. Many Canadian homes benefit from upgrades.
- Seal gaps around plumbing, wiring, and vents.
Why it matters: Reducing drafts improves comfort, protects plumbing from freezing, and can significantly lower heating costs.
3. Protect Your Plumbing from FreezingFrozen pipes are one of the most damaging (and expensive) winter problems homeowners face.
What to do:
- Insulate exposed pipes in basements, crawlspaces, garages, and exterior walls.
- Disconnect and drain outdoor hoses; shut off exterior water valves if possible.
- Keep interior temperatures consistent, even when you’re away.
- Allow faucets to drip slightly during extreme cold spells.
Why it matters: Burst pipes can cause major water damage, insurance claims, and downtime (which can be especially problematic for rental or vacant properties).
4. Clear Snow and Ice StrategicallySnow accumulation isn’t just a safety concern; it can also damage your home.
What to do:
- Regularly clear snow from walkways, driveways, and steps.
- Safely remove excessive snow buildup from roofs, especially after heavy storms.
- Clear snow away from foundation walls and basement window wells.
- Keep vents (dryer, furnace, HRV) free of snow and ice.
Why it matters: Proper snow management helps prevent ice dams, water infiltration, foundation issues, and liability concerns.
5. Prevent Ice Dams on the RoofIce dams are common in Southern Ontario winters and can lead to roof leaks and interior damage.
What to do:
- Ensure attic insulation and ventilation are adequate.
- Seal air leaks between living space and attic.
- Keep gutters clean before winter begins.
- Use roof rakes to remove snow buildup near eaves.
Why it matters: Ice dams allow melting snow to seep under shingles, causing water damage that may not be immediately visible.
6. Check Your Roof and Gutters Before SnowfallWinter is not the time to discover roof problems.
What to do:
- Inspect shingles for cracks, curling, or missing pieces.
- Repair flashing around chimneys and vents.
- Clean and secure gutters and downspouts.
- Ensure downspouts direct water away from the foundation.
Why it matters: Preventative maintenance reduces the risk of leaks, ice buildup, and long-term structural damage.
7. Maintain Indoor Humidity LevelsDry winter air can impact both comfort levels and the condition of your home.
What to do:
- Use a humidifier to maintain indoor humidity between 30–40%.
- Monitor condensation on windows. This is a sign that humidity may be too high.
- Vent kitchens and bathrooms properly.
Why it matters: Balanced humidity helps protect wood flooring, trim, and furniture while improving indoor air quality.
8. Winterize Exterior FeaturesOutdoor elements often take a beating during Canadian winters.
What to do:
- Store patio furniture and outdoor décor.
- Shut down and winterize irrigation systems.
- Check fences, decks, and sheds for loose boards or structural issues.
- Inspect garage doors and weather seals.
Why it matters: Preventing winter damage helps preserve curb appeal and avoids spring repair costs.
Winter Maintenance Is an Investment StrategyIn a market like Kitchener-Waterloo, where buyers value well-maintained, energy-efficient homes, staying on top of winter maintenance is more than good housekeeping. It’s a smart investment decision!
Proactive care protects your home’s structure, reduces operating costs, and preserves long-term value, whether you plan to live in your home for years or sell in the future.
If you’re considering buying, selling, or investing in real estate this winter, understanding how seasonal maintenance impacts property value can make all the difference.
Thinking about your next move? A well-maintained home always stands out, no matter the season!
Github: Brent Litner
brentlintner starred coderamp-labs/gitingest
Replace 'hub' with 'ingest' in any GitHub URL to get a prompt-friendly extract of a codebase
Python 13.7k Updated Jan 17
Children and Youth Planning Table of Waterloo Region
2025 Youth Impact Project Showcase: WCCA Youth Club
The Youth Impact Project (YIP) is a collaboration between the Children and Youth Planning Table of Waterloo Region (CYPT) and Smart Waterloo Region Innovation Lab (SWRIL). The Youth Impact Project looks to fund youth who are addressing local challenges which are identified through the 2023 Youth Impact Survey results. The funded projects include a focus on supporting youth mental and physical health, increasing feelings of belonging, and responding to climate change and food insecurity.
In 2024, over 100 youth from 15 local organisations pitched their ideas to a panel of nine youth. The Youth Decision-Making Panel (“The Dragons”) decided which projects would receive funding to make their idea a reality. In 2025, CYPT and SWRIL accepted youth applications online, and a team of three youth decided which projects received funding.
Funded Youth Project #14: WCCA Youth ClubWCCA Youth Club is a regional youth-led events team focused on inspiring youth in the Waterloo Region to turn their passion into action, and connections into change. WCCA Youth Club creates free opportunities for youth to learn and engage beyond the classroom, and build real world skills while connecting with peers. In 2026, WCCA plans to host youth-senior connection and learning sessions, and a series of creative sessions.
Applications for the 2025 Youth Impact Project are now closed and 17 youth projects across Waterloo Region received funding. Stay tuned in the coming weeks as we announce the other 3 projects!
Last but not least, we are grateful to our funders United Way Waterloo Region Communities and Region of Waterloo for making the Youth Impact Project possible.
Learn more about the Youth Impact Project here.
The post 2025 Youth Impact Project Showcase: WCCA Youth Club appeared first on Children and Youth Planning Table.
Elmira Advocate
STUPID FILTH AT WRDSB GET THEIR KNUCKLES WRAPPED & USING TAXPAYERS MONEY BUY THEIR WAY OUT OF TROUBLE THEY STARTED
Just a side note here. Many local illuminaries (politicians) have used the school board as a political stepping stone. Think of Liz Witmer, Sandy Shantz and many, many others. Not all current, retired or simply past staff/employees should be considered encompassed by my "stupid filth" description in the title above. Also I'm both doubtful and hopeful that it does not include Scot Piatkowski, the former Chair of the Board (trustees). Yes one could argue in favour of the "stupid" but the "filth" is too strong. He likely was acting upon advice/demands from more senior WRDSB staff. It is towards them that I send my endearments and those shitheads know exactly why.
The Caroline Burjowski fiasco by the Board is exactly where the decades old "filth" were bound to end up. They've run roughshod over staff, parents and students for decades whenever they felt like it. They have ignored decency, courtesy and common sense knowing that their financial position supported by hundreds of millions of taxpayer dollars allowed them to hide behind equally filthy lawyers (yeah I mean you "surfer boy") and slow, awkward, financially devastating, user unfriendly courts for many decades. Oh and in case the (Dis)honourable Robert Reilly feels neglected: incompetent and sometimes biased judges. Well you pissheads finally screwed up. You picked on someone who not only was in the right from start to finish but who had the financial resources to tell you lying scum to go Fuc* Yourselves.
And boy did she do that! Twice you attempted to get her Defamation lawsuit thrown out of court and twice her lawyers obviously crossed their t's and dotted their i's such that the courts had no choice but to follow the law and find in her favour. The Waterloo Region District School Board (WRDSB) knew that if they kept fighting the Defamation lawsuit which solely due to their malfeasance (misfeasance?), pettiness and meaness (malice ?) and LAW BREAKING that they were going to lose loudly, publicly and grossly. Hoo boy I'll bet that the NDA (non-disclosure agreement) they got from her cost them even more! I would especially say I hoped it cost them millions if it came out of their own pockets rather than taxpayers pockets.
Here of course is the rub. Our courts need to stop allowing proven dogs and filth from hiding behind them and lawyers when they grossly mistreat employees, staff, students and or parents. There must be some personal liability involved for the WRDSB just as there is for the individuals involved. Exactly how bad is the legal process for individuals even with adequate funding? Quoting Caroline Burjowski "What I didn't expect was how punishing the legal process itself would be- the money, the time, the emotional exhaustion,". "I've come to see that as intentional. Make the cost of speaking up so high that most people won't." Senior Board staff were and apparently are filth and more. This looks really good on all of the guilty, shameless ones.
Code Like a Girl
Before algorithms, we ranked women
A reflection on internet culture
♦I’ve been reading Extremely Online by Taylor Lorenz, and one story kept sticking with me, Socialite Rank. It wasn’t a platform with likes or dashboards. It was an anonymous blog that launched in 2006 and ranked New York’s young socialites every two weeks.
On the surface, it was gossip, but underneath it was an experiment in attention as currency. And the thing is, it wasn’t a choice, but was something that impacted these individuals' lives, whether you think it was negative or positive.
Names like Paris Hilton, Ivanka Trump, and Olivia Palermo kept appearing, but Socialite Rank didn’t just reflect fame; it amplified it.
This isn’t to say the site was enjoyable, just think about Palermo, who famously was the site's biggest punching bag. Making it clear that visibility isn’t neutral, and being ranked comes with consequences, whether the ranking is flattering or cruel.
♦(web.archive.org)But this wasn’t new in the 2000s, because before Socialite Rank, there was Mark Zuckerberg’s FaceMash. FaceMash scraped Harvard students’ photos and let others rate their attractiveness without consent. I can only describe this as a crude popularity contest that got him into not nearly enough trouble.
Then, there was Hot or Not, which at least allowed users to submit their own photos, so there was at least consent. But according to Wikipedia, the site was originally a technical solution to a dispute the founders had over a passing woman’s attractiveness.
♦(2022, December 13). Hot or Not — early 2000s [Image]. r/nostalgia.It’s easy to joke about women “posting too many photos” online, but it’s worth remembering the internet’s history. There have been so many times when a woman’s visibility wasn’t their choice. It was decided by an anonymous blogger, platform founders, or someone scraping images in a dorm room.
Platforms like Instagram or MySpace’s Top 8 may seem harmless compared to sites like Is Anyone Up?, but all of them reflect a culture that normalized ranking, quantifying people, and turning visibility into value.
Looking back, these early platforms clearly foreshadowed what was to come. The difference today is scale and automation, and this is where algorithms enter the story. Algorithms did not invent ranking; they inherited it.
As Cathy O’Neil has argued, “There’s less of a connection for a lot of people between the technical decisions we make and the ethical ramifications we are responsible for” (O’Neil, n.d.).
Algorithmic systems just depend on this disconnect. Early ranking sites made their value judgments explicit; users could see who was being ranked and by what criteria. Not that the ranking of Olivia Palermo was ever fair, but I digress. Modern platforms do more to obscure these judgments behind engagement metrics and recommendation systems.
And if we think about it, FaceMash wasn’t just an immature stage of Mark Zuckerbergs life. It was an early example of extracting value from people without consent, a logic that still underpins Meta’s business model today.
Platforms built around ranking and visibility have never affected people evenly. From gossip blogs to early social networks, women were disproportionately scrutinized, evaluated, and rewarded or punished based on how others perceived them.
All algorithms have done is scale the problem and further obscure it. Making it harder to identify who takes responsibility. This is a problem because figures like Mark Zuckerberg, or other individuals like Olga Rei and Valentin Uhovski of Socialite Rank, were never required to bear much responsibility or accountability.
♦screenshot from Uhovski’s Instagram (@valentineuhovski)What are we supposed to do when the internet’s boundaries are still contested? When it’s unclear where platform responsibility begins or ends, let alone who should be held accountable for the decisions algorithms make?
The internet can be a stage. But too often, people, particularly women, were placed on it without consent and blamed for the consequences. Which, let’s be honest, isn’t fair.
Reflecting on this history does not require rejecting social media outright.
Many people share photos, build communities, and find genuine joy online. But it does force an uncomfortable question: where do we draw our own line, and how do we ensure the internet respects it?
♦Before algorithms, we ranked women was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Brickhouse Guitars
Godin Connaisseur MJ Sunsetburst Mahogany #053377000057 Demo by Kyle Wilson
James Davis Nicoll
By Crom! / On Thud and Blunder By Poul Anderson
Poul Anderson’s 1978 On Thud and Blunder is a non-fiction essay, first published in Andy Offutt’s swords & sorcery anthology, Swords Against Darkness III. It is a blast of trumpets against poorly thought-out sword & sorcery settings.
…
KW Predatory Volley Ball
Congratulations 17U Valour. 18U New Year's Open Division 2 Tier 7 Gold
♦
Read full story for latest details.Tag(s): Home
KW Predatory Volley Ball
Congratulations 17U Panthers. 18U New Year's Open Division 1 Tier 4 Gold
♦
Read full story for latest details.Tag(s): Home
Greater Kitchener Waterloo Chamber of Comerce
BESTWR Releases Version 1 of Vision 1 Million Scorecard
Kitchener, ON — January 15, 2026— The Business and Economic Support Team of Waterloo Region (BESTWR) today released Version 1 of the Vision 1 Million Scorecard, an updated and evidence-based tool designed to assess Waterloo Region’s readiness to grow to one million residents over the coming decades.
With population growth projections indicating an increase of more than 300,000 residents within the next 25 years, the Scorecard provides a shared, public view of progress across the systems that matter most to regional readiness — including housing, transportation, healthcare, employment lands, and community livability.
The Vision 1 Million Scorecard was first introduced in 2025 to establish a common framework for tracking preparedness. Version 1 represents a significant evolution of that work. Developed in collaboration with the Future Cities Institute at the University of Waterloo, the updated Scorecard reflects extensive research, expert interviews, and community consultation. Metrics have been refined, background context has been added, and each score is accompanied by a clear explanation of the rationale behind it.
“This Scorecard is about asking — and answering — a hard but necessary question: are we truly ready for the growth ahead?” said Ian McLean, President & CEO of the Greater Kitchener Waterloo Chamber of Commerce and Chair of BESTWR. “Version 1 strengthens the credibility of this tool and reinforces its purpose — to support informed decision-making, transparent accountability, and proactive action across our region.”
While some metrics and scores evolved, the core focus of the Scorecard remains unchanged. The same priority initiatives are being tracked over time, allowing the region to measure progress, identify persistent gaps, and course-correct where necessary. This continuity is intentional and essential to ensuring the Scorecard functions as a meaningful tracking tool rather than a one-time report.
The Scorecard is designed as a living document, with updates planned at regular intervals. Its goal is not to assign blame, but to align effort, inform advocacy with governments and partners, and focus attention on the areas where action is most urgently needed.
“Growth pressures are not unique to Waterloo Region, but how communities respond to them matters,” said Dr. Leia Minaker, Director of the Future Cities Institute and Professor in
the Faculty of Environment at the University of Waterloo. “This Scorecard reflects a thoughtful, evidence-based approach to understanding readiness and risk, and it creates a foundation for more coordinated, future-focused decision-making.”
The Vision 1 Million Scorecard underscores that accountability for regional readiness extends beyond governments alone. Business, post-secondary institutions, community organizations, and residents all play a role in shaping a region that remains competitive, inclusive, and livable as it grows. Many of the assessment shifts that will be observed between version 0 and version 1 are due to the tightening of the metrics and targets based on the work of Future Cities Institute. A key positive change since the release in June has been on expanding rail and transit infrastructure. Significant progress has been made to advance the 2/3 key projects being tracked in this initiative (Two Way All Day GO, Downtown Kitchener Transit Hub and Breslau GO) causing a move from being assessed as Needs Attention to In Progress.
Community members are encouraged to explore the full Scorecard and engage with the findings at bestwr.org.
The Scorecard represents a collaborative effort among BESTWR’s five member organizations: the Greater Kitchener Waterloo Chamber of Commerce, Communitech, the Cambridge Chamber of Commerce, Explore Waterloo Region, and the Waterloo Region Economic Development Corporation.
About BestWRThe Business and Economic Support Team of Waterloo Region (BestWR) is comprised of five leading business organizations working as partners for economic prosperity and community needs. Currently chaired by the Greater Kitchener Waterloo Chamber of Commerce, BestWR includes: Communitech, the Cambridge Chamber of Commerce, Explore Waterloo Region, and the Waterloo Region Economic Development Corporation.
About Future Cities InstituteThe Future Cities Institute founded by CAIVAN at the University of Waterloo conducts research, builds tools, and trains future city builders with a focus on data-driven decision making. The institute brings together global thinkers, industry leaders, and researchers to tackle urban challenges across housing, transportation, infrastructure, and beyond, supporting healthy, prosperous cities built for the future.
MEDIA & GENERAL INQUIRIES CONTACTIan McLean, Chair of BestWR
IMcLean@greaterkwchamber.com | 519.897.1029
The post BESTWR Releases Version 1 of Vision 1 Million Scorecard appeared first on Greater KW Chamber of Commerce.
Code Like a Girl
How I Analyzed My Medium Performance Using Copilot
♦
Without Writing a Single Line of Code
Continue reading on Code Like A Girl »
Capacity Canada
Huntington Society of Canada
Huntington disease (HD) is a debilitating brain disorder that is fatal and incurable. About one in every 7,000 Canadians has HD and approximately one in every 5,500 is at-risk of developing the disease. Many more are touched by HD whether as a caregiver, a family member, or a friend. Huntington disease is often described as having the symptoms of Alzheimer’s, Parkinson’s and ALS – simultaneously. As the disease progresses, a person with Huntington’s becomes less able to manage movements, recall events, make decisions and control emotions. The disease leads to incapacitation and, eventually, death.
The Huntington Society of Canada (HSC) is a respected leader in the worldwide effort to find a meaningful treatment for Huntington disease. HSC is the only Canadian health charity dedicated to providing help and hope for families dealing with Huntington disease across Canada.
VISION, MISSION AND VALUESFamily is at the heart of our community. Our families and volunteers tell a powerful story of caring people who pull together to improve the quality of life for Canadians impacted by Huntington disease (HD). HD is a fatal hereditary brain disorder with devastating effects on both the mind and body. It is like having the symptoms of Alzheimer’s, Parkinson’s and ALS all in one disease.
The good news is, with recent medical breakthroughs many researchers and scientists believe that once we are successful in stopping the progression of HD, we will also find the answers to many other neurological diseases. Your valued support will bring us one step closer to this goal.
VISIONA world free from Huntington disease.
MISSIONTo improve the quality of life for those affected by Huntington disease.
We will address our mission through the oversight and facilitation of excellent support services, providing access to the best and most up-to-date educational resources, increasing national and global awareness, advocacy and investing in promising research.
Compassion; Integrity; Accountability; Inclusiveness; Collaboration; Leadership; Empowerment.
Interested in getting involved?HSC is now accepting applications to its Board of Directors from individuals with the following expertise:
- Finance
- Investment
- Legal
Please enter “Board member application” in the subject line of your email, send your CV and Letter of Interest outlining your skills and experience to: hr@huntingtonsociety.ca
Thank you for your interest, only qualified candidates selected for interviews will be contacted.
The post Huntington Society of Canada appeared first on Capacity Canada.
Grand River Rocks Climbing Gym
MEC pop-up
The post MEC pop-up appeared first on Grand River Rocks Climbing Gym.
Carrie Snyder: Obscure Canlit Mama
From office to studio, turning the room inside out
♦
Day 19 prompt – listening to what the body has to say
Hello Body, I am listening.
Carrie, I need you to know exactly how tired I am — no, not exactly, that is a term you would to measure something that wafts and flows and defies the work of measurement. I am tired. I keep drifting, sliding sideways into sleep but you don’t seem to notice or read this as a warning. You think — oh, body just needs more stimulation. My God, I am so stimulated that I only relax when — no, I do not relax, I fall, I slip, I slide. And furthermore, I am not “I” the way you see seem to think of it, or us. I am we, multiple, flowing, shifting, changing.
So yes, hard to read.
♦
But we send out signals, like falling asleep sitting upright as soon as the mind eases its grip on us. We do what we can to support you (you?), we will hone our muscles and suffer and quake and we can endure a great deal of pain in support of your causes and whims —no, that’s too harsh.
We are doing our best to please you (you?), to relieve you (you?). Can you relieve us? Feed us. You seek to control us, deny us, mete out pleasure in tiny doses lest we become overwhelmed and greedy, and sink into — what? Bliss? A morass of nothingness?
♦
Let’s be friends. We like to breathe and sweat. We like ever so much to stretch and breathe too. But we are tired, tired, tired. Give us leave to change. Will you let us age and spread? Will you let us fail you and not call it failure? Can we be kind across all spectrums of experience and sensation?
♦
Things change, no matter how hard you push to hold on.
I can give you (you?) pleasure and rest. Trust what’s rising. The body knows how little time it has, how precious and advancing the hours. But also how much time too — the body is not begging for accomplishment. The body will luxuriate in sensation, give us leave to show you how beautiful you are in this world of beauty and loss.
♦
Body, I am, Body, we belong to, we know, we are made of beautiful loss.
xo, Carrie
PS I’m in the middle of a 30-day series of journaling prompts from Suleika Jaouad. This was today’s outpouring. I’m also using my reorganized studio space for a daily drawing ritual, which includes a very quick sketch capturing one moment and one phrase from the day; a word for the day (usually taken from my daily journaling); and a sketch using a photo from today’s newspaper, in pen and coloured with water colour markers. It’s been a tough start to the new year on many levels and from many angles, and this studio, completely reorganized during the final days of 2025, has been my bliss, renewal, and recovery.
Elmira Advocate
HMM CAN LANXESS & THE MECP EXPLOIT THE DEVELOPMENT FREEZE TO JUSTIFY MORE REDUCTIONS IN PUMPING & TREATING THE ELMIRA AQUIFERS?
Hoo Boy who am I kidding! Of course they can! Those buggers can could use a nearby forest fire to justify burning down a political opponents house to allegedly get rid of cockroaches. Logic and reason have been shown to be easily overcome with power, influence and brass. That is the shame of our so called democratic system. Those currently in power have way too much moral suasion and authority on their side. Our U.S. neighbour and President D. Trump is a prime example. Apparently ICE (Immigration & Customs Enforcement) agents have killed U.S. citizens both prior to Renee Good and since. The excuse is that not only are protesters whistles dangerous but citizens fleeing from these aggressive, hostile armed men barking orders, drawing guns and attempting to force drivers' doors open; are "weaponizing" their cars by driving away from these aggressors. Lying and bulls*it are the weapons of choice of politicians trying to wash citizens' blood from their hands.
Ten years or so ago Eric Hodgins, then a hydrogeologist with the Region of Waterloo, advised CPAC publicly that the Region had zero interest in the Elmira Aquifers as a water source. Without blatantly saying it; it appeared that the Region knew that the "cleanup" was going nowhere fast. Now a mere one or two years ago the Region have reversed positions. I don't believe that they have any more confidence in the Elmira cleanup as much as they have begun to realize how desperately they need at least some of this water in the Distribution System.
Knowing the Region's "management" strategies concerning water the most likely scenario is to pump the south wellfield (E7, E9) as an "Interceptor" well blocking the advance southward of NDMA, chlorobenzene, other solvents, dissolved dioxins, nitrates etc.. Then they might get away with pumping well E 10 located just past Deadman's Curve (Hwy # 85) at Scotch Line. Whether they would run it south to Waterloo or put it into the Elmira Distribution System is hard to say.
The Region prefer to play their games such as musical wells, timely shutdowns as contaminant plumes approach drinking wells, along with simple dilution of contaminated wells with lesser contaminated wells, in private. They really do not want citizens to know the extent of the local groundwater contamination at least until everything is set up for the big reveal being the proposed Lake Erie Pipeline. Folks poor governance has and will continue our degrading lifestyles and health for the immediate future.
The Backing Bookworm
The Winter Witch
I love learning more about women's experiences and their impact on history. The Winter Witch caught my eye with its beautiful cover, its promise of witchy things and its connection to Canadian history. This story was inspired by the experiences of Les Filles du Roi (King's Daughters) in the late 17th century. These 768 young women immigrated to New France (Quebec), sponsored by King Louis XIV to marry male colonists and promote settlement in Quebec.
The story follows two sisters, Marthe and Elisabeth, who come to New France fleeing a scandal and hoping to find peace and a new life in the new world. The story begins with their treacherous and tension-filled journey across the sea as the sisters make connections with other women on the ship. Through the sisters' dual perspectives, readers better understand the ruthless power of the Church; how it used fearmongering and threats of witchcraft to manipulate the general population, and in particular women, whose lives were already limited by societal expectations.
This book had great intentions and premise but fell flat on its delivery for me. It was a slow-moving story whose plot was a little too simplistic. The era and historical aspects were interesting and I enjoyed the complicated bond between the sisters, but Elisabeth's obsession with her old life soon became tiresome. I wanted more depth to the characters, including the 'witch'.
J'adore Montreal et Quebec! I absolutely love those cities and visit as often as I can, and I enjoyed recognizing street names in Old Montreal within this story. What I take away from this story is the power of sisterhood and female friendship and another interesting nugget of lesser-known Canadian and Women's history.
Disclaimer: My sincere thanks to Simon and Schuster Canada for the complimentary digital and trade paperback copies of this book which were given in exchange for my honest review.
My Rating: 3 starsAuthor: Jennifer ChevalierGenre: Historical FictionType & Source: ebook & trade paperback from publisherPublisher: Simon and Schuster CanadaFirst Published: Jan 27, 2026Read: Jan 8-14, 2026
Book Description from GoodReads: Two sisters set sail on a bride ship from Normandy hoping to leave a curse behind them and find better lives in the wilds of 17th-century Quebec, only to meet a mysterious witch who forces them to confront the truth about magic—and their past. For fans of Emilia Hart, Sarah Penner, Alix E. Harrow, Ami McKay, and Roberta Rich.
Élisabeth Jossard boards a bride ship to New France with her sister Marthe, forced to start a new life after a scandal in her village in Normandy. She’s harbouring a dark secret and hopes that by coming to Montreal—the holiest place in the world, she’s been told—the saints will hear her pleas and lift the curse that plagues her.
When Élisabeth’s prayers go unanswered and she is unable to banish the spirit she believes is tormenting her, Marthe encourages her to turn to a powerful witch for help, the enigmatic stowaway Jeanne Roy. But Jeanne has secrets of her own, and when she refuses to help, Élisabeth’s resentment kindles a dangerous fire.
Inspired by the tales of Canada’s Filles du Roi, The Winter Witch examines how lies, arrogance, and ignorance can lead to witch hunts in any society.
♦
Kitchener Panthers
2026 SIGNING TRACKER: P Owen MacNeil
♦
KITCHENER - The Kitchener Panthers are proud to announce the signing of strikeout artist Owen MacNeil.
MacNeil emerged as a top starting pitcher in the league in 2025, including several quality outings. The Georgetown native had a 3-2 record with a 3.73 ERA in 53 innings of work.
He had 51 strikeouts, including a season-high 11 against Toronto on July 6, 2025.
The former Hamilton Cardinal is a graduate of the University of Charleston in West Virginia (NCAA D2).
"I am glad to have Owen returning this year," said general manager Shanif Hirani.
"Every time he took the ball, he gave us a chance to win and always competed. He adds another arm to help stabilize our rotation."
============
OWEN MacNEIL
- Bats/Pitches: R/R
- Hometown: Georgetown, ON
- Birthdate: February 25, 2001
- Pronunciation: OWE-in mick-NEEL
Brickhouse Guitars
Boucher SG42MV D MY 1188 D Demo by Roger Schmidt
Github: Brent Litner
brentlintner starred jasonxtn/Argus
The Ultimate Information Gathering Toolkit
Python 3k Updated Dec 10, 2025
Code Like a Girl
I Didn’t Plan to Start a Movement.
This month, Code Like a Girl turns ten.
I can’t quite believe we’ve been at this for a decade. Not because it lasted, but because it is still needed.
When I look back at the last ten years of writing, what stands out isn’t a single post or moment. It’s the pattern that only becomes visible in hindsight.
Before Code Like a Girl was a publication, before it was a community, it was just me writing. Testing ideas. Naming things carefully. Trying to make sense of a system I was inside of, while also trying to make it better.
So let’s go back to the beginning.
Not to a launch date or a founding moment, but to the questions I was asking before I knew I was building anything at all.
Before Code Like a GirlMy earliest posts on Medium, starting in 2013, weren’t about my career or workplace experiences. They were about kids.
- Teaching our little girls about STEM.
- Where to find programs and camps.
- How to teach kids to code with no experience.
- Why girls didn’t need to look a certain way to belong in technical spaces.
At the time, my daughter was five years old. And I was already thinking about what would shape her sense of what was possible.
I was worried about the STEM cliff — that time, often around age thirteen, when girls quietly drift away from science and technology. Not because they lack ability, but because encouragement fades, interest stops being rewarded, and belonging becomes conditional.
So I wrote about what could be done before that happened.
In 2011, I had an experience with a misogynistic boss that permanently changed how I moved through my career. I never wrote about it at the time. It was too raw. But it drew a line I never crossed back over.
I knew, with absolute clarity, that I never wanted to work in an environment where that kind of behavior was acceptable again.
Before that, I had been careful. Quiet. I wanted to be one of the guys. I avoided labels. I worried that naming the realities women faced in tech would cost me opportunities.
That experience changed the calculus. It clarified what I was no longer willing to normalize, for myself, my daughter, or any other woman. It removed my willingness to stay silent. If speaking honestly about women in tech meant a company wouldn’t hire me, then that company didn’t get to have me.
Those early pieces weren’t reactions. They were interventions. They focused on access, exposure, confidence, and choice. They were less about what was broken and more about what might help if we started early enough.
I told my own story as a woman in tech. I wrote about networking, visibility, and survival. Not in manifesto form, and not as call-outs, but as practical guidance for women trying to succeed inside systems that weren’t built with us in mind.
That dual focus mattered. I was writing for the next generation and for the women already in the room.
Both came from the same place. I didn’t set out to start a movement.
I was writing because staying quiet no longer felt like an option.
Professional Enough for What?By early 2016, I’d been writing on Medium for several years. I had an audience. I had momentum. And like most writers at the time, I assumed the next step was to find a publication.
Back then, that’s how reach worked. Publications gave your writing visibility and legitimacy.
So I submitted a story to a publication focused on women in tech.
It was rejected. The feedback was that my writing wasn’t professional enough. At the time, it stung. But it also clarified something important.
I wasn’t writing to sound polished or corporate. I wasn’t trying to fit a mold. I was writing to change perceptions, and more than that, I was writing about experiences that didn’t get tidied up neatly.
And I realized something else, almost immediately.
Even if I did get accepted somewhere, one voice — no matter how refined — was never going to be enough.
Multiplying VoicesWhat would actually matter was scale.
Hundreds, maybe thousands, of women telling their own stories. Naming patterns. Sharing tactics. Comparing notes. Making it harder to dismiss these experiences as isolated or personal failures.
So instead of trying to fit into an existing container, I decided to see how hard it would be to create one.
It turned out to be only a couple of clicks.
The name was already there. Code Like a Girl existed as a small website I’d created earlier, without a clear plan beyond supporting girls in STEM and women in tech. The publication gave that intention shape.
Code Like a Girl published its very first post on January 11, 2016.
Finding Writers, Building CommunityThen came the search for writers. At first, I asked a few women I knew in tech, and they said yes. But Medium itself quickly became the biggest source of authors. In the early days, you could request to publish a writer’s story directly from the post. If they accepted, it went live.
That is how we grew. One story at a time. One voice at a time.
Somewhere along the way, something unexpected happened. A community formed. I made online friends through Code Like a Girl, some of whom I’ve since met in person. What started as a publication became a place where people felt seen and heard, and where shared experiences began to connect.
What happens when women stop staying quiet together is that patterns emerge. And once patterns are visible, they are much harder to explain away.
This wasn’t unique to Code Like a Girl, either. Around the same time, movements like Me Too were unfolding across industries. As more women said the same thing out loud, it became impossible to keep treating those experiences as isolated incidents. Tech was no different.
Proof that it LandedThe work resonated.
Over the years, millions of people read stories published in Code Like a Girl. The most viewed story of all time, How to Undo the Last Commit by Isabel Costa, published in February 2018, has been viewed 2.4 million times and read over a million times.
Our stories didn’t spread because they were flashy. They spread because people needed practical knowledge, and we were a place where women could write and have their work seen.
Some writers stayed with us for years. Better Allies® alone published over 270 stories with us, nearly one a week since the end of 2017. That kind of consistency does not come from chasing metrics. It comes from believing the work matters.
How the Writing EvolvedBy the end of 2018, Code Like a Girl had grown into a small operation. We had five volunteer editors, over 3,700 followers, and were reaching more than 100,000 readers a month.
From 2018 through 2023, the community matured. Writers shared tutorials, career advice, and allyship guides. The focus shifted toward skill building and pushing companies to do better.
More recently, from 2023 onward, the writing has moved into what I think of as the Human plus AI era. Stories about how technology intersects with work, creativity, ethics, and identity are often told through deeply personal lenses.
Shared StewardshipBy the end of 2018, Code Like a Girl had grown into something that required real care.
We had over 3,700 followers and were reaching more than 100,000 readers a month.
At the same time, my own life became fuller in ways I couldn’t ignore. I had just stepped into a VP role. And my family and personal life needed more attention than I had been able to give them.
Something had to give.
That was the moment Olivia Mischianti stepped in to take on the day-to-day leadership of the publication.
This was not a pause in the work. It was a continuation of it. Code Like a Girl had reached a point where it could be carried by more than one person, and that mattered.
In 2021, life shifted again, this time for Olivia, as she prepared to have a baby and needed to step away.
By then, my own circumstances had settled. I was able to take the reins back, not as a restart, but as the next turn in a longer relay.
The Moment I Almost StoppedLast year, I came close to shutting it all down.
The data on Medium told a discouraging story. From March to September 2025, monthly reads dropped from 60,000 to just over 15,000. Boost acceptance fell from 83 percent to 7 percent. Average reads per story declined sharply. It felt like shouting into a void.
At the same time, we were watching DEI efforts being dismantled more broadly. Progress that had taken years to build was suddenly treated as optional.
I couldn’t reconcile those two things. The reach was shrinking, but the need was not.
Our work wasn’t done yet.
What ChangedSo I took a chance and brought Code Like a Girl to Substack.
On Medium, Code Like a Girl grew through algorithmic reach. Stories traveled far, but conversations were thin. Community formed quietly, mostly in private messages and off-platform.
On Substack, it feels different. The writing travels more slowly, but the responses are deeper. People talk to each other. They show up more than once. The work feels read, not just consumed.
In that way, Substack feels less like how Code Like a Girl started, and more like what I always hoped it could become.
The Long ViewWhen I started writing, my daughter was five years old.
I was thinking about access. About encouragement. About what messages land early and quietly shape what feels possible later on. I didn’t know then how long this work would last, or what form it would take. I only knew I didn’t want her, or girls like her, to grow up thinking tech was something they had to earn permission to belong in.
Thirteen years later, she didn’t fall off the STEM cliff. She stayed curious. She stayed engaged. And this fall, she’ll head to university to study biochemistry.
That outcome was never guaranteed. It wasn’t the result of a single program, a single role model, or a single post. It was shaped by the environment. By exposure. By seeing women doing work that mattered and knowing that the path was open.
That’s the kind of future Code Like a Girl has always been trying to make room for. Not by promising outcomes, but by changing what’s visible along the way.
To mark ten years, I’m not trying to summarize everything here.
Instead, I’ll be sharing a separate Code Like a Girl newsletter that looks back on one year at a time.
What we were writing about.
What mattered then.
What shifted.
What held.
The patterns you only notice when you slow down long enough to see them.
This post is the beginning of that reflection, not the end of it.
Thank you for being here. Thank you for reading, writing, questioning, and staying. I’m grateful for what we’ve built together, and curious about what the next ten years will ask of us.
One More ConversationIf you want to hear me talk through where women in tech are today, what has changed, and what still hasn’t, I recently sat down for a conversation that pulls many of these threads together.
On an episode of Tech About Town, I spoke with Michelle Engelhardt and Alex Kinsella about representation, allyship, and why spaces that actively support women and nonbinary builders still matter. We talked about Code Like a Girl, but also about the broader ecosystem. What progress looks like in practice. Where are we stalling, and why visibility alone is not enough.
Ten years in, the question hasn’t changed. Who gets to build, who gets supported, and who gets pushed out quietly. What has changed is our ability to name the systems at work, recognize patterns earlier, and support each other in public instead of in isolation.
Dinah Davis on sharing stories of women in tech with Code Like A Girl
Thank you for being here and for helping shape what the next ten years become.
Special thank you to AI Meets Girlboss for helping me with the image in this story. I was struggling to find something that fit, and I showed her three images I sourced from Canva. She took one of them and layered all the Code Like A Girl-related writing on top. It took it to the next level. Thanks so much!
♦I Didn’t Plan to Start a Movement. was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Github: Brent Litner
brentlintner starred astral-sh/ruff
An extremely fast Python linter and code formatter, written in Rust.
Rust 45.3k 65 issues need help Updated Jan 22
James Davis Nicoll
You Seer of Visions / Night of Camp David By Fletcher Knebel
Fletcher Knebel’s 1965 Night of Camp David is a stand-alone near-future political thriller. Or possibly a fantasy.
Life is sweet for Iowa Senator Jim MacVeagh. He has won high office, his doting wife is conveniently far away in Iowa, and his politically savvy mistress Rita is conveniently at hand in Washington.
Then comes a nighttime meeting with President Mark Hollenbach at Camp David, and the offer of the vice-presidency.
Github: Brent Litner
brentlintner starred astral-sh/ty
An extremely fast Python type checker and language server, written in Rust.
Python 16.7k 18 issues need help Updated Jan 21
The Backing Bookworm
All The Little Houses
Badly behaving adults indeed. This book is 95% people behaving horribly with the remaining 5% being the suspense read I was expecting.
Prepare for an unpopular opinion, folks: The first 70% of the book was just people being pompous jerks, one-upping and screwing each other over at every opportunity (figuratively and literally). The entire cast is unlikeable, one-dimensional characters who are only out for themselves and only care about how they appear to those around them. It boggled my mind that everyone just accepts that Nellie and her mom Charleigh are horrible people who behave outrageously (and sometimes dangerously) but still hang out with them because it's 'just what small town people have to do'. Wha?!
This was like a Housewives episode on overdrive with odd pacing and a trashy soap opera vibe. Just when you think a character can go low, they say 'Hold my Aperol spritz', lower the bar and sail over it.
The icing on the cake was its ending that screeched to a stop, leaving literary tire marks on the page. This left readers with only a brief nod to the suspense aspect and no closure on most of the characters. It's got a beautiful cover, and a lot of other reviewers enjoyed this book, unfortunately, it was a miss for this reader.
Disclaimer: Thanks to the publisher for the complimentary advanced copy of this book which was given in exchange for my honest review. All opinions are my own.
My Rating: 2 starsAuthor: May CobbGenre: SuspenseType and Source: ebook from publisher via NetGalleyPublisher: Sourcebooks LandmarkFirst Published: Jan 20, 2026Read: Jan 13-17, 2026
Book Description from GoodReads: Adults can behave badly too...
It's the mid-1980s in the tiny town of Longview, Texas. Nellie Anderson, the beautiful daughter of the Anderson family dynasty, has burst onto the scene. She always gets what she wants. What she can't get for herself… well, that's what her mother is for. Because Charleigh Andersen, blond, beautiful, and ruthlessly cunning, remembers all too well having to claw her way to the top. When she was coming of age on the poor side of East Texas, she was a loser, an outcast, humiliated, and shunned by the in-crowd, whose approval she'd so desperately thirsted for. When a prairie-kissed family moves to town, all trad wife, woodworking dad, wholesome daughter vibes, Charleigh's entire self-made social empire threatens to crumble. Who will be left standing when the dust settles?
From the author of The Hunting Wives comes a deliciously wicked new thriller about mean girls, mean moms, and the delicious secrets inside all the little houses.
♦
Github: Brent Litner
brentlintner starred mailgun/talon
Python 1.3k 7 issues need help Updated Oct 18, 2023
Elmira Advocate
THE BLAME GAME IS NOT ALL BAD - IF IT TAKES A VILLAGE TO RAISE A CHILD PERHAPS IT TAKES A PROVINCE TO REALLY BUGGER UP A WATERSHED
Today's K-W Record story written by Terry Pender is titled "Water permits under scrutiny as Waterloo Region faces growth freeze". It seems as if our right wing, pro business, anti environment, Conservative provincial government, just like Mike Harris so long ago, have bought themselves an environmental crisis. Do we all remember the Walkerton Water Crisis which made thousands sick and actually killed several people ? Just as importantly do we remember what was generally acknowledged as a major cause of that crisis? Mike and the Conservative government of the day dramatically cut back on Ministry of the Environment inspection and enforcement activities all to save money. This second rate inspection and enforcement was also on display here in Elmira with M.O.E. failures at Uniroyal Chemical and Varnicolor Chemical.
O.K. so we have seen some pretty lacklustre regional performance of late however now we are reminded of some of our provincial government's stupid moves over the last five years including allegedly cutting red tape around water taking permits. These permits for golf courses, gravel pits and other industrial uses used to require environmental assessments, public notices, hearings and even indigenous consultation. No longer needed according to Premier Doug Ford . We are advised by reporter, Mr. Pender, that these water taking permits can each use more than 55,000 gallons of water a day. At first glance I felt that 55,000 gallons a day wasn't a big deal until I reread the statement. The statement suggests that each permit can use more than 55,000 gallons a day. So how many permits have been issued since Dougie and the (red tape) slashers went to town? That's kind of important don't you think?
As recently as April 2024 the commissioner of planning and development wrote a report to our regional politicians telling them not to build on or near the recharge areas of the Waterloo Moraine . His report was in response "...to the provincial government's expansion of development boundaries in southwest Kitchener. He warned the expansion could spark a development freeze because it could threaten groundwater supplies by paving over the places where rainwater and snowmelt refill the aquifers."
And here we are today. Yes I will thank both regional and provincial governments for their incompetence but lest we forget our regional councillors include a whole lot of mayors and other municipal politicians. None of these buggers have done their jobs properly on the water file. Maybe a major political massacre is due this fall at the polls unless Dougie and the (red tape) slashers decide to due some serious spring cleaning of old, dusty and useless bags of wind called politicians.
Github: Brent Litner
brentlintner starred anomalyco/opencode
The open source coding agent.
TypeScript 82.3k Updated Jan 22
Github: Brent Litner
brentlintner starred vercel-labs/agent-skills
JavaScript 14.8k Updated Jan 21