summaryrefslogtreecommitdiff
path: root/src/Linux:At_the_Office.ascii
blob: b9d5c6981006069c0c57b85ce4a5486effaae233 (plain)
    1 Linux:At the Office
    2 ===================
    3 :author: Aaron Ball
    4 :email: nullspoon@iohq.net
    5 
    6 
    7 == {doctitle}
    8 
    9 I have been running Linux on my laptop at home for the last four-ish years now
   10 and it's given me very little trouble. Mostly it's just been the growing pains
   11 of each of the projects. I just recently started running Linux on my laptop at
   12 work as well (if you manage Linux servers, why not use Linux to do it).
   13 Inevitably, the question has been asked numerous times "what open source Linux
   14 software out there can do this thing I need to do?" Usually when I start
   15 researching that though, I find myself wishing to know what everyone else uses
   16 and there just doesn't seem to be a lot of blog posts on that. That said, here
   17 we go.
   18 
   19 The things I do in my day usually entail the following
   20 
   21 
   22 [[email]]
   23 == Email
   24 
   25 Awwww yeah. This one is everyone's favorite topic I'm pretty sure. I recently
   26 read an article about how one of the greatest deficiencies of Linux is its lack
   27 of really solid mail clients. This is true to a certain extent. While Linux has
   28 a couple of pretty solid mail clients,
   29 http://projects.gnome.org/evolution/[Evolution] and
   30 http://www.kde.org/applications/internet/kmail/[KMail], they both still lack
   31 reliable Exchange support. Evolution has an Exchange mapi plugin, but it was
   32 pretty buggy for me. It also has support for Exchange EWS, but your exchange
   33 web services need to be set up correctly for that to work.
   34 
   35 The solution I found here, after an unfortunate amount of time hunting around,
   36 is called http://davmail.sourceforge.net/[DavMail]. I have to say that this
   37 little piece of software is really great. Exchange basically provides three
   38 main pieces of functionality: email, calendar syncing, and Active Directory
   39 address book searching and syncing. All three of these pieces have open source
   40 equivelants: IMAP+, CalDav, and CardDav. What DavMail does is connect to the
   41 Exchange server and provide a local server for each of these services. With
   42 this you need not make any wonky changes to your mail client or use any
   43 unstable plugins. You simply use what's already tried and true (and open source
   44 if that's important to you): IMAP, CalDav, and CardDav.
   45 
   46 
   47 [[vpn]]
   48 == VPN
   49 
   50 My company uses two VPNs at present because we are <span
   51 style="text-decoration:line-through">stuck</span> in the middle of a transition
   52 from one to the other. That unfortunately means that I need two VPN clients.
   53 Thankfully though, the open source folks have come through on yet another
   54 awesome competitor to a proprietary alternative.  The first VPN client I use is
   55 called http://www.unix-ag.uni-kl.de/~massar/vpnc/[vpnc]. This one is for
   56 Cisco's standard VPN server. The other client I use is called
   57 http://www.infradead.org/openconnect/[openconnect]. This one is for interfacing
   58 with Cisco's AnyConnect.
   59 
   60 
   61 [[internet-browsing]]
   62 == Internet Browsing
   63 
   64 This one took me a little bit to get sorted out. Don't get me wrong - I like
   65 Firefox. It's just a really heavy browser. It takes a very long time to come up
   66 from a cold boot and also takes a lot of RAM while it's running. Understandably
   67 so though, that browser does just about everything. To sum it up now so you
   68 don't have to read the rest of my ramblings on this particular topic, I ended
   69 up using https://mozilla.org[Firefox].
   70 
   71 Now, to cover the reason why... I really like the
   72 http://surf.suckless.org/[surf] browser (this browser is so tiny you can easily
   73 count its size using kilobytes) as well as http://midori-browser.org/[Midori]
   74 (a clean and small apparent [from the ui] fork of chromium), but they both lack
   75 something one really needs working in a big corporation - Microsoft's NTLM
   76 authentication. If I try to log in to any SharePoint site, I am immediately
   77 sent to a 401 error page (not authorized) without even being presented with a
   78 login box.  Firefox, however, has NTLM built in so that's the one I use now.
   79 
   80 
   81 [[programmingdevelopment-environment]]
   82 == Programming/Development Environment
   83 
   84 Almost every day I'm writing a script or program of some sort in Perl, C\+\+,
   85 PHP, bash, or ksh. All of this programming occurs in http://www.vim.org/[vim].
   86 I won't lie, I heart vim. There's not much more to say here.
   87 
   88 If you don't know vim but are interested in learning, I highly recommend it. If
   89 you think keyboard shortcuts aren't worth the time they can save you, just move
   90 along. If however you are in that group but are still interested in command
   91 line editing (it does have its perks after all),
   92 http://www.nano-editor.org/[Nano] is a good option for you. Otherwise in the
   93 realms of guis, I'd say http://bluefish.openoffice.nl/index.html[Bluefish] is a
   94 good option and http://tarot.freeshell.org/leafpad/[Leafpad] is a good one
   95 (albeit very basic) for you minimalist folks.
   96 
   97 
   98 [[general-office-authoring]]
   99 == General Office Authoring
  100 
  101 This means Word documents and Excel spreadsheets. I use
  102 http://www.libreoffice.org/[LibreOffice] for this. In this category, we've got
  103 some pros, but we definitely have some cons.
  104 
  105 The pros are all pretty obvious here. A mostly fully functional office
  106 authoring suite, nearly equivelant to a multi-hundred dollar suite of software
  107 is a pretty big pro, especially since it works almost flawlessly with
  108 Microsoft's formats. However, on the side of the cons (Kaaahhhhhnnnn!!!), we've
  109 got a few. Some of the more advanced and less used features of MS Word are not
  110 yet implemented, or not implemented in the same way in LibreOffice Writer. The
  111 biggest impact for me though is LibreOffice Calc. It's biggest defficiency in
  112 my experience is macros.  It turns out that it uses a completely different
  113 macro language/syntax than MS Excel. This means that chances are, those
  114 drop-down cells that change your spreadsheet won't work at all. This is very
  115 problematic when your company publishes metrics using fancy Excel spreadsheets
  116 with hundreds of kilobytes of macros.
  117 
  118 
  119 [[documentation]]
  120 == Documentation
  121 
  122 I use two products, one because of superiority (in my opinion), and one out of
  123 necessity. The necessity is LibreOffice Writer, which is required because every
  124 big company seems to use SharePoint shared documents to do documentation,
  125 despite it's poor design, hungry indexer, and a versioning system that's less
  126 functional than adding the modification date to the document filename.
  127 
  128 Out of superiority though (again, my opinion), I use a wiki for documentation.
  129 Specifically http://www.mediawiki.org/wiki/MediaWiki[MediaWiki], though there
  130 are many other solutions out there. This enables my team to work
  131 collaboratively on their documentation. It's easily indexed and searched as it
  132 is stored in plain text. The markup is easy, and you don't have to fight with a
  133 http://en.wikipedia.org/wiki/WYSIWYG[wysiwyg] editor wrongly auto-formatting
  134 much of what you do. For a bigger compare and contrast of SharePoint and
  135 MediaWiki, I wrote link:MediaWiki_vs_SharePoint[a post] about this a ways back.
  136 
  137 
  138 [[versioning-work]]
  139 == Versioning Work
  140 
  141 This one isn't really something that's super applicable for most people I
  142 suspect. For versioning my files though, I have lots and lots of git repos. I
  143 have one for versioning all the documents I write/modify [because SharePoint's
  144 versioning is awful], and I have one repo per script that I write with all of
  145 my remotes pointing to bare repos sitting on one of our backed up servers. I
  146 readily admit this isn't the easiest way to do it for most folks, but for me, a
  147 git fanboy and engineer, git is by far the best [that I know of] and most fun
  148 way to do this for me. If I didn't have to do Word documents for documentation
  149 though, I would happily rely on MediaWiki's versioning functionality for all of
  150 my documentation needs (sounds a little like a commercial).
  151 
  152 
  153 [[bmc-remedy]]
  154 == BMC Remedy
  155 
  156 Nope, not going to link to it - it's not worth that much dignity.  However, if
  157 you are unfortunate enough to have to deal with this software, it installs
  158 nicely in wine and in fact runs better on Linux than on Windows (oddly).
  159 
  160 Going back to the insult I just threw BMC's way, don't get me wrong, this
  161 software is neat. It does a good job tracking piles of metadata for ticket
  162 tracking. However, I have several reasons for disliking it so much. It's a
  163 super huge bandwidth sucker (go ahead, turn on tcpdump and watch what it does
  164 when you perform any action). It's also unbelievably slow (here's the bandwidth
  165 thing again) and is completely dependant on Internet Explorer 6 or greater,
  166 rather than being its own piece of independant software. Additionally, it's
  167 buggy and it's missing all kinds of interface conveniences that one would
  168 expect in something so robust and expensive. Here's to Service Now being a
  169 better product than its predecessor (I hope).
  170 
  171 
  172 [[connecting-to-windowssmb-shares]]
  173 == Connecting to Windows/SMB Shares
  174 
  175 I've had problems with this in the past in Linux land. For whatever reason, SMB
  176 share integration into file managers (thunar, nautilus, etc) has been pretty
  177 slow and buggy. However, if you have root access to your laptop, you can use
  178 http://www.samba.org/samba/docs/man/manpages-3/mount.cifs.8.html[mount.cifs] to
  179 mount the SMB share locally and that has yet to fail me. It's fast and stable,
  180 AND you can add it to your system's fstab. If you want to try SMB shares in
  181 your file manager though, install your distro's _gvfs_ and _gvfs-smb_ packags
  182 and close all of your file managers to reload things.
  183 
  184 
  185 [[transferring-files-from-nix-to-nix]]
  186 == Transferring Files From Nix to Nix
  187 
  188 This one is one of my favorites. The people surrounding the openssh project are
  189 truly geniuses in my mind. A lot of people transfer files from one Linux system
  190 to another by using scp to download the file to their local machine, and then
  191 use SCP to transfer that file from their local machine to the destination
  192 server. Depending on how things are set up, you may be able to scp files
  193 straight from server to server.
  194 
  195 There's this really neat thing out there called
  196 http://fuse.sourceforge.net/sshfs.html[sshfs]. Sshfs allows you to mount a
  197 remote filesystem locally...over SSH. There is no additional software
  198 installation or configuration required on your server other than having ssh
  199 installed and running. You can mount these filesystems and drag and drop files
  200 all over the place. It's a pretty great piece of sofware I do say so myself,
  201 and very stable too.
  202 
  203 Now, I typically use scp to transfer my files anyway. Where sshfs really comes
  204 in handy is when I need to work on remote files such as Word documents or Excel
  205 spreadsheets that are stored on the remote system.  With sshfs I can mount the
  206 remote share locally and work "directly" on the files without having to scp
  207 them locally, work on it, save changes, and scp it back to the server.
  208 
  209 
  210 [[microsoft-office-communicator]]
  211 == Microsoft Office Communicator
  212 
  213 This one is a sensitive topic for a lot of people. Most of the people I know
  214 don't like MOC. Granted, most of the time that's because it's not set up right,
  215 not because the product itself is bad.
  216 
  217 To connect to a MOC server from Linux land, we need
  218 http://www.pidgin.im/[Pidgin] and a plugin for it called
  219 http://sipe.sourceforge.net/[Sipe]. With these two, you should be able to
  220 connect to the communicator server, send and receive messages, send and receive
  221 files, share desktops, and search Active Directory for users. It's a pleasantly
  222 functional plugin.
  223 
  224 
  225 Category:Linux
  226 
  227 
  228 // vim: set syntax=asciidoc:

Generated by cgit