Impressions: Sony WH-1000X M3

Product design

With this marking the third generation of the original WH-1000X series, Sony has positioned a strong competitor against Bose’s QC 35 II and Sennheiser’s PXC lineup in the wireless Active Noise Cancelling (ANC) headphone playing field. The minimalist aesthetics seems to have carried over from the previous generation, but we do have a new addition; silver color and brass highlights.


The carrying case sports a mesh pocket to help stow away the charging cable and aux cord, and the zipper is also finished in brass. A nice touch for sure.


Including helpful instructions is par for the course, even though most users will simply disregard anything resembling a thin booklet. Sony has ingeniously prevented this. The illustrated swipe controls are another feature that has been improved from the previous generation, by opting for the soft touch exterior instead of the textured finish.


The earcups are generously padded with a dense memory-foam like material, lined with soft synthetic leather.


Same story with the top headband padding, which seems to be filled with a less dense foam. The adjustable metal headband clicks with no visible graduations, and stays in place with little to no play. The brushed finish is another nice touch.

It seems Sony has taken note and improved upon robustness, after several reports of the headband cracking with the XM2 previously.



The interior of the case is equally as robust with 3 compartments sewn in place, for the included cables and adapter. Compact and light.




The power and ANC buttons are more pronounced and tactile, yet another notable improvement.


Overall, it is apparent that there were no expenses spared in the considerations pertaining to product design; The build is premium, feeling solid and lightweight simultaneously.

Active Noise Cancelling

Active Noise Cancelling seems to do the job well for low frequencies, and there is no noticeable strange sensation on the ears. There is a very faint pink noise in the background while ANC is on but I wouldn’t say it is too noticeable.

I found the ambient sound mode particularly interesting as it emulated the sound stage of an open-back headphone (comparable to my AKG K7XXs). Though it must be said that a white noise can be heard while this mode is turned on.

Battery and other notes

The value proposition is clear as printed on the box: a lightweight, portable wireless headphone claiming 30hr of battery life, with fast charge providing 5h of playtime in 10 mins.


I have yet to test the 30hr claim but will try to provide daily usage results. Fast charge seems to work; going from 40% to 60% in a matter of minutes.

It goes without saying that NFC makes pairing a cinch with phones. Gone are the days of fiddly Bluetooth pairing processes and entering 0000.

A remark, while it might already be obvious, is that these headphones are not waterproof, given that it has multiple microphone ports and an opening in each earcup.

Listening tests

My first impression was that the bass packed quite a punch; coming from my otherwise quite neutral sounding AKG K7XXs this was immediate. It comes to no surprise as Sony’s audio products are well known for being bass cannons (after looking at SRS-X33 speakers for instance).

Upon further listening it is impressive that the 40mm drivers are able to reproduce certain details in the music quite clearly, providing an almost new experience to certain songs. It’d be even better if there was a customizable EQ profile.

Coming soon! I’ll be listening to a number of genres and comparing them against my AKG K7XXs and possibly my IM02s.

Must-know shell tools

This guide is for those who have gotten a basic grasp of the bash shell in modern *nix systems: You’ve already learned how to echo “Hello World” in a script and make your way around the filesystem with cd, ls, mv, mkdir, chmod and chown… You have also used ‘vi'(m) somewhat and know a few shortcuts by now.

Whether you’ll be doing any sysadmin, DevOps, or software deployment/ development with *nix boxes, it would be beneficial to pick these up sooner than later. The good news is, these tools are somewhat widely used and there usually exist answers to most issues encountered when using them. With that said, I shall present them in the order from most to least important in terms of aiding productivity in my opinion.

Man pages are linked in each section title.



Short for “terminal multiplexer”, it is perhaps the best command line tool for making the best use of screen real estate.

tmux within cool-retro-term;  boost productivity with style

Not only is tmux’s tiling system infinitely configurable with panes, but it also doubles as a workspace switcher by having multiple “detachable” sessions. Naturally, this means the usage of ‘nohup’ or ‘disown’ for long running background jobs can be supplanted by simply running them in tmux, and not have to worry about losing the session. You may have heard of GNU Screen which was the first popular terminal multiplexer; tmux a the more modern version with more customization (now there is also byobu).

Here’s a handy cheatsheet for those bindings.



Need to copy a large number files (or huge files) to another directory, but don’t need to overwrite existing ones in the destination?


Rsync will save you time and bandwidth, by computing the deltas (the differences) between source and destination, then only copying over the necessitated changes.
Spotty connection? Rsync has your back; enabling the ‘-P’ option allows it to use partial files, allowing transfers to resume from where it left off in the event of an interruption. In short, it’s a faster, smarter, more efficient version of cp/scp.

For transferring heaps of tiny files however, it has been proven that tar over ssh works better.

On the Windows side, robocopy offers similar functionality.


/wäCH, wôCH/

This utility does exactly what it says on the label, and continuously monitors command line output. Usage is as simple as specifying a frequency to issue the command (every ‘n’ seconds), with additional flags like ‘-d’ to highlight new changes since the last command was issued. Give it a try!

// Monitor Downloads continuously!
watch -n 1 ls -la ~/Downloads

// Highlight output changes!
watch -n 2 -d "ps aux | grep java"

Use cases could range from simple tasks like monitoring a directory or file sizes, to automating tasks like scraping web resources.



At some point you’ll have used pipes for inter-process communication, namely plugging  an stdout into another stdin. The ‘tee’ command is named aptly after the plumbing fitting and when used, allows one to redirect the flow of information to multiple destinations in a pipeline:

// Write to logfile while seeing output! 
ls | tee –a file

// make n copies of a file!
tee < file.copy1 file.copy2 [file.copyn] > /dev/null

// perform backup of remote directory!
ssh -i $PRIVATEKEY $HOST -C 'cd $SOURCE; tar -cz --numeric-owner .' | tee $DESTINATION/backup.tgz | tar -tz



Also crontabs; the basic scheduling system with an easy to understand syntax:

Specify when, how often, and what to run. Easy. (Source: Wikipedia)

Possibilities are left up to the user’s imagination, here are few to begin with:
– Do a monthly tar backup, weekly for important stuff!
– Pull the latest source code from remote every morning
– Run your vulnerability scanner/ AIDE every week!
– Rotate or delete logs to free disk space
– Post memes hourly with a twitterbot???

Needless to say, it’s a powerful a utility and should definitely be in every sysadmin’s arsenal. It is also an essential tool in automation applications such as Jenkins.



fdisk, gdisk, and parted

/ˈefdisk/, /ˈdʒdisk/, /pärted/


These are the two most common disk and partition management tools, but have their own use cases: Generally, ‘fdisk’ is suitable for disks smaller than 2TB or MBR partitions, while ‘parted’ can be used for > 2TB disks due to its support for GPT.

‘fdisk’ has its roots in the DOS days, hence operates on cylinders. While modern systems no longer use CHS addressing, some still vouch for fdisk having “better interactivity” compared to ‘parted’.

Enter ‘gdisk’, which automatically converts from the legacy MBR to the new GPT, and also allows manipulation of both GPT partitions in an interactive menu like fdisk.

Moving forward, it seems ‘parted’ has succeeded ‘fdisk’ as the default partitioning tool on most modern OSes (RHEL6 for instance), likely to maximize compatibility with big drives. So to start with, one can’t go wrong with learning ‘parted’.

The keen listener

We enjoy music in our everyday lives, and subscribe to our favorite artists. Many listen for leisure, but few listen for hidden meanings in lyrics, and so forth. Recently I’ve come across a rather interesting method that an artist, known as Camellia, used to hide Easter eggs in their work; turning their album (Welcome to the Cyphisonia) into a great cryptic puzzle for listeners to solve. Each song however, has no lyrics.

Without words there are no meaning right? We’ll find out soon…

Perhaps the most straightforward way to encode a message is through the time domain. This is trivially done with a distinct sequence of tones, such as Morse code, an audio visualizer aids the decoding of such a hidden message. The artist does this in several of his tracks:


The top two rows are a sequence of dots and dashes!


This decodes into “WZEUKYVIVCZTFWTPGYZJFEZR.AG” in Morse, which the keen-eyed will have recognized as a certain pattern of text, encoded with a relatively simple cipher. I’ll leave the rest for you to find out.

Another method as one might guess is to store a message in the frequency domain. This however will require a spectrum analyzer of some sort, as opposed to the previous method where a trained human will be able to discern a pattern in the audio; The typical range of frequency (of audio) that a human is able to hear is from 20 Hz – 20 kHz, as such most transducers (headphones, monitors) produced for the purpose of audio reproduction will be able to accurately represent signals in this range. Anything above or below will be unheard, but that doesn’t mean information can’t be encoded by digital signals outside this range. An analog, no pun intended, would be encoding information in radio waves (with wavelengths of several mm to 100s of km) in the electromagnetic spectrum, which would be unseen by the naked eye.

Back on track, this is where a spectrum analyzer will help “decode” the message:

A message is seen in the spectrum visualizer of foobar2000 during playback

While the human readable message is seen on this visualizer (x axis representing time and y axis the amplitude, taking the log scale of frequency in Hz), the listener will only be able to hear screeches and random noise. The visualizer performs a Fast Fourier Transform (FFT) on the audio signal to represent it visually.

There are many tools like Photoshop that will help convert text or bitmap images into frequency information as seen above, which can then be mixed into music. It is likely that this paper is the first to introduce such an idea:

In fact, using this information encoded in the frequency domain is the premise of how music recognition services (Shazam) works, by pattern matching a “fingerprint” of the sampled music to the correct track that the user wants to know, which involves much machine learning.

As for the hidden messages in the album, those who successfully deciphered the clues and pieced together the puzzle were rewarded with bonus tracks, that could be downloaded for free.

While this technique might already be obvious, and that it’s old news for those who have an advanced understanding of signals processing, Fourier Transforms and such, I thought it was just something cool to share.

Just keep on looking and you might find something interesting in seemingly normal things.