WRDashboard

Fork Me on Gitlab

Articles

Aquanty

HGS RESEARCH HIGHLIGHT – Reclamation for aspen revegetation in the Athabasca oil sands: Understanding soil water dynamics

Carrera-Hernández, J. J., Mendoza, C. A., Devito, K. J., Petrone, R. M., & Smerdon, B. D. (2012). Reclamation for aspen revegetation in the Athabasca oil sands: Understanding soil water dynamics through unsaturated flow modelling. In Canadian Journal of Soil Science (Vol. 92, Issue 1, pp. 103–116). Canadian Science Publishing. doi.org/10.4141/cjss2010-035

“For the virtual experiments developed in this work, the adaptive time step option of HydroGeoSphere was used. The output was processed through a series of awk scripts to get daily and/or monthly data, because for some days HydroGeoSphere required 50 or even more subdaily time steps to converge.”
— Carrera-Hernández, J. J., et al., 2012 ♦

Figure 1. Location of the oil sands regions and the boreal plains within the Canadian boreal forest, with disturbance in the Athabasca region illustrated through the use of a LANDSAT-5 colour composite for (a) August 1985 and (b) September 2010 with coordinates given in meters, UTM-12. The Alberta inset shows the Utikuma Region Study Area (URSA) where evapotranspiration data for aspen were measured.

CLICK HERE TO READ THE ARTICLE.

We’re pleased to highlight this older publication authored by researchers at the University of Alberta, Wilfred Laurier University and the Commonwealth Scientific and Industrial Research Organisation (CSIRO). The paper focuses on understanding soil water dynamics in reclaimed landscapes within the Athabasca oil sands region using unsaturated flow modelling. The study explores how different reclamation strategies affect soil water availability and water table fluxes— critical components for supporting aspen revegetation, a key species in boreal forest ecosystems.

Figure 9. Daily soil water dynamics for different depths of capping material used on top of tailings sand: (a) 0 m, (b) 0.5 m and (c) 1.0 m considering different water table depths commonly found on the boreal plains (2, 4, 6 and 12 m). The top plot shows the variability of the climatological conditions for the simulated period (1919–2006).

In this research, HydroGeoSphere (HGS) was used to simulate soil water movement under various reclamation scenarios over an extended period (1919–2006), integrating long-term climate variability into the analysis. The study tested combinations of reclamation cover thicknesses (0.0, 0.5, and 1.0 m) and water table depths (2, 4, 6, and 12 m) to determine the conditions most suitable for sustaining vegetation, particularly trembling aspen, in reconstructed post-mining landscapes. The virtual experiments captured daily soil moisture profiles and fluxes at the water table, offering a realistic representation of hydrological processes over both wet and dry climate cycles.

HydroGeoSphere’s robust modelling framework allowed for a fully integrated simulation of variably saturated flow under each reclamation scenario. The model incorporated adaptive time-stepping and dynamic boundary conditions, such as net atmospheric fluxes derived from evapotranspiration and precipitation data. Importantly, the simulations demonstrated how the presence of a reclamation cover— especially with a thickness of 0.5 to 1.0 m— could buffer against moisture loss and promote water retention, making it more available to support plant growth.

Results showed that reclaimed landscapes generally experienced less fluctuation in water table fluxes compared to natural settings. The addition of fine-textured reclamation material helped moderate water movement and created more stable conditions for vegetation establishment. Notably, upward flux from the water table— critical during dry periods— was only significant in scenarios with shallow water tables (2 m) and adequate reclamation cover. This highlights the importance of maintaining a water table depth of at least 4 m in order to minimize the risk of salinity impacts from upward groundwater flow, especially during prolonged dry cycles.

By using HydroGeoSphere to analyze these complex interactions over decades of climate variability, the study provides valuable guidance for designing effective reclamation strategies in oil sands regions. The findings emphasize the importance of soil texture, cover thickness, and water table depth in developing sustainable post-mining landscapes that can support long-term forest regeneration and minimize ecological disturbance.

Abstract:

Reclamation of mined areas in the Athabasca oil sands region is required by law, with the ultimate goal of revegetating to species characteristic of predisturbance native plant communities. To develop adequate reclamation strategies, an analysis of soil water dynamics is of utmost importance, as is understanding the impact of the thickness of the reclamation cover. In this work, soil water dynamics and fluxes at the water table were simulated for three reclamation scenarios and compared with the fluxes obtained for natural conditions assuming that aspen is the target reclamation species. According to the simulations, a reclamation thickness between 0.5 and 1.0 m can be used to provide water for revegetation. The numerical simulations show that the reclaimed landscapes have fluxes at the water table that exhibit less fluctuation than natural conditions. To limit the interaction between the water table and atmospheric fluxes, and to limit upward flux, the water table should be deeper than 2.0 m on reclaimed landscapes that use aspen for revegetation, particularly when reclamation takes place during a dry climatological cycle.

CLICK HERE TO READ THE ARTICLE.

Kitchener Panthers

Panthers drop low scoring affair

KITCHENER - Call it a missed opportunity.

The Kitchener Panthers, down by two, had the bases loaded with nobody out in the bottom of the ninth.

Former Panther Jorge De La Cruz came in, and other than a wild pitch to score a run, was able to limit the damage and close out a 4-3 win for the visiting Brantford Red Sox Thursday night.

Yosuke Fujie hit a two-run single in the fourth to give Kitchener a 2-0 lead.

But the Red Sox got it close, an RBI double from Christian Ortega made it 2-1.

In the seventh, Rene Tachioka hit a ball deep to right field. 

It looked as if Yosvani Penalver made a catch at the wall, sacrificing his body. Turns out the ball was over the fence for a two-run home run, and Penalver was down for several minutes but would stay in the game.

Brantford added an insurance marker in the ninth.

Runta Osawa was consistent, nabbing three hits for Kitchener, who had trouble with the Brantford pitching staff.

Nicholai Arbach struck out eight in five innings of work. Colbey Klepper got the win, fanning five more in three innings and only gave up two hits.

Andy Vargas took the loss. He gave up three runs on six hits in seven innings, striking out five and walking three.

Kitchener heads out on the road for three games. Saturday in Chatham-Kent, Sunday in Brantford and Canada Day down Highway 7 in Guelph.

The next home game for the Panthers is Thursday, July 3 against the Barnstormers at 7:30 p.m.

GET YOUR TICKETS NOW and #PackTheJack!

BOXSCORE

artsfols

The Doll Sisters - Elijah's Rain

-/-

Cordial Catholic, K Albert Little

What Catholics Believe About Mary Can Be Found in the BIBLE (w/ Deacon Frank)

-/-

Code Like a Girl

Top Mistakes I Made in My First Year as an SDE

And how I’d do it differently now, two years in

Continue reading on Code Like A Girl »


Centre in the Square

The 2025/26 Season Is Here — See What’s Coming to Centre In The Square

The stage is set for an unforgettable 2025/26 season at Centre In The Square. With a bold, wide-ranging lineup of music, theatre, dance, comedy, and cultural experiences, this year’s programming offers something for every kind of arts lover!

To celebrate the season launch, The Record recently featured an article highlighting what audiences can look forward to — from iconic Canadian acts and international touring productions to new work by emerging voices in our Studio Theatre. It’s a season designed to entertain, inspire, and bring our community together.

Read the full article below to get a closer look at what’s in store:
Explore the 2025/26 season preview at The Record

Tickets are on sale now. We look forward to welcoming you this fall.


Elmira Advocate

"CLEANUP LAUNCHED AFTER ELMIRA CHEMICAL FACTORY TAINTS FARM NEXT DOOR" - K-W RECORD

 

"Lanxess has speculated that years ago, toxic chemicals called dioxins and furans were blown onto the farm by wind, or washed there by rain." This is a statement Jeff Outhit (reporter)wrote and was  published in the January 4, 2019 Record . Of course it was but one of many over the decades that raised hopes that Uniroyal/Lanxess were going to do the right thing by both local residents and other downstream lifeforms.

It was not to be. Exercising their uncanny ability to contort truth and facts until they are unrecognizable, Lanxess have dogmatically insisted that they have examined the whole site. Perhaps this harkens back to their former environmental engineer, Jeff Merriman who ingenuously suggested that his world class nose and eyes could pick out sub-surface contamination with ease. No need for professional testing here folks as I (Jeff) declare that all is well. 

Polluters like Uniroyal/Lanxess have learned how to battle stubborn pollution with words when they are unwilling to do the cleanup necessary. For example :  "Soil tests have found a shallow ribbon of contaminated dirt on the farm, up to 500 metres long but limited to the top 15 centimetres and less than nine metres from the factory boundary." Isn't that just amazing. Perhaps the senior Mr. Stroh had put a sign on his property advising that " The premises are monitored 24/7 and any incursions by free flowing liquid toxic wastes past the nine metre mark will immediately result in a manure barrage." or some other equally insidious deterrent. Or perhaps the senior Mr. Stroh had buried sensors along his property line with Uniroyal/Lanxess deeper than 15 centimetres (5.9 inches) which threatened a barrage of contaminated earthworms would be unleashed upon the company. 

The facts are clear. Lanxess have NOT properly sampled or tested the Stroh farm because they are afraid of the truth. They continue to lie and hide behind the Min. of Environment (MECP) as well as Woolwich Council who clearly have been indoctrinated into believing that they must support Uniroyal/Lanxess's verbal nonsense no matter the reality.. 


Andrew Coppolino

Gen Z farmhands work Jardin Boulay Garden

Reading Time: 3 minutes


Amid the 100 acres of farm in Saint-Pascal-Baylon, a few minutes outside Rockland, I see and hear a group of farmhands pounding stakes into the ground for a trellis system on which will grow cucamelons.

Also, known as “mouse melons,” the grape-sized fruits look like tiny, cute watermelons and are one of dozens of crops growing at Jardin Boulay Garden, owned by Mary Lynn Boulay.

The work of pounding the stakes is certainly not cute in the blasting sun of the day, however. Atop the ladder, Olivia Romeo wields a heavy maul with sister Sophia Romeo and Jardin Boulay Garden co-farmer Stephane Berube – Boulay’s husband – holding the ladder steady.

What is perhaps unique about the Romeo sisters, who live a only a country-lane or two away from the farm, is that they love the work of farming, though they have real no real interest in becoming farmers: Olivia, 21, is a university psychology student, while Sophia, 22, works at an area grocery store.

Young farm hands working the land
The pair, who have worked the farm for several years, simply love tending to the fields and crops and helping grow food that the community eats. I admire their work ethic in the blasting sun and humidity.

“I like working hard. It’s rewarding,” Olivia says, with Sophia agreeing. “And at the stand selling, there’s the social aspect and getting to see different people from the community. It’s good relationships.”

♦Mary Lynn Boulay and her apple trees (Photo/andrewcoppolino.com).

With small family farms being consolidated into larger corporate entities and with fewer kids wanting to take over the family business of agriculture, it’s encouraging to see young people like the Romeos – essentially Gen Zs – caring about how their food grows and where it comes from.

For her part, Boulay stresses the importance of her farmhands for helping the farm tend the fields and sell the resulting produce at their market stand at the corner of Laurier and Giroux streets in downtown Rockland starting again in a couple of weeks.

“They are very good workers. They’re out here working hard and giving it their all. I depend on them,” Boulay says.

The farm grows blueberries, strawberries, raspberries, blackberries, cabbage, Brussels sprouts, cauliflower, broccoli, kale, tomatoes and just started cherries.

♦Lettuces and brassicas on their way July 12 (Photo/andrewcoppolino.com).

Standing over a field of green spiky leaves, Boulay hands me a fresh garlic scape from a hardneck garlic plant: I snap off a piece and the aroma of garlic released is immediate.

“I’ll be cutting them this weekend,” she says. “All the energy and water then leaves the scapes and goes to the garlic bulbs.”

Near the house, a handful of apple trees will produce the popular Honeycrisp and the venerable McIntosh, among other varieties.

A few metres from the greenhouse, where the season’s crops get their start as tiny sprouts in little plastic trays, is a peach tree with small cucamelon-sized peaches just starting to appear.

“I plant them, water them and transplant them. After that, I have to rely on Mother Nature,” says Boulay.

No farmers means no food
It’s likely that even few customers who shop farmers’ markets and market stands – and know they are buying produce from the farmer – recognize at least somewhat the difficulties and essential hard work in hot conditions that farmers face.

“Most people when they come up to the stand, you know, don’t really know everything that’s gone into what vegetables or fruits we’ve grown,” says Boulay.

Her message, therefore, is a very simple one: support farmers because without them there would be no food …

For more, visit Andre Paquette Editions.

Check out my latest post Gen Z farmhands work Jardin Boulay Garden from AndrewCoppolino.com.


James Davis Nicoll

From the Id / Golem100 By Alfred Bester

Alfred Bester’s 1980 Golem100 is a stand-alone near-future science fiction novel.

In the vast, overpopulated, resourced-strapped squalid megalopolis of tomorrow known as the Northeast Corridor, eight bored rich women — the ​“beeladies” — entertain themselves with innocent Satanism. What possible harm could come from dabbling in forces beyond their pampered ken?

Subadar Adida Ind’dni, confronted with a series of grotesque murders, might be able offer insight into the matter.



Github: Brent Litner

brentlintner starred dustinkirkland/byobu

♦ brentlintner starred dustinkirkland/byobu · June 26, 2025 00:46 dustinkirkland/byobu

text window manager, shell multiplexer, integrated DevOps environment

Shell 1.4k Updated Mar 30

Github: Brent Litner

brentlintner starred google-gemini/gemini-cli

♦ brentlintner starred google-gemini/gemini-cli · June 25, 2025 21:13 google-gemini/gemini-cli

An open-source AI agent that brings the power of Gemini directly into your terminal.

TypeScript 30.3k 2 issues need help Updated Jun 27


Jen Kuntz

End of my MVP journey

It is said that all good things must come to an end. I did not apply for renewal [1] for the Microsoft MVP award, and as a result, I will no longer be part of the program as of the end of June 2025.

Why am I not applying for renewal?

There are many reasons; no single reason stands out above the rest, but it is the collection of things that made it clear it was the right time for me to withdraw from the program.

Part of it is I have had a challenging year over the timeframe that this renewal period covers, which I've written about in the past. Family obligations are continuing to take up a lot of my time. I could have applied for "consideration" if that was the only thing that prevented me from contributing this year, but it's not, and I don't want to be awarded if I don't deserve it.

Part of it is more related to simply outgrowing the program and needing to focus on other parts of my life. I am no longer as eager and willing to spend my personal time researching and writing blog posts, which also requires time to invest in keeping up with the constantly changing product environment.

I will continue to blog (occasionally), although it might start to be less product-focused and more random musings on both business and personal topics.

Thank yous

I wouldn't have even been a Microsoft MVP in the first place without the support of a generous community of Microsoft Dynamics GP folks. Belinda Allen, first and foremost, who nominated me, and Victoria Yudin and David Musgrave, who graciously shared their blog space(s) to share my blog at a time when I was first getting into sharing my knowledge.

I would be remiss if I didn't also thank Betsy Weber and Rie Merritt for their tremendous support at various times over the years. Betsy was my "CPM" (Community Program Manager [2]), and someone I loved working and interacting with. Rie leads the Data Platform community, including MVPs, and was fabulous to work with, too. I've loved getting to know both of them as well as many others over the years.

The start of my journey

I received this email 9 years ago, stating that my good friend, Belinda Allen, had nominated me for the Microsoft MVP Award. I remember being stunned at the time!

I was officially awarded my first Microsoft MVP award on Oct 1, 2016, and wrote about that here: Becoming a Microsoft MVP for the first time. If I was stunned at the time of being nominated, I was even more speechless when I received this email. So many emotions - happiness, excitement, validation, and feelings of being an impostor in a group of highly recognized community members, too!

From that point on, it has been a blur. There's a lot of email, Teams chats, meetings with product groups (optional but part of how you engage and give feedback), and seemingly constant tracking and documenting of contributions for renewals; it never stops. There are many benefits, I don't want to dismiss those, but ultimately, to get the award, you are volunteering your time and energy to give back to the community.

9 years, 8 awards?

My first award period covered Oct 1, 2016, to June 30, 2018, 21 months! I happened to be awarded just prior to a re-org where the renewals were centralized to a once-a-year timeframe and a lot of us were in this weird limbo period. So, I have 9 "rings" on my MVP Award trophy, but was only awarded 8 times.

♦Transition to new award categories

Up until last year, I was in the Business Applications award category, as a Dynamics GP MVP. At some point midway through my tenure as an MVP the program stopped referencing specific products within the category so we were all just "Biz Apps" MVPs. This past year, I was in two award categories - M365 and Data Platform - for Excel and Power BI, respectively.

I am thankful for how welcoming the folks in the “new” categories (to me) were, as a relatively long-time MVP but new in those categories. I feel, though, that I never made a dent in the new award categories, having barely gotten started with more active contributions there.

The benefits of being an MVP are tremendous, and I will miss a lot of them. The access to information and people is priceless. As much as the level of information we get can be a firehose, and it was difficult to keep up, I will miss it when it’s gone, I’m sure. All in all though, it’s the right decision and I’m completely OK with no longer having the MVP credentials to my name.

Footnotes

[1] The Microsoft MVP Award is an annual award, based on your contributions for the previous 12 months. At the end of March each year, those of us "up for renewal" need to apply for renewal. There is a cutoff each year so that newly awarded MVPs in recent months don't have to apply for renewal so early in their tenure, but generally it is everyone else that needs to apply. There is no rubber stamp (or shouldn't be). It is expected that we log our contributions throughout the year, and provide documentation to support our contributions - blog stats, podcast viewership, proof of presentations or whatever the contribution types are. The MVP Award team(s) review this, and in early July each year, the MVPs are notified whether they are renewed or not. Each year, we need to re-sign the NDA agreement to accept the award.

[2] CPMs are the connection within the Microsoft MVP Award program for us as MVPs for the program itself, outside of the product groups and specific award category folks we interact with.


Code Like a Girl

How Learning to Code Changed My Career Path

Why Python Took Over My Life (in a Good Way)

Continue reading on Code Like A Girl »


Code Like a Girl

This Sklearn Tool for Feature Selection Is a Must-Know for Every ML and Data Science Professional

♦Photo by Nick Morrison on Unsplash

While working on a machine learning project, I came across an exciting Python library designed to identify the most important features in a dataset. This is incredibly valuable. I encourage you to read the full article to learn more about this powerful tool — it could help you make a strong impression on your seniors and enhance your project outcomes.

The core concept revolves around Recursive Feature Elimination (RFE) for feature selection. To be honest, I had not used it before and was truly impressed by its ability to identify and select the most relevant features for model training in a systematic and comprehensive manner.

What is RFE?

RFE (Recursive Feature Elimination) is a feature selection technique that:

  1. Fits a model (like Logistic Regression).
  2. Ranks features by importance based on the model’s coefficients or feature importances.
  3. Eliminates the least important features, one at a time, recursively.
  4. Stops when the desired number of features is selected.

The goal of using RFE isto reduce dimensionality by selecting only the most relevant features, improving model performance and reducing overfitting.

Models RFE Can Work With:

RFE (Recursive Feature Elimination) is a technique that removes less important features one by one until it finds the best subset.

But to decide which features are important, it needs help from a machine learning model (called an estimator in scikit-learn).

That model must tell RFE how important each feature is — and it does that using attributes like:

  • coef_ → used in linear models (like Linear Regression or Logistic Regression)
  • feature_importances_ → used in tree-based models (like Decision Trees or Random Forests)
Think of it like this:

Imagine you have a teacher (the ML model) helping to grade students (the features).
To help RFE, the teacher must be able to give scores to each student, telling how well they’re doing.

These scores are given through:

  • coef_ → for models where coefficients show importance. It tells you how much each feature (column) contributes to the prediction.
  • feature_importances_ → for models where features affect decision splits, used in tree-based decision models. It shows how important each feature is in making decisions (splitting the tree).

If a model doesn’t give any scores, RFE can’t know which features to remove!

In short, RFE can only work with models that provide information about how important each feature is — and that’s done using coef_ or feature_importances_ attributes.

In short, we can use RFE with models like Logistic Regression (coef_) , Random Forest(feature_importances_), Decision Tree(feature_importances_) , SVM(Linear Kernel , coef_). But not with models like K-Nearest Neighbours. It just stores the data and makes predictions by looking at the ‘k’ nearest neighbours when you give it a new input. There’s no equation or tree built where features are ranked or weighted. KNN treats all features equally (unless you manually weight them), and you cannot rank features based on importance.

Practical Implementation

Let’s take an example of Logistic Regression to build a model using RFE and explore some of its key attributes. I am not taking the whole project explanation for Logistic Regression, just digging into RFE. I have used the banking dataset of Kaggle.


from sklearn import datasets
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

logreg = LogisticRegression()

rfe = RFE(estimator = logreg, n_features_to_select = 18)
rfe = rfe.fit(data_final[X], data_final[y] )
print(rfe.support_)
print(rfe.ranking_)
Code Explanation
from sklearn import datasets
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

logreg = LogisticRegression()

In the initial lines of code, we have imported the sklearn libraries RFE from sklearn.feature_Selection and LogisticRegression from sklearn.linear_model.

logreg is a variable for logistic regression to be used inside the RFE for model selection.

rfe = RFE(estimator=logreg, n_features_to_select=18)

In the above line rfe a variable where RFE() is initialized with:

  • estimator = logreg: The estimator or the model used to evaluate feature importance.
  • n_features_to_select = 18: The number of top features you want to select.

RFE will recursively remove features until only 18 remain.

Parameters of RFE
  1. estimatorEstimator instance

A supervised learning estimator with a fit method that provides information about feature importance (e.g. coef_, feature_importances_).

2. n_features_to_selectint or float, default=None

The number of features to select. If None, half of the features are selected. If integer, the parameter is the absolute number of features to select. If float between 0 and 1, it is the fraction of features to select.

You can read more about this from the source I have taken information.

rfe = rfe.fit(data_final[X], data_final[y])
# data_final[X]: The input features.
# data_final[y]: The target variable (label column).

This line fits the RFE process:

  • Trains the logistic regression on all features.
  • Eliminates the weakest feature (least important) one at a time.
  • Repeats until only the top 18 remain.
rfe.support_
print(rfe.support_)
output = [False False False False True False False False True False False True
False False False True False True True False False False False False
False False False False False False False False True False False False
False False False False False False True True True True False False
True True True True False False True False False False True False
True]
  • This prints a boolean array.
  • Each element corresponds to a feature in data_final[X].
  • True means that feature was selected.
  • False means that feature was eliminated.
rfe.ranking_
print(rfe.ranking_)
output = [38 33 12 35 1 16 26 21 1 32 6 1 10 37 39 1 40 1 1 25 31 42 36 30
15 43 4 5 41 11 29 7 1 23 44 34 13 14 27 18 17 19 1 1 1 1 3 20
1 1 1 1 24 28 1 9 8 2 1 22 1]
  • This prints the ranking of all features.
  • The selected features (top 18) have a ranking of 1.
  • A Higher Number indicates a less important feature .

In a nutshell rfe.rankinng output is a list of integers, one per feature(in the same order as our input feature data_final[x]).

  • A ranking of 1 means that the feature was selected by RFE (ie one of the top n_features_to_select features).
  • A ranking > 1 means that the feature was not selected, the higher the number, the earlier it was eliminated during the recursive process.

Take an instance if data_final[X].columns is: [‘age’, ‘balance’, ‘duration’, ‘job’, ‘marital’]

data_final[X].columns #['age', 'balance', 'duration', 'job', 'marital']

print( rfe.ranking_) # Output = [1, 2, 1, 3, 1]

Then:

  • 'age', 'duration', 'marital' were selected (ranking = 1)
  • 'balance' and 'job' were not selected (ranking = 2, 3)
Step Parameter in RFE

In sklearn.feature_selection.RFE, the step parameter controls how many features are removed during each iteration of the recursive elimination process.

There are two ways to use step parameter

Integer Value (step >= 1)

  • Specifies the number of features to remove in each iteration.
RFE(estimator=logreg, n_features_to_select=5, step=2) 
# Removes 2 features per iteration, until 5 features remain.

Float Value Between 0.0 and 1.0

  • Interpreted as a percentage of remaining features to remove in each iteration.
  • The percentage is rounded down to the nearest integer.
RFE(estimator=logreg, n_features_to_select=5, step=0.2)
# Removes 20% of the features each time.

To explain this removal of columns using percentage, I have asked ChatGPT it has given a good table to understand its workin,g which I am attaching here.

When step is a float between 0.0 and 1.0, like 0.2, it is interpreted as a percentage of the remaining features to remove in each iteration. It removes 20% of the current remaining features, rounded down to the nearest integer.

If a larger step is there, it means faster execution but less granular selection.

On the other hand, a smaller step means slower but more accurate feature selection (especially if feature importance changes a lot as features are removed). If step is too large, RFE might remove an important feature too early.

Final Thoughts

RFE is a powerful tool for feature selection, helping to improve model performance and interpretability.

I conducted thorough research using various online sources, including Google and ChatGPT, to gain a comprehensive understanding of the topic.

If you found this helpful, follow me on Medium and give the post a like!

Your feedback means a lot and motivates me to share more 🚀. Thanks for reading!

This Sklearn Tool for Feature Selection Is a Must-Know for Every ML and Data Science Professional was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.


Code Like a Girl

Habits That Undermine Your Leadership Presence

Leadership presence is not what you think you’re projecting — it’s how others experience you. It’s the unspoken authority that draws…

Continue reading on Code Like A Girl »


Cordial Catholic, K Albert Little

Could you find your Church in a Time Machine? #catholicchurch #apologetics #BibleStudy #Christian

-/-

Elmira Advocate

JANUARY 4, 2019 - K-W RECORD PUBLISHES CLEANUP STORY ON STROH FARM IMMEDIATELY BESIDE UNIROYAL/LANXESS CANADA

 

The reporter was Jeff Outhit and he did a good job in letting the public know that the cleanup was neither extensive nor comprehensive. He quoted Sebastian Seibel-Achenbach who referred to Lanxess's story about wind blown dioxins and or rain washed dioxins ending up on the Stroh farm as being "self-serving". While Sebastian is correct, the rain washing dioxins and more onto the Stroh farm does actually validate the fact that gravity flowing toxic liquid wastes travelled eastwards onto the Stroh farm. This also reinforces yesterday's Blog post and many others in which Uniroyal toxic wastes ended up on the Stroh property. The title of this January 4, 2019 story is "Cleanup launched after Elmira chemical factory taints farm next door". 

What has long surprised me is that neither Health Canada nor any provincial or federal food agencies have ever seemed the least bit interested in these highly toxic various chemicals entering our food supply. Above and beyond cattle producing both milk and beef on the farm, the immediate contaminated property has produced both corn and soybeans for decades.  Whether these are for direct human consumption or for indirect consumption via cattle feed, these are serious health issues. When non-smokers and non-drinkers not exposed to toxins on the job get cancers then it becomes obvious that their exposures are from the air they breathe, the water they drink and the food they eat. 

Thank you Uniroyal, Lanxess, MECP and local politicians for your inattention. 


KW Habilitation

June 25, 2025: What’s Happening in Your Neighbourhood?

♦The Hangout Market Days
Thursdays July 3 to Aug 28
9:00 AM – 12:00 PM
FREE
The Hangout at Grant’s Café – 99 Ottawa St. S, Kitchener

We hope you are excited to come out and support some local talented people at our weekly Thursday markets at The Hangout! There will be a variety of handmade items for sale. These markets will be rain or shine. Tables will be placed underneath the overhang along the side of the building. Don’t forget to pop into the café and say hello between 8:30 AM and 11:00 AM! We still have some vendor spots left. You can sign up for a free vendor table at the link below!

Click here to register as a vendor

 

Canada Day at Bingemans
Sunday, June 29
5:00 PM – 10:00 PM
FREE
Bingemans – 425 Bingemans Centre Dr. Kitchener

Celebrate Canada Day early with us on at Bingemans. Kick off the evening at 5:00 PM with a live DJ and lawn games, then catch The Almost Hip (World’s longest-running Tragically Hip tribute band) live at 7:00 PM. Stick around for Southwestern Ontario’s largest fireworks show, lighting up the sky at dusk. Food and drink specials will be available all evening. Bring your own lawn chairs and come early to grab a good spot and parking.

Click here for more info

 

♦Drag Bingo at AOK
Tuesday, July 1
7:00 PM – 10:00 PM
FREE
AOK Craft Beer + Arcade – Unit B03 – 165 King St. W, Kitchener

Hosted by Peach Blossom & Ultra Violet!!! The event is 19+. Pre-registrater by June 30th to be entered for a door prize, must be present to win. Play for bragging rights and for a selection of prizes donated from local businesses. Bring some tip money for the performers and a winning spirit, and it is sure to be a fantastic night. If you have been wanting to get more connected to the local queer community, this is a great place to start. See you soon!

Click here for more info

 

♦♦♦

Waterloo Community Picnic♦
Tuesday, July 1
4:00 PM – 10:00 PM
FREE
Waterloo Park – Near the Bandshell

Spend the afternoon on the West side of Waterloo Park with local performers, food trucks and giant games. Browse all sorts of local vendors at the Art Market. Finish the evening with a spectacular LED drone show that will light up the sky.

Click here for more info

 

Canada Day in DTK
Tuesday, July 1
4:00 PM – 11:00 PM
FREE
Carl Zehr Square – 200 King St. W, Kitchener

Enjoy live musical performances on an outdoor stage from Rebekah Stevens, Grace Too, Terra Lightfoot and Juno Award winners Sloan. You will be surrounded by food trucks, patios and a licensed bar area by the stage. The evening will end with a dazzling pyrotechnics display that will fill the sky with light, colour and sound.

Click here for more info

 

KPL Green: Forest Heights Hike
Saturday, July 5
10:00 AM – 11:00 AM
FREE – Registration Required
Westheights Public School – 429 Westheights Drive.

This leisurely walk will follow a gentle path as it meanders through delightful hardwoods, typical of urban forests of our area. A pond may also yield several natural delights including Red-winged Blackbirds, Midland Painted Turtles, amphibians and more. We will be on a journey of discovery together!

Click here for more info

 

Family Yoga In The Park
Sundays, July 6, 13, 20, 27
4:30 PM – 5:30 PM
FREE
Civic Centre Park – 100 Queen St. N, Kitchener

Join us for fun, interactive Family Yoga in the Park. We’ll move, play and connect with our breath and with each other. Using animal and nature themes, we’ll explore poses, stretches and mindfulness. Bring your own mats, borrow one of ours, or practice on the grass. Yoga will be followed by a community hangout. Bring a picnic and blanket, spend time with others and enjoy the simple magic of the trees and park.

Click here for more info

 

Kitchener Latin Heat Fridays
Friday, July 4
7:00 PM – 11:00 PM
FREE
Carl Zehr Square – 200 King St. W, Kitchener

Downtown Kitchener, the City of Kitchener and TenC Dance Co are collaborating again for a 3rd summer full of heat and flavour. Put on your dancing shoes and join us for Salsa, Bachata and Merengue. This is a Rain or Shine event! We will be in the City Hall Rotunda if it’s a rainy day.

Click here for more info

 

♦Roller Skating
Mondays (June 16 – Sept 29)
7:00 PM – 10:00 PM
FREE
Carl Zehr Square – 200 King St. W, Kitchener
Click here for more info

Show and Shine Classic Car Mondays
Mondays June 16 to Sept 15
6:00 PM – 8:30 PM
563 Highland Rd. W, Kitchener
Click here for more info

Live at Lunch
Tuesdays and Thursdays until Aug 28
12:00 PM – 1:00 PM
FREE
Carl Zehr Square – 200 King St. W, Kitchener
Click here for more info

The post June 25, 2025: What’s Happening in Your Neighbourhood? appeared first on KW Habilitation.


James Davis Nicoll

Pet Sounds / Pet Shop of Horrors, volume 1 By Matsuri Akino

1995’s Pet Shop of Horrors, Volume One is the first tankōbon of Matsuri Akino’s horror manga series. Pet Shop of Horrors was first serialized in Ohzora Publishing’s Apple Mystery, then in Bunkasha’s Horror M; it ran from 1994 to 1998. The most recent English-language edition is 2025.

Pet shops can be found throughout Los Angeles, but those craving truly exotic pets seek out the mysterious Count D’s Chinatown establishment. Or, if they have any sense of self-preservation, they stay well away.


Github: Brent Litner

brentlintner starred brendan-duncan/archive

♦ brentlintner starred brendan-duncan/archive · June 24, 2025 20:18 brendan-duncan/archive

Dart library to encode and decode various archive and compression formats, such as Zip, Tar, GZip, ZLib, and BZip2.

Dart 446 Updated Jun 16


Elmira Advocate

A LITTLE DISAPPOINTED THAT THE STROH PROPERTY WAS NOT RAISED AT LAST THURSDAY'S TRAC MEETING

 

I know that interest had been renewed due to the Lanxess site tour in early May. I also know that inaccurate statements were made by Lanxess representatives to diminish the credibility of gravity flow of Uniroyal Chemical toxic liquid wastes over to the Stroh property. Of course it has become obvious over the decades that Uniroyal/Crompton/Chemtura and Lanxess are extremely adept at making, polishing and gilding falsehoods until they shine brightly. Then by repeating them over and over again even normally skeptical people can be slowly brought around. Maybe not fully but at least to the point where they know that disputing certain falsehoods is a waste of time. If propaganda worked for Dr. Goebbels then why not for chemical companies as well?

The most obvious proof positive versus mere evidence is both the finding and removal of dioxins/furans and DDT on the Stroh farm next to the Lanxess property line in 2019. Yes it was a typical polluter's Mickey Mouse "cleanup" but at least it proved that Uniroyal crap flowed over to the Stroh property/farm. Further very strong evidence would include the detections of dioxins/furans in the Stroh Drain at about 30 times greater than the federal criteria for sediments afterwards . 

Finally no one from the MECP to Lanxess have ever clarified how NDMA was found in a deep Municipal Aquifer well a couple of hundred metres cross gradient and a little upgradient from Uniroyal/Lanxess.

Of course it is very helpful when both politicians and media know their place in the food chain and are careful not to rock the boat or the gravy train.


Greater Kitchener Waterloo Chamber of Comerce

Employee Engagement Award Winner: Libro Credit Union

On Thursday, March 20, 2025, the Greater Kitchener Waterloo Chamber of Commerce hosted the 2025 Business Excellence Awards Gala, presented by Cowan Insurance Group. The Waterloo Region business community, local dignitaries, and community ambassadors came together to honour the extraordinary contributions of more than 130 nominees across 14 categories.

Congratulations to Libro Credit Union on winning the Employee Engagement Award. This honour is dedicated to the company that puts their employees first and ensures strong growth of their valued staff.

Libro Credit Union continually demonstrates a strong commitment to employee growth and development. Key initiatives like the DiSC Training, a widely recognized personality assessment tool completed, helped enhance communication, teamwork, and self-awareness, for nearly 700 team members. Programs such as Beyond Libro and the Mentorship Program support career growth and internal community building. Libro Credit Union also demonstrates a strong commitment to employee wellness. They expanded their mental health benefits by over 300% since 2019, ensuring staff have access to counseling and therapy services for themselves and their families.

Libro Credit Union prioritizes diversity, equity, and inclusion, with ongoing training on unconscious bias and inclusive hiring practices to ensure a welcoming environment for all employees. These initiatives have helped increase staff engagement, with 91% of employees expressing comfort in speaking up against discriminatory behaviors. Libro Credit Union has set a benchmark for organizational excellence, creating a culture of inclusivity, employee empowerment, and innovation.

The post Employee Engagement Award Winner: Libro Credit Union appeared first on Greater KW Chamber of Commerce.


Code Like a Girl

Forget Building a Second Brain. I Just Wanted My First One Back.

Chemo saved my life, but it also stole my spark. Here’s how I reclaimed it.

Continue reading on Code Like A Girl »


Code Like a Girl

Deadlocks: When Threads Get Stuck Forever

What happens when threads refuse to let go, and how to stop them from freezing your program.

Continue reading on Code Like A Girl »


Code Like a Girl

I Thought I Was Stronger Than This

Corporate America Chewed Me Up. So I Built Something Better.

Continue reading on Code Like A Girl »


Aquanty

HGS RESEARCH HIGHLIGHT – Reactive transport modelling of acid mine drainage within discretely fractured porous media: Plume evolution from a surface source zone

Molson, J., Aubertin, M., & Bussière, B. (2012). Reactive transport modelling of acid mine drainage within discretely fractured porous media: Plume evolution from a surface source zone. In Environmental Modelling & Software (Vol. 38, pp. 259–270). Elsevier BV. doi.org/10.1016/j.envsoft.2012.06.010

“One of the more advanced models for simulating flow and transport through porous and discretely fractured porous media is HydroGeoSphere (and its predecessor FRAC3DVS; Therrien and Sudicky, 1996). Adaptations of this code have recently been applied to simulate reactive systems (Ghogomu and Therrien, 2000; Graf and Therrien, 2007) and for simulating groundwater flow around tailings-filled mining pits within fractured rock (ben Abdelghani et al., 2009).”
— Molson, J., et al., 2012 ♦

Figure. 1. Validation of the discrete fracture approach in the AMD transport model for a conservative solute: (a) 400-day concentration contours in the plane perpendicular to the fracture, (b) A comparison of longitudinal profiles from the numerical and CRAFLUSH analytical model (Sudicky and Frind, 1982), and (c) Comparison of transverse profiles at 400 days, at depths of 3, 6 and 9 m. For clarity, not all numerical data points are shown.

CLICK HERE TO READ THE ARTICLE.

Summary:

We’re pleased to highlight this publication by J. Molson, M. Aubertin, and B. Bussière, which focuses on simulating the fate and transport of acid mine drainage (AMD) through fractured porous media using a discrete fracture network (DFN) modelling approach. This research addresses a critical environmental challenge in mining regions— predicting how acidic contaminants generated by sulphide mineral oxidation migrate through complex geological formations and interact with host rocks over time.

The study introduces POLYMIN/DFN, a new numerical modelling tool designed to simulate reactive transport of AMD within a saturated, fractured porous medium. The model accounts for multi-component advective-dispersive transport, geochemical speciation, and water-rock buffering reactions. It specifically examines how AMD infiltrates from a surface waste source, such as tailings, into a silicate-rich fractured host rock. The model was validated using analytical solutions and then applied to conceptual field-scale simulations incorporating various fracture densities, matrix porosities, and mineral compositions.

Key findings show that fracture networks strongly influence AMD plume evolution. Compared to traditional equivalent porous media (EPM) models, DFN simulations revealed longer, more dispersed plumes and significantly earlier contaminant arrival times— highlighting the importance of explicitly representing fractures in predictive models. The research also demonstrated how diffusion-limited buffering reactions within the porous matrix can moderate pH drops and control the extent of mineral dissolution and precipitation, particularly for calcite, siderite, gypsum, and ferrihydrite.

Although the model assumes geochemical equilibrium for most reactions, which may not capture slower silicate weathering processes, it offers valuable insight into the long-term behavior of AMD plumes and the limitations of simplified modelling approaches. The results highlight how fracture connectivity, aperture variability, and matrix diffusion all play pivotal roles in contaminant migration.

By advancing modelling capabilities in fractured media and bridging geochemical and hydrological processes, this study contributes to better environmental risk assessments and mine waste management strategies. It also sets the stage for future development of reactive transport models that incorporate kinetic reactions and 3D fracture representations, enhancing our ability to protect groundwater resources in complex mining environments.

Abstract:

A numerical model is developed for investigating the transport behaviour and geochemical evolution of acidic mine drainage (AMD) in discretely fractured porous media. The simulation approach is tested using a conceptual model of a reactive mine waste system in which an active source of AMD overlies a fractured silicate-rich porous host rock with a low but non-zero matrix permeability. Source composition is based on measured data from an existing mine tailings site. The numerical model includes groundwater flow, AMD infiltration, multi-component advective-dispersive transport, equilibrium geochemical speciation and water-rock pH-buffering reactions within a discrete fracture network (DFN). An analytical solution for parallel-fractures is used to verify the model, which is then applied to simulate the evolution of pH, the major aqueous species from the AMD source, as well as selected mineral buffers. As the acidic drainage water infiltrates into the initially uncontaminated fracture networks, high concentration gradients develop within the matrix along fracture interfaces inducing diffusion-limited pH buffering and precipitation of secondary minerals within the rock matrix. A comparison of AMD evolution in three fracture networks shows that even within a densely fractured network, AMD plume evolution can be significantly different from that obtained from assuming an equivalent porous medium (EPM). The paper also addresses issues of time scales and matrix diffusion. The results have implications for predicting environmental impacts of acid mine drainage in complex mining environments and for coupling of hydro-geochemical and geotechnical models. The model can also be applied to other hydrogeological systems including fractured clays and tills, to other contaminants including hydrocarbons or organic solvents, and to simulate geochemical evolution in natural flow systems.

CLICK HERE TO READ THE ARTICLE.


James Davis Nicoll

Steal Away / House of Shards (Drake Maijstral, volume 2) By Walter Jon Williams

1988’s House of Shards is the second volume in Walter Jon Williams’ Drake Maijstral comedic SF series.

Silverside Station enjoys a splendid view of a star being consumed by its companion black hole. Silverside specializes in lavish luxury. Silverside offers society’s best and brightest the chance to socialize with each other under the watchful gaze of the media.

Silverside offers Allowed Burglar1 Drake Maijstral the opportunity to steal the famed Eltdown Shard… if Drake can bypass one or two impediments.


Kitchener-Waterloo House League Baseball

Extreme Heat Game Cancellations

In response to guidance from the Inter-County Baseball Association (ICBA) and public health, we are implementing additional measures to prioritize the safety of our players and volunteers during periods of extreme heat.

Effective immediately, all games will be cancelled if the temperature, including humidity (humidex), is forecasted to feel like 40°C or higher at the scheduled start time.  All game changes and cancellations will be communicated via TeamSnap, as per our practice. 

The Backing Bookworm

The Ex-GIrlfriend Murder Club


Kat, Elle and Olivia are an unlikely trio of women who are linked to one man and find themselves in the middle of his murder investigation. Fearing they'll be the target of the police; they cover up the murder of their ex and band together to solve the crime while also trying to stay off the radar of an overzealous podcaster who is also out to solve the murder - truth be damned!
This was a good debut that has some outlandish bits, a trickle of humour (not laugh-out-loud for me), some (unnecessary) romance and Insta-Friendship between the trio. I enjoyed the focus on female friendship and the word nerd in me enjoyed learning the etymology of various idioms that are liberally sprinkled throughout the story. And while their cover-up was really gross and immature, go into this mystery expecting a fun and farcical Stephanie Plum meets Dial A For Aunties kind of murder mystery with lots of she-nanigans. 
This is a light-hearted mystery with murder, chaos, girl power and lots of mayhem with an ending that I didn't see coming.
Disclaimer: Thanks to MIRA books for the complimentary digital copy of this book that was given in exchange for my honest review.

My Rating: 3 starsAuthor: Gloria ChaoGenre: MysteryType and Source: ebook from publisher via NetGalleyPublisher: MIRA (Harlequin)First Published: June 24, 2025Read: June 17-20, 2025

Book Description from GoodReads: In this laugh-out-loud murder mystery, three women dating the same man band together to get revenge, but when they discover his body, they'll need to solve his murder before they go down for it.
The body in the closet was going to be a problem. Kathryn Hu knew it. Yes, Tucker Jones was a cheating scumbag, and yes, she’d agreed to meet Olivia and Elle—Tucker’s other girlfriends—to exact revenge for all he’d put them through… But then they found him. Dead.  

Do they look guilty? Yes.

Do they feel guilty for having wished him dead just hours before? Maybe a little.

But—solid motive and a crime scene covered in their DNA aside—they’re innocent. They swear.

To clear their names, Kat, Olivia, and Elle team up to find the real killer. But as they go undercover and lie to everyone, including the hot detective working the case, they realize that every person in their ex's life had a reason to want him dead. Will they uncover the truth before they go down for a murder they didn't commit?

Filled with humor and shenanigans, The Ex-Girlfriend Murder Club is a romp of an adventure by award-winning author Gloria Chao, perfect for fans of Dial A for Aunties, Finlay Donovan Is Killing It and John Tucker Must Die.

What you can expect in THE EX-GIRLFRIEND MURDER CLUB : Cozy Murder Mystery Full of Shenanigans Over-the-top Humor Amateur Sleuths Unlikely Female Friendships John Tucker Must Die meets Dial A for Aunties


Aquanty

HydroSphereAI Selected as Finalist for New Tech Award - Water Canada Awards

♦ Aquanty is proud to announce that our latest innovation — HydroSphereAI — has been selected as a finalist for the New Tech Award at the 2025 Water Canada Awards.

HydroSphereAI (HSAI) continues to push the boundaries of innovation in the Canadian water sector. Built to address the challenges of a changing climate, HSAI leverages artificial intelligence to improve streamflow forecasting, especially in data-poor and ungauged watersheds where traditional methods fall short. With climate change altering snowmelt timing, increasing rainfall-dominant runoff, and rendering historical rainfall-runoff patterns less reliable, HSAI offers a forward-looking solution.

HydroSphereAI seeks to fill the resource gap for streamflow forecasting technology and techniques, which are currently only available with a patchwork of programs across the country mainly servicing urban centers. Trained on a comprehensive database with a wide range of watershed attributes, HydroSphereAI is readily deployable in watersheds of all types around Canada and the world. And since HSAI is easily scalable, it represents a low-cost solution that can provide a baseline for hydrologic forecasting in communities across all regions of Canada including small, remote, Northern and Indigenous communities where traditional streamflow forecasting technology has been too difficult to deploy.

Currently in active beta testing with Conservation Ontario, HydroSphereAI is already being used to enhance decision-making across Ontario. With more than 460 forecast stations already online in Ontario and thousands more under review and ready to be deployed across Canada, we’re continuously expanding the platform’s reach and capabilities.

This year’s nomination reflects the continued evolution of HydroSphereAI and its potential to transform water forecasting for the better. By combining real-time data processing with artificial intelligence, we’re unlocking more resilient, more responsive, and more equitable water resource tools for all Canadians.

HydroSphereAI is just one part of Aquanty’s broader effort to support Canadian leadership in integrated water resource management. As we expand our platform across the country, we remain committed to delivering technologies that make a real impact in the face of climate uncertainty.

Click here to learn more about the Water Canada Awards and other 2025 finalists.

Interested in learning more?

Watch the recording of our recent webinar, "HydroSphereAI: Next-Generation Hydrological Forecasting & AI-Driven Insights for a Changing Climate", in this session we dive into how cutting-edge machine learning approaches are transforming streamflow prediction and hydrological forecasting across Canada.

Or review our latest case study evaluating HydroSphereAI performance during the spring freshet: “HydroSphereAI Case Study: Sauble River at Allenford — Spring Melt 2025“


Elmira Advocate

THEM VERSUS US ?

 

Wow! Quite the developments yesterday. A few days earlier Israel while still bombing Gaza decided to drop a few on Iran allegedly for pursuing nuclear weapons development. One of the problems I see is that various European countries as well as some international monitoring agencies haven't indicated that Iran is doing any such thing. Even some senior U.S. officials have publicly stated the same while admittedly others have said the opposite. Does anyone remember Iraq's alleged Weapons of Mass Destruction (WMD) turning out to be false? How many times can and does the U.S. lie to the world before nobody believes a damn thing they say? Oh wait that's already occurred under Donald Trump 2.0  . I'm to the point that my rule is whatever "The Donald" says I'm confident that most likely the opposite is true. Again does nobody remember the parable about the boy who cried wolf? Well that fat ars*d boy is now the President of the United States. God help us all. 

There may be some serious or not bellowing from the U.S. Congress that Trump's bombing of Iran is either illegal or unconstitutional. Again allegedly he is required to advise/consult Congress in advance. If the bellowing is serious then I commend whoever does so. If it's just posturing then everybody's time is being wasted. 

What the world should have known for centuries is that international law appears unenforceable upon the strongest countries in the world.  I have long wondered about vetoes being available to the U.S., Russia, China, etc. at the United Nations. What does that say other than all countries are equal except for those who are more equal. 

Might is right and this attitude has trickled down to all tiers of government certainly in Canada and probably throughout the world. Is it any wonder that municipal politicians guard their areas of authority so carefully? Is it any wonder that provincial Premiers do not tolerate either municipal or even federal encroachment upon their jurisdictions? Bad news folks but our politicians behaviour is constantly less based upon doing what's right and more often upon what serves their purposes which mostly is preservation of their authority. Any attempts to do the right thing which may expose political gamesmanship, pettiness or even lesser sins will not move forward. Just look at the scandal involving mercury in the English-Wabigoon Rivers (i.e. Grassy Narrows) and at the phony "cleanup" that's been ongoing in Elmira, Ontario for the past 36 years.


Cordial Catholic, K Albert Little

Two Protestants Ask: Why Do We Need a Pope?! (w/ Brandon Eaves and Chris Kellam)

-/-

Code Like a Girl

Documenting JavaScript the Easy Way

A CLI Tool I Didn’t Know I Needed and I Bet you didn’t either…♦Photo by ChatGPT

Ever been in a situation where you’re under a lot of pressure or chasing a deadline, so you thought, “I probably shouldn’t bother with thoughtful variable names or documentation right now. I’ll clean it up later.”

But you never did. One compromise becomes two, then five, and before you know it, your codebase is full of little shortcuts, vague functions and variable names that make no sense.

When you come back months later, even you can’t quite remember what that function was supposed to do. Everything is a mess, and you end up spending hours figuring out what your code even does.

We’ve all been there.

Some months ago, I thought I found a solution with JSDoc and spent some time reading a bit about it. I found it really interesting, and so naturally I decided to use JSDoc comments in all of my next projects.

JSDoc is an API documentation generator for JavaScript. It is based on a series of tags (words preceded by the @ symbol) that are used before each function or module and describe the different characteristics of the code.

But then I hit a wall. Writing the comments was one thing; actually seeing them as useful documentation was another. The standard JSDoc output felt too impractical, and I found myself rarely checking the generated docs even on my own projects.

So I built JSDocViewer. It’s a small CLI tool that can be used to generate interactive documentation for your JavaScript projects using the JSDoc format.

Building JSDocViewer

JSDocViewer started as a simple Node.js CLI. The idea was to take a folder of .js files with proper JSDoc comments, parse them with the JSDoc tool and then serve the generated documentation in a local browser.

But I wanted a bit more than the standard output. I wanted something that could really be navigated through. Grouped and styled output. A clean single-page viewer. Easy integration into any project folder.

It’s open-source and available on my GitHub. The README has all the technical details.

But here’s some value I found while building that I want to share:

Consistently adding JSDoc comments helps you communicate about your code. Even the task of having to figure out the comment you will write on top of one method will prompt you to think and to clarify your method’s purpose

But Isn’t JSDoc a Bit… Old School?

Sure, there are flashier tools. But that’s kind of the point. JSDoc is low overhead. No need for new frameworks or build tools. Just write good comments and run the generator.

Want something fancier? Pair JSDoc with themes like DocStrap or use tools like TypeDoc for TypeScript.

But even plain JSDoc can transform any project’s readability especially for team projects, open-source contributions or onboarding new engineers.

Final Thoughts

Building JSDocViewer was a fun and clearly rewarding experience that showed the importance of clear communication in coding. As I developed the tool, I realized how effective JSDoc comments can be in making code more accessible and understandable.

So, if your codebase is filled with confusing functions and unclear outputs, try adding just a few JSDoc comments. Then run a tool like mine and see what your code actually looks like to someone new.

Your future self will thank you. And so will your teammates.

Want to try JSDocViewer? Check it out on GitHub. Got questions, ideas or comments on this? I’d love to hear from you.

Documenting JavaScript the Easy Way was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.


Code Like a Girl

From the Clouds to The Cradle

Embracing shared responsibility

Continue reading on Code Like A Girl »

Kitchener Panthers

WEEKEND RECAP: Panthers lose big to end busy stretch

KITCHENER - The Kitchener Panthers capped four games in four days with a scorcher at home Sunday.

But they ended up on the wrong side of the scoreboard against its Highway 7 rival from Guelph.

The good news from the weekend is Kitchener continued its winning ways on Saturdays, picking up a W to salvage a three-game set against the Hamilton Cardinals.

SUN: ROYALS 22, PANTHERS 7

Former league MVP Garrett Takamatsu was as hot as the weather was Sunday afternoon in Kitchener.

Unfortunately, he plays for the Guelph Royals.

The former Maple Leaf hit two home runs, and drove in eight runs for the Royals. 

Former Panthers star Liam Wilson also went yard, his first dinger in a Royals uniform in the win. Andy Leader also burned his former team, garnering four hits on the day.

The Panthers erased a 5-0 deficit, but some big innings for the Royals, including five in the seventh and six in the ninth pushed Guelph over the top.

Ayad Ansari responded in the home run department for Kitchener, a two-run home run in the third that gave the home side its first lead of the game.

Yadian Martinez gave up nine runs (six earned) on 11 Guelph hits in five innings in his fourth start of the year.

The game was delayed for about 20 minutes in the seventh due to an injury to the home plate umpire, who did not return. The rest of the game was played with two umpires.

BOXSCORESAT: PANTHERS 12, CARDINALS 4

Saturday's are alright for the Kitchener Pantthers.

Kitchener scored seven runs in the first inning, and that's all they needed to snap a five-game losing skid.

Charlie Towers and AJ Karosas both went yard, while both Yosvani Penalver and Yunior Ibarra drove in three runs.

Owen MacNeil was solid, giving up just one hit and struck out seven in five innings of work for the win, avoiding a three-game sweep the makeshift series against Hamilton.

Kitchener's record on Saturdays are 3-1 this year, including 2-0 at home.

BOXSCOREFRI: CARDINALS 10, PANTHERS 6

In a game where most of the offence took place early, the Cardinals were able to claim its second straight over the Panthers, this time at Bernie Arbour Stadium.

Newcomer Runta Osawa hit a home run in his first career IBL at-bat, and Yunior Ibarra drove in three runs in the loss. Yordan Manduley went three-for-five.

Carlos Dominguez led the Hamilton attack, going four-for-five with two RBI.

Evan Elliott gave up seven runs on five hits in two innings before getting the hook. 

Steven Hospital got the win for Hamilton, giving up just two hits in three innings in relief.

BOXSCORE

Up next, the Panthers have a busy four-game week, including a three-game road trip.

The week begins at home Thursday night at 7:30 p.m. against the Brantford Red Sox.

GET YOUR TICKETS NOW and #PackTheJack!


Cordial Catholic, K Albert Little

What’s more important? Bible? Tradition? #catholicchurch #apologetics #catholic #christian #bible

-/-

James Davis Nicoll

Rule the World / The Delikon By H M Hoover

H. M. Hoover’s 1977 The Delikon is a stand-alone young adult science fiction novel.

Humanity ventured to the stars in quest of what they assumed to be their great destiny. The alien Delikon, having taken humanity’s measure, swiftly conquered the short-lived upstarts1. As humans were clearly incapable of moderating their own behavior, the Delikon constructed a capital city on Earth, Kalidor, from which they set about shaping humans to conform to civilized standards.

A very long time later, the rigid caste system appears eternal.


The Backing Bookworm

Don't Let Him In



I've been a fan of Lisa Jewell, who I've had the pleasure of meeting, for many years and several of her books I have loved (Then She Was Gone, The Family Upstairs, I Found You, The House We Grew Up In, None of This is True ...).
But Don't Let Him In wasn't her usual engaging and tense read. 
This 450 page book is a very slow burn, repetitive story about toxic relationships a male sociopath has with several women. The reader understands his MO right away - he gaslights, steals from and manipulates the women in his life - but despite evidence of his treachery, the women stay with him. 
Told in different time frames and a large cast of characters (both were hard to keep track of), this book is filled with the scheming and manipulation of a narcissist. That's it. But it was how these middle-aged women were portrayed as gullible, weak and in need of a man to succeed, that really burned my biscuits. 
Repetitive, predictable, underwhelming and longer than it had to be, this was a frustrating and disappointing read for me. Confusing with its characters, icky with its portrayal of women and its repulsive main character and lacking the big, twisty ending we've come to expect from Jewell, it hurts my book nerd heart to say that this book was a big miss for me (but I highly recommend her backlist).
Disclaimer: Thank you to Atria Books for the complimentary digital and paperback arcs of this book which were given in exchange for my honest review.

My Rating: 2 starsAuthor: Lisa JewellGenre: Suspense (?)Type and Source: Trade paperback and ebook from publisherPublisher: Atria (Simon and Schuster)First Published: June 24, 2025Read: June 9-16, 2025

Book Description from GoodReads: From #1 New York Times bestselling author Lisa Jewell, three women are connected by one man in this kaleidoscopic thriller.
He’s the perfect man. It’s a perfect lie.

Nina Swann is intrigued when she received a condolence card from Nick Radcliffe, an old friend of her late husband, who is looking to connect after her husband’s unexpected death. Nick is a man of substance and good taste. He has a smile that could melt the coldest heart and a knack for putting others at ease. But to Nina’s adult daughter, Ash, Nick seems too slick, too polished, too good to be true. Without telling her mother, Ash begins digging into Nick’s past. What she finds is more than unsettling…

Martha is a florist living in a neighboring town with her infant daughter and her devoted husband, Alistair. But lately, Alistair has been traveling more and more frequently for work, disappearing for days at a time. When Martha questions him about his frequent absences, he always has a legitimate explanation, but Martha can’t share the feeling that something isn’t right.

Nina, Martha, and Ash are on a collision course with a shocking truth that is far darker than anyone could have imagined. And all three are about to wish they had heeded the same warning: Don’t let him in. But the past won’t stay buried forever.


Ball Construction

New Preston Arena Floor Concrete Pour

-/-

Elmira Advocate

FOLLOWUP TO THURSDAY NIGHT'S TRAC MEETING

 

Agenda Item 6.0 was titled "Control Order Process and Public Engagement" .Unfortunately the "process" part far outweighs the actual public engagement. In the good old days there was Intervenor funding so that groups of citizens could hire their own experts, lawyers and consultants. Those days are long gone and instead of a Tribunal of knowledgeable and expert persons with legitimate environmental knowledge now we get the much maligned OLT (Ontario Land Tribunal. Yes one can ask for Leave to Appeal their decision but again there is no Intervenor funding hence individuals or even groups of citizens are risking big money to present a case to a biased, pro government, pro business body.

Yet another consulting company has been hired by Lanxess this one called Arcadis. It's good to know that Lanxess and GHD understand that there own credibility has been damaged by their behaviour and lack of compassion for the victims  of corporate negligence locally. One claim by Jesse of Arcadis I found odd was that on-site NDMA  sources are mostly on the west side of the former Uniroyal site and chlorobenzene sources allegedly are on the east side.  No explanation was given just as no explanation has ever been given as to why monitoring well CH38 near Industrial Dr. and Oriole Parkway has had such high concentrations of contaminants so far away from Uniroyal Chemical.

Hadley also brought up Lanxess's whine about Pump & Treat technology being hard on the environment i.e. high electricity useage likely plus discharge of only partially cleaned groundwater into the Canagagigue Creek. Gee they and their predecessors should have thought about that 36 years ago! She also suggested that goals may have changed such as the Region of Waterloo no longer being interested in using Elmira's water for drinking water. Well! Karl Belan (RMOW) quickly corrected that and suggested that at the least the Region were eyeing the most southern well (E10) as a future source of water.

Lanxess allegedly want to do a study of the groundwater in its' more natural state . In other words with the pumping wells shut down in order to get a more accurate idea as to where the higher contaminant concentrations currently are.  Groundwater pumping distorts concentrations of contaminants as they are pulled towards wells etc. To me this sounds like just one more ecuse to cut back on their remediation costs.

As stated yesterday there are as yet no decisions on remediating any of the "hot spots" in the Creek. Hadley again complained that she didn't like that terminology which is too damn bad although I believe that Chemtura started it as a method of "scoping" (lessening) the amount of cleanup needed in the Creek. We were also advised that the Ministry of Expanded Corporate Pollution (MECP) sent out more (likely deceptive) letters to the local residents along the Creek last summer. Hadley stated that residents had been advised against amending their gardens using Creek sands and also not to allow fowl (chickens etc.) to run loose near the Creek. We were later advised by Jason Rice (MECP) that free range chickens were possible at farms that had not been contacted. There was also a brief discussion/confusion over dioxin/furan criteria

Most TRAC (Technical Remediation Advisory Committee)  members don't know what they don't know and are easily swayed and led by the nose. I saw a little less at this meeting than usual however it was still a disgrace of self-promoting, self-justifying, lily gilding by Lanxess and politicians . The utter and complete failure to allow questions from the audience (2 whole people) denigrates the process. The refusal to ask hard questions early on about the new proposed Control Order or ECA whichever they want to call it is but one example. Lanxess and the MECP should also have to explain where the hell the last 36 years have gone with failures in all cleanup endeavours. Any other private or government initiative with such a record would be shown the door and new management/supervision brought in to do the job that should have been done in the first place. Not in this venue as Woolwich/Dogpatch just keep on repeating their failures over and over again with the same biased, self-serving idiots in charge. 


 

Child Witness Centre

Hear Robin on CBC’s “The Current”

Robin and her family share their personal story in this incredible episode!

www.cbc.ca/listen/live-radio/1-63-the-current/clip/16153469-she-abused-stepfather-mother-stayed

The post Hear Robin on CBC’s “The Current” first appeared on Child Witness Centre.


Clay & Glass Museum

Mengya Zhao

Mengya Zhao, Szechuan whispers: echoes of home and heart, 2023.

Mengya Zhao is a multidisciplinary artist primarily focusing on ceramic sculptures. She also explores her imaginative world through printmaking, illustration, and various forms of paper art. Her work delves into the space between reality and the imaginary, often highlighting subtle peculiarities in daily life. Mengya has participated in several public projects, including the Vancouver Mural Festival and the Suzhou Alley Women Mural in Vancouver’s Chinatown. She draws on her Asian heritage and cultural references to offer a unique perspective on human experiences, aiming to find commonality and foster open conversations with viewers through her art.

Mengya’s Website Artist Statement:

” For this residency, I will explore the theme of “Minor Discomfort” through wearable ceramic art and larger sculptures. My project involves crafting porcelain pieces that can be assembled into a whole or separated, inspired by tools used to manage physical limitations. These pieces highlight the subtle challenges faced by individuals with disabilities.

My work is deeply influenced by my experiences as an Asian Canadian artist with hearing loss. This journey has heightened my awareness of minor discomforts that significantly impact daily life. I aim to create both functional wearable art and larger sculptures that reflect my unique cultural background, my immigrant experience, and my personal journey with hearing loss.

Through this project, I will raise questions about what is considered “normal” and how extra precautions might alter perceptions. By examining the emotional and social nuances of physical limitations, I hope to encourage viewers to re-examine their perceptions and interactions.

This residency will provide the time, space, and resources needed to fully develop this concept, pushing the boundaries of my artistic practice. Ultimately, my goal is to use art to bridge gaps in understanding and experience, promoting empathy and awareness through my work. “

Mengya Zhao, Minor discomfort: tendons, 2024.

Mengya Zhao, mythic convergence, 2024.

The post Mengya Zhao appeared first on The Canadian Clay and Glass Gallery.


Code Like a Girl

CTE vs Subquery vs Recursive CTE: The Interview Question Every Data Scientist Should Know

♦Photo by Jason Goodman on Unsplash

While practicing advanced SQL — a fundamental skill for any Data Science or Machine Learning interview — I came across one of the most common questions: the difference between CTEs (Common Table Expressions) and subqueries. Although both serve similar purposes, there are key differences between them that can give you an edge in interviews.

I’ve explained the concept in plain English so that even someone with no technical background can easily understand it.

When we work with SQL and find our queries becoming long and complex, it can even hinder our thinking capability. That’s where Common Table Expressions (CTEs) and subqueries come into play. These two powerful SQL features help us write cleaner, more readable code — and unlock new levels of control over our data. Not only that, CTEs can also be recursive, making them especially useful for handling hierarchical or tree-structured data like organizational charts, file systems, or threaded discussions — something subqueries can’t do as efficiently.

What is a Subquery?

A subquery, sometimes called an inner query, is simply a query inside another query.

It helps break down the problem by first calculating an intermediate result, which is then used to solve the main query. In other words, it generates a temporary table based on which we filter our data and then plugs that data into our main problem solution.

Think of it like solving a math problem in steps. First, you calculate an intermediate value, then plug that into the bigger equation. In SQL, subqueries do the same: you run a small query to get a result, and then use that result inside a larger query.

Some Important Points for Subquery

  1. When we need a single result for our analysis, we often use a subquery inside the WHERE clause. It helps filter the data based on the result returned by the subquery. For example, in the following query, it fetches the name, marks, and course of the student(s) who scored the highest marks by comparing each student’s marks with the maximum marks returned by a subquery. One important thing to remember when using Subqueries with the where clause is that it must return a single value (for comparison) or a single column (for use with IN, EXISTS, etc.).
SELECT name, marks, course 
FROM students
WHERE marks = (SELECT MAX(marks) FROM students);

2. Subqueries can be used to create new aggregated columns for dynamic calculations, helping to enrich the data and enhance the overall analysis process. The query below shows the average marks of all students, alongside each student’s details, using a subquery.

SELECT 
name,
marks,
course,
(SELECT AVG(marks) FROM students) AS average_marks
FROM
students;

Here’s why subqueries are helpful:

  • By dynamically filtering data, they enable customized management.
  • You can use them in the WHERE clause to compare values.
  • They can generate new columns for real-time calculations.
  • They work great for filtering, aggregating, and computing intermediate values.
What is a CTE?

A Common Table Expression (CTE) is like creating a temporary table within your query. You can use the output of this temporary table in your main query. It only exists while the query runs, but makes complex queries much easier to read and manage.

Defined using the WITH keyword, a CTE allows you to isolate and label parts of your logic before using them in the main query.

Some Important Points for CTE

  1. Declaring CTEs at the beginning of a query improves readability by organizing complex logic into clearly defined, named blocks. This makes your SQL easier to understand, maintain, and debug. Unlike subqueries, which are typically used in a single part of the query, CTEs can be reused multiple times within the same query, allowing for more flexible and efficient data manipulation.
  2. When working with data that has a tree-like structure, like company hierarchies or comment threads, CTEs are best because they let you repeat a query to explore deeper levels easily.

The query below defines a CTE named employee_cte. It further joins each employee to their manager using a left join on e.manager_id = m.id. The main query simply selects from the CTE to get the final result.

WITH employee_cte AS (
SELECT
e.id AS employee_id,
e.name AS employee_name,
m.name AS manager_name
FROM
employees e
LEFT JOIN
employees m ON e.manager_id = m.id
)

SELECT * FROM employee_cte;

Why use CTEs?

  • They break down complex logic into manageable chunks.
  • They enhance readability, like giving your intermediate steps meaningful names.
  • You can even use recursive CTEs to work with hierarchical data like org charts or threaded discussions.
  • ️ If you need the same subquery result multiple times, a CTE saves you from repeating code.
What is Recursive CTE?

A recursive CTE (Common Table Expression) in MySQL is a useful feature that helps you work with data that’s organized like a tree or hierarchy (such as folders within folders or employee-manager structures). It runs a query again and again in a loop-like way to go through each level of the data step by step. In short, it allows you to process data iteratively by repeatedly executing a query.

A recursive CTE in MySQL is created using the WITH RECURSIVE keyword and has two key parts:

  1. Anchor Query (Non-recursive part):
    This is the starting query that gives the first set of results. It’s like the base case in recursion — where everything begins.
  2. Recursive Query:
    This part calls the CTE itself and keeps adding new rows by repeating the process using the results from the previous step. It’s combined with the anchor using UNION ALL (or sometimes just UNION).

Together, they help process data step-by-step, especially for things like hierarchies or parent-child relationships. In recursive CTE, it is necessary to use the Union All clause. The following block of code shows the syntax for Recursive CTE.

WITH RECURSIVE cte_name (column1, column2, ...) AS (
initial_query -- Non-recursive part
UNION ALL
recursive_query -- Recursive part
)
SELECT * FROM cte_name;

Let’s say you have a table called employees with columns id and manager_id, representing the employee's ID and their manager's ID, respectively. You want to find all employees who report to a specific manager (e.g., manager with id = 1). Source

WITH RECURSIVE subordinates AS (
-- Anchor member: Find direct reports of the manager
SELECT id, name, manager_id
FROM employees
WHERE manager_id = 1

UNION ALL

-- Recursive member: Find employees who report to the previously found employees
SELECT e.id, e.name, e.manager_id
FROM employees e
INNER JOIN subordinates s ON e.manager_id = s.id
)
SELECT * FROM subordinates;

Always use UNION ALL when combining the anchor and recursive parts of a recursive CTE. Using just UNION can remove duplicate rows, which might interfere with the recursion process and give incorrect results.

Using Recursive CTE to calculate the factorial of a Number — Source
sql
WITH RECURSIVE factorial(n, fact) AS (
SELECT 1, 1
UNION ALL
SELECT n + 1, fact * (n + 1)
FROM factorial
WHERE n < 5
)
SELECT * FROM factorial;

In this question, we are calculating the factorial of 5 using recursive CTE in SQL.

Interview Question

Now, let us take an Interview question for top-selling artists. You can get the full link to this question here.

In this question, we have to write a query to rank artists within each genre by their revenue per band member, and retrieve the top-earning artist from every genre. The output should include the artist’s name, genre, total concert revenue, number of members, and revenue per member, sorted in descending order of revenue per member within each genre.

I have solved this question using CTE. You can use a subquery to solve it.

WITH cte AS (
SELECT
artist_name,
genre,
concert_revenue,
number_of_members,
ROW_NUMBER() OVER (
PARTITION BY genre
ORDER BY concert_revenue / number_of_members DESC
) AS rank_within_group
FROM concerts
)
SELECT
artist_name,
genre,
concert_revenue,
number_of_members,
concert_revenue /number_of_members AS revenue_per_member
FROM cte
WHERE rank_within_group = 1
ORDER BY revenue_per_member DESC;

Here we have ranked artists within each genre based on revenue per band member using a CTE and ROW_NUMBER(). It selects only the top artist per genre (rank 1), calculating their revenue per member by dividing total concert revenue by the number of members, and orders the final result by highest revenue per member.

Final Thoughts

Whether you’re filtering with a subquery or structuring your logic with CTEs, both tools help make your SQL queries smarter, cleaner, and more efficient.

  • Use subqueries when you need quick inline calculations.
  • Use CTEs when you want clarity, modular logic, or recursive behavior.
  • Use Recursive CTE to process hierarchical or tree-structured data

If you found this helpful, follow me on Medium and give the post a like!

Your feedback means a lot and motivates me to share more 🚀. Thanks for reading!

CTE vs Subquery vs Recursive CTE: The Interview Question Every Data Scientist Should Know was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.


Code Like a Girl

How are companies leveraging AI tools?

We are living in wild times. With a bit of brainpower (still required, thank God), people are leveraging AI and building an MVP, if not in…

Continue reading on Code Like A Girl »


Code Like a Girl

I Switched to Serverless… Then My App Broke in Production

This is a story I never thought I would write. But here we are…

Continue reading on Code Like A Girl »


Github: Brent Litner

brentlintner starred kivy/kivy

♦ brentlintner starred kivy/kivy · June 20, 2025 17:06 kivy/kivy

Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS

Python 18.4k Updated Jun 26


Elmira Advocate

LAST NIGHT'S TRAC MEETING WATCHED IN PERSON

 

Well as expected it started slowly and boringly. Somewhat to my surprise it actually got a little better. In fact generally speaking there was less bull**** and more fact than usual. What happened? I even found Hadley's (Lanxess) droning much less offensive (likely because there was less of it and she didn't seem to be forcing her two cents in where it wasn't needed). Then to my utter astonishment there was a reporter present. It was not a reporter from the Woolwich Observer but from the K-W Record!. Even more astonishingly it was Terry Pender the reporter that I had to take to the National Media Council for his May 1/25 article about Vietnam and Agent Orange. O.K. last but not least Susan Bryant from the comfort of her home made a comment that I agreed with regarding downstream residents (farmers) having decades of high exposures to Uniroyal contaminants.

In no particular order Hadley made a few concessions if you will. Yes she downplayed the level of dioxins in the environment and how ubiquitous (common) they now are with sources other than Uniroyal Chemical. However she did admit that higher than background levels of dioxins/furans downstream are indeed from past Uniroyal discharges. She wouldn't go so far as to suggest that some are still coming off the former Uniroyal site however she did seem to be angling towards looking harder for them along the creekbanks on site including the east side creekbanks! Well Well?

Somewhat disconcertingly she repeatedly said something about not taking a risk or not exposing the company to risk in regards to further testing of sediments and soils along the Creek. She stated that the HHERA (human health & Ecological Risk Assessment) claimed that there were no downstream "unacceptable" risks hence I'm wondering if she is trying to stickhandle by doing more sampling but somehow any bad results don't count against Lanxess's position or cleanup.  Those comments should have been clarified at the moment but yours truly like the rest of Elmira residents may not ask questions or speak at TRAC according to her majesty Queen Sandy.

Luis Almeida also made some comments that were decades overdue but which I had figured out a long time ago. He conceded that the off-site pumping wells were indeed placed in positions in the Municipal Aquifers where contaminant concentrations were highest. Now isn't that interesting especially as contaminant plumes generally have highest concentrations nearest their sources (Uniroyal) and decrease with distance from those sources. Hmm.

We learned that the EAB (Environmental Appeal Board) which was replaced by the ERT (Environmental Review Tribunal) has also been replaced by the well disparaged OLT or Ontario Land Tribunal. The OLT by the way originally was known as the OMB or Ontario Municipal Board and was reviled for its bias in favour of developers versus property owners. All in all clearly just a pro business, pro powerful and wealthy board put in position to go through the motions of unbiased and balanced weighing of the public interest versus that of private individuals. This whole discussion was in regards to the MECP's (Min. of Environment) new ECA or Control Order taking over after the 2028 deadline has passed and failed. 

The discussion of the Control Order seemed to focus on the extent of diffusion of contaminants from the aquifers (sand & gravel) into the less permeable aquitards (silt & clay).  The presenter stated that he was showing us why remediating large, dilute plumes takes a long time to do so. Indeed his Figure on the screen did show extensive diffusion below the Municipal Upper aquifer into the aquitards below which allegedly are now back diffusing into the aquifers as their concentrations of contaminants decrease. 

Hadley, Luis and Sebastian got into a discussion of times now believed required to achieve drinking water standards. Hadley advised that if they stick with Pump & Treat technology that decades more will be required hence they are looking at other technologies.

Not bad, it only took CPAC until early 2012 to tell the Ministry, the Township and Chemtura that their pump & treat couldn't cut it and it's only taken another thirteen years for the guilty parties to admit the same. These delays have always been intentional hence talk now about improvements carries such little credibility.

Spoiler Alert:  Likely more discussion here tomorrow on this TRAC meeting but as suggested in yesterday's post little or nothing promised much less done regarding "HOT SPOT" removals downstream in the Creek.


Grand River Rocks Climbing Gym

Canada Day

The post Canada Day appeared first on Grand River Rocks Climbing Gym.


Grand River Rocks Climbing Gym

Canada Day

♦*There will be no members-only hours on Canada Day!!

The post Canada Day appeared first on Grand River Rocks Climbing Gym.


Andrew Coppolino

Rhubarb for sweet or savoury

Reading Time: 2 minutes

During a quick trip across the river to Thurso and Ripon, Quebec, I spotted a few batches of rhubarb in small markets. It’s a fruit (or is it a vegetable?) I often forget is out there at this time of the year.

The crop grows plentifully across the country, but some of the best stalks are coming out of the fields as we speak – and for a short time only.

Take advantage when you find it at local farm stands or in select grocery stores.

Whether it’s a fruit or a vegetable is perhaps up for culinary debate, but that the debate exists at all is an indication of the plant’s polarizing nature: some people love the tart quality of this harbinger of early summer; others dislike it intensely.

Outdoor varieties of rhubarb – which is often given away by the large broad and distinctive leaves you can spot growing in gardens – include Valentine, McDonald and German Wine varieties.

♦Sweet or savoury recipes suit rhubarb ideally (Photo/andrewcoppolino.com).

It’s also a plant whose winter varieties – Victoria or Sutton – are “forced” to grow by planting shoots in the fall in a darkened environment inside until buds are produced. It is said that such treatment makes for sweeter rhubarb.

Rhubarb has a rich culinary history, and although it is used in many desserts, it is a vegetable, botanically speaking: it’s a perennial herb that originated in the temperate regions of Eurasia and has been a part of cookery, including North American cookery, for hundreds of years.

It likely originally came from Mongolia growing alongside the river banks of what is now the Volga River (and what was once known as the Rha).

Eventually it made its way into ancient Roman hands, and they called it “rha barbarum” – the Romans, according to culinary historian Mark Morton, presumed that anything that came from outside their empire was “barbaric.”

This may explain the historical origin of a slang term that, in the 1930s in the favourite summer sport, baseball, described an old timey nasty shouting match and rowdy, aggressive altercation as a “rhubarb.”


For more, visit Andre Paquette Editions.

Check out my latest post Rhubarb for sweet or savoury from AndrewCoppolino.com.