2017-08-06

[Technology] Google Music and Linux

Today I wanted to listen to the Splatoon soundtrack ("Splatune"), which I own.  I wanted to cast it using my phone to my Chromecast Audio connected to my speakers.  When I searched Google Play Music, I couldn't find it in my library (I own the CD, but I use Google Play Music Manager to sync my music library between Linux and Google Play Music, hmm).



It did find YouTube videos of the soundtrack.  "Good enough," I thought.  I tried to cast that from YouTube to my speakers, but the casting icon was greyed out.  I could not cast to my speakers, let alone my TV.  Is that some DRM?  How obnoxious.



I double checked my Google Play Music library and, yup, it wasn't present.  I then unpacked my computer my shoulder bag, plugged it in, set it up at my desk (what a hassle), and tried to see why it wasn't synced.  Google Play Music Manager was no longer installed (!).  Perhaps it was automatically uninstalled when upgrading to Fedora 26 (or 25, 6 months ago?).  Hmm.



Alright, I'll just reinstall it.  I googled "Google Play Music Linux" and did not find it in the top 10 results.  That's not good.  I searched again with the words sync and manager, and there it was.  Hooray.  Link (this page might detect your OS and present you with something not Linux-y if you're not on Linux).  I clicked to install the RPM for my configuration.  I was concerned that it would just install a package, and not a repository with which to keep it up to date, but lo, it indeed wanted to install an RPM of the repository configuration: hooray!

















And it wants to do it through GNOME Software, rather than the command-line, double-win!



And then after it went through to install, it asked me... if I wanted to install it?  I went through it again, and again, and again.  Great, so it's 2017 and it still sucks to install software on Linux/GNOME.  I would have hoped that if it failed, GNOME Software would have said something, or if it had succeeded, it wouldn't act as though it was uninstalled.



I checked via the command line (ugh) using dnf and, huh, it's installed?  Along with a bunch of dependencies:





That's me removing it.  So I can try again, to see if GNOME Software chokes a second time.



Hooray, this time GNOME Software acts as though it succeeded!







 Then, it gave me a page saying it couldn't find some google music manager beta package, as though after installing the repository, it wanted to install the actual software?  I missed getting that as a screenshot, as in frustration I just repeated the whole process.  3rd time, it worked!







Google Play Music Manager



So, as far as the actual tool goes, I am disappointed that it's proprietary.  However, it seems to work well for now.  Conveniently, and luckily, it respects my music folder hierarchy (~/files/music/ARTIST/ALBUM/TRACK).  Sadly, it does track names as "TRACKNUM TITLE.mp3".  I'd have preferred ARTIST.ALBUM.TRACKNUM.TITLE.ogg, but this is something I could achieve by script.



I don't know exactly how well Google Play Music Manager identifies individual tracks.  Like, if I change a file name of a Grimes' song, that I bought on Google Play Music, from "11 ≈Ω≈Ω≈Ω≈Ω≈Ω≈Ω.mp3" to "Grimes.Halfaxa.11.≈Ω≈Ω≈Ω≈Ω≈Ω≈Ω.mp3", would it known that it's the same file?  E.g. md5sum, or maybe metadata/IDv3 tags?  I wouldn't expect it to recognise it if I changed the format, especially since some people do have multiple copies of the same song, just in different bitrates/encodings. 



But I don't need Google Play Music Manager to be that smart.  I just need it to stay installed, and to continue working in the background, and continue being slim (e.g. some past syncing tools I've had to use (e.g. photo ones) have been HORRIBLE for thrashing my hard drive or hogging the CPU when I'm trying to interact with my computer; it helps that now I have an SSD and 4 cores, compared to half a decade ago when it was 7200RPM HDD and 2 cores, or a decade ago when ... there was ONE core).



I need it to both download music that I purchase on the service, and upload music that appears on my computer (not that I buy many CDs or music outside of Google Play Music anymore; not that I even have a CD (or DVD) player of any kind in my house anymore). And it does it.  And it almost installed cleanly, and eventually did on a third time (only needing to use the command-line to reset the mysterious errors of the first two tries; and I had assumed the universe was deterministic, ha!).

2016-10-21

[Technology] GNOME and default programs that just don't work

I love GNOME.  It is my full intent to invest thousands of hours into it after I leave school.  In general, it works great for me.  However, I still can't recommend it to any friends or normal humans, because so much basic functionality in its apps Just Doesn't Work.



A recurring theme for me is trying to use a feature that's been released but doesn't seem to ever work for me.  An old example would be Tracker.  It took half-a-decade before I could run it on a machine of mine without it being utterly crippled in performance.  Now, it seems to work perfectly.



I know part of the answer is: submit a patch.  And I will, when I'm out of school and not working all the time to pay for it. :D  In the meantime, I'll highlight a couple issues.



A few current examples include:


  • GNOME Boxes

  • GNOME Web (epiphany)

  • Bluetooth and files

  • PiTiVi

  • GNOME Music

  • GNOME Photos


Bluetooth: I have yet to have a Linux installation on any machine ever reliably work with Bluetooth for moving files.  Indeed, most peripherals mysteriously just fail.



GNOME Boxes: I try it out once a release to see how far I can get.  I tried version 3.20.2 today, on an image of Fedora 25 Beta.  It managed to boot and log in to the Live user.  However, a weird 'flickering' kept stealing focus away from the Shell's Activity overview, and after a minute or so, it just froze and became unresponsive altogether.  Compare that to VirtualBox which worked.



GNOME Web: Facebook is one of the most popular sites that I use, and consequently its Messenger is also the one where almost all my friends are.  However, whenever I try to type a message starting with a capital letter, that character repeats! https://bugzilla.gnome.org/show_bug.cgi?id=764653. I want to use Web at least for it's cool Web App container system, for Messenger (messenger.com), but it's infuriating having to delete the extra character each time.  I will have to wait about 7 months before the fix becomes available to Fedora users.



PiTiVi: I love the design, but I have yet to edit a single video with it.  (Well, maybe I succeeded once a long time ago?)  Last week, I recorded a video of my desktop using GNOME Shell (so cool!).  I then wanted to simply export it to a format I could share it with (mp4).  It was listed as an option, but PiTiVi inexplicably just stalled and did nothing.  There's probably an error message on the console explaining that, but when I'm trying to do something so basic, and it fails, it deters me.  I remember how happy I was when OpenShot finally reached a functional maturity.  However, when I then tried to use it, it looked really bizarre, and didn't work any more.  That's weird: I was just using it regularly a few years ago and it worked great!  I looked it up and ... they changed their toolkit.  That explains why it went from working great to not working any more. 



GNOME Music: it actually has content!  Like, when I open it, I'm not
greeted by a bizarre, empty window, without any hint as to what to do
next. Instead, it has a stylish "Hey DJ" with a cool music note.  It
says that it will show files from my Music folder, too.  It doesn't give
me a way to set that Music folder, but ah well.  I thought GNOME Files
might give me an option to, but apparently not.  It probably wants me to
have a ~/Music folder, though that conflicts with my standard file
organisation.  There's probably a config file I can edit, but - wait, I
already did that.  Oh! That explains a few things; Tracker isn't doing
anything, none of its miners are running.  I wonder when they last ran? 
I definitely have some files indexed.  Hmm, "tracker daemon -s" might
get them going now.  Good, now we have some music indexed, let's try
GNOME Music again and ...


ERROR:grl-net-wc.c:730:get_url_cb: assertion failed: (c == d)
Aborted (Speicherabzug geschrieben)

Neat-o!  Back to Rhythmbox.



GNOME
Photos: Yay, it found my photos.  Interesting, right-clicking on an
album selects it and ... let's me add it to an Album?  Trying that, I
define an Album name, click add and ... nothing?  The new album doesn't
exist, and the selected album hasn't moved?  Huh.  There's apparently a
"favouriting" mechanism (a star), but when I select something, it
doesn't seem to really do anything, except toggle the state of the star
at the bottom?  There's a Favourites tab, but nothing shows up there? 
Hmm.  One thing I need a photo manager is to help me share and upload my
photos, which GNOME Photos does not seem to do.  Back to Shotwell.





Here are some things that work, though:



GNOME Maps: it finally renders tiles, can find my hometown, and location services now work!  It even gives good directions!





Basically, I love using GNOME because of its clean design and how it helps me focus on my work.  However, that's only part of GNOME.  To actually get work done, I generally need to use other apps: Rhythmbox, Shotwell, GNOME Terminal (to do things that the apps cannot), Firefox, VirtualBox.  Even my beloved GNOME Videos (Totem?) gets bumped for VLC for caption support.



One of the obstacles is the lack of contextual information in a lot of the newer apps.  GNOME Documents, GNOME Photos, GNOME Music, and GNOME Videos, as far as their library functionality goes, are inadequate for daily use.   They're also hard to use, because they show a bunch of unorganised information without sufficient context to know which files is which.



I'm excited to finish school next year and be able to contribute my time and love for GNOME to help ensure things work and that the user experience is both clean and productive.





2016-10-17

[Technology] Getting my Lenovo Twist s230u to actually go to sleep

I use a Lenovo Twist s230u.  I run Fedora Linux.  It has trouble going to sleep.  It just keeps waking up.  I try to sing it lullabies to no avail. 



After suffering for too long, I sought answers, and found these Launchpad bugs helpful:


For a while, I was just doing the suboptimal:


  • # for i in EHC1 EHC2 XHC; do echo "$i" > /proc/acpi/wakeup; done


after restarting.



I got bored with the 5 seconds it took to run that each time I rarely restarted, so I looked into boot scripts for systemd:


So, now I have:


  • /etc/systemd/system/toggle-wakeup-devices.service


Which contains:


[Unit]

[Service]
ExecStart=/usr/local/bin/toggle-wakeup-devices.sh

[Install]
WantedBy=default.target

 And I have


  •  /usr/local/bin/toggle-wakeup-devices.sh


Which contains:


#!/bin/sh

for i in EHC1 EHC2 XHC; do
      echo "$i" > /proc/acpi/wakeup;
done

This still isn't quite optimal.  (Would be nice to work out an appropriate patch to fix this behaviour for all users and submit it, rather than a workaround.)  But I have a Masters to finish, and this is sufficient for me for now. :)


 

Trying to use vala-mode in emacs:


c-get-lang-constant: Invalid function: "\\s *#\\s *"

I looked for my vala-mode.el and found I was using a local copy I had set up last year,



~/.emacs.d/lisp/vala-mode.el



It was from 2015-05-27, however, that seemed to be the latest copy.  I replaced it anyway, (despite diff showing no differences) and "magically" it resumed working.  Hmm.  Maybe it was also just me restarting my emacs daemon. :D

2016-06-04

[Technology] Spending all of my disk space

I used to save a lot of content to my computer that I thought was cool.  I, however, almost never access any of it.  Consequently, I'm trying to stop being such a collector.  Good bye decade old wallpaper collection. (* HA!  I'm not actually going to DELETE it.  I'm just going to risk having it stored on an external hard drive. :P)



Another recent problem is that my system uses GNOME Software and PackageKit to manage packages and updates. However, for correctness, it wants to only update packages during a restart.  (https://fedoraproject.org/wiki/Features/OfflineSystemUpdates)  Of course, I almost never restart my computer, and end up just using dnf ("Dandified Yum" (yum: Yellowdog Updater, Modified (replaced yup: Yellowdog Updater, which was the update manager for Yellow Dog Linux, which focussed on PowerPCs, GPUs, and high performance computing).  So, GNOME Software uses PackageKit to pre-download updates, which wait to be applied during the next update.  However, I end up installing them separately before that using dnf.  Then, GNOME Software and PackageKit by default just leave them there in the cache, FOREVER.  Over 4 months, that consumed 5GB of space.  If I had to pay for all that data, that would be a huge redundant waste.  So much effort with delta RPMs to conserve data used in updating, only to waste it like that, by having double-downloads?  That's a bug: https://bugs.freedesktop.org/show_bug.cgi?id=80053


Replacing libraries and files while the OS is running can cause
problems ranging from application crashes to inconsistent system states
where processes are using different versions of a library at the same
time. By installing system updates 'outside' the normal system
operation, we avoid these problems.
- https://fedoraproject.org/wiki/Features/OfflineSystemUpdates

One of the commentators on the FreeDesktop bug report uses a cron job for the command:


pkcon refresh force -c -1

I haven't done much with cron for a while, so I used Arch Linux's great documentation on cron and the man pages, before deciding that I'd actually give the Future (er, present) a try with systemd timers.  A combination of the documentation, Arch Linux's page on it, and this random blog post by Jason Graham, I ended up adding a pretty minimal .service and .timer pair of files.



Yay, problem worked around.


Proper solution?


This probably would have entailed trying to write and submit a patch that would have done one of the following:


  • cause packagekit to discard superseded packages in its cache, or

  • cause GNOME Software to let you choose to do risky, online updates, or

  • cause dnf aware of packagekit's cache so we don't have to re-download and waste data (seems kind of dumb), or

  • cause multiple solutions to share the same package cache directory, or

  • use something like ostree to make 'online' updates safe


 Who knows.

Dieses Blog durchsuchen

Labels

#Technology #GNOME gnome gxml fedora bugs linux vala google #General firefox security gsoc GUADEC android bug xml fedora 18 javascript libxml2 programming web blogger encryption fedora 17 gdom git emacs libgdata memory mozilla open source serialisation upgrade web development API Spain containers design evolution fedora 16 fedora 20 fedora 22 fedup file systems friends future glib gnome shell internet luks music performance phone photos php podman preupgrade tablet testing typescript yum #Microblog Network Manager adb apache art automation bash brno catastrophe css data loss debian debugging deja-dup disaster docker emusic errors ext4 facebook fedora 19 gee gir gitlab gitorious gmail gobject google talk google+ gtk html libxml mail microsoft mtp mysql namespaces nautilus nextcloud owncloud picasaweb pitivi ptp python raspberry pi resizing rpm school selinux signal sms speech dispatcher systemd technology texting time management uoguelph usability video web design youtube #Tech Air Canada C Electron Element Empathy Europe GError GNOME 3 GNOME Files Go Google Play Music Grimes IRC Mac OS X Mario Kart Memento Nintendo Nintendo Switch PEAP Selenium Splatoon UI VPN Xiki accessibility advertising ai albums anaconda anonymity apple ask asus eee top automake autonomous automobiles b43 backup battery berlin bit rot broadcom browsers browsing canada canadian english cars chrome clarity comments communication compiler complaints computer computers configuration console constructive criticism cron cropping customisation dataloss dconf debug symbols design patterns desktop summit development discoverability distribution diy dnf documentation drm duplicity e-mail efficiency email english environment estate experimenting ext3 fedora 11 festival file formats firejail flac flatpak forgottotagit freedom friendship fuse galaxy nexus galton gay rights gdb german germany gimp gio gjs gnome software gnome-control-center google assistant google calendar google chrome google hangouts google reader gqe graphviz growth gtest gtg gvfs gvfs metadata hard drive hard drives hardware help hp humour ide identity instagram installation instant messaging integration intel interactivity introspection jabber java java 13 jobs kernel keyboard language language servers languages law learning lenovo letsencrypt libreoffice librpm life livecd liveusb login lsp macbook maintainership mariadb mario matrix memory leaks messaging mounting mouse netflix new zealand node nodelist numix obama oci ogg oggenc oh the humanity open open standards openoffice optimisation org-mode organisation package management packagekit paint shedding parallelism pdo perl pipelight privacy productivity progress progressive web apps pumpkin pwa pyright quality recursion redhat refactoring repairs report rhythmbox rust sandboxes scheduling screenshots self-navigating car shell sleep smartphones software software engineering speed sql ssd synergy tabs test tests themes thesis tracker travel triumf turtles tv tweak twist typing university update usb user experience valadoc video editing volunteering vpnc waf warm wayland weather web apps website wifi wiki wireless wishes work xinput xmpp xorg xpath
Powered by Blogger.