Sunday, December 21, 2014

Unity Killed My Desktop...Now What?


So as I wrote last year, Unity effectively ended Ubuntu's five-year streak on my personal desktop. I stuck it out with Unity for about eight months and then the fun began...distro shopping! My criteria were:
  1. Lean - Although I have a fast machine, software bloat is one of the reasons I abandoned the M$ ship.
  2. Easy - Long gone are the days when I had hours of spare time to play around with learning and setting up an OS.
  3. Just Works - Closely related to the above, the last thing I need is to spend hours researching bug workarounds or hardware incompatibilities.
  4. Large User Community - Problems are inevitable; I like to know that a quick Google search will usually find me a user forum discussion with the answer I need.
  5. Keyboard-Friendly - I grew up on DOS, and I love my keyboard shortcuts.
  6. Long-Term Support - A 10-year distro upgrade cycle would be ideal for me; three years would probably be the minimum.
  7. Traditional Menu - After trying Unity for 8 months, I want my old-school menu back.
  8. No KDE - Sorry KDE fans, but no matter how hard I try, I just can't stand the KDE look and feel.
  9. Debian-based - I did explore a few distros outside the Debian family, but in the end, I decided that they didn't offer any additional features that would be worth abandoning the experience I have gained working with a Debian-based distro.
There are some great open source tools that make distro-shopping a lot easier these days. To test the various distro's, I ran them as a simulated live CD session inside a VirtualBox first. If I liked the look and feel, I used UNetbootin to load the OS onto a thumb drive and booted it as a live session on my hardware to explore it further.

So here are the top distro's that I checked out and what I learned about each, ranked in my personal order of preference, from worst to best.

Bodhi Linux

I was not a fan of Bodhi Linux. My only positive comment is that it had great hardware support. However, it comes preloaded with...virtually nothing, which obviously requires more of an initial commitment to get a workable desktop up and running. I didn't like the interface either; the menu seemed disorderly, and I had a hard time finding what I was looking for. Midori (web browser) is very slow and kept freezing when I attempted to load multiple tabs. I wasn't sure about the Mac-style launcher, although one can simply add things to the panel instead, if desired. Networking did not show up in the tray. Standard keyboard shortcuts like Ctrl-F4 (for closing internal window) and Alt-D (for browser address line) did not work. Clicking on an application does not give it control. In Bodhi's defense, the version I tried was based on Ubuntu 12.04; it may be worth trying the new LTS version.

Mint

I tried the Cinammon flavor of Mint and loved it. It "just works" upon install, the system menu works great with either the mouse or the keyboard, it is supported for 5 years, and it's reasonably fast.

It is bloated, but I could live with that. The deal-killer for me is that just like post-Unity Ubuntu, system-wide custom keyboard shortcuts just don’t work reliably, which is incredibly frustrating.

Debian

The mother of distros, everyone has to try Debian sooner or later. But there is a reason so many users go with one of its descendants; Debian is just too rough around the edges for most. For example, font smoothing requires the manual editing of config files. Really? In 2014? Also, support is only provided for three years (although they’re experimenting with supporting squeeze for five years).

Crunch Bang (#!)
I really fell in love with this Debian-based distro. It is blazingly fast, has a clean, minimalist interface, and "just works" upon install, with excellent hardware support and MP3 and Flash playback preloaded. Keyboard shortcuts are well-supported, and the common ones are displayed on startup in Conky. Printer set up was easy; scanner setup, not so much...

Crunch Bang had almost everything I was looking for, but it's still a little too rough around the edges for me. For example, there is no GUI interface for adjusting the mouse speed - trying to find the right speed for your mouse without being able to use your mouse to test it can be a very frustrating task. Also, the simple task of setting the clock requires resort to the command line: sudo dpkg-reconfigure tzdata. Updates must be run manually, unless you install the gnome update app. UNetbootin (a must-have tool) is not in the repositories. There is no simple way to adjust the screen refresh rate. The install script would not create a swap partition on install. I had to manually edit autostart.sh to set my screen layout, mouse settings, and keyboard repeat rate. My audio crackled; I tried using alsa instead of pulseaudio, but that caused other problems. I finally tried OSS, which worked fine. Programs do not always get automatically added to the system menu upon install. I also had problems with certain programs; AbiWord would sometimes crash on opening a file; Chrome wouldn't play certain media files, and the volume control defaulted to an output I wasn't using. You get the idea...
I love the Crunch Bang concept and will give it another chance next time I'm ready to upgrade my distro, but it just isn't quite mature enough (for me) yet.

Lubuntu

Lubuntu has become my new home. (Surprise!) It is very fast, lean, keyboard-friendly, easy to navigate, and has excellent hardware and software support. The default GUI-based configuration tools are very easy to use and powerful. The interface is similar to the familiar Gnome 2.x environment.

Of course, every distro has its issues. Initially, I couldn't get it to install; it would stall after the first installer screen. Some Googling revealed that all partitions had to be deleted off my hard drive first. Huh? As with Crunch Bang, I had difficulty getting my scanner working properly. I had issues with audio in certain web pages. I had to manually add MP3 and Flash support, even though I checked the box to do so during the install. There is no GUI-based tool for editing the system menu. My mouse speed was unusually slow (and the GUI tool doesn’t make it fast enough; I have to rely on the command line). LibreOffice is ugly as heck; the interface looks like a throwback to Lotus SmartSuite or something. I had difficulty getting my dual-monitor setup to "stick."

I had to install Numlockx to get NumLock to stay on. I still have not been able to figure out how to disable screen locking after about 10 minutes. The file manager also did not initially display thumbnails for my photos. After some searching I found that in [Edit] [Preferences] under [Display] tab, the last line, thumbnails will not be generated for files over a certain size which was preset at 2000 kb...and most of my pictures are over that. I just set it to max of 32999 kb and now all my pictures ae thumbnailed in the folders. I like to store my data on a separate partition and had a challenge redirecting the default links to Documents, Music, Videos, etc. I tried “sudo leafpad ~/.config/user-dirs.dirs” and playing with those settings, but did not work reliably. The easier method that actually worked was to go to PCManFM, navigate to the folder you wish to display, and then right-click the folder and choose “Add to Bookmarks.” Also, PCManFM doesn’t find files unless you check “Use Regular Expression.” I also found the Lubuntu live session to be unreliable and freeze periodically.

But the major gripe I have with Lubuntu is its abysmal backup software support.

  • Back in Time - seems to work well, but no compression
  • Simple Backup - just created empty files if I used the admin mode; if I used the non-admin mode, it would work, but wouldn't run on a schedule. My final solution was to edit my startup script to force it to run a backup on every startup, which works for me, since I shut my computer off every night.
  • Deja Dup - I couldn't open the backup files unless I was root, and the restore tool doesn't let you let you choose which files to restore!
  • Others – I tried a couple other backup programs in the repos, such as LuckyBackup and a few others I can't now recall, but none of them worked either.

Now that most of the kinks are worked out, though, I'm very happy with Lubuntu. 
 
Conclusion

Alas, there is no perfect Linux distro. However, I did end up with an OS that met 7 of my 9 original criteria: lean, large user community, key-board friendly, long-term support, traditional menu, no KDE, and Debian-based. Hopefully next time I'll find a distro that will also be easy to set up and will truly "just work."
 

On that note, I must say that after all the hours I spent finding and setting up my OS, I personally would be ready to (wait for it...) pay for a distro that truly “just works.” Most distros “just work” until you get past the basic functionality and start asking them to do real work. Sigh. I really can't complain, though. There is so much that I love about Linux. Like the other day when our Windows file server went down, and only Linux was able to recover the data. And Linux has come such a long way even in the short few years that I've been a user; it will only get better as time goes on.

Monday, October 28, 2013

Unity at Last!

I've been a satisfied Ubuntu user since 2009, but with all the furore created by Canonical's switch to the Unity user interface in October 2010, I decided to wait as long as possible before upgrading my faithful, pre-Unity 10.04-64 LTS installation. My ideal distro upgrade cycle would be about every 10 years, as I just can't afford all the downtime associated with installing and configuring a new OS. With Canonical moving to a 5-year LTS cycle, my plan was to wait until April 2014 to upgrade. Unfortunately, my system got infected with a few viruses (I'm blaming my wine installation, as they were all Windows viruses), so I had to upgrade my OS a few months ago. I moved up to Ubuntu 13.04-64.

So here we go again...yet another Ubuntu user's impressions of the new Unity interface...I know, I'm a little late to the party. A few notes on my perspective:

  1. I'm not a Canonical-hater; I actually like Ubuntu and want Canonical to succeed.
  2. Although I admit to being somewhat swayed by all the negative feedback regarding Unity, I tried my best to be objective. I've lived with Unity for about three months now and have tried my best to learn and enjoy it. 
  3. While I consider myself a power-user, these days I just don't have much time to spend dealing with computer issues. I need something that just works, and works efficiently.
So here's what I do and don't like about Unity.

Likes:

  1. I like being able to access the system menu by pressing the Super-key. I'm really not sure why Ubuntu didn't do that a long time ago...maybe Canonical just didn't want to be seen as copying M$. 
  2. I like being able to search all applications by simply pressing the Super-key and typing. Another feature ripped from M$, but hey, if it works, why not? 
  3. I like the list of keyboard shortcuts that pops up if I hold down the Super-key, and I like all of the system-wide shortcuts that are now available (if only they worked reliably; more on that later).
Dislikes: 

  1. While the new keyboard shortcuts are a great idea, they just don't work properly, and they interfere with a lot of other keyboard shortcuts. Let me explain: 
    • First, the keyboard shortcuts don't work consistently. I find that sometimes I have to press the keys multiple times to get them to work. Some Googling showed that I'm not the only one with this issue.
    • Also, the ability to assign custom keyboard shortcuts has been severely limited; you can't easily override the default shortcuts with your own custom shortcuts.  I was forced to abandon many of the custom shortcuts I had used with 10.04.
    • I use rdesktop regularly to remote into our firm's Windows server, and Unity's new keyboard shortcuts interfere with my use of the Windows keys in an RDS session. 
  2. I don't like the new side launcher; I much prefer the taskbar-style task switcher on the top of the screen. I find myself having to move my mouse a lot more with the side launcher. The old GNOME taskbar is also a lot cleaner to be able to quickly see which applications are open. Also, to add a custom item to the task launcher requires a complicated process of creating a text file with a slew of strange codes. Why can't I just drag a shortcut to the launcher?? And I found that when I did add a custom item to the launcher, it shows up twice when I actually open the program.
  3. I miss the option of being able to use the old GNOME menu. 
  4. I don't like the fact that the old GNOME applets no longer work, and even now, three years after the Unity launch, there are not yet equivalents to replace many of them. E.g., I liked my old GNOME CPU monitors that used minimal screen space in my taskbar to quickly show me the CPU and core usage and temperature. There are some Unity-based tools, but they're not nearly as good.
  5. I confess that I actually hate the new Mac-style menus that reside only at the top of the screen. Why should I have to mouse all the way to the top of the screen just to access the menu? And if I'm in one program but want to click on the menu in another program, two clicks are required; first, I have to click on the inactive program to make it active, and then I can click on its menu.
  6.  I don't like the new scroll bars; honestly, I still haven't quite figured them out. Why exactly did they have to change the way scroll bars work?
  7. I dislike being regularly prompted, as I browse the Internet, to install a slew of lame Unity apps that do nothing except add an extra icon to the side launcher. 
  8. I'm not sure whether to blame Unity for this or not, but 13.04 is less stable than 10.04. It had probably been more than a year since my 10.04 installation had required a reboot due to a system hang, and yet 13.04 consistently hangs if I connect my wife's iPhone to the USB, disconnect it, and plug it in again.
Conclusion

I hate to join the nay-sayers, but I'm afraid this is one more Ubuntu user who fears that Canonical has lost its way. Yes, mobile devices may be where are the new hardware sales are, but most people still get most of their real work done on an old-fashioned computer. And for this old-fashioned computer user, Unity just doesn't cut it. Guess I'll be looking for a new distro soon...I do hope Canonical gets its act together, though. They've done a lot to help bring Linux to the masses, including this blogger...

Saturday, January 5, 2013

Thoughts on Linux v. Windows

It's been almost 3 years since I switched from Windows to GNU/Linux, so it's time for some reflection and evaluation. After 3 years, what do I love about GNU/Linux? Miss about Windows? I'm definitely more committed to GNU/Linux than ever before, but hopefully the rose tinting has faded from my glasses somewhat, enabling me to be somewhat objective. Since Ubuntu is my distribution of choice, much of my comments are Ubuntu-specific, but some are relevant to all or most GNU/Linux distro's.

Application Integration/Installation

Ubuntu features tight integration with free and open-source software (FOSS) applications, which is both a benefit and a drawback.

Pros:

  • Commonly used programs are pre-installed, such as LibreOffice (office suite), RhythmBox (music manager/player), Firefox, and Thunderbird (email client).
  • Often the program you are looking for is just a few mouse-clicks away in the Ubuntu Software Center, available for (usually) free download from Ubuntu's servers. It's really amazing, when you think about it: tends of thousands of applications at your fingertips, absolutely free of charge. 
Cons:
  • Tight application integration means that for certain applications (e.g., LibreOffice), if you want the latest version, you need to upgrade your entire operating system to a newer version. I know there are sometimes workarounds, like PPA's, but they are cumbersome and in my experience, trying to get the latest version installed can cause more problems than it solves. 
  • If the application you are looking for is not in the Ubuntu repositories, it can be a real pain to install. Unlike Windows, there is no standard means of creating an application installation package that just works, because Linux distro's use completely different means of package management. Often, you need to find a package that is specific to your distro or try to build the program from source. The latter solution can be a real pain for the average end-user. 
Application Availability

The Achilles heel of GNU/Linux (or any alternative to Windows) has always been the lack of native applications. The situation here has improved by leaps and bounds and continues to do so. 

Pros: 
  • There is now a wealth of free, open-source applications for Linux. Ironically, Windows users have benefited from the FOSS explosion as well, because many FOSS programs are multi-platform, running on Linux, Windows, and MacOS. 
  • wine, which allows many Windows programs to run under Linux, keeps getting better and better. In significant ways, it's actually a better Windows than Windows. For example, if your Windows installation gets corrupted, fixing it is as simple as restoring a backup of your .wine folder; you can have Windows up and running in about two minutes. There is always virtualbox as well, which creates a virtual machine that can run any OS, including Windows, within GNU/Linux. 
  • Steam is coming to GNU/Linux!
Cons:
  • There are still a few common applications that have no decent Linux equivalent, such as TurboTax and Silverlight (needed for Netflix, although a workaround was recently found). 
  • There have been some disappointing regressions lately. Google abandoned its Linux version of Picasa, and Adobe abandoned Flash for Linux (albeit the Chrome browser will continue to have Flash support built-in).  
  • For niche applications, such as software specific to specific fields and professions (such as attorneys), there are often no Linux alternatives. 
Device Support (Drivers)

Driver support is almost a non-issue for GNU/Linux users now (aside from webcams and other video capture devices). Hardware developers usually release Linux versions of their drivers, and for those that don't, the GNU/Linux community quickly develops them.  

Speed

GNU/Linux is a mixed bag when it comes to speed. 

Pros: 
  • Famously light on resources (hard drive space, RAM, processors speed), bringing life to older hardware.
  • Takes full advantage of modern processor capabilities (multi-core, 64-bit, etc.)
Cons: 
  • Lags in some modern video applications (Flash, HTML5). 
Distro Release Schedule

GNU/Linux distros tend to operate on a much more frequent release schedule than Windows users are accustomed to. A new version of Windows comes to market 3-4 years, but Linux distributions are often released on a six-month cycle. 

Pros: 
  • Instead of having to wait 3-4 years for the newest in software development, users can be on the bleeding edge. 
Cons: 
  • Call me lazy, but my ideal distro update schedule would be about every 10 years. I put a lot of effort into customizing my setup exactly the way I like it, so installing and configuring a new installation is a time-consuming process. 
Alternatives:
  • Arch Linux is a Linux distro that distributes updates on a rolling basis, so that your operating system is always up-to-date, instead of having to upgrade a completely new operating system periodically to have the latest software. Ubuntu has recently been talking about switching to that model. 
Flexibility

The one feature of GNU/Linux that cannot be found in any other OS is its flexibility:

Pros:
  • There are an infinite number of distros to choose from, and each can be customized in infinite ways. 
  • You can swap out your motherboard, CPU, hard drive, and video card, and your GNU/Linux installation will not skip a beat. It will just boot right up and detect the new hardware automatically. Ever try that on a Windows box?! If you're very lucky, you might actually get to a GUI, but if you do, you'll almost certainly get a warning that your license is invalid or some such thing. For someone who loves to build, break, and tweak systems, this aspect of GNU/Linux is something I can no longer live without!  
  • Cloning a GNU/Linux installation can be done with a single command. Again, ever tried to clone a Windows install? 
Geek Factor

The "geek factor" of GNU/Linux simply can't be beat. If you're a geek, you know what I'm talking about. If not, well never mind...

Community

Perhaps the best part of GNU/Linux is the user and developer community. I do some IT support for both Windows and Linux desktops, and while there are a gazillion web sites with free answers for Windows problems, I find that I often find answers for my Ubuntu problems more quickly. You have to sort through a lot of junk to find an answer for a Windows problem, while solutions for Ubuntu problems are usually easy to find.






Sunday, September 23, 2012

Working Remotely on Linux

The beauty of remote access is that nobody knows or cares what operating system you use, as long as you have client software that can access your firm's server. Most of my work is done remotely, so that means I get to use Linux all day long! There are several clients available for Linux; this post discusses the ones I have found to work best.

Remote Desktop Clients

For the richest remote access experience, it's hard to beat Microsoft's Remote Desktop Services (fka Terminal Services), which has been available on Windows Server for as long as I can remember (at least back to Windows 2000 Server). I recently set this up for our law firm on Windows Server 2008 R2. All of our software, from office applications to law-specific programs, have been installed on our Windows Server, and multiple users can log in to the server remotely with full access to everything they would have on their in-office desktop.

To access Windows servers running RDS from Linux machines, the rdesktop command line program is unparalleled. There are many GUI-based RDS clients, but most of them are simply front ends for rdesktop, and none that I have tried have the power and flexibility of using rdesktop from the command line. If you have command-line phobia, it's not nearly as hard as it seems, and this post explains how to use it. But if, after reading this post, you insist on using a GUI-based client, try Gnome-RDP. It doesn't have even 15% of the options available on the command line, but it has the most of any other Linux RDS client I've tried.

The beauty of using rdesktop is that once you decide on your optimal settings, you only need to enter the command once, and then you never need to see the command line again. It does require some extra time up front to figure out what settings you like, but that initial work will ensure that you have the best possible experience. The list of options for rdesktop is extensive, but most of them are not needed. Here is the basic command format, followed by a description of the most common options:

Basic Command Format:

rdesktop -u [network user name] -p [network password] -d [network domain name] [options] [server IP address]:[server RDS port number]

Command Options:

-a [8, 15, 16 or 24 sets the color depth; use 8 for 8-bit color for fastest speed; 24 for richest color]

-x [experience; m disables all desktop effects for faster speeds; l enables all effects]

-f [use fullscreen mode]

-g [desired height x width of RDS screen, e.g., 1910x1100]

-z [enable compression, but only works with 8bpp color depth]

-P [enable bitmap caching to speed access]

-r disk:remote=[path to a local folder to use for sharing files with RDS]

-r sound:local [directs sound to my local PC] [server IP address]:[server RDS port number]

Sample Command:

So here is the full command I use to access our firm's server:

rdesktop -u [my network user name] -d [our firm's domain name] -p [my network password] -a 8 -x m -g 1910x1100 -z -P -r disk:remote=[path to a local folder on my computer to use for sharing files with RDS] -r sound:local  [server IP address]:[server RDS port number]

Once you've figured out your best settings, simply add the command to your menu or panel or whatever. In Ubuntu 10.04, go to the System menu, Main Menu, and then add your RDS command wherever you want. To add it to your panel, just right-click on the Panel, choose "Add to Panel," and then enter the command.

VNC Client

With RDS, your access is invisible to someone who is working on the physical server; they cannot see what you are doing. If you want someone to be able to observe what you are doing (such as for tech support), VNC is helpful. Special software on the Windows host machine is required. I use RealVNC, but there are many other options. On the Linux client side, many, if not most, of the RDS clients also support VNC. I prefer to use the GUI-based Remote Desktop Viewer tool, aka vinagre. It is simple, but adequate.





Sunday, January 22, 2012

Is Linux Ready for the Law Office?

As much as I love Linux, the answer is still no! I've been running GNU/Linux in my law office for over two years, and I absolutely love it. But in my side job as an IT administrator, I wouldn't recommend it to a law firm. As an operating system, GNU/Linux can hold its own. The problem primarily lies with the dearth of applications written for Linux. There are five areas of weakness:

Billing

I searched high and low, but was never able to find a satisfactory time-tracking and billing solution under Linux. I finally ended up installing Windows XP in a VirtualBox so I could run PCLaw. It works great, but it's far from ideal to install two operating systems just to run a billing program.

Practice Management

Again, a thorough search failed to reveal any law office practice management software that runs under GNU/Linux. Many people use Clio or other cloud-based systems, which are completely platform-independent, but if you want software that runs locally on your machine, you're out of luck unless you want to run Windows in a VirtualBox.

Word Processing

Neither Microsoft Word nor WordPerfect run natively under GNU/Linux. Fortunately, both programs run under wine, which is essentially a Windows emulator that allows many Windows programs to run seamlessly in Linux. Under wine Windows and Linux programs can share the same clipboard, printers, and files. The problem is that while wine has come a long way and is a very usable product, it is far from perfect. For example, I occasionally have problems printing from both Word and WordPerfect. While this is not a major issue for me, as I can always find a workaround, it would be a headache attempting to support an entire law firm running Word and/or WordPerfect on Linux.

OpenOffice (or its new cousin LibreOffice) is a great, fully-functional office suite that could serve as a free replacement for Microsoft Office or WordPerfect Office, except for one problem: compatibility with Microsoft Word. OpenOffice does a poor job of reading and writing complex Word files, especially pleadings, documents with fancy letterheads, and documents with headers and/or footers. OpenOffice is great for internal documents, but it is simply not practical when we as lawyers are constantly exchanging Word documents with our clients.

OCR/PDF

There are still no solid OCR products for GNU/Linux, but OmniPage does run almost perfectly under wine. The problem lies more with PDF editing, which is essential for document review and redaction. While Acrobat pretends to be multi-platform, Adobe has only ever made its Acrobat Reader available under Linux (not the Standard or Professional versions of Acrobat). I use Acrobat 5.0, which runs almost perfectly under wine, but is now very out of date.

Usability

GNU/Linux has come a long, long way in terms of ease of use, thanks in large part to Ubuntu and its community. But it still has a ways to go before I would be comfortable recommending it on a law office desktop. Just to give a few examples, my Java support broke a few months ago when Canonical (the company that distributes Ubuntu) decided to "upgrade" my Sun Java by replacing it with non-working software due to a licensing issue. That just is not acceptable for a business OS. Similarly, Flash stopped working in my Chrome browser a few months ago because Google (the maker of Chrome) failed to update the plugin for some reason. Those sorts of things don't happen very often under Linux, but it's often enough to indicate that it's not yet a rock-solid business environment. I was able to fix both problems after doing some Googling, but I probably wasted about two hours of time.

Conclusion

It is certainly possible to run a law office on Linux, as I've been doing for over 2 years, but it is not yet optimal to do so. The lack of applications that lawyers need requires resorting to wine and/or VirtualBox, and there are problems and inconveniences associated with both.


Sunday, January 15, 2012

Overclocking in Linux

All of the tools needed for overclocking are freely available for Linux. This post describes how I overclocked my Athlon II X4 635 (2.9Ghz) to 3.5Ghz (250 FSB, 14x) in Ubuntu 10.04-64 (LTS). If you want to skip ahead to an overclock recipe for the Athlon II X4 635 and performance outcomes, scroll down to the bottom.

Prerequisites

In my opinion, the Athlon II X4 series is the best bargain out there in the AMD family. The CPU's are highly overclockable, and frankly, neither the Phenom II nor the Bulldozer series offer a significant increase in performance. Also, the Phenom II requires substantially higher wattage than the Athlon II. The bad news is that the Athlon II's run very hot with the stock cooler. My system would get into the 60's (Celsius) even without any overclocking. So a better heatsink/fan combo is a must. I picked up the CoolerMaster Hyper 212+ for $25 at Fry's. The system runs about 40 degrees cooler (Celsius), and the fan is silent.

Linux Tools for Overclocking

Temperature Monitoring - sensors is a tool that can be run from the command line and will output your current CPU temperature (and whatever other temperature sensors it detects). It is installed by default in Ubuntu. For more details on how to use it, click here. Even handier is the Gnome applet that constantly displays your system temperature on your panel. Simply enter "sudo apt-get install sensors-applet" in Terminal to install the program, and then right-click on your panel to add it to your panel.

Torture Testing - prime95 is probably the standard for stress-testing your overclocked system. I found that with certain overclock settings, my system would run for days without a hitch, but running prime95 for a few minutes would cause it to crash, thus exposing the system's instability at that speed. prime95 will cause all of your cores to run at 100%, non-stop. If your system can survive prime95 all night long, you've probably found some stable settings.

Benchmarking - System Profiler and Benchmark is available in the Ubuntu Software Center. It provides information about your system and also offers about 8 different benchmarks so you can compare how your overclock settings are affecting your system performance. (One thing I learned is that the "CPU CryptoHash" test is useless; the results vary widely, even with the identical setup.) phoronix is also available in the Ubuntu Software Center. It's much more sophisticated, but also much more difficult to learn and use. For a real world test, I also created a large, 30-minute sound file in Audacity that I export as an MP3. Audacity has a time counter that shows how long the export takes. Audacity is also available in the Ubuntu Software Center. I'm not a gamer, but there are many games available that have benchmarking capabilities as well. I've tried running some of the Windows PCMark benchmark utilities under wine or in a VirtualBox, but they never work.

Boot Disk - Ubuntu Live CD 10.04-64 (LTS) I'm probably overly cautious, but I don't think it's a good idea to boot from your hard drive when testing an overclock setup. My hard drive has all of my work and personal information on it, and I don't want to risk corruption due to an unstable overclock. So I disable my hard drive and boot from a Linux CD for testing purposes. I load the utilities I will need on a thumb drive to save time downloading them from the Internet.

The Process

Had I known just how time-consuming it is to overclock a modern computer system at the beginning, I probably wouldn't have bothered to try. Back in the old days, overclocking was a simple matter of playing with bus speeds and CPU multipliers. Nowadays, just about everything is configurable, which means it takes forever to find the optimal combination of settings, or "recipe." Here is the the hardware I had to play with, and what I did to find my optimal settings.

System Specs

CPU: Athlon II X4 635 (2.9Ghz, locked multiplier)

Mainboard: Biostar TA880GB+
RAM: 16gb DDR3-1600 RAM, Patriot PGV316G1600ELQK
CPU Fan: CoolerMaster Hyper 212+
Default (stock) Settings: 200Mhz FSB, 14.5 CPU muliplier, RAM running at 1066, 2.0Ghz HyperTransport link, CPU VCore 1.4V

Overclocking

Before starting, I disabled Cool'NQuiet in BIOS, which will mess with your CPU speeds and interfere with testing. You can always turn it back on later for power savings if desired.

There are two basic approaches that I tried. First, I just tried increasing the FSB (Front Side Bus) speed. I could only get to 220 Mhz without crashing, so I realized I needed a different approach. My mainboard allows the HyperTransport link speed and RAM speed to be set independent of the bus speed, which makes things a little easier. So I tried decreasing the CPU multiplier, HyperLink transport speed, and RAM speed, while increasing the bus speed. I found I could get to a 250FSB speed without any problems. I then gradually increased the RAM speed, HyperLink transport speed, and CPU multiplier until I found problems. I found that my limiting factors were my RAM speed (stable at 1066) and CPU multiplier (stable at 14x). Unfortunately, my mainboard does not allow increasing the HyperLink transport speed beyond 2.0 Ghz, so it is stuck there. (It can only be decreased below that speed.) I did have to give the CPU some extra juice; I increased it up to 1.524 Vcore. I found that the RAM speed could be increased if the timings were loosened, but the performance didn't really improve.

Results

So here are my final overclock settings:
250 FSB, 14x CPU multiplier (3.5Ghz), 2.0 Ghz HyperTransport link, DDR3-1066 (7-7-7-20 timings), VCore 1.524

The system ran stable overnight, with a max temperature (running the prime95 torture test all night long) of 53 degrees Celsius. In my daily use, the system usually runs in the low 20's.

As far as benchmark comparisons, a detailed comparison can be viewed on Phoronix here. The results include a number of different systems, but you will note that it includes two entries for my Athlon II X4 635, one at the stock speed, and the other overclocked.

As far as basic comparisons with the System Profiler and Benchmark, as well as my custom MP3 test with Audacity, here are the results. All measurements are in seconds--the lower, the better.

Default (Stock) Settings:
Blowfish: 3.35
Fibonachi: 2.61
N-Queens: 10.04
Export large MP3 : 78

Final Overclock Settings:
Blowfish: 2.77
Fibonachi: 1.7
N-Queens: 7.86
Export large MP3: 62

So I achieved roughly a 20-25% increase in performance, depending on the benchmark.

Monday, January 9, 2012

General Tips for Running a Law Office on Linux


After over two years of running Linux, I'm never going back to Windows. The flexibility, reliability, speed, and instant availability of free software has become addicting.

I first tried Linux out of frustration with the copy-protection practices of Microsoft and other Windows-based programs. Every time I upgraded my computer, I had to re-validate my copy of Windows, which sometimes required a phone call to Microsoft and other vendors. There are few things more frustrating than begging a vendor for permission to use a product that I already paid for! Now when I upgrade my computer, Linux magically recognizes my new hardware, and I'm up and running again.

That being said, running Linux for my law office is not without challenges, because law-specific applications for Linux are almost nonexistent. Here are the solutions that I have found.

Word Processing Solutions

OpenOffice

OpenOffice (or its new cousin LibreOffice) is a great, free, open source office application that has matured over the past few years. I use it as much as I can. However, it still lacks 100% compatibility with Word and WordPerfect files. (In fact, while it can import WP files, it cannot save in WP format.) Because I am constantly exchanging editable documents with Word and WordPerfect users, I am forced to continue using both of those products. I have encountered no compatibility issues with OpenOffice's spreadsheet program. It appears to be perfectly compatible with Excel files.

WordPerfect

There was a version of WordPerfect for Linux at one time (v8), and it is still available for free download on the Internet. Unfortunately, the libraries that it relies upon are very outdated, and despite hours of tweaking, I have never been able to get it to work. Fortunately, WordPerfect 10 for Windows runs almost flawlessly under wine. (Wine allows Windows programs to run seamlessly under Linux.) The bad news is that the WP 10 installer doesn't work under wine. Therefore, the only way to install WP is to install it on a Windows box, using a program like regshot to capture all the registry changes, which can then be imported into the wine registry. Once installed, however, it runs almost perfectly. I've been using it daily for the past two years and the only glitches I have found are:
  1. WP always forgets its window location after exit. Each time you load WP, the program is not visible until you load it again. (Yes, you have to load it twice.) Then the title bar appears at the bottom of the screen. You simply maximize the window or drag it to the desired size, and you're off and running.
  2. Occasionally, the publish to PDF feature doesn't work, sending the document to the default printer instead. My solution has been to set the PDF printer as my default printer in Linux.
  3. Occasionally opening the Find dialog freezes WP. I just load the Find dialog right after I load WP, place it somewhere out of the way on the screen, and then click in the Find box when I need it. As long as keep the Find dialog open, it has no problem.
  4. The enhanced file open/save dialogs do not work and must be disabled.
  5. The compare function does not work. I use OpenOffice to compare WordPerfect files.
WP 10 is very outdated now, but it retains document compatibility with the latest versions of WordPerfect, and it has all the features I need. Although I have not tested them, versions 11 and 12 are supposed to work well under wine as well.

Word

I use Word 2007, and it installs and runs perfectly under wine.

Indexing Word and WordPerfect Files

The free Tracker search tool will index Word and WordPerfect files, with the aid of plugins that are freely available. This allows instant searching of the content of word processing files.

Email/Calendar

Ubuntu 10.04 is still my favored Linux distribution, and the built-in Evolution works well for email and calendaring. It must have some form of indexing built in, because its email search function is instantaneous.

PDF Editing/Scanning/OCR

Acrobat

It is disappointing that while Adobe Acrobat feigns to be a multi-platform program, only the reader is available for Linux (not the Standard or Professional versions). However, I have an old version of Acrobat for Windows (5.0) that installs and runs perfectly under wine. Interestingly, the older standard versions of Acrobat include a very sophisticated and fast indexing feature that is now found only in the much more expensive professional version, so it may not be such a bad thing after all. More recent versions of Acrobat are supposed to work under wine also, but I have not tried them.

There are other PDF editors available for Linux, but their functionality is limited.

Scanning

Scanning in Linux is probably more of a hardware support issue. I have a Brother multifunction, and the free "Simple Scan" program works fairly well with it.

OCR

There are some free OCR programs for Linux, but they seem to be very rudimentary, and I have not tried them. I run OmniPage 15 for Windows under wine, and it works without a hitch.

Timekeeping/Billing/Trust Accounting

To date, I have not found a viable solution for timekeeping, billing, and trust accounting under Linux. I had previously used Time Matters and PCLaw, but neither runs under wine. One option is to use a cloud-based service such as Clio, but I still prefer to run all my software locally. I run Windows XP inside a VirtualBox so I can continue to use PCLaw. Klok is an alternative I used for a while to do time-keeping. Klok is a free Adobe Air time-tracking application that will export to an Excel file. (Adobe Air is a platform that allows programs to run independent of the platform. It is based upon Flash, so it is very inefficient. You need a fast computer, but it works.) The problem with Klok is that it does not have a link to PCLaw, so you must copy and paste your time entries from Klok into PCLaw.

Web Browsing/Remote Access/Java Support

The Internet experience under Linux is very mature. Firefox is a popular and fully functional browser. I prefer Chrome, as it is addictingly fast. For remote access, there are a variety of VNC-compatible programs. Java support is also excellent. Flash support is (finally!) on par with Windows and Mac. I am using the 64-bit version of Flash and have had no problems with it. Skype also works well under Linux.

Backup

Despite the name, Simple Backup is actually a sophisticated free backup program. I backup to Ubuntu One, which is a free cloud-based data storage system that runs under Linux, iOS, Android, and Windows, so you can synchronize files across systems. (There is a charge if your online storage needs exceed 5gb.)

VirtualBox

A possible solution to virtually all of the application unavailability problems is to run Windows in VirtualBox. VirtualBox is a free program that emulates a separate computer within an operating system. You decide how much of your computer's resources to allocate to it (memory, processor cores, video screen size, USB devices, etc.). Multiple operating systems can then be loaded within VirtualBox, such as Windows, OS/2, or other versions of Linux or Unix. When I was initially setting up my law office, I steered clear of VirtualBox because I felt it would be difficult to set up and cumbersome to use. I wanted to use native Linux apps or wine-friendly apps as much as possible. I eventually gave VirtualBox a try, and it is actually not too bad. I loaded Windows XP on it, and almost any Windows program will run under it. Nonetheless, it is a bit of a resource hog, and it is more convenient to use wine, which runs Windows programs seamlessly, as if they were Linux programs.