Pop Hits for Piano

Pop Hits for Piano


I made a new playlist from a songbook I bought on vacation. So far I've digitized most of Skinny Love. I will post a cover when I get the bugs fixed and a good piano instrument. I plan to learn at least 10 of these. Since I'll be making a lot of midis I will post them as I create them.

This playlist is really sad. You might find yourself wondering what in the world this happened to the person who created this list. Well, it wasn't me. I didn't create this list and I don't know who did.

Youtube Playlist Youtube Music Playlist

Creating this playlist took a lot of time. The Wikipedia links took 30 minutes, the Youtube playlist took an hour, and compiling the videos took an hour or two spread over a few days. Why doesn't Youtube let users save anonymous playlists created with https://www.youtube.com/watch_videos?video_ids=...? It seems too obvious that someone would have a list of video ids they've saved using some sort of collection mechanism. They have an API to create playlists (which took me ~45 minutes to figure out). The API doesn't appear allow repetition without repeating the calls, which seems kinda wasteful. Maybe there's a batch command. I guess it doesn't matter to them. Who is creating Youtube playlists in 2022? I wrote a new piece of code I'd like to share that allows a person to search their browser history. It's very simple, but I doubt anyone has written something like this for a project like this. Now all I need is some good seq2seq and we'll have some interesting stuff. How in the world does Firefox deal with a 75 MB sqlite database of all the places I've been? It's gotta be some advanced indexing, feels very much like magic every time I type into the awesomebar. And now I have programmatic access to it. That's right, this playlist was created partially with code. The code I used for one section of the playlist can be found below. It won't work while Firefox is running because there is a lock on the database (single user database because there is no way to guarantee cooperation). You can copy the file and that works.

def get_items(cursor):
    output = []
    while cursor:
        c = cursor.fetchone()
        if c == None: break
    return output

filename = '/home/user/.mozilla/firefox/123456789.default/places.sqlite'
a = sqlite3.connect(filename)
b = a.execute('select * from moz_places where url like ?;', ('{0}%'.format('https://www.youtube.com'),))
d = get_items(b)
d = get_items(b)
playlist = [(x[2], x[1], x[8]) for x in d if x[8] is not None and x[8] > (1648560345000000 - 1000000*3600*9)]
playlist.sort(key=lambda x:x[2])
print('\n'.join([repr(x) for x in playlist if x[1].startswith('https://www.youtube.com/watch')]))

I'm still learning kanji and I'll post a big update soon. Wanikani has a vibrant community and does SRS (which I assumed that I could do without any code but apparently I could not). Japanesepod101.com has tons of free learning stuff and they are quite worth the subscription. I'm working my way through Learn Japanese To Survive Kanji Combat which I got on sale for about $1. It's slow, but it is not bad.

I've been working on machine learning and things have been going pretty well. I'm 64th place on the leaderboard and I have a plan to fix all the bugs and finish training. It has been a great learning experience and I've been able to create some fantastic tools. When I do something really awesome, I'll post here or on the other blog.

Javantea out.


Comments: 0

Leave a reply »

  • Leave a Reply
    Your gravatar
    Your Name