RSSAmplifier

Blog

Srikanth Cherla

Recent content on Srikanth Cherla

cherla.orgRSS feed ↗82 posts

Latest posts

Git Worktrees, Ten Years Late

I came across git worktrees by accident last week. I was working on a blog post with an agent, and rather than disturb the branch I had mid-edit, it put the new work somewhere else. I only noticed when I ran git branch : dev@laptop project % git branch * feature-ongoing + feature-sidetrack main That + was new to me. I’ve used git since roughly 2012 and had never seen any marker but * . The…

The SAME Soft-Normalisation Bottleneck

A walkthrough of the SAME autoencoder’s bottleneck — five operations that shape a latent space for downstream diffusion, and the design reasoning that may have led the authors away from the VAE.

Deploying FLUX.1-Kontext-dev on Cloud Run GPU

Six steps to get a self-hosted image generation service into production on Cloud Run GPU — what I landed on at each step, how I got there, and what each one still costs.

The Transformer Resampling Block: How SAME Compresses Audio Without Convolutions

A walkthrough of the SAME autoencoder architecture — how patching and a Transformer Resampling Block achieve 4096× temporal compression of stereo audio without a single strided convolution.

My Neovim Configuration

I first used Vim around 2003-04, when it was pushed onto us during an undergraduate computer science course — it was either that or Emacs if you were serious about writing code. Twenty-two years on I’m still using it, though very differently now. I’ve tried switching to other editors a few times (once seriously, with VSCode) but always found myself back on Neovim, adding plugins and…

Migrating to Hugo

This website has been running on WordPress since I first set it up in 2013 — hosted on a shared cPanel server at Arvixe (and then Domain Racer). It has served me well, but over time the maintenance overhead started to feel disproportionate to what I actually needed: a simple personal site with a blog, a CV, a music section, and not much else. WordPress is a powerful platform, but for a use case…

New Guitar Video – Just the Same by Gentle Giant

Just the Same opens Free Hand (1975), my favourite among all of Gentle Giant’s brilliant albums. The song is built around interlocking guitar and keyboard figures with the characteristic rhythmic unpredictability that defines their writing — never settling long enough to feel comfortable, which is exactly what makes it so interesting to play. Challenging only until one manages to nail the…

New Guitar Video – Corpse Pose by Unwound

Corpse Pose is from Leaves Turn Inside You (2001), the final record Unwound made before disbanding. It’s a quieter, more abstract piece than much of their earlier work — part of an album that saw them pushing further into noise and texture. One of those songs where the space between notes matters as much as the notes themselves.

New Guitar Video – Revolve by Melvins

Revolve is from Houdini (1993), one of the Melvins’ most accessible albums. It’s also the first Melvins song I ever heard, which got me curious about the band (that verse riff!). Melvins is one of those bands that you don’t really get a lot of their stuff right away, but the longer you stick to it the more rewarding it gets. This song is just an easily palatable teaser to the…

New Guitar Video – You Think I Ain't Worth a Dollar by Queens of the Stone Age

The opening track from Songs for the Deaf (2002), one of QOTSA’s finest records. It’s a fast, aggressive sprint of a song — under two minutes — that sets the tone for the whole album perfectly. The guitar tone on the original recording is enormous. Fun to play loud.

Completed Generative AI with LLMs Course on Coursera

I recently completed a Coursera foundation course on Large Language Models — my first structured learning in a while. The gap was mostly down to becoming a parent, which makes carving out time for professional development and blogging considerably harder. Since April 2023 I’ve been working on Muse at Unity — an LLM-driven AI assistant for Unity developers that has evolved from a web-based…

Unity Muse at the Microsoft Build Conference

I’ve been building Unity’s AI assistant — Muse — since April 2023, and it recently got a moment in the spotlight: Microsoft featured it at their Build conference as a customer success story. A film crew came to Copenhagen to record the team, and the resulting video was shown during a live Muse demonstration at the conference. I’m in it, talking about both the product and my…

New Guitar Video – Invincible by Tool

Tool is one of my favourite bands, and Invincible is a piece I’d been wanting to cover for a while. Practice time has shrunk considerably since becoming a parent, but I made this one a priority. The challenge wasn’t technical complexity — it was sustaining focus across a very long piece without losing your place. I usually aim for single takes on all my videos. This one needed two: I…

Completed Learn TypeScript Course on Codecademy

I returned from paternity leave to find the team had shifted from Unity’s C# codebase to TypeScript. Having just finished the C# course on Codecademy in December, I was glad to find they had a TypeScript course too. Prior experience with Python’s mypy type-checker made TypeScript’s type system feel familiar — the conceptual leap was smaller than expected. I also found useful…

Completed Learn C# Course on Codecademy

I’d been at Unity for over a year without ever properly learning C#. Advanced Unity tutorials weren’t the right entry point — too much assumed knowledge. During a month-long trip to India in December 2021 I went back to basics with Codecademy’s beginner C# course. The browser-based editor wasn’t enough for me. I set up a local environment with Mono, Dotnet, Omnisharp, and…

I'm a Dad!

New Guitar Video – Man in the Box (Acoustic) by Alice in Chains

An original acoustic arrangement of Man in the Box by Alice in Chains — released as a tribute on the 30th anniversary of their debut album Facelift . Video editing by my wife, Nina.

Completed Practical Reinforcement Learning on Coursera

Reinforcement Learning is one of the most interesting topics in computer science and ML. I started with the canonical textbook — Reinforcement Learning: An Introduction by Sutton & Barto — which is a fantastic read, though some topics took multiple passes to properly absorb. After working through Dynamic Programming, Monte-Carlo methods, and Temporal Difference learning, I wanted practical…

New Guitar Video – Rusty Cage by Soundgarden

My favourite track from the Road Rash video game soundtrack — see the Outshined post for how I came across both songs. I skipped the longish intro because aligning it with the backing track without metronome cues proved too awkward. Practised alongside the Outshined cover and recorded both around the same time.

New Guitar Video – Outshined by Soundgarden

My connection to this song goes back to before I even knew what Soundgarden or grunge music were. I first heard it on the Road Rash video game soundtrack — a game that introduced me to Therapy?, Monster Magnet, and two Soundgarden tracks: this one and Rusty Cage. A fond look back at those days, with the tuning dropped a step for a more satisfying effect.

New Guitar Video – Superunknown by Soundgarden

Despite Soundgarden being one of my favourite bands from the 1990s grunge era, I’d never learned to play any of their songs. This cover of Superunknown — the title track from their landmark album — is hopefully the first of a few I’ll upload. Performed on a PRS guitar in drop tuning to match the backing track.

New Guitar Video – Americana by the Offspring

A cover of Americana by the Offspring — not one of the album’s most popular tracks, but one of the most fun and energetic ones to play. The album has special personal significance from when I first bought it as a teenager. My last video of 2020. Happy to be producing more next year. Happy Christmas!

Completed Game Design Foundations on LinkedIn Learning

After joining Unity I needed to get up to speed on game design. I’d moved away from gaming as a consumer over the years to focus on ML and music technology, so coming in fresh to the industry I wanted a solid foundation. I found a three-part course called Game Design Foundations taught by Brenda Romero on LinkedIn Learning and completed it over about two and a half weeks. It gave me the…

Hello, Unity!

I’m very pleased to announce that, starting today, I will be a Senior Machine Learning Developer at Unity Labs in Copenhagen. Its parent company - Unity Technologies, is well-known for having produced one of the most widely used gaming engines - Unity. I’m super-excited about this change of focus in my work from music to gaming, and really look forward to getting started! At Unity Labs, I…

New Guitar Video – Wynona's Big Brown Beaver by Primus

Third in my series of Primus covers. This one was quite challenging, especially the second solo — a good showcase of Larry Lalonde’s unique and quirky playing style. I’ll be exploring other artists before returning for more Primus.

Goodbye, Moodagent!

Today I handed in my resignation at Moodagent. It’s been a great year and some months working in this fast and ambitious company! I will associate this experience most with the great friends I’ve made here, my focus on data preparation, Apache Spark, Collaborative Filtering and a feeling that I’ve really improved my programming abilities thanks to some excellent Coursera courses…

New Guitar Video – Jerry was a Racecar Driver by Primus

Second in my planned series of five Primus covers. Jerry was a Racecar Driver is one of the band’s more recognisable pieces — a nice and easy exercise in volume swells, and a crazy solo that jumps in and out of scale alongside one of Les Claypool’s most intricate basslines.

New Guitar Video – John the Fisherman by Primus

I’ve long admired Larry Lalonde’s distinctive guitar work alongside Les Claypool’s intricate bass playing. To properly appreciate it I set out to learn five Primus songs. John the Fisherman is the first — not a difficult song, really, and a lot of fun to play. A great one to get started with. Also the inaugural video on my new Ibanez RG-3120.

Completed Programming Languages (Part B) on Coursera

Completed the second of three parts of Dan Grossman’s Programming Languages course from the University of Washington on Coursera. Where Part A used Standard ML, Part B uses Racket — exploring dynamically typed languages and culminating in implementing a simple language interpreter. Part A gave me a solid foundation in functional programming and formalised a lot of intuitions I’d built…

New Guitar Video – Perpetual Black Second by Meshuggah

Perpetual Black Second is from Nothing (2002), recorded during the first weeks of pandemic lockdown. Meshuggah’s guitar playing sits in a category of its own — the polyrhythmic layering creates a hypnotic, disorienting effect that I’ve found fascinating since first hearing Destroy Erase Improve . Their guitars are tuned down to F, which accounts for a significant part of that…

New Guitar Video – The Pot by Tool

I wasn’t immediately taken with this song but reconnected with it while preparing for Tool’s Fear Inoculum release, and got drawn in enough to learn it properly. My first video on a new PRS SE Mark Holcomb Signature Edition. Played in Drop C standard.

Completed Programming Languages (Part A) on Coursera

Completed the first part of Dan Grossman’s Programming Languages specialisation from the University of Washington on Coursera, scoring 98%. The course uses Standard ML to teach functional programming — pattern matching, function closures, partial application, currying, mutual recursion. Beyond the technical content, what stood out was the emphasis on programming style and code quality as…

Attending ISMIR 2019

Four of us from Moodagent — Reinier de Valk, Pierre Lafitte, Tomas Gajarsky, and myself — are attending ISMIR 2019 in Delft, Netherlands. Two presentations from the team: Reinier de Valk : “JosquIntab: A Dataset for Content-based Computational Analysis of Music in Lute Tablature” (main conference) Tomas Gajarsky : “Reinforcement Learning Recommender System for Modelling Listening…

New Guitar Video – Hangar 18 by Megadeth

Hangar 18 from Rust in Peace (1990) is essentially a vehicle for one of thrash metal’s great dual-guitar solo sections. Marty Friedman and Dave Mustaine trade leads across an extended passage that accounts for most of the song’s final two minutes. A considerable technical challenge, but one of the more satisfying ones.

Passed Rock School Grade 7 (Electric Guitar) Exam… Unofficially

Two years after passing Grade 6 with distinction, I spent about a year preparing for Grade 7. Since I’m now outside the UK, I sat a mock examination via Skype with my guitar tutor Nicolas. Nicolas scored me at 88 out of 100 — a strong pass, just below distinction. Unofficial, but a definite pass. I’ve uploaded the three exam pieces to YouTube. Jeff Beck – Cause We’ve Ended as…

Hello, Moodagent!

It’s been about four months since I wrote here about leaving Jukedeck. So after a nice long break, I’m very pleased to share that I’ll be joining Danish music streaming startup Moodagent on the 17th of July, 2019. While the streaming service itself is new and hasn’t been launched yet, the company Moodagent A/S that owns it has been around for nearly two decades having built several products around…

Getting Started with Python Pandas

I resisted pandas for a long time, then found myself spending way too much time writing data processing routines from scratch on a recommender systems project. It reminded me of when I used to manually compute neural network gradients before discovering Theano. Two resources that worked well for getting up to speed quickly: Kaggle Learn micro-courses — well-organised, beginner-friendly, and the…

A New Blog Series on the Music Tech Community – India Website

I’ve been volunteering with peers in India to promote awareness of music technology through the Music Tech Community – India initiative. We’re launching a blog series featuring interviews with people working in the field — to showcase what’s possible and offer career inspiration. The first post features an interview with Ajay Srinivasamurthy, a researcher applying Information…

Completed Recommender Systems Specialisation on Coursera

After leaving Jukedeck I completed the four-course Recommender Systems specialisation from the University of Minnesota on Coursera: Introduction to Recommender Systems: Non-personalised and Content-based Nearest Neighbour Collaborative Filtering Recommender Systems: Evaluation and Metrics Matrix Factorisation and Advanced Techniques Completed in about a month at a leisurely pace. Very well-taught…

Goodbye, Jukedeck!

This is just a quick post to let everyone know that I have decided to leave Jukedeck. It’s been a unique and fascinating journey the past three or so years with a flexible and forward-thinking company, and a stimulating work environment. I couldn’t have asked for a more apt transition into employment after my PhD than the one that led me to Jukedeck and I’m really grateful for…

Remote Talk at Event Organised by Music Tech Community – India

I was invited by Music Tech Community – India to speak at an event in Bengaluru on December 29th, focused on “Machine Learning for Art & Music Generation.” Since Nina and I were on holiday in Mararikulam, Kerala at the time, I delivered it remotely via Skype. The organisers — Albin Correya, Manaswi Mishra, and Siddharth Bharadwaj — made sure everything ran smoothly. I didn’t want…

Oral Presentation at ISMIR 2018

I attended ISMIR 2018 in Paris with colleagues from Jukedeck to present our StructureNet paper . This year’s format gave every accepted paper both an oral and a poster slot — a nice change from the traditional division. I gave the oral presentation; colleagues Gabriele and Marco handled the poster. The talk was recorded and is on YouTube. Gabriele also wrote up a post on the Jukedeck R&D…

New Guitar Video – Red Barchetta by Rush

The Rush cover I hinted at after Jacob’s Ladder. Red Barchetta is from Moving Pictures (1981), built around a Neil Peart story about a future where vintage cars have been outlawed. Alex Lifeson’s clean-toned arpeggiated intro is one of my favourite moments in classic rock guitar — deceptively simple, and instantly recognisable.

Paper Accepted at ISMIR 2018

A paper I co-authored with colleagues from Jukedeck has been accepted at ISMIR 2018 in Paris. Congratulations to Gabriele, Katerina, Matt, Samer, Marco, Ed, and Kevin. Medeot G., Cherla S., Kosta K., McVicar M., Abdallah S., Selvi M., Newton-Rex E., Webster K. “StructureNet: Inducing Structure in Generated Melodies.” Proc. ISMIR 2018. Paris, France.

TensorFlow Tip: Pretrain and Retrain

I recently ran into a situation where I had to initially train a neural network first on one dataset, save it and then load it up later to train it on a different dataset (or using a different training procedure). I implemented this in Tensorflow and thought I’d share a stripped down version of the script here as it could serve as an instructive example on the use of Tensorflow sessions.…

Completed Machine Learning with Big Data on Coursera

Completed UCSD’s Machine Learning with Big Data on Coursera with a 98.9% mark. The ML theory was introductory — a good refresher on Naive Bayes, Decision Trees, and k-Means, but nothing new. The real value was the hands-on introduction to KNIME and Spark ML applied to real datasets. Together with the previous course this was more practically focused than the earlier modules in the…

Completed Big Data Integration and Processing on Coursera

Completed UCSD’s Big Data Integration and Processing on Coursera with 97.7%. Covered MongoDB for querying JSON data, Pandas for data analysis, and various Spark technologies — Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX. A hands-on exercise involved analysing tweets using both MongoDB and Spark. The specialisation as a whole is fairly introductory — broad coverage rather than depth…

New Guitar Video – Man in the Box by Alice in Chains

This track was what got me into Alice in Chains. I learned it while recovering from a broken finger — a good excuse to work on wah pedal technique, which this song is perfect for. I used a Vox wah pedal, a bit squeaky but it worked. The recording isn’t perfect — time constraints during recovery — but I’m happy with it. A Rush cover is next. See also: the acoustic version recorded in…

The TensorFlow Datasets API for Sequence Data (Code Examples)

When TensorFlow 1.4 was released there were very few fully working examples of the Datasets API for sequence data. Rather than a full tutorial, here are two scripts with explanatory notes. The GitHub repository contains: placeholder_vs_iterators.py — Three data input approaches: Traditional placeholder method Iterators Feedable iterators generator_vs_tfrecord.py — Three methods for iterating…

Completed Andrew Ng's Convolutional Neural Networks on Coursera

Completed Andrew Ng’s Convolutional Neural Networks course — the third in his Deep Learning specialisation — with 100%. This was the most genuinely new material for me; I’d only skimmed a couple of papers on CNNs and never properly implemented one. The course is excellent. Highlights: 1D, 2D, and 3D convolutions explained clearly and in depth; coverage of VGGNet, InceptionNet, and…