I've got a Linux box running on a set of eclectic hardware working as an arcade machine. The monitor needs very special and specific modelines to run, hates KMS, and has some hardware that does not work right under the standard HID input driver. The machine is currently running Fedora 18 and I build a custom kernel with a patch for HID and KMS, and a very funny looking X config. This stuff is not any harder to do, in fact building a kernel was easier than back in the day. "make install" will actually put the kernel into grub, throw it in
Of note, switching versions of complex software like X would break your system back then too, just as bad, if not more so. APIs back then were way more unstable, changing from time to time, and upgrading something that had a lot of dependencies would usually lead to breakage back then.
Honestly I'm glad that now people are predominately using stock distro kernels, making things saner in the support realm. It is not beautifully simple to build your own kernel if you don't know what you're doing. There's a huge amassing of various options, subsystems, and drivers that is daunting for someone who deals with low-level system configuration, let alone some new user. These distro kernels are much better for updating, are well-tuned for most applications (most people will not do better in hand-tuning a kernel, but it is possible to do better) and honestly it's not wasteful to use a few extra kilobytes for this or that in a kernel when you have gigabytes of memory.
If you want to go to something that requires by-hand configuration for every component and doesn't have the ability to configure itself to reasonable defaults, be my guest! I'll stick with things that work most of the time, personally.
Well, yeah, but it's a lot of new code for this release. I'm hoping in Erwin's Kitty they will have an advanced button that will help out. If nothing else, at least have a way to get more package granularity.
Thing is, I don't want everyone and their brother submitting patches to a project I work on. I prefer the coding to be done by a core group of people I've vetted and know they are willing to maintain what they submit. I'd much rather get feedback to see if my ideas are headed in the right way my userbase wants it to be headed. Sure, I don't always go in that direction, but it's helpful to see what they want. And it way beats a poorly written patch submitted by someone who doesn't want to maintain it.
Besides, if GNU didn't exist, Linus would likely have used the MINIX userspace and then switched to the BSD one when he outgrew it. Sure, there are some nice things about GNU, but BSD would have done just as well.
Learning "virtual machines" is kind of meaningless in and of itself, and unless you have a pressing need to become an expert in a specific package, don't tie yourself to anything specific. If you're just trying to run linux and windows (or something similar) just do it; or if you're planning on an OS zoo, do that.
As far as desktop software goes, virtualbox is decent for free; but I've found it to be unstable if it's pushed too hard. Vmware workstation is much more stable, but a pain to pony up the cost.
Secondly, this whole thing is a tactic that the Christian right of getting into scientific or academic positions, being loudmouthed about their beliefs, and finally getting themselves canned for other reasons and shout that they are fired for being Christian. They do this to try and promote the idea that Christians are being persecuted, and that they need more recognition. It's a scummy tactic that these evangelical groups are trying to use to gain power. No, evangelicals, you are not being persecuted in this country; just because someone tells you to be quiet in a place you aren't supposed to be mouthing off about anything doesn't make it an oppression of your religion; no, because something is offensive to your beliefs does not make it an attack on your beliefs, you have no right to be not offended.
Well, first off the basic thing is speed. SUA has kernel hooks for syscall translation. It's able to do many of the POSIX syscalls in a much quicker fashion than Cygwin. Cygwin, on the other hand, does *everything* for POSIX syscalls in userland, causing it to be slow (for example, a fork, at times can take *seconds* to complete).
So, SUA is much better this way... problem is, it's tricky to get things to compile for it, I never did get things building reliably for it. Cygwin has a full suite of programs already built, and it's much easier to build existing Linux/UNIX/POSIX programs for than SUA.
Being a Windows user who needs *NIX tools for many processing tasks, what do I use? Cygwin. Easier to set up and get running. The speed drives me insane, though. My login script, which runs many programs before bringing up my bash prompt will take 5-6 seconds.
Ideal solution: Hyper-V or some other VM software running a VM in the background that I can get a terminal to, that has filesystem access to my system drives too.
Most Universities have *very* well stocked libraries that are catered to the colleges. At my Uni we have millions of books at our disposal, *all* of the peer-reviewed journals for the fields taught and it's all kept up-to-date.
As far as the peer group is concerned, I'm about a half a year behind most of my immediate peers, and they are *all* going off to prestigious jobs in the bay and in Seattle.
Structure is an important part of the curriculum here, and while structure may not suit some, it's a good approach for most when coming to learn a diverse and complex field. CS and computer engineering are both extremely diverse, and without some structure to learn the basics and roots, you will have a much poorer experience.
Experts. Flat out. I have interacted with some of the most amazing professors in their fields. People like Jeff Erickson and Sanjay Patel. The *real* experts are not only patient, but understanding, and when you have a need to go to them, they help you to the best of their ability.
Time. You have four years where you're exploring academia. You can prod and poke at areas of interest to find what suits you. To find out what you want to make your name in. You can even pick a spot and explore further. It's rewarding for those who are willing. I actually returned after poo-pooing it the first time around. I'm so glad I did.
Wow... never at any of the places that I interviewed at was this true, and I've corrected interviewers on some points at times on some things (and got the job). Good people *never* feel threatened by someone who's smarter than them, in fact they welcome that person. I surround myself with people who are smarter than I am daily.
Good people will learn from the smarter people, not edge them out; they will work cooperatively to get the job done and get it done as well as possible.
From being someone who's been on both sides of the interview, both before and after education at a top school, I can say what you're claiming is quite BS except at poorly run places.
Class projects sure can show passion when you internalize them and take them seriously. When interviewing about these projects I talk about them with quite a bit of zeal.
Applications you've made because of a school project will not count.</p></quote>
Well, I think it depends on the project. Sure, the maze solver for my data structures class isn't all too impressive, but for my software systems class the project is "write an OS" and for my computer organization class the project is "here's some gates, make a pipelined 16-bit CPU with x points of advanced features". Those two projects alone, if done well, are impressive on a resume.