<?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: 闫品权</title>
    <description>The latest articles on DEV Community by 闫品权 (@_4a402f2d2e1b4119fd0db).</description>
    <link>https://dev.to/_4a402f2d2e1b4119fd0db</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%2F4146340%2F8400053a-6f6b-401d-a5f6-c3594c8370ce.png</url>
      <title>DEV Community: 闫品权</title>
      <link>https://dev.to/_4a402f2d2e1b4119fd0db</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_4a402f2d2e1b4119fd0db"/>
    <language>en</language>
    <item>
      <title>35 free developer tools that run entirely in your browser — no signup, no uploads</title>
      <dc:creator>闫品权</dc:creator>
      <pubDate>Sat, 10 Oct 2026 06:41:53 +0000</pubDate>
      <link>https://dev.to/_4a402f2d2e1b4119fd0db/35-free-developer-tools-that-run-entirely-in-your-browser-no-signup-no-uploads-b0m</link>
      <guid>https://dev.to/_4a402f2d2e1b4119fd0db/35-free-developer-tools-that-run-entirely-in-your-browser-no-signup-no-uploads-b0m</guid>
      <description>&lt;p&gt;Two things always bothered me about the usual "paste your JSON here" websites: half of them quietly upload your data to a server, and the other half drown you in ads. When you are pasting an access token into a JWT decoder, "where does this data actually go?" is not a paranoid question.&lt;/p&gt;

&lt;p&gt;So we built a collection of developer tools where &lt;strong&gt;everything runs in your browser&lt;/strong&gt;. No account, no uploads, no server round-trips — the parsing happens in JavaScript on your own machine. Here are the ten I reach for most often.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. JSON Formatter
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/json-formatter" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/json-formatter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Formats, validates and minifies JSON. The error message points at the exact character that broke your config, which is the difference between 30 seconds and five minutes of staring at a bracket.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. JWT Decoder
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/jwt-decoder" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/jwt-decoder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Decodes the header and payload instantly and flags expiration. Handy when debugging auth flows — and since the token never leaves your machine, it stays safe to use with real tokens.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Cron Parser
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/cron-parser" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/cron-parser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Explains any cron expression in plain English ("at 03:00, every 5 days") and shows the next scheduled runs. I no longer pretend to remember what &lt;code&gt;*/15 2-6 * * 1-5&lt;/code&gt; means.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Regex Tester
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/regex-tester" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/regex-tester&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live highlighting of matches as you type, including capture groups. Test patterns against your real sample data locally, not through someone else's API rate limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. SQL Formatter
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/sql-formatter" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/sql-formatter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turns the 200-character one-liner from your ORM logs into something a human can read during code review. Supports multiple SQL dialects.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. UUID Generator
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/uuid-generator" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/uuid-generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bulk v4 UUIDs in one click, with a "copy all" button. Works offline.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Hash Generator
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/hash-generator" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/hash-generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MD5, SHA-1, SHA-256 and SHA-512 from text or a file. Useful for checksums and cache keys without dropping into a shell.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Base64
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/base64" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/base64&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Encodes and decodes text and files, including the URL-safe variant that trips people up constantly when working with JWTs.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Diff Checker
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/diff-checker" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/diff-checker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Side-by-side text diff with changed lines highlighted. Paste two versions of a config file and see exactly what moved.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Timestamp Converter
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/tools/timestamp-converter" rel="noopener noreferrer"&gt;https://hysenlabs.com/tools/timestamp-converter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unix timestamps to human-readable time and back, timezone aware. Debugging a &lt;code&gt;1700000000&lt;/code&gt; in a log line? Paste, done.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rest of the set
&lt;/h2&gt;

&lt;p&gt;The full collection currently has &lt;strong&gt;35 tools&lt;/strong&gt; — URL parser, user-agent parser, HTML entity encoder, color converter, CSV to Markdown, AES encryption, HMAC generator and more. All free, all client-side:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://hysenlabs.com/tools" rel="noopener noreferrer"&gt;hysenlabs.com/tools&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One more thing
&lt;/h2&gt;

&lt;p&gt;The same site publishes a &lt;strong&gt;weekly GitHub star-growth ranking&lt;/strong&gt; with an open methodology and a downloadable dataset, if you like tracking which open-source projects are genuinely trending rather than just loud on social media:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hysenlabs.com/data/star-growth" rel="noopener noreferrer"&gt;https://hysenlabs.com/data/star-growth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything runs client-side, so paste away — your data stays in your browser tab. If you have ideas for tools worth adding, the feedback link on the site works and we actually read it.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tools</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Nine weeks of GitHub star growth: 64% of weekly winners appeared only once</title>
      <dc:creator>闫品权</dc:creator>
      <pubDate>Mon, 28 Sep 2026 09:11:38 +0000</pubDate>
      <link>https://dev.to/_4a402f2d2e1b4119fd0db/n-4hc8</link>
      <guid>https://dev.to/_4a402f2d2e1b4119fd0db/n-4hc8</guid>
      <description>&lt;p&gt;For the last nine weeks I have been taking daily snapshots of GitHub stars for roughly 19,000 open-source projects. Every Monday I publish a top 10 based on star growth since the previous week. Each week gets a fixed page that is never edited afterwards.&lt;/p&gt;

&lt;p&gt;I started the project because weekly trending lists are easy to read and hard to trust. A repository can get a burst of attention from a release, a conference talk, or one popular post. I wanted to know how often that burst lasted.&lt;/p&gt;

&lt;p&gt;The answer so far: not very often.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers
&lt;/h2&gt;

&lt;p&gt;There are nine complete weeks in the archive, from 2026-07-27 through 2026-09-21. That gives us 90 slots.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;47 distinct projects filled those slots.&lt;/li&gt;
&lt;li&gt;30 projects, or 64%, appeared exactly once.&lt;/li&gt;
&lt;li&gt;The average overlap between one week and the next was 4.9 out of 10.&lt;/li&gt;
&lt;li&gt;The overlap ranged from 2 to 6.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The weekly carryover looks like this:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Week starting&lt;/th&gt;
&lt;th&gt;Projects still on the list&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2026-08-03&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-08-10&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-08-17&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-08-24&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-08-31&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-09-07&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-09-14&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-09-21&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Most weeks replaced about half the list. The week of 2026-09-14 was more extreme: only two projects stayed from the week before.&lt;/p&gt;

&lt;h2&gt;
  
  
  Long streaks are rare
&lt;/h2&gt;

&lt;p&gt;Three projects lasted seven weeks in a row: &lt;code&gt;mattpocock/skills&lt;/code&gt;, &lt;code&gt;stablyai/orca&lt;/code&gt;, and &lt;code&gt;DietrichGebert/ponytail&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;All three dropped out in the same week, 2026-09-14. That was also the week with the highest turnover in the sample. The result looked like a clean end to the only real streak in the data.&lt;/p&gt;

&lt;p&gt;It was not. &lt;code&gt;stablyai/orca&lt;/code&gt; returned to the top 10 the following week.&lt;/p&gt;

&lt;p&gt;That single reversal is useful. It shows why one week in a trending list is a weak signal. It also shows why dropping out for one week does not prove that interest has disappeared. With nine weeks of data, I can describe what happened in this period. I cannot use it to predict what a repository will do next year.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the ranking is calculated
&lt;/h2&gt;

&lt;p&gt;Each week compares two daily snapshots: the one nearest the Monday boundary and the one nearest the Sunday boundary. Both snapshots must fall within 36 hours of the boundary. If either one is missing, the repository is dropped for that week rather than estimated.&lt;/p&gt;

&lt;p&gt;Archived, mirrored, and unlisted repositories are excluded. A week only enters the archive when it has ten projects. The first week in the source data had seven, so it is not part of the nine complete weeks.&lt;/p&gt;

&lt;p&gt;The project list leans toward AI and developer tooling. It is not a random sample of GitHub.&lt;/p&gt;

&lt;p&gt;Stars are also noisy. A popular post can move the number by thousands in a day, and not every star represents a user who will keep using the project. The ranking measures attention, not maintenance, code quality, or long-term adoption.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I look at instead
&lt;/h2&gt;

&lt;p&gt;A weekly ranking is useful for finding projects I have not seen before. It is not a good reason to adopt one.&lt;/p&gt;

&lt;p&gt;For that decision I look at the last commit, recent releases, open issues, and whether the repository has been archived. The license matters too. A permissive license, a copyleft license, and a source-available license can lead to very different outcomes for a product.&lt;/p&gt;

&lt;p&gt;The weekly list is a starting point. The repository itself has to answer the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data and method
&lt;/h2&gt;

&lt;p&gt;The archive is here: &lt;a href="https://hysenlabs.com/en/weekly" rel="noopener noreferrer"&gt;https://hysenlabs.com/en/weekly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The latest complete week is here: &lt;a href="https://hysenlabs.com/en/weekly/2026-09-21" rel="noopener noreferrer"&gt;https://hysenlabs.com/en/weekly/2026-09-21&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is also a rolling 30-day growth table with a CSV download: &lt;a href="https://hysenlabs.com/en/data/star-growth" rel="noopener noreferrer"&gt;https://hysenlabs.com/en/data/star-growth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find an error in the method, send me the details. I would rather correct the dataset than defend a bad number.&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>data</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
