Posts

I love the Big Bang AR app by CERN

A month or so back I remember coming across the Big Bang AR app by CERN . I ended up searching for and installing a bunch (A BUNCH) of different apps made by CERN and NASA. I am not too happy with the HiLumi3D app ( on the app store and on the play store ). It was slightly buggy and not exactly information but the Big Bang AR app blew my mind. It was made in collaboration with Google so understandbly, the app itself works and looks much better than the HiLumi3D app. I also loved the content itself in the app, along with the small amount of additional reading. I'm in awe of what people are doing with AR for science education and communication. One day, I hope to be able to join the party.

Getting the pegen examples/visualization to work.

Image
In the previous blogpost, I linked to the code that Guido used to visualize the PEG parser now used in CPython 3.9. The code lives in the GitHub repository - pegen . I use Windows as my daily driver and right off the bat, this is a problem because the visualizer uses the curses standard library package - which only works on Linux/Mac OS by default. There are apparently Python packages I can install to get it to work on Windows but I didn't try that approach. A brief search on PyPI led me to the windows-curses package, which might be the solution. I switched to the Ubuntu WSL I have setup on my Windows machine. Once on Ubuntu, I needed to install Python. Specifically, I wanted to install Python 3.9. For that, I had to add the deadsnakes ppa to the apt repository list. Once I did that, I needed to install Python3.9-dev and Python3.9-venv. venv to be able to create a virtual environment and install the necessary packages. Python3.9-dev because one of the requirements needed the de...

Trying to understand the new Python* (*grammer)

Image
For reasons I don't fully understand, I started reading the PEP 617 -- New PEG parser for CPython today morning. Note that the PEP is accepted and the latest Python release (Python v 3.9.0) uses the new PEG parser by default and in Python 3.10, the old LL(1) parser will be removed. I remember looking at the Python 2.7 grammer when I started using CPython professionally four years back. None of it made sense whatsoever to me so I mostly ignored the Language Reference section of the Python docs. To cut the story short, see the difference in CPython grammer for yourselves - grammer for version 3.8 and grammer for version 3.9 . I ended up searching for, and coming across the above linked talk by Guido because I wanted to see if anyone had already put together a talk around the new PEG based parser for CPython. I also came across this interesting looking series of blogposts by Guido regarding the work he did to implement the PEG parser for CPython. I say interesting looking, not in...

You need some Matt Levine in your daily life.

I just read this profile of Matt Levine on the NYTimes . You need Matt Levine in your daily life . That's all really.

[YouTube] Rethinking the Developer Career Path by Randall Koutnik

Image
I keep rewatching this talk by Randall Koutnik on Developer Career Path every so often, just to reevaluate my own developer career. I think the "Solution Implementer", "Problem Solver", "Problem Finder" career path that Randall talks about makes a lot of sense, especially in the career path I am currently on. A highlight of his talk is the discussion around shapes and sizes of problems and that the developer career path should ideally expose the developer to a large number of shapes and progressively increasing sizes of problems. Thinking about my own career path in terms of shapes and sizes of problems makes me realize that there are still a lot a lot of shapes that I haven't worked with. I think I'm a "Problem Solver" at this point, while also doing a bunch of "Solution Implementer" work but I'm far from being a good "Problem Finder".  

You need to go read all three volumes of March right now.

Image
I came across March : Book Two in early 2020 at the local library. I had heard of this autobiographical comic book documenting the early life of the United States Congressman and civil rights leader John Lewis and I was pretty excited about being able to get my hands on the comic book. But I couldn't find the other two volumes at the time so I settled for reading only the second book. The only introduction to the civil rights movement in the United States I had prior to this book was Leadership by Doris Kearns Goodwin and this book introduced me to the darker side of the movement. I was hoping to come back to this series and read the First and Third books but they just slipped my mind. I was pleasently surprised a couple of days back when I came across the First and Third books as I was browsing through the eBooks available in the local library. The series as a whole is a must read for every man, woman and child alive in my opinion. And I don't just mean citizens of the US...

And you thought flying cars were a new thing.

Image
    I love Chain Bear for my F1 news .

[YouTube] How Kurzgesagt and CGP Grey videos are made.

Image
Kurzgesagt and CGP Grey are two of my favorite YouTube channels and I watched this video from Kurzgesagt yesterday night, which reminded me of the older CGP Grey video. I love knowing what goes into producing the amazing content on these channels. The CGP Grey video is especially interesting because he talks about the content production process in the context of understanding how a mistake was made and dissects where all in the production process they could have/should have noticed and fixed the error. Wait a second. This actually just reminded me of another favorite channel of mine, Every Frame a Painting .

Notes on profiling Python applications

Image
I've been watching a looooot of Scott Hanselman lately and in one of his videos, he googles for the sentence "penny pinching in the cloud" and a bunch of his articles are the top hits. He talks about how he blogs about things as a way of maintaining notes for his future self. My articles might not be top hits on google for any sentence but I can still find them in my blogpost history. Over the weekend, I spent a little bit of time profiling a Python GUI application. It's been a while since I profiled Python code and every single time I forget how to set things up and get it working. There are the usual Python standard library modules cProfile and pstats but there are a lot of powerful visualisation techniques that help you better understand the profiling results. First of all, when you are profiling a GUI application (or profiling anything for that matter) in Python, the first question to answer is what exactly are you trying to measure? In my case, what I was real...

The Three Utilities puzzle with 3Blue1Brown

Image
Start watching the video but once you understand the puzzle, pause the video and try solving the puzzle by yourself. I figured out the key insight to solve the puzzle after playing around for a few minutes and I am on a high right now :D Also, if you don't already follow and subscribe to 3Blue1Brown, you really _really_ should.