Soaking Up the Cider

EP 3: Tuesday, May 16, 2023
Episode Banner

Transcript

Martin Wimpress 0:03
I have discovered that Apple music is great on desktop Linux, so good. In fact, we’ve cancelled our Spotify subscription and started using Apple Music exclusively.

Alan Pope 0:15
Well, you can hand in your Linux Leard credentials right away, apparently.

Martin Wimpress 0:20
Well, you’d think so, except Linux is well, not quite a first class citizen because Apple don’t publish the client. But there is an excellent Apple Music client for desktop Linux, and it’s properly brilliant.

Alan Pope 0:33
I think you’d have to go some way to claim anything that Apple make on Linux is a first class citizen.

Martin Wimpress 0:41
All right, yes. Okay. Well, that’s fair. So yeah, the motivations for going through this process where we moved to all three of us have got iPhone now for nearly two years. And we have the iCloud family plan to do phone backups, and all of that stuff. And it hadn’t really landed with me that in amongst that collection of services, you get Apple music subscription. So as we’ve mentioned, in prior conversations, the cost of living is going up in the UK. So we’ve been scrutinising where we’re spending money. And it occurred to me, we’re paying for a Spotify service and an apple music service. And we’re not using both of them. So one of them should probably get ejected. Now, the long and short of it, is it Spotify that’s going after some 12 years of being a customer. And the first sort of port of call for that was, obviously Apple Music Works on iPhone. So that was a given that was nice and easy for the rest of the family. But we also have it connected to to the Amazon Echo, and the Roku and some Android devices. And there are first party Apple Music clients for all of those things. So I was able to connect the rest of the house. And then that just left me, the Linux user who listens to music on their Linux desktop out in the cold. Yes. And I had to figure out well, is there a way forward for me to do two things. One is listen to my music on my desktop when I’m working, and more importantly, stream music when I do my live streams, because I have been using Spotify as my music source. When I do live streams. There’s a company called stream beats who make available copyright free music for streamers, so you don’t get copyright ID with your streams and all the rest of it. And they publish their stuff. In Apple Music. And in Spotify. Oh, so that was good. But the thing was, is how do I get access to Apple music in my rather convoluted OBS setup?

Alan Pope 2:43
Did you attach a headphone cable to your iPhone? Oh, no.

Martin Wimpress 2:50
I should have gone for something a bit more Heath Robinson, it would have been a lot easier.

Alan Pope 2:54
Did you hold a microphone near your phone like I did in the 1980s when I recorded the charts of the radio and hold a microphone near the radio. Yeah,

Martin Wimpress 3:05
I could have gone for something like that. But I wanted like a drop in replacement. So with almost no changes, I could not change the way that I use my desktop for listening to music and also continue to stream. This is unicorn hunting again, I thought I might be when I started out. The first thing that I discovered is well actually, relatively recently, Apple have a web player. So at the very least you can log in with your web browser, and you can access Apple music that way. So if you just need access to the stuff in a fairly basic way, you can log into the website. But I wanted an actual client because of the way that I have everything integrated. And there is one and it is called cider and is really good. So it is basically a lot like the Spotify application. But it’s Apple Music. And it supports all of the features of Apple Music, which I didn’t realise Apple have spatial audio support and a whole raft of additional capabilities. And this application supports all of that as well.

Mark Johnson 4:12
And is it an actual data desktop application using some sort of API or some sort of library? Or is it just a wrapper around the web player?

Martin Wimpress 4:21
It is a bespoke application that is using some API’s and back end code that Apple provide okay, and that does limit it slightly and I’ll get into that in a moment. But the Linux claim is currently like a view J S application wrapped in like an electron style desktop app wrapper that this is version 1.6 of cider. And currently in development is two dot O and they are making native implementations for each of the platforms because this cider is also works on Windows and Mac OS and lots Some people use it on the other platforms because people believe it to be the superior way to consume Apple Music even on those platforms as well. So they’re currently writing a swift version and something else and something else. My understanding is the Linux version is always going to be electron based because they need the DRM stuff the Widevine provides in the electron bit it okay. But the long and short of it is it has a built in graphic equaliser, which is very capable. It supports spatial audio. Apple Music does that through Dolby Atmos, but they use a open implementation of a spatial audio thing. So it isn’t Dolby Atmos, but it’s a lot like it. And they have all sorts of different audio profiles. So you, depending on the headphones you’re wearing, you can actually change the sound separation in your ears, it’s pretty fantastic. I think it’s pretty impressive.

Alan Pope 5:52
I guess it doesn’t do the full spatial audio that you get when you have an Apple device and an apple pair of headphones. Like, if I turn my head away from my iPad, the audio moves to my other ear. And if I turn my head towards moves back to the central, I think he’s optional. I’ve had that where I look at if I turn my head and look at the iPad, the audio comes straight to me from the iPad. And if I turn myself away, it comes from the side. It’s quite freaky. And I think there’s only certainly circumstances where you would want that.

Martin Wimpress 6:22
But you might, I didn’t know that was a feature. And I haven’t observed that the spatial audio support they have is some of the tracks on Apple Music are specifically spatial audio, and it is able to work with those and present those in the way that they were intended. Nice.

Mark Johnson 6:40
I’ve never actually used Apple Music, does it just nowadays provide a streaming service equivalent to Spotify? Or is it also like a store for buying music like iTunes used to be back in the day.

Martin Wimpress 6:52
So it’s definitely a Spotify like streaming service. Although what I did learn is that Apple Music has, I think about 100 million songs in it at the moment. And Spotify is ranked at around 80 million, but Spotify include 3 million podcasts in that number. So I have noticed, for example, there were some artists that I used to listen to on Spotify, that are no longer on Spotify. But I’ve been able to find them again on Apple Music. As for purchasing music, I don’t know I haven’t looked into that at all. I’ve just used it as a streaming service. You can you can.

Alan Pope 7:29
I used to buy music on iTunes. When I had an iPhone many years ago, I have iphone four. And then I moved to Android. And when I came back to iOS a year or so ago, Apple Music launched and then showed me all the music that I hadn’t listened to for 10 years. I bought that event. So yeah, you can you can buy tracks and stuff as well. Yeah.

Martin Wimpress 7:50
And then the last piece to this puzzle is how do I hook all of this up to OBS for streaming. And there’s a fantastic bit of software called player CTL, which is a command line tool, which talks the mp3 protocol for skipping tracks, changing volumes, pausing, stopping, starting all of that good stuff. And this site or application supports mp3. So all of the bindings that I’ve got on my stream deck and in my scripted automation of OBS, I just needed to change the player name from Spotify to cider, and everything carried on working just as it had been before. I love player CTL it’s a it’s a brilliant piece of software. So if you are an Apple Music subscriber, and you use a bit of desktop Linux and then take a look at cider, it’s pretty great.

Mark Johnson 8:41
Catalyst it Europe is hiring, visit Linux matters.sh/catalyst If you’re a web developer with a passion for open source, catalyst it Europe wants to speak to you. You’ll be working with world leading higher education and nonprofit organisations to develop solutions solve problems and contribute to upstream projects. With the option to work remotely or from our office in Brighton UK, you’ll join a talented and passionate team receive a competitive salary and a great package of benefits. Visit Linux matters.sh/catalysts To find out more. That’s Linux masters.sh/catalyst.

Alan Pope 9:16
It is surprisingly easy to get games onto a steam deck. I know right? You just instal them through Steam. And there they are very funny. Yes, that is true. But what if you are put your head in the shoes of a game developer and you’re developing a game and you want to get your game on to a steam deck without going through that publishing process of sending it all the way to steam valve for review and then coming back down to your steam like you want to get your game on to your steam deck to try it out. Perhaps you’re developing games for Windows and perhaps you want to see if you can port it to the steam deck so you go and buy a steamed egg. How do I get my game onto the steam deck? And it’s that scenario that I was thinking about because I was noodling around with some game development tools like love to D and Godot and a bunch of others. And I pondered how do I get this onto the same day to try out because I wanted to test things like the the controllers, the input methods, and makes sure that I get all the button mapping correctly, which is a reasonable thing to to expect. And I looked at various guides that a lot of the Linux YouTubers had made, where they talk about how you get software onto the same deck. And it seemed like such a faff to use third party tools, or to go into desktop mode on the Steam deck switch into like the KDE desktop. And sure enough, I can get files onto that. And I and I followed a few guides, it just seemed like a lot of hard work. And it turns out, there’s a really easy way to do this, that steam have built into the platform. And it’s called steam OS dev kit client. And it’s brilliant. It’s really cool. And what you do is you instal it this thing called steam OS dev get client, on your workstation, and you can use it to send files to your steam deck, and on your steam deck, you also need to have this dev kit, but that’s pre installed, you just need to press a button to enable it in the menu on the Steam deck. So you can normally use this to send games from your developer workstation to a gaming computer, and you would have to instal something on it, but the steam deck has all that built in. So all you need to do is instal the client on your gaming workstation in order to send the software to the steam deck.

Mark Johnson 11:47
So this is like a standard steam mechanism for deploying games or for transferring games between machines. It just happens to work well on the Steam deck to

Alan Pope 11:57
well, yes, I think it might have been developed for the steam for Steam OS, the name of the project, it’s um, steams own get lab instance. And it’s called steam OS dev kit client. So it actually has the name, steam OS in the name, I don’t know the full origin. But that would make sense that it’s part of, you know, the origin story of steam like that’s I think about how the game dev get software on there. And it just what struck me is how complex it all seemed when you think about getting, like roms onto your system or other software. But actually, it’s surprisingly easy when you just want to put a single game onto your steam deck. And the thing that I found super interesting was that the software they’ve created is written in Python, it’s got a little GUI. And all you have to do is give your game a name. In this, you get a little graphical user interface on your workstation, you give it the directory where your build is on your workstation, and the name of the executable that needs to be run. And then you can like press the send button and it sends it over the network to your to your steam deck, it just automatically finds your steam deck and sends it across the network to your steam lake. And then on your steam deck, it shows up as a game in the steam UI. And you can just pick up your steam deck as you want. You don’t have to go into desktop mode or do any real faffing. And you just press play on your game. And you’re in your game, it launches just like any other game that you installed from steam. But this came over the wire from your developer workstation.

Martin Wimpress 13:30
So I’m wondering if this is what Chimaera RS must be using under the hood to do all of its magic with the third party game stores and the other games that you can just lob at it. Maybe that’s the mechanism by which because these things show up in the steam menus and look, natively integrated.

Mark Johnson 13:48
So I’ve also used m mu deck, which is a bundle of scripts for loading emulator games into the steam interface. And that actually does some stuff in the background on the Steam deck to put in the sort of database entries in the client and also loading the images. So you get the proper poster images and the images with the background cut out when you go into the like side menu thing. I don’t know what it’s called overlay menu. So it’s certainly possible to do it, I think with some of the Steam client API’s on the device. But I didn’t know that any of this was possible to do from another machine.

Alan Pope 14:27
In fact, I think the stimulus difficut client uses some of those calls because it right? In fact, it uses our sink under the covers, I think or SCP or something you just Yeah, with over the network is Python. And there’s a debug output. You can see when it’s sending the file so you can you can make sure it’s sending all the right files from the right place. And then you can see it registering a non Steam game, just like you would register a non steam application by pointing to the path of where the executable is. But the reason I found this fascinating was initially for some reason I built a Windows version of something, I downloaded a Windows version or something, and sent it across using this method. And there’s a tick box where you can say, use steam play. So you can make it forced to use steam play with the Windows build or something. So if you were a game developer, and you were just trying out the Steam game, you could push your windows build onto the steam deck, and just tick a box and it will it will create the non Steam game entry in the library and force it to use proton in order to play the game. And then after I’d done that, I thought, well hang on, why have I said the Windows version, I wrote this software, I can put the Linux build. So I created a Linux build, and send that across. Now the interesting thing, the further further interesting thing I found about this is it can run any arbitrary executable. And so your game, whatever it was built with, if it was built with Godot, for example, there’ll be an executable and then a big file with all your assets in. If it’s written in love to D, then you might have a love to D binary and a bunch of other libraries, and then the dot love file or something. But it could also just run app images. So if you have an app image build of a thing doesn’t have to be a game, but an app image of a thing, you can just whizz that over the network. And in the dev kit client, you just specify the executable is the app image, and it just runs it and it launches really quick, you know, the hardware is pretty good. When you hit play, the app is just boom, loads up. It’s it’s pretty impressive.

Martin Wimpress 16:36
Yeah, I mean, at the end of the day, the steam deck is pretty comparable to many modern day laptops,

Alan Pope 16:41
right. And it’s not like it’s running 1000 Other things at the same time. It’s running the steam UI and not a lot else.

Martin Wimpress 16:48
Yeah. And if you’re looking for other ways to get access to an archive of software on your steam deck, one of my colleagues at work has a steam deck and he’s a big fan of the steam deck. And we worked on the determinate Nix installer and a new way to instal Nix on non Nix OS and Mac OS and also the steam deck and preserving all of the steam decks immutability properties. So if you want access to everything that Nix OS can do, you can instal Nix on a steam deck and then access all of the stuff that’s in the next repository. So I have to ask if you’re pushing games to a steam deck that you have written, is there something that you’re working on? What is the what is the true motivation behind doing all of this?

Alan Pope 17:29
Yeah, partly, I’ve been looking at a couple of game jams that are coming up soon. And I’ve been thinking about entering them or just noodling around with stuff. And it, it struck me that I want to be able to play the games that I make on the Steam deck, because it’s easy enough to run them on my desktop and plug in a game controller and I can just play. But actually, what I quite like to do is be able to take a game I have written on a steam deck and use it somewhere other than at my desk. Yeah, that’s what the stream deck was designed for. And so yeah, I’m noodling around with some game ideas. And yeah, more on that in a later episode. Perhaps.

Mark Johnson 18:08
Linux matters is part of the late night Linux family. If you enjoy the show, please consider supporting us on the rest of the late night Linux team using the PayPal or Patreon links at Linux matters.sh/support. For $5 a month on Patreon, you can enjoy an ad free feed of our show, or for $10 get access to all the late night Linux shows ad free, you can get in touch with us via email show at Linux matters.sh, or chat with other listeners in our telegram group. All the details are at Linux matters.sh/contact. I finally found a note taking method that I can stick to, I’ve always had this fantasy that I would be able to write notes by hand and have them digitised and everything would be archived and searchable. And I’d have notes about everything I’ve ever done. And I’ve been trying to do this since I was probably I think since I was at university, I would try taking notes on paper and writing them up. And then I would give up on that because I’d never go back to them and just type them straight in on a netbook for a while. And I’ve tried some hardware note taking devices like the boogie board and rocket book. And whatever I’ve tried, I’d never end up sticking to it. And I never ended up taking any notes. But I found something that I can actually do and stick to now and I’m really happy.

Martin Wimpress 19:29
Have you really though? Well, I think I’ve been through this cycle about 15 times. As I’ve I

Alan Pope 19:35
Yes.

Mark Johnson 19:36
The reason that I know is because it’s the one thing that’s worked for me before in the past. And that was in my first job. I use an app called K journal, which as the name suggests, was a KD app back in the or it might have been the KDE three days even I can’t quite remember if it was that far back, definitely early KDE four. And the way K Jonel worked is you opened it and it gave you a page for that. A and you made you notes on it. But K journal has gone away. I ended up that job I journaled everything I did every time I had a problem and solved it. And every time I, you know, investigated something or had a meeting and had something to take away afterwards, I just bashed it in this because I always just had a page to write on. That was always the right page. But yeah, okay, journal has gone away now lost to the mists of time, I can’t even find it mentioned anywhere online, really. So I may have, I may well have been the only user at the time,

Martin Wimpress 20:28
I used a workflow like that in the past using an app called Red notebook.

Mark Johnson 20:33
Right. So I found a modern notetaking app called Joplin, which few of my colleagues at work use. It’s an open source app that’s been around for a few years now. And it has some, you know, some of the general nice things that I look at in notetaking, it uses markdown, of course, anything I write on a computer has to use markdown these days, otherwise, it’s just in the bin. it’s cross platform. So Windows, Mac, and Linux, although Linux is the only one relevant to me, but also on mobile, as well. It’s on Android and iOS. And it can sync your notes via first party service, its own Joplin, cloud service, third party cloud services like Dropbox, and so on. And also via nextcloud, via WebDAV. So you can self host your note syncing, if you if you choose to do that. It also has tagging and search, which is good for actually finding your notes again afterwards. But the really cool thing is it supports plugins. And one of those plugins it supports is called journal for her, which does exactly what I want you open Joplin at the beginning of the day. And it gives you a page. And it’s gives you a nice structure to all your notes. So they’re organised by month and then by day, and you just make your notes in Markdown. And then the next day, you either open it again, or if it’s still open from the from the previous day, you hit a key combination, and it gives you today’s page, and then you go and I’ve actually been keeping notes, and it’s really cool.

Martin Wimpress 21:57
So how long is it since you’ve had a reliable workflow for note keeping?

Mark Johnson 22:03
Probably about 10 years. Okay,

Alan Pope 22:06
so I also have this problem. You’ve mentioned some of the things I’ve also tried like rocket books, and paper notebooks, and all that kind of stuff. And they’ve all fallen by the wayside. I’ve never found great success with any of them. The one I did use successfully was actually similar to you. At a previous place, I worked like three companies back. So we’re talking over a decade ago, I was on a Windows laptop at that place. And I just used a text editor Textpad. And I just had one big text file. And every morning, I would just put the date, DD mm yy, Enter, and then start typing for that date. And if I wanted to search for anything, it was all in that one big text file. And it wasn’t super enormous. I wasn’t like pasting huge gobs of text, but at least it was reverse chronological and everything was in there. And if I wanted to plan something for next week, I would put next week’s date in there and then put a note in there to run as it was my to do list and everything. And I really liked that I really got on well with this one linear file. And on Linux, I switched in use tomboy, because it had the same thing that you had in K journal, you can make it create a file for today’s date. And I loved tomboy, it was just absolutely perfect. You can link notes together, it was very wiki like syntax and very marked down like very easy to use. But since then, I’ve not found anything that keeps me focused on the notes. It’s a real challenge, I find I just can’t find one.

Martin Wimpress 23:37
I think this is why there are so many notetaking applications because it’s actually a difficult problem to solve. Because I think different people are looking for different solutions in the way that they take their notes. You’ve both talked about a journaling solution, which I did use for about nine months. But I found that daily journal approach I couldn’t find my stuff very effectively. So I’ve always preferred to the sort of organised by topic and category and cross reference with different things that I’ve been through a stack of different note taking tools in recent years. I mean, just recently, I am now using notion. So as a result of changing job, we use notion at work and I was so impressed with it. I moved all of my notes into notion. And at the time when I started I was I was using standard notes. So I switched away from standard notes and exported everything from standard notes into notion. But then I found all of my notes from ages ago that were in cloned notes that I’d exported at some point I dropped all of those and then I found my export from Zim wiki and I dumped all of those in and then I found the bazillion text files that I’d got scattered around various directories in my home directory where it was just too much faff to open whatever note taking tool I was using at the time and I just thought fired up a text editor and just mash some words into a thing. But I’ve switched the notion and I’ve got everything in it. And I’ve even rejected Todoist. And I use notion for my To Do lists. Now, that’s funny,

Alan Pope 25:12
because I’m also using notion as a result of my new employment. And I have had open as a web app. So I just have a notion webpage open full screen on my personal one. But I also have the work one logged in with my work credential. So I have two separate windows both have the same icon, one for work, one for personal, don’t mix them up. Yeah, I put them on different displays, which like, makes my headspace figure that out. But I also imported notes from standard notes and throw away my standards. And I also found, I’ve just found a directory in there called Evernote export 2016 1215. So that gives you an idea of how far back my evolution of crazy note taking antics I’ve been.

Martin Wimpress 25:59
So I log into notion using my home account and my work account, so I can flip between them through the drop down at the top. And the reason I do that is we’ve got the fully paid up version at work, which has got a bunch of extra stuff. So I actually start a private note in there, use all of the nifty features and then just lift it and drop it into my my own instance.

Mark Johnson 26:21
So one really nice tool for my workflow at work that I found with Joplin is it has a plugin, I probably have a plug in for other bug tracking systems as well, but in particular, as a plugin for JIRA, which is the bug tracking system that Moodle uses. And that means that I can really easily create a reference to a Moodle bug. And it actually pulls in stuff like the current state of the bug, and you can expand it and it gives you a little bit of metadata around it in a link straight to it. So whenever I’m making a note about a particular issue, I can just stick in a little tag and it creates this for me, that’s one of the other really nice plugins I found.

Alan Pope 26:57
Yeah, that’s one thing that I’ve quite liked about notion moving from standard notes, standard notes I found was very text heavy, and it didn’t let me put images and anything rich in there. Whereas with motion, if I drop a GitHub link, it will offer to put a preview in there nice with a little box with some details about their pull request or issue or whatever it might be. But it’s got so many of these integration points that like it doesn’t matter what you paste in there, whether it’s just a picture you like you just get a square with a picture. And if you paste, literally any kind of URL, it knows what that is and will embed it in Yeah, I’m coming round to notion is just the headache I have is the organisation of it or like you say Martin is it’s either chronological or organisational and I, I feel like I’m running out of time on this planet to sort out my notes. And so I’ve started throwing them away like that, that Evernote export, I’ve I’ve got rid and I’m not I’m not gonna worth importing, it’s gone. No,

Martin Wimpress 27:59
no, that’s probably quite healthy in many respects as it happens, I like to hope so. The lack of rich text in standard notes was why I was looking to move away from it. And one of the things I’ve done is I found that notion has templates for different types of, let’s say content. And I have in my saved messages in telegram photographs of handwritten notes and photographs of dishes that I’ve cooked in the kitchen that I’m pleased with and I want to recreate in the future. And this is a real faff to go and find those recipes from the past in in this big scrolling backlog of stuff. So I’ve lifted all of those out of telegram and I’ve dropped those into a recipes template. And I’ve now got I didn’t have to rewrite them. I just shoved the photographs in there straight off of telegram. So now I’ve got all of my recipes in one place. And I was very pleased to be able to share a recipe with somebody at the weekend. We’re going oh, I know exactly where it is.

Alan Pope 28:53
I look forward to all the feedback we get from everyone telling us what their note taking applications are. So we can all switch in six months or a year when we get tired of these tools that we’ve selected.

Show Notes

In this episode:

You can send your feedback via show@linuxmatters.sh or the Contact Form. If you’d like to hang out with other listeners and share your feedback with the community you can join:

If you enjoy the show, please consider supporting us using Patreon or PayPal. For $5 a month on Patreon, you can enjoy an ad-free feed of Linux Matters, or for $10, get access to all the Late Night Linux family of podcasts ad-free.

Hosts

Alan Pope
Mark Johnson
Martin Wimpress

Sponsors

Here's a high-five ✋ to our sponsors – give them a visit and keep our show thriving!


Catalyst

catalyst