5 Years of EV Ownership – 215,000KM of Truth

It’s December 24, 2025 here. Five years ago, in late 2020, I took delivery of my Tesla Model Y—and it’s been my daily driver ever since. (Quick note: I owned a 2018 Chevy Bolt for three years before this, which gave me early EV experience including the big battery recall, but all the data and deep dive here is purely from the Model Y’s 215,000 km.)

That’s a ton of commuting, road trips, and real-world Canadian driving. Numbers come straight from the Tesla app, TeslaFi, and my own tracking—no cherry-picking, no fanboy spin. EVs aren’t perfect (I’ve had my share of headaches), but the data shows why I still love it.

The Gripes Up Front

Early 2020-build Model Ys had some teething problems, all cars have their unique sets of issues:

  • Four heat pump failures (known issue in cold climates) – this one drove me the most crazy, it was only repairable by the dealer, the parts were expensive and when it happened the car was DOA.
  • Premature brake line and component corrosion from road salt, Tesla didn’t bother to coat the lines in anything, and they routed them above the pack, and the drive units – so repairing them is INCREDIBLY expensive.
  • The paint is the worst paint I have seen on a car, and that’s not a surprise to anyone.
  • Failed headlamps requiring a retrofit, Tesla discontinued the reflector lights, the only option was to retrofit to Matrix LEDs – at an incredible cost.
  • Low-voltage (12V) battery replacement – Expected frankly.
  • Worn-out charge port needing full replacement

All cars have issues, but some of these were frustrating and costly when out of warranty.

Battery Degradation: Nearly 20% After 215,000 km

TeslaFi puts my degradation at 18.97%—right in line with the fleet average for similar mileage and age. Nothing abnormal, but it still means my original ~500 km rated range is now realistically around 410-425 km in ideal conditions.

Degradation is real, gradual, and irreversible.

Overall Efficiency and Regen Magic

Lifetime average efficiency: 69.72% (relative to ideal/mild conditions). This is an important statistic, because all automakers seem to have overly ambitious numbers. Tesla claims 150wh/km in the software – it’s REALLY difficult to get that – I mean – nearly impossible

Energy used by the car: 54,394 kWh. Charged into the battery: 47,845 kWh.

That ~6,549 kWh difference is energy I got back from regenerative braking—basically free miles in traffic and on hills. This is noticeable, my drive to work is mostly downhill, and I use 30% less energy driving to work than I do driving home. That’s $1375 savings in just regen, but – I am getting ahead of myself.

The Highs: Charging Costs and Huge Gas Savings

Total electricity cost for 215,000 km: $9,207.~

At average fuel prices over the period – that’s 2.91L/100 km

Breakdown:

  • Home and Level 2 (mostly workplace/public): 2,151 sessions, 39,604 kWh
    • Home charging: Cost $3,233.50
    • Free or cheap public/work: Saved $2,875.46
  • Supercharging: 330 sessions, 9,100 kWh, $3,655.25 – This works out to only be $93 total cheper than gasoline – The bottom line – Public charging is the same price as gasoline.
  • Non-Tesla CCS: 28 sessions, 440 kWh, $93.51

Average: ~4.3 cents per km.

Maintenance Reality Check: More Than the Hype – And More Than I Expected

No oil changes is nice, and regen helps brakes in theory—but Canadian road salt, instant torque, constant plugging/unplugging, and early-build quirks add up.

Here are my major out-of-pocket repairs over 215,000 km:

  • Tires: 4 full sets × $1,200 each = $4,800
  • Brake pads: 3 sets
  • Rotors: 2 sets
  • Caliper replacement: $700
  • HVAC/heat pump repairs (two fixes after warranty): $4,000
  • Headlamp retrofit (both sides failed): $1,200
  • Charge port replacement (worn out from daily use): $800
  • Low-voltage 12V battery replacement: $150

That’s over $11,650 in known big-ticket items alone (not counting labour for smaller stuff or the brake pad/rotor sets). EVs still skip a lot of traditional service, but real-world costs—especially corrosion, torque wear, and Tesla-specific parts—pile up faster than the marketing suggests. Did I have more failures than average? Perhaps. The tires I can live with, the HVAC repairs – I wasn’t happy with.

Temperature: Massive Impact, Even With a Heat Pump

Tesla’s heat pump is clever—it pulls waste heat from the motors/battery/outside and uses smart tricks like the octovalve—but it doesn’t have a traditional resistive fallback heater. Below about -10°C, there’s less ambient heat to scavenge, efficiency drops sharply (my data shows it falling off a cliff), and in extreme cold it struggles to keep up, sometimes leading to failures or poor performance. That’s been a well-documented pain point for early heat-pump Teslas in harsh winters.

My real-world numbers:

  • 43% efficiency at −25°C
  • 78.3% at 20°C (peak)
  • 66% at 35°C (AC drag in summer)

Winter range can easily drop 40%+.

Speed Penalty

  • 73% efficiency at 70-75 km/h
  • 57% at 120 km/h

Highway driving hurts—standard aero physics. This stuff is pretty obvious, but I figured it is a data point worth sharing.

The Crucial Range Advice I Give Everyone Now

Here’s the hard-earned lesson: When buying an EV, make sure about 50% of the rated EPA range comfortably covers 90% of your normal driving.

Why? Stack the real-world hits:

  • ~20% degradation after high mileage
  • 30-50% winter efficiency loss
  • You rarely use 0-100% (most stay 20-80% daily)
  • Highway speeds, headwinds, heat/AC, cargo

A “500 km” car can realistically give you only 220-250 km of stress-free winter range.

Buy more range than you think you need. Future-you will thank you.

The Money Breakdown: 60-Month Ownership Savings

Let’s put real dollars to it over the full 60 months (5 years) and 215,000 km.

My Model Y energy cost: $9,207 My major repairs/maintenance: ~$11,650 Total operating cost: ~$20,857 → $347 per month

Now compare to similar-class midsize crossovers (2020-2021 Canadian retail prices, real-world mixed driving):

  1. Gas equivalent – Toyota RAV4 AWD (10 L/100km real-world average)
    • Fuel cost at $1.47/L average: $31,605 Typical maintenance/oil changes/brakes over 215,000 km: ~$6,000–8,000Total operating: ~$38,000–40,000 → $633–667 per month
    Monthly savings vs gas RAV4: $286–320
  2. Hybrid equivalent – Toyota RAV4 Hybrid AWD (real-world ~6.5–7 L/100km)
    • Fuel cost: ~$20,500–22,000 Maintenance slightly lower than pure gas: ~$5,000–6,000Total operating: ~$25,500–28,000 → $425–467 per month
    Monthly savings vs hybrid RAV4: $78–120

Even after my higher-than-expected repair bills, the Model Y still comes out ahead—especially against pure gas, and even against a strong hybrid.

Bottom Line: Does Electric Still Make Sense in 2025?

For me—yes, without question. 215,000 km of data shows energy and cost savings, addictive
performance, silent cabin, OTA improvements, and a charging network that just works.

The inconvenience of charging – is rare. If I go back and look at my charging stats, my average supercharging session was 19 minutes, yes that still works out to nearly 4 days, but most of those I was doing other things, if you compare to gas over the same time – I would have lost about 2 days of my life just filling up with gas. Anyone can justify why supercharging is “ok” – I agree it’s less than ideal – but you learn to get things done while charging, it’s a bit of a mindset change. If I was driving to Florida from Toronto – I wouldn’t take the EV. For me the max road trip distance is about 1000KM – beyond that the charging “slack” time just starts to add up. Time savings vs the pump? If I had exclusively charged at home and never supercharged — that’s 2 days back.

The downsides are real: degradation, cold-weather penalties, corrosion repairs, tire costs, headlamp/HVAC/charge-port/12V bills. If you live in extreme cold, do mostly high-speed long hauls, and don’t have home charging—pure EV isn’t for you. There will always be a place in this worth for gas powered stuff – at least for now.

But here’s the thing: I love driving this car. Experiencing the latest technological advancements from the Tesla team, the constant software updates, even the occasional quirks—they make it feel alive. For me, living on the bleeding edge of tech every single day isn’t a bug; it’s a feature.

I’m all in. No plans to go back—the savings are real, and the drive is unbeatable.

Deepfakes Kill… Make them criminal!

It’s time to talk about deepfake technology. You know, those AI tricks that fabricate videos or audio making it seem like someone said or did stuff they never did? It’s blurring reality so badly, you have to ask: “What if that viral clip of a celeb or politician tomorrow is total BS?” Or scarier, what if it’s targeting you or your family?

This tech is evolving at breakneck speed, and it’s shockingly easy to misuse. What used to need pro-level gear and $100K in GPU now happens in minutes with free apps and AI models. Deepfake content jumped from about 500,000 files in 2023 to a projected 8 million in 2025. The number of deepfakes detected globally across all industries increased 10x in 2023 (eftsure.com). Open-source tools and cheap computing mean anyone—hackers, trolls, or kids—can harness it. This is a recipe for problems.

Misuse is rampant, starting with fraud that’s hammering Canadians. We’ve lost $103 million to deepfake scams in 2025 (Mitchell Dubros), with North American cases up 1,740%. And 95% of Canadian companies say deepfakes have increased their fraud risk. Deepfakes now account for 6.5% of all fraud attacks, marking a 2,137% increase since 2022. One example? A firm lost $25 million to a deepfake CEO scam. Would you catch a deepfaked loved one asking for cash?

But the real horror is – none of this is directly a criminal offence.

Harassment, especially against young people, leading to tragedy. Deepfakes fuel bullying, extortion, and non-consensual porn—mostly targeting women and girls. In Canada, a pharmacist was linked to the world’s most notorious deepfake porn site, and Alberta cops warn of kids sharing AI fakes. Receipts: A Faridabad student died by suicide over deepfake blackmail. Twitch streamer QTCinderella (Blaire) faced humiliation in 2023, and Q1 2025 saw 179 incidents, up 19% from all of 2024 (keepnetlabs.com). Sextortion using deepfakes has driven suicides amid blackmail and isolation. If you’re a parent, think: How protected are our kids from this digital nightmare? There is no protection for this conduct under law – at least not directly.

C-63 in Canada targets PLATFORM OPERATORS – it stops short of the important step of making non-consensual deepfakes of others a crime. If someone deepfakes your kid, and plasters it on TikTok – it’s too late, the harm is done. We need to prevent this in the first place with severe consequences under law.

Deepfakes erode trust—in elections (like those fake videos of Canadian politicians), relationships, everything. Youth, always online, suffer most from amplified cyberbullying that can end in depression or worse. Europol warns deepfakes fuel harassment, extortion, and fraud, and detection lags behind the tech.

Call To Action

My plea: Governments must legislate now to shield the public, especially young folks. Canada is lagging behind the US on this. We’ve got piecemeal stuff like the Elections Act on campaign fakes and Bill C-63’s start on harms, but no full law tackles everyday non-consensual deepfakes. We need it classified as a serious criminal offense under the Criminal Code of Canada—not a slap on the wrist, but with hefty fines and jail time for creating deepfakes of anyone without consent.

I am calling on our Canadian Government to enact changes to the Criminal Code of Canada to specifically make non-consensual deepfakes a serious criminal offence, with stiff fines and jail time.

Act now: Contact your MP and demand this change. Share this, educate your circle, teach kids to spot fakes. Platforms must remove deepfakes fast, schools need education programs. Why risk more lives? Let’s make deepfakes a crime that bites back—before it’s too late. What are you waiting for?


My Proposed Legislation

Non-consensual deepfakes

162.3 (1) In this section,

deepfake means a visual or audio recording that is created or altered using artificial intelligence or other technology in a manner that would cause a reasonable person to believe it depicts the person engaging in conduct or speech that did not occur, and includes any synthetic representation that is realistic in appearance or sound;

distribute includes to transmit, sell, advertise, make available or possess for the purpose of distribution.

(2) Everyone commits an offence who, without the express consent of the person depicted, knowingly creates, distributes or possesses a deepfake of that person if

(a) the deepfake depicts the person in an intimate context, including nudity, exposure of genitals, or explicit sexual activity; or

(b) the creation or distribution is intended to cause harm, including emotional distress, reputational damage, or incitement to violence against the person.

(3) For the purposes of subsection (2), consent must be informed, voluntary and specific to the creation and use of the deepfake, and may be withdrawn at any time; however, no consent is obtained where the agreement is obtained through abuse of trust or power, or where the person is incapable of consenting.

(4) Subsection (2) does not apply to

(a) deepfakes created with informed consent by the depicted persons that has not been specifically revoked.

Punishment

(5) Everyone who commits an offence under subsection (2) is guilty of

(a) an indictable offence and liable to imprisonment for a term of not more than five years; or

(b) an offence punishable on summary conviction and liable to a minimum fine of $1000 but not more than $25,000 or to imprisonment for a term of not more than two years less a day, or to both.

(6) In determining the sentence, the court shall consider as aggravating factors

(a) whether the offence involved a minor or vulnerable person;

(b) the extent of harm caused to the victim; and

(c) whether the offender profited from the offence.

The Edge, Reimagined: Why Cisco Unified Edge is the Mind-Shift We Needed

Let’s face it: the edge has long been a “necessary evil.” Nobody wants fat servers, complex infrastructure, and constant management headaches in remote locations, but it’s been unavoidable. The cloud, while powerful, can’t solve everything, especially when it comes to the low-latency, GPU-intensive demands of modern AI, or the pervasive issue of vendor lock-in. My contention? This old way of thinking about the edge is over.

If the original Raspberry Pi was that plucky, credit-card-sized marvel that let hobbyists and tinkerers dream up all sorts of clever, small-scale computing projects, then the Cisco Unified Edge is like its ridiculously buff, impeccably dressed, and highly intelligent older sibling who just graduated from a top-tier business school with a PhD in AI.

Cisco’s new Unified Edge isn’t just another product; it’s a total mind change. We want less at the edge – less complexity, less hardware – but more power where it counts. AI needs GPUs and low latency, and you can’t always get that efficiently from the cloud.

This platform addresses that head-on. It’s an integrated, modular system combining compute, networking, storage, and security, purpose-built for distributed AI workloads. It brings the necessary power, including GPU support, right to the source of data generation. Think real-time AI inferencing on a factory floor or in a retail store, without the latency penalty of sending data halfway across the globe.

Crucially, it’s not the “same old architecture.” Cisco Unified Edge simplifies operations with features like zero-touch deployment and centralized management via Cisco Intersight, transforming the edge from a burden to a strategic asset. Security is baked in, addressing the expanded attack surface of distributed environments.

This isn’t just about putting more powerful chips at the edge; it’s about a fundamental architectural shift at the edge, driven by the integrated power of a System on a Chip (SoC). Instead of separate, bulky components for compute, networking, and security, Cisco Unified Edge leverages Intel Xeon 6 SoC processors. This level of integration is the game-changer, allowing for a far more compact, efficient, and unified platform that delivers the necessary AI-ready performance, including GPU support, without the traditional sprawl and complexity. It’s how Cisco achieves “less at the edge” in terms of physical footprint and management overhead, while simultaneously providing “more power” right where real-time AI inferencing and agentic workloads need it most, truly transforming the edge from a patchwork of devices into a cohesive, intelligent brain.

As Cisco’s Jeetu Patel noted, “Today’s infrastructure can’t meet the demands of powering AI at scale”. Cisco Unified Edge changes that. It provides the raw compute and GPU muscle for demanding AI at the edge, but in a lean, intelligent, and manageable way. It transforms the edge from a reluctant necessity into a strategic advantage, allowing sophisticated capabilities to flourish where they’re needed most.

This is a different way of thinking at the edge, and I like it. A lot. It’s going to change the game.

Agentic AI vs Deterministic Code

No question – Building apps with LLMs in agentic setups is a game-changer, but it can also be a pain in the butt compared to good old deterministic code. Craft an clever agent that summarizes docs or fixes bugs, then bam, the model updates, and suddenly it’s spouting nonsense, ignoring prompts or ignoring basic words like “yes”. Non-deterministic chaos at its finest.

Deterministic code? It’s the reliable workhorse: feed it input X, get output Y every damn time. Fixed rules, easy debugging, perfect for stuff like financial calcs or automation scripts where surprises mean lawsuits. As Kubiya nails it, “same input, same output”—no drama.

“A computer will do what you tell it to do, but that may be much different from what you had in mind”.  – Joseph Weizenbaum — Not when your using a model you probably didn’t build and not your own weights.

Agentic AI with LLMs? That’s the wildcard party crasher. These systems think on their feet: reason, plan, grab tools, adapt to goals like tweaking marketing on the fly or monitoring health data. IBM calls it “agency” for a reason—it’s autonomous, pulling from real-time vibes beyond rigid training. But here’s the kick: it’s probabilistic. Outputs wiggle based on sampling, context, or those sneaky model tweaks from OpenAI or whoever. LinkedIn rants about it: “Same prompt, different outputs.” Your app morphs overnight, and fixing it? Good luck tracing probabilistic ghosts.

This shift sucks for dev life. Traditional code: bug? Trace, patch, done. Agentic? Hallucinations, inconsistencies, testing nightmares. Martin Fowler compares LLMs to flaky juniors who lie about tests passing. It’s a paradigm flip—from control to “let’s see what happens.” Salesforce says pick deterministic for regulated certainty, agentic for creative flex. But non-determinism could means security holes, data risks, and endless babysitting. It also adds this attack vector that is really non-deterministic if the model has access to data that it needs to work – but I might not want exposed.

AspectDeterministic CodeAgentic AI with LLMs
PredictabilityRock-solid: Always consistentSketchy: Varies like the weather
AdaptabilityStuck to your rulesBoss: Handles dynamic crap
Testing/FixingSimple: Logic checks and patchesHell: Variability demands tricks
Best ForPrecision gigs (finance, compliance)Goal-chasing (support, optimization)
Pain LevelLow: Set it and forget itHigh: Constant surprises

Bottom line: Hybrids are the way—LLMs for the smarts, deterministic for the reins. Deepset pushes that spectrum view: not binary, blend ’em. It sparks innovation, sure, but don’t romanticize—the annoyance is real. Code with eyes open, or get burned. Put humans in the loop to keep things in check.

What about Agentic AI ops for network and technology? Didn’t we just say “precision gigs” are better with deterministic code? That won’t stop the likes of awesome developers like John Capobianco https://x.com/John_Capobianco from pushing those limits, and he has been doing that for years at this point. Handing AI agents the keys to critical stuff like network monitoring, anomaly detection, or auto-fixing outages. Sounds efficient, right? But it’s a powder keg from a security standpoint. These autonomous bad boys can hallucinate threats, expose data, or open doors for hackers through memory poisoning, tool misuse, or privilege escalation. Cisco nails the danger: “The shift from deterministic code to probabilistic chaos is at the heart of securing AI agents that think for themselves,” highlighting a “lethal trifecta” of data leaks, wild hallucinations, and infrastructure weak spots that could cascade into total meltdowns.

Tool are starting to emerging though for AI security, particularly from Cisco and open-source communities to advance defenses against threats like prompt injections and supply chain attacks, but there is work to be done. Things like Cisco’s open-source Foundation-sec-8B model, a specialized LLM for cybersecurity tasks such as threat intelligence and incident response, will help developers start to build customizable tools with on-prem deployments to reduce hallucinations and enhance SOC efficiency. Their Hugging Face partnership bolsters supply chain security with an upgraded ClamAV scanner detecting malware in AI files like .pt and .pkl. Broader open-source efforts include Beelzebub for malicious agent analysis and Promptfoo for LLM red-teaming, yet challenges from hackers with evolving adversarial tactics using LLM’s to attack LLM’s are very much a thing…. The system is attacking the system being protected by the system… Yeah that.

Cisco-Hugging Face ClamAV Integration: https://blogs.cisco.com/security/ciscos-foundation-ai-advances-ai-supply-chain-security-with-hugging-face
Cisco Foundation-sec-8B: https://blogs.cisco.com/security/foundation-sec-cisco-foundation-ai-first-open-source-security-model

So much more to learn, but with all of that said…. Humans in the loop is going to be a thing for awhile – at least until Skynet…

Cisco Live 2025: Community, Balance, and Big Dreams for AI

That was huge.

Still buzzing from Cisco Live 2025 in San Diego. This wasn’t just a tech conference—it was a reunion of brilliant minds and big hearts. The Cisco Community Champions dropped wisdom that flipped my perspective, like a breakout session chat that rewired how I think about collaboration. Tech Field Day delegates brought the heat over late-night tacos, debating tech’s future with ideas that stuck with me. And my Cisco colleagues and friends? They’re family—coffee in the DevNet Zone, laughs at the Customer Appreciation Event (The Killers absolutely slayed!), and moments that recharge my soul. But as I look ahead, I’m thinking about balance, mentorship, and how we’ll make a real difference with AI. Here’s the vibe.

The Community That Fuels Us

Cisco Live is all about connection. Those conversations with Champions, delegates, and friends aren’t just chats—they’re sparks that ignite new ideas. A mentor’s advice over drinks is already shaping my next move, and the energy at the CAE was pure magic. This community pushes us to dream bigger and work smarter, together. Those that challenge me, thank you for doing that. The support from those who love our work challenges us to do more. Without community – we really have nothing.

What’s Next for Me: Building, Mentoring, and Balance

This year, I’m all about building. I’m diving into relationship building, leveling up my skills in innovative problem-solving, and finding new ways to share with you all. I’m hyped to get back to blogging, maybe even start vlogging, but I’m keeping it real—it’s a lot. Tech can be a grind, and we don’t always talk about the psychological toll it takes. The pressure to stay ahead, the endless hustle—it weighs on us. I’m prioritizing balance, making time for myself, and I invite you to do the same. Check in on your friends and colleagues, be that supportive ear. We’re stronger when we lift each other up.

I’m also building a structured mentorship plan to guide others, inspired by my own mentors. Whether it’s sharing tech insights or navigating career challenges, I want to pay it forward and help others shine. Who knew my greatest challenge by my own mentors, would be to pay it forward. I have started to realize and understand that climbing this career mountain hits a plateau, and unless you can lead a team to the top – you are now stuck.

Making a Difference with AI and Country Digital Acceleration

This year, I’m wrestling with a big question: How will I make a meaningful difference with AI? It’s consuming my thoughts. AI has so much marketing hype – I want to get past that. AI has the power to transform lives—think smarter cities, safer communities, inclusive access to tech – or just making super complex things – easier. At Cisco Innovation Labs, we’re celebrating 10 years and the anniversary of Country Digital Acceleration (CDA). I’m so grateful for CDA’s support, backing projects like Digital Canopy that bring connectivity and hope to underserved areas. Their belief in our ideas fuels us, and I’m stoked to deepen our work together, dreaming up solutions that change the world. This is a great partnership, and it really gives us the ability to “Design with Empthy, Innovate with Purpose”

The Next Big Thing for Our Labs

With a decade in the rearview, it’s time to go big. What’s the next big thing for Cisco Innovation Labs? I’m obsessed with figuring this out. Maybe it’s AI-driven public safety tools, or … well… so many things I can’t talk about yet… , or sustainable tech that powers a greener future. Whatever it is, it’ll be bold, human-centered, and built with this incredible community. I’m ready to dream, experiment, and make waves. I know one thing, technology comes second, people, community and EMPTHY come first.

Keep the Vibe Going

Cisco Live 2025 was a love letter to community, a reminder to stay connected and take care of ourselves. As I chase big dreams with AI and our Labs, I’m carrying this energy forward. So, take a moment for you, check in on your people, and let’s dream big together. What’s your Cisco Live highlight? Hit me up on Twitter or drop a comment—let’s keep it rolling!

Can ChatGPT Help Me Code? For Real?

The Problem

Have I said this before? I’m not a developer. Although someone accused me of being one, I tell people I google for code snippets, then bash them together and sometimes things work. Someone said “Your a developer then”. Golly I hope most developers are slightly better than that. With that in mind, I would never suggest you just implement code you don’t understand, or code someone else has written blindly.

I had a very simple “scripting” requirement. My problem is, I can understand code, I can manipulate it – but when looking at an IDE, it is like looking at a blank page with no idea how to start. With all this talk of “ChatGPT can program for you” – I figured I would give it a shot.

I have a need for a simple macro in a Cisco Webex device, for the purposes of room automation for a Future of Work project, I need to send a basic HTTP API call via a GET request when calls start and end. That’s it.

Finding a Solution

A quick google search turned up not many specific assistive links. I did get a link for the various macro samples on GitHub, as well as some of the macro documentation located on webex.com – but they were in specific.

I spent a few minutes pouring through examples trying to find code snippets using what I needed but found nothing specific.

Then I had a bit of a thought..

Can ChatGPT Really Help?

First I tried typing the exact same thing from Google, into ChatGPT.

At first glance, this actually looks pretty good. This gives me a good basis to do what I need. Run a macro on call start.

That gave me a good blueprint – but can it finish for me? “Once the call starts send an http get”

Once the call starts I actually need to send an HTTP GET to the system I am using for automation. I figured why continue to figure this out, let’s see if ChatGPT can do that.

the response was great, but the URL I am using also has a custom port. I could of course open the documentation for that function and figure out how to send a port number – or – let’s just see.

Can ChatGPT make basic additions to the code?

Something simple, not only did ChatGPT very quickly understand what I was asking for, with a very in specific request to add code – but it even pulled out the section I had to add.

Ok, this is good! Let’s keep going.

ChatGPT Error Handling

So I took this code, and deployed it on my Webex Codec Pro in my lab, to see if it would do what I wanted. I did of course change the hostname/port/path to the back end I was working with

However I got an error, a long winded one telling me the module “http” didn’t exist. At first I figured ChatGPT wouldn’t be able to solve this, but gave it a shot. I copied the error message verbatim from the macro log directly.

To my surprise, ChatGPT totally re-wrote the code in another manner to achieve this while removing the http function that was “missing”

We can get back to the logging differences later on.

Did it work? Back to the Documentation

Not as well as I had hoped. The macro didn’t appear to be “doing” anything. No errors – just no action.

I took a moment to look at this “event” that it was trapping. “CallStarted”

This event, doesn’t exist. From my searches, it never has. So back to the documentation we go.

I did try and use ChatGPT to fix the problem.

Unfortunately when I asked for help, ChatGPT gave up on me. I tried it a few times in case it was a busy issue but I couldn’t get a response to my problem.

Back in the documentation under “Events” I was able to find the “CallSuccessful” and “CallDisconnect” events. I wonder if these would work so I changed the code.

Success! It did work. While ChatGPT was busy I was able to get this working without ChatGPT.

I finally was able to get ChatGPT to work again, and I was able to say “CallStarted” doesn’t exist. I was able to get this response, which is correct. This code – works.

Can I use ChatGPT to write code?

There are a few challenges. It did help, I got this done in about 1/5 the time it probably would have taken me. I also didn’t really have to engage another team mate, leaving them free to work on their normal stuff.

There is also the learning aspect, these examples are now something I have learned, my skill in xAPI has improved through this exercise.

Who’s Code Is This? Can I use it?

So who owns this code? Who gets credit for it? I won’t try and take credit for owning the code, or claiming I wrote it. I am at best a hack (again) – but able to hack this to make it work. The challenge here, is where did this code come from? ChatGPT doesn’t “own” it. This code came from somewhere.

Did ChatGPT find this code on GitHub somewhere? In some kind of documentation? Was this the result of copyrighted knowledge? What is the license on this “code”?

For the purposes of learning or hackery – this might be fine, but to use code like this in a commercial environment – I’m not sure that would be ok, at a minimum there would be no way to know.

There is significant IP issues here, but this simplistic attempt at using ChatGPT to “get things done” worked for me. I’m just not sure I could legally and ethnically use it for commercial work.

I decided to ask ChatGPT about the license. The response was interesting. “I don’t generate code” I think that is arguable.

Then I asked about a commercial purpose. It wasn’t me to check the license terms of the code, that it provide from who knows what source.

My take?

This was an interesting experiment, that I didn’t plan to make – but it worked out in the end. I wanted to share how I was able to use ChatGPT to actually do something useful. So many questions came up during the process. Where is this going now? I have no idea, but it sure is interesting. I would be careful about taking what it says seriously, or using serious or important code without understanding what it is doing. What I am doing is reasonably benign, and while I am no developer, I do understand what this script is doing.

Upstack Your Thinking – With APIClarity

If you asked me two years ago if I was going to write this blog – I would have told you no way. I’m a technology architect – I design things. As many that know me well will tell you, I say it often, I am “not a coder”.

“But wait, didn’t you go to college for programming?” – not really, I took some college courses (Borland Turbo C), and in high school I did some Visual Basic, and I have done some scripting. The reality is that if you write some code – I can read and understand what you are doing, but asking me to write something from scratch, is about as useful as asking a trombone player to paint like Picasso – my brain isn’t wired like that.

Micro-services and Cloud Require Coding Skills

Ok, i’ll admit that – the new world does require more skills than I have. So this year, I took some GO courses, I also did more Python. Would you like me to admit that I enjoyed it? I really tried, and for awhile it was going well, but it just doesn’t feel like me – nevertheless – it helped a fair bit.

I actually enjoy coding more on embedded stuff. Arduino, robots, Nvidia Nano’s – maybe it’s the connection to the hardware that keeps my mind interested. I have also dabbled with some ML stuff, and creating my own ML models.

The cloud requires just a tad more coding skills – and – I am working on it, but alas, my mind still doesn’t work that way. I think however, I found a hack.

Move Up Stack – Don’t Change Mentality

The good news for anyone who is used to cables, switches, routers and servers – is that this new world isn’t any different than the old one. It just shifts everything you know – up in the stack. It was when I started to think this way, everything was in focus.

Being a long time communications nerd, and someone who started off in TDM telecom – for me, communications is pretty standard. Everything has to communicate to function and work and just as I made the migration from TDM to IP, it’s time to migrate from monolithic to micro-service.

Albeit, I won’t lie, I was in my 20’s when I started VoIP, and I was the only one at my company who was even willing to go near it. People looked at me like I had two heads when I told them what it did. “How do you get ring voltage without a trunk?”. I digress.

The bottom line is that the physical, datalink and even the network layers are now being abstracted from applications. Run it anywhere you want, don’t worry about what is underneath. Yeah, that sounds like a plan – just trust the environment underneath. The reality is that you shouldn’t, and your applications should be protected from the chaos that now exists – underneath. This does however mean you have to write your applications and deploy them in an intelligent way, remember, you are the pointy end of the communications stick now, no firewall to save you. With great power comes great responsibility, a responsibility that used to sit in the hands of network engineers.

Security In The Hands Of Developers

My friends look at me like I have gone crazy around the campfire (no literally) – they laugh out loud when I make that statement. The good news is that tools exist to help, I have always said that security is a layered approach, never rely on a single thing to keep you safe.

Applications are complex beasts – and there is hardly an application that uses 100% its own code, much of it comes from open source or third party sources – so how do you know if you can trust it? What if that application is updated, what if someone else finds a bug in some code you used – but – you don’t know. These are big things to think about – but the big manufactures like Cisco, are working on tools for that (Disclaimer – I work for Cisco). Scrubbing your applications to make sure you are not using out of date tools.

Many of the tools will monitor your code, APIs, and micro-services for intrusion or bad actors, some do it through traditional “firewall” type methods, some by interrogating traffic, but there is an increasing need to analyze transaction level traffic to both ensure performance and security. AppDynamics has been doing much of this for some time, both security and performance. See more of that here from Tech Field day. That said, we have new tools we are working on.

You Need A Baseline To Detect Problems and Threats

Unless you know every single call your APIs make – how do you know what is real and what is not? What if someone messing with your services? What if some developer has written sloppy code or using an API in an unexpected way. You need a baseline. There is actually a standard for this called the OpenAPI Spec. You can specify how your API works – but what if your inter-service API is a mess, or built over time. Trying to build out a spec could be difficult – or what if it isn’t your API.

The good news is tools exist to help.

Everything Becomes Clear with APIClarity

Cisco developed an application called APIClarity – apiclarity.io that will sit inside your micro-service infrastructure and watch your API calls from inside the service mesh (like wireshark on a monitor port) and not only watch what is happening, it will ensure your services are operating as expected based on your specification. The good news is, it is free – no, seriously go get it from github and try it out.

If you don’t have an API Spec now, then APIClarity will help you generate one, by monitoring traffic and building that specification.

This works by putting the service-mesh equivalent of “PCAP” into your service-mesh to deliver all API calls to the APIClarity engine, which then builds your API Specification from scratch. Once you have built that specification, you can save it, and when something unexpected happens – it will let you know.

The beauty is actually in the tools simplicity, and at the end of the day everything is pretty easy to understand if you just – upstack your thinking.

DEMO Time

It wouldn’t be good without a demo right? How about a step by step build, no fancy code writing, no serious scripting – this is something you as a network engineer CAN do on your own.

Innovation In Relaxation – A Day For Me

I’m going to take a bit of a departure from what I normally write. Ok, I know what you might be thinking – I don’t write much. The reality is that since joining Cisco Systems some time ago, I have been working on some amazing projects – but as you can imagine such projects are generally internal, and many are not for public consumption.

In the last little while, we have been up to some cool stuff, one being a project call “Digital Canopy” amazing project to service over 15,000 people with free internet during the COVID-19 pandemic. This was one heck of a project, with so many hurdles to overcome. While donating free sounds like a great idea – and it is – that is just the beginning. Between lockdowns and shutdowns it took us almost a year, in the summer heat, in the winter cold – but we got the project done. Below is a quick video talking about what we did, and some of my team helping get the job done. If you catch me at Cisco Live in the future – and have a challenge coin to trade – I just might have a digital canopy one for you.

COVID Stress

I would be lying if I said I was immune to COVID stress, from having very young children at home to a changing technology landscape and so much to learn. There was no question that times were tough. It was easy for some to say “Just work in the evening” but for those of us with young children, or children with needs – after a day of dealing with our kids – working another 4-6 hours at night was just impossible.

Thankfully, Cisco was there for me, with managers that were supportive and understanding, even when it was hard to get things done. Technology was obviously my friend and helped out a ton. However it simply was not enough.

The weekends have not felt much like weekends in some time, with young children, and ongoing lockdowns and limits, there was almost no escape from the daily grind of life. My friends who were physicians told me that mental health challenges were on the rise, and they went from the majority of their day working with chronic care patients to all new acute middle aged patients who had never had mental health challenges before. We were heading for a mental health crisis.

Mental Health is Health

Well, that is pretty easy to say isn’t it. From companies who tout mental health programs to fancy hashtags, it seems to be all the rage to get on the “we support mental health in the workplace”. Yet I still have friends working for organizations that claim to really care – being let go when things get difficult.

The Canadian Mental Health Association tells us that by age 40 – 50% of the population will have or have had a mental illness of some kind. A complex play of factors can cause mental health challenges, everything from genetics, biological, personality and environmental factors. Oh, you mean like a global pandemic? It’s easy to say “You have it easy compared to…..” but this isn’t a slow adjustment, we woke up one morning and were told “Do not go to the office” – for us there was zero notice, we didn’t even know the day we left we would never return.

One in five Canadians screened for positive symptoms of depression, anxiety or posttraumatic stress disorder as a result of COVID-19. Including me. One in four women screened positive for at least one disorder, compared with 17% of men. 68% have reported that their mental health had worsened since the start of the pandemic.

Cisco Takes Action

On May 22nd, Cisco Systems, at the instruction of the CEO Chuck Robbins and Chief People Officers Fran Katsoudas announced ‘A Day for Me’ – encouraging all of its workers to take a day off to rest on May 22nd. At first, some of us even called it “Chuck and Fran Day” – this was direction from way up high that it was time for every Cisco employee to take a day off. More on that here..

“Our wellbeing always comes first, Which is why we continue to focus on our people, talk about mental health, and invite experts to our Cisco Check-In sessions. Now is the time for us to try new things in support of our wellbeing – like taking a collective break.” – said Fran

There are reasons Cisco has been named “World’s Best Workplace 2020” – and this is pretty much the explanation of why. We all feel a direct connection to our leadership, even in such a huge company.

Why “A Day For Me” Is A Game Changer

Ok, so with all of that said – why do I personally feel this is such a game changer. First, I have been living it, we just came off a recent “Day for Me” on August 3rd (In Canada) and I want to explain why this is a game changer. Many people will say “We have many civic, state, federal and other holidays, why can we not just add more”

The key is really in being just a little bit selfish, in order to look after your own personal mental health. We all have our stressors in life. Some have families with children, some have parents, grand parents or other loved ones that require our attention, our own work activities. However once the weekend comes along, or a national holiday – everything in our day to day lives grinds to a halt – and our other set of priorities, our other set of responsibilities – grabs on like an iron fist and says… ok – mode switch – just like it happens every weekend – and for many – we are trading one stressor for another.

A “Day for Me” is exactly that, it’s for ME – nobody else. So my family still goes to work, school and daycare, my job, my boss, and my co-workers all take the day off – so I will not hear from them – and for once, and for that day… I can do whatever I want, with no responsibilities for that 8 hours period…. What did I do on this day for me? Well, we are a little limited due to the pandemic, so I kinda goofed off and played with toys, I made lunch, I went shopping for an hours by myself for no reason – I had breakfast at a local restaurant a friend owns (She kinda did ask me to fix her WiFi…). I did everything without a plan… I made a goofy video while sipping a drink at a picnic table on an iPhone (Still impressed I can basically shoot, edit, product and publish a video ON A PHONE)

It was when this was happening, on luckily a beautiful sunny day where I had nobody that needed me for something, nothing that HAD to be done that minute – I started to realize that “A Day for Me” isn’t just another day off, it isn’t like a long weekend or a national holiday. This was very truly and very uniquely a very very strong Mental Health action that Cisco was taking – somehow they had figured out that we needed a break… FROM EVERYTHING.

This is something that Cisco needs to continue – and other companies should start adopting. Just shut down, for a whole day, empower that employee to let the rest of the world motor on – and for them they can just do whatever they want. For some maybe that is taking their kids to an amusement park, or visiting family they don’t get to see, or attending that Yoga class that you never get to, or going swimming because the pool will be empty.

Or maybe.. just maybe – it is so that “A day for me” can for once, really be about just me, and a chance to unwind the brain and release some mental stress, doing a little bit of nothing.

There isn’t a single employee I have spoken to after “A day for me” that feels refreshed, and every single one feels better than after a typical weekend, or national holiday.

Final Words

Ever wake up in the morning and don’t know where to start? How about worried about the next day activities, not sleeping much, maybe binge eating, not getting things done as much as you used to, feeling disconnected or just not like yourself. News flash, that is normal – and it is all about Mental Health. If you don’t go through mental health challenges, then you are simply not human. Some people can power through, some can muscle it out. Have you ever had a stomach flu or pain so bad you just had to goto the hospital? Mental health is no different – sometimes you just need to get it checked. This year I took multiple steps to address my own mental health, including talking to my family doctor, who did offer up some sound advice – and yes some of it was the normal “Eat healthy, get sleep” stuff, but others were great ways to help me get things in check. At first I thought it was all goofy advice, but my doctor insisted if I gave these things a shot – it would help, and it did, they were right.

If like me you think “Hmmm maybe something is wrong” – call your family doctor, and have a chat. It is worth it, and should you need more help, the government in your country will have resources, and your company probably also has employee self help programs and assistance programs.

Oh… and if you are working for another company that isn’t Cisco Systems…. Perhaps you should send them this blog article, because frankly… they are missing out on one heck of a game changing program.

In the USA, if you do not have a family doctor and need a referral, drop the SAMHSA hotline a call they will help you find help in your area – 1-800-662-HELP (4357)

In Canada the national hotline is 1-888-353-2273

Juggling the many masters of IT in a hacker centric world against nation states

In the last few days we have learned of a very serious cyber attack launched against many organizations by a still unconfirmed attacker. Some suggest nation states are behind it, but whomever has done it, was very very smart. This will go down as one of the most genius hacks of all time. Solarwinds one of the largest and most prolific network/server management platforms was hacked from the inside, their supply chain of software actually distributed malware, to the inside of the network, behind firewalls, into a system that is the nerve centre of networks. The hack itself is frankly genius. It’s pure evil – but it’s genius.

There are many blogs out there taking on the task of taking apart the hack itself – I will not do this here, I am not a security expert. I would encourage you to seek those out.

There is a 100% chance your organization will be attacked, and even odds that it will actually be breached. This is something that you need to understand and accept – have plans for each of these, but, what if you do not? This attack happened from the inside out from a trusted software vendor. No firewall could have protected against this.

We were all new once

Do you remember that? I do. Wow did I do some stupid things while learning. Thankfully in my early career days I had some more senior engineers who helped (or took pity) me learn. If it wasn’t for those people, I wouldn’t be where I am.

Even the experienced make mistakes

I have a confession to make. Even after years of experience, I have done dumb things. I have taken down large environments in the middle of a business day, I have broken things – all things that could have been avoided had I made the right choice. Most of those mistakes were a single command, or mouse click – followed by “Oh Sh–” and an immediate learning moment. Understand that technology engineers often have to make split second decisions that can result in either very positive or very negative outcomes, and planning time is not always on our side. Sometimes we are also working alone, with nobody to discuss the plan with, and are working against some kind of imposed timeline.

Some manufacturers say “You can replace this CPU card in the middle of the operating day” — the so called “Hot Swap”. Ok, would you do this though? Ask yourself one question.. The manufacturer says I can – but should I? What are the repercussions if it goes down when I am doing that? Remember, you are the one making that decision – do not blame the manufacturer if it goes wrong.

Limited resources result in complacency and cut corners

When people are pushed to the limit, especially those in smaller IT organizations that is where corners get cut. Maybe you used Telnet when you should have enabled SSH, or used the same passwords for a bunch of accounts. For years and years, service accounts were built with full-admin rights to the entire network and even given interactive logon rights. We did these things and didn’t think anything of it. Now we know better, but did we go back and fix every single little thing we ever did wrong?

Everyone at some point – did it wrong. The question is, did someone else go back and do it right?

We need to stop the “Blame Game” which is so prevalent in our industry. My cloud application went down, blame the cloud provider, the switch went down when I typed this command that should have been ok, blame the manufacturer.

We need to learn, and grow, and make better decisions and understand that sometimes things happen. The question is, did you think about what the consequences were, and weigh the positive and negative outcomes of what you were about to do. Now imagine doing that calculation in your brain – with – every – keystroke.

Help each other, avoid standing in the ivory tower

This week, many people will lose their jobs, as a result many will lose their homes and some their livelihoods, because someone needed someone to blame. For what? Possibly a human error. That’s right, behind every one of these electron switching super computers, firewalls, switches and lines of code, is a real fallible learning human being. Who makes mistakes, and grows from them.

Instead of being critical of each other, now is the time to band together and help everyone remediate the damage, and take this as a serious warning that we need to take certain things more seriously. Password management, inter-domain firewalls, security posture on operating systems.

So in that light, I urge you that if you, this week, are looking at your IT team, who right now might be panicking about what to do, questioning if they were attacked, questioning if they were impacted and worried for their job, and you are wondering if they know what they are doing about this. The reality is that almost nothing could have been done to protect against this.

Ask them these 3 simple questions.

  1. Are we affected by this?
  2. What are we doing about it?
  3. How do we prevent this from affecting us again, or in the future.

Then tell them you know their job is difficult – they have literally thousands of hackers, and government bad actors against them – and they are just a small IT team running your business. It is a hard job and they need your support.

Cisco Live 2019 – My First Year as a Staffer

What is is like to be a staffer?

When you become a Cisco staffer, the event changes for you.  With responsibilities that involve “whatever got you there”.    Contrary to what many might think, most Cisco internal employees do not get to go to Cisco Live!, you need to have a reason.   As one of my internal mentors tells me “Find the hook, find something they need you for” and then you just might get to go.

This year, our team built the “Cisco Innovation Network” a series of booths all around Cisco Innovation and pushing the limits of Cisco technology both home and abroad.  Our Toronto Co-Innovation Centre alone had 3 demo’s we had to build.

This means the responsibility to keep things running, get things setup, and ensure everyone above and below is happy.   It must run perfectly – or at least appear that way.

Finding time for social activities is a challenge, and you have to pick your schedule carefully.    I found myself rushing to an appointment, and then rushing back to the booth to help my team.   There was little down time, lunch was often on the go – on one day it was skipped.

The event is for our customers, so even with a full pass, you still cannot just waltz into a session – you have to wait for everyone else to enter so customers can get the best seats, and then only if there is space, you can go in.    This year I couldn’t find time to go to a single session, but that is ok, they are recorded.    I didn’t get to see the keynotes, as we were in our booth, and due to space constraints we were asked to leave the space for the customers.

Event Prep

This was very busy, with one of our projects coming down to not just the wire, but being completed on the show floor.     Not due to lack of planning, that was actually our plan, with one of our partners coming with us, they finished their work only a few days before the event, and we did the integration LIVE for the first time on the show floor.

Our team setup a mock up of our demo’s here in Toronto, just the way they would be on the show floor, and then started to inventory our packed gear.   We counted every part, and brought along extra gear just in case.

 

 

We couldn’t miss anything, if we did, even shipping was not fast enough, so we brought spare parts, and even spare gear so that no matter what happened we would be ok.  So we placed everything we were going to take out.

 

 

We also made sure that we split gear across who was travelling.  We couldn’t lose an entire demo, some of these things were one off designs and proofs of concept so we couldn’t lose them.

Then we realized we needed extra things, like cables, connectors, couplers, power strips.  All things you cannot just “run out and get” in San Diego.  There isn’t a Wal-Mart or Best Buy next door, so it all had to come with us.

A view under the covers….

We arrived at #CLUS on Saturday, with the plan to start checking our booth out.    We wanted the extra day to ensure everything was going to go ok, so direct from the airport to the show floor.    We found a few issues, short cables, some cables that were trapped under some things,  and it was crazy on the floor.  You wouldn’t think we were opening in two days.   No carpets, many vendors had not even shown up yet.

As we pushed to finish our build out on Sunday, everyone was arriving, and we could finally get things buttoned up once and for all.     I had my first appointment on Sunday this year.   Meeting with the Cisco Champions at the Cisco Store.

As a former Cisco Champion before I joined the company, I was asked to host the team during the tour at the on site Cisco Store.   We have been working on Innovation in Retail for some time here, and it was a great opportunity to share what we have been doing in Toronto and what the Cisco Store has been doing with the Champions.

 

Monday morning came, and the World of Solutions opens at 10AM, that means arriving as early as possible to make sure nothing went wrong over night.   The floor does not open to anyone until 8:30 – that means 90 minutes.

Everything went ok with our go live, we had a small “heat” issue in our little networking closet (someone tossed something against the front of the rack, and then someone put the  back of the rack almost back on so it couldn’t get any air) and then a power problem due to lack of plugs.

Only a few minutes before the floor opened our entire network in our little pod “exploded” we still do not know what happened but every machine reported an IP Conflict, and the IR829 for our demo just stopped responding.    We took the nuclear option and powered off/on – and that problem never occurred again.    It was a tense moment.

Here is quick montage of how the morning went…

 

 

It isn’t all fun and games…

We had many responsibilities this year.  With 3 demo’s and only 5 staff from our centre, it was tight.  Add in that some of us had responsibilities outside of the booth area and the days became very long.

Hosting the Cisco Champ’s in our booth was great along with the probably thousand demos we did during the week.

Then running from demo, to theatre talk, back to demo, back to off site interview or talk.

 

 

I hosted a group from Europe on a Smart Building Tour of the World of Solutions one day,  and then 5 talks in our booth on various days and times.  One of them was before the event even opened.

Daily we had to ensure the demos were working in the AM.   Then throughout the day.

 

Don’t forget your roots…

The community aspects of Cisco Live are very important to me personally as well as professionally, so I did ensure to walk by andtry and stop at the Social Media Hub when I was in the area.

 

This year it was located near the Sails Pavilion, and was a great location.   The “hat” display was a nice touch as was the “build your own lego avatar”

This is a common place for the friends, family and colleagues who meet every year to talk and meet.   There always seems to be someone hanging out there.

As is normally the case, in and around the event conclusion daily many people find their way to the SMH to meet with friends and discuss the learning of the day.  Sometimes we get some cool visitors who stop in to share their wisdom.  A crowd generally gathers when @denisefishburne shows up.

 

This group is always important to me – it is literally the reason I attend Cisco Live.

Next year…

I will be there.  The question is will I find my hook, my reason.   Just because we had a booth space this year does not mean we will next year.     Either way the event is about everyone that comes to it.     The slogan this year “You Make Possible” is very fitting for this event.   Without the community, without the people, and without the passion Cisco Live would not be what it is today.

Before I sign off, I would like to just provide my wrap up video of the event

See you in Las Vegas 2020!