<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>codeuctivity Blog</title>
        <link>https://codeuctivity.github.io/blog</link>
        <description>codeuctivity Blog</description>
        <lastBuildDate>Tue, 30 Jun 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Commercial Support Options]]></title>
            <link>https://codeuctivity.github.io/blog/commercial-support</link>
            <guid>https://codeuctivity.github.io/blog/commercial-support</guid>
            <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Overview]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://codeuctivity.github.io/blog/commercial-support#overview" class="hash-link" aria-label="Direct link to Overview" title="Direct link to Overview" translate="no">​</a></h2>
<p>You can use our packages under their existing open-source licenses.</p>
<p>For organizations that need guaranteed support and/or a predictable maintenance path for specific versions and environments, we offer paid <strong>Commercial Support</strong> for a defined scope and timeframe.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-you-can-buy">What you can buy<a href="https://codeuctivity.github.io/blog/commercial-support#what-you-can-buy" class="hash-link" aria-label="Direct link to What you can buy" title="Direct link to What you can buy" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-commercial-support-priority-handling">1) Commercial Support (priority handling)<a href="https://codeuctivity.github.io/blog/commercial-support#1-commercial-support-priority-handling" class="hash-link" aria-label="Direct link to 1) Commercial Support (priority handling)" title="Direct link to 1) Commercial Support (priority handling)" translate="no">​</a></h3>
<p>We provide priority handling for issues/questions that fall within the agreed scope. The exact scope is defined in the agreement issued to you.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-ongoing-support-for-specific-environmentsversions">2) Ongoing support for specific environments/versions<a href="https://codeuctivity.github.io/blog/commercial-support#2-ongoing-support-for-specific-environmentsversions" class="hash-link" aria-label="Direct link to 2) Ongoing support for specific environments/versions" title="Direct link to 2) Ongoing support for specific environments/versions" translate="no">​</a></h3>
<p>We can contract to keep specific versions of our packages working and supported in your environment for a defined timeframe.</p>
<p>This can include support for:</p>
<ul>
<li class="">a specific runtime/version (e.g., .NET),</li>
<li class="">a specific Node.js version,</li>
<li class="">a specific browser version or browser family,</li>
<li class="">a specific operating system/version,</li>
<li class="">and/or any combination.</li>
</ul>
<p>Examples include:</p>
<ul>
<li class="">keeping a version supported while you upgrade the rest of your dependency stack,</li>
<li class="">providing fixes/workarounds needed until you can complete an upgrade,</li>
<li class="">backporting or compatibility updates for a defined window.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-faster-than-free-updates-priority-delivery">3) Faster-than-free updates (priority delivery)<a href="https://codeuctivity.github.io/blog/commercial-support#3-faster-than-free-updates-priority-delivery" class="hash-link" aria-label="Direct link to 3) Faster-than-free updates (priority delivery)" title="Direct link to 3) Faster-than-free updates (priority delivery)" translate="no">​</a></h3>
<p>We can prioritize updating our library and/or related dependency compatibility faster than our free community release cadence—when timing matters.</p>
<p>Examples include:</p>
<ul>
<li class="">upgrading to newer dependency versions to support a required platform release,</li>
<li class="">shipping urgent compatibility fixes ahead of the next community release,</li>
<li class="">delivering accelerated fixes for a critical issue affecting your target environment.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-we-drop-older-versions-and-why-this-offer-exists">Why we drop older versions (and why this offer exists)<a href="https://codeuctivity.github.io/blog/commercial-support#why-we-drop-older-versions-and-why-this-offer-exists" class="hash-link" aria-label="Direct link to Why we drop older versions (and why this offer exists)" title="Direct link to Why we drop older versions (and why this offer exists)" translate="no">​</a></h2>
<p>Supporting older environments increases build time and engineering complexity: larger test/build matrices, more packaging complexity, more failure modes during maintenance, and more risk as the ecosystem evolves.</p>
<p>In practice, customers may fall out of step with our release cadence—or with each other’s cadences—because:</p>
<ul>
<li class=""><strong>Dependency upgrade lag:</strong> your other libraries/frameworks upgrade on a slower schedule.</li>
<li class=""><strong>Enterprise change control:</strong> internal approvals can delay upgrades.</li>
<li class=""><strong>Platform freezes:</strong> production environments may be frozen for a release window.</li>
<li class=""><strong>Browser/OS update timing:</strong> you may need to support older OS/browser versions due to customer devices or procurement realities.</li>
<li class=""><strong>Long-lived apps:</strong> internal products can require extended stability compared to upstream “latest” releases.</li>
<li class=""><strong>Required urgency:</strong> you may need a dependency/platform update before the next free community release window.</li>
</ul>
<p>Because of this, we may remove older environments/versions from community releases when maintenance cost outweighs community benefit.</p>
<p>This paid option exists to support organizations that still need their software “to just keep running”—without forcing the community release pipeline to carry long-term complexity.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="important-note-about-keep-it-running">Important note about “keep it running”<a href="https://codeuctivity.github.io/blog/commercial-support#important-note-about-keep-it-running" class="hash-link" aria-label="Direct link to Important note about “keep it running”" title="Direct link to Important note about “keep it running”" translate="no">​</a></h2>
<p>This is not a promise that every historical version/environment will be maintained forever for everyone.</p>
<p>Instead:</p>
<ul>
<li class="">community releases follow a sustainable support cadence,</li>
<li class="">contracted customers can buy continued compatibility/support for the version(s)/environment(s) and timeframe they need,</li>
<li class="">and/or buy accelerated delivery for specific updates within the agreed scope.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-happens-next">What happens next<a href="https://codeuctivity.github.io/blog/commercial-support#what-happens-next" class="hash-link" aria-label="Direct link to What happens next" title="Direct link to What happens next" translate="no">​</a></h2>
<p>Email us at <strong><a href="mailto:codeuctivity@gmail.com" target="_blank" rel="noopener noreferrer" class="">codeuctivity@gmail.com</a></strong> with the scope you need. We’ll reply with the options available and propose an agreement.</p>
<p>In your message, include:</p>
<ol>
<li class="">package name(s) (NuGet and/or npm)</li>
<li class="">version(s)/environment(s) you need (examples: Node, browser, OS, runtime)</li>
<li class="">your goal (CI, internal apps, distribution, etc.)</li>
<li class="">timeframe/end date</li>
<li class="">whether you need <strong>faster updates</strong> or <strong>compatibility/backports</strong> for older versions</li>
</ol>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Relaunch App 'bonreader' as PWA 'BelegScan.at']]></title>
            <link>https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa</link>
            <guid>https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa</guid>
            <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Our application has undergone a relaunch, and we are excited to introduce the new features as a Progressive Web App (PWA). This approach ensures a smoother user experience and greater accessibility.]]></description>
            <content:encoded><![CDATA[<p>Our application has undergone a relaunch, and we are excited to introduce the new features as a Progressive Web App (PWA). This approach ensures a smoother user experience and greater accessibility.</p>
<p>Give it a try at <a href="https://belegscan.at/" target="_blank" rel="noopener noreferrer" class="">BelegScan.at</a>.</p>
<p><img decoding="async" loading="lazy" alt="BelegScan Home Screen" src="https://codeuctivity.github.io/assets/images/belegscan-home-95187f0ea3fd2f9e415c1c0b6b086556.jpg" width="1080" height="2340" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-belegscan">What is BelegScan?<a href="https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa#what-is-belegscan" class="hash-link" aria-label="Direct link to What is BelegScan?" title="Direct link to What is BelegScan?" translate="no">​</a></h2>
<p>BelegScan.at reads Austrian cash register QR codes (RKSV - Registrierkassensicherheitsverordnung) and displays receipt data clearly. The web app works for free and runs directly in your browser – no app installation required.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-features">Key Features<a href="https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa#key-features" class="hash-link" aria-label="Direct link to Key Features" title="Direct link to Key Features" translate="no">​</a></h2>
<ul>
<li class=""><strong>Signature Validation</strong>: Automatically verifies the cryptographic signature of RKSV QR codes to ensure receipt authenticity and integrity</li>
<li class=""><strong>No Installation Required</strong>: Works as a Progressive Web App directly in your browser</li>
<li class=""><strong>Cross-Platform</strong>: Works on iPhone, Android, and desktop browsers</li>
<li class=""><strong>Free to Use</strong>: Completely free with no hidden costs</li>
<li class=""><strong>Offline Capable</strong>: Once loaded, the PWA works even without an internet connection</li>
<li class=""><strong>Scan Receipts</strong>: Easily scan Kassabons, Kassenzettel, and Quittungen from Austrian cash registers</li>
<li class=""><strong>Clear Display</strong>: View scanned receipt data in an organized, easy-to-read format</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="signature-validation">Signature Validation<a href="https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa#signature-validation" class="hash-link" aria-label="Direct link to Signature Validation" title="Direct link to Signature Validation" translate="no">​</a></h2>
<p>BelegScan validates the cryptographic signatures embedded in Austrian cash register QR codes according to RKSV (Registrierkassensicherheitsverordnung) requirements. This validation ensures:</p>
<ul>
<li class=""><strong>Authenticity</strong>: Confirms the receipt originates from a registered cash register</li>
<li class=""><strong>Integrity</strong>: Verifies the receipt data hasn't been tampered with</li>
<li class=""><strong>Compliance</strong>: Helps businesses and consumers verify RKSV compliance</li>
<li class=""><strong>Trust</strong>: Provides instant verification that receipts are genuine and unmodified</li>
</ul>
<p><img decoding="async" loading="lazy" alt="BelegScan Signature Validation" src="https://codeuctivity.github.io/assets/images/belegscan-signature-validation-d30c314f8ed737937f73d791d0a75118.jpg" width="1080" height="2340" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-pwa">Why PWA?<a href="https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa#why-pwa" class="hash-link" aria-label="Direct link to Why PWA?" title="Direct link to Why PWA?" translate="no">​</a></h2>
<p>By relaunching as a Progressive Web App, BelegScan.at offers several advantages:</p>
<ul>
<li class=""><strong>Instant Access</strong>: No need to download from app stores</li>
<li class=""><strong>Automatic Updates</strong>: Always get the latest version</li>
<li class=""><strong>Less Storage</strong>: Uses minimal device storage compared to native apps</li>
<li class=""><strong>Universal Compatibility</strong>: Works across all modern devices and browsers</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-started">Get Started<a href="https://codeuctivity.github.io/blog/2026/03/30/relaunch-app-as-pwa#get-started" class="hash-link" aria-label="Direct link to Get Started" title="Direct link to Get Started" translate="no">​</a></h2>
<p>Visit <a href="https://belegscan.at/" target="_blank" rel="noopener noreferrer" class="">BelegScan.at</a> to start scanning your Austrian cash register receipts today!</p>
<p>For questions or feedback, contact us at <a href="mailto:Codeuctivity@gmail.com" target="_blank" rel="noopener noreferrer" class="">Codeuctivity@gmail.com</a>.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Google play dev account 'codeuctivity' will be removed]]></title>
            <link>https://codeuctivity.github.io/blog/Bye bye google play store</link>
            <guid>https://codeuctivity.github.io/blog/Bye bye google play store</guid>
            <pubDate>Mon, 02 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Update 2026 - rereleased as PWA: belegscan.at, gone independent from app plattform Google Play store]]></description>
            <content:encoded><![CDATA[<p>**Update 2026 - rereleased as PWA: <a href="https://belegscan.at/" target="_blank" rel="noopener noreferrer" class="">belegscan.at</a>, gone independent from app plattform Google Play store **</p>
<p><strong>Update 2025 - rereleased: <a href="https://codeuctivity.github.io/obtainium/redirect.html?r=obtainium%3A%2F%2Fadd%2Fhttps%3A%2F%2Fgithub.com%2Fstesee%2FPDFEncrypt" target="_blank" rel="noopener noreferrer" class=""><img decoding="async" loading="lazy" src="https://img.shields.io/badge/Obtainium-LockPDFy-green?style=flat&amp;logo=android" alt="Obtainium" class="img_ev3q"></a> <a href="https://codeuctivity.github.io/obtainium/redirect.html?r=obtainium%3A%2F%2Fadd%2Fhttps%3A%2F%2Fgithub.com%2FCodeuctivity%2Fcodeuctivity.github.io" target="_blank" rel="noopener noreferrer" class=""><img decoding="async" loading="lazy" src="https://img.shields.io/badge/Obtainium-BonReader-green?style=flat&amp;logo=android" alt="Obtainium" class="img_ev3q"></a></strong></p>
<p>Google Play Store is a great platform to distribute Android apps. However, the recurring effort to keep the changing regulatory requirement up to date is not worth it for me. I have decided to let my dev profile fade away and focus on other things.</p>
<p><img decoding="async" loading="lazy" alt="1725277366437" src="https://codeuctivity.github.io/assets/images/1725277366437-c97eb7db9527bfadb14f759ae3cf5d45.png" width="1172" height="421" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="app-store-entries-today-that-will-be-removed">App store entries today that will be removed<a href="https://codeuctivity.github.io/blog/Bye%20bye%20google%20play%20store#app-store-entries-today-that-will-be-removed" class="hash-link" aria-label="Direct link to App store entries today that will be removed" title="Direct link to App store entries today that will be removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bonreader-pro">BonReader Pro<a href="https://codeuctivity.github.io/blog/Bye%20bye%20google%20play%20store#bonreader-pro" class="hash-link" aria-label="Direct link to BonReader Pro" title="Direct link to BonReader Pro" translate="no">​</a></h3>
<p><a href="https://play.google.com/store/apps/details?id=com.codeuctivity.bonreaderPro3" target="_blank" rel="noopener noreferrer" class="">https://play.google.com/store/apps/details?id=com.codeuctivity.bonreaderPro3</a></p>
<p><a href="https://youtu.be/Igtaho_6Ies" target="_blank" rel="noopener noreferrer" class="">https://youtu.be/Igtaho_6Ies</a></p>
<p>The Android app "BonReader" has been specially developed to read
information from QR codes from Austrian cash registers. The app allows
users to scan QR codes on printed invoices and extract relevant
information.</p>
<p>How the app works:</p>
<p>QR Code Scanning: The
app uses the Android device's camera to capture the QR code on the
printed invoice. The user can simply place the QR code in the camera's
field of view and the app will automatically recognize the code.</p>
<p>Reading information: As soon as the QR code has been recorded, the
app reads the information it contains. This includes data such as the
invoice number, the invoice date and the total amount.</p>
<p>Export
and archiving: The app offers the option of exporting the recorded data
in XLSX format. Users can save their billing information in an Excel
file and use it for accounting or other purposes.</p>
<p>The described
app allows users to easily scan QR codes on Austrian cash register bills
and extracts the relevant information. This makes the processing of
invoice data more efficient and convenient.</p>
<p><img decoding="async" loading="lazy" alt="1725277040905" src="https://codeuctivity.github.io/assets/images/1725277040905-800d2b839f871c7d8a063fbd38e283a7.png" width="2560" height="1392" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bonreader">BonReader<a href="https://codeuctivity.github.io/blog/Bye%20bye%20google%20play%20store#bonreader" class="hash-link" aria-label="Direct link to BonReader" title="Direct link to BonReader" translate="no">​</a></h3>
<p><a href="https://play.google.com/store/apps/details?id=com.codeuctivity.bonreader" target="_blank" rel="noopener noreferrer" class="">https://play.google.com/store/apps/details?id=com.codeuctivity.bonreader</a></p>
<p><a href="https://youtu.be/Igtaho_6Ies" target="_blank" rel="noopener noreferrer" class="">https://youtu.be/Igtaho_6Ies</a></p>
<p>Its quite the same like 'BonReader Pro' but with commecial.</p>
<p><img decoding="async" loading="lazy" alt="1725277056034" src="https://codeuctivity.github.io/assets/images/1725277056034-fd861287597ab4be7809873efba29453.png" width="2560" height="1392" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="lockpdfy">LockPDFy<a href="https://codeuctivity.github.io/blog/Bye%20bye%20google%20play%20store#lockpdfy" class="hash-link" aria-label="Direct link to LockPDFy" title="Direct link to LockPDFy" translate="no">​</a></h3>
<p><a href="https://play.google.com/store/apps/details?id=com.codeuctivity.LockPDFy" target="_blank" rel="noopener noreferrer" class="">https://play.google.com/store/apps/details?id=com.codeuctivity.LockPDFy</a></p>
<p>LockPDFy is a user-friendly, open-source tool for Windows that swiftly encrypts and decrypts PDF files at no cost.</p>
<p>You can still download the version from the windows store.</p>
<p><img decoding="async" loading="lazy" alt="1725277048754" src="https://codeuctivity.github.io/assets/images/1725277048754-299d2e76cef6c9a3798b6f0e3cb59e1d.png" width="2560" height="1392" class="img_ev3q"></p>]]></content:encoded>
            <category>google play store</category>
            <category>android</category>
            <category>obtainium</category>
        </item>
    </channel>
</rss>