James Davis Nicoll
Some Other Time / I, Robot By Isaac Asimov
Isaac Asimov’s 1950 I, Robot1 is a science fiction collection… about robots!
BLOOD-CRAZED ROBOTS KILL FOR LOVE!But not in any of these stories.
…
Isaac Asimov’s 1950 I, Robot1 is a science fiction collection… about robots!
BLOOD-CRAZED ROBOTS KILL FOR LOVE!But not in any of these stories.
…
♦
Read full story for latest details.
Dissolved concentrations in Elmira's groundwater of NDMA and chlorobenzene are as low right now as they've likely ever been since Uniroyal Chemical graced our town around 1942 and then destroyed our beautiful Creek and poisoned our parents and grandparents. That poisoning was via both air emissions and surface dumping. Dissolved NDMA and chlorobenzene can both be removed via pumping and treating of groundwater. It's the undissolved masses of those chemicals plus the hundred or more conveniently ignored others that is the real problem beneath Elmira. These masses are attached to soils within low permeable aquitards (clay & silt) and as the concentrations within nearby groundwater (sand & gravel aquifers) are reduced these masses slowly back diffuse from the aquitards into the aquifers. It has taken decades for these chemicals to initially diffuse into the aquitards and it will take decades more for them to fully back diffuse into the aquifers. That is part of the problem. Then we have both free phase and residual DNAPL which is an even larger problem. Some of the DNAPL (Dense Non Aqueous Phase Liquid) came from Uniroyal Chemical, some from Varnicolor Chemical and the source of the long proven DNAPL but denied by Uniroyal/M.O.E. at OW57-32R (beside Howard St. Water Tower) until recently (2014), is unknown. It could be from Uniroyal, Varnicolor or even the former Borg Textiles across Howard Ave. from the former Varnicolor Chemical.
To further complicate matters is the problem of DDT and dioxins. Perhaps PCBs are also a similar part of this problem. These are all known POPS or Persistent Organic Pollutants that are present in Elmira and the downstream Canagagigue Creek courtesy of Uniroyal Chemical mostly, with Varnicolor and other older local manufacturers on the hook for the PCBs. Generally speaking they have been totally ignored in our groundwater under Elmira whereas they have been tested for and found above all health criteria repeatedly downstream in the Canagagigue ("Gig"). They are all mobilized by solvents which both Uniroyal and Varnicolor had and grossly mismanaged for decades. They are also both dissolved and mobilized in free phase DNAPL which both companies had in spades. They are the elephants in the room which our corrupt Ministry of Environment (MECP) and Uniroyal/Lanxess pretend do not dissolve in groundwater and hence can be ignored. In fact they do dissolve in groundwater at low concentrations which however do exceed the Ontario Drinking Water Standards (ODWS). If they were totally incapable of existing within groundwater and drinking water then why does Ontario have drinking water standards for them?
The Canagagigue Creek right now likely has the lowest concentrations of dissolved solvents it has had also since 1942. It has a ton however of DDT, dioxins, PCBs and mercury. While not all of these are directly due to Uniroyal Chemical; wildlife, fish, the benthic community and human beings have and continue to suffer health effects from them. They have been sampled, tested and talked to death without a single shovel full of them and other Uniroyal contaminants (PAHs) having been removed. However just as with Elmira's groundwater failures there is absolutely no shortage of excuses, magic bullets or other psuedo cleanup remedies suggested mostly to keep idle hands on Woolwich's tightly controlled and phony public consultation body TRAC busy. TRAC is all for public show as they don't have a clue as to what is important and what they should be doing and this is as intended by Woolwich, RMOW, MECP and Lanxess Canada.
♦
I’m very glad the Milwaukee Brewers have just swept the bad ol’ Los Angeles Dodgers for the MLB National League pennant, a reversal of last year’s broom. And the Brewers did it with nearly half the payroll (about 43%) of LA! It was a great result for a small-market team.
What’s cool about the Brewers, besides the way they play baseball, is their name and some of the beverage iconography that goes with it (though, granted, the Dodgers have a community-based history in their name that goes back to the team’s days in Brooklyn).
Otherwise, though, look around the league, and other sports leagues, and there are some pretty lame — and meaningless — names. For instance, there aren’t an unusual number of blue jays, orioles or cardinals in Toronto, Baltimore and St. Louis, respectively: those are just dumb names attached to the teams for no real reason. They are cute birds, sure, but that’s it. There is no inherent connection. The Jays, especially given this past season, could just as easily have been named the Toronto Grackles.
The Brewers, however, have a perfect connection with their city: beer. Besides an obvious link in the name itself, their uniform over the years has captured that spirit of suds. (The intertwined “MB” on their cap that forms a glove and ball was designed by a Wisconsin art student.) At one point in the team’s history, the letter “M” appeared overlaid on a barley stalk. And they once had a cartoon character, “barrelman,” swinging a bat — it was goofy, but he was wearing a wooden oak-stave beer barrel.
Currently, depending on the particular uniform, the Brewers’ jerseys might feature an arm patch emblematic of their defining “baseball-and-barley” heritage, with the two literally intertwined: the baseball’s stitched red seams are replaced by what’s known as “two-row barley,” an important grain that is used extensively in brewing and malting and which has two rows of kernels along the length of its stalk.
♦The blend of baseball and barley immediately links the team to their community in the most relevant way — with a strong, assertive nod to the city’s brewing history and the great historical beer names like Miller, Schlitz, Pabst and the wonderfully fun named, Blatz (Valentin Blatz brought brewing bottom-fermentation knowledge from Bavaria in the 19th century that benefitted the entire U.S. brewing industry). Each of these original beer producers based historically in Wisconsin helped define especially lager brewing in America and the cities in which thousands were employed.
When it’s a question of what’s in a name, a Toronto Blue Jay is, well, meh and says nothing about Canada’s largest city. But in a midwestern city known for its brewing history? What could be more perfect? A beer and a hotdog at the ball park. Go Brewers Go!
Check out my latest post Baseball and barley: Go Brewers Go! from AndrewCoppolino.com.
Firstly there probably is not a one size fits all methodology. There is of course a huge incentive for polluters to want to make friends with and cozy up to citizen leaders. Polluters want the appearance of being reasonable, open to discussion and debate, professionals. Plain stupidity may swing some people over to the corporate ideology but I really don't believe that Susan Bryant is either stupid or a "true believer" in that sense despite her father's corporate background in Rochester with Kodak. I have for some years felt that she was simply motivated by ego, selfishness and status. Maybe that is too harsh although her behaviour is certainly sociopathic. Literally in decades of knowing her I've only seen her break character a couple of times. That requires tremendous focus and determination.
A more generous interpretation may be that her intelligence combined with her sociopathic tendencies promoted her ability to be ruthless. A true sociopath often is smarter than average and leverages that intelligence to get their way. A sociopath does not question their own behaviour as much as the rest of us do. A sociopath knows where they want to go and honest or decent people in their path must be removed by whatever means possible. Susan has behaved towards a couple of friends and colleagues including myself in an absolutely horrifying way. She did it without warning and without regret. Her behaviour was beyond ruthless and brutal. Frankly until I was on the receiving end I did not think it possible for anyone to so effectively and without remorse approach another person, feign friendship and then wait patiently for years to strike from behind. And not to ever feel bad, look sad, remorseful or guilty. And of course never to apologize even decades later. Why would she apologize if she is a true believer in getting what she wants literally by any means and at any cost?
Again maybe I'm being too understanding or gentle in my interpretation of the horrid things that she has done. Maybe in fact she is solely motivated by self importance and status. Yet she continues into her old age to stay involved albeit at a much less intense and energetic pace. She has long stated her desire to have the downstream Canagagigue Creek cleaned up. In my opinion she has sold the farm, given unnecessary concessions to the polluter and sold her own integrity all for promises from long time proven polluters and liars. Promises that to date and since the 1990s are nothing but corporate bull manure. How smart is that exactly?
In fact I truly believe that Susan Bryant almost singlehandedly with the exception of two wing women (Sylvia Berg & Pat McLean) has been the major reason that Uniroyal Chemical and successors have succeeded in NOT cleaning our aquifers OR the downstream Canagagigue Creek. She has provided them with cover. She has provided them with the appearance of corporate entities who while reluctant to spend cleanup money at least are sitting down and honestly having decades of dialogue with citizens. Unfortunately just like Sebastian and Linda who are long term TRAC members all this does is give formerly Uniroyal and now Lanxess Canada credibility as if they are honestly looking either for a compromise or some sort of acceptable cleanup solution. In fact the companies have been running out the clock for decades now. Talk is cheap, real cleanup is expensive. Susan has received honours and accolades from various government levels including municipal, regional and likely provincial. Governments are even more securely in bed with corporate polluters than Susan has ever been. Honours from them are hypocritical and worthless and Susan knows that but accepts them anyways. Why?
Book now! A new photo experience in support of young victims ❤️🩹
The post Happy Howl-idays: Holiday Portrait Experience 📸🎄❄️ first appeared on Child Witness Centre.
It was also the most difficult and it was literally on a moment's notice. I loved being a member of APT Environment. I loved both the technical reports and data that I was reading, absorbing and questioning as well as the social events they held. My wife and children were also strongly welcomed by the APTE membership and this made the decision to resign in protest on the spot excruciatingly difficult and painful. Of course the contemptible and dishonest behaviour of Sylvia Berg in hindsight was intended to produce that result. Undoubtedly she received at the minimum a Christmas card full of Xs and Os (love & kisses) from David Ash and Uniroyal Chemical. I have over the decades tended to minimize my personal negative impact on the credibility of Conestoga Rovers (CRA), Uniroyal, M.O.E. and other dishonest parties. According to Wilf Ruland (hydrogeologist & good friend of Susan Bryant) I was a quick study and absorbed more hydrogeological knowledge than any other layperson he had met. This was a direct threat to the now proven substandard and cheapest remediation method focusing on hydraulic containment or pump & treat technology. Oddly enough in the early days it was Susan Bryant of APTE who referred to pump & treat as "pump & dump".
Susan and husband were in India in the fall of 1993. Sylvia, Glenys McMullen and I worked on responding to Conestoga Rovers latest DNAPL report. It was essentially nonsensical in light of the various professionally accepted technical criteria that had been presented such as soil and groundwater concentrations of DNAPL components. I did most of the technical stuff with Glenys and Sylvia editing and discussing specifics with me about our response. In hindsight I was much too naive and trusting and should have been forewarned when Sylvia insisted that my name alone be put on APTE's response. I later concluded she already knew that APTE would not publicly be challenging CRA's report or the December 10/93 M.O.E. (Min. of Environment) report accepting CRA's perverted conclusions in their latest DNAPL report.
The "on the spot" resignation was due to Rich Clausi resigning after APTE coordinaters accepted Sylvia's DNAPL position that it just wasn't that big of a deal to protest and Sylvia then announced she could no longer work with me on the UPAC committee hence I was off it. Richard's resignation was a surprise but then he was fully up to date on the DNAPL specifics, the APTE co-ordinaters were not and the vote became essentially a popularity contest. Sylvia just like Susan Bryant publicly was strongly against Uniroyal Chemical at that point plus she had been with APTE longer than I.
DNAPLS were and are the defining problem both on and off the Uniroyal Chemical site. I knew they were a big deal in the early 1990s as I'd read not only CRA and Morrison-Beatty reports on them but also gone to the University of Waterloo main library and read other professional reports describing the long term pollution issues they caused. That said, in hindsight, they have proven to be an even larger problem locally than I could have imagined. They are why chlorobenzene which if as we were falsely advised by Uniroyal and consultants were fully dissolved and no longer existed in the free phase (i.e. non-aqueous) form would have been easily reduced below drinking water standards both by pump & treat as well as by natural attenuation (sub-surface bacteria (bio-remediation)). This has not occurred and they have focused on NDMA's low drinking water standard of .009 parts per billion as the problem when they can't even get chlorobenzene down to its' drinking water standard of 80 parts per billion.
Personally I hated resigning but I knew the truth was obvious and was shocked at Sylvia's behaviour and attitude. She and her drinking buddy (coke / pepsi ?) Glenys totally reneged on their position and attitudes as shown in our joint DNAPL response under the APTE headline albeit only with my name on the bottom.
♦
Roots, tubers and bulbs – much of what we might refer to as fall or “winter” vegetables – have long sustained most of the earth’s population and were among humankind’s first foods: plant roots were likely what ancient hunter-gatherers grubbed up out of the ground even before they had figured out fishing, hunting and fire. Root vegetables, you could say, are in our culinary DNA.
Yet, beets, turnips and parsnips have gotten short shrift; until now, that is: autumn harvest vegetables have gained a renewed appreciation as a comfort food appearing on more restaurant menus as meat prices rise and dietary choices change.
So when the temperatures dip and a north wind blows, root vegetables like parsnips, carrots, turnips, rutabagas, and beets are what a hot oven is calling out for.
Tips and techniques for cooking
Of course, there’s no avoiding that adding a bit of fat to root vegetables can really boost their richness and flavour profiles. On grills or slow roasting in ovens, getting a bit of char and caramelization on the vegetables brings out added sweetness and flavour.
When you can, add some citrus or other acidity to your vegetable preparation too: a little bit of vinegar, orange zest or lemon juice, for instance, can enhance the flavours and moderate bitterness.
Try them naked as well: raw fall vegetables grated or shaved adds flavour and crunch to your dishes. Open up the spice and herb cabinet and apply liberal seasonings of spices and herbs – both fresh and dried – to seasonal fall vegetables.
Potatoes
Probably North America’s most consumed tuber, the humble potato is, of course, the stuff of French fries, but it is also a source of vitamin C. They don’t need to be prepared in mashed or baked forms only.
Oven-roasted potatoes are a thing of beauty as well: peel them, cut them in half, blanch them in salted water to almost fully cooked, slather them with duck fat or veg oil, season with salt and pepper, and tumble them into a pan and get them roasting at a high temperature until they are crispy and brown.
Sweet potatoes
A nutrition dynamo, sweet potatoes are versatile: honey-roasted, put into pancakes, baked, pureed and served with pecans and goat cheese, made into soup as well as chips and sweet potato fries.
As for local, look no further than the Simcoe area of southern Ontario: that’s where Canada’s largest producer of sweet potatoes is located.
Brussels sprouts
Related to the cabbage, Brussels (always plural!) sprouts are a perfect fall and winter menu addition. Growing along a tall, slender stalk, the sprouts tend to add bitterness to a plate; adjust that by cutting them in half, blanching and pan-frying or roasting them. Adding bacon to the sprouts adds even more appeal, if that is your thing.
Carrots
A swollen taproot, carrots might be harvested well into late fall. Multi-purpose in nature, carrots can take on a rich and warming Middle Eastern or North African character by adding to them hints of wintry spices like cinnamon, cumin and coriander.
And, if you want to know, the “original” carrot wasn’t orange – that colour appeared only in the 17th century. Additionally, the Elizabethans of Shakespeare’s time considered them only as feed for animals.
Celeriac
Not a particularly attractive vegetable, the bulbous celeriac is similar in taste to celery, of which it is a variety. Try it roasted with apples, bacon and maple syrup. Shred or grate it and add it to salads with radicchio, orange and cashews; or, boil and puree it seasoned for an interesting and flavourful plating foundation to a grilled piece of meat.
Black radish
Somewhat similar to its smaller red cousin, the baseball-sized black radish is very hard and can be sliced paper-thin or grated to add flavour and crispness to a salad.
Leeks
Leeks, related to onions and garlic, can tolerate the cold very well and that makes them a great fall vegetable. We are actually close to a major leek producer located in Paris, Ontario: many of the leeks you buy at the supermarket are likely from Canning Produce Inc.
While they do require more careful cleaning between the leaves, they are like two vegetables in one: a white oniony portion and a green “cabbage-tasting” portion. Leeks add terrific flavour to soups and stews but are also excellent roasted, braised, and grilled and tossed with walnuts and herbs. Try them in pasta dishes, frittatas, and in barley preparations.
Parsnips
When roasted, parsnips blend a lovely sweet quality with their tartness. That’s because when “nipped by the frost,” as the saying goes, the large quantity of starch in a parsnip (more than a carrot) converts to sugars. Parsnips pair well with fall apples in making a delicious soup too.
Beets
Red, orange, yellow or “candy cane,” beets have too long been ignored as an excellent earthy and sweet complement to a centre-of-the-plate protein. Try roasting multi-coloured beets or making them into a soup with sour cream.
Use them in a hummus dip or candied with cayenne pepper and cumin seeds. They combine well with other vegetables and legumes such as lentils for a hearty and satisfying vegetarian main dish, and they can even be used with chocolate in a unique cake dessert too. What’s at the opposite end of a beet variety? Swiss chard, in fact.
Turnips and rutabagas
They are not the same thing: the former are the purple and white globes, while the rutabaga is larger and often yellow-fleshed. It is starchier and sweeter than the nicely bitter turnip. Both can be used in stews, vegetable medleys, roasted and pureed.
Cauliflower
Of late, cauliflower has taken off as a hot vegetable dish. A member of the Brassica family, cauliflower comes in a few different colours, all with delicious florets (also interestingly known as “curds”).
It’s a versatile fall veg that can be pureed or simply broken down, seasoned and oiled and roasted to golden brown in the oven. This roasting method even works for a whole cauliflower. Adding a bit of lemon juice or some milk to the water will help prevent discolouration when boiling.
♦Try roasted cauliflower (Photo/andrewcoppolino.com).Check out my latest post Fall veg are delicious and versatile from AndrewCoppolino.com.
Hate speech is rising worldwide, amplified by new communication technologies, and I’m concerned it could leak into our workplaces.
When it happens, the most powerful thing you can do is make it clear that you don’t agree.
In a recent interview with Nature, psychologist Mirta Galesic, PhD, who studies hate speech and counterspeech, recommends a surprisingly simple response:
“I disagree.”
She explains,
“Don’t feel pressured to have an elaborate argument. Just express your dissent — not to change the mind of the commenter, but to show people that others have a different opinion.”
Why does that matter? Because when nobody speaks up, silence can make extreme views seem more widely accepted than they actually are.
Share this action on Instagram or LinkedIn.
This week’s Better Allies content is sponsored by:
♦Inclusion starts with the documents you share. Every inaccessible PDF leaves out a colleague or candidate using a screen reader. Grackle PDF helps you change that easily: drag, drop, done. Start your 14-day free trial, no cost, at app.gracklepdf.com.
2. Share your pronounsIn honor of International Pronouns Day on October 21st, here’s a quick reminder to share your pronouns.
When we include our pronouns in our introductions, email signatures, name tags, or video-conference profiles, we help normalize sharing them. This is helpful to genderfluid, transgender, and non-binary people who can face frequent pushback when they share their pronouns or ask others to use them.
My friend Jeannie Gainsburg, author of The Savvy Ally, created a brief video explaining why sharing pronouns matters.
She also offers this suggestion: If you include your pronouns in your email signature, add the word “Why?” with a link to her video.
That way, you’re not only sharing your pronouns. You’re helping others understand why it matters.
After all, knowledge shared is knowledge squared. 💡
3. Push back on comments that objectify womenOver the weekend, comedian Shane Gillis hosted Saturday Night Live. During his monologue, he joked about seeing women wearing shorts at the gym: “I didn’t know women just dressed like whores now.”
Actor Dan Levy pushed back in a now viral Instagram reel:
“Women wearing shorts at the gym does not make them whores. It makes the men calling them whores misogynists.”
Exactly. Women shouldn’t have to contend with being demeaned for what they wear. And when we stay silent in response to comments like these, we risk normalizing the attitudes behind them.
As I shared in action #1, speaking up doesn’t have to mean launching into a long argument. Sometimes a few words are enough to signal that a comment isn’t okay.
Try one of these phrases the next time you hear someone objectifying women:
I learn from subscribers regularly, and I deeply appreciate every person who takes the time to share feedback.
After last week’s newsletter, where I referenced a white paper, a few people reached out and suggested I use a different term, such as guide, report, thought piece, or case study.
I hadn’t considered that when writing the newsletter. But it got me thinking: Is white paper non-inclusive language?
I explored a similar question in a 2024 newsletter. My guidance, informed by inclusive language expert Suzanne Wertheim, PhD, is to avoid using white to connote something good and black to represent something bad.
For example, in IT, instead of using white list and black list to describe internet domains and services that are good (allowed) or bad (blocked), we can use the terms allow list and block list.
But what about white paper?
I think it’s different. The term doesn’t inherently suggest that the paper is good or that something called a black paper would be bad. One commonly cited explanation is that it refers to the white covers historically used for these documents.
That said, report, guide, or case study could work just as well and avoid any concerns about color-coded language.
5. Community spotlight: Don’t be sorry, be betterSubscriber Billy W. shared this beautiful message with me:
“A principle I try to live by is: ‘Don’t be sorry, be better.’ An apology can be an important first step when we make a mistake, but real growth comes from learning, improving, and making a different choice the next time. To me, that’s what allyship looks like in practice — staying open to feedback and continuously striving to do better.”
Thank you 🙏.
If you’ve taken a step towards being a better ally, please reply to this email and tell me about it. And mention if I can quote you by name or credit you anonymously in an upcoming newsletter.
That’s all for this week. I’m glad you’re on this journey with me,
Karen Catlin (she/her), Author of the Better Allies® book series
100% written by me. I use AI for researching a personal archive of my books and past newsletters, and for light editing.
Copyright © 2026 Karen Catlin. All rights reserved.
Together, we can make a difference with the Better Allies® approach.
Challenge Hate Speech, and Other Actions for Allies was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
2026’s The Faith of Beasts is the second volume in James S. A. Corey’s The Captive’s War space opera series.
The first inkling that the humans of Anjiin had that they shared the universe with the relentlessly expansionistic, unrelentingly violent Carryx was when a Carryx fleet descended upon and conquered Anjiin.
The Carryx spared most of the humans… but unless humans can prove their usefulness to the Carryx, this will be a temporary state of affairs. As it is, the group of top scientists who were hauled off to the Carryx world-palace is a much smaller group than when it arrived.
♦
Welcome to the technology revolution.
Continue reading on Code Like A Girl »
Cursor plugin specification and official plugins
TypeScript 12.5k Updated Oct 18
The Waterloo Region real estate market entered the fall with fewer home sales, increased monthly inventory and continued adjustments in residential property prices. September 2026 saw sales decline from August, while new listings and the number of homes available for sale increased. Compared with September 2025, however, sales activity, new listings and overall inventory remained lower.
Average and median home prices across Waterloo Region also continued to trend below last year’s levels. Market conditions varied by property type, with single-family homes experiencing shorter selling timelines and fewer months of inventory than townhomes, semi-detached properties and condominiums.
For buyers and sellers in Kitchener, Waterloo and the surrounding communities, these differences highlight the importance of looking beyond regional averages. Understanding neighbourhood-specific trends, comparable properties and current competition remains essential when planning a move.
According to the September 2026 ITSO Waterloo Region Monthly Indicators report, 409 residential properties sold across Waterloo Region, representing a 19.3% decline compared with September 2025.
September 2026 Housing Market HighlightsThrough September, year-to-date residential sales in Waterloo Region declined 7.6% compared with the same period in 2025. The average sale price decreased 4.3%, while the median sale price fell 4.2%.
It is important to note that the sale-to-list-price percentage measures the final sale price against the property’s most recent asking price. This may reflect earlier price reductions and does not necessarily indicate the percentage of the original asking price received.
September’s results reflect a housing market where buyers continue to have options, but activity varies significantly between property types and price ranges.
Although inventory increased from August, the total number of available homes remained below September 2025 levels. At the same time, lower sales activity and year-over-year price declines suggest that pricing and property positioning continue to play an important role in attracting buyers.
For homeowners considering selling, understanding how a property compares with competing listings is particularly important in the current market.
While regional statistics provide a useful overview, the Kitchener-Waterloo real estate market is not uniform. Single-family homes, townhomes, semi-detached properties and condominiums each face different levels of supply, buyer demand and pricing pressure.
A closer look at September’s results illustrates these differences.
Single-family homes continued to experience shorter selling timelines and fewer months of inventory than the combined townhouse, semi-detached and condominium segment.
September 2026 Single-Family Home Statistics:Year-to-date, single-family home sales declined 1.5% compared with 2025. Average sale prices decreased 5.0%, while median prices fell 4.6%.
Despite lower sales activity and prices, single-family homes that sold in September spent slightly less time on the market than they did a year earlier.
For sellers, this reinforces the importance of evaluating current competition, recent comparable sales and property-specific characteristics before establishing an asking price.
Homes in established Waterloo and Kitchener neighbourhoods can experience different levels of demand depending on location, condition, lot characteristics and price range. A carefully considered pricing and marketing strategy remains important, even in segments with relatively shorter selling timelines.
The combined townhouse, semi-detached and condominium segment experienced longer selling timelines and more months of inventory than single-family homes during September.
September 2026 Townhouse & Condominium Market Statistics:Year-to-date, sales in this segment declined 17.3% compared with 2025. Average sale prices decreased 8.5%, while median sale prices fell 7.2%.
With properties taking an average of 41 days to sell, compared with 28 days for single-family homes, buyers and sellers are experiencing noticeably different conditions across housing types.
However, these figures represent several distinct property categories. The market for a condominium apartment in Waterloo may differ considerably from that of a freehold townhouse or semi-detached home in Kitchener.
For homeowners preparing to list, evaluating comparable properties within the same housing category and neighbourhood provides a more meaningful assessment than relying on broader regional statistics alone.
Beyond local sales and inventory trends, mortgage rates and borrowing costs remain important considerations for buyers and sellers throughout Waterloo Region.
In its October 13, 2026 analysis, RBC Economics highlighted the impact of rising bond yields on fixed-rate mortgage borrowing costs in Canada.
Fixed mortgage rates are influenced by bond market conditions, meaning borrowing costs can change even when the Bank of Canada maintains its policy interest rate.
For prospective homebuyers, this creates an important consideration: a lower purchase price does not automatically translate into a lower monthly mortgage payment. Interest rates, down payment amounts and amortization periods all influence overall affordability.
The Bank of Canada’s next scheduled interest rate announcement is October 28, 2026, accompanied by its updated Monetary Policy Report.
The announcement will provide further insight into inflation, economic conditions and the Bank’s monetary policy outlook.
While these national developments influence the broader housing market, the value of an individual property in Kitchener or Waterloo continues to depend on local supply, demand, property characteristics and comparable sales.
September’s housing statistics demonstrate why no single indicator can fully explain market conditions.
While total sales were lower than a year earlier, single-family homes that successfully sold spent slightly less time on the market. Meanwhile, townhomes, semi-detached properties and condominiums experienced longer selling timelines.
Days on market measure the properties that sold, rather than the full experience of homes still awaiting a buyer. Similarly, changes in average and median sale prices reflect the mix of properties sold during a given period and do not necessarily indicate how much an individual home’s value has changed.
For homeowners considering selling in Kitchener, Waterloo or the surrounding communities, pricing and presentation remain central to a successful listing strategy.
Understanding current competing listings, recent sales and buyer expectations can help establish a realistic market position.
A property’s location, condition, features and price range should all be considered when developing a marketing strategy designed to attract qualified buyers.
For buyers, current conditions reinforce the importance of evaluating each property individually.
While some segments are experiencing longer selling timelines, others continue to see comparatively limited inventory and faster transactions.
Considering comparable sales, property condition, financing costs and future ownership expenses can help buyers make informed decisions while identifying opportunities that align with their priorities.
As the fall real estate market continues, inventory levels, buyer activity and financing conditions will remain important indicators to watch.
September’s increase in available listings compared with August raises the question of whether new inventory will be absorbed by buyers or contribute to longer selling timelines in the months ahead.
The Bank of Canada’s October 28 announcement will also provide additional economic context, although its impact on local housing activity will depend on broader financing conditions and buyer confidence.
Ultimately, the Waterloo Region real estate market continues to demonstrate the importance of property-specific analysis. Regional trends offer valuable perspective, but informed real estate decisions require a closer understanding of individual neighbourhoods, housing types and current competition.
Whether you’re preparing to sell your home or exploring your next purchase, understanding how current market conditions apply to your specific circumstances is an important first step.
At The Deutschmann Team, we provide personalized market insights, strategic pricing guidance and comprehensive real estate marketing to help buyers and sellers navigate the Kitchener-Waterloo real estate market with confidence.
If you’re considering a move, we’d be happy to help you understand what your home could sell for, how it compares with current competition and what today’s market conditions mean for your plans.
Find out what your home could sell for.
Source: ITSO Waterloo Region Monthly Indicators, September 2026, current as of October 2, 2026. The report’s Townhouse/Condo category includes townhouse, condominium and semi-detached properties.
The post Waterloo Region Real Estate Market Update | October 2026 appeared first on Kitchener Waterloo Real Estate Agent - The Deutschmann Team.
1984’s The Black Company is the first volume in Glen Cook’s Book of the North, which is in turn part of Cook’s Black Company1 secondary-universe military fantasy. The story is narrated by a compromised and unreliable Company member, Croaker.
Beryl, queen of the Jewel Cities! A community that Black Company doctor/archivist Croaker sums up as “old and decadent and mad, filled with the stench of degeneracy and moral dryrot.” On the one hand, it’s in dire need of the services of competent sell-swords like the Black Company. On the other, it’s the sort of client that might for reasons beyond their control not pay their bills.
The Captain would be eyeing the exit if an exit were in sight.
♦
Why shouldn’t we start building apps that are fully private without compromising data integrity and availability?
Continue reading on Code Like A Girl »
♦
A decade of cross-team feature knowledge turned out to be exactly what spec-driven development needed.
Continue reading on Code Like A Girl »
♦
Hacking a Game Beyond Its Limits by Injecting Assembly
Continue reading on Code Like A Girl »
Past municipal elections I know who was good and who was bad. Who was naughty and who was nice. Who was straightforward and who was scheming and manipulative. This election for me is different because four of the current six councillors are just completing only their first terms in office. Bonnie Bryant is completing her second term as a councillor and generally speaking I'm not even sure about her. I am thrilled that our mayor Shantz is hanging up her hat and pray that she is not a good old Conservative that our Premier will anoint as the new appointed Regional Chair. That would simply be extending our environmental disaster with our groundwater and Creek ("Gig") further onto the regional stage.
My problem is that I do not know how culpable all the councillors are with Woolwich's head in the sand, let's trust the good folks who have lied and deceived us for decades, and hold steady environmentally. Nathan Cadeau long ago exposed his biases. He got in good with mayor Sandy by accepting the Chair's position on TRAC from a position of total and complete ignorance. I expect that when she asked for a Council volunteer everybody else wisely leapt backwards leaving Nathan front and centre. All council members were approached by CPAC (Citizens Public Advisory Committee) members very early in their start on Council and basically were ignored in the final decisions around TRAC. How much of that was the experienced mayor laying down the law I do not know.
One proviso I have is that any council member or candidate being backed by local, powerful interests is likely no friend of the public interest. The local, powerful interests have been behind both good and bad developments in our community and their adherents would include Bill Strauss, Sandy Shantz, Mark Bauman, Pat Mclean, Bob Waters etc. If you know of any connections between them and current candidates than my recommendation is do not vote for them.
It is my understanding that Kayla Grant is not running again and if I'm wrong about that then apologies to her. Overall I have no criticisms of her efforts as a councillor. Schwindt and Burgess also other than following suit with Sandy Shantz's willingness to support a false narrative being sold to Woolwich citizens and residents about both the overall regional water supply and about the failed "cleanup" of our groundwater and Creek, are neither in my bad books. Who is best for the public interest I honestly don't know but that is because I really don't know their backgrounds that well.
Shantz is also no loss to a generally bad regional Council. She did nothing on the Police Board and mostly nothing for Woolwich as well. That is her legacy. One decision I applaud and that was putting the health/warning signs along the Canagagigue Creek. Other than that, good riddance. She served her local masters well, not the public.
♦
In April, Ontario proclaimed that October would be Hungarian Heritage Month.
It’s a notable month because in October 1956, Canada welcomed more than 37,000 Hungarians following the country’s student-led revolution that began in Budapest.
Today, Canada is home to more than 350,000 people of Hungarian and Magyar descent, along with Hungarian-speaking peoples from other areas of Europe, nearly half of whom live in Ontario.
Some of those Hungarian-Canadians are members of the Kossuth Hungarian Canadian Club, located on Kossuth Road in Cambridge, near Beaverdale and Brookfield golf clubs.
For more, visit Cambridge Times.
Check out my latest post Schnitzel and gulyas leves for Hungarian Month from AndrewCoppolino.com.
2021’s Though I Am an Inept Villainess: Tale of the Butterfly-Rat Body Swap in the Maiden Court, Volume Two is the second tankōbon for Satsuki Nakamura, Ei Ohitsuji, and Kana Yuki’s manga adaptation of Satsuki Nakamura’s secondary-universe light-novel series of the same name. The 2023 English translation is by Margaret Ngo.
Court lady Shu “the Rat” Keigetsu escaped life as a court pariah through the simple contrivance of a body swap with her hated rival Kou “the Butterfly” Reirin. Kou-in-Shu’s body is sentenced to death for attempted murder. Of Kou! By pushing her off a balcony! While witnesses watched!
Kou manages to escape the death penalty for the crime Shu committed before swapping bodies. She is magically barred from accusing Shu. What will happen now?
…
Register: Online at our KWality Talk Page, the attendance link will be included in an email the day of the event.
Location: Online. Please ensure that your onscreen name matches your registration name.
Time: The meeting starts between 11:55 am and 12:00 pm, a waiting room might be enabled if you arrive prior to this time. Meeting ends at approximately 1:00 pm.
Speaker: Bas Dijkstra
Topic:
Traditionally, teams have spent a lot of time writing, running and maintaining automated tests as a means to get valuable feedback about the state of their product, fast. Now that we have LLMs at our disposal, we can write and maintain those tests even faster. But what do you know about those tests? How good are they, really?
In this talk, we will look at mutation testing as a technique to help you find out how good those tests that you wrote, or that Claude wrote for you, really are. After a brief introduction on why it is important to test your tests, you will see a live demo of mutation testing in action, and I’ll discuss how to interpret the signals provided by mutation testing tools and how to use them to improve your tests and your confidence in their ability to capture problems with your product.
To wrap things up, I will give some recommendations on how you, too, can start using mutation testing in your team and project, right away.
Bio:
Hey, my name is Bas Dijkstra, and I am an independent test automation consultant and trainer.
I have been active in the test automation field for some 18 years now, and have worked on software testing and automation solutions across a wide range of programming languages, frameworks and technology stacks.
I’ve delivered test automation training to dozens of companies and hundreds of conference attendees in the Netherlands as well as abroad, to excellent reviews.
I’m also the developer of RestAssured.Net, a library that is meant to make writing tests for HTTP APIs in C# a breeze.
I live in Amersfoort, The Netherlands, together with my wife and two sons. When I am not at work, I like to go outside for a long bike ride, or to sit down and play a game of chess or read a good book.
Picture it: 2005 — YouTube had just appeared, and nobody knew about it. Smartphones didn’t rule our hands and minds yet, and life was just a bit different from today. Back then, it felt like the air itself was full of anticipation.
In 2005, I started working in the semiconductor industry as an ASIC Physical Designer, drawing chip layouts and taking them from initial concept to a manufacturing-ready layout. My work involved planning how different components were arranged and connected within a chip, optimizing the layout, and resolving design and technical constraints throughout the process.
While it may sound pretty boring for non-tech people, I loved my job. I still do! I always found the design process exciting.
♦Me in tech — the late 00s. Photo of authorYou see, with the chip floorplanning, you have a fixed area, constraints and rules to follow, blocks that must go somewhere, paths to reach them. You measure. You draw. You verify, because your opinion of the layout is not evidence that it works. You iterate.
And then, suddenly, it all makes sense. The moment when all small pieces come together, creating the whole picture, perfect in its precision, is the absolute best. I have always believed there is some kind of unspoken beauty in precision.
Beauty isn’t something you add at the end — it’s what precision looks like when it’s done right.
Thoughts about the versatility of “design” entered my life silently while I was fully immersed in technology.
“Every living creature designs to some extent,” I thought. And maybe that’s how I decided to try interior design myself. It’s kind of funny to think about it now.
♦Me at the Museum of Design / Museum für Gestaltung in Zürich, Switzerland. Photo by authorWith a background in fine art and graphic design, I didn’t doubt much that it was my thing.
Design is something very human. Maybe it is the most human thing we do.
At first, I designed interiors only for friends. Then I joined a freelance platform and started working with clients from all over the world. One project became another, and soon I realized — interior design had become much more than a simple passion. It’s my second full-time job.
For years, I kept the two worlds carefully separated. During the day, I was designing chips. After 6 PM, I was designing homes. And strangely, switching between them never felt as dramatic as it probably sounds.
Different scale. Different tools. A different kind of headache. Yet my brain approached the problem almost the same way.
That was probably my biggest realization: I hadn’t suddenly become a completely different person or started a completely unrelated career.
I had always been a designer.♦One of my first VS one of my latest interior design projects
Engineering taught me to think about structure, constraints, precision, and how hundreds of small decisions eventually create one functioning system. Interior design let me apply that same thinking to something much more human — spaces people actually live in, walk through, touch, and experience every day.
Eventually, the “side” work became too serious to call it “side” anymore.
♦Enjoying Maximalist interior design in a lobby. Photo by authorWhen I finally felt confident enough to give it its own name and identity, I decided to make the transition properly.
And in 2020, possibly one of the least sensible years in recent history to start something new, Designature Studio was born.
But that’s a story for the next time.
Closing notesDon’t let anyone else decide how you’re wired. Code, design, build, start the company in the worst possible year. Do it like a girl. It turns out that means doing it well.
♦My Non-Linear Path to Design: From Semiconductors to Interiors was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
Spawning another AI agent can feel like an instant, almost free hire. The call is small. Another worker joins. Work begins in parallel.
That makes it very easy to confuse more active workers with more net progress.
I ran into a version of this with my own automated trends research. The workflow could gather headlines and candidate stories from several sources, but collection was only half the job. The material still had to become one useful daily digest. On some runs, plenty of research came in and the finished digest never appeared.
Adding another source collector was easy. Getting the existing work across the finish line was the harder part.
Once several agents are already working in parallel, I care more about what another worker would add, versus how many the system can run. What would it contribute that the existing workers could not already deliver with less effort?
So I treat another worker as a marginal investment:
The branch has to contribute something distinct, and that benefit has to be worth the extra context handoff, duplicated work, shared-state contention, verification, and reduction it creates.
This rule does not tell us how many agents every workflow should use. The stopping point moves with the task, the architecture, the tooling, and the cost of delay.
Which is less tidy than “three agents is optimal”, but gives me something concrete to assess before adding another.
The next worker needs a distinct contribution“More capacity” is too vague to justify widening fan-out.
A new branch can absolutely be worth adding. It might carry a specialist capability the existing workers do not have. It might search a separate source space while the critical path continues. It might run an intentionally independent review where disagreement is itself valuable. It might explore a genuinely different approach in parallel because waiting for serial attempts would cost too much time.
Those are concrete contributions.
Using my trends workflow as an example, a new collector might have been worth adding if it reached a genuinely different source or uncovered something insightful that the existing research missed. Another collector gathering similar headlines would have been a different proposition: more material arriving at a synthesis step that was already struggling to finish.
But before I add another worker, I want to be able to finish this sentence:
This branch exists because it can produce this result that no current branch already owns.
If I cannot explain what the new branch would add, I have little reason to expect it to improve the result. I only know that I have unused capacity.
Unused capacity is not the same thing as unfinished work.The coordination bill arrives on both sides of execution
The worker itself is only one part of the cost.
Before it can do anything useful, someone has to decide what context it needs. After it returns, someone has to decide whether the result is trustworthy and how it rejoins the main line of work.
That is why I would separate coordination cost into several parts instead of putting everything under “overhead.”
Context reconstructionWhat has to be copied, summarized, or rediscovered so the branch can work safely? A worker that can act from a compact brief is cheap to isolate. A worker that needs most of the parent’s state, exceptions, assumptions, and unresolved questions is already consuming attention before execution begins.
Duplicate workHow likely is the branch to inspect the same files, search the same sources, or repeat checks another worker already owns? Deliberate independent verification can be useful. Accidental overlap is just paying twice for the same coverage.
Coordination and contentionDoes the branch depend on shared state another worker is also changing? If two branches can race on assumptions, files, locks, decisions, or intermediate outputs, the system acquires a larger coordination surface along with the extra execution capacity.
VerificationWhat evidence is required before the result can affect the main task? Every new branch creates another output that has to be accepted, rejected, or qualified. On high-cost or weakly observable work, that review burden can dominate the apparent speedup.
Combining the resultsHow does the result come back? Several good branches do not automatically become one coherent next action. If each additional worker increases the synthesis and reconciliation burden, some of the fan-out gain is simply being deferred until the end.
A worker may finish its own task quickly, yet leave the parent with so much checking and reconciliation work that the workflow saves little time overall.
The trends runs made that cost visible. One run staged 255 candidate items and produced no final digest (sure, I could raise the tool call limits, but it’d stop being sensible at some point). Another staged 64 from eight sources, then stopped before completing synthesis. The research material existed, but the useful output did not.
The failures had several contributing factors, yet the practical problem was clear:
The system still had to filter, compare, deduplicate, and turn everything into something usable.
More collection would not have done that work for it.
Separability is what changes the mathThe research supports this distinction, within the conditions tested.
A September 2026 paper, Rethinking Multi-Agent Collaboration: When More Is Less, models long-horizon work as a dependency graph. In its tested setup, collaboration is more useful when the task contains relatively independent regions that can be separated without carrying the full history of the task into every branch.
Tightly coupled sequential work creates the opposite pressure. If later steps depend heavily on earlier ones, decomposition adds coordination overhead and can damage the dependency chain the system needs to preserve. The paper also reports that simply increasing the agent pool or recursion depth did not consistently improve outcomes in its experiments.
Those experiments do not establish the best agent count for every workflow. Before widening fan-out, I would check:
Is there another unit of work here that is actually worth isolating?
A broader study, Towards a Science of Scaling Agent Systems, reaches a compatible conclusion across different benchmarks, model families, and architectures. Its reported results make task structure, coordination efficiency, redundancy, topology, and overhead part of the answer. Parallelizable work can benefit; sequential or tool-heavy work can lose enough to coordination overhead that more agents become counterproductive in the tested conditions.
I would not turn those benchmark results into a fixed production rule. They show how much the outcome depends on the structure of the task and how the work is divided.
Wider fan-out has more to offer when another piece of work can proceed mostly independently. When a new branch needs the same extensive context and keeps working on shared state, briefing and coordination become more demanding.
A concrete example: context isolation is useful and still costs somethingThe current Hermes delegation documentation shows the trade-off cleanly.
A delegated subagent starts with a fresh conversation rather than inheriting the parent’s full conversation history. The parent has to pass the goal, constraints, files, findings, or other context the child needs. The child later returns a final summary rather than its whole working context.
Isolation protects the parent context and keeps the child focused.
If the child can solve a narrow problem from a compact packet, great. If the parent has to summarize much of its working context before delegation is safe, the branch is no longer as cheap as the spawn call made it look.
And if the returned summary is not enough to accept the result, the parent may still have to reopen sources, repeat checks, or reconstruct reasoning on the way back in.
This is a Hermes-specific implementation example, not a universal rule about every agent framework. But the operating question is portable:
What does isolation save, and what does it force you to reconstruct?
Measure the margin instead of defending the architectureA fixed topology can become surprisingly easy to defend simply because it already exists.
If a workflow has four workers, the fifth can start to feel like the natural next step. If the runtime supports ten, using three can feel like leaving performance on the table.
I do not think capability should decide the count.
With my trends workflow, I considered splitting the sources into more parallel jobs. But that risked duplicate entries, weaker cross-source comparison, and more outputs to reconcile. I chose to separate collection from synthesis, with a clear handoff between the two. That gave the downstream work its own room to finish rather than multiplying competing digests.
The stronger stopping rule is empirical and local. Add the branch, then look at what actually changed:
Those observations do not need to become one universal score. They only need to make the next scaling decision falsifiable.
If a fourth research branch repeatedly finds nothing new and adds review work, that is evidence to stop at three for that class of task in that setup. If the fourth branch repeatedly finds distinct evidence while staying cheap to brief and verify, that is evidence to keep it.
The number is local. The method is reusable.
That matters because a multi-agent system should be able to shrink as easily as it expands.
Otherwise fan-out stops being a response to task structure and turns into architecture for architecture’s sake.
A small contract before widening fan-outMake the next worker justify itself with seven questions:
None of these questions decides the answer alone. Their job is to prevent “we can add another agent” from silently becoming “we should.”
More workers can still be the right answer. Some tasks contain abundant independent work. Some genuinely benefit from independent review. Some are constrained enough by time that wider parallelism is worth paying for even when it is less token-efficient.
Before adding another worker, be clear about what it will contribute and how you will judge the result. Apply the same test across workflows; let the agent count follow the evidence.
From Dream Atlas: The Next Agent Had to Earn Its Coordination Cost — the original log behind this article.
I’m continuing to write about AI workflows, product work, and what I’m learning as I build, test, and tinker. If that sounds useful, follow me here on Medium. And if this piece earned a clap, I’d appreciate it ✨
♦Is One More AI Agent Worth the Extra Work? was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
There are things you think as a Project Manager & then there are things you actually say. These are not always the same thing. In fact, sometimes there is an entire internal monologue between the two.
“Can we please read the document before asking me what’s in the document?”
What I say: “Absolutely, happy to walk you through it.”
What I’m thinking: It’s three pages. I sent it three days ago. Just read it.
“Is anyone actually going to make this decision?”
What I say: “Can we confirm who will be the final decision-maker?”
Because apparently, if nobody owns the decision, it can live forever.
“That wasn’t a requirement when we agreed the scope.”
What I say: “Let me check the original requirements & understand what’s changed.”
What I’m thinking: Ah. A plot twist.
“Why did nobody tell me this three weeks ago?!”
What I say: “Thanks for flagging this. Let’s understand the impact on the current plan.”
Because “why are you telling me now?” isn’t particularly helpful. Even when it is extremely satisfying.
“NO! You cannot have all three.”
What I say: “Given the timeline, we may need to prioritise between scope, quality & resources.”
The project manager’s version of: Pick a struggle.
“That’s not a blocker. That’s an inconvenience.”
What I say: “Let’s see if there’s a workaround while we look into it.”
Because not every problem deserves a red flag. Some problems deserve a conversation. Some deserve an email. And some deserve approximately seven minutes of your attention before you move on. Knowing which is which is a skill.
“Please stop adding things to the project.”
What I say: “We can certainly consider that for a future phase.”
Because “future phase” is sometimes where perfectly good ideas go to wait quietly until everyone has forgotten about them.
“I need you to actually do the thing you said you’d do.”
What I say: “Just following up on the action from our last meeting…”
Again.
And again.
And again.
At some point, project management becomes an endurance sport.
“You don’t need another meeting. You need to make a decision.”
What I say: “Would it help if we summarised the available options and make a recommendation?”
Because meetings don’t solve indecision. Decisions do.
“I knew this was going to happen. I just knew it!”
What I say: “Let’s look at what we could have identified earlier and what we can do differently next time.”
This is probably one of the hardest lessons in project management.
Sometimes you are right.
Sometimes you even documented that you were right.
And when the thing you warned everyone about eventually happens…Nobody needs your victory lap. They need a solution.
“That’s not how any of this works.”
What I say: “Let me explain the dependency there.”
Same message. Different career outcome.
“ASAP is not a date!”
What I say: “Would it be possible to have this ready by…?”
Because apparently we have collectively decided that ASAP is an internationally recognised unit of time. It isn’t.
“Let’s take that offline.”
What I say: Exactly that.
What I mean: There are several things I want to say right now that would not improve this meeting & I will not say in front of the whole team.
And then there are the things you eventually learn not to say at all. Not because you don’t have the right to say them. But because you’ve learnt that being the smartest person in the room isn’t the same as being the most useful person in the room.
Your job as a project manager isn’t to be the smartest person in the room. You just need to be the most resourceful.
You can prove someone wrong, or you can move the project forward.
You can remind everyone that you warned them or you can help fix the problem.
You can point out who dropped the ball or you can figure out how to stop it happening again.
That’s one of the less glamorous parts of project management.
You learn to separate what needs to be said from what merely needs to be felt — and honestly, that’s not just a PM skill. That’s leadership. That’s a people skill.
Because sometimes the most valuable thing you bring into a difficult meeting isn’t the answer.
It’s the ability to think: “Oh, for God’s sake.” Take a breath. And then say: “Okay. Here’s what we’re going to do now...”
♦Things I Wouldn’t Say as a Project Manager was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.
For many years I enjoyed reading Luisa D'Amato's public whipping particularly of our public Board, the Waterloo Region District School Board (WRDSB). Today's Opinion piece by Luisa titled "Waterloo Region's school board races are... wild" hammers the Catholic Board as well so kudos to Luisa for being fair. Personally I believe that over the decades the Catholic Board generally has demonstrated more honesty, sincerity and Christian behaviour than the WRDSB by far.
Over the decades far too many stupid and perverse wanna be politicians have used the public school board as nothing more than a stepping stone into "higher" politics. We need look no further than our very own, thank God she's gone, ,mayor Sandy Shantz. Not only was she elected trustee but she extremely shortly became the Board Chair (Board as in Board of Trustees). She did nothing remarkable other than do as she was told and not make waves. At the time and despite Luisa D'Amato's fine reporting the Trustees still had some public presence and respect making the jump to municipal politics easy. It was also helpful for Sandy that Elmira was a hockey town hence her support for two ice surfaces versus Pat Mclean's support for but one got Sandy into a councillor's chair. Then after a four year hiatus for personal reasons she had a slam dunk for the Mayor's position as then mayor Todd Cowan self-destructed due to a combination of arrogance and dishonesty.
Perhaps after the public exposure of the school board as nothing more than proxy political left versus right ideological spats mostly irrelevant to children and public education; their usefulness as political springboards to higher office will be reduced. Of course the problem is that the local powers behind picking candidates whether for Trustee positions or Councillor positions never rests. They are always looking ahead for candidates who want to advance and are willing to go along to get along. When three quarters of the candidates running are in it for the wrong motives then democracy has already been defeated before the first vote is cast.
♦
What I learned while building a stock data pipeline with Flutter, Yahoo Finance, and Supabase
Continue reading on Code Like A Girl »
Jo Walton’s 2026 Everybody’s Perfect is a stand-alone secondary-universe fantasy.
Tiry dreams of the doge marrying the sea. This would make sense if Tiry were human OR if Tiry lived in Venice OR where Tiry lived had a doge. However, none of those things are true.
…
♦
Gamma.app has made the shift from "generate a deck" to "think with a deck"
Continue reading on Code Like A Girl »
Before we begin, let me ask you a question: Do you shop online?
If your answer is yes, how long does it take you to decide what to buy and, more importantly, who to buy from?
For me, the answer is embarrassingly long.
Not because I enjoy browsing endlessly, but because I am constantly trying to avoid being scammed or becoming the latest victim of the dreaded “what I ordered vs. what I got” experience. Between comparing vendors, reading reviews, checking social media pages, and looking for signs of legitimacy, shopping online often feels like a research project.
At some point, I began asking myself:
What if there was a platform where verified fashion vendors could showcase their products, allowing shoppers to browse with greater confidence and spend less time worrying about trust?
That question became the foundation of Topsy, a cloud-native fashion marketplace designed to connect shoppers with verified vendors.
Before writing a single line of code, I wanted to verify that I wasn’t the only person facing this problem. So, I conducted a small survey involving 18 women who regularly shop online. The results confirmed what I suspected: concerns about trust, scams, and product quality were common experiences among online shoppers. Their responses can be viewed here.
Over 57% had been scammed or nearly scammed while shopping through informal channels like Instagram, WhatsApp, and TikTok. Many spent between 30 minutes and over an hour searching for a single item across multiple platforms. And nearly every respondent said the same thing: they would use a trusted, dedicated marketplace if one existed.
The top features they wanted were not complicated. They wanted verified seller badges. They wanted buyer reviews. They wanted secure payment. They wanted to know that the person selling to them had been checked.
Trust was not a nice-to-have. It was the entire barrier.
As an Economics graduate, I immediately saw both a business opportunity and an analytics opportunity. Understanding customer behavior, purchasing patterns, vendor performance, and trust factors could help create a better shopping experience while generating valuable insights for marketplace operators.
At the same time, I had recently completed my AWS Cloud Practitioner certification and wanted an opportunity to apply my cloud knowledge in a practical setting. Rather than building another tutorial project, I decided to solve a real problem.
The result was Topsy.
What Topsy Is
Topsy is a serverless fashion marketplace built entirely on AWS. It allows buyers to browse verified fashion products across four categories (In-Office, Out-of-Office, Casual, and Spicy), select sizes and colors, add items to cart, and pay via Ghana’s mobile money ecosystem or card through Paystack. Sellers can list and manage their products. An admin analytics dashboard tracks marketplace performance, customer behavior, sales trends, and seller activity.
The marketplace currently features 15 products across the four categories, listed by three verified Ghanaian sellers: Abena Collections, Style by Ama, and Akosua Couture.
♦Product detail page with verified seller badgeIn this article, I’ll walk through the problem, the research, the architecture, and how I transformed a personal frustration into a cloud-native solution.
Turning the Idea into an ArchitectureEvery component of Topsy runs on AWS, provisioned across four CloudFormation stacks.
Storage and Databasetopsy-storage creates two S3 buckets (product images and frontend files) and eight DynamoDB tables covering products, orders, users, cart, reviews, inventory, payments, and market research data.
Authenticationtopsy-auth provisions AWS Cognito for user authentication, handling sign-up, email verification, login, and password reset. It supports two roles — buyers and sellers — routing each to the correct experience after login.
♦Topsy login pageContent Deliverytopsy-cdn puts CloudFront in front of the S3 frontend bucket, serving the site over HTTPS with an Origin Access Control (OAC) policy so the S3 bucket is never publicly exposed.
The Backend APItopsy-api provisions an API Gateway with ten REST endpoints and seven Lambda functions in Node.js 24.x — covering product browsing, cart management, seller product management, and order retrieval. Lambda runs code only when called, so there are no idle servers to pay for.
♦Lamda functionsCI/CD PipelineThe deployment pipeline was set up separately from the CloudFormation stacks using AWS CodePipeline and CodeBuild. Every push to GitHub triggers an automatic build, S3 sync, and CloudFront cache invalidation. Push code, it goes live, no manual steps.
♦CodePipeline executionsThe Frontend: What Users SeeThe buyer-facing side of Topsy is built in React and served via CloudFront. It includes a login page, a product browsing page with category and item type filters, individual product pages, and a cart with a full payment flow.
♦Cart page and payment processThe payment flow was designed specifically for Ghana’s ecosystem. Paystack is integrated as the payment gateway, supporting MTN Momo, Telecel Cash, AirtelTigo, and card payments. This reflects one of the strongest findings from the survey, that buyers want payment to feel safe and familiar, not foreign.
The Analytics Dashboard: Where the Data Tells the StorySince Topsy is a new platform with no real transaction history yet, I simulated a dataset to power the analytics dashboard. Crucially, this dataset was not random — it was designed to correlate directly with the findings from my 18-person survey.
Budget tiers in the simulation match survey responses: 50% of simulated users have budgets under 50 GHC, 28% between 50 and 150 GHC, and the remainder above that. Payment method distribution reflects Ghana’s mobile money reality, with MTN Momo accounting for 48% of transactions. Peak shopping hours, lunchtime and evenings, are weighted to reflect when Ghanaian women said they browse most. The casual and in-office categories are weighted as the most popular, consistent with what respondents said they shop for.
The result is a dataset that tells a believable, research-grounded story about what a Ghanaian fashion marketplace might look like in its early months.
♦What the Dashboard ShowsOverview tab — The headline numbers from the demo dataset: GHC 39,973 in total revenue across 383 orders, a 76% delivery rate, a 4% cancellation rate, and an average order value of GHC 108. Six business insight cards summarize the key findings in plain language — for example, that casual wear generated 52% of all orders between January and July, and that 80% of transactions were completed via mobile money.
♦Admin dashboard Overview tab based on simulated data.Sales tab — A monthly revenue trend line shows performance from January to July. A category breakdown confirms casual wear and in-office styles as the top performers. A payment methods chart shows the dominance of mobile money. The top products chart shows that the Basic Crop Top at GHC 45 was the highest-ordered product — consistent with the survey finding that the majority of respondents have budgets under 50 GHC.
♦Sales tab based on simulated data♦Sales tab based on simulated dataBehaviour tab — This is where the market research and the data connect most directly. A conversion funnel shows the journey from store visit to completed order. A retention curve tracks how customers return over time. Peak hour and day-of-week charts confirm the lunch and evening shopping patterns from the simulation. And two charts drawn directly from survey data show the most-requested platform features and the biggest pain points respondents faced — with vendor trust concerns topping both lists.
♦Behaviour Tab based on siumulated dataSeller's tab — Performance data for each of the three verified sellers, showing order counts, revenue, and average order value.
Why This MattersThe analytics dashboard demonstrates something that goes beyond the cloud infrastructure. It shows how primary research data can be used to shape a product and inform a simulated dataset, which then powers a live analytics layer. This is the loop that data analysts work in — define the question, collect data, model it, visualise it, draw conclusions.
The survey said trust is the barrier. The product addresses trust with verified seller badges and integrated reviews. The demo dataset reflects the budget and behaviour patterns from the survey. And the dashboard lets you see it all in one place.
Key Technical ChallengesNo project like this goes smoothly from start to finish. A few things that caught me out and are worth documenting:
API Gateway path conflicts. You cannot have two sibling variable path parts at the same level in API Gateway. Having /cart/{userId} and /cart/{cartItemId} as siblings causes a deployment error. The fix was to nest them: /cart/{userId} for fetching a cart, and /cart/{userId}/{cartItemId} for updating or deleting specific items.
Lambda handler naming. On Linux build servers, filenames are case-sensitive. If the Lambda function code file is named getProducts.js but the CloudFormation handler property says GetProducts.handler, it fails. Matching exactly matters.
CORS configuration. Cross-Origin Resource Sharing (CORS) errors occur when a frontend on one domain tries to call an API on another. The fix requires two things: enabling CORS in API Gateway and making sure every Lambda function returns the correct Access-Control-Allow-Origin header in its response, including error responses, and including the OPTIONS preflight request handler.
CloudFront caching. After each deployment, CloudFront can serve stale cached content until an invalidation request clears it. This invalidation is now automated in the CI/CD pipeline, but it took a few debugging sessions to understand why changes weren’t showing up after deploying.
IAM permissions. Every time a new AWS service interaction was introduced; CodePipeline writing to S3, Lambda reading DynamoDB, CodeBuild invalidating CloudFront, a new IAM permission had to be explicitly granted. AWS’s least-privilege model means nothing is permitted by default, which is the right security posture but requires careful attention.
What’s NextTopsy is a working foundation. There are several clear directions from here:
Expand the survey. The current dataset is drawn from 18 women. I am extending the same survey to male respondents to understand whether the trust and scam problems are specific to women’s fashion shopping or reflect a broader Ghana e-commerce pattern. The findings will inform whether Topsy should expand to menswear or remain focused.
Seller-side analytics. The seller inventory page currently uses placeholder data. Connecting it to the real API will allow sellers to see their own performance data. Orders, revenue, and stock levels, directly from the dashboard.
Bigger data infrastructure. The current analytics pipeline uses DynamoDB as the data store and a Lambda export function to write CSV files to S3. The natural next step is to replace this with AWS Glue for ETL processing, Amazon Redshift as a data warehouse, and Amazon Athena for SQL queries, the standard big data stack on AWS.
Final ThoughtsTopsy started as a personal frustration. It became a research project. Then a product. Then a cloud architecture. Then an analytics story.
The AWS Cloud Practitioner exam teaches you what the services are. Building Topsy taught me how they connect, why the configuration details matter, and what breaks when you get them wrong.
♦I Got Tired of Being Almost Scammed Online. So, I Built a Marketplace was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.