<?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: jacak</title>
    <description>The latest articles on DEV Community by jacak (@jacak).</description>
    <link>https://dev.to/jacak</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%2F4080879%2F8d167727-8d54-45a5-8343-408488878d48.png</url>
      <title>DEV Community: jacak</title>
      <link>https://dev.to/jacak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jacak"/>
    <language>en</language>
    <item>
      <title>Fake US addresses that fail real validation (and a few other tiny browser tools)</title>
      <dc:creator>jacak</dc:creator>
      <pubDate>Mon, 17 Aug 2026 04:59:21 +0000</pubDate>
      <link>https://dev.to/jacak/fake-us-addresses-that-fail-real-validation-and-a-few-other-tiny-browser-tools-j50</link>
      <guid>https://dev.to/jacak/fake-us-addresses-that-fail-real-validation-and-a-few-other-tiny-browser-tools-j50</guid>
      <description>&lt;p&gt;I keep a few one-page tools in the browser for work that is too small for a full app, and too annoying to fake by hand.&lt;/p&gt;

&lt;p&gt;This is not a directory dump. Below is how I actually use them while shipping forms, docs, and media.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with "real looking" test addresses
&lt;/h2&gt;

&lt;p&gt;Checkout and KYC forms want a street, city, state, and ZIP that &lt;em&gt;look&lt;/em&gt; valid. If you paste a real address from Google Maps, you can accidentally trigger a live ship, a real card AVS check, or a real identity vendor.&lt;/p&gt;

&lt;p&gt;What I want in UI tests is the opposite:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;field lengths look familiar (so layout and masks do not break)&lt;/li&gt;
&lt;li&gt;ZIP / state combinations look like the US format&lt;/li&gt;
&lt;li&gt;checksums and real-world validation &lt;strong&gt;fail on purpose&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.usadizhi.com/" rel="noopener noreferrer"&gt;USA Dizhi&lt;/a&gt; generates fictional United States address-format samples for that job. Use it for format learning and QA. Do &lt;strong&gt;not&lt;/strong&gt; use the output for payments, shipping, or identity verification.&lt;/p&gt;

&lt;p&gt;A typical flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the generator.&lt;/li&gt;
&lt;li&gt;Copy a sample into your form fixture.&lt;/li&gt;
&lt;li&gt;Assert the UI accepts the &lt;em&gt;shape&lt;/em&gt; (required fields, ZIP length, state dropdown).&lt;/li&gt;
&lt;li&gt;Keep a separate integration test that talks to the real validator with a sandbox account, not these samples.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If your test suite currently uses &lt;code&gt;123 Main St, Springfield&lt;/code&gt; copied from a coworker, replace it. That string is too famous, and some vendors treat it as a known dummy.&lt;/p&gt;

&lt;p&gt;Public notes: &lt;a href="https://github.com/xhlovexh-lang/usadizhi" rel="noopener noreferrer"&gt;github.com/xhlovexh-lang/usadizhi&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Morse in the browser when a ticket dumps &lt;code&gt;... --- ...&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Every few months a log, CTF write-up, or old radio-adjacent feature dumps Morse as ASCII dots and dashes. I do not want to paste that into a random "decoder" that uploads the string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://morseclue.com/" rel="noopener noreferrer"&gt;MorseClue&lt;/a&gt; runs in the browser: English to Morse, Morse back to text, plus decode from audio or an image. Practice stays local.&lt;/p&gt;

&lt;p&gt;Useful when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you are checking a &lt;code&gt;beep&lt;/code&gt; / &lt;code&gt;dash&lt;/code&gt; renderer&lt;/li&gt;
&lt;li&gt;a designer sent a screenshot of a code chart&lt;/li&gt;
&lt;li&gt;you want a round-trip: text → Morse → text before you ship a toy feature&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notes: &lt;a href="https://github.com/xhlovexh-lang/morseclue" rel="noopener noreferrer"&gt;github.com/xhlovexh-lang/morseclue&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Passport-sized photos without installing an editor
&lt;/h2&gt;

&lt;p&gt;Government photo rules are picky (size, head position, background). For a visa or passport upload I use &lt;a href="https://www.photogovs.com/" rel="noopener noreferrer"&gt;PhotoGov&lt;/a&gt; instead of fighting crop handles in a generic editor. It targets 49 document formats across 17 countries.&lt;/p&gt;

&lt;p&gt;Notes: &lt;a href="https://github.com/xhlovexh-lang/photogovs" rel="noopener noreferrer"&gt;github.com/xhlovexh-lang/photogovs&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Watermarks and noise, only on files you own
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.clear-frames.com/" rel="noopener noreferrer"&gt;Clearframe&lt;/a&gt; is an inpainting watermark remover for images and video. Only run it on content you own or have permission to edit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://noisewipe.com/" rel="noopener noreferrer"&gt;NoiseWipe&lt;/a&gt; cleans room tone, hum, and clicks. You get a preview first; full download is paid if you want the whole file. I use the preview to decide whether a podcast take is salvageable.&lt;/p&gt;

&lt;p&gt;Notes: &lt;a href="https://github.com/xhlovexh-lang/clear-frames" rel="noopener noreferrer"&gt;clear-frames&lt;/a&gt;, &lt;a href="https://github.com/xhlovexh-lang/noisewipe" rel="noopener noreferrer"&gt;noisewipe&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Index
&lt;/h2&gt;

&lt;p&gt;All five sit in &lt;a href="https://github.com/xhlovexh-lang/free-web-tools" rel="noopener noreferrer"&gt;github.com/xhlovexh-lang/free-web-tools&lt;/a&gt;. I built them; this post is how I use them, not a ranking of "best AI tools".&lt;/p&gt;

</description>
      <category>software</category>
      <category>testing</category>
      <category>tools</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
