Yeah, Ubuntu is a good Linux... much less configuration shennaigans durring the installation than others I've tried. I have it on my main development box, and, in that capacity, I strongly prefer it to Windows. Multi-media support, not so much.
All in all, its a good free choice for cheap bastards such as myself.
As a result of this post I have learned about Xfce, so I thank you.
So, the next time you're about to pony up a few hundred dollars for an operating system
What is this "pony up" for software thingy? You mean pay? People do that?
In Phoenix, twice as many people do. Approximately.
Aren't you in charge of fraud prevention somewhere?
Well, actually I've had a couple jobs in fraud prevention, and at this one I'm not really in charge of anything, so maybe it's ok.
Ubuntu's fine. But Gnome / KDE and Open Office are ugly.
They're not pretty, but they're not annoying to look at. A couple of years ago I installed Suse 8 on the same system, and a lot of the onscreen text was unreadable before I fiddled with the fonts for a long time, so...
Is there anything that can be done on Linux and not on a mac?
Pissing your life away resolving library dependencies caused by upgrades to one bit of the system that break something somewhere else?
You might want to check out Automatix for a few extras to Ubuntu that can't be added the normal way.
Ubuntu is pretty nice. I use it as my primary operating system. The main thing that holds it back from being a parents/grandparents OS is device and particularly laptop support. You have to be *very* careful that your video and wireless chips are supported. Sleep/hibernate are not a sure thing.
Ogged, I'm interested in why you chose to try out Ubuntu? I wouldn't have figured you for just wasting time fiddling around with your computer.
Ben, exactly what chain of events led from this post to Xfce? I am confused.
10: There's nothing you can do on Ubuntu that can't be done on a Mac (Church-Turing thesis being what it is), but there are a few things it makes easier. Writing and debugging code is a big one. All of the tools you need are right there and available. You can install them all on a Mac (Apple even provides an all-in-one Developer Tools package), but it's not quite as seamless.
It's also much easier, as Ogged implied, to set up a full suite of free and open source software. Most of this software will run on a Mac, but it's typically not well-integrated with Mac OS. Although Linux apps are typically not "integrated" at all, there's a surprising number of GUI apps that are designed for GNOME or KDE.
I wouldn't have figured you for just wasting time fiddling around with your computer.
You figured wrong, Chris. I chose Ubuntu because I'm just starting to dabble in linux and it's supposed to be the most user-friendly of the distros.
11: On Windows this is called DLL hell. Why isn't this more common on Macs? Is there a technical reason, or does Apple just put a lot of effort into making upgrades smooth?
16 - Kinda-sorta. The frameworks you build against in Cocoa are newer (and thus have less legacy code in them), and there are some conventions that Apple adopted that make conflicts less likely.
I'd dispute 14 to some extent -- while I think the IDE situation for Linux (and Windows) is hugely better than that for the Mac, at this point isn't most puttering around with programming likely to happen with a run-time interpreted language?
I'll weigh in on the Mac/Linux question. I'm finding that, in fact, for even the basic linux user there isn't anything that can't be done on the mac; and a lot of things that can be done far easier on the Mac.
I'm a gentoo-er from years back, and I love it with an very-nearly-unholy passion. If it, on its own, weren't enough, the user fora are simply amazing. But (and it's a big one!) I'm a rapidly being seduced by the Mac, and what's doing it is the fact that I _can_ actually have the best of both worlds.
I use fvwm (gives you an idea of my vintage) with no frills, and the efficiency I can acheive in that environment is beyond anything I've ever managed elsewhere. Once I built this (fink, I love you, too), I stopped needing to move between machines. I have X setup to run in fullscreen mode on the mac and an external 3 button mouse (damn, I do not love the one button mouse!), and when I'm there, it's like I'm on my linux box -- all the same packages, all the same manoeuverability -- but when I want some of the candy (maybe really easy drag-and-drop pdf editing), I can hop with a single keystroke into the Mac world.
The tweaking is a little different, and I'm on a new intel mac, so things like mpi take a little help, but not much. Besides, if somebody is setting up mpi on their machine, they're probably not in the basic category, anyway.
Sorry, a bit long winded, but like I said, I'm being seduced. I want to share!
17: YMMV. My IDE is Emacs and Win/Mac Emacs have weird frustrating quirks (as does Cygwin in comparison to a native Unix shell). My claim was not as general as its phrasing suggested.
I wrote most of the manual for Evolution, if you've got any questions about that one. Although it's been awhile since I've used it-- I'm on Gmail nowadays, and almost everything I do is through Firefox.
One thing I like about Linux is the amount of software that comes with the default installation. File conversions, image utilities, that kind of thing. There's certainly quirks to be learned, but that's the case with anything.
Linux advantages: GIMP is the big one in my book-- it does pretty much everything PhotoShop does, but you don't have to pay five hundred bucks for it. That runs on Windows but not as easily, and isn't included in the default install. Also, OpenOffice is far better for Linux than it is for MacOS (and it's at least as good as it is for Windows).
Linux disadvantages: to me, the fact that the latest Flash is not available, and that there are no QuickTime or DVD playback options, are frustrating.
The earlier complaints about dependency-resolution are mostly handled by the system updater; unless you insist on mucking about with things at a low level, or running an unstable-bleeding-edge variant, it's pretty easy to avoid that kind of trouble.
Cheers,
Aaron
no QuickTime or DVD playback options
Is that true? (And I think I saw something about Quicktime playback, too.)
latest Flash is not available
Adobe's page says 9 is available for linux. And there's this.
21: I think the proper assertion is "no DVD playback legally available." This page has pointers to get most stuff working, but it sometimes requires breaking U.S. law.
Oh, and Automatix, linked above, will get you up-to-speed with most of that stuff too. You'll have to click-through several "I am not inside the U.S. and/or don't mind going to jail" dialogs.
Flash 9 is available; mplayer and VLC (and maybe xine) play DVDs and quicktime.
Ben, exactly what chain of events led from this post to Xfce?
There was a link at the Ubuntu page to something called Xubuntu, which was intriguingly named; it's apparently just Ubuntu + Xfce. Looks neat, but is perhaps not spartan enough for me. The 4.4 users sure do love transparency.
I'll pause here to note that ditching the mac window manager for fvwm seems bizarre.
As I recall, ripping to MP3 is one of the more annoying things to get configured. I've given up on that. I do all of my ripping and iPod managing on my old Mac. Which reminds me...
10: You can sync an iPod with Linux, but you really don't want to bother trying. Unless the phrase "rebuilding the filesystem" doesn't intimidate you.
Ben,
People who still use fvwm are bizarre. Of course, I work with people who willingly use 9wm (these are the same people who use Plan 9 OS, the main virtue of which, as far as I can see, is that Glenda, the astronaut bunny mascot is infinitely cuter than Tux the Penguin) (also, an Ed Wood-themed OS is just cool).
I seem to be sucking the air out of this thread.
Non-geeks: bunny!
As I recall, ripping to MP3 is one of the more annoying things to get configured.
On linux? Surely not! There must be dozens of rinky-dink ripping tools, and probably several that are neither rinky nor dinky. (Oh, you mean b/c of legal hurdles. Don't most distros just have separate packages you have to download knowingly?)
Some of the screenshots on the fvwm page don't look so bad, actually. And it's not as if my desktop setup is particularly pretty.
I don't know why I'm reading this thread (okay, probably so that I don't have to go start cleaning my goddamn office). Since, I am, though:
1. Thanks for the bunny;
2. it sometimes requires breaking U.S. law. Is there anyone who really cares about that, where DRM and the like are concerned?
30: Well, one of the earliest high-profile DMCA cases was about DVD playback, so certainly the economic elites "care about that." I don't think any Linux users have been hauled into court yet...
I've found programming on the Mac to be just as easy if not easier than on Linux - who knew how far ahead of it's time NextStep was? XCode is slick and free; for your command line tools gdb/gcc/etc all come with. I even got the gcc toolchain for the AVR microcontrollers to build comparatively painlessly - the only issues were a few endianness bugs.
Well, since my configuration of fvwm involves 6 workspaces, soft edges, no icons, and a plain background, it's what works for me. I like the stripped down form, and once I got it there (a long time ago) changing it seems dumb. And, I should mention, I do everything from xterms (mostly on remote machines), and essentially nothing with gui's (the closest I get is gnuplot, really). That might make me excessively geeky, but also very clever. Ha.
For work time I'm usually in my fvwm world, and play time on the mac -- and the dashboard all the time, because I loves it!
As for the various video issues, I use very little, but I've never had problems with playback of anything, and for good resource usage, a well configured gentoo system is impossible to beat. And I've found that legality issues are readily skirted in linux -- which might be just because I'm more familiar with it.
Can I just mention, I love the geek (bizarre geek?) conversation over here? I got back from lecture, and there were geeky comments! Whee! Way, way better than teaching.
I chose Ubuntu because I'm just starting to dabble in linux
Actually because I recommended it.
No, I had it before you recommended it, Ben, but your recommendation did play a very small part in my decision to go ahead with installing it.
And thanks to Chris for the Automatix recommendation. Tried it last night, with much success and happiness.
Hey perhaps one of you guys could advise me: I'm trying to convince my employer that performance of a server application (running on a RedHat box) would scale better if there were not one thread created for each client. It is supposed to serve 1000 clients and the app could probably function with 1000 threads; but (a) it would not function at all with 2000 threads which who knows, maybe we would want to serve 2000 clients, and (b) I hypothesize that its performance in the 1000-client scenario would be better with maybe 50 threads each serving 20 clients. Is there any good writing to back up my hunch?
Clownae, all your comments begin with "Hey".
Would you entertain the notion of changing it up a little, as a gift to your public?
I have to be true to myself, SB.
That's what people tell you who want to keep you down. You're done listening to them! Aspire!
Yeah, Clown, grasping at such a self is the cause of suffering. Give it up.
Wasn't Clown quitting? Where's the willpower, Clown?
He ended up just shifting his commenting hours so that instead of stealing time from his employer he steals it from his family.
Clown, I don't think there's any general principle to cite. Maximizing the throughput of concurrent servers is your classic "fiddle with it till it's right" kind of problem. Are you proposing a message-based architecture? Are you concerned about memory or synchronization overhead?
If you just want something to point at, you might try John Ousterhout's "Why Threads Are a Bad Idea (For Most Purposes)"
I've heard that on Unixy systems spawning processes is usually more efficient than creating threads, but I don't really know anything.
Yeah spawning processes isn't an option in this context. The basic thing of it is, creating a whole lot of threads inside a single process in (at least) Linux on 32-bit architecture is not a great thing to do; each thread needs a stack frame, and before too long you've eaten up all your virtual memory and where are you going to keep your data? This goes up against "But if we change the design of the program it will mean writing code..."
This is a really interesting research project, but it may not be appropriate for your environment:
http://capriccio.cs.berkeley.edu/
Thanks Chris, I'll take a look.
49: I'm not an expert, but I think a process spawn is always more expensive than a thread spawn; it's just that on Unix it's like 10 times as expensive instead of 100 times as expensive.
53 -- That is true; but you could potentially spawn off thousands of processes and have them all execute (assuming the machine has enough memory and processing power), whereas even spawn 1000 threads (using a 2M stack frame, which is 1/5 as big as the default stack frame but still probaby big enough) and your process will be getting close to running out of virtual memory it can address.
54: Agree that 1000 threads in a single process is a bad idea.
If you just want something to point at, you might try John Ousterhout's "Why Threads Are a Bad Idea (For Most Purposes)"
Note that Ousterhout ranks "C++ programmers" as marginally more wizardly than "C programmers" -- a totally debatable assertion.
Hm. "ranks" should be pointing to this image: http://www.softpanorama.org/People/Ousterhout/Threads/img006.gif
Or rather, http://www.softpanorama.org/People/Ousterhout/Threads/img005
.gif.
56: The whole talk is filled with debatable assertions! See, for example, Why Events are a Bad Idea (For High-Concurrency Servers). It's just propaganda to take to your boss!
I agree that his lower limits on wizardliness are off. I think he's just trying to say you have to be moderately more wizardly to program C++ well, which shouldn't be controversial since the base language is more complicated.
Yah ok, I could buy that. Just that (a) I can program C and C++ well, and it strikes me as about the same amount of difficult to do either one; and (b) I don't really think programming well (even with threads!) is really the mark of a wizard, as I do not consider myself one.