Over the past few weeks, I’ve been developing audiocheckr - an advanced audio analysis tool designed to detect fake lossless files, transcodes, upsampled audio, and various audio quality issues. Unlike many audio analysis tools that rely on machine learning, audiocheckr uses pure digital signal processing (DSP) algorithms to identify subtle artifacts left behind by lossy compression.
The project has evolved significantly, currently sitting at v0.2.1 with a comprehensive test suite, Jenkins CI/CD pipeline, and detection capabilities spanning multiple codec types including MP3, AAC, Opus, and Vorbis.
After spending countless hours (and I mean countless—over 20 hours of encoding time) benchmarking video transcoding performance, I’ve compiled comprehensive data comparing AMD’s Ryzen 9 7940HS against Apple’s M3 Pro chip. The results reveal some fascinating insights about hardware acceleration, quality metrics, and the current state of H.266 encoding.
I took the help of Claude to add this feature, because, lets face it, I am no good when it comes to CSS and Javascript. After a few hours of tinkering around, here are the results:
As mentioned in the previous post in this series, I ran into CSP issues and was struggling to fix them. Here I am, trying to explain the stupidity that caused all these problems. What stupidity you ask? It boils down to not reading the documentation. However, not so fast, I have a de-tour story to tell you guys.
Turns out, I was adding CORS headers from Remark42, NGINX and CloudFlare at the same time. What is CORS you ask? It is an abbreviation for Cross-Origin-Resource-Sharing1, which is essential if multiple applications running in different domains or sub-domains need to work together. It is a security feature. If this doesn’t exist, you might use my server to host your comments and flood it with data, or more malicious things can be done. Anyway, all I had to do was disable the feature from Remark42 using it’s config file, remove it from CloudFlare and only use NGINX to do the heavy-lifing. I had to set PROXY_CORS=true in the configuration file, remove the custom header rule in CloudFlare, and add the below lines to NGINX configuration for the site.
Cycling usually comprises fatigue, sweat and cardiovascular exercise. It can get demanding quickly as we are burning huge amounts of calories in a matter of minutes. For context, playing basketball with moderate running would burn around 180-250 kcal per hour. Walking around the park would burn 160 kcal per hour. Cycling can burn anywhere from 1000 kcal per hour to 1700 kcal per hour. All these numbers are rough estimates based on my Garmin Enduro 3 recording these activities tracking my heart rate, except for 1700 kcal per hour for cycling. This number comes from cycling races pro teams take part in, and this limit is for them. I never achieved that sort of calorie burn.
Recently, I have been hoarding music libraries and adding them to my Plex Server (self-hosted, and I already use it for Movies and TV Shows): Vodafone Internet sucks because of the frequent network outages in Germany. I am ensuring they are good-quality source files with either 16-bit FLAC or 24-bit FLAC. A downside of that is that it hogs a lot of storage space. Here is a screenshot of current music library I have hoarded so far.
In the fascinating realm of general relativity, understanding the curvature of spacetime is crucial. One tool that physicists and mathematicians use to understand this curvature is the Weyl tensor. Named after the German mathematician Hermann Weyl, the Weyl tensor provides a unique perspective on spacetime curvature that is independent of the matter content of the universe. This article delves into what the Weyl tensor is, its significance, and why it plays an essential role in 4-dimensional general relativity.
Summer is here, and I see a lot of bicycles in the traffic in and around Heidelberg. Students, children and old people are all out riding their bikes, be it commute or just on fun rides. Winter Heidelberg is a little desolate, for cyclists, for most of them do endurance training indoors or pick up running, as it is freezing outside. Select brave few, like me, choose to cycle outdoors, mostly for commute, for cycling raises body temperature in a couple minutes and the winter climate is good for cooling the body more efficiently. Just my opinion.
I was at the tutorial session for the General Relativity course. We were discussing 2-sphere manifold, calculating the Riemann tensor, Ricci tensor, Ricci scalar and Einstein Tensor. The Instructor then asked us to compute the independent components of the Riemann Tensor in 4-Dimensions as a fun painful exercise to get a hang of it. And here we are!
Riemann Tensor in 4-Dimensions
We have some (anti)symmetries we can exploit to reduce the number of independent components of the said tensor. Let me list them below: