<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: gray sally</title>
    <description>The latest articles on DEV Community by gray sally (@graysally223).</description>
    <link>https://dev.to/graysally223</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4145296%2Ffb159b30-4f23-44cd-a921-4107084224fd.png</url>
      <title>DEV Community: gray sally</title>
      <link>https://dev.to/graysally223</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/graysally223"/>
    <language>en</language>
    <item>
      <title>Is Your Network Really IPv6-Ready? Check in 10 Seconds</title>
      <dc:creator>gray sally</dc:creator>
      <pubDate>Wed, 30 Sep 2026 00:57:22 +0000</pubDate>
      <link>https://dev.to/graysally223/is-your-network-really-ipv6-ready-check-in-10-seconds-4hpf</link>
      <guid>https://dev.to/graysally223/is-your-network-really-ipv6-ready-check-in-10-seconds-4hpf</guid>
      <description>&lt;p&gt;IPv4 addresses ran out years ago. Most of us are now behind carrier-grade NAT (CGNAT) without even knowing it — which quietly breaks self-hosting, P2P connections, game servers, and direct remote access to your NAS.&lt;/p&gt;

&lt;p&gt;So here's a simple question: does your network actually support IPv6 right now?&lt;/p&gt;

&lt;h2&gt;
  
  
  What the test checks
&lt;/h2&gt;

&lt;p&gt;I built a free tool that answers this instantly: &lt;a href="https://17nas.com/ipv6-test.php?lang=en-US" rel="noopener noreferrer"&gt;https://17nas.com/ipv6-test.php?lang=en-US&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open it and you immediately get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your IPv4 and IPv6 addresses&lt;/strong&gt; (if you have one — many people discover they don't)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dual-stack status&lt;/strong&gt; — whether your connection can use both protocols&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latency&lt;/strong&gt; to the test endpoints&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ISP / network info&lt;/strong&gt; attached to your addresses&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No sign-up, no install. It runs entirely in the browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why developers should care
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Self-hosting&lt;/strong&gt;: no IPv6 and no public IPv4 means you're stuck with relay tunnels or port-forwarding hacks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebRTC / P2P&lt;/strong&gt;: works dramatically better with real end-to-end connectivity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Debugging user reports&lt;/strong&gt;: "it works on my machine" is often a v4/v6 difference between networks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;The page fetches a tiny asset over IPv4 and IPv6 in parallel from dual-stack endpoints. Whichever succeeds tells you what your network can actually reach — not what your ISP's marketing page claims.&lt;/p&gt;

&lt;p&gt;If the test shows no IPv6 address, it's worth asking your ISP when they plan to enable it. And if you're on CGNAT with no public IPv4 either, that's useful to know before you spend a weekend trying to expose a home server.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I built this free tool. It's part of 17NAS, a small collection of free network utilities (the same site also has a NAT type test and a browser/IP timezone checker).&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ipv6</category>
      <category>networking</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Your browser timezone and your IP timezone are two different answers</title>
      <dc:creator>gray sally</dc:creator>
      <pubDate>Tue, 29 Sep 2026 20:32:59 +0000</pubDate>
      <link>https://dev.to/graysally223/your-browser-timezone-and-your-ip-timezone-are-two-different-answers-1jem</link>
      <guid>https://dev.to/graysally223/your-browser-timezone-and-your-ip-timezone-are-two-different-answers-1jem</guid>
      <description>&lt;p&gt;Have you ever called &lt;code&gt;Intl.DateTimeFormat().resolvedOptions().timeZone&lt;/code&gt; in your browser, compared it with an IP-geolocation-based "my timezone" result, and gotten two different answers?&lt;/p&gt;

&lt;p&gt;Neither answer is wrong. They answer two different questions. Here is how they differ, why a mismatch is usually normal, and why a bare UTC offset is never enough to define a timezone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your browser timezone: what your OS claims
&lt;/h2&gt;

&lt;p&gt;When JavaScript asks for your time zone, it doesn't ask the network — it asks the operating system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;timeZone&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Intl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DateTimeFormat&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;resolvedOptions&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;timeZone&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// e.g. "Asia/Shanghai"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;Intl.DateTimeFormat().resolvedOptions().timeZone&lt;/code&gt; returns an IANA time zone identifier (like &lt;code&gt;Asia/Shanghai&lt;/code&gt;, &lt;code&gt;America/New_York&lt;/code&gt;, or &lt;code&gt;Europe/Berlin&lt;/code&gt;) taken from the OS settings. It is free, instant, and privacy-friendly — but only as accurate as the machine's own configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your IP timezone: what your exit IP suggests
&lt;/h2&gt;

&lt;p&gt;An "IP timezone" is estimated from your egress IP address via a GeoIP database. It answers a completely different question: &lt;strong&gt;where does the internet think your connection comes out?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These two can legitimately disagree:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPN / proxy / corporate egress&lt;/strong&gt; — your browser reports &lt;code&gt;Asia/Taipei&lt;/code&gt;, but your traffic exits in Frankfurt, so the IP-based estimate says &lt;code&gt;Europe/Berlin&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote desktop / cloud VM&lt;/strong&gt; — the OS belongs to a machine on another continent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manually changed system timezone&lt;/strong&gt; — developers do this all the time to test scheduling logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stale or coarse GeoIP data&lt;/strong&gt; — IP-to-location mappings are estimates, and they shift.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So when the two answers differ, it is not necessarily a bug on either side. It is a signal worth understanding — especially if your app relies on it for scheduling, logging, or analytics.&lt;/p&gt;

&lt;h2&gt;
  
  
  UTC offset ≠ time zone identifier
&lt;/h2&gt;

&lt;p&gt;This is the part that bites developers most often. An offset like "UTC+8" is &lt;strong&gt;a snapshot&lt;/strong&gt;, not an identity. "How many hours apart are two time zones?" is a question that &lt;strong&gt;only makes sense with a date attached&lt;/strong&gt;, because daylight saving time shifts offsets through the year.&lt;/p&gt;

&lt;p&gt;Take &lt;code&gt;America/New_York&lt;/code&gt;: it is UTC-5 in January and UTC-4 in July. Hard-coding &lt;code&gt;-5&lt;/code&gt; will be wrong for half the year.&lt;/p&gt;

&lt;p&gt;And the three-letter abbreviations are a trap. &lt;strong&gt;CST can mean at least three different things:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;China Standard Time&lt;/strong&gt; — UTC+8, no DST, all year&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;US Central Standard Time&lt;/strong&gt; — UTC-6, switching to CDT (UTC-5) in summer&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cuba Standard Time&lt;/strong&gt; — UTC-5, with its own DST rules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;"PST" is no better (US Pacific vs. Philippine Standard Time, which is UTC+8 and observes no DST). Always use IANA identifiers like &lt;code&gt;Asia/Shanghai&lt;/code&gt; or &lt;code&gt;America/Chicago&lt;/code&gt; in code, APIs, and databases — never bare abbreviations.&lt;/p&gt;

&lt;h2&gt;
  
  
  A free tool that makes all of this visible
&lt;/h2&gt;

&lt;p&gt;I came across a free timezone tool that puts these concepts into practice. Everything is computed locally in the browser — no location permission prompts, no data uploaded:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://17nas.com/tools/timezone/?lang=en-US" rel="noopener noreferrer"&gt;Timezone Detector &amp;amp; Converter&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Browser timezone, instantly&lt;/strong&gt; — shows the IANA identifier your browser reports, the current UTC offset, and whether DST is active.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IP timezone, one click&lt;/strong&gt; — estimates your timezone from your egress IP and puts it side-by-side with the browser timezone (it never displays your IP address). Great for a quick VPN egress check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time difference calculator&lt;/strong&gt; — pick any two IANA time zones and get the offset for today, mid-January, and mid-July, with DST handled automatically. The "bring a date, not just an offset" principle, built in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;China reference table&lt;/strong&gt; — China vs. Germany, Japan, New York, Los Angeles, the UK, France, Toronto, and Sydney at a glance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timezone knowledge FAQ&lt;/strong&gt; — UTC vs. GMT, ambiguous abbreviations (CST/PST), why China uses a single legal time zone, and the story of Xinjiang's Ürümqi time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;Intl.DateTimeFormat().resolvedOptions().timeZone&lt;/code&gt; is your OS's answer; IP geolocation is your network's answer. Expect them to differ sometimes.&lt;/li&gt;
&lt;li&gt;Offsets need dates. Use IANA identifiers, not "UTC+8" or "CST".&lt;/li&gt;
&lt;li&gt;When in doubt, open the tool above and compare: browser time, the IP-based estimate, and the DST-aware difference calculator.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>I built a CoreMark leaderboard for 100+ NAS CPUs — here's what the data actually shows</title>
      <dc:creator>gray sally</dc:creator>
      <pubDate>Mon, 28 Sep 2026 14:57:15 +0000</pubDate>
      <link>https://dev.to/graysally223/i-built-a-coremark-leaderboard-for-100-nas-cpus-heres-what-the-data-actually-shows-5fg2</link>
      <guid>https://dev.to/graysally223/i-built-a-coremark-leaderboard-for-100-nas-cpus-heres-what-the-data-actually-shows-5fg2</guid>
      <description>&lt;p&gt;Picking a CPU for a NAS or homelab server is mostly guesswork. Vendor spec sheets tell you core counts and boost clocks, but they don't tell you how an i3-12100T actually compares to a Ryzen 7 8840U for the kind of always-on, mixed workloads a home server runs. So I started collecting real CoreMark scores from real devices and put them on a public leaderboard: &lt;a href="https://17nas.com" rel="noopener noreferrer"&gt;17NAS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Every score is submitted by a device owner and human-reviewed before it lands on the chart. Here's what a few hundred submissions taught me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The top isn't who you'd expect
&lt;/h2&gt;

&lt;p&gt;The current leader is the AMD EPYC 7513 (32C/64T) at &lt;strong&gt;1,140,363&lt;/strong&gt;, followed by the EPYC 7532 at 1,024,710. No surprise there — server silicon wins raw throughput. But scroll down and it gets interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Efficiency is the real homelab story
&lt;/h2&gt;

&lt;p&gt;Nobody runs a 280W EPYC in their closet. The interesting rows are the low-TDP parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ryzen 7 8840U&lt;/strong&gt; (8C/16T, ~28W): 379,594 — beats a desktop i5-11500 (267,917) while sipping power&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;i5-13500TE&lt;/strong&gt; (35W): 436,649 — the "T tax" barely dents it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;i3-12100T&lt;/strong&gt; (35W): 175,087 — for a pure file server, this is all you need&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building today, the used-market sweet spot is last-gen mobile/handheld silicon, not old Xeons. A Xeon E5-2650 v4 still scores a respectable 584,273, but at 105W TDP and DDR4 platform costs, the efficiency math rarely works out anymore.&lt;/p&gt;

&lt;h2&gt;
  
  
  ARM is knocking
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Apple M4&lt;/strong&gt; (ARMv9, 4P+6E) sits at 292,013 — roughly matching a desktop i9-13900H-class part in this benchmark. And the &lt;strong&gt;Snapdragon 8 Elite Gen 5&lt;/strong&gt; shows up at 177,452. Neither is a NAS chip today, but the trajectory is obvious: ARM efficiency is coming for the low-power server segment, and it's worth watching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why CoreMark and not Geekbench?
&lt;/h2&gt;

&lt;p&gt;CoreMark is small, deterministic, and runs on everything from a router SoC to an EPYC — which matters when your dataset spans x86, ARM, and whatever people have lying around. It's not a perfect proxy for NAS workloads (no I/O component), but as a pure CPU comparison across architectures, it's the most apples-to-apples number available.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tools around it
&lt;/h2&gt;

&lt;p&gt;The leaderboard is the core, but I also built two browser-based network tools that homelab folks keep asking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://17nas.com/ipv6-test.php" rel="noopener noreferrer"&gt;IPv6 connectivity test&lt;/a&gt; — checks whether your network actually has working v6, not just what your ISP claims&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://17nas.com/nat-test.php" rel="noopener noreferrer"&gt;NAT type detection&lt;/a&gt; — figures out your NAT behavior, which matters if you're trying to reach your NAS remotely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both run entirely in the browser, no signup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run your own and submit
&lt;/h2&gt;

&lt;p&gt;If you have a NAS, mini PC, or old server, &lt;a href="https://17nas.com" rel="noopener noreferrer"&gt;run CoreMark and submit your score&lt;/a&gt; — the chart gets more useful with every submission, especially for the oddball ARM boards and mini-PC chips that reviewers never benchmark.&lt;/p&gt;

</description>
      <category>homelab</category>
      <category>nas</category>
      <category>benchmarking</category>
      <category>cpu</category>
    </item>
  </channel>
</rss>
