I must disagree. We run SuSE at work for all our servers, and so when I moved from a
job where I was required to use software that was only available on Windows, I thought,
"well, gee, it'd be nice to be running the same OS as the servers, since my code will
eventually live on the servers..."
A half-day's frustration later, I said to my nearest FreeBSD zealot, "Okay, show me this
FreeBSD thing." An hour and a half later, I had a fully-functioning desktop. KDE even
played nice with all the apps that I installed. I will say that FreeBSD isn't as GUI-friendly
as SuSE in the area of administration, but for a minimal CLI effort, you get to rid yourself
of a lot of the package management nightmares that SuSE brings to the table.
This is absolute bunk! Most often, programmers would have a 5-10% stake in responsibility when compared with the mountainous bureaucracy above them. Consider how often a non-technical exec overseeing a software development project will agree to a contract that is nigh impossible to complete on-time. The customer holding that contract begins squeezing testicles, placing pressure (by extension, through the bureaucracy) on the entire development process. The exec says, "You mean there isn't a programmer writing or debugging code this very instant!? What a crime! You're not doing your jobs properly!" The truth of the matter is that ~30% of the project timeline should be research and design. Without a good design, and resources on-hand, bugs creep in. It is impossible to test quality into software, it must be designed in.
Programmers don't draft contracts, they don't set deadlines, they don't make budget decisions, and certainly aren't responsible for failing to keep bugs out of a system that was (due to poor decision making in the aforementioned areas) designed to have bugs.
I disagree with your disagreement. My SO didn't believe that anxiety disorders were "real" until she was diagnosed with OCD by a psychiatrist (after multiple doctor visits and lots of office visit fees). Once she read a few books about OCD, she realized that it wasn't "just the way she is" that makes her nitpick and yell at her husband about a decoration being 0.25" out-of-place. A blood test that could reveal these things would be a very interesting topic.
However, I would be very curious about the accuracy of such things, especially considering that anxiety disorders can be overcome. After reading the literature around OCD, I learned that researchers at UCLA (among others) has shown the areas of the brain in PET scans before and after treatment of OCD. The post-treatment scans look normal. Would that mean that such a blood test would return a negative result for a post-treatment OCD patient?
...these applications should have to compete on merit and cost. They should not be given an arbitrary leg up that shuts out other vendors and forces government agencies to settle on under-performing technologies.
This assumes (ass-u-me, lest we forget) that state government employees are always entitled to state-of-the-art business tools. Again, BUNK! State employees don't get Ferraris and Hummers with the state logo on the doors, so why should they get the software equivalent of these high-dollar, high-maintenance, can't-find-a-mechanic-in-a-200-mile-radius-to-work -on-it vehicles? Like my parent post stated, most state employees don't use the high-tech, fancy features of the Office® apps. The ones that do, well, they're sharp enough to do just the same with an open product.
I still don't understand the logic of these people, comparing high-dollar, proprietary software to open-source: "Hmmm, let's see, do I choose the software that's hard to install, that destroys backwards compatibility, and costs hundreds, or do I choose the piece of free software that's roughly equivalent, maybe minus some bells and whistles in one area for some extra features in another."
Am I the only one that is appalled to think that someone would pay for software when just-as-good-if-not-better software exists, FOR FREE?
"I am concerned that by requiring OpenDocument that Mr. Quinn [state CIO] may be aligning Massachusetts with what becomes a second-rate file format as Microsoft keeps expanding into XML and metadata and OpenDocument may have trouble keeping up."
First, most people don't even begin to scratch the surface of what most MS Office products can do, so they're not anywhere near the limits of what the file format can handle. Second, what do XML and metadata have to do with expansion or innovation? They're buzzwords! OpenDocument is XML! Heck, 95% of state employees would probably not be held up at all by switching their beloved Word®, Excel®, and PowerPoint® with the OpenOffice equivalents (I know, I've done system administration at a state agency). The other 5% are the ones that still don't understand why their passwords need to have at least one upper-case character, one lower-case character, one digit, and be at least 8 characters long. This is absolute bunk. If Microsoft is just now "expanding into XML and metadata" they're already light-years behind the open formats.
There is no reason, whatsoever, for binary files not to be shippable and usable under the same architecture across distros. The Linux community is smart enough to overcome this challenge (or perhaps just stubborn enough to get pissed off at it and make it work perfectly). Shipping source-only packages and requiring compilation is a sensless way to waste everyone's time. Why should I spend half a day compiling packages from source every time I install Linux? I can get a Linux box up-and-running in less than two hours because of binary packages.
Requiring everyone to compile everything is a big fat waste of clock cycles that would better be spent on something like Folding @ Home. The challenges of making binary compatibility work properly is irrelevant, and will be solved given enough time. Everything-on-Linux-compiled-locally is throwing the baby out with the bathwater.
The problem is that the "programmer" jobs are usually inflated-salary positions that belong to trade-school code monkeys, not CS grads. The pointy-hairs don't understand the difference.
Is someone who really needed to go through an eight-week course in PHP sharp enough to maintain a website for you? Probably. Can the same person be a successful design & development team member in a multi-tiered, multiple-application, database-driven, performance-critical software system? Probably not. Not that I'm guaranteeing that a CS grad would be able to do that (especially not fresh out of school), but a smart manager (if such a thing exists) would require at least a B.S. in Computer Science for the latter scenario.
The problem is not curriculum, the problem is bad management.
...don't have raised floors. They use cable trays that are hung from the ceiling. It's a beautiful thing if you've ever had to lay on your belly reaching under the floor trying to fish out a cable while the refrigerated air is blasting your face and drying out your eyes and nose. If this spec wants raised floors, I'll save more than $250 for myself and my company by designing the datacenter without this goofy spec, and use with easy-maintenance stuff like overhead cable trays.
Why not WRITE TOOLS and not just USE THEM for your job?
Because I have to account for the time that I spend on the job, and there's no way that my superiors are going to approve the time or resources to undertake anything more than a trivial development effort. Besides, there's no fscking way that I'd have the time, between fixing broken "cupholders", training the spam filters, managing upgrades/virus scans/spyware removal, babysitting the boss's personal laptop that he's screwed up YET AGAIN by using IE instead of "that funny-looking internet program" (read: Firefox) I installed for him in order to try to prevent such things from happening in the future, as well as implementing new technologies as they become appropriate (wireless, PDAs, etc.).
Who, if not sysadmins, would upgrade systems? You think software can do this? Do you think that software is going to magically scour the web for better, easier-to-maintain replacements for itself? Is it going to keep up on technology trends so that its hosting IT department continues to provide state-of-the-art computing services to the organization as a whole? Good luck writing software like that.
I'm sorry, no matter what you think, the whole world cannot be plug-and-play -- someone must do some configuration at some point. The computing world is never going to be so "magical" that you just plug in everything and it works. Yours is the type of thinking that makes system administrators a tolerated expense in the best case, and a nuisance and a drain in the worst case. I miss my old job, where people got fired for bad-talking the sysadmin. He wasn't anywhere near as busy, which meant when I needed him for something, he actually had time to help me.
So, back to the original comment, there are plenty of written tools to help sysadmins, like:
logrotate - when you're managing dozens, or hundreds of boxes, and shouldn't be doing it manually
Email-filtering utilities - because neither you nor the users should have to see all of those spam messages
DHCP - PnP networking - zero config
Virus scanners - because responding to "my computer is acting funny" shouldn't require manually scouring the system for things that look funny
However, I'd love to see what algorithms you're thinking of that would determine:
network topology
hostnames
which linux distro to use on the server
what it means when every day at precisely 2pm, Jim-Bob's printer won't work anymore
how to interpret the boss's most recent "i want our computers to do X" requests
So, why don't you just find yourself a job as a CEO, hire a bunch of programmers as sysadmins, and tell them all to write software that is intended to replace them. When you do, you might want to duck.
There is a school of thought that if you cannot explain what you've done, then what you did was worthless.
If it was hard to write, it should be hard to read.
I've found, as a programmer, and as a general "techie", my years of experience doing Quality Assurance (QA) has been rather valuable. I've learned from multiple former employers that they'd have increased my salary to match or beat the job I was leaving for if they knew how few programmers with good writing skills existed. I was forced to leave one company because they offered me $48k with sparse benefits to relocate to a place with 2x the living expenses (I was making $30k at the time). I now live in the same place, earn (take-home pay) about the same, and my former manager is kicking herself for letting me go so easily.
Anyone who's in a technical field should seek more opportunities to write. Get involved in open-source; OSS is always in need of people willing to write docs. Get on an IRC channel or mailing list where OSS devs frequent, and you'll have them banging on your e-door if you say you'd like to help write documentation. It's great experience, it's a wonderful thing to put on your résumé, and it helps give the OSS community a better public image.
In any case, there is no reason to perpetuate the stereotypical role of engineers and technical people by ignoring such a crucial area as technical writing. <dune>Long live the writers!</dune>
Are you sure about that? It's got infinite memory? Man, computing must've advanced quite a lot since I went to bed last night.
Technically, nothing is "Turing-complete". A Turing machine has a tape of infinite length extending in two directions. However, if you discount that (which is always what happens when someone refers to anything in RL as Turing-complete) then you're right - they're both "Turing-complete".
Besides, who needs a CS undergrad degree, if you want to learn to program, then grab a couple of books and learn, no need to sit in a class with a professor that hasn't ever worked in field try to teach you stuff you'll never use (bubble sort comes to mind).
There is a very big difference between a programmer and a computer scientist. A programmer might be able to write a program given a design, but a computer scientist would be able to write the design and make sure that it's solid. I'd run screaming from a significantly large piece of software designed by a mere programmer.
Finite State Automata, Big-O notation, working knowledge of compilers and hardware, and discrete mathematics are some of the things distinguish programmers' bodies of knowledge from computer scientists' - you'll find that such things are absent from the former. You'll also find that knowledge of such things leads one to design and implement vastly more robust software. If anyone intends to pursue a career in developing software, they should not settle for being a mere programmer.
It's also enjoyable to encourage the idea of perspective to a PC, e.g. a PC attempting to "move stealthily". How do you know if you moved "stealthily enough" to avoid detection? No sensible enemy is going to announce, "I see you!" whenever you don't successfully move. The DM rolls his dice behind the screen, and regardless of whether or not the PC was detected, the DM replies, "you succeeded in moving."
I must disagree. We run SuSE at work for all our servers, and so when I moved from a job where I was required to use software that was only available on Windows, I thought, "well, gee, it'd be nice to be running the same OS as the servers, since my code will eventually live on the servers..."
A half-day's frustration later, I said to my nearest FreeBSD zealot, "Okay, show me this FreeBSD thing." An hour and a half later, I had a fully-functioning desktop. KDE even played nice with all the apps that I installed. I will say that FreeBSD isn't as GUI-friendly as SuSE in the area of administration, but for a minimal CLI effort, you get to rid yourself of a lot of the package management nightmares that SuSE brings to the table.
This is absolute bunk! Most often, programmers would have a 5-10% stake in responsibility when compared with the mountainous bureaucracy above them. Consider how often a non-technical exec overseeing a software development project will agree to a contract that is nigh impossible to complete on-time. The customer holding that contract begins squeezing testicles, placing pressure (by extension, through the bureaucracy) on the entire development process. The exec says, "You mean there isn't a programmer writing or debugging code this very instant!? What a crime! You're not doing your jobs properly!" The truth of the matter is that ~30% of the project timeline should be research and design. Without a good design, and resources on-hand, bugs creep in. It is impossible to test quality into software, it must be designed in.
Programmers don't draft contracts, they don't set deadlines, they don't make budget decisions, and certainly aren't responsible for failing to keep bugs out of a system that was (due to poor decision making in the aforementioned areas) designed to have bugs.
I disagree with your disagreement. My SO didn't believe that anxiety disorders were "real" until she was diagnosed with OCD by a psychiatrist (after multiple doctor visits and lots of office visit fees). Once she read a few books about OCD, she realized that it wasn't "just the way she is" that makes her nitpick and yell at her husband about a decoration being 0.25" out-of-place. A blood test that could reveal these things would be a very interesting topic.
However, I would be very curious about the accuracy of such things, especially considering that anxiety disorders can be overcome. After reading the literature around OCD, I learned that researchers at UCLA (among others) has shown the areas of the brain in PET scans before and after treatment of OCD. The post-treatment scans look normal. Would that mean that such a blood test would return a negative result for a post-treatment OCD patient?
I still don't understand the logic of these people, comparing high-dollar, proprietary software to open-source:
"Hmmm, let's see, do I choose the software that's hard to install, that destroys backwards compatibility, and costs hundreds, or do I choose the piece of free software that's roughly equivalent, maybe minus some bells and whistles in one area for some extra features in another."
Am I the only one that is appalled to think that someone would pay for software when just-as-good-if-not-better software exists, FOR FREE?
Ya know that's great and all...unless you do nested subroutine calls.
You've got to be bloody kidding!
There is no reason, whatsoever, for binary files not to be shippable and usable under the same architecture across distros. The Linux community is smart enough to overcome this challenge (or perhaps just stubborn enough to get pissed off at it and make it work perfectly). Shipping source-only packages and requiring compilation is a sensless way to waste everyone's time. Why should I spend half a day compiling packages from source every time I install Linux? I can get a Linux box up-and-running in less than two hours because of binary packages.
Requiring everyone to compile everything is a big fat waste of clock cycles that would better be spent on something like Folding @ Home. The challenges of making binary compatibility work properly is irrelevant, and will be solved given enough time. Everything-on-Linux-compiled-locally is throwing the baby out with the bathwater.
Yahoo's test audience also will use a computer mouse to "drag and drop" ....
No wonder it's been so tricky! I've been using live rodents to drag-and-drop for a decade now.... If only I'd used a "computer" mouse....
The problem is that the "programmer" jobs are usually inflated-salary positions that belong to trade-school code monkeys, not CS grads. The pointy-hairs don't understand the difference.
Is someone who really needed to go through an eight-week course in PHP sharp enough to maintain a website for you? Probably. Can the same person be a successful design & development team member in a multi-tiered, multiple-application, database-driven, performance-critical software system? Probably not. Not that I'm guaranteeing that a CS grad would be able to do that (especially not fresh out of school), but a smart manager (if such a thing exists) would require at least a B.S. in Computer Science for the latter scenario.
The problem is not curriculum, the problem is bad management.
...don't have raised floors. They use cable trays that are hung from the ceiling. It's a beautiful thing if you've ever had to lay on your belly reaching under the floor trying to fish out a cable while the refrigerated air is blasting your face and drying out your eyes and nose. If this spec wants raised floors, I'll save more than $250 for myself and my company by designing the datacenter without this goofy spec, and use with easy-maintenance stuff like overhead cable trays.
...that this competition will be measured in FLOPS and not in MHz.
My post (the GP of this one) was supposed to say "<1%" (not just "1%"), but the HTML ate the <. Shoulda used preview!
I remember seeing this a while back on slashdot (ahh, there it is).
I can't find it in the discussion, but IIRC, the change would make a 1% change in energy consumption.
Because I have to account for the time that I spend on the job, and there's no way that my superiors are going to approve the time or resources to undertake anything more than a trivial development effort. Besides, there's no fscking way that I'd have the time, between fixing broken "cupholders", training the spam filters, managing upgrades/virus scans/spyware removal, babysitting the boss's personal laptop that he's screwed up YET AGAIN by using IE instead of "that funny-looking internet program" (read: Firefox) I installed for him in order to try to prevent such things from happening in the future, as well as implementing new technologies as they become appropriate (wireless, PDAs, etc.).
Who, if not sysadmins, would upgrade systems? You think software can do this? Do you think that software is going to magically scour the web for better, easier-to-maintain replacements for itself? Is it going to keep up on technology trends so that its hosting IT department continues to provide state-of-the-art computing services to the organization as a whole? Good luck writing software like that.
I'm sorry, no matter what you think, the whole world cannot be plug-and-play -- someone must do some configuration at some point. The computing world is never going to be so "magical" that you just plug in everything and it works. Yours is the type of thinking that makes system administrators a tolerated expense in the best case, and a nuisance and a drain in the worst case. I miss my old job, where people got fired for bad-talking the sysadmin. He wasn't anywhere near as busy, which meant when I needed him for something, he actually had time to help me.
So, back to the original comment, there are plenty of written tools to help sysadmins, like:
- logrotate - when you're managing dozens, or hundreds of boxes, and shouldn't be doing it manually
- Email-filtering utilities - because neither you nor the users should have to see all of those spam messages
- DHCP - PnP networking - zero config
- Virus scanners - because responding to "my computer is acting funny" shouldn't require manually scouring the system for things that look funny
However, I'd love to see what algorithms you're thinking of that would determine:- network topology
- hostnames
- which linux distro to use on the server
- what it means when every day at precisely 2pm, Jim-Bob's printer won't work anymore
- how to interpret the boss's most recent "i want our computers to do X" requests
So, why don't you just find yourself a job as a CEO, hire a bunch of programmers as sysadmins, and tell them all to write software that is intended to replace them. When you do, you might want to duck.There's a whole cage full of you guys at the zoo. I'm sure they aren't losing any sleep.
Doesn't matter much anyway; LARTing a wanker like you is a one-banana problem.
Could this large object out there possibly be responsible for the Pioneer Anomaly?
Thank you!
Hey, wasn't Kevin Bacon supposed to be in that list somehow?
I've found, as a programmer, and as a general "techie", my years of experience doing Quality Assurance (QA) has been rather valuable. I've learned from multiple former employers that they'd have increased my salary to match or beat the job I was leaving for if they knew how few programmers with good writing skills existed. I was forced to leave one company because they offered me $48k with sparse benefits to relocate to a place with 2x the living expenses (I was making $30k at the time). I now live in the same place, earn (take-home pay) about the same, and my former manager is kicking herself for letting me go so easily.
Anyone who's in a technical field should seek more opportunities to write. Get involved in open-source; OSS is always in need of people willing to write docs. Get on an IRC channel or mailing list where OSS devs frequent, and you'll have them banging on your e-door if you say you'd like to help write documentation. It's great experience, it's a wonderful thing to put on your résumé, and it helps give the OSS community a better public image.
In any case, there is no reason to perpetuate the stereotypical role of engineers and technical people by ignoring such a crucial area as technical writing.
<dune>Long live the writers!</dune>
Are you sure about that? It's got infinite memory? Man, computing must've advanced quite a lot since I went to bed last night.
Technically, nothing is "Turing-complete". A Turing machine has a tape of infinite length extending in two directions. However, if you discount that (which is always what happens when someone refers to anything in RL as Turing-complete) then you're right - they're both "Turing-complete".
Besides, who needs a CS undergrad degree, if you want to learn to program, then grab a couple of books and learn, no need to sit in a class with a professor that hasn't ever worked in field try to teach you stuff you'll never use (bubble sort comes to mind).
:: technician : engineer
There is a very big difference between a programmer and a computer scientist. A programmer might be able to write a program given a design, but a computer scientist would be able to write the design and make sure that it's solid. I'd run screaming from a significantly large piece of software designed by a mere programmer.
Finite State Automata, Big-O notation, working knowledge of compilers and hardware, and discrete mathematics are some of the things distinguish programmers' bodies of knowledge from computer scientists' - you'll find that such things are absent from the former. You'll also find that knowledge of such things leads one to design and implement vastly more robust software. If anyone intends to pursue a career in developing software, they should not settle for being a mere programmer.
programmer : computer scientist
Unless you leave the power on all the time, and actually use that wireless interface to control the train.
Although this would certainly sound more sinister spoken with a german or french accent.
(as requested)
"Nein! Ve vill NEVAH releenqueesh controal! Ze Eentahnet eez owaz, unt only owaz! muahahahaha!"
Thanks, I'll be here all week. Don't forget to tip your waitress.
It's also enjoyable to encourage the idea of perspective to a PC, e.g. a PC attempting to "move stealthily". How do you know if you moved "stealthily enough" to avoid detection? No sensible enemy is going to announce, "I see you!" whenever you don't successfully move. The DM rolls his dice behind the screen, and regardless of whether or not the PC was detected, the DM replies, "you succeeded in moving."
I wonder if there's any good human-interface text to read about designing this sort of thing.
This man's work gives much insight into UI design.
Oddly enough, I didn't know about him until I saw This memorial, which is linked to from the wikipedia article. RIP Jef Raskin.