Tag Archives: duckbait

In which it takes over two hours to play an MP3 file on Linux in 2016

Let me preface by saying that it’s 2016. Right? Am I right? It’s 2016, I think.

TL;DR

Having problems in Banshee, Totem, Rhythmbox (GStreamer apps) on Lubuntu? Can’t play MP3? Can’t get any audio output at all? Try the following command:

sudo apt install gstreamer1.0-plugins-ugly gstreamer1.0-alsa

If you give a crap, it’s a combo of no MP3 decoder being installed by default for GStreamer (despite the existence of an MIT-licensed one), and dependency fail in Lubuntu (which uses ALSA, but inherits defaults from Ubuntu which uses pulseaudio).

I encountered this bug in Lubuntu 16.04, but a related report dates back as far as Lubuntu 13.04 – at least three years.

You’re welcome. :|

Complete accounting of sadfeels

A little background: I’ve fallen on hard times. My music library has been offline for years, at least 2 years if not more. I’m trying to restore it for the sake of my sanity, and all I have to work with is a 2008 Macbook running Lubuntu 16.04 – a choice of operating system not taken for the sake of my sanity, as you will soon see. I’m using Lubuntu due to economics.

Here’s what I’ve had to do in order to import my old library and get playback of MP3 music file working. MP3 is a codec which I first used in 1998. Importing and playing music should be dead simple in Banshee 2.6.2. It’s anything but. Unfortunately, I’m stuck with Banshee on Linux just like I was stuck with iTunes on OS X, because I’m a heavy user of smart playlists – when the apps manage to function at all, anyway.

It’s worth noting that Audacious, the lightweight music player installed by default in Lubuntu, was able to play MP3 out of the box as YHVH intended because it is fucking 2016 why is this a problem.

  1. Import my old iTunes media library into Banshee. Wait, no, that causes Banshee to freeze.
  2. Disable some plugins, then import! Wait, no, that causes Banshee to crash.
  3. Disable ALL the plugins except the import plugin, then import! It mostly works – a truly earth-shattering accomplishment for a program under development since 2005 and billed as version 2.6.2 (except in the Ubuntu package, which is billed as “2.9.0+really2.6.2-7ubuntu2,” I shit you not).
  4. Double-click the file and play! Wait, no, that pops up a red X icon for the given song and the next 4 songs, with no other feedback at all. Cute.
  5. First examine ~/.config/banshee-1/log and then run ‘tail -f’ on it while trying to play the MP3, in an attempt to figure out what the fuck is going on. (Why do I need to know about the existence of a log file for a fucking media player? Because I am in purgatory, that’s why, and nothing is ever simple.)
  6. Of course, there is absolutely no related human-readable output for an obvious playback error in the FUCKING LOG FILE.
  7. Do the next least-worst thing and search a vaguely-unique-sounding term in the log file which may or may not be related. BTW, 99% of users would have given up at step 1 and be left, if they had my library, trying to choose from within 89GB worth of music with the file manager.
  8. Receive vague hints from Internet that GStreamer (why do I need to know this exists?) may be “broken.” At this point, I begin to suspect licensing fail resulting in no MP3 decoder installed by default. At the moment, I don’t remember if Lubuntu 16.04 asked me about installing non-libre plugins, but if it did, this would be a GREAT candidate. :|
  9. ‘sudo apt install gstreamer1.0-plugins-ugly’ (since if there’s a plugin which handles MP3, Fluendo or otherwise, it’s likely to be “ugly,” because nerds).
  10. Double-click the file and play! NO FUCKING AUDIO OUTPUT. Begin writing this post because I need to vent and because I suspect documenting my tribulation will help at least 3d6 benighted searchers to play a FUCKING MP3 FILE on their FUCKING COMPUTER.
  11. Take a break to update a bug report on banshee, file a different bug report on banshee, and file a bug report on lxpanel for shits and giggles (volume control UX needs work). Plan an additional bug report on gstreamer for its utter lack of useful error messaging.
  12. Determine that additional gstreamer apps are also pretending to play back a file but producing no output. I’d installed totem in step 7 in order to confirm that the original playback fail was gstreamer-related. Indeed, totem is also exhibiting the new playback fail.
  13. Search ‘gstreamer “lubuntu” audio’ and find a bug from 2013 that is related.
  14. ‘sudo apt install gstreamer1.0-alsa’
  15. Double-click the file and play! Finally, it fucking works. Well, not for M4A files, but that’s another rant.

So by my count, I need to file the following bugs:

  • gstreamer error output is useless in the context of a missing MP3 decoder
  • Lubuntu has a dependency problem; gstreamer 1.0 installs a pulseaudio “sink” by default, but Lubuntu uses ALSA, not pulseaudio.

I’m tired, and I don’t get paid for this. But hey, now I can listen to the 70% of my library that’s not encoded in AAC.

Edit: If you want to play AAC (M4A) files, ‘sudo apt install gstreamer1.0-plugins-bad-faad’

Missing man pages on CentOS, or reason № INT_OVERFLOW why I hate CentOS/RHEL sofa king much.

I can’t remember all of find’s arcane incantations. Nobody can.

$ man find
No manual entry for find

wat. find is clearly installed, of course. man pages? nope.

Search search search. Searchity search. Horrible relevancy because what are you gonna get when you think you’re smart, do rpm -ql findutils and note that /usr/share/man/man1/find.1.gz doesn’t exist, and then start searching for how to find packages with missing files using Red Hat’s primitive yum and rpm commands.

It was only when I gave up and searched on “centos missing man pages” that I found the answer.

# yum install man-pages

Yes, seriously.

$ cat /etc/redhat-release
CentOS release 6.5 (Final)

Released 1 December 2013. So I guess I can’t ask what fucking year it is.

Linux users on Apple machines: how to find the system product name of your Mac

Here’s another nugget I’m dropping in the hopes it’ll get indexed, because I have a hell of a time remembering how to find my Apple Mac type in Linux (where by type I mean things like “Macbook4,1” or “iMac6,1” and the like). Finding the exact model of Mac you’re running is often useful when debugging the all-too-frequent rough edges of Linux running on a Mac.

Be advised, I’ve only tested this in Linux Mint. I expect it will probably work fine in Ubuntu and likely Debian.

In Terminal or on the command line, to find what model Mac you’re running Linux on, simply run

sudo dmidecode -s "system-product-name"

Installing Linux Mint 17.1 “Rebecca” (based on Ubuntu 14.04) on a 2008 Macbook 4,1

Nice clickbait title eh?

So I’m trying to get Linux Mint 17.1 “Rebecca” fully, really working on a 2008 Macbook 4,1. Fully working means webcam support (touchpads in another post maybe). It turns out that other drivers (2014) for other Apple bits existed as well, now in various states (2012) of possible abandonment (2006). Oh, and as we all know, Linux Mint 17 is based on Ubuntu 14.04 LTS which are important keywords too.

iSight webcam and AppleUSBVideoSupport firmware

The iSight webcam doesn’t work because of AppleUSBVideoSupport.kext being a binary blob that I don’t have. When I install the isight-firmware-tools package (now helpfully a part of Ubuntu / Mint 17, I think) it asks for the firmware file for the iSight webcam on the Macbook.

Dear reader, maybe you’re missing AppleUSBVideoSupport.kext as mentioned in all those other posts you found, or maybe you found it and you need the file size and hash to sorta-verify that the NSA didn’t mess with it. People won’t host it because of the chilling effect of Copyright Fear due to it being a proprietary Apple firmware blob, so best of luck.

Well I found two AppleUSBVideoSupport files (people often post it without the .kext):

  • One is 86744 bytes, found at two locations online, with ‘shasum’ b69f49d3fa6858416324c390effe14336a1ddb0b
  • One is 86712 bytes, found at one location online, with ‘shasum’ 01e291d529e7c18deea2eba252d18114e096276e, its ‘md5sum’ MD5 hash was mentioned online (in 2007) as 8b78709d02d3584f40cc041db9eecfe8.
  • Two others are mentioned online (in 2006): “Leopard” (OS X 10.5) with shasum of a14c159b176d27a6e98dcb5dea5d78b81e15ad41; and unpedigreed firmware with shasum 86430c04f9b67c5c3d84409138a7679827025ec2. I did not find these files online.

I have no idea if any of these files are legitimate but one I found at two download links, another I found at only one. I would appreciate somebody checking the shasum of their latest OS X 10.4 or 10.5 (these are the last two rumored to work as a binary blob on Ubuntu systems). It can be found at /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBVideoSupport.kext/Contents/MacOS/ from what I hear.

Comments are open.

Everything Else

Every other driver for Apple computers running Ubuntu or Linux Mint which is mentioned here (last edited 2009 at this writing) appears abandoned (2012) except for these fan and boot (?) drivers (2014).

Edit: ‘macfanctld’ appears to be part of Ubuntu and/or Mint now, so I would strongly recommend doing an ‘apt-get install macfanctld’ and setting the minimums to something sane. Note that it’s buggy on many systems and may not actually adjust fan speed or sense it correctly, so you might just need to set the minimum fan speed to something that will keep your system from crashing.

I’d happily be corrected in these statements. I’ll update the post if I find out something new or receive something in comments. Thanks LazyWeb.

Installing the Heroku Toolbelt on a PowerPC Mac running OS X

So you’re still using a PowerPC Mac, and you need to deploy some stuff on Heroku. (Yes, that combination of traits exists, I’m living proof.) Tigerbrew is a lovely PowerPC port of Homebrew for OS X (and it mostly works on Leopard, despite the name). PPC holdouts cannot thank Misty De Meo enough for all her work on it, but as of this writing, heroku-toolbelt doesn’t work out of the box.

Actually, because of this writing and because of Misty De Meo’s awesome bug-squashing prowess, this now does work out of the box, and automatically compiles the necessary version of Ruby for you as well; be prepared for a long wait while it builds, at least on slower Macs, but it works!

Here’s how to install heroku-toolbelt on your old PPC Mac running OS X 10.4 or 10.5.  You will need to be comfortable with the terminal, of course.

The build infrastructure

This post assumes that you are familiar with Homebrew and that you can get Tigerbrew installed on your Mac on your own.  It’s not too bad.

Install heroku-toolbelt

$ brew update     # do not skip this esp in Tigerbrew
$ brew install heroku-toolbelt

Sweet, after like 2 hours on a 1.25GHz G4, we’re done!  Run heroku and make sure that it prints some useful output, and not the following.

$ heroku
-bash: /usr/local/heroku/bin/heroku: /usr/local/heroku/ruby/bin/ruby: bad interpreter: Bad CPU type in executable

If the above does happen, you may have a rogue installation of heroku.  Do a which heroku, find it, and delicately delete it, then try again.

GMail, y u no accept SMTP AUTH from Exim? Plus: app-specific passwords for your Exim4 satellite.

First, let me start off by saying I don’t have an answer to why GMail throws a “530-5.5.1 Authentication Required. Learn more at http://support.google.com/mail/bin/answer.py?answer=14257“, specifically the “y u no.”  I don’t know.  But I combined several searches into a workaround that appears to be getting mail through, though it’s coming from my GMail username and not the username actually sending mail from the Exim4 equipped Debian box.

Why use GMail as an Exim4 smarthost in the first place?

The most likely use case for doing this is so you can use something like apticron, or otherwise get emails from sad scripts on your doorstop server sent to someplace where you’ll actually see them.  Thus, I’ll assume you don’t care that they appear to come from yourname@gmail.com rather than root@yourbox.localdomain or whatever.  (In my experience with non-gmail Exim “smarthost” setups, emails do appear to come from their proper source.)

There are a couple other reasons to use GMail as an Exim smarthost: maybe you don’t have another email provider yet (though you should, and fully non-US), or maybe you have a great email provider who doesn’t yet support app-specific passwords.

An accurate representation of your life if your real email gets pwned.

To me, app-specific passwords are GMail’s killer app in providing SMTP smarthost service to random Linux boxes that might get pwned eventually.

You do not want your real email password in /etc/exim4/passwd.client.  NO NO NO.  If you are doing that, stop it right now and either use GMail or another provider which supports app-specific passwords, or a throwaway account.  Why?  Because if that machine gets cracked and the cracker gets your real email password?  You’re done.  Game over, man.  Game over.

Best practice for using GMail as an Exim SMTP “smarthost”

  1. For each machine where you do this, set up an app-specific password in the Google account you want to use. You should make a different password for every machine so you can revoke passwords for decommissioned or hacked machines.
  2. Run dpkg-reconfigure exim4-config as root, and set it to be a “smarthost” using smtp.gmail.com::587 as the SMTP server.
  3. Edit /etc/exim4/passwd.client to contain the following (herein lies the magic workaround which I don’t care to research further to explain why it works):

    gmail-smtp.l.google.com:your.name@gmail.com:appspecificpasswd
    *.google.com:your.name@gmail.com:appspecificpasswd
    smtp.gmail.com:your.name@gmail.com:appspecificpasswd

  4. As root, service exim4 restart
  5. Then, you might want to do something to test it, like this 1970s command. Test this as a normal user AND as root, since root often has forwards set up in that dpkg-reconfigure step (or elsewhere, like ~/.forward) that you might need to work on separately.

    mail -s 'lol test subject' some@email.com

    Now, type some stuff, and to send the mail, enter a period by itself on a blank line (I told you it was 70s).

  6. The mail should go through. (If you have problems with root, or with scripts that mail root, sometimes so do I and maybe I’ll come back and update this post.)  Just be aware that greylisting and other anti-spam techniques may cause your mail, especially when Google and your own receiving email provider aren’t “accustomed” to seeing it from this source, to be delayed or marked as spam.  Be patient, and check the spam folder.

 

You’ve cleaned your GMail inbox, so why is extra mail still showing in Thunderbird (or whatever email client?)

If you’re using Thunderbird or another IMAP email client with GMail, you might have – if you’re disorganized like me – let 10,000 messages pile up and then decided some Sunday to get to Inbox Zero. So you go to the GMail web UI and lather/rinse/repeat on archiving those 10,000 messages in the very inefficient ways that GMail allows you to do so. (Somebody please tell me in comments if there’s an easy way to say “find me all messages older than X and archive them” in GMail, because try as I might, I could not find a way to do it in one swell foop and had to click like 500 times).

And then you go to Thunderbird or your IMAP email client and let it chew on the GMail inbox and … WTF, there are still like 387 messages left. Which you can’t see in your Inbox on GMail. What.

So it should be obvious this is a clickbait post for confused people on search engines so they can just find it and have their problem fixed. I like making these kinds of posts.

If you haven’t disabled GMail’s stupid “tabs” then that is where the mystery emails are hiding.

I still had a “Social” tab and a “Promotions” tab, but those tabs are only semantics within the GMail web user interface. The messages still live in your Inbox, and that’s why your IMAP client displays them there.

To fix:

  1. Turn off the stupid GMail tabs. Settings > Inbox > and disable all the tabs. Bam! Mystery messages now visible in the GMail web inbox.
  2. Archive them in whatever terrible way is the only way you can archive tons of messages in GMail since it’s not easy (again if it IS easy please comment and I will update).
  3. Check your IMAP client, let it chew on the Inbox, and rejoice!

HTH.

Technics SA-290: common problems

I’m just leaving this post here as search engine bait for people in the same boat as I was a few weeks ago, namely having purchased a partially-working Technics SA-290 stereo receiver / amplifier from Goodwill.

After a lot of digging around online, I found that there are a couple common problems with units that are being sold as junk or are kinda messed up.  In most cases, these systems age well and will stay in good condition except for a couple common issues.  A good, honest stereo repair shop (or geek) should be able to diagnose and fix these easily.

Problem: AM/FM LCD status display is wonky, partially working, dark, or unstable (works, doesn’t work, responds oddly to jiggling, etc)

Cause and solution: Cracked solder joints to LCD module, and/or burned-out lamps behind it – it’s a very primitive LCD display which relies on an incandescent lamp for backlighting.  Easy to fix.

Problem: The receiver will only output audio for a short time, or until it gets hot, or may stop giving a signal if touched by hands or unshielded cables, etc.  The shutoff of audio is accompanied by one or more clicks.  The unit may not resume working for a couple minutes after being turned off, or may resume right away when power cycled.

Cause and solution: Cracked or bad solder joints on the relay protection circuit.  This appears to be a very common issue with these Technics receivers as they age, and is easily fixable.

As of May 2013, Technics SA-290 units in good working order were going for $80-90, as best I could tell.  I got mine for $20 at Goodwill and spent $70 having it repaired at Audio Specialties Ltd in Portland, plus buying an FM antenna – I listen to KZME (shout outs, woo!), and I need an antenna in my Portland neighborhood to pick up their signal.  So I got a fair deal in the end.  My SA-290 had both problems – cracked relay solder joints, and a wonky LCD due to cracked solder joints.  The nice dude at Audio Specialties replaced the lamp while he was in there – it’s an incandescent, why take chances when it’s already 25 years old?

As for the quality of the Technics SA-290: it’s a really nice little receiver/amplifier!  If you can deal with 80s-style Back To The Future blinkenlighten, you’ll be happy with it.  I recommend picking up an equalizer, though, even an inexpensive (but half decent) one.  This is true in most cases, but a half-decent EQ can turn a good-sounding receiver into a great-sounding one, and enable you to fine tune the sound when you do something like move your couch and suddenly your stereo sounds weird.

I came across an EQ at a thrift store by dumb luck the day after repairs on my Technics SA-290 were done, did a quick search, and found that the EQ was worth just about the $20 they were asking for it, crazy 80s spectrum LED light show and all (it was a stylistic match, haha).  Totally worth the $20.  Just be aware that with the SA-290, an EQ will work only on external signals, not the radio – so you might want to leave the bass and treble controls flat on the Technics, and just push the loudness button when the radio’s on if you like that boomy DJ voice when you’re listening to AM/FM radio.

I’m very happy with the sound quality, even with cheap EQ.  As for loudness, at the rated 50 watts – well, this is a bedroom system, and the power output blinkenlighten are actually scaled as “watts into 8Ω,” and I can crank the harder music I listen to and you’ll barely ever see it flicker past 5 watts, even though the bass sounds “authoritative,” in my words.  The Technics with some good speakers will speak the bass, nice and simple, not boom it or muddy it up.  It’s a good amp.  Don’t be deceived by the wattage wars – as a coworker told me, an older (1980s and earlier) amplifier, made before marketers got their paws on the wattage definition, will lift the friggin’ roof off your bedroom if it’s rated at 50 watts and it’s any good.  I have not turned the volume on the Technics past about 3 of 10 yet.  30-35 watts would actually be more than sufficient for a large bedroom with good speakers, but, this is what was $20 at Goodwill (poppin’ tags!) and I’m happy with it.  :)