RSSAmplifier

Blog

Saptak's Blog

Saptak's Blog

saptaks.blogRSS feed ↗10 posts

Latest posts

Making my first OnionShare release

One of the biggest bottlenecks in maintaining the OnionShare desktop application has been packaging and releasing the tool. Since OnionShare is a cross platform tool, we need to ensure that release works in most different desktop Operating Systems. To know more about the pain that goes through in making an OnionShare release, read the blogs[ 1 ][ 2 ][ 3 ] that Micah Lee wrote on this topic.…

Google Open Source Peer Bonus Award 2023

I am honored to be a recipient of the Google Open Source Peer Bonus 2023 . Thank you Rick Viscomi for nominating me for my work with the Web Almanac 2022 project. I was the author of Security and Accessibility chapters of the Web Almanac 2022. For the last year, I have started to spend more time in contributing, maintaining and creating Open Source project and reduced the amount of contracts I…

Progressive Enhancement is not anti-JavaScript

Yesterday, I came across a tweet by Sara Soueidan , which resonated with me. Mostly because I have had this discussion (or heated arguments) quite a few times with many folks. Please go and read her tweet thread since she mentions some really great points about why progressive enhancement is not anti-js. As someone who cares about security, privacy, and accessibility, I have always been an…

There is a lot more to autocomplete than you think

Anyone who has dealt with <form> tag in HTML might have come across the autocomplete attribute. Most developers just put autocomplete="on" or autocomplete="off" based on whether they want users to be able to autocomplete the form fields or not. But there's much more in the autocomplete attribute than many folks may know. Browser settings Most widely used browsers (Firefox, Chrome, Safari, etc.),…

Opting out of Google FLoC network

Recently, Google announced their new ad-tracking and surveillance tool called Federated Learning of Cohorts (FLoC) . This is a new alternative to the third-party cookie tracking that is otherwise widely used for advertising business. EFF has written more about the issues with using Google FLoC and also created a website where you can test if you are already a victim of their FLoC tests. Google…

Anonymous Chat using OnionShare

So the new OnionShare is out and it has a bunch of exciting new features and some improvements in the UI/UX designs of the tool. One of the main new features that I helped build was the anonymous chat feature in OnionShare. Just like the other modes (share, receive, and website), there is now a chat mode. So if you want to start a chat service, you just start the chat server, share the onion…

Adding CSP hashes for styles in Chromium

Content Security Policy (or CSP ) is a way of avoiding certain types of website-related attacks like cross-site scripting and malicious data injections. It is a way by which website developers can tell the browser what content origins are approved so that everything else is blocked. One needs to add a Content-Security-Policy HTTP header mentioning the sources which they allow for loading scripts,…

Do not fear, Tumpa is here

Anyone who has ever created an OpenPGP key knows that it is a terrifying day in their life. Be it someone skilled in computers, or someone who just cares about their privacy, creating OpenPGP key is a fearsome incident. Add moving all subkeys properly to yubikey along with managing all passphrases, and the terror just increases manifold. Well, do not fear, Tumpa is here. Tumpa loves GUI For most…

Handling nested serializer validations in Django Rest Framework

I understand that the title of this post is a little confusing. Recently, while working on the Projects API in Weblate , I came across an interesting issue. The Projects API in Weblate allowed you to get an attribute called source_language . Every project has only one source_language and in the API, it was a read-only property. { "name": "master_locales", "slug": "master_locales", "web":…

Creating Custom Whoosh Plugin

Recently, while trying to work on a query parser feature in Weblate, I came across this search engine library called Whoosh. It provides certain nice features like indexing of text, parsing of search queries, scoring algorithms, etc. One good thing about this library is most of these features are customizable and extensible. Now, the feature I was trying to implement is an exact search query. An…