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:
|