Every Noise at Once's Avatar

Every Noise at Once

@everynoise.bsky.social

everynoise.com and associated curiosity; see also @glennmcdonald.bsky.social

1,118 Followers  |  6 Following  |  171 Posts  |  Joined: 09.11.2024  |  1.9795

Latest posts by everynoise.bsky.social on Bluesky

Preview
Getting into the groove: How music shaped the scatter brushes in Figma Draw | Figma Blog Today, we’re adding 10 new scatter brushes to push the creative possibilities in Figma Draw. Here’s how the team drew inspiration from Doo-wop, Vaporwave, and other music genres to design them.

www.figma.com/blog/figma-d...

08.08.2025 02:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

NRbG uses the reverse of "related artists in", essentially, and the two are not necessarily symmetrical. But if you also hook up Curio, you can use "myartists" as an NRbG genre to search all your liked artists. I do that plus a bunch of particular genres...

27.07.2025 22:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
?28pRQNZyF8cHagMgrpLBOR.other playlists.tracks
/my artist=(.artists:@1.id.artists)
||apoints=(.my artist.counts.points...._,(1),total),alignment=[=apoints*count]#alignment

?28pRQNZyF8cHagMgrpLBOR.other playlists.tracks /my artist=(.artists:@1.id.artists) ||apoints=(.my artist.counts.points...._,(1),total),alignment=[=apoints*count]#alignment

Sometimes I come across a very long playlist and I want a quick sense of how my own listening intersects with it. There are lots of ways to quantify this, but here's one of them in Curio query form (you can copy and paste the query from the alt-text):

24.07.2025 19:34 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If you're curious about how different streaming-royalty allocation schemes would affect you and your artists, or could be tempted into curiosity if you thought there was a way to see this, there's a way to see this:

furia.com/log/517

19.07.2025 22:15 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

But if you'd rather have an unweighted shuffle by artist, just group before shuffling:

tracks/artist....shuffle.1:@<=100

09.07.2025 17:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You can reshuffle the created playlist from its Curio page, too.

This query randomizes all your tracks, but then groups the random list by artist and takes only the first track per artist, up to 100 total. This is effectively a weighted shuffle by artist.

09.07.2025 17:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

People complain about Spotify's shuffle mode, and I never listen on shuffle so I don't care, but if you do, you can make your own in Curio:

tracks....shuffle/artist;.1:@<=100

Run that on the query page, and then save the results as a playlist.

09.07.2025 17:53 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

Do not let the world's deluge of grievous wrongs numb you to your own tiny useless delightful errors.

02.07.2025 16:18 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Screenshot of my playlist list showing:
 DW 2025-06-27 Synthwave   30
 DW 2025-06-27 Alt   30
 DW 2025-06-27 Pop   30
 DW 2025-06-27 J-Pop   30
 DW 2025-06-27 Metal   30

Screenshot of my playlist list showing: DW 2025-06-27 Synthwave 30 DW 2025-06-27 Alt 30 DW 2025-06-27 Pop 30 DW 2025-06-27 J-Pop 30 DW 2025-06-27 Metal 30

Screenshot of my Curio query page, showing this query:

playlists:~<[DW 2025-06-27].other playlists.tracks.(.artists:@1).other artists
/label=(.artist catalogs.catalog.label)#count

returning results like

283	label	count↓	of
1	Independent	3	of [...3]
2	Art Gates Records	2	of [...2]
3	Artistfy Music	2	of [...2]
4	FRIENDSHIP.	2	of [...2]
5	QOOLONG	2	of [...2]
6	recordJet	2	of [...2]
7	1964251 Records DK2	1	of [Anteeter]
8	2019 We are Suburban	1	of [Rebecca Lou]
9	2023 maddy irene ©️	1	of [maddy irene]
10	2023 Wormholedeath Records	1	of [Conspiracy of Blackness]
11	2074559 Records DK2	1	of [Re:O]
12	2080792 Records DK	1	of [DIGITAL LOVE]
13	210485 Manhatten Discs	1	of [DIGITAL LOVE]
14	2285049 Records DK	1	of [Crimson Crisis]
15	3105988 Records DK	1	of [Caldera]
16	3151900 Records DK2	1	of [The Hunt]
17	3304016 Records DK	1	of [DJ MIX-ICON]
18	3677236 Records DK2	1	of [Queen of Dreams]
19	3947540 Records DK2	1	of [DIGITAL LOVE]
20	5880853 Records DK2	1	of [Diamond Riot]
21	655386 Records DK	1	of [Gone Are the Days]

Screenshot of my Curio query page, showing this query: playlists:~<[DW 2025-06-27].other playlists.tracks.(.artists:@1).other artists /label=(.artist catalogs.catalog.label)#count returning results like 283 label count↓ of 1 Independent 3 of [...3] 2 Art Gates Records 2 of [...2] 3 Artistfy Music 2 of [...2] 4 FRIENDSHIP. 2 of [...2] 5 QOOLONG 2 of [...2] 6 recordJet 2 of [...2] 7 1964251 Records DK2 1 of [Anteeter] 8 2019 We are Suburban 1 of [Rebecca Lou] 9 2023 maddy irene ©️ 1 of [maddy irene] 10 2023 Wormholedeath Records 1 of [Conspiracy of Blackness] 11 2074559 Records DK2 1 of [Re:O] 12 2080792 Records DK 1 of [DIGITAL LOVE] 13 210485 Manhatten Discs 1 of [DIGITAL LOVE] 14 2285049 Records DK 1 of [Crimson Crisis] 15 3105988 Records DK 1 of [Caldera] 16 3151900 Records DK2 1 of [The Hunt] 17 3304016 Records DK 1 of [DJ MIX-ICON] 18 3677236 Records DK2 1 of [Queen of Dreams] 19 3947540 Records DK2 1 of [DIGITAL LOVE] 20 5880853 Records DK2 1 of [Diamond Riot] 21 655386 Records DK 1 of [Gone Are the Days]

If you want to scrutinize algorithmic playlists Spotify makes for you, you can copy their tracks into normal playlists and then use Curio to run queries on those. E.g.:

playlists:~<[DW 2025-06-27].other playlists
.tracks.(.artists:@1).other artists
/label=(.artist catalogs.catalog.label)#count

01.07.2025 17:20 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

E.g. here "Umbral Exorcism" is properly grayed out on _Moonbow Rebellion_, since it was previously released, but not grayed out on the single where it was new.

28.06.2025 18:24 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
|artistkey=>(.artists:@1.id),
 songkey=>(....artistkey,name,concatenate),
 albumkey=>(....artistkey,(.album.name),concatenate)

?(6tHWkiFaXkuGFGrA5BGjkw.other playlists/),
  (2KcDTzr3qk1nL5KClxHAUt,6ScO8HqP6XiBgALl0Jnj46,4NDg5ffB2LRsI64Ojj979x.other albums
  ??old=(
    .(.artists:@1).artist catalogs.catalog
    ??song dates=(/id=(.tracks.songkey)|date=(.of.release_date#:@1))
    ||<tracks,firstdate=(.songkey.song dates.date)
    /release_date,track=tracks:release_date>(.track.firstdate).track/id
  )
  ||<tracks,old=(.old)
  /)
||<of,<tracks,artistkey=(.artistkey),songkey=(.songkey),albumkey=(.albumkey)

??songindex=(/id=(.of.tracks.songkey):count>1||match=~track)
??albumindex=(/id=(.of.tracks.albumkey):count>1||match=~album)
??artistindex=(/id=(.of.tracks.artistkey):count>1||match=~artist)
|<of,<tracks,
  matchsong=(.songkey.songindex),
  matchalbum=(.albumkey.albumindex),
  matchartist=(.artistkey.artistindex)
||<of,<tracks,
  id,name,match=(.matchsong;matchalbum;matchartist.match);

|artistkey=>(.artists:@1.id), songkey=>(....artistkey,name,concatenate), albumkey=>(....artistkey,(.album.name),concatenate) ?(6tHWkiFaXkuGFGrA5BGjkw.other playlists/), (2KcDTzr3qk1nL5KClxHAUt,6ScO8HqP6XiBgALl0Jnj46,4NDg5ffB2LRsI64Ojj979x.other albums ??old=( .(.artists:@1).artist catalogs.catalog ??song dates=(/id=(.tracks.songkey)|date=(.of.release_date#:@1)) ||<tracks,firstdate=(.songkey.song dates.date) /release_date,track=tracks:release_date>(.track.firstdate).track/id ) ||<tracks,old=(.old) /) ||<of,<tracks,artistkey=(.artistkey),songkey=(.songkey),albumkey=(.albumkey) ??songindex=(/id=(.of.tracks.songkey):count>1||match=~track) ??albumindex=(/id=(.of.tracks.albumkey):count>1||match=~album) ??artistindex=(/id=(.of.tracks.artistkey):count>1||match=~artist) |<of,<tracks, matchsong=(.songkey.songindex), matchalbum=(.albumkey.albumindex), matchartist=(.artistkey.artistindex) ||<of,<tracks, id,name,match=(.matchsong;matchalbum;matchartist.match);

Oh, wait, in order to support multiple releases by each artist we need to get first dates by songkey, but mark oldness by track id:

28.06.2025 18:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Here, for example, is ?? in a Curio query that gets a playlist and some albums, annotates the track, album and artist overlaps between them (in that order of priority), and flags the tracks in each album that were previously released (by that artist) before their album appearances.

28.06.2025 15:35 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Need some slightly less-final word than "mourn" here. But you're welcome for everything so far.

27.06.2025 16:34 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

DACTAL changes that might affect you if you're doing Curio queries:

filter negation was :! now :-
reverse index-number filtering was :@- now :@@
repeat was ?? now !

19.06.2025 17:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This affects several of the Listening History queries in Curio, but none of the ones that get cached, so it would likely only matter to you if you have your own saved queries derived from Listening History views, or similarly adventurous.

18.06.2025 21:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Previously in DACTAL this would have been:

tracks/artist...count,_count

which was an unlovely quirk left over from Thread, where aggregators all started with underscores, and appeared as magic pseudo-properties instead of a separate (and thus more easily extensible) operation type.

18.06.2025 20:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Today's tiny DACTAL tweak that probably affects nobody: in an aggregation, semicolons explicitly identify aggregators. So this query is a count of counts; the first "count" is a property (of groups), the second "count" is the aggregator.

tracks/artist...count;count

18.06.2025 20:49 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Made some improvements to playlist comparisons. (Also, did you know Curio does playlist comparisons?)

14.06.2025 02:34 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

My guess would be that they were tracks that were released but then retracted or rescheduled. But no way to tell after the fact.

Happy to help figure out if queries could help you.

02.05.2025 19:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It has 7 null tracks at the beginning. Did one of my tools put them there?!

02.05.2025 18:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Also this feature is only available in the mobile app.

23.04.2025 13:27 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Here's what you get when your software is built by people who don't live in it. This is Spotify's useful display of what you've recently played, by playlist. But if you tap a song here, it doesn't resume that playlist, it starts playing through THIS view, which is your play-history in reverse.

23.04.2025 13:26 β€” πŸ‘ 17    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0

Also, and please modulate your reactions to this, I have improved the display of status messages a little.

22.04.2025 18:38 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Screenshot of Curio's Listmarks page, showing the new ☰ button for opening a recent playlist's recently-played-tracks list.

Screenshot of Curio's Listmarks page, showing the new ☰ button for opening a recent playlist's recently-played-tracks list.

The Spotify iOS app has adopted the annoying habit of starting my playlists over again, so in defense recent Listmarks in Curio can now be expanded to show your recent play history within them, so you can jump back to where you really were.

22.04.2025 18:36 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
furialog

Happy NMF.

Some notes about a geeky Curio feature.
www.furia.com/log/507

NMFinder 2025-04-18
open.spotify.com/playlist/1j4...

the new Flight of Icarus song is out (and some others)
open.spotify.com/playlist/2hz...

18.04.2025 15:58 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

"Best practices" are incurious. Practice is most interesting when you don't predetermine what it is allowed to reveal.

You can now annotate playlists in Curio. And do what else with those annotations? Nothing, yet.

15.04.2025 15:29 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Small screenshot showing the "export this data" arrow next to each dataset on the Curio/DACTAL query page.

Small screenshot showing the "export this data" arrow next to each dataset on the Curio/DACTAL query page.

Hooked up the DACTAL export function. Particularly useful in Curio for copying Listmarks' recent_history to other browsers.

14.04.2025 18:28 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Curio song list adapted for mobile display.

Curio song list adapted for mobile display.

Also song lists.

13.04.2025 02:38 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
The bottom of a Curio playlist page, with some custom track-flagging functions shown under the row of action buttons.

The bottom of a Curio playlist page, with some custom track-flagging functions shown under the row of action buttons.

I wanted some Curio track-flagging features that were too specific to justify adding as general features, but that in itself justified adding a custom-flagging feature.

12.04.2025 01:48 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Earlier version had big triangles and wide-screen word-wrapping. This one has nice images and better small-screen alignment.

Earlier version had big triangles and wide-screen word-wrapping. This one has nice images and better small-screen alignment.

Nicer.

11.04.2025 14:26 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@everynoise is following 6 prominent accounts