Blog on //localhost:1313/blog/ Recent content in Blog on Hugo en-US Testing on screenreaders //localhost:1313/blog/testing-on-screenreaders/ Sat, 10 Feb 2024 00:00:00 +0000 //localhost:1313/blog/testing-on-screenreaders/ <p><a href="www.han.nl">HAN University of Applied Sciences</a> kindly did an accessibility test of the mCaptcha widget and the showcase site, which features a real world integration of mCaptcha in a third-party service. The report motived us to make screen reader testing an integral part of the release process.</p> <p>Here are the results:</p> <h2 id="android-in-built-screen-reader-on-fennec">Android in-built screen reader on Fennec</h2> <iframe title="Testing mCaptcha on Android screenreader with Fennec browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/e9579d73-b19e-4051-9337-8432fc15c3b3" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe> <h2 id="nvda-on-microsoft-windows-and-mozilla-firefox">NVDA on Microsoft Windows and Mozilla Firefox</h2> <iframe title="Testing mCaptcha on NVDA screen reader on MS Windows with Mozilla Firefox browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/cf534270-8089-4aad-95b3-543c467a6a12" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe> <h2 id="macos-in-built-screen-reader-on-google-chrome">macOS in-built screen reader on Google Chrome</h2> <iframe title="Testing mCaptcha on macOS in-built screen reader and Google Chrome browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/45be4f8c-1978-4650-b9f1-972cfead8420" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe> <h2 id="ios-in-built-screen-reader-on-safari">iOS in-built screen reader on Safari</h2> <iframe title="Testing mCaptcha on iOS screenreader with Safari" width="560" height="315" src="https://peertube.batsense.net/videos/embed/ac9722a4-3dce-4c40-bb0c-7bc8d721c3db" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe> Introducing mCaptcha net //localhost:1313/blog/introducing-mcaptcha-net/ Thu, 19 Oct 2023 00:00:00 +0000 //localhost:1313/blog/introducing-mcaptcha-net/ <p>mCaptcha uses a Proof-of-Work (PoW) based algorithm to offer Denial-of-Service protection, because of <a href="https://www.w3.org/TR/turingtest/#proof-of-work">its excellent accessibility characteristics</a>. PoW within mCaptcha is configuration &mdash; webmasters can configure <a href="//localhost:1313/docs/terminology/difficulty-factor">difficulty factors</a> for their installations, which determines waiting time for visitors. But PoW can become inaccessible if webmasters choose a very high difficulty factor. So they have to maintain a balance which imposes sufficient load on DDoS attackers while also being accessible to common folk.</p> February, 2023: Monthly Report //localhost:1313/blog/february-2023-monthly-report/ Wed, 08 Mar 2023 00:00:00 +0000 //localhost:1313/blog/february-2023-monthly-report/ <p>Hello and welcome to the (August 2022 to) February, 2023 monthly report!</p> <h2 id="tldr">TL;DR</h2> <p><em><a href="https://gusted.xyz">Gusted</a> and I secured funding from NLnet to work on mCaptcha in 2023, we suffered an outage from 15 January to February 6, polyfill benchmarking support in mCaptcha</em></p> <h2 id="we-have-funding">We have funding!</h2> <p><a href="https://gusted.xyz">Gusted</a> and I applied and secured funding through 2023 development is funded through the <a href="https://nlnet.nl/entrust">NGI0 Entrust</a> Fund, via <a href="https://nlnet.nl">NLnet</a>.</p> July, 2022: Monthly Report //localhost:1313/blog/july-2022-monthly-report/ Thu, 04 Aug 2022 00:00:00 +0000 //localhost:1313/blog/july-2022-monthly-report/ <p>Hello and welcome to the July, 2022 monthly report!</p> <h2 id="tldr">TL;DR</h2> <p><em>Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support, mCaptcha supports MariaDB, I&rsquo;ve applied for NLnet and Open Tech Fund, documentation is updated: tutorials and glossary is added and glue libraries have new releases.</em></p> <h2 id="codeberg-is-deploying-mcaptcha">Codeberg is deploying mCaptcha</h2> <p>Codeberg is committed to trying out mCaptcha to make their platform more accessible: they currently use a text-based CAPTCHA, which will be replaced by mCaptcha. The decision was finalized after I presented mCaptcha to them at a meeting their organized. Please see <a href="https://batsense.net/talks/codeberg-introducing-mcaptcha/">here</a> for slides.</p> June, 2022: Monthly Report //localhost:1313/blog/june-2022-monthly-report/ Thu, 07 Jul 2022 00:00:00 +0000 //localhost:1313/blog/june-2022-monthly-report/ <p>Hello and welcome to the June 2022 edition of the monthly report!</p> <h2 id="mcaptcha-is-incorporated">mCaptcha is incorporated!</h2> <p>I spent June doing non-technical tasks but I made significant progress: I had been trying to do it since summer 2021, but I faced various setbacks along the way. A family friend, who is also an auditor helped me finally get mCaptcha incorporated!</p> <p>And we&rsquo;ve already filed successfully filed the first tax return too!</p> May, 2022: Monthly Report //localhost:1313/blog/may-2022-monthly-report/ Fri, 10 Jun 2022 00:00:00 +0000 //localhost:1313/blog/may-2022-monthly-report/ <p>Hello and welcome to the May 2022 edition of the monthly report!</p> <p>mCaptcha, for a while was showing all the signs of a dead project: no commits on the repositories and no monthly updates. But the project is far from dead!</p> <h2 id="python-bindings-to-mcaptcha-powhttpsgithubcommcaptchapow_sha256">Python bindings to <a href="https://github.com/mCaptcha/pow_sha256/">mCaptcha PoW</a></h2> <p><a href="https://github.com/mCaptcha/pow_py">pow_py</a> contains bindings to <a href="https://github.com/mCaptcha/pow_sha256">pow_sha256</a>, the <a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> library that mCaptcha uses. For the uninitiated, the bindings allow for python programs to automatically solve mCaptcha.</p> December, 2021: Monthly Report //localhost:1313/blog/december-2021-monthly-report/ Thu, 23 Dec 2021 00:00:00 +0000 //localhost:1313/blog/december-2021-monthly-report/ <p>Hello and welcome to the first edition of the monthly report!</p> <p>I believe free software like mCaptcha is critical to a healthy internet but being a one-person show, there&rsquo;s hardly any accountability in the way software is built. I hope, through monthly reports, I can explain the logic and intentions behind decisions taken in the development process.</p> <p>This month, the following things were accomplished:</p> <h2 id="1-full-librejs-compliance">1. Full LibreJS Compliance</h2> <p>The CAPTCHA widget and the admin dashboard are 100% LibreJS compliant!</p> Survey //localhost:1313/blog/survey/ Thu, 28 Oct 2021 00:00:00 +0000 //localhost:1313/blog/survey/ <p><strong>Survey link:</strong> <a href="https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about">https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about</a></p> <p><strong>NOTE:</strong> The survey(at least, the lucky draw is temporarily suspended due to some logistical reasons. Apologies for any inconvenience caused.</p> <p>mCaptcha relies on a <a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a> mechanism to guard against bots. In order for this to be effective, the difficulty factor should be configured properly. If the difficulty factor is too high all the time, it will inconvenience the users and if it&rsquo;s too low during attack, the defence will be weak.</p> PoW performance //localhost:1313/blog/pow-performance/ Wed, 01 Sep 2021 00:00:00 +0000 //localhost:1313/blog/pow-performance/ <p>mCaptcha uses a <a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a> mechanism to rate limit users or potential bots. In order for this to be effective, the PoW should be configured properly. The difficulty requirement can&rsquo;t be too high, as it could cause accessibility issues on the client-side while at the same time, it shouldn&rsquo;t be too low, as it wouldn&rsquo;t offer proper protection against bots.</p> <p>Malicious bots(the ones that wreak havoc), run native code which is capable of running in a multi-threaded context. This creates an unfair advantage for crackers using these bots over legitimate users, who usually use browsers to access a website.</p> Say hello to mCaptcha //localhost:1313/blog/say-hello-to-mcaptcha/ Wed, 26 May 2021 00:00:00 +0000 //localhost:1313/blog/say-hello-to-mcaptcha/ <p>At mCaptcha, we believe in digital freedom and privacy and so we built a <a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> based CAPTCHA system that doesn&rsquo;t track. Seriously, no tracking. But that isn&rsquo;t the killer feature, our system doesn&rsquo;t require the user to pick cars or ID sidewalks &mdash; our system does it&rsquo;s thing(usually at the click of a button) and gets out of the way.</p> <h2 id="how-does-it-work">How does it work?</h2> <p>mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.</p>