It’s-a me!! Almmost anyone who grew up in the 80s can beat World 1-1 of Super Mario Bros in their sleep. This level was the rite of passage that taught a generation where jump buttons belong. So when I set out to teach a reinforcement learning agent to finish it, I expected a long afternoon and a short victory lap. Instead I got days of training, a laptop that doubled as a space heater, and…
What’s better than one health tracker? Two health trackers. I kid, I kid. But maybe not :) I like my Apple Watch Ultra. It is the better workout tracker, lets me leave my phone behind, and is useful as an actual smartwatch when I am out. It is also a fairly large slab of metal to wear around the house and, especially, to bed. If I take it off, though, I lose the boring background data which…
I Know Learnt Kung Fu Imagine yourself in a Hollywood Thriller. You wake up in a dark room without any memory of how you got there or what are you doing there. All you know is you need to get out somehow but don’t have any instructions on how to do so. You can’t really see anything, but someone keeps shouting random words. Every time you do something, you either feel a sharp bout of…
Laser Engravers! Thought about buying a portable laser engraver, started with xTool F1 Lite and almost settled on xTool F2 Seemed small enough to be portable so I can use it in my balcony to avoid venting complications F2 also has a higher power diode laser than F1 Lite, and a small IR laser for some acrylic/metal work too! But then decided against it finally. Unsure how much I’m going to…
macOS and miniforge On macOS, if you install miniforge, by default it always updates bash_profile for conda init, even if your shell is zsh. To fix and use conda/miniforge properly, run conda init zsh after installing miniforge. miniforge / conda change the prompt to add the currently active env name to the shell which is not needed if you already use something like oh-my-zsh/startship etc To…
iCloud sync exclusions One can avoid syncing a file or folder in iCloud drive by adding a .nosync extension to it (for a file) or a .tmp extention to it (for a folder). Quite a bit backwards if you ask me, but it is what it is. A few TILs and notes for Fnirsi FNB-C2 Got this USB power meter/tester a few weeks ago Updating Fnirsi FNB-C2 Firmware Download the firmware from fnirsi website Press…
Why? Who doesn’t want to backup all their stuff, that is: Fast Reliable De-Duplicated Has all the encryption, scheduling, and tons of extra bells and whistles? Well, Synology Synology Active Backup for Business (ABB) has all of it, that I use to back up all my Windows and Linux devices. However, on M-series MBPs, the ABB agent requires installing Rosetta. I don’t want to do that, and so far…
Sora 2 launch by Open AI, which many are terming as AI Tiktok made me think. Growing up in India during the 1980s, television was a simple ritual. Every evening, Doordarshan had our attention with its prime time shows. I’d sit cross-legged on the floor, eyes glued to whatever was airing. Sprawling family sagas of Buniyaad and Hum Log and the suspense with scares of Rahasyamayi Qila. Sundays…
I believe the sun should never set upon an argument I believe we place our happiness in other people's hands I believe that junk food tastes so good because it's bad for you I believe your parents did the best job they knew how to do I believe that beauty magazines promote low self esteem I believe I'm loved when I'm completely by myself alone In the Winter of 1999, as I was preparing to get to…
Intro I’ve been seeing a few folks talking about Amp recently, which is an agentic coding tool built by Sourcegraph , the folks who had built Cody. I have worked with Cody before and had a great time with it before it got overshadowed by Windsurf/Cursor etc, so I wanted to give Amp a try as well. Now, this is NOT a full fledged review but only my first hands on impressions from implementing…
AdTechGod recently posted an interesting question on twitter “How many Super Bowl advertisers return year after year, and how much churn is there? I assume the ROAS isn’t strong enough to justify long term commitments.” This got me thinking about the Super Bowl ads and how they have changed over the years, and I set out to do some analysis on it. First steps At the outset, I…
Running Pi-hole or AdGuard Home provides great network-wide ad blocking, but creates a single point of failure. When your DNS server crashes or needs maintenance, your entire network loses DNS resolution. I had this problem and thus far had chosen to do a sub-optimal solution of using both AdGuard DNS as well as an upstream Google DNS server in my internet gateway. dnsmasq running on the gateway…
Around an year ago, I spent a few weeks setting up the “perfect” workout tracking system. Custom spreadsheets, progress graphs, integration with my calendar, and so on. I was proud of this beast of a system. But you know what I didn’t do all those weeks, and several following ones? Actually work out. Sounds familiar? We’ve all been there - caught in the trap of…
Aravind Srinivas (Perplexity) recently talked about how advertising might work in a future dominated by AI. His vision? A world where we never see ads because our AI agents handle them all behind the scenes. Sounds neat, but I’m not entirely convinced. Here’s the thing. What Aravind describes isn’t really advertising. It’s more like super powered comparison shopping. Taking…
PKM: Personal Knowledge Management I love it. I love taking notes. I love saving all bits and bobs of information that I come across. Bookmarks, memes, quotes, code snippets, whatever. I love it. But I run into a bunch of issues with them. I can’t find them. I can’t remember them. I can’t use them. I spend a lot more time managing them than I do learning. I had an epiphany…
I use a bulb camera from Amazon for my doorway, because it is very easy to set it up since just goes into the existing bulb socket without any additional wiring, and connects over wifi to my internet. Most of these cameras are based around V380 / V380 Pro platforms, which are typically nice to work with 3rd party software via the ONVIF and RTSP protocols. ONVIF allows good control over the camera…
Imagine that you wake up one day and discover that you have the power to bring your ideas to life! You think of something, design it and it appears in front of you. Wouldn’t that be life-changing for you? In the sweet monsoons, some 25 years ago, a lot of Indian kids started dreaming of this when the show Shaka Laka Boom Boom went on air. It had a magical pencil that the show’s…
1) What? A classic debate that keeps erupting now and then is whether it’s ok or not to continue to look for other jobs after signing an employment contract with a company, to get potentially a better offer. There are good arguments from both sides. Employers expect you to commit/be good to your word and not continue shopping around a signed offer letter. Candidates believe that this is…
I love listening to music (mostly rock and metal), and I’m in meetings, A LOT. So, naturally I use headphones a lot, especially due to the video calls situation forced by the pandemic. Now, I’ve been having this uneasy feeling for a long time which is sort of like a headache but not really and it’s been gnawing at me. I attributed this to lack of sleep, stress, etc early on but…
My 10yo (Pradyumn) got interested in coding last year. I wasn’t so sure about it in the beginning since I didn’t want to force my career choices or interests on to him. But I realized that he wanted to do it of his own accord, so I agreed to help him. But our deal was that I will introduce him a bit to the learning resources and help him out with his doubts here and there, while he…
I’m a sucker for screen real estate, and thus I use 2 32" 4k monitors so I can see most of my apps’ windows simultaneously, instead of switching back and forth between them. #myworkplace is pretty lean (on cables) and mean (on screen real estate). And a lot of tileception goes on (window tiling, then local tmux tiling, then 1-2 levels of remote tmux tiling) pic.twitter.com/wCqsusBfRb…
Auto generated files in a project are pretty common. There are generally 3 scenarios for this in a project that needs auto-generated files: An external pre-built tool generates files pre-compilation and then the generated files get checked in to the tree The tool is compiled in-tree but is again used to generate files pre-compilation and then check them into tree The tool is built during the main…
I’m going through this brilliant book, Crafting Interpreters , these days to learn more about how interpreters are built. My attempts so far have been ameturish, as I’ve never had a formal CS course, and this looked useful to upskill my toolkit. However, the book implements the interpreter in Java (at least the first part, which I am going through now) and I’m trying to follow…
I’m a backup nerd and like to back-up everything I do. Not just that, I like to version them too so I can go back in time to any point. git serves as a good tool for me for versioning wherever small data/text files etc are concerned and then I back this up with remote git servers like my own git server on a raspberry pi at home, a gitlab server and a github server. Prime targets for this are…
I added a Raspberry Pi 4B recently in my ever expanding homelab. To get the best network with the new gigabit ethernet port on the raspi, and still save power, I added a PoE hat to it so I could power the raspi as well as provide it data through the ethernet port. Everything worked fine except that I ocassionaly got into situations where the raspi stopped responding suddenly. Initially I thought…
Until Now - The State of the union This blog is generated using hugo, an awesome static site generator. So far, the workflow I used to deploy it was: Push commit to the source repository on GitLab GitLab CI kicks off on receiving the push CI downloads latest version of hugo and generates the static site Runs aws-cli to sync the new files to AWS S3 S3 serves the static site Cloudflare provides: DNS…
Bazel Came across bazel build system recently at my new job and found it to be quite nice compared to my earlier mainstays CMake and Make. It’s fast and correct, just as their website says. But I also liked it because it’s explicit with very little magic. And it has a powerful query/tools system that allows you to really analyze your builds and dependencies in depth. Though examples in…
About the challenge In this article, we’ll go through the Protostar stack4 challenge. This would be a bit similar to the stack0 challenge that we already tackled earlier, but it will think about an interesting way to get alternate code to execute instead of just modifying data. Pre-requisite: Make sure you’ve completed the Part 1 of the Practical Reverse Engineering Tutorials series.…
What is this about? This article is the 1st part of the Practical Reverse Engineering Tutorials series. This series is geared towards a structured, but almost completely practical, approach to learn Reverse Engineering. Many of the existing articles/books take a long winded approach to teach RE which is prefixed with a lot of theory before the reader can get their hands dirty. This series will…
I decided to create my own shorturl website last week for personal use and ended up developing a python project ( deecubes )that can be used by anyone to do the same. This is a post to explain what/why/how about it. Why my own shorturl website? So far I had been using sites like bit.ly or TinyURL whenever I needed to generate a shorturl (e.g. for giving to someone for easily remember, noting down…
Releasing my project email-actions today. You install it from github or from pypi. email-actions email-actions is a tiny SMTP server with a rules based engine to trigger any actions (notifications/commands etc) based on the emails sent to this server. Think of it like IFTTT but where input trigger is email and can be set up and run locally as well. Why did you make email-actions Like most of my…
The Background We talked earlier about how certain ISPs block websites by using DNS hijack methods and I had recommended using DNSCrypt to bypass it. Well, as part of my home network overhaul, I moved over from the consumer grade (but still decent enough) Asus router over to Ubiquiti stack which, among other things, lead me to use their “Unify Security Gateway (USG)” as the router.…
ISPs in India have been blocking websites since many years. It’s often done without much sense to it. The goveernment/telecom bodies and courts sometimes tell the ISPs to block content instead of telling the same to the websites that host the content. Sometimes, the orders are to block certain urls and ISPs are over-enthusiastic in implementing the orders and block complete websites.…
TLDR; Indian ISP ACT Fibernet (aka Beam Telecom) hijacks its users’ DNS requests (even when using public DNS servers like Google or OpenDNS) and blocks websites through this method. This has huge implications beyond website blocking and you can’t rely on anything that you are browsing anymore though there are ways available to make yourself safe. Aside: Indian ISPs are blocking…
While trying to make some graphs for one of my side projects recently, I came across an issue that both matplotlib and ggplot did not show up the graphs. I was able to save the graphs to an image file just fine, but if I tried to show them directly on screen while running the script, it just printed a number and exited. After tearing apart my hair for some time, I checked the backend being used by…
I’m building a smartwatch project based around the new IoT posterkid on the block, ESP8266. Apart from the usual “smart” stuff, it does still need to display correct time :) and hence, the need for an ntp driver/client. I couldn’t find anyone working on that yet, so wrote up a quick and dirty implementation here: NTP Implementation for ESP8266 It still has a lot of stuff…
So I got bored of listening to same old songs on my phone over and over and Rdio announced a streaming plan for India. With a sigh of relief I subscribed immediately and it was stellar at home with its wonderful 32 million song collection and chromecast support to boot. The experience during the commute daily was underwhelming. Couple the spotty airtel data connection with no one station covering…
Spent this weekend building a remote controlled car with a live camera feed with a Raspberry Pi doing the communication and brains duty. Pretty nice real time movement control and camera pan/tilt control through websockets with a live stream feeding back to any browser directly from the car through mjpg-streamer (PS: Video is at the bottom of the post. Browser/video on TV courtesy ChromeCast.…
Dangerous is a mind which is left grounded at home for days. Being stuck at home and having a few pieces of joy around made me do this over the weekend. Ingredients: An old Toy RC car broken out of shape by my 4 year old DAGU Mini Driver Screw Driver/Batteries/Tape/Glue/Rubber bands/Old gift cards Half an hour of coding Output: A car that runs automatically making 8 shape on the floor (More like…
My brother, Amit Goel, has founded a startup “ Patterbuzz ” which is aiming to disrupt the digital publishing marketplace. Read on for details about it in his words. I can assure you that you don’t want to miss out on this whether you are a publisher or a consumer :) Welcome Offer: Download the app and register your account before 15th December and get 100 Credits FREE!! to…
Exchange Security Bypass Xposed Mode for Nexus 4/5/7 and other AOSP based devices (Android 4.3 / 4.4) Update: This has now been tested to work successfully on all stock or nearly stock JellyBean (4.3) and KitKat (4.4) ROMs on Nexus 4 / Nexus 5 / Nexus 7. Other AOSP ROMs like CM11 should work as well. This mod should be used along with Xposed (…
This script is the result of a weekend’s hacking to get my TV to display incoming calls/texts which I miss invariably because the phone is buried under a sofa or in a different room. Earlier I had done this using my Odroid U2 and Tasker/AutoRemote but this was limiting as this meant that I could see the notifications only when I was watching something through the Odroid. Samsung TVs, which…
So I got this beautiful piece of headset a few days ago, called the EarForce PX5 by TurtleBeach. It’s claim to fame being an awesome virtual surround sound headset which also does the double duty of providing game audio as well as voice chat over the same headset. I preferred this over the Sony PS3 Elite headset as the PX5 is more generic and can work across multiple devices since it uses…
I’ve followed the 80 column rule almost always when I code, i.e., I keep a soft limit of keeping my lines of my code limited to 80 characters max. unless breaking up the line really messes up the readability of the code. I was asked recently why do I bother now in this age of 24" widescreen monitors (and above) with resolutions of 720p at the bare minimum. I could certainly afford to have…
Recently, there has been this trend. Blogs look for patents filed by companies and then report on each of them as if they are second coming of Jesus in technology. Especially if it is Apple who is doing the filings. A few days ago, this new patent showed up about Apple’s “new wave approach to fighting malware” with the author giving up half-researched commentary on it. I was…
So, my wife got me a new slim PS3 today to replace my old YLOD’ed phat (Yes, Awesome wife I know. And slim PS3 cuz I hate the looks of the new superslim). But, I digress. The issue at hand is that everything worked fine when I unwrapped it, hooked it up to the power and TV and switched it on. However, once I started the PSN store (or what is now called Sony Entertainment Network Store),…
So I’ve been spending a few hours on getting my odroid u2 up and running and here are a few tips that I’ve come across in the process. **Overscan: ** So, many TVs have this issue that they miss out on displaying the corners of the image put out by the Odroid U2. The phenomenon is called overscan. Now, all you have to do is select settings such as “Just Scan” or similar on…
So, this little baby landed up in my mailbox a couple of days ago :). The Odroid U2. For those who don’t know, it’s a cheap dev board based around Samsung’s Exynos 4412 SoC and supports Android as well as Ubuntu. I’ve got quite a few things planned on how to use it and will post more about my adventures with the U2 here soon.
One of the features I was really looking forward to with Android 4.2 was lock screen widgets but when I got the update on my Galaxy Nexus that it only had 5 pre-defined stock widgets that could be added to the lock screen. I headed over to the Android developers site some time later and was pleasantly surprised to see that actually 3rd party widgets can indeed be added to the lock screen. They…
If there are two things that irritate me the most when I go to sleep, they are: Sync notifications going off and battery drained off in the morning (worst case being drained off before alarm time, making me late for work). I used to have a simple profile that turned off auto sync between 11 PM to 7 AM but it didn’t always work well because I work past 11 quite a lot and don’t usually…