RSSAmplifier

Blog

Shaleen Jain

Personal and technical musings

shaleenjain.comRSS feed ↗37 posts

Latest posts

Air Gear Deserves a Reboot

🔗 Why This Cult Classic Is Ready for a Modern Comeback Air Gear deserves a reboot not only because it was a visually distinctive cult anime with unfinished source material, but because its deepest idea still feels relevant today: the dream of breaking free from lives built around comfort and security, and reaching toward a boundless sky of possibility. The sky is Air Gear’s most enduring…

NextDNS: A Modern DNS Firewall for Your Whole Network

I’ve been using NextDNS for over a year now and it’s one of those services that once you set up, you wonder how you lived without it. It’s a cloud-based DNS resolver with built-in filtering, analytics, and parental controls — think Pi-hole as a hosted service, but with global anycast routing and way more features.

Grounding and Trusting Oneself

While attending a CI workshop in Goa, at a wonderful space under a huge Banyan Tree with sunlight shimmering through it’s leaves, after finishing a set of partner exercises we sat down in a circle to share our experiences and feelings. Two other participants began the sharing with how they where able to trust each other letting them both share weight, lift and fly each other easily.

Values - Mine and New Gaia

These are the values I’ve built up for myself over the years and have served me well to this day. I share them here for the benefit of others but also as part of the New Earth going forward.

Dharmalaya - A Dysfunctional Institute

View from a village near Dharmalaya Dharmalaya is 6-acre eco-campus located near a village in Bir, Himachal Pradesh. The institute is intentioned as an alternate school with their main focus being on contemplative arts and teachings of the traditional practises of natural building and agriculture in-addition to now integrating that with permaculture principles.

Contact Improvisation as a Somatics Approach

Contact Improvisation (CI) is the most modern Somatics practice that I’ve come across. It combines elements of Modern dance, Martial Art with Inner physical and spacial awareness. It feels like a breath of fresh air among other popular yet highly specific and isolated approaches like Yoga or Martial Arts, which were all conceived and developed over more than a thousand years ago.

Being an Adult and the Games we Play

There’s a point in our life when we all choose to stop being a child and grow up to be an adult. A critical situation or a circumstance that forces us to make the choice of letting go of our innate desires and will to be free, playful and joyful but instead take on the responsibilities and duties necessary to survive and live in the world. This choice however mostly comes as a coping mechanism,…

Capitalism is Build on Aesthetics

Contemplating on what defines a products value and its worth? For years, societies have inherently gauged a products value via the functionality and utility it provides to its user. Various aspects affects a products overall utility: Usability: In which situation does the product provide value? Efficiency: How best or easily does the product do the job it’s intended for? Durability: How long does…

OSHO International Meditation Resort

The OSHO International Mediation Resort (OIMR) in Pune is a unique resort which offers not only the traditional relaxation services of a luxury resort, Basho Spa, swimming pool, sauna, Jacuzzi, etc. But also, true to it’s name, offers more internal ways of relaxation. The various meditation techniques developed by OSHO himself for the modern man, that are held throughout the day and facilitated by…

Sharing Joy and Love

The pain of not being able to share the joy and love you feel, with anyone, again feels like a death process. The giving and receiving of love seems like another duality. In a world craving for love, we find that love comes from within before it comes from without, and when we find it within, there’s an overwhelming sense of sharing it without. How do you share it when you finally have it? So far…

What is The Soulful Events Newsletter?

Living and staying in a city, we often look for things to do on a weekend as a fun activity, going out or just entertainment to break out of from the work mindset and schedule. However most of us end up falling into another set pattern or a repeating schedule, working on the weekdays and partying or going out on the weekends. Soulful Events Newsletter is as way to find meaningful events and…

The Joys of Traveling

Traveling, the act of going from place to place. It can be such a simple yet magical experience. You hop on a bus, a train or a airplane and within a few hours you’re transported to another microcosm on earth, with it’s own weather conditions, set of people, flora and fauna. With different places to see, be in and do things. We, as a species have always been travelers first and settlers/farmers…

My Personal Journey and Why I'm building a New Earth

I was born in a middle class family in the centre of Delhi to parents who each had four and three siblings themselves. Both my parents have struggled to purse higher education and earn a decent living as professionals. My mother is now a professor in DU and my father is retired having worked as a bank manager. Having had a humble beginning, I always asked my parents how as a society we’ve not…

Getting started with Ethereum and Solidity

If you’re just getting started with blockchain and web3 and looking to get your hands dirty by writing some code, you might be overwhelmed by the plethora of freely accessible resources around Ethereum, Solidity and blockchain in general. Having worked in the blockchain space for 5+ years now and for two startups writing Solidity smart contracts, I’ve been asked many times about how does one get…

Why Deploy your Own VPN Server?

🔗 Background and Motivation VPNs have become a requirement in many countries and for many professionals across countries to be able to do their work and maintain a level of safely and anonymity that’s increasing disparate with the modern internet. However, VPN services provided by centralized VPN providers just shifts the responsibility of maintaining user privacy and safely from decentralized…

My Journey with Estonia's E-residency program

🔗 Overview Estonia has a robust online and digital platform for availing all government services and accessing gov website by virtue of a digital ID card that is issued to every citizen. Estonia’s E-residency program is an extension of that infrastructure that lets any non-citizen of Estonia get access to their digital government services from anywhere across the globe. This includes being able…

Circumventing CG-NAT with Wireguard

With the increasing exhaustion of IPv4 addresses across the globe, various ISPs have resorted to implementing IPv4 Carrier Grade Network Address Translation (CG-NAT) as a solution to this problem. What this means is ISPs do not assign a publicly accessible IPv4 address to an end-user’s router and/or modem but rather a private IPv4 address that is behind a carrier network wide NAT implementation.

Forwarding Calls and Texts Internationally with a VoIP Server and Modem

Special thanks to Pramey Singh for feedback and review. As a Sovereign Individual, traveling and staying overseas for long periods frequently, switching sim cards/numbers can quickly become a pain. It can be helpful to still retain control over an operational phone number of your home country across geolocations. Doing so lets you forward and make local home calls and be able to receive your…

Should you buy Bitcoin in India? A Buyers Guide

I’ve had a bunch of friends approach me recently on ways to invest in bitcoin and other cryptocurrencies. In an effort to save myself from answering the same questions again and at the same time do a decent job explaining the risks and intricacies involved with what you’d think to be a simple process of buying bitcoin, I’m writing this post as a guide on “How to buy bitcoin in India”. As you can…

Owning your DNS Stack: Towards a more Decentralized Internet

🔗 Introduction Domain Name System (DNS) is a protocol for naming servers on the internet that host websites. Since computers on the internet are recognizable to each other only by their IP addresses which is a unique numerical label, for convenience every website uses a fairly recognizable domain name (www.ietf.org) to point users to their own servers (4.31.198.44) hosting the website by the…

Home Media Streaming Server with Wireguard and OpenWRT

Special thanks to Chakradhar Dhulipalla for feedback and review. 🔗 Background and motivation Long gone are the good ol’ days when Netflix used to be the only streaming service you subscribed to and sparingly shared with your friends and family providing access to virtually every video content out there. But now if you haven’t noticed there’s a new streaming service rolled out by every other big…

The Year of Blockchain

The year of 2019 has been a wild ride for the blockchain industry. The looming ban on cryptocurrencies by the Indian government and the leak of a draft bill that proposes a 10 year jail term. The long awaited end of crypto winter with bitcoin reaching a high of $13,000 and hovering around $10,000 as of this writing. The announcement of a “cryptocurrency” by Facebook and their plans to make it a…

Blogging: From Jekyll to Zola

When I first created this blog I used Jekyll for my blogging needs mostly because that was the first time I had come across the concept of a Static Site Generator (SSG), generating html from markdown posts and Jekyll was and still is the most popular SSG to date. Also because of GitHub’s free hosting for Jekyll sites. Jekyll gained its popularity by being a simple yet powerful framework. It…

DLNA/UPNP casting support in VLC - Part 2

DLNA renderers, mainly TV’s are DLNA certified devices that are able to play any media from the local network and is built upon the UPnP A/V Architecture technology. This allows you to cast any video or audio from any other device to your connected TV.

DLNA/UPNP casting support in VLC - Part 1

The latest project that I have been working on lately is adding support for casting to DLNA/UPNP renderers in VLC. DLNA renderers, mainly TV’s are DLNA certified devices that are able to play any media from the local network and is built upon the UPnP A/V Architecture technology. This allows you to cast any video or audio from any other device to your connected TV.

Protecting Your Privacy in a Post-Aadhar India

With more and more online and offline services demanding Indian citizens to provide their Aadhar number for availing their services without any legal basis and necessity under the pretense of proving your identity, it does raise more than a few privacy concerns.

Continuous Marketing - Exploiting Insecure REST API's

After I finished refactoring my android app to use a 3rd-party public API for the user data, I needed a way to quickly promote my application to users. The API I used is inherently insecure with virtually no standard REST API security in place and designed with a top-down approach to suit their own mobile app. Their whole premise being to secure the mobile app with 2FA and having an API that’s…

My First Mechanical Keyboard - A Review of TADA68

TADA68 with the aluminium case 🔗 Why TADA68? After first coming across the Keywalker IFD68 on Massdrop for just $99 I almost bought it. But after trying to find some reviews online I also found the TADA68/SABER68 designed by originatives, which is a very similar keyboard with the exact same 68 key layout and even the type and color of keycaps. But the few differences that tipped the favor towards…

My Vim and Tmux Setup

For the past couple of weeks I have been slowly setting up my Vim and tmux config files to just the way I prefer, creating the perfect workflow for working on C/C++ and Rust projects that increases my productivity by not only not having to constantly switch between the keyboard and the mouse/touchpad for every little task/navigation but also to just touch type my way to glory :). Especially since…

Mobile and Desktop Wallets with gRPC

Does anyone else also feel that we need lightning [network] desktop and mobile app wallets that can connect to your remote lnd server with gRPC (using rpc username and password) instead of every app loading and syncing their own chain on device? Leading to multiple wallets and coin fragmentation among those wallets.

Prefetching Data with Next.js and Apollo

Update: My pull requests implementing the techniques discussed here were merged into the zeit/next.js with-data-prefetch and with-apollo examples. You can easily combine the various examples (including the above two) to achieve your desired functionality. For most modern web apps, network speed and latency is still the biggest constraint for high performance and great UX. Universally rendered…

Fuzzing libVLC - Final Report

Update: My fuzz targets have been merged into the VLC mainline tree by commits 74e7bd2, b83e9f2. Introduction to my GSoC project here Majority of the parsing code of VLC has been successfully setup to be fuzzed by: The demux fuzz target which creates an input stream from the fuzzed input provided by libfuzzer, probes and loads an appropriate demux module and demultiplexes the input into the…

Fuzzing libVLC - Improvements

I have been making some few specific improvement to demux fuzz target and also working on the decoder target side by side which isn’t done yet. Some general improvements that I have made for all fuzz targets is abstracting away and initializing the parent libvlc_instance_t object in LLVMFuzzerInitialize which obviously has some performance improvements as it isn’t created and destroyed on every…

Fuzzing libVLC - De-multiplexer

So, I have been working on writing a fuzz target for the demux API for the past two weeks and I have reached a point where it has a good code coverage and has already found some few shallow bugs. Here are some of the stacktraces libfuzzer spit out and all of them were fixed rather promptly.

Fuzzing libVLC - The Architecture

Introduction to this blog post here 🔗 The Architecture I met with the VLC developers and my mentor at the VideoLabs office in Paris and after a few meetings and discussions we had a pretty good idea on how we could fuzz test libVLC and the VLC core most appropriately. In VLC, except the core, everything is a module. There are over 200+ modules in VLC along with libVLCCore and libVLC. The main…

VLC Media Player and Fuzz testing

Software bugs and vulnerabilities can be difficult to detect and slow to find even when actively searched for by developers and users who usually look for superficial functional and visual bugs. In a large software especially those written in middle level languages like C/C++, security bugs and vulnerabilities can often be used to comprise the whole system. Mainly because memory management is left…

Trusting a Self-signed SSL Certificate

When connecting to a server which has setup their SSL encryption with a self-signed certificate through a Java or an android app, you’ll get an SSLException since their certificate isn’t signed by a Certificate Authorities (CA) which is a 3rd party who is trusted by everyone. javax.net.ssl.SSLException: Not trusted server certificate exception If you have access to the server or know the site…