view in plain text or web browser  
Tech Tails | Apple news straight from the Tech Room | | 800-511-MACS
#789: RIP Dennis Ritchie, Batch Video Conversion with Handbrake, Do You Remember Your Password?


Happy Tuesday,

A few days of rain and heavy winds took most of what remained of fall’s foliage. Pumpkins and squash are everywhere, and a house redolent of long-simmered beef stew made the cool weekend enjoyable. Fall is my favorite time of year, and Owen and I took advantage of a break in the rain yesterday to hike around the Mad River Valley—in bright-orange reflective gear, of course.

Don is in Hong Kong and China visiting the factories and people who manufacture items for Hammerhead and Chill Pill. Keep an eye on our sister sites for exciting new offerings in the coming weeks and months!

We’re experiencing the mid-semester slow times in the South Burlington tech room. It seems many students put off repair of tolerable problems through exam times, flocking to the store for repairs and other services once exams are over. If you’ve been waiting to bring your computer in for repairs, now is the quickest time of the year to do it!

As always, thanks for reading, and keep in touch.


  RIP Dennis Ritchie  

The outpouring of praise and tributes for Steve Jobs this past week was really something to see and was well deserved. He was a true innovator and bold entrepreneur who had a huge influence on the development of our modern digital world and how we interact with it. However, all the focus on Steve Jobs made it easy to miss the news that another incredible genius passed this week, one who arguably had a bigger influence on the world than Steve Jobs did.

In the early 1970s a man named Dennis Ritchie invented a programming language he called C, and it is possibly the most important thing ever invented in the computing world besides the computer itself. C is a programming language first developed for the Unix operating system (which Ritchie helped develop), and now C and Unix form the basis of almost everything we do with computers. The Internet basically runs on Web servers and routers using Unix written in C (or Java or C++, which are based on C).

Mac OS X is a Unix-based operating system, a direct descendant of the operating system and programming language Dennis Ritchie brought to life, as is iOS, the mobile Apple OS that runs the iPad, iPod touch and iPhone. Even Windows was written in C at one point. Steve Jobs and any number of other developers stand on the shoulders of this quiet man who worked behind the scenes yet was one of, if not the most influential person in computing. It’s not an exaggeration to say the world as we know it today would not exist without Dennis Ritchie’s work. He passed away this week at the age of 70 after a long illness.

Ritchie worked at Bell Telephone Labs like his father before him. Bell Labs of the 20th century was one of the most creative technological research and development facilities anywhere ever, and its inventions and personnel have shaped the world we live in. Among a long list of Bell Labs’ accomplishments in pure research and practical applications is the development of the transistor by three Bell researchers, probably the most important invention to ever come out of Bell.

The transistor changed the world. It let us move away from vacuum tubes as components in electronic devices and let us start making things smaller, cooler, more portable and more powerful. It made modern electronics possible. One of those employees who developed the transistor left Bell and in 1956 formed his own company in a little town that would become known as Silicon Valley. Employees who split off from his company formed some of the most successful tech companies of all time, including Fairchild, AMD and Intel. The phone company may not seem too exciting, but Bell cultivated a culture of research and innovation that let brilliant minds have their way and produced brilliant results.

It is in this culture of not only innovation, inventiveness and technology but also practicality where Ritchie worked on developing operating systems in the computer sciences division of Bell Labs. He and several colleagues developed Unix in the late ’60s. Like most operating systems of the time, it was written in assembly language. Assembly language is a low-level programming language. It is actually the abstraction level just above programming in machine code, which is programming by directly addressing what happens to single bits of data in memory or call stacks, or in what order these single operations are to happen. In assembly language, something that might take dozens of lines of machine code can be expressed in a few lines, and so on up through abstraction levels. The higher the level of programming, the more powerful and involved the commands can be and the more abstracted from the machine code they are.

Of course higher-level programming is the standard today; if it wasn’t, there wouldn’t, for instance, be people designing apps for the App Store. Creating even the simplest apps we use today would involve monumental amounts of design and labor if each were created at the assembly-language level. In the era during which Ritchie worked, most engineers felt that low-level programming was the way to go. It provided an extreme level of control over the machines of the time. Higher-level programming languages tended to not use resources efficiently, and that was a huge driving paradigm then. To put this in context, you have to remember what that time was like. No iMacs or PCs in people’s homes because they didn’t exist. No Internet. No i-Anything. No slick user interfaces. Computers were mostly huge things guys in white coats with advanced degrees worked with.

After working for a couple of years with the Unix he had developed, Ritchie found he needed a better way to program different builds of it. One of the drawbacks of low-level programming is that it gets more platform-specific as you get closer to machine language. At that lowest level the programming is written for the specific processors and memory architecture used in the machine. The result is that, at low levels, if you want to move an OS to a different machine and be able to program it, then that OS needs to be completely rewritten to interface with that machine’s hardware—a complex and time-consuming task to say the least. Ritchie decided to develop a higher-level language that would overcome this hurdle and make Unix a portable operating system. Over the next few years he developed C and the rest is history. Unix and C could be ported to almost any hardware with ease, and C was the software that made it happen and then let people start really programming.

The other part of the equation that made C spread so quickly was that AT&T at the time was not allowed to sell computer products including software due to antitrust agreements, and they were required to license anything they developed in the field to anyone who asked. So in a very short time this powerful portable language was in the hands of thousands of people in universities and companies, all exploring its capabilities and developing software with it. And here we are forty years later and C or one of its variants powers our digital world. C and its variants run everything from the smallest handheld devices and system hardware like routers right up to supercomputers, and everything in between. Steve Jobs gave us ways to interact with the digital world that are elegant and visionary. Dennis Ritchie’s C built that world in the first place.

  Batch Video Conversion with Handbrake  

I often get a folder full of videos of my niece from my family. They live out in Arizona, so I don’t get to see them regularly; these videos are often the only way I can watch my niece grow up. The problem is that they’re always saved as .avi files, which aren’t compatible with iTunes. This makes it difficult to watch them on my television through my Apple TV.

The application Handbrake will easily convert them (and most other videos) to the proper format, but Handbrake has no way to batch convert them. The only way to do it is to manually load each individual movie into the queue. This can be time consuming if you have a large amount of files to convert. I recently discovered that Handbrake has a command line version of the software that you can use with AppleScript to automate all of its functions.

After some searching, I found a Mac user who wrote an AppleScript that will monitor a specific folder looking for things to convert. His script is set up to watch for .avi and .mkv videos and will convert them using a special preset. I’ve modified the script so that it watches the folder I want it to and uses the Normal preset within Handbrake. I also have it set up to not play nice with my system and instead use every scrap of processing power to convert the video. Needless to say, I only run it when I don’t need my computer, but the videos will convert faster. With a little patience and some Googling, you should have no problem modifying it to suit your needs.

You’ll need to have the command line utility of Handbrake installed in your Applications folder for this to work. If you run the script as an application, you’ll have no notification of when it’s done other than the script disappearing from the dock. You can download his AppleScript by clicking here. He has links to all the required components on his website as well.

I’ve loved Handbrake since I found the program—this handy script just made it even better.

  Do You Remember Your Password?  

In the early days of OS X, a lost password was a significant issue. Before the introduction of the Mirrored Door Drive Power Mac and machines shipping with OS X as the default boot system, should you forget your password you had significant problems. When Macs first shipped with OS X as the default boot volume, Apple added to the install media an application that would allow you to change a user’s password.

With the launch of Lion, we are faced with a similar issue. Lion machines come with no physical media. All units with Lion on them are configured with a recovery partition on the hard drive that includes few options. If you are having an issue with your Mac, you can use this partition to boot the unit and launch Disk Utility, the network-based installer, Safari and a few other options. Missing from the recovery boot is the password reset utility.

So if you forget your admin password, how do you change it? In all versions of OS X once a User has been created, a file called .AppleSetupDone appears and is located in /var/db. If you boot the machine to single user mode by holding down command key and the letter ‘S’, you can mount the file system and remove this file.

Power the unit holding down command key and ‘S’
type mount -uw /
Change directory, cd /var/db
Remove the file, rm .AppleSetupdone
Exit single by either typing exit or restart with reboot.

When the system restarts you will run through the entire setup as if the unit was brand new. Creating a new user account will give you access to the machine as an administrator.

After creating this new user account, you will be able to open System Preferences and select Groups and Users. Then, after unlocking the the Preference Pane, select the User account you wish to change the password for and select Reset Password. As always, when you change the password for a User, whether it be with the Password Utility from install media or via this route, make sure you rebuild the keychain. You will have to authenticate for each service as you launch it until the new password is in your new keychain.

  TT SPECIALS | 10/18/11 - 10/25/11  
   MacBook Pro 13in 2.3GHz i5 4GB/320GB, AppleCare + Free Sleeve!
   Buy 1 PDO iPod touch 4G case and Get the PDO Uno Mobile Power Pack Free! (Value $24.99!)
   iMac 21.5in 2.5GHz i5 4GB/500GB/6750M + AppleCare--Save $20!
   MacBook Air 13in 1.7GHz i5 4GB/128GB, AppleCare + Free Sleeve!
   Sierra Sound iN Studio 4.0 Smart Speakers - Reduced from $199.99! No rain Checks - While qtys last!
   MacBook Pro 15in 2.2GHz i7 4GB/750GB, AppleCare + Free Sleeve!