<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Studio711 - Ben Martens</title>
	<atom:link href="https://studio711.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://studio711.com</link>
	<description>Just trying to get through life without looking stupid, so far it's not going very well.</description>
	<lastBuildDate>Sat, 17 Oct 2026 03:07:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>/wp-content/uploads/ben_512x512_whitecircle-200x200.png</url>
	<title>Studio711.com – Ben Martens</title>
	<link>https://studio711.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Park Passport Stamps</title>
		<link>https://studio711.com/park-passport-stamps/</link>
					<comments>https://studio711.com/park-passport-stamps/#respond</comments>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Thu, 29 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[Travel]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15804</guid>

					<description><![CDATA[A few years ago, Elijah got a passport stamp book as a gift and it has been a blast collecting stamps! In the book that we have, there is a spot for the stamp from the visitor center and then&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A few years ago, Elijah got a passport stamp book as a gift and it has been a blast collecting stamps! In the book that we have, there is a spot for the stamp from the visitor center and then a place next to it where you&#8217;re supposed to buy a specific sticker pack. Instead of the sticker, when we get home, we print off a photo of us at the park and glue it into the book.</p>



<p class="wp-block-paragraph">In 2026, we might have set a lifetime record by adding 10 stamps to his book! He has the <a href="https://shop.americasnationalparks.org/collections/passport-books/products/passport-to-your-national-parks-collectors-edition">bigger book</a> that has more than just national parks in it (but not Mt. St. Helens!)</p>



<figure class="wp-block-image alignright size-medium"><a href="https://studio711.com/wp-content/uploads/elijahStampBook.jpg"><img fetchpriority="high" decoding="async" width="338" height="500" src="https://studio711.com/wp-content/uploads/elijahStampBook-338x500.jpg" alt="" class="wp-image-15805" srcset="/wp-content/uploads/elijahStampBook-338x500.jpg 338w, /wp-content/uploads/elijahStampBook-200x296.jpg 200w, /wp-content/uploads/elijahStampBook.jpg 685w" sizes="(max-width: 338px) 100vw, 338px" /></a></figure>



<ul class="wp-block-list">
<li>Klondike Gold Rush National Historic Park</li>



<li>Olympic National Park</li>



<li>Bryce Canyon National Park</li>



<li>Glen Canyon National Recreation Area</li>



<li>Grand Canyon National Park</li>



<li>Manzanar National Historic Site</li>



<li>Lake Mead National Recreation Area</li>



<li>Death Valley National Park</li>



<li>Crater Lake National Park</li>



<li>Ross Lake National Recreation Area</li>
</ul>



<p class="wp-block-paragraph">We could have gotten a couple more, but they didn&#8217;t feel right. For example, when we were in Lone Pine, CA, we drove right by a visitor center for Sierra National Park and when we got the Ross Lake stamp, we could have gotten a Lake Chelan stamp. But we didn&#8217;t feel like we had visited either, so we skipped them.</p>



<p class="wp-block-paragraph">Congratulations Elijah! I wonder if you&#8217;ll ever top this year?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://studio711.com/park-passport-stamps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Cost of Habits</title>
		<link>https://studio711.com/the-cost-of-habits/</link>
					<comments>https://studio711.com/the-cost-of-habits/#respond</comments>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Mon, 26 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Commentary]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15812</guid>

					<description><![CDATA[It&#8217;s been an interesting journey teaching my son about finances. He&#8217;s a great saver and he&#8217;s gotten started with investments in a UTMA account that we set up for him. Lately I&#8217;ve been trying to teach him more about the&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">It&#8217;s been an interesting journey teaching my son about finances. He&#8217;s a great saver and he&#8217;s gotten started with investments in a UTMA account that we set up for him. Lately I&#8217;ve been trying to teach him more about the silent impact of small spending habits. Here&#8217;s a calculator that helps illustrate that. For example, a high school graduate who spends $10/week on coffee is forfeiting almost half a million in savings by the time they retire.</p>



<script data-wp-block-html="js">
(() => {
  function initialize() {
    const dollars = new Intl.NumberFormat("en-US", {
      style: "currency", currency: "USD"
    });

    document.querySelectorAll("form[data-spending-calculator]").forEach(form => {
      if (form.dataset.initialized) return;
      form.dataset.initialized = "true";

      const fields = form.elements;
      const error = form.querySelector("[data-error]");
      const results = form.querySelector("[data-results]");
      const clear = () => {
        error.hidden = true;
        error.textContent = "";
        results.hidden = true;
      };
      const fail = (message, field) => {
        error.textContent = message;
        error.hidden = false;
        if (field) field.focus();
      };

      form.addEventListener("input", clear);
      form.addEventListener("change", clear);
      form.addEventListener("submit", event => {
        event.preventDefault();
        clear();
        if (!form.reportValidity()) {
          fail("Please complete all fields with valid numbers.");
          return;
        }

        const age = fields.currentAge.valueAsNumber;
        const retirement = fields.retirementAge.valueAsNumber;
        const amount = fields.amount.valueAsNumber;
        const frequency = fields.frequency.valueAsNumber;
        const periods = Number(fields.period.value);

        if (!Number.isSafeInteger(age) || !Number.isSafeInteger(retirement)) {
          fail("Enter ages as whole numbers within a supported range.");
          return;
        }
        if (retirement <= age) {
          fail("Retirement age must be greater than current age.", fields.retirementAge);
          return;
        }
        if (!Number.isFinite(amount) || !Number.isFinite(frequency) || frequency <= 0) {
          fail("Enter a nonnegative amount and a frequency greater than zero.");
          return;
        }
        if (![52, 12, 1].includes(periods)) {
          fail("Select week, month, or year.", fields.period);
          return;
        }

        const years = retirement - age;
        const payment = amount * frequency;
        const rate = Math.expm1(Math.log1p(0.10) / periods);
        const contributions = payment * periods * years;
        const balance = payment === 0 ? 0 :
          payment * (Math.expm1(years * Math.log1p(0.10)) / rate);

        if (!Number.isFinite(contributions) || !Number.isFinite(balance)) {
          fail("These values produce an estimate too large to calculate. Use smaller values.");
          return;
        }

        form.querySelector("[data-balance]").textContent = dollars.format(balance);
        form.querySelector("[data-contributions]").textContent = dollars.format(contributions);
        form.querySelector("[data-growth]").textContent =
          dollars.format(Math.max(0, balance - contributions));
        results.hidden = false;
      });
    });
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initialize, { once: true });
  } else {
    initialize();
  }
})();
</script>

<form data-spending-calculator="" novalidate="">
  <p>
    <label>Current age:
      <input name="currentAge" type="number" min="0" step="1" required="">
    </label>
  </p>
  <p>
    <label>Amount spent per transaction ($):
      <input name="amount" type="number" min="0" step="0.01" required="">
    </label>
  </p>
  <p>
    <label>Number of transactions:
      <input name="frequency" type="number" min="0" step="any" value="1" required="">
    </label>
    <label>per
      <select name="period">
        <option value="52">week</option>
        <option value="12">month</option>
        <option value="1">year</option>
      </select>
    </label>
  </p>
  <p>
    <label>Retirement age:
      <input name="retirementAge" type="number" min="1" step="1" value="65" required="">
    </label>
  </p>
  <p><button type="submit">Calculate</button></p>
  <div aria-live="polite" aria-atomic="true">
    <p data-error="" role="alert" hidden=""></p>
    <div data-results="" hidden="">
      <p><strong>Estimated balance at retirement: <span data-balance=""></span></strong></p>
      <p>Total money not spent: <span data-contributions=""></span></p>
      <p>Estimated investment growth: <span data-growth=""></span></p>
    </div>
  </div>
  <noscript>JavaScript must be enabled to use this calculator.</noscript>
</form>



<p class="wp-block-paragraph">The flip side of this is also true. Invest that $10/week instead and by the time you retire, you'll have half a million dollars!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://studio711.com/the-cost-of-habits/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Agentic AI vs Chat AI</title>
		<link>https://studio711.com/agentic-ai-vs-chat-ai/</link>
					<comments>https://studio711.com/agentic-ai-vs-chat-ai/#respond</comments>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[ai]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15820</guid>

					<description><![CDATA[Are you starting to get the hang of chatting with AI? Get ready to level up. The next thing you&#8217;ll start to see more at the general consumer level is &#8220;agentic AI&#8221;. Products like Muse from Facebook fall into this.&#8230; ]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image alignright size-thumbnail"><a href="https://studio711.com/wp-content/uploads/agenticai.png"><img decoding="async" width="200" height="163" src="https://studio711.com/wp-content/uploads/agenticai-200x163.png" alt="" class="wp-image-15822" srcset="/wp-content/uploads/agenticai-200x163.png 200w, /wp-content/uploads/agenticai-500x407.png 500w, /wp-content/uploads/agenticai.png 614w" sizes="(max-width: 200px) 100vw, 200px" /></a></figure>



<p class="wp-block-paragraph">Are you starting to get the hang of chatting with AI? Get ready to level up. The next thing you&#8217;ll start to see more at the general consumer level is &#8220;agentic AI&#8221;. Products like <a href="https://ai.meta.com/muse/">Muse</a> from Facebook fall into this. It&#8217;s not just &#8220;more powerful&#8221; AI. It&#8217;s more about the AI using more tools to get the job done and even having the ability to work while you&#8217;re not paying attention. </p>



<p class="wp-block-paragraph">I&#8217;ve been using these types of agents at work for a year and they&#8217;re incredibly powerful. Here are some examples of what my agents do:</p>



<ul class="wp-block-list">
<li>Writing code is the most obvious application in my job. I discuss a plan with it and then it might spend hours diligently working through the plan until it reaches the goal state.</li>



<li>Every morning, an agent looks at all my unread Teams messages, emails and calendar, figures out what is important for me to know, and sends me a briefing about my day. This is a great way to triage my messages and make sure urgent things don&#8217;t get buried.</li>



<li>I help lead my team&#8217;s AI adoption and that requires me to do a lot of reading both internally and externally to stay up to date. I have taught an agent about all the different sources I like to learn from and every day, it reads them all and sends me a summary of what it thinks are the most interesting points.</li>



<li>I run various data pipelines so at various times throughout the day, an agent will wake up to inspect the state of these pipelines. If there have been any errors, it will see if they were temporary (meaning things are healthy again) and then automatically backfill those failed time slices for me.</li>



<li>I get a ton of random messages from people all over the company asking me the same basic questions over and over again. I have an agent watching for those types of messages, researching answers based on my past responses, and then suggesting how I can reply. (I haven&#8217;t turned on auto-reply yet, but I might get there.)</li>



<li>After I&#8217;ve resolved a problem at work, it sometimes takes a while for all the monitors and dashboards to look green again, so I tell an agent to keep monitoring my fix, wait for all the monitors to calm down, and then resolve the incident in our tracking system.</li>



<li>I recently had a team of agents migrate my website from being hosted on GoDaddy to being hosted on Azure. It not only migrated the blog, but it took care of rewriting some of my small custom web apps to run in the Azure environment too. (They were built on an older .NET Framework version and needed to be updated to .NET Core.) I gave it access to my Azure account, GoDaddy account, and CloudFlare account and it manipulated all of them to orchestrate the whole project for me.</li>
</ul>



<p class="wp-block-paragraph">The list goes on and on. I know execs who use agents to manage their calendars. A coworker owns a rental property and uses an agent to inject links to his property in various online communities where the conversation relates to his property. </p>



<p class="wp-block-paragraph">The point is that we&#8217;re not just able to chat with AI, we&#8217;re able to delegate work to it either as a one-time task or as a scheduled automation. I think we&#8217;re just starting to discover all the ways that we can take advantage of this. As big as AI chat was, agentic AI is another step of that magnitude. The catch is historically this kind of capability has cost money, but we&#8217;re starting to see some of it trickle into the land of free (though if it&#8217;s free, remember that you&#8217;re the product.)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://studio711.com/agentic-ai-vs-chat-ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tesla Vehicle-To-Grid</title>
		<link>https://studio711.com/tesla-vehicle-to-grid/</link>
					<comments>https://studio711.com/tesla-vehicle-to-grid/#respond</comments>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Tue, 20 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Electric Vehicles]]></category>
		<category><![CDATA[teslatuesday]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15840</guid>

					<description><![CDATA[Welcome to another&#160;Tesla Tuesday! We have a generator and I&#8217;m thankful for it. We can even plug it into our panel and run our house from it. That has come in handy more often that you would imagine given that&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Welcome to another&nbsp;<a href="https://studio711.com/tag/teslatuesday/">Tesla Tuesday</a>!</p>



<p class="wp-block-paragraph">We have a generator and I&#8217;m thankful for it. We can even plug it into our panel and run our house from it. That has come in handy more often that you would imagine given that we live in a very populated area. However, every time I use the generator, I get the itch to buy a nicer one that has an inverter in it and produces a much cleaner power signal. I can&#8217;t, for example, charge my battery backup devices from it because they freak out about the dirty power signal. That always makes me a bit nervous about plugging in electronics-laden appliances, but so far it has been fine.</p>



<p class="wp-block-paragraph">The other thing about upgrading the generator that gives me pause is wondering whether a gas generator is really the way to go. I have a giant battery sitting in my garage inside the Tesla. Why can&#8217;t I use that to power the house?</p>



<figure class="wp-block-image aligncenter size-medium"><a href="https://studio711.com/wp-content/uploads/vehicletogrid.jpg"><img decoding="async" width="500" height="215" src="https://studio711.com/wp-content/uploads/vehicletogrid-500x215.jpg" alt="" class="wp-image-15841" srcset="/wp-content/uploads/vehicletogrid-500x215.jpg 500w, /wp-content/uploads/vehicletogrid-200x86.jpg 200w, /wp-content/uploads/vehicletogrid-768x331.jpg 768w, /wp-content/uploads/vehicletogrid.jpg 854w" sizes="(max-width: 500px) 100vw, 500px" /></a></figure>



<p class="wp-block-paragraph">There&#8217;s a standard called Vehicle-To-Grid that some EVs support which allows you to do just that. You can plug your car into your house electrical panel and run your house from the car battery. The Cybertruck was the first Tesla model that supported this, but now they have announced that all Model 3&#8217;s and Y&#8217;s from Oct 1 forward also support it. There are some caveats about needing Powerwall hardware, etc, but I love that this is getting more common. </p>



<p class="wp-block-paragraph">I could imagine a setup where you have solar feeding into a modest sized battery for daily use and avoiding peak electric rate period. Then during a power outage, you could use the car for extended run time. If I ignore electricity for charging the car we use about 27kWh/day. A Model Y has a 75kWh battery so even without conserving energy in the house, a full battery would provide almost 3 days of power for the house!</p>



<p class="wp-block-paragraph">Tesla also announced a Vehicle-To-Home adapter which gives you a 120v output directly from the car. That adapter is inexpensive and would be handy to have around for random uses. The compatibility of that V2H adapter stretches back farther, but our car is old enough that we can&#8217;t use either one. I&#8217;ll add it to the list of reasons why it would be nice to upgrade!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://studio711.com/tesla-vehicle-to-grid/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Data Center Power and Sustainability</title>
		<link>https://studio711.com/data-center-power-and-sustainability/</link>
					<comments>https://studio711.com/data-center-power-and-sustainability/#respond</comments>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Mon, 19 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Geek]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15853</guid>

					<description><![CDATA[I have a pretty well-rehearsed general answer that I give when people ask what I work on, but every once in a while, there&#8217;s a good public document or video that goes into more detail. In the last couple weeks,&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I have a pretty well-rehearsed general answer that I give when people ask what I work on, but every once in a while, there&#8217;s a good public document or video that goes into more detail. In the last couple weeks, there have been two!</p>



<p class="wp-block-paragraph">My skip level manager gave an IEEE talk in which he shared some interesting stats around the unbelievable growth of this industry, the challenges we face in meeting those demands, and some ways that we can mitigate those challenges. </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Challenges and Opportunities in Data Center Power and Sustainability in the AI Era" width="600" height="338" src="https://www.youtube.com/embed/xiwcLbn1oy4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">My manager and peer also gave a good talk at the Open Compute Project summit on similar topics. Our group focuses on a wide variety of ways to make our platforms more efficiency and this one is about the part of the team that focuses on power.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Powering the AI Era: Building Sustainable and efficient Infrastructure at Cloud Scale" width="600" height="338" src="https://www.youtube.com/embed/45uvSvnt60Y?list=PLG4UDQ8Faua0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://studio711.com/data-center-power-and-sustainability/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tesla Roadster Announcement</title>
		<link>https://studio711.com/tesla-roadster-announcement/</link>
					<comments>https://studio711.com/tesla-roadster-announcement/#respond</comments>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Fri, 16 Oct 2026 16:55:23 +0000</pubDate>
				<category><![CDATA[Electric Vehicles]]></category>
		<category><![CDATA[teslatuesday]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15858</guid>

					<description><![CDATA[Welcome to another Tesla Tuesday&#8230; on a Friday. Yesterday&#8217;s announcement was so big and there&#8217;s so much misinformation flying around that I thought I&#8217;d post right away. First, in case you haven&#8217;t seen it, the headlines are that Tesla announced a&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Welcome to another <a href="https://studio711.com/tag/teslatuesday/">Tesla Tuesday</a>&#8230; on a Friday. Yesterday&#8217;s announcement was so big and there&#8217;s so much misinformation flying around that I thought I&#8217;d post right away.</p>



<p class="wp-block-paragraph">First, in case you haven&#8217;t seen it, the headlines are that Tesla announced a flying car. Here are actual videos from the event:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="The Ramp | Roadster" width="600" height="338" src="https://www.youtube.com/embed/7p5LxFdc-Qg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="The Kickflip | Roadster" width="600" height="338" src="https://www.youtube.com/embed/r5vsHHPVhJg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">It&#8217;s hard to watch those videos without getting a strong Back to the Future vibe! Tesla made a lot of waves a few weeks back when they got FAA permission to close airspace over the event leading to lots of speculation about whether the permission request was just a PR stunt, etc. Turns out it was legit (probably, I don&#8217;t know all the details about what you&#8217;re required to file for, but at the very least, stuff was leaving the ground.)</p>



<p class="wp-block-paragraph">So let&#8217;s get down to some actual facts that we know from the event:</p>



<ul class="wp-block-list">
<li>You&#8217;re not going to see cars flying down the interstate. The fans under the car are there for super customizable downforce. At low speeds (in corners), the fans will suck the car to the ground improving grip. At high speeds, the car reconfigures to reduce drag.</li>



<li>Production timing is targeted for 2028. You can reserve one today for $50,000.</li>



<li>The car contains pressure tanks that it can recharge on its own so you don&#8217;t need any special propellant.</li>



<li>There are three versions:
<ul class="wp-block-list">
<li>Performance: Seating for 2. Suction system for increased grip. (0-60 in 1.6 seconds)</li>



<li>Thrust: Adds acceleration thrusters. This has &#8220;limited&#8221; availability. (0-60 in 0.9 seconds)</li>



<li>Rocket: Seating for 1. Adds a full flight system. Only available by invitation. (0-60 in 0.59 seconds)</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">I expect that the flying version will be something that you&#8217;ll be able to experience in places like Dubai if you&#8217;re willing to pay enough money. There probably won&#8217;t be a lot of them in existence.</p>



<p class="wp-block-paragraph">Why build this? We&#8217;re moving from facts to opinion, but Elon has always talked about making the best car full stop. No caveats. This specific model is intended to blow away many racetrack records. I&#8217;m excited to see what it can do. Hypercars push up to the limits of what you can do with traditional mechanical and aero grip, but this seems to be in a league of its own.</p>



<p class="wp-block-paragraph">I don&#8217;t know how long it will be before we actually see them attempting to set those records or how long until people can actually buy one. It was announced in 2017 and the target date was 2020. So will we see it being produced in 2028? Probably not. But it certainly seems to be farther along than we&#8217;ve ever seen before and even if it&#8217;s never produced, this demo was impressive!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://studio711.com/tesla-roadster-announcement/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Social Media Limits for Kids</title>
		<link>https://studio711.com/social-media-limits-for-kids/</link>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Thu, 15 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Commentary]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15818</guid>

					<description><![CDATA[Shortly after I wrote my last post about being careful about how much time I spend on apps with endless scrolling, there was some big news: California passed SB 976 which bans algorithmic feeds and late-night notifications for minors. That&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Shortly after I wrote my last post about being careful about how much time I <a href="https://studio711.com/controlled-by-the-algorithm/">spend on apps with endless scrolling</a>, there was some big news: California passed SB 976 which bans algorithmic feeds and late-night notifications for minors. That takes effect on January 1, 2027. There are also two bills working their way through the federal level this summer that do similar things. And this is all in addition to <a href="https://wired-parents.com/social-media-age-restrictions-children-by-country/">many other states and countries</a> that are in various stages of similar bans.</p>



<p class="wp-block-paragraph">I have mixed feelings about all this. I&#8217;m concerned about the effects of social media and endless-scroll apps on all of us, so I like that we&#8217;re doing something to push back on this a bit and make people more aware of the dangers. But on the flip side, I don&#8217;t love the government getting involved like this.</p>



<p class="wp-block-paragraph">The good news is that this feels like another step forward in the very early process of the public starting to realize how harmful these types of apps are. There are plenty of studies showing links to things like anxiety, depression, loneliness, sleep disruption, and dementia, but we&#8217;re still lacking the unarguable causation of long-term health implications like we have with smoking.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Electricity vs Gas Costs By City</title>
		<link>https://studio711.com/electricity-vs-gas-costs-by-city/</link>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Tue, 13 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Electric Vehicles]]></category>
		<category><![CDATA[teslatuesday]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15827</guid>

					<description><![CDATA[Welcome to another&#160;Tesla Tuesday! While chatting with a coworker from California about gas and electricity costs in his area, it got me thinking about the ratio between those two costs for various cities in the US. I set AI off&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Welcome to another&nbsp;<a href="https://studio711.com/tag/teslatuesday/">Tesla Tuesday</a>!</p>



<p class="wp-block-paragraph">While chatting with a coworker from California about gas and electricity costs in his area, it got me thinking about the ratio between those two costs for various cities in the US. I set AI off to research these costs for the top 25 cities plus a couple bonus cities and here is the result. I baked the results into a bit of a calculator so you can punch in your own mpg and EV efficiency estimates (but if you don&#8217;t have an EV, note that 250 wh/mi is average for a Tesla.)</p>



<p class="wp-block-paragraph">You can see that Seattle is a sweet spot. We have very expensive gas and very cheap electricity. I&#8217;ve been thinking a lot about this with our pending move to Minnesota. Will our next car be an EV? I&#8217;ll have to rerun the numbers to see if we&#8217;ll save money over the life of the vehicle like we have with our current Tesla, but honestly, we&#8217;ve come to love all the features of that car so much that I think it would be hard to buy something else. The flip side is that driving a Tesla feels like more of a &#8220;statement&#8221; in the midwest than it is here and I don&#8217;t know how much I love that. Knock on wood we have plenty of time to think about this as our current Tesla is still going strong.</p>



<p class="wp-block-paragraph">Note that there is a lot more that goes into &#8220;how much would an EV cost/save&#8221; than just the cost of gas and electricity but this is a major piece of it.</p>



<style data-wp-block-html="css">
.fuel-cost-calculator { font-family: Arial, sans-serif; }
  .fuel-cost-calculator .fuel-inputs {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 12px;
  }
  .fuel-cost-calculator label {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .fuel-cost-calculator input { width: 110px; padding: 6px; }
  .fuel-cost-calculator .fuel-scroll { overflow-x: auto; }
  .fuel-cost-calculator table { width: 100%; border-collapse: collapse; }
  .fuel-cost-calculator th,
  .fuel-cost-calculator td {
    border: 1px solid #ccc;
    padding: 8px 12px;
    text-align: right;
  }
  .fuel-cost-calculator th { background: #f2f2f2; }
  .fuel-cost-calculator th:first-child,
  .fuel-cost-calculator td:first-child { text-align: left; }
  .fuel-cost-calculator td { white-space: nowrap; }
  .fuel-cost-calculator .fuel-error { color: #b00020; }
  .fuel-cost-calculator [hidden] { display: none; }
  .fuel-cost-calculator .fuel-sort {
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: bold;
    text-align: inherit;
    padding: 0;
    cursor: pointer;
  }
  .fuel-cost-calculator .fuel-sort:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 3px;
  }
  .fuel-cost-calculator .fuel-sort:disabled {
    opacity: 0.6;
    cursor: default;
  }
</style>

<script data-wp-block-html="js">
(() => {
  function initialize() {
    const root = document.querySelector(".fuel-cost-calculator");

    if (!root) {
      console.error("Fuel cost calculator: HTML container not found.");
      return;
    }
      const mpgInput = root.querySelector("[data-mpg]");
      const whInput = root.querySelector("[data-wh]");
      const error = root.querySelector("[data-error]");
      const tbody = root.querySelector("tbody");
      const sortButtons = [...root.querySelectorAll("[data-sort]")];
      const sort = { key: "savings", direction: "desc" };

      const money = new Intl.NumberFormat("en-US", {
        style: "currency",
        currency: "USD"
      });
      const decimal = new Intl.NumberFormat("en-US", {
        minimumFractionDigits: 2,
        maximumFractionDigits: 2
      });

      const cities = [
        ["Las Vegas, NV", 0.13, 5.48],
        ["Seattle, WA", 0.15, 5.67],
        ["Phoenix, AZ", 0.15, 4.80],
        ["Glasgow, MT", 0.15, 4.51],
        ["Nashville, TN", 0.14, 3.94],
        ["Oklahoma City, OK", 0.14, 3.97],
        ["Jacksonville, FL", 0.15, 4.09],
        ["Charlotte, NC", 0.15, 4.06],
        ["El Paso, TX", 0.16, 4.25],
        ["Dallas, TX", 0.16, 3.93],
        ["Fort Worth, TX", 0.16, 3.93],
        ["Chicago, IL", 0.19, 4.75],
        ["Austin, TX", 0.16, 3.89],
        ["San Antonio, TX", 0.16, 3.88],
        ["Houston, TX", 0.16, 3.87],
        ["Minneapolis, MN", 0.17, 4.22],
        ["Denver, CO", 0.17, 4.02],
        ["South Bend, IN", 0.17, 3.77],
        ["Indianapolis, IN", 0.17, 3.69],
        ["Philadelphia, PA", 0.22, 4.43],
        ["Columbus, OH", 0.19, 3.84],
        ["San Francisco, CA", 0.34, 6.58],
        ["Los Angeles, CA", 0.34, 6.42],
        ["San Diego, CA", 0.34, 6.41],
        ["San Jose, CA", 0.34, 6.39],
        ["Washington, DC", 0.25, 4.45],
        ["New York, NY", 0.30, 4.56],
        ["Boston, MA", 0.30, 4.38]
      ];

      const rows = cities.map(([city, electricity, gas], index) => {
        const tr = document.createElement("tr");
        const values = [
          city,
          money.format(electricity),
          money.format(gas),
          decimal.format(gas / electricity),
          "--"
        ];

        const cells = values.map(value => {
          const td = document.createElement("td");
          td.textContent = value;
          tr.appendChild(td);
          return td;
        });

        tbody.appendChild(tr);

        return {
          sourceIndex: index,
          city,
          electricity,
          gas,
          ratio: gas / electricity,
          savings: null,
          tr,
          savingsCell: cells[4]
        };
      });

      function applySort() {
        const savingsAvailable = rows.every(row => row.savings !== null);
        const canSort = sort.key !== "savings" || savingsAvailable;

        if (canSort) {
          const sorted = [...rows].sort((a, b) => {
            const comparison = sort.key === "city"
              ? a.city.localeCompare(b.city, "en", { sensitivity: "base" })
              : a[sort.key] - b[sort.key];

            return (sort.direction === "asc" ? comparison : -comparison)
              || a.sourceIndex - b.sourceIndex;
          });

          tbody.append(...sorted.map(row => row.tr));
        }

        sortButtons.forEach(button => {
          const active = canSort && button.dataset.sort === sort.key;
          const nextDirection = active && sort.direction === "asc"
            ? "descending" : "ascending";

          button.disabled =
            button.dataset.sort === "savings" && !savingsAvailable;

          button.parentElement.setAttribute("aria-sort", active
            ? (sort.direction === "asc" ? "ascending" : "descending")
            : "none");

          button.querySelector("[data-indicator]").textContent = active
            ? (sort.direction === "asc" ? "\u25b2" : "\u25bc")
            : "\u2195";

          button.setAttribute(
            "aria-label",
            `${button.dataset.label}: sort ${nextDirection}`
          );
        });
      }

      function update() {
        const mpg = mpgInput.valueAsNumber;
        const whPerMile = whInput.valueAsNumber;
        const validMpg = Number.isFinite(mpg) && mpg > 0;
        const validWh = Number.isFinite(whPerMile) && whPerMile > 0;

        mpgInput.setAttribute("aria-invalid", String(!validMpg));
        whInput.setAttribute("aria-invalid", String(!validWh));

        const costs = rows.map(row => ({
          ev: row.electricity * (whPerMile / 1000) * 100,
          gas: row.gas * (100 / mpg)
        }));

        const validCosts = costs.every(cost =>
          Number.isFinite(cost.ev) && Number.isFinite(cost.gas)
        );
        const valid = validMpg && validWh && validCosts;

        error.textContent = valid ? "" :
          (!validMpg || !validWh
            ? "Enter a positive number for both MPG and Wh/mi."
            : "These inputs are too extreme to calculate. Enter less extreme values.");
        error.hidden = valid;

        rows.forEach((row, index) => {
          row.savings = valid ? costs[index].gas - costs[index].ev : null;
          row.savingsCell.textContent = valid
            ? money.format(row.savings)
            : "--";
        });

        applySort();
      }

      sortButtons.forEach(button => {
        button.dataset.label = button.textContent.trim();

        button.addEventListener("click", () => {
          const key = button.dataset.sort;
          sort.direction = sort.key === key && sort.direction === "asc"
            ? "desc" : "asc";
          sort.key = key;
          applySort();
        });
      });

      mpgInput.addEventListener("input", update);
      whInput.addEventListener("input", update);
      update();
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initialize, { once: true });
  } else {
    initialize();
  }
})();
</script>

<div class="fuel-cost-calculator">
  <div class="fuel-inputs">
    <label>
      Gas vehicle MPG
      <input data-mpg="" type="number" min="0" step="any" value="30" required="">
    </label>
    <label>
      EV Wh/mi
      <input data-wh="" type="number" min="0" step="any" value="250" required="">
    </label>
  </div>

  <p class="fuel-error" data-error="" role="status" aria-live="polite" hidden=""></p>

  <div class="fuel-scroll" role="region" aria-label="Fuel cost comparison" tabindex="0">
    <table>
      <thead>
        <tr>
          <th scope="col">
            <button type="button" class="fuel-sort" data-sort="city">
              City <span data-indicator="" aria-hidden="true"></span>
            </button>
          </th>
          <th scope="col">
            <button type="button" class="fuel-sort" data-sort="electricity">
              Electricity $/kWh <span data-indicator="" aria-hidden="true"></span>
            </button>
          </th>
          <th scope="col">
            <button type="button" class="fuel-sort" data-sort="gas">
              Gas $/gal <span data-indicator="" aria-hidden="true"></span>
            </button>
          </th>
          <th scope="col">
            <button type="button" class="fuel-sort" data-sort="ratio">
              Gas/electricity price ratio (kWh/gal)
              <span data-indicator="" aria-hidden="true"></span>
            </button>
          </th>
          <th scope="col" aria-sort="descending">
            <button type="button" class="fuel-sort" data-sort="savings">
              EV Cost Savings/100 mi
              <span data-indicator="" aria-hidden="true"></span>
            </button>
          </th>
        </tr>
      </thead>
      <tbody></tbody>
    </table>
  </div>
</div>



<p class="wp-block-paragraph">I also turned this into a map using 20mpg as the gas efficiency (which is what my truck gets) and 250 wh/mi for the EV efficiency. Click on the map for a larger view.</p>



<figure class="wp-block-image aligncenter size-medium"><a href="https://studio711.com/wp-content/uploads/ev_savings_map.png"><img loading="lazy" decoding="async" width="500" height="327" src="https://studio711.com/wp-content/uploads/ev_savings_map-500x327.png" alt="" class="wp-image-15833" srcset="/wp-content/uploads/ev_savings_map-500x327.png 500w, /wp-content/uploads/ev_savings_map-200x131.png 200w, /wp-content/uploads/ev_savings_map-768x502.png 768w, /wp-content/uploads/ev_savings_map.png 1175w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kusto Slice Runner</title>
		<link>https://studio711.com/kusto-slice-runner/</link>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Geek]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15824</guid>

					<description><![CDATA[At work, I&#8217;ve just released another open-source project that I&#8217;m really excited about: Kusto Slice Runner. If you&#8217;re a developer or data engineer who uses a lot of Kusto (Azure Data Explorer), this is probably worth exploring a bit. It&#8217;s&#8230; ]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image alignright size-thumbnail"><a href="https://studio711.com/wp-content/uploads/ksr-logo.png"><img loading="lazy" decoding="async" width="200" height="200" src="https://studio711.com/wp-content/uploads/ksr-logo-200x200.png" alt="" class="wp-image-15825" srcset="/wp-content/uploads/ksr-logo-200x200.png 200w, /wp-content/uploads/ksr-logo-230x230.png 230w, /wp-content/uploads/ksr-logo.png 500w" sizes="auto, (max-width: 200px) 100vw, 200px" /></a></figure>



<p class="wp-block-paragraph">At work, I&#8217;ve just released another open-source project that I&#8217;m really excited about: <a href="https://github.com/microsoft/kusto-slice-runner">Kusto Slice Runner</a>.</p>



<p class="wp-block-paragraph">If you&#8217;re a developer or data engineer who uses a lot of Kusto (Azure Data Explorer), this is probably worth exploring a bit. It&#8217;s a developer-desktop job orchestration system for time-windowed queries. This is useful for doing ad-hoc analysis of enormous datasets, setting up prototypes of new pipelines, or even for developing changes to existing pipelines. It comes with existing skills that help your agent easily make new jobs and manage existing ones. All the state is stored locally in sqlite, and then served to a local web page. </p>



<p class="wp-block-paragraph">There are tons of features packed in while still keeping the basic interactions simple and effective. I&#8217;ve been working on this for the past few months, and it has been an indispensable tool for me in my role as an individual contributor tasked with exploring new ideas for the org to pursue. I feel like I have a whole team working for me on all my various projects, not just developing them, but monitoring and maintaining them over time.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Diablo Lake</title>
		<link>https://studio711.com/diablo-lake/</link>
		
		<dc:creator><![CDATA[benmartens]]></dc:creator>
		<pubDate>Thu, 08 Oct 2026 07:30:00 +0000</pubDate>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[Outdoors]]></category>
		<guid isPermaLink="false">https://studio711.com/?p=15800</guid>

					<description><![CDATA[Even though we had recently gotten back from our long road trip, for my birthday I asked my family to spend ~4.5 hours in the car for one more national park adventure. We headed up to Diablo Lake which is&#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Even though we had recently gotten back from our long road trip, for my birthday I asked my family to spend ~4.5 hours in the car for one more national park adventure. We headed up to Diablo Lake which is in the area that contains both Ross Lake National Recreation Area and North Cascades National Park.</p>



<p class="wp-block-paragraph">We did a hike up to an overlook with a nice view of Diablo Lake and stopped at the visitor center. We&#8217;ve been there before and even got the North Cascades stamp for Elijah&#8217;s book, but we failed to get the Ross Lake National Recreation Area stamp which was right next to it.</p>



<p class="wp-block-paragraph">It was a lot of driving for a single day but it was nice to get out on one more hike. It wasn&#8217;t the perfect day since a fire in the area was adding smoke to the air. Plus, that area has become extremely popular over the years so the trail was overcrowded but we made the best of it.</p>



<figure class="wp-block-image aligncenter size-medium"><a href="https://studio711.com/wp-content/uploads/diablolake1.jpg"><img loading="lazy" decoding="async" width="500" height="375" src="https://studio711.com/wp-content/uploads/diablolake1-500x375.jpg" alt="" class="wp-image-15801" srcset="/wp-content/uploads/diablolake1-500x375.jpg 500w, /wp-content/uploads/diablolake1-200x150.jpg 200w, /wp-content/uploads/diablolake1-768x577.jpg 768w, /wp-content/uploads/diablolake1-1536x1153.jpg 1536w, /wp-content/uploads/diablolake1.jpg 1598w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></figure>



<figure class="wp-block-image aligncenter size-medium"><a href="https://studio711.com/wp-content/uploads/diablolake2.jpg"><img loading="lazy" decoding="async" width="500" height="375" src="https://studio711.com/wp-content/uploads/diablolake2-500x375.jpg" alt="" class="wp-image-15802" srcset="/wp-content/uploads/diablolake2-500x375.jpg 500w, /wp-content/uploads/diablolake2-200x150.jpg 200w, /wp-content/uploads/diablolake2-768x577.jpg 768w, /wp-content/uploads/diablolake2-1536x1153.jpg 1536w, /wp-content/uploads/diablolake2.jpg 1598w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></figure>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>