Sunday, September 02, 2012

Effectively using Linux for work

I am going to write up a few of the things that make Ubuntu Linux a more comfortable software development, writing, research, and having fun environment. I hope that readers of this blog add their own suggestions in comments (remember: I moderate comments to avoid publishing SPAM so it might take a short while before I see your comments and approve them).

I use Evernote and the Kindle reader a lot and there are no officially supported Linux clients. Evernote has an open source client client NixNote that is OK but I prefer to simply use the web interface on the Chrome web browser. This is a little slower than a native client with local copies of everything but it is OK. I also use the Evernote Chrome plugin. For reading books I buy for the Kindle the Chrome Kindle plugin works fine, especially since I own a Kindle device and my Samsung Galaxy 3 III phone (with 1280x720 screen resolution!!) is also good to read with. One serious problem is watching Netflix movies on Linux. I get by using our large TV with Google TV or my iTV (a gift from my stepson last year). Also watching Netflix and Hulu+ on my Samsung Galaxy 3 III is fine if no one else is watching. I also have an iPad 2 I bought last year that works well for watching video; I am planning to swap this out for a Nexus tablet that has a smaller screen but higher resolution than my iPad 2.

Other tools I use everyday work fine on Ubuntu Linux (sometimes with some adjustments): IntelliJ, RubyMine, LaTex tools, Emacs, git, etc.

For many years I wrote copious work notes in a physical square deal style laboratory notebook. I switched 20 years ago to using plain text files for copious work notes on everything that I do. Now I organize notes differently using a combination of Google Docs (back them up often!) and RTF formatted text files that are a little better for me than plain text because it makes it easier to tag different kinds of content with styled text and different colors - this helps me find things faster. I like to use AbiWord to quickly open, edit, and view RTF files - faster and lighter weight than Open Office or Libre Office.

For a lot of what I do there is little difference between using Linux, OS X, or Windows. Interacting with customers using github and Google shared documents is the same. To be clear, which desktop (or laptop :-) operating system people use is their own choice. For me, being able to apt-get install software and have the same environment on my laptops as on my servers make using Linux a great advantage. For most casual computer users obviously Windows or OS X is a better choice for them.

3 comments:

grant rettke said...

Hi Mark,

Being able to use all of my favorite computing tools regardless of the operating system I am on... well I will just say it, I really love the freedom and flexibility, it is so, so pleasant! The big driver for me was being able to work pleasantly between Windows and Linux, between work and home and school those are the biggies. Most of the tools I already use were amenable to cross platform use so I sort of lucked out. The big thing was just a little extra planning like keeping all of my configurations in version control and finding alternate software packages on each platform (OS X included when I need to use my wife’s computer). Here is my setup, it sounds pretty similar to yours:

Custom keymap: KeyMapper on Windows, and built in on Ubuntu and OS X.

Easy ones: Compilers, interpreters, web browsers, version control clients, Skype, fonts, dropbox, filezilla, httrack downloader, and databases.

SSH: Putty is on Windows and Linux, so you only need one config.

Editors: IntelliJ’s config folder is very amenable to version control with a little effort and runs FAST on a 4 years old machine with 2gb of RAM which makes Linux even more attractive, or Lubuntu in particular. I use it for Java and Python. Emacs I use for everything else, and for that I have a couple of helper functions because fonts don’t seem to be sized the same between OS X, Linux, and Windows. Everything else I use in Emacs works fine on each platform. DrRacket works so well anywhere, too.

Documents: Latex is easy with miktex for windows and texlive for everything else. Abiword is great for everything else, I use the native filetype and export to PDF for when I share stuff, and use google docs for everything else. JabRef for managing bibliographies. For diagrams there is a great, not well publicized tool called yEd, but Dia is a good backup.

Data: All in version control.

If it isn’t obvious, I just totally love not being tied down to one operating system or even one particular computer. It is so freeing. From my perspective, I haven’t compromised at all. All of the tools I use are more than enough, and the return on invest is so huge.

Have a good one,

Grant

Donnie Cameron said...

I use Kubuntu 12.04. I've never seen KDE work so well as it does these days. Haven't touched a Windows machine in years.

For Netflix, I use VirtualBox with Windows XP. This can run in a window or full screen. Any recent computer can run the VM fast enough for this. And VirtualBox is free. (Netflix, with this behavior, reminds me of the banks in China that require Internet Explorer and won't work with anything else. What are they thinking?)

I'm building a program called Chattermancy, which uses neural networks to find news that is interesting to the user.

My every-day stuff: SBCL, Perl, Emacs, Linux.

Mr. Zed said...

I agree with grant rettke. I think all these hack-arounds for windows progams or their functionality on linux are a waste of time and stupid.