Dennis Ritchie: A Tribute to a Great Man

Dennis Ritchie

Dennis Ritchie, 1941-2011: Father of the C programming language, and co-creator of Unix.

Dennis MacAlistair Ritchie, creator of the C programming language and co-author of the famous book by the same name (a.k.a. ‘the K&R book’), much loved and respected by C programmers the world over, sadly passed away last weekend.

Before retiring in 2007, Ritchie followed in his father's footsteps by joining Bell Labs in 1967, starting a career that spanned 40 years in the field of computer science. There he contributed to the Multics project (the forerunner of Unix) and a compiler for the BCPL language, then eventually co-created the Unix operating system with Ken Thompson. During his work on Unix, Ritchie created the C Programming Language, which is now a formal ANSI and ISO standard, and is one of the most widely used programming languages of all time, currently only equalled by James Gosling's Java in popularity.

Ritchie was jointly honoured with several awards during his lifetime, along with Ken Thompson, including the Turing Award in 1983, the Hamming Medal in 1990, the (US) National Medal of Technology in 1999 and, most recently, the Japan Prize for Information and Communications in 2011.

Good Riddance Steve Jobs

iDead

Anyone reading today's headlines might be forgiven for thinking Gandhi had died ... again.

But no, it wasn't Gandhi, nor indeed anyone of even the slightest nobility. It was a patent extortionist with an apparent objection to altruism, called Steve Jobs. Even El Presidente fawned over this selfish racketeer, like he was the new messiah, or something:

Steve was among the greatest of American innovators – brave enough to think differently, bold enough to believe he could change the world, and talented enough to do it,’ the statement gushed.

High quality MPEG-4 transcoding with Mencoder

Rather than just provide a script, I've decided to present this solution as a sort of informal thesis, so hopefully it will help others to reinterpret it for their own purposes. As of 10th Dec 2011 this article is still a work in progress, so if it seems incomplete then please have patience, and come back later.

Objective: Transcode video from any source to MPEG-4 ASP (note: this is DivX 4/5, not MPEG-4 AVC/H.264), for playback on most standalone devices, keeping the file size reasonable, whilst retaining as much quality as possible, but without any regard to transcoding time or CPU utilisation. In this case I'm also going to hardsub (render subtitles directly onto the output video) a SRT subtitles file previously ripped from the source's forced subs (subtitles that only appear when foreign language is spoken, in a soundtrack that is otherwise in your locale's language). You can rip your own subtitles files using SubRip (Windows, also works under Wine) or Avidemux (multi-platform), or just download them from places like opensubtitles.org.

Note: The method used here is extremely CPU intensive, which may cause your PC to die of exhaustion, and you to die of boredom. You have been warned. :) However, the result is worth it IMHO, as the video quality is exceptional. H.264 generally produces better results at lower bitrates (or so Messiah Jobs keeps telling us), but unfortunately it's not compatible with nearly as many devices as DivX/XviD (e.g. most Smart TVs will play MPEG-4 ASP DivX/XviD files, but not MPEG-4 AVC H.264 files, mainly because H.264 is infested with a ton of nasty patents that make it difficult and expensive for manufacturers to implement). Also for compatibility reasons I've chosen the AVI 2.0 container format, and forced the FourCC from FMP4 to DX50.