Dacia Sandero Stepway 2025 – Just Enough

I like small utilitarian cheap cars. I own a Hyundai Accent 2011, my wife has a Kia Soul 2016, and previously I drove a Mitsubishi Mirage 1995, so I walk the talk. SUCC (small utilitarian cheap cars) are honest and are here to do one job and one job only—transportation in the cheapest way possible. They are not here to entertain, show off, or bring status to your mundane tasks. While all SUCCs might conceptually feel the same, different manufacturers prioritize different things. For example, Toyota prioritizes reliability, Mazda ride quality, Kia features, and GM… price. Don’t get me wrong; if you buy a Mazda 2, it won’t ride like a Mazda MX-5. Similarly, if you buy a Toyota Yaris, it won’t have the same reliability as a Lexus, but priorities are real within budget constraints.

Recently, I came back from France, where I got to drive a Dacia Sandero Stepway 2025 (rental car), and what an experience that was. If I had to describe it in one sentence, it would be: I hit rock bottom… and then discovered there was a basement. I could not believe that such an unrefined car could be manufactured in 2025. As far as I can tell, the Sandero costs on average $22k Canadian dollars, so comparing it to a Kia Soul 2016 is fair game. Now, in all fairness, there is no Dacia in Canada or the USA, so my guess is the Sandero targets a specific market, and therefore the manufacturer’s priorities might be fairly specific—or at least that’s what I convinced myself of. I wish I could say the Sandero was barebones and horrible, but it isn’t, and that’s what piqued my curiosity.

Ok, let me get the obvious out of the way: I don’t know how reliable or lasting Sanderos are since I got a new one with only 2500 kilometers on the odometer, and it didn’t give me any trouble at all. However, what I could see is that the Sandero clearly prioritizes cutting costs wherever possible and adding only what’s necessary. In practice, that translates to exposed metal panels that in any other car would be covered by plastic, no doubt saving a cent here and there. The same philosophy was applied in the passenger area—cheap, minimal plastic. Even the floor mats seemed to be made exactly to size and then slightly reduced to save a cent or two. That kind of dedication reminds me of Mazda’s “Gram Strategy”—but in a bad doppelgänger sort of way. The transmission deserves a mention: while performing flawlessly, it somehow never seems quite happy to go into any gear at any speed or RPM. It just has a slight “la resistance” feel to it. The engine, on the other hand, seems pretty happy and jumpy—you never quite know when it will kick in boost and suddenly accelerate. It’s a bit wild and fun, unless you’re on tight French streets trying to slip by busy traffic when a sudden power surge requires immediate correction. The amusement doesn’t last long as the implications sink in. Initially, I thought it was because of the small engine and turbo lag, but 10 years ago, I drove a Smart ForFour with a similar engine configuration, and I don’t recall any sudden accelerations. Last but not least are the all-seeing eyes of its sensor arrays, coupled with endless warnings and trajectory corrections. Don’t get me wrong, cameras and sensors are awesome when fitting into a tight parking spot in an old French city, but they become incredibly worrisome when they correct your trajectory toward a biker splitting lanes right next to you. I guess the computer is more worried about self-preservation than the human passing you on your left. Similarly, the computer constantly analyzes driver behavior and keeps informing you that you’re tired and need rest, even after good sleep, breakfast, and coffee. I ended up constantly disabling lane correction (due to safety concerns), but unfortunately, there is no way to permanently turn it off—it resets every engine start.

I drove my wife’s Kia Soul 2016 to and from the airport before and after driving the Dacia Sandero for a couple of weeks, and the driving experience difference is stark. The Soul might lack a few features and could use more refinement but is still miles ahead by comparison. Power delivery is linear and predictable, gear shifts are smooth without resistance, the interior feels better and softer, fitment is superior, there are no rough spots, and, importantly, no computer constantly tries to “correct” your line and sideswipe passing motorcyclists. The Sandero is an interesting car. On one hand, it has everything—even LPG to save money on gasoline, which is undoubtedly appreciated in Europe. On the other hand, it provides nothing beyond what’s strictly necessary. So you end up with a car that is comfortable enough, pulls just enough, is computerized just enough, and is essential enough—but lacks refinement. I think that’s enough.

2CV – scratching the itch

Every once in a while, I look around for a car—something unique and interesting. I like small cars, so kei trucks and vans captured my attention. After looking and reading for a while, somehow I came across the Citroën deux chevaux, or simply 2CV. It captivated me with its capability and engineering. Citroën engineers set out to build a workhorse and achieved something beyond that. Germans have the Beetle, the British have the Mini, and the French have the 2CV; no other car has such recognition—just drive a 2CV around, and people immediately smile at you. I spent too much time researching the 2CV. YouTube and forums can tell you a lot, but nothing beats experience, and I was really itching for it. Getting a hold of a 2CV in Ontario is a bit challenging, but luckily I was going to France, and there are rental options.

They say, “never meet your heroes,” but I finally did. First impressions revealed a bit of rust and a look suggesting it had seen better days. Some repairs had been done over the years; I’m pretty sure that the front seats should move back and forth, but they were stuck in position. The steering wheel was a bit heavy—but I can’t tell if it’s due to poor maintenance or if that’s just the way all 2CVs are. Panel fitment was like the old joke goes: “…we leave a cat, and if after 24 hours the cat is still inside, it means the car is sealed.” There are no huge gaps, but you can see around the doors, making me wonder how much water would come in during rain. Floor panels wobbled a little, and even though they aren’t structural, it felt strange. The suspension was squeaky on big bumps—I guess a bit of lubrication would fix that. Additionally, the suspension setup was so different from any car I’ve driven so far that it made me feel uneasy at high speeds. One really unexpected thing was how close the windshield is located to the driver, and more unsettlingly, how close the top of the steering wheel was to the windshield and metal/plastic panel. I couldn’t grip the top of the steering wheel comfortably and worried I could shear off my fingers if I did. There were other minor things different from a “normal” car but perfectly in line with any other classic, for example, oil spots around the engine area on a parking spot. However, the biggest disappointment was how un-convertible the car felt with the roof rolled all the way back—it felt just like any other car but with sunshine.


Ok, but what about the engine? I mean, they do call the 2CV a tin snail. Let’s address the elephant in the room—the 2CV’s (later models) engine has a displacement of 602 cc (before mods), which depending on the model produces 28-33 HP, so it’s not a speed demon by any stretch. Luckily, the 2CV has a 4-speed (forward) gear transmission that gives it just enough pep to get around town. It drives just fine on old, tight, slow French roads (30-50 km/h). Now, high-speed roads on an incline are an issue, but that’s to be expected—the 2CV wasn’t built for autobahns. Surprisingly enough, though, the 2CV sits pretty comfortably at 80-90 km/h on a straight, flat road. Another thing worth noting is how loud the car can get. If you’re pottering around, noise levels can be managed by switching to a higher gear. But if you need to rev it out, oh boy, does it get loud. The same goes for high speeds, in addition to wind noise.

The biggest surprise is how comfortable the ride is. I don’t know if it’s due to the independent suspension with preload and/or hammock seats, but it’s unbelievable. The suspension is so different and needs some getting used to, but man, it’s comfortable. I know the original specification called for going over a field with a basket of eggs, and boy, that doesn’t feel exaggerated. I bet it could give many modern cars a run for their money. Another surprise is how nice the transmission is. It’s a little unfortunate that 1st gear is non-synchronized, but you quickly get used to it. However, going up and down gears is so nice and easy, it might as well be a modern car. The clutch feels light and easy to operate—I couldn’t tell the difference from a modern car. Moreover, I didn’t miss or grind any gears (not even slightly), and that’s impressive, especially considering some newer cars from the past 10-15 years don’t always perform as well. The 2CV is as basic as you can get: no computers, nothing beeping at you, no screens or panels of buttons — it feels liberating. “It can’t break if it is not there,” as the French say.

As I was scratching the itch, I wondered if the 2CV could fit into my life. I can’t help but adore the car; I love the idea of its utility and simplicity. A few annoying things can be modified and improved; the engine can gain some more power, and noise can probably be reduced slightly—but there’s a bigger issue. The 2CV is no longer cheap, especially in Ontario. Prices have gone up, parts seem costly in comparison, and shipping costs must be factored in. Additionally, there are no 2CV specialists around, so you either need an enthusiastic mechanic or learn to do everything yourself. As I deliberated, it began to feel somewhat similar to why I passed on the Miata NB and went for the NC: too many small things would keep me busy working on the car instead of enjoying it. Furthermore, the 2CV would have to compete with my Miata, and unfortunately, the Miata is way more fun. I figured if I lived in Europe, a 2CV could have been a great idea, but in Ontario, it’s a bit more challenging than I’m willing to commit to.

Cost Reasoning

Cost seems to be an inseparable part of our lives. We look at it when we buy stuff, pay taxes, purchase services. But it takes a bit of a backseat when it comes to computer science—especially during the academic years. It comes back once we join the workforce, though it often takes on an elusive form — at least in my IT experience. It doesn’t come naturally; it’s effectively forced on us through communication with the business side. To me, “cost” is so ill-defined that it’s often thrown around for emphasis rather than as something more or less concrete.

Even in personal life, cost is tricky. Let’s say a pen costs $1. Is that the real cost? Do we just buy it and move on? Well, here’s how I see it: the pen costs $1 + $0.13 (13% sales tax) = $1.13. Now factor in income tax—say, 30%—and the cost becomes $1.13 / 0.7 = $1.61 (rounded). So once we factor in both sales and income taxes, the cost jumps by about 61.4% from the sticker price. And that doesn’t even include the cost of earning that money in the first place. Do you drive to work? How long does it take? Do you pay for insurance? Is your car depreciating? If you run a business, you might write those expenses off—but if you’re an employee, you just eat the cost. By the time all’s said and done, you’re looking at a markup of over 61.4%—and that’s before environmental fees, dealer fees, or whatever else sneaks in at checkout. And finally: how much time does it actually take to make that money?

Now to the IT world. I remember a while back when agile cards (or T-shirts and such) were a popular tool to estimate work for a sprint. At some point, that idea took a dive—never to be seen again. Why? I believe it comes down to two things: inaccuracy and waste. You end up estimating in points that are hit or miss (most of the time, a miss). Then managers try to make sense of those points for that particular team and convert points to time. Eventually, they give up and just ask for time estimates instead. Next, all of that gets applied to project estimates, and finally, to the budget. Eventually, the whole exercise was written off as useless. Why waste time estimating when it doesn’t improve accuracy? It just ends up wasting time for no benefit—or in other words, increasing cost.

Next up: software craft. How do we reason about the cost of code? Do we think about execution cost? Development cost? What about refactoring, adding features, maintenance, or security upgrades and dependencies? Do we factor in code correctness? Recently I was part of an architectural decision-making process. We had two paths: develop a new feature using an old dependency or a new one. Let’s break them down.

Using a new dependency: faster, easier development, with future support. Risk: the new feature might not integrate easily with the legacy system.

Using the old dependency: easier integration. Risk: slower development, no support, potential security issues. And when the old system is retired, we’ll either have to rewrite everything or keep dragging around old dependency — bringing all the baggage with it.

Moreover, we know the old system is set to be retired within the next six months, while new feature delivery is targeted for the next twelve. Just from the timeline alone, it becomes painfully obvious that the risks of supporting the old system are already mitigated. From a development cost perspective, it makes far more sense to adopt the new dependency. Yet the issue keeps getting debated—because, well, “nobody gets fired for buying IBM.” The essential argument is that writing new feature code based on the old dependency will work “everywhere,” so the deadline will be met, and we’ll all be safe—no risk. But what about cost? It would take three times as long using the old dependency. What about future cost—what if we have to rewrite it later? How about support—dragging around an old, unsupported dependency isn’t free. And do we ever factor in security risks? How much will that cost? Yeah, at the beginning of the day, if we don’t consider cost—or worse, don’t communicate it to the business—we might feel “safe.” But the business can count. And usually, better than IT. So by the end of the day, cost questions will creep in—and by that point, no one will be safe.

The cost of software development is anything but trivial—it depends on a variety of factors. Maybe it’s a throwaway project. In that case, we can skip tests, write a mess of code, use bubble sort, and slap it all together just to get it running as quickly as possible. But should we do the same for a legacy project? What about a current production system? Do we write clean code so it pays off with the next feature set—or just duct-tape things together and leave it for someone else to debug at 3:00 a.m. on a Sunday during a production emergency? I believe a developer can make any choice—as long as it’s a conscious one, based on cost considerations. And to make that kind of decision, cost must be learned, understood, and applied—as part of both software education and everyday development.

Norbert’s Gambit

Recently, I learned about Norbert’s Gambit, and it seems like a really nice way to avoid paying currency conversion fees. You still end up paying something, but depending on the amount you’re converting, the fees can be pretty small — I’ll illustrate this later.

So what is Norbert’s Gambit? Norbert’s Gambit is a strategy used to convert Canadian dollars (CAD) to U.S. dollars (USD) (or vice versa) by buying and selling interlisted stocks or ETFs — stocks that trade on both Canadian and U.S. exchanges. The idea is simple:

  1. Buy the stock in CAD on the Canadian exchange.
  2. Transfer the stock to the U.S. exchange.
  3. Sell the stock there in USD — effectively converting your money with minimal fees.

As I mentioned, this method helps avoid conversion fees that banks, brokers, and private exchanges charge. Here’s what I’ve seen:

  • Banks: Typically take 3–5 cents per dollar (3–5%).
  • Brokers (InvestorLine in my case): Around 2 cents per dollar (2%).
  • Private exchanges near me: About 1 cent per dollar (1%).

Fees of 1–5 cents per dollar might not seem like much at first, but they add up fast—especially for larger amounts. For example, if you exchange $10,000 CAD, the fees would be ~$300–$500 for bank, ~$200 for broker and ~$100 for private exchange. Now think about your entire retirement fund — suddenly, those fees don’t look so small.

Norbert’s Gambit isn’t completely free. Here’s what you still have to factor in:

  1. Trading fees: InvestorLine charges $10 per trade, so buying and selling costs $20 total.
  2. Stock price movement: Prices fluctuate, so there’s a chance the value changes before you sell.
  3. Market spread: The difference between bid and ask prices can result in a small loss.

That said, InvestorLine does automatic online transfers, so there’s no need to call anyone or wait a day — minimizing the risk of price movement. To test it out, I ran a small experiment:

  • Bought 1 share of BMO:CA for $138.17 CAD
  • Sold 1 share of BMO:US for $95.8516 USD
  • Effective exchange rate: 0.694
  • Market exchange rate at the time: 0.693

I actually gained about 10 cents per exchange, but that was just luck due to market fluctuations going my way. Now let’s extrapolate and assume things didn’t go in my favor. If I exchanged $13,817 CAD, I’d buy 100 shares of BMO:CA and sell them in USD at an effective exchange rate of 0.692 instead of the market rate of 0.693.

  • Norbert’s Gambit: 0.692 × $13,817 = $9,561.364 USD
  • Official exchange rate: 0.693 × $13,817 = $9,575.181 USD
  • Loss due to the exchange rate difference: $9,575.181 − $9,561.364= $13.817 USD


So, I lost $13.82 USD due to the slightly market volatility. If I had used a private exchange instead (charging 1 cent per dollar), the fees would have been: $9,575.181 –  (13817 * 0.683) = $138.17 USD. That’s 10 times more expensive than my $13.82 USD loss from Norbert’s Gambit! Now, let’s add in the trading fees: 20 USD + 13.82 USD (loss) = $33.82 USD total cost. Even after including the trading commission, the total cost is still way lower than the $138.17 fee from the private exchange.

In my mind, Norbert’s Gambit is an awesome strategy, especially considering that Canadian investors have to exchange currency at least twice in their lifetime — once to invest and again to cash out for retirement. This means Norbert’s Gambit can save Canadians around 2% on foreign investments.

3 Years Since the Full-Scale Invasion of Ukraine

It’s been three years of war, and it keeps on going. My naïveté is slowly being replaced with cynicism. Last year, I hoped the West would pull itself together—providing much more support to Ukraine while applying greater economic pressure on the other side. While there have been some increases, once again, it’s been too slow, too little, and in some cases too late.

To some degree, I’ve started to feel like the West is trying to preserve the aggressor. Yes, save the murderer—because otherwise, someone would have to deal with the fallout?! It’s astounding to contemplate such a scenario. It feels like there is no justice, no honor—it’s all about preserving the status quo. And by the way, the same seems to be happening in Israel. After the horrendous October 7th attack, somehow Israel is labeled the bad guy.

If you attack, kill, or kidnap—you are the aggressor, the murderer. It should be plain and simple. Yet, this concept seems too difficult for some to grasp—or so it seems. Another concept that apparently baffles people is democracy, liberalism, and freedom. Some places have them; others don’t. Ukraine and Israel have them. And the opposing sides? Let’s see: one place has had the same “president” for over 24 years—marked by repression and political killings. The other hasn’t held elections in the last 19 years, and political opposition tends to end up flying out of windows shortly after speaking up. But again, this concept seems too hard to grasp. Who are the bad guys in this situation? Somehow, we’ve bent the truth so far that Ukraine supposedly started the war and Israel is somehow the aggressor.

I’m tired of watching these horrific events unfold, but I don’t dare look away. It’s a reminder of how people operate, how disinformation spreads, and how evil prevails. But we cannot give up. We must keep fighting—keep going until the very end.

Source

Slava Ukraini.

Radon Test – Don’t Waste Money in Ontario

Recently, I started worrying about radon exposure in my house. So, after a quick trip to Home Depot, I picked up a short-term radon test kit for about $20. The clever marketing got me—I thought I was buying a complete kit. Well, turns out I was wrong. To actually get the results, you have to pay another $40 for lab analysis. Lol, “paid envelope included” – yeah, sure, the envelope is free, but the test results aren’t!

When I got my results back, I was horrified—radon levels were almost four times the recommended limit. Naturally, I wanted to retest before jumping into any drastic (and no doubt expensive) solutions. But spending another $60 on another test? No thanks. So, I started researching my options.

Turns out, instead of buying one-time test kits, you can get an electronic radon detector for around $150. A much better option, especially if you want to test multiple locations. Sure, you can find cheaper ones, but who knows if those cheap Chinese knockoffs actually work or just make you feel better? So, my thought was: either buy a proper one or nothing at all. But then I wondered—do I even need to buy one? Can I rent instead?

Do NOT Buy or Rent If You Live in Ontario!

Here’s the best part: you can borrow a high-quality radon detector for free from a public library! Apparently, radon became a big enough concern at some point that the government provided libraries with free detectors for public use. All you need to do is go to your local library, register (if you haven’t already), and borrow the device for up to three weeks.

I found this program through the Windsor-Essex County Health Unit, but I’m pretty sure it’s available across Ontario and possibly beyond. So, don’t buy, don’t rent—just borrow it for free from your library!

Hope this helps!

Email with custom domain

I remember a while back when you could purchase your own domain and connect it to Gmail for free. Unfortunately, that’s no longer the case. However, it appears there is a workaround. It requires some effort and navigating through Gmail’s deep settings, but the option is still available and functioning.

I’m including a link and backup here in case someone wants to connect their domain name to their Gmail account – How to user your own custom domain with Gmail for free.

Inequality and Risk

I’ve been slowly making my way through Paul Graham’s essays, and for the most part, I’ve been enjoying the journey. Recently, I came across his essay, “Inequality and Risk,” and it gave me a few thoughts. As Paul said: “The word ‘essay’ comes from the French verb essayer, which means ‘to try’”, so let me try.

“Like many startup founders, I did it to get rich. But not because I wanted to buy expensive things. What I wanted was security. I wanted to make enough money that I didn’t have to worry about money. If I’d been forbidden to make enough from a startup to do this, I would have sought security by some other means: for example, by going to work for a big, stable organization from which it would be hard to get fired. Instead of busting my ass in a startup, I would have tried to get a nice, low-stress job at a big research lab, or tenure at a university.

That’s what everyone does in societies where risk isn’t rewarded. If you can’t ensure your own security, the next best thing is to make a nest for yourself in some large organization where your status depends mostly on seniority.”

Paul Graham

I understand that startups are incredibly risky—it’s a fact. People investing in startups also take the same risk as founders, or perhaps even more. So if the reward isn’t worth it, then investment—and therefore startups—won’t be worth it, which means development stagnates. I agree with this argument.

But here’s my question: does progress and development only happen with big rewards? Paul says it isn’t about the money but about security. There are different ways to achieve security: one way is to make lots of money, and another is to get a secure job—a low-risk, low-stress position that’s stable and reliable. So if there’s no risk and no reward, does that mean all brilliant minds would gravitate toward secure jobs in big companies, research institutions, or government?

What about Albert Einstein? He made it. Now, for the sake of argument, what if security were already provided? Let’s wave a magic wand and imagine you receive enough money to live well. Wouldn’t you then want to dedicate yourself to what you do best—perhaps to development and innovation? Maybe one could be driven purely by a desire to innovate, rather than by the promise of big rewards or security. Not everyone becomes a doctor just to make loads of money. Some people genuinely want to help others and improve lives. Shouldn’t pure curiosity and the desire to improve be enough motivation?

I get it—there’s no magic wand. There’s resource competition. Effectively, this is all about security and resources: if you don’t secure yours, someone else will. It’s funny (and sobering) how quickly the argument can devolve back to a Stone Age-level mentality—it’s either you or them. But that seems to be what Paul is describing in his essay. We need inequality and risk to drive development and stay ahead, which in turn allows us to secure and gain more resources.

I’m not saying Paul is wrong, and I don’t claim to have better ideas. I’m just pointing out these dynamics and wondering out loud if there’s a better way. Ultimately, it might be the only way—our technology, biology, and language may simply be inadequate for any other existence.

The word “essay”

The word “essay” comes from the French verb “essayer”, which means “to try”. An essay, in the original sense, is something you write to try to figure something out. This happens in software too. I think some of the best programs were essays, in the sense that the authors didn’t know when they started exactly what they were trying to write.

Paul Graham