Skip to main content
  1. Posts/

Download your Spotify My Music songs as MP3

··208 words·1 min·
Programming Spotify

I wanted a way to download my Spotify songs for offline listening. Ideally I’d subscribe to Spotify to make use of Offline feature, but they haven’t officially launched here so that’s out of the question.

A while back, I’d used spotify_to_mp3 which made use of Grooveshark to download, but Grooveshark shut down, leaving the script defunct. This gave me an idea to build something similar.

With this as the motivation, I built Spotify-dl to scratch an itch as well as to improve my Python skills. Since Spotify doesn’t allow you to download songs directly, I followed the same approach as spotify_to_mp3 - which is

  • Login to your Spotify library
  • Fetch all your “My Music” tracks using Spotify Web API
  • Parse the artist name & track name
  • Search for the artist name & track name against YouTube using their Data API and grab their YouTube URLs
  • Pass the YouTube URLs to youtube-dl to download the songs
  • Profit!

It didn’t take me long to build the glue script & python made it that much easier. The script is available on my github. Huge thanks to Rohan to contributing the youtube-dl integration part.

The readme has the required documentation on how to get it up and running. Any feedback is welcome

Sathyajith Bhat
Sathyajith Bhat
Author, AWS Container Hero and DevOps Specialist.


An Indian developer’s way of handling merge conflict
··92 words·1 min
Programming Rants Git
So this happened just now with a colleague. He’s been working for few months now. My way of handling merge conflict: Open WinMerge to diff See the conflicting part Correct the conflicting part by copying the changes to the destination file in WinMerge His way Open WinMerge to diff See the conflicting part Opens the source file in Windows notepad Copies the entire contents to clipboard Opens a new tab in Notepad++ Pastes the contents Goes to the line to be corrected.
Salute to Fabrice Bellard
··246 words·2 mins
I probably top the ranks of lazy arses who procrastinate like there’s no tomorrow - and then there’s Fabrice Bellard Amongst others, he’s created/led A 4G LTE base station running entirely in software on a standard PC. A new ASN1 compiler generating small and efficient C code. A PC emulator in Javascript: how much time takes your browser to boot Linux ? 2700 billion decimal digits of Pi computed with a desktop computer.
Fixing FRM-41336: Populate_List: invalid column type for column 2 error in Oracle Forms
··178 words·1 min
Programming Oracle
I spent the past hour and a half trying to fix this stupid error. Here’s the situation: I have a Poplist(aka dropdown list/ list item). The poplist is populated by a query defined in a Record Group. The query is on the lines of select id, name from employees The column types are correctly defined. And yet I kept running into FRM-41336: Populate_List: invalid column type for column error message. Looking at the description for the message: