↓ Twitter is updated more often, so read it! ↓

VLC 1.1.0 released with GPU decoding

VLC 1.1.0 was just released few hours ago. VLC is a fantastic media player and I use it on all of the operating systems I use (Ubuntu Linux, Mac OS X, Windows 7). It’ll play just about any format and do it wonderfully. It’s easier to use than Rhythmbox, Quicktime, or Windows Media Player for watching movies or iTunes for quick listening of an audio file.

Anyway, among new features are VP8 support (Google’s newly open sourced video format), lossless MPEG-4 support, AMR-NB support for audio in cellphone video, CDDB/CDTEXT on Windows when listening to CDs, and lots more.

A big feature in this release of VLC is the ability to decode video using the computer’s graphics card. You’ll need an nVidia graphics card to really benefit from it, though.

I decided to give it a quick test myself before upgrading from VLC 1.0.5 on my Windows 7 box. I played back a 720p HD rip of Adventureland and Back to the Future 3. Both were encoded with 23.97 fps H264 for video. Adventureland used DTSfor audio, while Back to the Future 3 used a52. I watched about 5 minutes of each and watched the Task Manager. For both movies, the CPU usage stayed between 15% and 30%, while memory usage stayed around 92,000 kilobytes.

Then, I upgraded to VLC 1.1.0 and enabled GPU support in the preferences. I watched the same parts. Both videos used the slightly less CPU, but less memory.

“What gives?” I thought. So, I did some research. I found the wiki article on VLC GPU Decoding and found that a video card using VP2 or newer is required. There’s a link to a table on Wikipedia showing the version of PureVideo support in each video card. Unfortunately, my 8800 GTX doesn’t support VP2.

Oh well, I guess I get to wait for the next video card I buy. However, if you own a video card made in the last 3 years, you probably have support for it, so go forth and enjoy low CPU usage when you’re watching videos.

13″ MacBook Pro: I choose you

A month ago, I mused purchasing a 13″ MacBook Pro. My primary reasons for considering the MBP were the freedom of OS choice, “seeing what all the fuss is about,” premium hardware for just a couple hundred dollars more, excellent customer support, and a healthy dose of nostalgia.

Approximately a week after writing the post, a friend let me know of a rare deal: a friend of his who just so happens to be an Apple authorized reseller was in jeopardy of losing her authorization because her sales were really low. In order to meet her goal, she was selling Apple hardware at cost. You can’t beat cost! Combine that ~$300 savings with putting the purchase on a credit card with excellent rewards, and it would put me over the edge of my reward amount needed to get myself with a free flight worth about $400.

So, I bought a stock mid-level 13″ MacBook Pro, the one with a 2.53 GHz Core2Duo, 4 GB of DDR3, and a 250 GB HDD. I did get AppleCare and a remote, although the remote was backordered and mysteriously hasn’t arrived yet (should hear why on Monday).

My thoughts?

Summary

I’ll never go back. Apple has a solid hardware product with bells and whistles which themselves make me glad I bought it, plus a slick operating system which appeases my desire for an easy-to-use, on-the-go environment.

TL;DR version

and it had been on for ~20 minutes

and it had been on for ~20 minutes

Hardware. Seven hours of battery life. Seriously. I got right around that many hours the day I took this screenshot about a week after I bought it. The multitouch touchpad with its gestures are amazing and have seriously changed how I use a touchpad–even more once I enabled tap-to-click I miss them when I use a non-Mac laptop. The magnetic power cord connector should be on every computer: it’s saved my ass twice now. The graphics card is enough to handle Left4Dead with most of the settings on medium, and it’ll certainly handle the older games and casual games I tend to play more often these days. The screen color is amazing and the keyboard is the most welcoming keyboard I’ve ever used. This is the first line of Mac laptops with an SD card reader, and that’s indispensable for me these days with the dog show photography I’ve been doing.

Downsides? I’m not too hot about the non-removable battery, but I’ve never needed a second battery even on my old Averatec which had approximately two hours of battery life. Apple made a data-driven design decision when choosing this path. I’ve not heard many complains except from people who are resistant to change. Folks who really need another battery can suffice for the hour-long charge time while plugged into something like a HyperMac battery. I also wish it had a real microphone port, but how often do I actually use a microphone? Never. The built-in mic is sufficient for almost everything I’d ever use it for. I’m also not too hot about the lack of a DVI or HDMI port and a mini-Displayport instead, but it’s another data-driven design decision and technically Displayport is a better standard for video. I ordered an adapter from Amazon; it’ll arrive this week.

Software. Mac OS X isn’t new to me. I used 10.5 on Jon’s Macbook when I borrowed it for a few months last year, and used 10.1 back in high school. It’s not a huge adjustment for me, so I’ll not go over such nuances. However, there are a few things I must highlight, primarily so that Linux folks like myself can mirror these features in Ubuntu, Fedora, and the like.

Time Machine is indispensible. I configured Time Machine to work with my QNAP NAS and it backs up regularly. The whole system! Efficiently! Recoverably! With an excellent interface for both setup and browsing and recovery. rdiff-backup pulls this off on Linux, but there’s no “don’t make me thing” GUI for it like there is for Time Machine.

Drag-and-drop installation of programs has always been one of my favorite things about OSX. No complicated installer program with click-through EULAs, no broken packages or forced upgrades. Sure, the packages are larger because of universal binaries and statically linked libraries, but I’d rather take up another 10 MB if it means I can simply drop an icon in a directory to install it, or move it to the recycle bin to remove it. I’ve been using iUseThis to track my used programs and combining it with AppFresh for version updates.

OSX is just Unix-y enough for a lot of the stuff I do. MacPorts gives me access to a lot of utilities, especially Synergy, which allows me to use the mouse and keyboard of one computer on another via a network connection. I’ve also used it for up-to-date Python and other scripting and development tools. I use Visor to give me a drop-down, Quake-style terminal in which I do lots of command line stuff, primarily via an SSH connection to one of my many Linux computers.

Perhaps one of the most care-free benefits of OSX for me is painless hibernate, sleep, and suspend. I can shut the lid and forget about it. I’ve rebooted the Mac maybe thrice in the month I’ve had it (outside of OSX updates). I’ve never seen Linux or Windows hibernate/suspend working this well on any hardware.

Downsides? There aren’t many. Sometimes I get frustrated when I can’t find an OSX analogue for a Linux program I’ve used. I have yet to find a decent microblogging client which I like as much as Gwibber on Linux. Despite being written in the highly-portable Python language, Gwibber depends on a few things that OSX just doesn’t provide. I’ve tried Tweetdeck, Nambu, Spry, and a host of others, but just can’t find the feature set I want (eveything most clients have, plus Identica, Facebook, and Flickr plugins). Twirl comes the closest, so I’ve been using it. Eventbox is showing promise as it becomes Socialite, but I’ve yet to actually see it in action.

I’ll eventually get around to trying out Virtualbox‘s 3D acceleration for some Windows games, or Wine and WineBottler for some others.

A major problem I have with my OS choices is that I like to tinker. OSX gives me the freedom to tinker with a lot of things, but its defaults suffice for almost everything. I think it’ll be more difficult for me to screw up OSX than it is for me to screw up Linux or Windows.

TL;DR summary:

I’m pleased with my purchase and haven’t had the buyer’s remorse I’ve had sometimes when making such a giant purchase. The MacBook Pro laptop was designed with both low-level and power users in mind, and I highly appreciate it. It’s just enough to not be too much.

Wither MacBook Pro, or not?

For some time, I’ve been considering buying a new laptop computer. I’ve been primarily considering a 13″ MacBook Pro with a 2.53 GHz Core 2 Duo processor, 4 GB of RAM, a 250 GB hard drive, and all of the fixins that come with it. I’d be adding only the Apple Remote and possibly the AppleCare extended warranty.

Why a Mac? Primarily, freedom of choice. If I buy a standard Windows, Linux, or OS-less computer, it’s unlikely that it will run Mac OS X as a Hackintosh. Mac laptops will run Mac OS X, Windows, and (Ubuntu) Linux. Running all three OSes gives me the widest choice of what tool I want to use for a particular task. I imagine that I’ll be using Mac OS X most of the time, switching to Windows for gaming on the go, and using Ubuntu in a VirtualBox, VMWare, or Parallels virtual machine when I need my Linux fix. I’m a software developer, so having access to the emerging mobile market (iPhone development with Xcode, Android development with Eclipse) as well as the established markets (system and web development) is important.

I’m a desktop Ubuntu user and prefer it for my day-to-day usage. I’m open to the idea of seeing what Mac OS X has to offer, but I’ll still have my desktop around for normal usage. I’ve been without a regular laptop for nearly 8 months (been using my XO every now and then), and I hadn’t really missed it until I started working at Vivísimo. It could be peer pressure (I’d estimate that half of the company uses Macs for development, system and web), or it could be seeing a lot of people very happy with their choice.

There’s also a bit of nostalgia in going back to Mac. I used Mac OS from 7.0 until 9.0, then briefly used OS X 10.1 at the end of high school, followed by some OS X 10.5 on a 13″ MacBook earlier this year.

Also, I compared the hardware, and for similar specs, the MacBook is only $100-$200 more compared to most offerings from MSI, ASUS, Dell, Lenovo, and HP at NewEgg, Amazon, and the like. This is a sizeable but understandable difference for the quality of hardware and, most of all, quality of customer support.

The biggest problem for me is simply figuring out where to buy it. I’m cautiously arranging for this purchase in my finances, and I think I’ll be ready before the end of September. I made this chart to show potential places I could purchase it.

MacBook Pro 13″ 2.53 GHz (MB991LL/A)

stock + remote + applecare
Location Price w/o AC Price with AC
Apple (new) $1518 $1767
Apple (edu) $1418 $1601
Apple (refurb) $1319 $1569
Buy.com $1518 $1767
Amazon $1494 $1680
MacMall * $1412 $1662
  • AppleCare for this can be had on eBay for $124. There are likely other auctions, as well.
  • I’m miffed I missed the iPod Touch for Students deal. Could have used/sold it for $200.

The cheapest option seems to be Apple refurbished plus the $124 AppleCare plan from eBay. I’m also considering the MacMall sans AppleCare, as it includes Parallels for free after rebate. Currently, I see it like this: Apple (refurb) > MacMall > Apple (edu) > Amazon > Apple (new) > Buy.com. I have no qualms about refurbished things–they’re good as new most of the time, and I’ll have a hard shell on this within a month of purchasing it.

I’m wary of AppleCare, though, but I see its usefulness. I got a five year warranty on my Dell monitor in 2006 and I’ve used it three times already. I plan to replace the 250 GB hard drive which comes with the MBP 13″ with a 128 GB SSD I can get on the super cheap. I don’t really have a need for a ton of hard drive space, even with three OSes installed. I can stream my music, and my pictures will remain on my desktop. I have a VPN into my FiOS-connected apartment, so remotely accessing things on my NAS or desktop wouldn’t be an issue. I’d see faster boots and faster loads, plus some battery life savings.

The downside–the primary reason I mention this–is that, if I mess up when installing the SSD (unlikely), I void the warranty. An ill-informed Apple Genius tried to convince me that simply opening the back voids the warranty, but he is sorely mistaken. Replacing the insides of a MacBook Pro does not void the warranty based on the simple action of replacing them. One must really screw up something and Apple must prove that the replacement screwed up other things (hard to prove!).

I’ll likely up the memory when DDR3 prices come down, too.

So, Internet friends, readers, countrymen, I ask you this: talk me out of this, or talk me into it. I need a decently powered, long life battery-ed, light gaming capable, webcam having, OSX/Windows/Ubuntu capable laptop for cheaper than the above. Bonus points for benefits and drawbacks of AppleCare, as most folks to whom I’ve spoken haven’t gotten it based on cost alone.

Keep the fanboyism to a minimum, please, and do be constructively critical.

HOWTO: Add CACert Root Certificates to Chromium

CACert Logo + Chromium Logo

I’ve recently begun using Chromium for most of my day-to-day browsing tasks. It recently gained support for Adobe Flash and other plugins. I’ll be excited to when it picks up Java, as well—then I’ll have little reason to use Firefox except for development. I’ve enjoyed watching the daily builds go from a virtually a crash-on-click shell to the wonderfully quick tool I’m using right now to type this post.

However, I’m a CACert user (and assurer!) and have several sites and/or utilities which rely on CACert-issued free SSL certificates.

Chromium on Linux doesn’t have its own certificate management system, but instead uses Mozilla’s Network Security Services (NSS) Public Key Infrastructure (PKI). The LinuxCertManagement article on Chromium’s wiki gives some instructions on how to import certificates.

I’ve reproduced these instructions for Ubuntu with some of my own additions below.

sudo apt-get install libnss3-tools
wget http://www.cacert.org/certs/root.crt
wget http://www.cacert.org/certs/class3.crt
certutil -d sql:$HOME/.pki/nssdb -A -t "TCu,Cu,Tuw" -n "CACert Class 1 Root Certificate" -i root.crt
certutil -d sql:$HOME/.pki/nssdb -A -t "TCu,Cu,Tuw" -n "CACert Class 3 Root Certificate" -i class3.crt
rm root.crt class3.crt

You’ll now be able to log in to sites using CACert SSL certificates without needing to click through the red screen of hate.

Note that as of the daily build for August 11, 2009, it is not yet possible to accept and/or present a certificate for use with certificate login. Hopefully, this won’t be too far off. Fortunately, I don’t use this login style very often.

HOWTO: Install Gears on 64-bit Linux

I recently noticed that WordPress added support for Gears, as have a few other sites, including ZohoOffice and MySpace.

Gears is essentially offline storage for rich Internet application data. GoogleOS has a list of Gears-enabled sites/applications. Read more on Gears at Wikipedia.

Much to my dismay, the only officially-available Firefox extension supports only 32-bit operating systems. I’m a 64-bit Linux user. Specifically, I use Ubuntu 8.10 Intrepid with my ASUS M3A32-MVP motherboard and 8 GB of DDR2 RAM (4GB of Geil and 4 GB of OCZ).

Fortunately, Gears is an open source project and one intrepid developer made a Gears Firefox extension package which supports 64-bit Linux.

I downloaded and installed the package by dragging and dropping it onto the Firefox Addons dialog, then restarting Firefox when prompted. I archived the Gears extension package on my own site in the event the package is suddenly no longer available. Be sure to check for new versions though, since this package may be out of date if you’re reading this post more than a few days after publication (though unlikely).

Huzzah for open source.

Adobe releases Flash 10 beta for Windows, Mac OS X, and Linux

Adobe released today beta packages for the upcoming version of its Flash player. The Flash 10 packages are available for download at Adobe Labs. Users have reported a serious speed increase and far less CPU usage, as much a 20% less. Check out the Flash 10 release notes for more information.

There is an RPM and a tar.gz for we Linux folks. Red Hat and Fedora users are fine with the RPM, but Ubuntu users will have a little more to do. Download the Flash 10 tar.gz, then continue.

Iinstalling it is easy. If you’re running 32-bit Ubuntu, simply make sure that flashplugin-nonfree is installed and copy the libflashplayer.so file in the tar.gz to .mozilla/plugins or to /usr/lib/flashplugin-nonfree. If you’re using 64-bit Ubuntu like I am, then you’ll have to do the latter and run nspluginwrapper -i /usr/lib/flashplugin-nonfree/libflashplayer.so to relink everything.

This release is on the heels of the recent announcement of the Open Screen Project, a project aims to put Flash on basically everything by opening up many of the workings of the proprietary format. To begin, Adobe will “[lift] restrictions on use of the SWF and FLV/F4V specifications, publish the device porting layer APIs for Adobe Flash Player, publish the Adobe Flash Cast protocol and the AMF protocol for robust data services, and [lift] licensing fees, making next major releases of Adobe Flash Player and Adobe AIR for devices free.”

HOWTO Add btnx repository to sources

Olli Salonen made a PPA on Launchpad yesterday, following my request for btnx in a PPA.

There are two ways to get the repository configured: the GUI way and the command line way. I think the command line way is a little quicker, but I’ll give you both. Remember, if you are not running Hardy, you will need to change all instances of hardy throughout these instructions to feisty or gutsy, whichever you are using. Olli did packages for all three versions. If you don’t know which you’re running, go to System > About Ubuntu and read the window that spawns. Your version will be in there somewhere.

First the command line way.

echo -e "deb http://ppa.launchpad.net/daou/ubuntu hardy main\ndeb-src http://ppa.launchpad.net/daou/ubuntu hardy main" | sudo tee /etc/apt/sources.list.d/btnx.list
sudo apt-get update && sudo apt-get install btnx btnx-config

Then, I’d recommend using btnx-config from Applications > System Tools > btnx to configure the tool. You could also do gksu btnx-config at the command line to bring it up.

Next, the GUI way.

If you already have btnx installed, go to System > Administration > Software Sources. Go to the Third Party Software tab. Click +Add and paste the line for each of the two APT lines: deb http://ppa.launchpad.net/daou/ubuntu hardy main and deb-src http://ppa.launchpad.net/daou/ubuntu hardy main. When you click Close, it will ask if you want to reload the sources. Confirm the reload.

If you do not already have btnx installed, go to System > Administration > Synaptic Package Manager. Go to Settings > Repositories and follow the above instructions. One the list finishes reloading, Search for “btnx” and the two packages will be shown in the main screen. Click each to mark it for installation, then click Apply. When it’s finished, you can access btnx-config through Applications > System Tools > btnx from the top panel.

Check out my prior updates on btnx for more information, including how to compile btnx and btnx-config from source.

Update on btnx HOWTO

Olli Salonen, author of btnx, has released new versions of btnx and btnx-config, along with debs for Ubuntu 64-bit. While they’ve been officially tested on Gutsy, I’m using them on Hardy without a problem. Now, Olli or someone just needs to get these into a PPA on Launchpad or get them added to the repos for 8.04.1.

Se vi parolas esperantan linvgon, bonvolu helpas traduki btnx-on ĉe Launchpad! Iru kaj traduku btnx-config! Mi komencis traduki, sed ĝi estas granda projekto por unu persono.

I originally posted instructions on how to compile from source in the article HOWTO Install btnx for better mouse control in Ubuntu Hardy. If you want to continue to compile it yourself, simply switch to the newest tag using subversion and recompile.

cd btnx-0.4.9
svn sw http://svn.ollisalonen.com/btnx/tags/btnx-0.4.10/
./configure && make && sudo make install
cd ../btnx-config-0.4.8
svn sw http://svn.ollisalonen.com/btnx-config/tags/btnx-config-0.4.9/
./configure && make && sudo make install

Now might be a good time to rename those directories, dropping the version numbers, or check out the source to a different directory.

HOWTO Install btnx for better mouse control in Ubuntu Hardy

When I installed Hardy, I forgot to copy my awesome xorg.conf which held the configuration to enable all 12 buttons of my Logitech MX1000.

Lo and behold, a new method of configuring it has come about, albeit it was around prior to Gutsy.

btnx is the work of Olli Salonen. The program runs as a daemon, catching mouse events and turning them into either key presses or proper mouse events which the system can interpret. This eases the configuration one must do in order to enjoy the full potential of the high-end Logitech mice—a potential which, in my opinion, Windows cannot reach.

The installation process for btnx is pretty easy.

First, I replaced the mouse section of my /etc/X11/xorg.conf with this section. This may not be necessary, but I did it before discovering btnx.

Section "InputDevice"
        Identifier      "Logitech MX1000"
        Driver          "evdev"
        Option          "Name"          "Logitech USB RECEIVER"
        Option          "HWHEELRelativeAxisButtons" "7 6"
EndSection

Next, open a terminal and cd to the location where you keep your sources. I keep mine in ~/Source. This next section prepares the libraries required to build btnx and its support program, btnx-config, as well as subversion if you don’t already have it installed. I prefer to use subversion and checkout tags if they are available. It makes switching to a new version just a svn sw away. Last, it checks out the source for the two programs.

sudo apt-get install subversion libgtk2.0-dev libglade2-dev libdaemon-dev
svn co http://svn.ollisalonen.com/btnx/tags/btnx-0.4.9/
svn co http://svn.ollisalonen.com/btnx-config/tags/btnx-config-0.4.8/

Next, do a simple cm&smi for each program.

cd btnx-0.4.9
./configure && make && sudo make install
cd ../btnx-config-0.4.8
./configure && make && sudo make install

Now that both programs are installed, you must first configure btnx using btnx-config. Start it as root using the command below or go to Applications > System Tools > btnx. Click “Detect Mouse and Buttons”. You’ll probably be able to figure it out from there.

gksu btnx-config

I have the middle thumb button on my MX1000 configured to activate the Rotate Cube plugin of Compiz. I have it configured as Button10 in Compiz and BUTTON_9 in btnx. Remeber: Compiz and many other programs start counting buttons at 1, but btnx starts at 0.

Update: There is a post on Ubuntu Forums about building btnx, too.

Update 2008-04-29 01:18: I’ve posted an update. New versions of btnx and btnx-config are available and so are debs for both 32-bit and 64-bit Ubuntu.

Update 2008-11-05 20:56: As Christopher pointed out, Btnx is useless in Intrepid. Olli, the author of btnx, remarks that the way btnx interacted with the kernel is no longer available, so all development on btnx has ceased. However, he says, evdev is able to recognize all of the buttons on the Logitech MX Revolution. Folks who might be willing to decode the cryptic xevents system and figure out how to assign mouse events to other keypresses and such should contact him.

HOWTO Run a game or other program on another display

For some reason probably related to Compiz-Fusion, I could not get Warsow working just now. When I started it, my mouse would be locked in the center of the screen. I had four virtual desktops going within Compiz, so I figured that it was somewhat related.

Rather than figure out the bug or close everything I had open, I decided to simply start another X server to handle Warsow.

I did this with startx ./warsow -- :1. I had to modify /etc/X11/Xwrapper.config and change where it says “console” to “anyone” before it would work, though.

This can be done for any program or game, but it’s best suited for those that occupy the whole screen.

In order to switch back to the regular desktop, hit CTRL+ALT+F7. To go back to your game, hit CTRL+ALT+F8. This is useful for switching between a game and work when it’s not your turn or you’re waiting for a long respawn. In fact, I wrote this post switching between Firefox on :0 (F7) and Warsow on :1 (F8).

Oh how I love the things I can do on Ubuntu that I could never do on Windows.