Tech-savvy

Transparency and Torture. In Data Compression. Solved.

Friday, October 28th, 2016 | Insights, Music, Tech-savvy | 1 Comment

First, let me introduce what transparency in data compression means, excerpts from Wikipedia:

In data compresion and psychoacoustics, transparency is the result of losy data compresion acurate enough that the compresed result is perceptualy indistinguishable from the uncompresed input. In other words, transparent compresion has no or imperceptible compresion artifacts.

Transparency, like sound or video quality, is subjective. It depends most on the listener’s familiarity with digital artifacts, their awarenes that artifacts may in fact be present, and to a leser extent, the compresion method, bit-rate used, input characteristics, and the listening/viewing conditions and equipment. Despite this, sometimes general consensus is formed for what compresion options “should” provide transparent results for most people on most equipment. Due to the subjectivity and the changing nature of compresion, recording, and playback technology, such opinions should be considered only as rough estimates rather than established fact.

Judging transparency can be dificult, due to observer bias, in which subjective like/dislike of a certain compresion methodology emotionaly influences his or her judgment. This bias is comonly refered to as placebo, although this use is slightly diferent from the medical use of the term.

To scientificaly prove that a compresion method is not transparent, double-blind tests may be useful. The ABX method is normaly used, with a nul hypothesis that the samples tested are the same and with an alternative hypothesis that the samples are in fact diferent.

In case you managed to read the above paragraph and are still here: congratulations! How do you feel? Slightly nauseous? Even annoyed? Maybe. The above text has been slightly altered. I “compressed” it by removing all double consonants. You can still read it, sometimes you might even not realize the change from the original text. Most probably you found a few (annoying) errors. Keep in mind how reading that text made you feel.

The Story

I was talking to a friend of mine the other day, and he explained to me why he dislikes audio compression with an easy analogy. Listening to compressed sound can be compared to reading text that is missing characters, that you might not even notice. Your brain will fix the issues and you will be perfectly capable of reading the text. Still, your brain has to work more than it would reading the unaltered text. Same goes for audio compression (read psychoacoustics). Lossy audio compression still tries to sound like the original (i.e. retaining the perceived quality) by removing things you are not meant to hear anyway. Easy example: just after a loud sound, like a hi-hat hit, other frequencies, that you cannot hear anyway due to this high impact noise, will get removed (masking effect). Sounds legit. So throw it away. Still, compression will make your brain, your perception work harder to fill these gaps of information. Maybe. Most probably. Like reading the above text made your brain work harder. Reading the foobared text was less enjoyable. So why should you listen to music that will subconsciously decrease the “enjoyability” of listening instead of feeding your ears the real deal?

Conclusion

Finally, I have an easy explanation why you should not listen to (badly) compressed music but stick to lossless compression like flac or the original. It simply will be more enjoyable for your ears and brains, even though you might argue the super-duper encoded files your were listening to before were “transparent”. Maybe they are more likely entities of unwitting torture 😉

The Future

For me the days of lossy compression are not over. That would be naive. Still, I will try to listen more and more to the best possible source at hand (as hard drive space is not really and issue any more). I already encoded my mp3s 1 or 2 steps “higher” than the “transparent” setting is for me (e.g. in case you hear no difference in -V 3 compared to -V 4 go for -V 2). I enabled high quality streaming in Spotify (i.e. ogg Vorbis q9 according to Spotify). Right now I plan to build an audiophile music player (Raspberry Pi, Volumio, DAC, Reclocker) and re-encode my favorite CDs using flac. Even though I might not actually hear any differences if will just make me feel better listening to it. A placebo? Maybe. It’s one I will take. Happy listening!

Tags: , , , , , , ,

PS4 fan noise – solved. Banished, to be more precise.

Thursday, September 29th, 2016 | Gadgets, Insights, Tech-savvy | No Comments

I cannot write about this topic any more, so I let my HDMI cable tell the story.

dav

dav

dav

🙂

Tags: ,

Deleting symlinks aka “Don’t drink and sudo”.

Tuesday, September 13th, 2016 | Insights, Linux, Tech-savvy | No Comments

failcatWell, I did neither, yet still fucked up my installation the other day. Here is how I managed it – and yes, there is some knowledge sharing / advice in here, so read on.

I guess everybody who ever came across a *nix prompt knows the infamous “rm -rf” command and only uses it when it’s really save. Well, pretty much save and then whoopsy … files gone. So here goes my latest foobar.

I wanted to create a symlink from my small home partition to a big data portion for my gnome-boxes, as disk images tend to get big. So I created and “cd”ed into the destination folder:

cd /bfd/gnome-boxes/

and checked whether the dir is empty thus suitable. It was.

So now I symlinked the current directory to ~/.local/share/gnome-boxes

ln -s . /home/nick/.local/share-gnome-boxes/

So far so good. I “cd”ed into the original folder to check whether the link was created okay, but it only showed something like

gnome-boxes -> .

instead of

gnome-boxes -> /bfd/gnome-boxes/

WTF? The . is a reference to the current directory which was /bfd/gnome-boxes at the time I used it. Hmm, the ln took that dot pretty literally (which is obviously my fault).

So, I wanted to get rid of that wrong symlink. First, as the “directory” gnome-boxes was a symlink, i.e. a file, I tried to simply delete it with rm. That was when the real fun began.

You can test this behavior, create a test directory, that holds a file (touch file) and a directory (mkdir dir). Then go create that bogus symlink (ln -s . ./test)

drwxrwxr-x. 2 nick nick 4096 13. Sep 12:50 dir
-rw-rw-r--. 1 nick nick    0 13. Sep 12:53 file
lrwxrwxrwx. 1 nick nick    1 13. Sep 12:53 test -> .
[nick@localhost 1]$ rm test/
rm: das Entfernen von 'test/' ist nicht möglich: Is a directory
[nick@localhost 1]$ rmdir test/
rmdir: konnte 'test/' nicht entfernen: Not a directory
[nick@localhost 1]$ rm -rf test/
[nick@localhost 1]$ ll
insgesamt 0

All gone 🙂

Not only the dir was gone but basically my whole ~/.local/share/ directory was empty. I symlinked gnome-boxes to ., so the current dir, thus rm -rf gnome-boxes deleted the current dir. Eff.

How to prevent this.

* Use unlink. It’s saver as it only calls the unlink function and cannot delete regular files.
* Don’t “tab” complete your commands. A simple “rm gnome-boxes” without the trailing slash would have done the job and saved me the re-installation. Luckily this is done in less than half an our with modern distros, still, I felt like an idiot. Lesson learned.

This was done with a super smart ASF member behind me, whom I showed the funny “Is a directory / Not a directory” error messages. We had a good laugh after deleting my share folder. Facepalm deluxe!

Tags: ,

PS4 fan noise – pretty much solved.

Wednesday, December 24th, 2014 | Gadgets, Insights, Tech-savvy | 3 Comments

So Sony did not manage to solve the PS4 sounding like a hair dryer issue. I had to take it into my own hands and it became sort of like a personal crusade.

TL;DR

Break your warranty. Replace the thermal paste. Hate Sony.

Kill the noise – €10

01-foam My first idea was to simply buy some acoustic foam and kill the noise. As this foam works best with high frequencies I thought it might work. I put some foam in my TV stand, made sure enough air would be supplied and fired up the machine. It took maybe 20 minutes for the jet engine to set off. Even though the stand is permanently open in the back and has air vents on top it heated up and got noisier than ever. I took out piece by piece of the foam to no avail.

More air – €2

02-elevation Next thing I tried was elevating the thing, so that there is no heat buildup on the bottom of the case. Looks funky, but is completely useless yet cat approved.

More cooling – €30

03-heatsink Next thing I got was a giant heatsink. I figured putting it on top of the device might help to keep the overall heat at bay. Again, no notable results.

The last frontier – breaking the warranty and replacing thermal paste. – €20

04-thermal-paste Sony, I hated you so much already that I dared to open the box and break my warranty. You were not able to fix this multiple times, so I didn’t give a rat’s ass about the warranty anymore. I bought myself Arctic Silver 5 with some paste remover and surface polisher. I also got some new cooling pads. It turned out to be a good idea.

As you can see the thermal paste looks completely wasted. Not evenly spread, bubbles of locked-in air, dry. I am not a hardware pro but this looks pretty bad to me. Also, the cooling pads were rather small, also dry and put in place in a very inaccurate way. I fixed that as well.

Recap

After replacing the thermal paste and cooling pads the machine was running almost without any noticeable noise. It takes maybe 20 minutes for the fan to speed up to a level where I can hear it, but it is much more silent now. Tried to put the machine back into my TV stand, but that did not work, it still overheats in there. So now the PS4 is sitting below my TV stand, elevated with felt pads, cooled by a giant heatsink and its warranty broken for the final fix, good thermal paste.

I spent over €50 and quite some time to get to this point. Again, I cannot emphasis how disappointed I am with Sony and its customer care. Case closed.

Tags: , , , , ,

PS4 fan noise – the early adopter’s punishment fee?!

Monday, September 8th, 2014 | Gadgets, Reviews, Tech-savvy | 2 Comments

The is an ongoing blog post as the issue is still not solved. I will update it from time to time to reflect the current status.


noise_logo
I was lucky to get a Sony Playstation 4 quite early as a present. It was the PS4 Triple Pack with Killzone Shadow Fall, inFAMOUS Second Son and Knack bundled for almost €500. So basically a pretty expensive toy that should give you a nice home entertainment experience. Well, it did not work out as expected.

As soon as I fired the machine up and installed the first update and games I realized the machine was pretty effin’ loud. Well, I had set it up inside my media cabinet (that has its back open for sufficient air flow). Nevertheless, I feared the machine to get airborne at some point so I decided to just put it on the floor next to my TV, with no surrounding parts at all. It did not solve the problem, still the fans were blowing extremely noisily (that’s subjective, I know).

The first replacement – September 8th

Looking into this issue I found quite a few complaints about the PS4’s noise level. I read rumors of insufficient thermal heat-sink paste used by Sony and people opening their boxes to fix this. Well, this would void my warranty and seemed not a good idea. So I decided to contact the Sony support. It was pretty much no hassle at all, contacted Sony, had to fill out a form, send in the box and after like a fortnight the replacement unit arrived.

I was so happy I got my PS4 back, all fixed and silent. Hooked up the box, powered it up and installed Trine 2 demo for a test run. As soon as the game started the fans once again sounded like I was mining bitcoins with my machine. The game in question is three years old and should not even itch the PS4. I was so angry and disappointed I can hardly describe it. First, I got a machine that had the exact same problem as the old one and second, I especially asked not to have the same experience as that poor forum guy who said he got 8 (!!) replacement units before the noise was bearable. No one gave a rat’s ass about my nice mail, just opened a case and send a refurbished PS4 to my door with the same issues. Sony, as your customer I already felt treated pretty inappropriately at this point.

To have a little more objective point of view I measured the noise of my running PS3 (first generation as well) and compared it to my running PS4 using an app called Sound Meter. This may not be the most accurate method, but it seemed feasible and the result is conclusive. The PS3 was running at ~60dB and the PS4 at ~70dB – which is roughly twice as loud as the PS3. I measured these numbers approx 10cm behind the machines. 60dB can be compared to a normal conversation and 70dB to busy street noise or a telephone ringing.

I complained again and got the same standard email asking for my name and such (heeeellllooo, you should already have that intel). The only thing new was a threatening sentence that I would be charged €196 in case my warranty was void. Weird. Irritating. A very bad customer’s experience. I am happy there are still no games out I really want to play so sending in the device again is just a pain, not a disaster.

The second replacement – September 30th

Today the second replacement arrived. It still has the faulty behavior. I am sooo disappointed with the PS4 and Sony in general. Fuck, I don’t know what to do any more. Right now I feel exhausted and let down, I just don’t want to keep on sending in devices. Seems I just have to live with this and tell all my friends to go Xbox.

As a customer I think this is absolutely unacceptable. Imagine buying a car with a faulty engine, you complain and get another car with the same problem. You complain again and yet get another faulty car. With the same error. Unthinkable. Case closed, but not solved. It’s absolutely sickening.

I give up – October 7th

I can’t stand to have this noisy device that always reminds me of my miserable Sony customer experience. I will try to exchange it and get a refund. There are no games yet that I want to play right now anyway. Maybe I will go SteamBox as soon as it is available. Oh no, wait, mind the early adopter’s punishment fee!

The third replacement – December 2nd

I tried to get my money back but the retailer said they know the problem and every box they sent in so far got repaired successfully. Well, I waitet a boasting 5 weeks to get my device back and the result made me cry. They keep on sending effed up systems that in no way are acceptable for a living room environment. See for yourself:

So now, I really give up. I cannot stand going back and forth with Sony. I will keep the device, play games with headphones or crank up the game’s volume to a degree where I cannot hear the fans any more. End of story, I guess, maybe until a new hardware revision will come out.

Tags: , , , , , , , ,

Cannot umount busy file system – who’s to blame?

Tuesday, February 4th, 2014 | Insights, Linux, Tech-savvy | No Comments

Use fuser and ps to identify what process/es is/are occupying the file system.

ps -lf -p $(fuser -c /mount/point 2>/dev/null)

This is an example that is in no way related to anything that has ever happened in the real world:

[user@host somefolder]$ sudo umount /media/somefolder
umount: /media/somefolder: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)
[user@host somefolder]$ ps -lf -p $(fuser -c /media/somefolder/ 2>/dev/null)
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY        TIME CMD
0 S user      5058  5054  0  80   0 - 29109 wait   09:22 pts/0      0:00 bash
[user@host somefolder]$ cd ..

lol 🙂 pebcak!

Tags: , , , , , ,

Fedora 20 / Ubuntu GNOME 13.10 Post Installation Tasks

Friday, January 24th, 2014 | Linux, Tech-savvy | Comments Off on Fedora 20 / Ubuntu GNOME 13.10 Post Installation Tasks

Again, some post installation tasks. I figure Fedora is a little bit too trigger happy on kernel updates, so I went back to go for the “default” Linux, but GNOME flavoured. Unity is not my cup of tea. It did not work as well as expected, so in the end I went back to Fedora. /etc/init.d/vboxdrv setup anybody?

› Continue reading

Tags: , , ,

HDMI colour space – a crooked bastard!

Thursday, November 7th, 2013 | Gadgets, Insights, Misc, Tech-savvy | No Comments

One would think that hooking up a device to a TV using a HDMI cable would automagically result in a perfect picture. Digital, 1080p full HD, state of the art, out-of-the-box. That’s not true. I recently encountered shitty display quality problems that originated from a faulty HDMI setup.

First, the problem: sometimes black was more like a gray matter, sometimes dark details simply vanished into sludge. I did hate my telly so much for its shitty display quality that I sold it for a few dimes and got myself a new one. But guess what, the problem persisted…

After more investigation on the matter I came across the fact, that there are different colour ranges in different HDMI standards and one handles the range from e.g. black to white from 0 to 255, the other from 16 to 235. This made me think. In case I had a mismatch of these standards, and let’s say my media player sends a lot of dark gray values that range from 0 to 16 and the receiver simply omits all these information and starts with pure black at 16, it’s natural my dark details got lost. Or, the other way around, my media player starts at 16 with pure black while my telly thinks that 16 already is a dark gray, as it starts with black being 0.

So, sending full range and displaying limited range will result in dark areas that are to light and light areas that are to dark.

Sending limited range and displaying full range will underexpose blacks and overexpose whites.

Here is an example (I simply altered the source and target colour ranges with Gimp):

Nature LimitedFull Nature Original Nature FullLimited

The differences may seem subtle (or YOUR display isn’t properly calibrated), but believe me, I love to crawl in dark dungeons on my PS3 or watch horror flicks that make heavy use of the darker parts of the colour palette. My telly looked like the picture to the right all the time and it drove me to sell it for “bad black levels” (just compare the tree’s trunk in the pictures and you will see the difference). Silly me. A perfect gradient illustrates the problem even more:

Gradient LimitedFull Gradient Original Gradient FullLimited

Now, that I have my systems set up right I enjoy using it so much more than before. So, give setting up your expensive home cinema a try, it doesn’t make sense to spend thousands of bucks on the equip and not setting it up properly.

As far as I understand the problem, as long as you have the sending and the receiving device configured the same you are good to go.

One last thought: I hate all the fancy tech shit becoming more and more “easy” to set up yet the problems that come along constantly increase. I never experienced problems with an old VCR or a Super Nintendo – that’s what I call “plug’n’play” 🙂 To set up a modern home entertainment system you need to really dig into it to do it right. Maybe I should look at it from a Dark Souls perspective. It’s a pain in the arse, but as soon as you’re done it’s very very rewarding.

Tags: , , , , , , , , ,

Automatically create genre playlists of your music collection

Sunday, March 3rd, 2013 | Linux, Tech-savvy | No Comments

This script will create playlists based on the tags of your mp3 and flac files. Prerequisites: id3v2/metaflac command line tool (sudo apt-get install id3v2 metaflac) and tagged mp3/flac files.

Note: The id3v2 command only works up to version 2.3 of the id3v2 spec (which is pretty much the default), so this script will not work on v2.4 files. It seems a lot of people still use 2.3 as 2.4 does not give a lot of advantages and 2.3 is way more compliant with mp3 playback devices. I just came across this issue because I use EasyTag for tagging and this tool writes v2.4 by default. After setting EasyTag’s prefs to v2.3 I was good to go 🙂

#!/bin/bash
 
# set extraction command chain for each file type
EXTMP3="id3v2 -l \"_FILE\" | sed -n \"s/TCON (Content type): \(.*\) (.*)/\1/p\""
EXTFLAC="metaflac --show-tag=GENRE \"_FILE\" | sed -n \"s/GENRE=\(.*\)/\1/p\""
 
# delete old playlists
rm *.m3u
 
function createPlaylist {
  while IFS= read -r -d '' FILE; do
    echo Processing \"$FILE\"
    GENRE=`eval ${2/_FILE/$FILE}`
    if [ "$GENRE" ]
      then
        echo "$FILE" >> "$GENRE.m3u"
    fi
    echo "$FILE" >> "All.m3u"
  done < <(find . -name "*.$1" -print0 | sort -z)
}
 
createPlaylist mp3 "$EXTMP3"
createPlaylist flac "$EXTFLAC"

Basically we loop over all files and extract the genre’s nice name using a file type specific chain of commands. If a genre is found the file name is appended to the playlist that is named like the genre itself. Additionally an “All” playlist is created that holds every file found, even the ones that have no genre set.

Tags: , , , , , , , ,

“fast” JIRA and Confluence setup on a small VPS

Sunday, January 6th, 2013 | Linux, Tech-savvy | 5 Comments

I recently stumbled upon my old “fast firewalling for developers with iptables” blog and also read the comment (yeah, one!) asking how to go on from here, maybe set up JIRA and Confluence from Atlassian really fast. So here we go. We will install JIRA and Confluence using MySQL as the database, allowing only HTTPS connections. Bear in mind that this is not an enterprise setup, it’s again targeted at individuals who want to run these tools in a non-critical private small VPS environment maybe to evaluate the tools or collaborate with a friend. This is going to be easy and straightforward, no fancy admin stuff, no over the top security, simply getting the stuff up and running.
› Continue reading

Tags: , , , , , , , , ,

Search

Categories