<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://savraj.co/feed.xml" rel="self" type="application/atom+xml" /><link href="https://savraj.co/" rel="alternate" type="text/html" /><updated>2025-11-23T17:02:44-05:00</updated><id>https://savraj.co/feed.xml</id><entry><title type="html">Expedia and SIXT: My Surprise Cancellation Fee</title><link href="https://savraj.co/2024/12/22/expedia-sixt-surprise.html" rel="alternate" type="text/html" title="Expedia and SIXT: My Surprise Cancellation Fee" /><published>2024-12-22T00:00:00-05:00</published><updated>2024-12-22T00:00:00-05:00</updated><id>https://savraj.co/2024/12/22/expedia-sixt-surprise</id><content type="html" xml:base="https://savraj.co/2024/12/22/expedia-sixt-surprise.html"><![CDATA[<p>I recently tried to cancel a rental car reservation on Expedia—nearly two weeks before my trip—only to discover they’d keep $100 of the $207 I’d already paid. Turns out, SIXT has a policy allowing them to pocket $100 from any cancellation, and I find it incredibly frustrating—especially given that I’ve never encountered a non-full-refund policy for rental cars so far in advance. It feels like a complete trick.</p>

<p>As someone who’s been loyal to Expedia for almost 20 years, I’m left scratching my head: <strong>What’s the point of the Expedia brand if policies aren’t consistent across their platform?</strong> I understand that airline tickets might be non-refundable, but rental cars and hotels are almost always fully refundable—or, at the very least, come with a clear, flashing warning about partial refunds. I saw no such warning here.</p>

<p>When I reached out to Expedia’s customer support—via online chat and phone—I ended up waiting on hold while they “looked into it,” only to receive an email days later saying, essentially, <strong>“Sorry, we can’t do anything.”</strong> Not exactly the customer service response I was hoping for.</p>

<p>At this point, I’m considering disputing it on my credit card, though I’m not sure how successful that will be. Ultimately, it’s about transparency: if Expedia wants to maintain customer trust, they need to make these policies crystal-clear right from the get-go. After all, it’s not just about this one reservation—it’s about retaining loyalty and goodwill in the long run.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I recently tried to cancel a rental car reservation on Expedia—nearly two weeks before my trip—only to discover they’d keep $100 of the $207 I’d already paid. Turns out, SIXT has a policy allowing them to pocket $100 from any cancellation, and I find it incredibly frustrating—especially given that I’ve never encountered a non-full-refund policy for rental cars so far in advance. It feels like a complete trick.]]></summary></entry><entry><title type="html">Mowzilla: My Self Driving Lawnmower Project</title><link href="https://savraj.co/2024/01/16/Mowzilla-My-Self-Driving-Lawnmower-Project.html" rel="alternate" type="text/html" title="Mowzilla: My Self Driving Lawnmower Project" /><published>2024-01-16T00:00:00-05:00</published><updated>2024-01-16T00:00:00-05:00</updated><id>https://savraj.co/2024/01/16/Mowzilla-My-Self-Driving-Lawnmower-Project</id><content type="html" xml:base="https://savraj.co/2024/01/16/Mowzilla-My-Self-Driving-Lawnmower-Project.html"><![CDATA[<p>So during the pandemic in 2020, I was at home at my parents house – and I had some spare time. I also had access to my dad’s lawnmower, and as a hardware and software engineer, I had no choice but to largely automate the monotony of lawn mowing. So I went about it. Here’s how I did it, as a youtube video:</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/qQCpiGOFzdg?si=dfBFCurLgngFJUeh" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen=""></iframe>

<p>Some bonus content, that I didn’t include in the video:</p>

<ul>
  <li>Tuning the parameters on the Ardupilot controller was a tricky trial and error process, but when achieved, it worked quite well.</li>
  <li>I had the opportunity to meet Chris Anderson, editor-in-chief of Wired Mag and the founder of <a href="https://www.diydrones.com">diydrones</a> at Self Racing Cars in California many years ago. He’s a great guy!</li>
  <li>It’s amazing how powerful Ardupilot actually is! Looking forward to making an even better version of this!</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[So during the pandemic in 2020, I was at home at my parents house – and I had some spare time. I also had access to my dad’s lawnmower, and as a hardware and software engineer, I had no choice but to largely automate the monotony of lawn mowing. So I went about it. Here’s how I did it, as a youtube video:]]></summary></entry><entry><title type="html">Help But Disrespect</title><link href="https://savraj.co/2022/11/28/help-but-disrespect.html" rel="alternate" type="text/html" title="Help But Disrespect" /><published>2022-11-28T00:00:00-05:00</published><updated>2022-11-28T00:00:00-05:00</updated><id>https://savraj.co/2022/11/28/help-but-disrespect</id><content type="html" xml:base="https://savraj.co/2022/11/28/help-but-disrespect.html"><![CDATA[<p>“May we always conduct ourselves with kindness and grace.”</p>

<p>An interesting scenario that I often come across is “let me help you” but in the process of helping you, there are undertones of disrespect and “how could you ever exist like this you poor sod, you had no idea what you were doing, it’s all wrong.”</p>

<p>So the basic premise here is that we should always conduct ourselves, when possible, with kindness and grace – but we often don’t – I’m as guilty of it as the next person. I’ll see a project or a problem and just wade in and tear it apart, shift it in to high gear, solve it quickly, but in the process, I’ve ruffled feathers, bruised egos, and changed things that didn’t really need to be changed or offended stakeholders and operators who have been doing things one way for many years.</p>

<p>Is that really a win? In the coldhearted business sense, it is – the existing players need to check their egos and accept harsh new realities.</p>

<p>But in the long run, if you want to build relationships and strength as a team – there are better ways to operate. Basically, people will never remember what you said or did, but how you made them feel. So if you make people feel stupid, I don’t think that’s the best in the long run.</p>

<p>You can do things right, and at the same time win over hearts and minds – putting forward the same effort but just tweaking your approach to a problem.</p>

<p>So, “May we always conduct ourselves with kindness and grace,” unless the situation really, really demands otherwise.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[“May we always conduct ourselves with kindness and grace.”]]></summary></entry><entry><title type="html">Flickering Lights As Seen From The Air</title><link href="https://savraj.co/2022/09/01/flickering-lights-as-seen-from-the-air.html" rel="alternate" type="text/html" title="Flickering Lights As Seen From The Air" /><published>2022-09-01T00:00:00-04:00</published><updated>2022-09-01T00:00:00-04:00</updated><id>https://savraj.co/2022/09/01/flickering-lights-as-seen-from-the-air</id><content type="html" xml:base="https://savraj.co/2022/09/01/flickering-lights-as-seen-from-the-air.html"><![CDATA[<p>I love a good window seat. If you happen to be flying in the evening or night, you get to see the world below – all the cars, highways, buildings, and lights. You may notice an interesting effect, some terrestrial lights seem to flicker oddly and rapidly. This happens anywhere in your field of view of the ground, regardless of whether you are looking through the jet-engine’s air stream.</p>

<p>The lights – street lights, lights on buildings and homes – rapidly flicker on and off with different and non-constant frequencies. Interestingly, they are adjacent to other lights that remain constant, and I’ve only rarely seen this flickering on the ground. But from the air, it seems like it’s all over the place. Dozens if not hundreds of oddly flickering lights.</p>

<p>After thinking about it, I think these lights are obscured by tree branches – and the light is flashing as the branches pass between me and the light source.</p>

<p>Effects of the air medium are discounted as non-flashing lights are adjacent to flashing lights (tree branches obscure one light and not the other) and it happens whether the light rays are incident on the jet engine’s hot air stream or not.</p>

<p>It’s unlikely to be “just broken lights flickering” as they are far more common as seen from the air than the ground.</p>

<p>So that’s my conclusion. The next time you’re flying at night near a city, look out for the ocassional rapidly flickering lights – the flickering comes from branches and brush interrupting the light rays. Thanks for reading.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I love a good window seat. If you happen to be flying in the evening or night, you get to see the world below – all the cars, highways, buildings, and lights. You may notice an interesting effect, some terrestrial lights seem to flicker oddly and rapidly. This happens anywhere in your field of view of the ground, regardless of whether you are looking through the jet-engine’s air stream.]]></summary></entry><entry><title type="html">Understanding Your Tesla’s Energy Charts</title><link href="https://savraj.co/2021/10/30/understanding-your-tesla's-energy-charts.html" rel="alternate" type="text/html" title="Understanding Your Tesla’s Energy Charts" /><published>2021-10-30T00:00:00-04:00</published><updated>2021-10-30T00:00:00-04:00</updated><id>https://savraj.co/2021/10/30/understanding-your-tesla&apos;s-energy-charts</id><content type="html" xml:base="https://savraj.co/2021/10/30/understanding-your-tesla&apos;s-energy-charts.html"><![CDATA[<p>There are a couple charts on the “Energy” tab in the Tesla user interface. They’re packed with interesting info and I thought I’d take a minute to explain what’s going on.</p>

<p>First we’ll tackle the <em>Consumption</em> chart.</p>

<p><img src="/assets/images/tesla-energy-consumption-chart-1-savraj.co.jpg" alt="image tooltip here" class="img-fluid" /></p>

<h3 id="the-x-axis-miles-ago">The X-Axis: “Miles ago”</h3>

<p>I’ve circled the x-axis and the x-axis ‘switcher’ in red. When you look at the x-axis, read the x-axis value and then say ‘miles ago’. So the line marked “4” is what was happening “4 miles ago.” All the way at the right edge of the chart is “NOW” aka “0 miles ago.” As you move left from the right edge of the chart, you’re going in to the past. You can see a maximum of 30 miles into the past with the “x-axis switcher” control.</p>

<h3 id="the-y-axis-energy-per-mile">The Y-Axis: “Energy Per Mile”</h3>

<p>Think of the Y value as rate – that is, how fast you’re using energy. The rate you’re using energy is expressed as “energy per mile of travel” or “energy needed to go one mile.” We’ll get in to watthours later, but just think of them as an amount or quantity of energy.</p>

<p>Now let’s look at some points on this graph and see what they express. Find the the point at ~(x=4, y=600) – this point falls on the (admittedly jagged) line that makes up our chart. What that’s saying is “(4 miles ago, we were using 600 watthours per mile)”.</p>

<p>Another way to look at the y-axis: If you’re low on the y-axis you are being super efficient (when it goes negative, we’re actually charging the car’s battery), and if you are high on the y-axis, you are super inefficient. For example, on this chart, we have the point (1, -300) which means “1 mile ago, we were using -300 watt-hours per mile”. Again, that just means we were recovering energy from our forward motion. So at that moment, one mile ago, we were GAINING 300 watt-hours per mile of energy – we were charging our battery–instead of using energy.</p>

<p>It’s also important to realize that the (X, Y) point is a moment in time. So at point (4,600) – 4 miles ago we were using 600 watt hours per mile – but that moment was very short, as a mile later we found ourselves at (3, 300) – 3 miles ago we were using 300 watt hours per mile.</p>

<h3 id="does-this-chart-ring-any-bells-it-should-if-you-took-calculus">Does this chart ring any bells? It should, if you took Calculus…</h3>

<p>Like any good calculus student, you would have recognized this chart by now. It’s actually the most recent segment of the first derivative of a different, easier to understand chart: miles traveled on the X-axis and energy used on the Y-axis. Remember math and stuff?</p>

<h3 id="solid-black-line-rated-performance">Solid Black Line: Rated Performance</h3>

<p>For the Tesla Model 3, the solid black line is a “rated” value of about 225 watt-hours/mile. What that means is, your car, as created by Tesla, should use energy at this rate. This line is a fixed line – it’s not changing based on how you drive your car, as far as I can tell.</p>

<h3 id="the-dashed-line-average-for-the-chart">The Dashed Line: Average for the Chart</h3>

<p>If you’re looking at the last 5 miles of data (as selected by the x-axis switcher control) the dashed line is your average of all the y-values (rates of energy consumption for the last five miles). If this chart has an overall goal, it’s to keep your dashed, average line below the solid, rated line. You can smile smugly to yourself when you achieve this, because it means your Tesla is getting better efficiency than its makers designed it for.</p>

<h3 id="wait-so-whats-a-watt-hour">Wait, so what’s a WATT-HOUR?!</h3>

<p>Ah, we finally got to my favorite topic. I can write about this for days. That’ll be my next post.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[There are a couple charts on the “Energy” tab in the Tesla user interface. They’re packed with interesting info and I thought I’d take a minute to explain what’s going on.]]></summary></entry><entry><title type="html">Elon Musk’s How To Run A Business</title><link href="https://savraj.co/2021/08/22/elon-musk's-how-to-run-a-business.html" rel="alternate" type="text/html" title="Elon Musk’s How To Run A Business" /><published>2021-08-22T00:00:00-04:00</published><updated>2021-08-22T00:00:00-04:00</updated><id>https://savraj.co/2021/08/22/elon-musk&apos;s-how-to-run-a-business</id><content type="html" xml:base="https://savraj.co/2021/08/22/elon-musk&apos;s-how-to-run-a-business.html"><![CDATA[<p>In a <a href="https://youtu.be/t705r8ICkRw" target="_blank">recent interview with EverydayAstronaut</a>, Elon Musk revealed his 5-step plan for getting things done. It resonated with me, and I imagine it resonates with many of us in tech. The five points are…</p>

<h5 id="1-make-your-requirements-less-dumb">1. Make your requirements less ‘dumb’</h5>

<p>The requirement list for a particular project should be thoroughly scrutinized. One of the gems in the talk was the following quote:</p>

<blockquote>
  <p><em>“Your requirements are definitely dumb. It doesn’t matter who gave them to you. It’s particularly dangerous if a smart person gave you the requirements because you might not question them enough… Everyone’s wrong, no matter who you are, everyone’s wrong some of the time.”</em></p>
</blockquote>

<p>A great way to do this is review the project requirements and ask “why” for each one, and then ask, “but really, do we need that?!”</p>

<h5 id="2-try-hard-to-just-delete-the-part-or-process">2. Try hard to just delete the part or process.</h5>

<p>Now that your requirements have been cut down, can you just delete the whole thing?</p>

<blockquote>
  <p><em>“If you are not occasionally adding things back in at least 10% of the time, you are not deleting enough.”</em></p>
</blockquote>

<p>There’s a tendency for people to always add extra stuff. It’s always easy to add things, but it’s hard to be selective and choose what actually matters. Less is more.</p>

<h5 id="3-simplify-and-optimize">3. Simplify and optimize.</h5>

<p>So the third step – not the first or second – is simplify or optimize. The reason it’s the third step, according to Elon, again with a gem of a quote that I can totally relate to:</p>

<blockquote>
  <p><em>“The most common error of a smart engineer is to optimize a thing that should not exist.”</em></p>
</blockquote>

<h5 id="4-accelerate-cycle-time">4. Accelerate cycle time.</h5>

<p>Now it’s time to speed up the process. Self-explanatory.</p>

<h5 id="5-automate">5. Automate.</h5>

<p>Finally, the last step is automation. Write code to make it happen, take humans out of the loop, etc.</p>

<p>Elon follows up the list with an honest admission – “I’ve gone backwards on this list, several times” and he shares a couple great stories of how he’s gone backwards – automating, accelerating, simplifying, and only later realizing that this $2m robot is installing a part that is not actually necessary for the final product.</p>

<p>Great stuff we can all learn from, thanks Elon!</p>]]></content><author><name></name></author><summary type="html"><![CDATA[In a recent interview with EverydayAstronaut, Elon Musk revealed his 5-step plan for getting things done. It resonated with me, and I imagine it resonates with many of us in tech. The five points are…]]></summary></entry><entry><title type="html">The Pandemic</title><link href="https://savraj.co/2021/06/27/the-pandemic.html" rel="alternate" type="text/html" title="The Pandemic" /><published>2021-06-27T00:00:00-04:00</published><updated>2021-06-27T00:00:00-04:00</updated><id>https://savraj.co/2021/06/27/the-pandemic</id><content type="html" xml:base="https://savraj.co/2021/06/27/the-pandemic.html"><![CDATA[<p>I don’t write many blog posts or make many public reflections, but the coronavirus pandemic of 2020-2021 seems to merit a quick writeup.</p>

<p>I had just returned from a wonderful ski trip with friends in Colorado, where COVID cases were reported at other resorts, but not at ours. I had flown from DEN to EWR and then I commuted via NJ Transit into NYC in the days leading to lockdown. I remember stepping over people who were coughing in the last crowded train to leave NYC on the last possible day. Few people wore masks or took such precautions at the time. It was intense. We started playing online games with friends – and over a year later we’re still playing the same games.</p>

<p>There were many low points: realizing how fragile our food infrastructure was, the passing of my grandmother from natural causes in Canada, and the community-required isolation and quarantine that kept us all in our own boxes. Screen time numbers went through the roof and no one seemed to mind.</p>

<p>The silver lining for me was the three changes I made for the better. The first is that I cobbled together a small gym at home, from old stuff that had piled up over the years, and was able to consistently work out. It was a super rewarding feeling to not miss a workout for many weeks. The second is I changed how I completed routine tasks. I moved to that thing everyone says you should do – just a little bit of time and effort at some repeated interval, against some goal that you have. I have made progress against small goals, like updating this blog, progress that I’ve wanted for years! Finally, I began to take the time to meditate and really focus on connecting with the world around me.</p>

<p>Looking back on the year, it’s amazing how rapidly we’ve found a new normal and the time spent in lockdown just seems like a lost dream.</p>

<p>If you’re reading this and you haven’t taken a COVID vaccine yet, now’s your chance. It’s widely available, go for it!</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I don’t write many blog posts or make many public reflections, but the coronavirus pandemic of 2020-2021 seems to merit a quick writeup.]]></summary></entry><entry><title type="html">First Post</title><link href="https://savraj.co/2021/06/12/first-post.html" rel="alternate" type="text/html" title="First Post" /><published>2021-06-12T00:00:00-04:00</published><updated>2021-06-12T00:00:00-04:00</updated><id>https://savraj.co/2021/06/12/first-post</id><content type="html" xml:base="https://savraj.co/2021/06/12/first-post.html"><![CDATA[<p>Hey guys, welcome to my brand new blog. First post! Thanks Jekyll and the world of open source.</p>

<p>Like any good blog, I’m going to start with the noblest of motives. To share experiences, tips, and things I’ve learned along the way.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Hey guys, welcome to my brand new blog. First post! Thanks Jekyll and the world of open source.]]></summary></entry></feed>