117 Posts Tagged 'Linux'
I'm sitting here in Canada trying to work for my employer back in the US for a month. It's been a few weeks already, and I'm surprisingly pleased (or pleasantly surprised) with how well it's working. At the same time, certain aspects of this rather suck.
One huge obstacle so far is (of course) Windows. Aside from the Linux server that I convinced IT to let me run out of a closet, the whole place is Microsoft. Whatever MS VPN software we're using is slow, clunky, unreliable, and generally annoying.
At one point I tried to fetch a file from a network drive and watched it download at 0.2 k/sec. Then I had someone back home copy it onto my Linux box, and I downloaded from there at 120 k/sec. The Windows and Linux servers are in the same room in the same building behind the same network connection; I don't understand how VPN overhead slowed things down by that many orders of magnitude.
After connecting to VPN, there's about a 25% chance that Outlook will be able to connect to the Exchange server at work. Generally I have to fire up the VPN, turn it off, turn it on, turn it off, turn it on and then Outlook will find it. Sometimes I close Outlook, but it lives on as a zombie, futilely hammering away at the server but unable to find it, until I CTRL-ALT-DEL and kill it. This is with Office 2007.
But the work I do on the Linux server is (of course) easy. No problems whatsoever. Working over SSH is how I did things when I was sitting in my office anyways. I tunnel in and use local GUI SQL clients. I put VirtualBox on my laptop and I do a bunch of stuff in a Linux VM and rsync it back home with no problems. I can edit files over SSH right in Emacs as if they were on my local box, if I care to.
Sometimes I wonder if my dislike of Microsoft is irrational. Any belief that is caused by or results in a strong emotional response should be subject to questioning. Then reality comes waltzing by and reminds me that no, MS software really does suck.
I've worked for this company for over two years before moving. I don't know how well I'd be doing if this was a company I just started with. It's hard to see how important face-to-face communication is until it's impossible. Email is OK, but the benefit of knowing people in person and knowing how they talk and how they think really goes a long way to being able to interpret and understand plaintext communication.
One, it's a Java app (a Swing app as far as I can tell?) and the GUI is enormous and unresponsive and certain parts of it really behave strangely. Like clicking in text fields to focus them sometimes requires multiple clicks. It's just annoying enough to constantly throw me off.
The second problem is that it crashes all the time. Music keeps playing but the GUI disappears.
pkill java has become necessary far too often lately.
So now I'm trying Exaile. It's very Amarok 1.4-like. I can overlook the fact that it's GTK because it's otherwise so nice. Best part, when asked if Exaile is going to go the way of Amarok 2, the dev has this to say:
Never ever ever ever ever ever.
I'm having a hard time coming up with any deficiencies in Exaile so far. Everything in the GUI is laid out nicely. No crashes yet.
One of these days I'll find an acceptable app... Most of these apps are good, but I'm too picky. I love how Linux lets me be picky. There is a wealth of options, and everything is free. I am spoiled.
VMware never ceases to confuse me. Not the program, which is a pretty good piece of software. Just the name of everything. Look at this list of VMware software; can you figure out what any of those things are via their names? The VMware official site is no less confusing.
Hilariously, all of these things seem to be named different things than a year or two ago when last I tried to install VMware. It seems this company, like many others, enjoys renaming everything at random, just to keep you on your toes.
I'm sort of tired of KDE4 crashing left and right and Plasma barfing all over me all day. So I decided to check out the current state of lightweight window managers.
Lo and behold, Fluxbox is still going strong. It was the first WM I used way back in 2000-something when I started using Linux full-time. Last time I tried, there were always weird compatibility problems with system tray icons and pagers working properly when running a mix of KDE and Gnome and other apps, but those seem to have cleared up nicely; I have yet to hit any snags. Here's a screenshot.
The Fluxbox style is mydefcon_4 from tenr.de which is probably the largest and most thorough set of themes created by one person that I've witnessed. That fellow is motivated.
For all the bells and whistles of KDE4, what features did I actually use regularly?
- A menu of apps
- Taskbar + System tray + Clock
- KWin's good window management.
- Global keyboard shortcuts galore
- One widget: current CPU/RAM/Network usage
- Mouse/keyboard management, background-setting, etc.
Fluxbox gives me all but number 5, and Conky gives me that. Number 6 you can do with
feh and such.
And I like being motivated to use keyboard shortcuts for more things. I'm already halfway there. Maybe I can take the plunge eventually and try a tiling window manager. Not sure I've reached that level of nerditude yet though.
And now I can move and resize windows without my graphics card bursting into flames. Maybe when I can afford a few more cores worth of CPU I'll try KDE4 again. Honestly I think I have too much monitor real-estate for my ancient computer to handle smoothly in KDE4.
Not to knock KDE4; it's awesome and I'll probably go back someday. But everyone needs a break now and then.
Given my inability to use Amarok 1.4 and my lack of desire to use Amarok 2.0, I tried loads of music players and for now I've landed on aTunes.
It's not perfect. It's far from perfect. But it's the best of the bunch. These are the features I MUST HAVE for a media player and which aTunes possesses.
- Last.fm integration. aTunes has probably the best integration I've seen in a player, without going over-the-top and stuffing a whole web browser into the app.
- System tray icon, right-clickable with song controls in the menu.
- Commandline interface.
- Able to display CJK fonts. In Arch (or in Gentoo using the
icedtea6-binVM) CJK fonts are displayed as empty boxes, but in Gentoo using Sun JVM, it works fine.
- Tag editing. aTunes has a pretty nice tag editor for single songs or multiple at once.
- Amarok-like tree of albums/artists/genres/whatever I want. I want a single expandable and collapsable tree-list, not 3 panes I have to click between.
- Skins are nice; aTunes has these.
- "Collection" support and folder-watching/auto-updating when I dump music into
~/music. aTunes does this very well. Scanned a few thousand files fairly quickly, and does updates very fast.
- Amarok-1.4-like spreadsheetish playlist layout.
- Lightweight build process. No gstreamer. aTunes provides Mplayer and Xine backends and has few to no other dependencies (besides Java). The Mplayer backend didn't work out very well for me, but Xine works beautifully.
It also has some other nice bonuses, like the elegant way it uses the
Album Artist tag for albums with multiple artists, the interesting statistics and bar graphs it can produce from your song listening history, playlist tabs, and so on.
Things I dislike about aTunes... well it's a Java app, so it takes a decade to start up. It also has horrid fonts and the widgets are clunky. But it's responsive once it's running, and I don't care how it looks as much as how sane the layout is. Searching is also clunky. But these aren't show-stoppers.
Here's a list of other players I tried, and why I didn't use them.
Now that Windows 7 is out, it's only a matter of time before I'm forced to buy it. I don't want it. I won't use it. But as a programmer, it's nearly impossible to survive without owning a copy of the
latest and greatest latest version of Windows.
Why? Because if you want a job, unless you're one of the fortunate few who get to pick your development platform AND dictate the platform for all of your users, you need to know Windows. You need to know how to navigate around it when you're forced to use it on your work computer. You need to know how to troubleshoot (to some degree) your users' Windowsy problems as they try to install and use your program. If you want to communicate with people in the world, inevitably they're going to send you a bunch of MS Word documents and nothing is ever going to read them properly 100% of the time except MS Word itself.
I have a copy of Vista Business on my laptop which I am deeply ashamed for having bought, but at the same time it helped me land a very nice work contract. Without being able to VPN into the company's network (via some MS proprietary VPN software that I tried VERY hard and failed to get to work in Linux) I wouldn't have been able to complete the job on time, and I might be living in a cardboard box under a bridge right now.
For this contract I actually developed the app at home entirely in Linux. I used only Linux-centric tools (Vim, Gimp, Firefox, Ruby etc.). Thank God most of those tools have Windows versions, because deploying it to Windows land at work and working on it there when necessary was (mostly) trivial. But I still needed Windows to finish the job. And all the users of this app were Windows users. The specs for the app were sent to me in Word and Excel documents. The website frontend is being viewed in IE much of the time in spite of my pleadings to the contrary, so I have to support it.
Such is the life of a programmer. I'll probably buy Windows 7 eventually but it'll sting. It'll rankle.
KMail is a pretty good app, except that it's slow as glacier. If I select a few thousand spam emails in KMail (4.3.2) sitting on my IMAP server, and I try to delete them, KMail laboriously iterates through them deleting them one at a time and updating the GUI after every deletion. I'd say it averages about 4 or 5 emails deleted per second. Yes, for a few thousand emails this adds up to 10-15 minutes of waiting.
I got tired of waiting, so I decided to try out Mutt for the first time. In Mutt apparently you can delete a folder full of emails by pressing
D and then specifying
~s .* as the search pattern. Mutt deleted 8,000 spam emails for me instantaneously.
This is what I get when I ignore the collective wisdom of the Linux group-mind. I've long heard that Mutt is good but I never bothered trying it, because Thunderbird and KMail and friends were "good enough".
Complacency, my old nemesis. You have beaten me again. But I am now going to give Mutt a good try. Next on the list is zsh.
I woke up this morning to about 50 spam emails and some notifications from my host that my CPU usage was about 200% over the past four hours. Turns out
spamd was going mental. Not sure what caused it but it seems to be working again after I restarted it.
One of the worst things about running your own mail server is spam. I don't much about how to do it properly. I have SpamAssassin running, I tweaked the settings and trained it well, and it works OK. Of 8,000 spams in the past week or two, I think only two made it through to my inbox. But I keep thinking there must be a better way.
For a while I tried greylisting. Greylisting means you pseudo-bounce every email you get, and force the mail server to resend it. Once it's resent, that server is added to a whitelist. The idea is that spam servers won't bother resending and genuine mail servers will.
I ran this way via Postgrey for a couple months. The good thing is that it works pretty much as advertised. I went from hundreds of spam emails per day, to fewer than a dozen. SpamAssassin caught all of those dozen and I never saw them. It was nice.
The problem with this, however, is twofold.
All mail from people you've never heard from before is delayed 5-10 minutes. This is very annoying in certain circumstances, e.g. registering for an account at a new message board or buying something from an online store you never used before. I'd rather like to see the receipt or user registration right away. So to get around this I had to go add them to a whitelist on the server every time, which was ridiculous.
Not all genuine mail servers bother resending after the temporary bounce, so you lose mail. You need only look in
/etc/postgrey/whitelist_clientsand see the enormous list of mail servers that Postgrey knows NOT to greylist, to be scared into never using Postgrey again. This includes yahoo.com, ebay.com, a bunch of airlines, and so on. The list goes back to 2005 and obviously is an incomplete list, since it only includes servers that people reported having problems with. I had to add gmail.com to it myself to avoid losing mail from my wife (domains that use large pools of mail servers will always be greylisted, it seems).
Losing mail is the reason I stopped using Postgrey. So I'm back to SpamAssassin alone and dealing with an occasional spam or two, while my spam inbox balloons.
I can pretty consistently crash my X server nowadays just by opening too many programs. I think I need a new computer.
Or maybe my idea of "too many programs" has been warped by how well Linux multi-tasks. Let's see. I'm seeding 20 torrents in KTorrent, I have Amarok playing, Konversation has a few IRC channels open, Kopete is doing some Jabber for me, Akregator is fetching feeds every 10 minutes, Gimp has a dozen PNGs open, Emacs is visiting around 20 files (and running SLIME + Clojure obviously), Squirrel SQL is running so I can peek at mysql, I have maybe 5 or 6 Konsole windows open, and I have four browsers running (Firefox, Chromium, Opera, Konq) for testing my websites while I develop (multiple tabs in each obviously). And so on.
In Windows not only would the single, sucky taskbar be full to overflowing, but all of my programs would be slowed to a crawl. In Linux I somehow get away with this level of activity for days at a time, but eventually I do something wrong and something crashes. Just now, it was opening one Konsole window too many. I think it's KDE4 instability, or else my ancient video card can't handle the screen resolution I'm running. But I get crashes in Gentoo and Arch both so I don't know.
Buying a computer is such a pain. I never know what to get. I don't keep up with hardware news. Every time I turn around there are twelve new processor families. I know whatever I buy will suck in a month. My current computer is from way back in 2006 and I haven't upgraded it since. My geek cred is non-existent if judged by the computer I'm using. It's embarrassing.