Trying to turn logical artists into visual artists is likely to produce just as many terrible looking applications
The thing is, programmers are already being tasked to do designs all over the place, particularly in corporate backend systems. What's the old saying... if you can't do something right, learn to do it wrong really well.
As a side, one of the main problems with programmer designs is that computer science majors don't usually get training in usability or user interface design. Personally, I think this is an area programmers could excel at, and a solid background in usability and interface design will most often result in acceptable if not nice looking software.
I had a feeling someone was going to respond like this. This is not meant to be a discussion on robotics. We're not talking about solving computer vision problems like good continuation, edge detection, ocr, or any kind of image recognition. We're not talking about designing a robot to shop groceries.
The example was a human readable program for getting groceries. It does not require advanced knowledge of math to design or execute, otherwise nobody would be buying groceries. Now, the interpretter on the other hand, some people think it required someone with a strong mathematical background to design while others think it was simply the result of natural selection.
What is important to note in the context of math be important to algorithms is not the level of abstraction at which the algorithm operates, but the level of (non-instinctive) advanced mathematical knowledge required to generate that algorithm.
If you want to be the kind of engineer that implements other engineer's ideas then, by all means, blow off your math classes. But if you want to be someone who your peers turn to when they need help, do yourself a favor and learn the math.
Math is only important when the domain requires math (eg graphics). Despite inexperience, I've been one of the top devs at my past three jobs. What impresses people, and makes them come to you for advice, are things like delivering on time, giving people something better than what they initially seek out, taking an idea that someone thought was unworkable and making it work, understanding the business side of things. It's all about breadth and depth of experience, knowledge, and insightfulness. Practically the only math I ever do is basic financial or efficiency analysis. Eg, it will cost me X to build Y and this will probably free up Z amount of personnel time which costs Q.
What you are interpreting as an inability to memorize functions, is probably really just disinterest.
He's probably correct here. I remember taking cs graduate level classes in subjects like Axiomatic Semantics and Computability (eg NDTM) when all I wanted to do was study things like UI Design, Patterns, and development and testing methodologies. I think my biggest problem was the constant why-am-i-doing this voice in my head anytime I would sit down to work on the "important subjects".
When you think something is useless it can be very very difficult to settle yourself down and get through things, but if you go into software development, a CS degree out of engineering will be a significant advantage (especially early on). Take it from someone who's not only been in industry for a few years but also works with a university career services office. Admittedly, the recruiters who go through that office are the kind who recruit at colleges, but they're even biased against the Arts & Sciences CS people even though it's the exact same program as the CS engineering ones go through (with different general curriculum). Recruiters and coworkers everywhere are absolutely filled with professional biases and prejudices.
That said, it's sort of like following instructions for setting up a complex piece of software. Such rules, instructions, or guidelines are made for the people that follow them. You can skip a few steps if you understand the process and know what you are doing.
I think this is one of those everything is math definitions. Eg, is the procedure I use to get groceries math?
Write down list of things I need
Go to store
Walk ailes left to right.
Pay at check out.
Drive home.
Put stuff away
I mean, if you want to encapsulate that under math, fine, whatever, but the important thing to note is that actually doing/designing this algorithm does not require any sort of advanced knowledge of math.
I believe they have evidence people accessed the information. The story I read indicated someone found it on google. However, they have no evidence of illegal use of the information (presumably identity theft or what not). Anyways, if they put it up on a public server, accessing it is not illegal, otherwise we'd have to arrest the google bot.
The fundamental problem is that faculty and staff are the ones who actually need access to the data, not IT personnel. Once this group gets access to the data, the cat is out of the bag. There is no controlling what they do with it and this is not a tech savy or data responsible group of people.
After being a two monitor man for a number of years, I took the dive into three. The main problem I experienced was field of vision. I could really only focus on one and a half monitors at a time. Meaning, I could give one monitor full attention and kind of half monitor what was going on with an adjacent display.
One problem that resulted was that I was never really using three monitors at any given point in time. Another was that I had a tendency to lose track of certain applications. Finding a window was harder because you couldn't look at your displays and immediately know where something was, you had to scan to the left and right.
Banks don't pay 10% interest, but banks are a lousy place to invest your money. Mutual Funds tend to be a relatively safe investment which usually yield higher returns... of course there are no guarantees. My friend's family is investing in real estate. They just put down a $40,000 down payment and renters are meeting their mortgage + tax + insurance. This translates into $1200 per month straight into their equity and because of their set up, they're probably not going to have too many overhead expenses. So $1200 * 12 = $14,000 per year on a $40,000 investment... and that's not even counting the increasing value of the property. Higher risk, higher reward.
The best bank rates I see are close to 5%. That's long term cds. If you just put your money in a normal savings account, you're probably actually losing money because very few savings accounts pay interest matching the rate of inflation.
Seriously, if you're interested in investing, you should be looking into work options like 401Ks, maximizing your Roth or Traditional IRA contributions and in general maximizing your pre-tax investments. I think a book like Wealthy Barber is a good place to start. It's an easy read covering basics and it can be read in a couple of hours.
A prius does not cost $50,000. My mom bought one a few years ago and it was just a tad over $20,000.
At the time though, I thought it was a silly purchase from an economical perspective as she only drives 7,000 miles a year. Even now, with the gas prices going up, it's questionable whether the cost differential between that and a nice corolla and the increased risk of abnormal maintenance needs is worth the gas savings. 7000Mi/y / 30 MPG = 233 G. The Prius @45MPG could cover the same distance in 156 G... so you only save 77 G. $144 ($2/G) then, $231 ($3/G) now per year. If you keep the car for 8 years and gas prices remain constant, your only looking at around $1000-2000 in gas savings over the life of the car with low mileage driving patterns.
That said, many people drive 20,000 miles per year, and for them, the 3x ($3000-6000) savings may be worth it or at least around the break even point.
I think my mom bought the car for its environmental friendliness and its coolness factor rather than any perceived economical savings. There are probably other much cheaper more effective ways to help out the environment, but one can hardly argue with the coolness factor.
If you are thinking about doing an engine mod to save money, you should run the numbers before investing $10,000 into your car. In particular, look at the expected lifetime of the car and your cost savings per year. Also, it might not be a bad idea to take into account the interest you could earn on that $10,000 over the lifetime of the car. Eg, if the life of the car is 8 years, and you invest 10K at the beginning, well, that 10K earning 10% interest could pay for $1,000 worth of gass per year ($1,000/yr / $3/G * 30Mi/G = 10,000 Mi/yr... and you get to keep the $10,000.
Re:Don't mess with something that works
on
Office 12 Exposed
·
· Score: 1
A couple of observations:
There are a lot more people in the world that have never used office than there are people who have used office.
Office already does virtually everything you could want it to do and more. The primary problem is that it can be really hard to figure out how to do something or even if you can do something. In other words, the biggest area for improvement in Office is the interface.
Competitors like Open Office have many of the same features but arguably suffer even more in interface design.
People like to see new interfaces. When people bought 2003, they said, hmph, this looks exactly like XP, why'd I pay for this... until they saw the new Outlook (which everyone here loved).
Lastly, a substantial chunk of users are clue free when it comes to using Office at any level beyond extremely basic usage. For them, changing the interface isn't like pulling the rug out from underneath them because they never really understood or trusted the rug enough to stand on it in the first place.
WHen I was in college, there was no C++, PHP, and XML.
And of course these things shouldn't be part of the curriculum except maybe as 1 credit hour electives. The point was to illustrate the two extremes of the argument. On one hand, some people say this tech stuff belongs in a college curriculum. On the other hand, you have people who seem to instinctively refer people with complaints about computer science programs to trade schools.
if companies hired real "computer scientists" they may get web sites that work better with fewer people working on it. I'll cite on example for this theory--Google Maps. For years, all the map sites were clunky things
If computer science graduates made good interfaces, we wouldn't have had to wait nearly so long for Google Maps. Usability and interface design are exactly the kinds of things my computer science curriculum never went anywhere near. We didn't have a single course in either topic taught out of the computer science department. The only way to get an education in either area was to go to other programs like Industrial and Visual Design. Unfortunately, the courses taught out of these departments were geared towards their students and were entirely inappropriate for computer science students.
In my experience, computer science graduates make absolutely horrible interfaces. In fact, since the job is so often left up to them, I'd say that a lack of usability and interface design courses in computer science programs is one of the main reasons behind the perpetual "software crisis" we find ourselves in.
I don't do any "web stuff", so I can't comment on PHP and other web technologies. My perception is that those jobs tend to be in a lower tier.
The web is here to stay. It is important for lots and lots of businesses. When you are talking about a ubiquotous technology, the jobs within that area are not defined by the technology but by the people who fill those jobs. There are plenty of low tier web jobs, plenty of high tier web jobs, and plenty of multi-tier software development jobs where the web is only a small but highly important part of the job.
From a person who knows nil about VOIP tech... I remember going to an asterisk presentation last year and the impression I got was that there were serious drawbacks with SIP. I think that's why the asterisk devs came up with their own protocol for use in addition to SIP. This doesn't change the fact that Skype isn't built on open standards, but maybe it explains why they did their own thing instead.
On one side there are people who say, we need to learn C++, PHP, and XML in school. On the other extreme are people who respond to criticism of the applicability of computer science programs with go-to-a-trade-school arguments. Both sides misunderstand the issues.
The real problem is that very few people want or need a computer science education. Many people want an education in software development. A university education in software development is a full fledged engineering-like degree. It is NOT the equivalent of a trade school degree in "programming". For example, many of the topics discussed in the article are not the kinds of things one would typically associate with vocational training: interface design/usability/hci, Patterns, Project Management, Economics, Code Architecture, Testing/Debugging/Refactoring.
If you want to specialize, to it in your graduate degree.
Why even bother to have majors at the undergraduate level? Anyways, a computer science major doesn't prepare anyone for changing careers or life in the real world any more than a software development major would.
Eye-candy doesn't result in functionality Microsoft... shift your attention towards usability.
A lot of eye candy is usability oriented. For example, in Mac OS X, when you minimize a window, it kind of smoothly whooshes down to wherever it gets stored. This is eye candy, but at the same time it is a usability improvement because it gives the user a much better ability to track where that minimized window went. Transparent windows are, in theory, another example of eye candy that also functions in terms of usability. Anyways, functionality (features) and usability are usually in direct opposition.
If the hardware is available, why not make use of it? If a windowing system can improve usability by using a decent graphics card, then more power to it. As someone who is only a light/moderate pc gamer, I'm actually a little sick of having to buy a good video card solely for the few games I play. If the OS makes good use of it, at least I'll get a little more mileage out of the thing.
I'm also kind of eager to see mainstream systems requiring good graphics capabilities because it will hopefully raise the standards for graphics in many games. In the past, it's always seemed like certain pc games like football or baseball are all aimed at the capabilities of a 2 year old eMachine with onboard video. Maybe having good graphics capabilities in all pcs will revitalize the pc gaming industry.
Getting the right answer (as output) is important, but how you get there is equally important.
It sounds like correctness as potentially evaluated by a testing suite going off of a specification would be at least as important as code cleanliness/efficiency/style. Using regression testing suites would not solve all problems, but it seems like they would solve some. If you could work in regression testing into the curriculum somehow, there would be a value add for using the technology.
Perhaps the true value add is that you can see exactly which test cases fail while you are looking at a student's solution.
Another idea might be to let students run teacher supplied regression tests on their homework as they work on it. That way, they know when their solution is correct and when something is wrong. Maybe then you can focus more on evaluating style and maintainability and less time on correctness (because you will expect correct solutions).
Everyone I know uses scantron for multiple choice tests. If you're looking for some slightly more tech oriented solutions, here are some suggestions:
For multiple choice tests you could use off the shelf survey software like phpsurveyor or phpesp. Keep in mind these wouldn't necessarily be great at grading but it would let you easily analyze the test results question by question.
If you are grading programming assignments, you could develop your own testing suites using the *unit family of testing suites: nunit (.net), junit (java), phpunit (php), and I'm sure there are others. I think there's even some tools designed to evaluate test coverage like jcoverage (never used). Maybe you could have advanced students write test suites for the novice student assignments and evaluate/fix them with jcoverage... then use the test suites to automate testing of novice students.
Of course, there are only so many things that are easy to test in an automated fashion. You may have to give students exact specifications on interfaces and that may not always be desirable.
Don't even think about trying to switch people to Macs or introduce folks to firefox. If you have any success at all, you'll only be increasing the entropy in the environment making it even harder to manage. If you don't have success, you'll probably just end up with a bunch of suspicious users.
If the office is comfortable with Microsoft products and the old IT guy was comfortable with Microsoft products then you better get comfortable with Microsoft products asap. I'm not just talking about IIS/Exchange/Active Directory/SQL Server, but Outlook, Access, Word, Excel and Windows... the kinds of programs people use every day. It's a lot easier to change yourself than it is to change everyone and everything else.
That said, use what you know when you can.
Project 1: Create a reliable backup strategy for any systems that are not going to be completely rehauled in the next month. If you have funds, consider buying something like a buffalo terastation or scraping together a single system with massive storage and raid5.
Project 2: Add a nix based firewall or whatever you are comfortable with. If for whatever reason you can't do this, turn the firewalls on in the clients (assuming xp).
Project 3: Fix Email. If people use exchange features, use exchange but protect it from spam by running a nix based host with spam filters in front of it.
Focus on one thing at a time. Once you get these three things done, then start looking at the little things you can do to improve things. Do you have servers to monitor? Install nagios. Are there any trouble systems? Take care of them. Do you have problems pushing patches and auditing machines, solve it with SUS or other tools.
Once all of the critical systems are under control, start looking for low hanging fruit, not for yourself, but for your clients. Is the grade reporting system a piece of crap that everyone hates? Find something better. Is there a teacher somewhere teaching intro programming using notepad as an editor, set them up with something better and free whether it's sharp develop or jedit or whatever. Change things to improve people's lives, things that no one is going to fight to prevent you from changing.
Once you have built a track record of success, once people trust your judgement, then you can start exploring whatever preference based changes you think are best. When you suggest using XYZ, they will listen. Do you think your office should make a strategic commitment to Macs? Propose a pilot program using a single computer lab or a group of willing participants. Do you think people will benefit from using firefox? Pitch it to people and let viral marketting due its work. Maybe the foreign language teachers will be impressed by the translation extensions. Maybe the english teachers will fall in love with a form spell check extension.
Lastly, learn to work within your constraints. Eg... Do you really need backup power or will a couple of UPS's do?
That's a good point, but consider that with the things you describe above (psu, mem, mobo), the problem can be solved by replacing the part. With a dead hard drive, all of the data needs to be recrawled and all of the settings need to be restored. It could be a more painful process, but like you said, if you're really worried about it, you could buy two.
Did it strike anyone else as insane that this thing only had one hard drive? For $3,000, where's the raid array?
Ok, sure it's a search appliance and doesn't really hold any mission critical data, but if the hard drive crashes, how long is your search functionality going to be down? You'll need to get a replacement drive and rebuild your whole database (a slow crawl process). What about your configuration settings?
Me too. This seems about as appropriate as the daily show covering the stocks for about 15 minutes straight without a single joke.
Personally, I think most people don't bother to look at the categories, they just skim the headlines. Therefore even giving this a dedicated category wouldn't help. Content like this isn't appropriate on the main page. At the very least it should be handled like the Games section where you can opt to have it hit your personalized main page but otherwise you have to go to the games section.
I think in general, the crappiness of the site should have a discouraging effect proportional to the necessity of good web design in the project itself. Eg, I don't care what nagios's website looks like because they write server monitoring software with a minimal web interface. However, I do care what dotproject's website looks like because they make web based project management software.
Sometimes you get a case where there's a great web tool with a crappy website, but if this is the case, I think you have to ask why? Is the project mature? Is it stable? Does it have enough resources?
If the concern is CYA with bosses, then you can always say, "but did you see their site... it was a train wreck."
Guards don't always pay attention all the time and not always to the right thing. Their often highschool kids who are more interested in preening themselves or watching the hotties than maintaining a constant level of alertness for distressed swimmers (which is pretty hard to do).
They are often only paid $6-7/hr and the ones I've worked with aren't usually the most responsible group in the world. At my pool, a large percentage of the guards had decided the rules did not apply to them so we'd perpetually have problems with guards doing backflips (not allowed) off the boards and then members of the public wanting to do the same thing.
Even if they were super trained responsible professionals, it is impossible to maintain the level of alertness required to prevent the occassional lethal screwup. But their not even that....
I guess what I'm saying is it's not really feasible to expect guards to be able to catch everything especially considering the guards pools normally hire and the nature of the job.
Trying to turn logical artists into visual artists is likely to produce just as many terrible looking applications
The thing is, programmers are already being tasked to do designs all over the place, particularly in corporate backend systems. What's the old saying... if you can't do something right, learn to do it wrong really well.
As a side, one of the main problems with programmer designs is that computer science majors don't usually get training in usability or user interface design. Personally, I think this is an area programmers could excel at, and a solid background in usability and interface design will most often result in acceptable if not nice looking software.
I had a feeling someone was going to respond like this. This is not meant to be a discussion on robotics. We're not talking about solving computer vision problems like good continuation, edge detection, ocr, or any kind of image recognition. We're not talking about designing a robot to shop groceries.
The example was a human readable program for getting groceries. It does not require advanced knowledge of math to design or execute, otherwise nobody would be buying groceries. Now, the interpretter on the other hand, some people think it required someone with a strong mathematical background to design while others think it was simply the result of natural selection.
What is important to note in the context of math be important to algorithms is not the level of abstraction at which the algorithm operates, but the level of (non-instinctive) advanced mathematical knowledge required to generate that algorithm.
If you want to be the kind of engineer that implements other engineer's ideas then, by all means, blow off your math classes. But if you want to be someone who your peers turn to when they need help, do yourself a favor and learn the math.
Math is only important when the domain requires math (eg graphics). Despite inexperience, I've been one of the top devs at my past three jobs. What impresses people, and makes them come to you for advice, are things like delivering on time, giving people something better than what they initially seek out, taking an idea that someone thought was unworkable and making it work, understanding the business side of things. It's all about breadth and depth of experience, knowledge, and insightfulness. Practically the only math I ever do is basic financial or efficiency analysis. Eg, it will cost me X to build Y and this will probably free up Z amount of personnel time which costs Q.
What you are interpreting as an inability to memorize functions, is probably really just disinterest.
He's probably correct here. I remember taking cs graduate level classes in subjects like Axiomatic Semantics and Computability (eg NDTM) when all I wanted to do was study things like UI Design, Patterns, and development and testing methodologies. I think my biggest problem was the constant why-am-i-doing this voice in my head anytime I would sit down to work on the "important subjects".
When you think something is useless it can be very very difficult to settle yourself down and get through things, but if you go into software development, a CS degree out of engineering will be a significant advantage (especially early on). Take it from someone who's not only been in industry for a few years but also works with a university career services office. Admittedly, the recruiters who go through that office are the kind who recruit at colleges, but they're even biased against the Arts & Sciences CS people even though it's the exact same program as the CS engineering ones go through (with different general curriculum). Recruiters and coworkers everywhere are absolutely filled with professional biases and prejudices.
That said, it's sort of like following instructions for setting up a complex piece of software. Such rules, instructions, or guidelines are made for the people that follow them. You can skip a few steps if you understand the process and know what you are doing.
I think this is one of those everything is math definitions. Eg, is the procedure I use to get groceries math?
- Write down list of things I need
- Go to store
- Walk ailes left to right.
- Pay at check out.
- Drive home.
- Put stuff away
I mean, if you want to encapsulate that under math, fine, whatever, but the important thing to note is that actually doing/designing this algorithm does not require any sort of advanced knowledge of math.After spending several hours trying to explain his theorem to his wife, he determined secant understand it. Ok, I'm stretching....
Well, when Dr. Wilberger explained his great idea to his close circle of friends. They were all in a chord.
I believe they have evidence people accessed the information. The story I read indicated someone found it on google. However, they have no evidence of illegal use of the information (presumably identity theft or what not). Anyways, if they put it up on a public server, accessing it is not illegal, otherwise we'd have to arrest the google bot.
The fundamental problem is that faculty and staff are the ones who actually need access to the data, not IT personnel. Once this group gets access to the data, the cat is out of the bag. There is no controlling what they do with it and this is not a tech savy or data responsible group of people.
After being a two monitor man for a number of years, I took the dive into three. The main problem I experienced was field of vision. I could really only focus on one and a half monitors at a time. Meaning, I could give one monitor full attention and kind of half monitor what was going on with an adjacent display.
One problem that resulted was that I was never really using three monitors at any given point in time. Another was that I had a tendency to lose track of certain applications. Finding a window was harder because you couldn't look at your displays and immediately know where something was, you had to scan to the left and right.
Banks don't pay 10% interest, but banks are a lousy place to invest your money. Mutual Funds tend to be a relatively safe investment which usually yield higher returns... of course there are no guarantees. My friend's family is investing in real estate. They just put down a $40,000 down payment and renters are meeting their mortgage + tax + insurance. This translates into $1200 per month straight into their equity and because of their set up, they're probably not going to have too many overhead expenses. So $1200 * 12 = $14,000 per year on a $40,000 investment... and that's not even counting the increasing value of the property. Higher risk, higher reward.
The best bank rates I see are close to 5%. That's long term cds. If you just put your money in a normal savings account, you're probably actually losing money because very few savings accounts pay interest matching the rate of inflation.
Seriously, if you're interested in investing, you should be looking into work options like 401Ks, maximizing your Roth or Traditional IRA contributions and in general maximizing your pre-tax investments. I think a book like Wealthy Barber is a good place to start. It's an easy read covering basics and it can be read in a couple of hours.
A prius does not cost $50,000. My mom bought one a few years ago and it was just a tad over $20,000.
At the time though, I thought it was a silly purchase from an economical perspective as she only drives 7,000 miles a year. Even now, with the gas prices going up, it's questionable whether the cost differential between that and a nice corolla and the increased risk of abnormal maintenance needs is worth the gas savings. 7000Mi/y / 30 MPG = 233 G. The Prius @45MPG could cover the same distance in 156 G... so you only save 77 G. $144 ($2/G) then, $231 ($3/G) now per year. If you keep the car for 8 years and gas prices remain constant, your only looking at around $1000-2000 in gas savings over the life of the car with low mileage driving patterns.
That said, many people drive 20,000 miles per year, and for them, the 3x ($3000-6000) savings may be worth it or at least around the break even point.
I think my mom bought the car for its environmental friendliness and its coolness factor rather than any perceived economical savings. There are probably other much cheaper more effective ways to help out the environment, but one can hardly argue with the coolness factor.
If you are thinking about doing an engine mod to save money, you should run the numbers before investing $10,000 into your car. In particular, look at the expected lifetime of the car and your cost savings per year. Also, it might not be a bad idea to take into account the interest you could earn on that $10,000 over the lifetime of the car. Eg, if the life of the car is 8 years, and you invest 10K at the beginning, well, that 10K earning 10% interest could pay for $1,000 worth of gass per year ($1,000/yr / $3/G * 30Mi/G = 10,000 Mi/yr... and you get to keep the $10,000.
WHen I was in college, there was no C++, PHP, and XML.
And of course these things shouldn't be part of the curriculum except maybe as 1 credit hour electives. The point was to illustrate the two extremes of the argument. On one hand, some people say this tech stuff belongs in a college curriculum. On the other hand, you have people who seem to instinctively refer people with complaints about computer science programs to trade schools.
if companies hired real "computer scientists" they may get web sites that work better with fewer people working on it. I'll cite on example for this theory--Google Maps. For years, all the map sites were clunky things
If computer science graduates made good interfaces, we wouldn't have had to wait nearly so long for Google Maps. Usability and interface design are exactly the kinds of things my computer science curriculum never went anywhere near. We didn't have a single course in either topic taught out of the computer science department. The only way to get an education in either area was to go to other programs like Industrial and Visual Design. Unfortunately, the courses taught out of these departments were geared towards their students and were entirely inappropriate for computer science students.
In my experience, computer science graduates make absolutely horrible interfaces. In fact, since the job is so often left up to them, I'd say that a lack of usability and interface design courses in computer science programs is one of the main reasons behind the perpetual "software crisis" we find ourselves in.
I don't do any "web stuff", so I can't comment on PHP and other web technologies. My perception is that those jobs tend to be in a lower tier.
The web is here to stay. It is important for lots and lots of businesses. When you are talking about a ubiquotous technology, the jobs within that area are not defined by the technology but by the people who fill those jobs. There are plenty of low tier web jobs, plenty of high tier web jobs, and plenty of multi-tier software development jobs where the web is only a small but highly important part of the job.
From a person who knows nil about VOIP tech... I remember going to an asterisk presentation last year and the impression I got was that there were serious drawbacks with SIP. I think that's why the asterisk devs came up with their own protocol for use in addition to SIP. This doesn't change the fact that Skype isn't built on open standards, but maybe it explains why they did their own thing instead.
On one side there are people who say, we need to learn C++, PHP, and XML in school. On the other extreme are people who respond to criticism of the applicability of computer science programs with go-to-a-trade-school arguments. Both sides misunderstand the issues.
The real problem is that very few people want or need a computer science education. Many people want an education in software development. A university education in software development is a full fledged engineering-like degree. It is NOT the equivalent of a trade school degree in "programming". For example, many of the topics discussed in the article are not the kinds of things one would typically associate with vocational training: interface design/usability/hci, Patterns, Project Management, Economics, Code Architecture, Testing/Debugging/Refactoring.
If you want to specialize, to it in your graduate degree.
Why even bother to have majors at the undergraduate level? Anyways, a computer science major doesn't prepare anyone for changing careers or life in the real world any more than a software development major would.
Eye-candy doesn't result in functionality Microsoft... shift your attention towards usability.
A lot of eye candy is usability oriented. For example, in Mac OS X, when you minimize a window, it kind of smoothly whooshes down to wherever it gets stored. This is eye candy, but at the same time it is a usability improvement because it gives the user a much better ability to track where that minimized window went. Transparent windows are, in theory, another example of eye candy that also functions in terms of usability. Anyways, functionality (features) and usability are usually in direct opposition.
If the hardware is available, why not make use of it? If a windowing system can improve usability by using a decent graphics card, then more power to it. As someone who is only a light/moderate pc gamer, I'm actually a little sick of having to buy a good video card solely for the few games I play. If the OS makes good use of it, at least I'll get a little more mileage out of the thing.
I'm also kind of eager to see mainstream systems requiring good graphics capabilities because it will hopefully raise the standards for graphics in many games. In the past, it's always seemed like certain pc games like football or baseball are all aimed at the capabilities of a 2 year old eMachine with onboard video. Maybe having good graphics capabilities in all pcs will revitalize the pc gaming industry.
Getting the right answer (as output) is important, but how you get there is equally important.
It sounds like correctness as potentially evaluated by a testing suite going off of a specification would be at least as important as code cleanliness/efficiency/style. Using regression testing suites would not solve all problems, but it seems like they would solve some. If you could work in regression testing into the curriculum somehow, there would be a value add for using the technology.
Perhaps the true value add is that you can see exactly which test cases fail while you are looking at a student's solution.
Another idea might be to let students run teacher supplied regression tests on their homework as they work on it. That way, they know when their solution is correct and when something is wrong. Maybe then you can focus more on evaluating style and maintainability and less time on correctness (because you will expect correct solutions).
Everyone I know uses scantron for multiple choice tests. If you're looking for some slightly more tech oriented solutions, here are some suggestions:
For multiple choice tests you could use off the shelf survey software like phpsurveyor or phpesp. Keep in mind these wouldn't necessarily be great at grading but it would let you easily analyze the test results question by question.
If you are grading programming assignments, you could develop your own testing suites using the *unit family of testing suites: nunit (.net), junit (java), phpunit (php), and I'm sure there are others. I think there's even some tools designed to evaluate test coverage like jcoverage (never used). Maybe you could have advanced students write test suites for the novice student assignments and evaluate/fix them with jcoverage... then use the test suites to automate testing of novice students.
Of course, there are only so many things that are easy to test in an automated fashion. You may have to give students exact specifications on interfaces and that may not always be desirable.
Don't even think about trying to switch people to Macs or introduce folks to firefox. If you have any success at all, you'll only be increasing the entropy in the environment making it even harder to manage. If you don't have success, you'll probably just end up with a bunch of suspicious users.
If the office is comfortable with Microsoft products and the old IT guy was comfortable with Microsoft products then you better get comfortable with Microsoft products asap. I'm not just talking about IIS/Exchange/Active Directory/SQL Server, but Outlook, Access, Word, Excel and Windows... the kinds of programs people use every day. It's a lot easier to change yourself than it is to change everyone and everything else.
That said, use what you know when you can.
- Project 1: Create a reliable backup strategy for any systems that are not going to be completely rehauled in the next month. If you have funds, consider buying something like a buffalo terastation or scraping together a single system with massive storage and raid5.
- Project 2: Add a nix based firewall or whatever you are comfortable with. If for whatever reason you can't do this, turn the firewalls on in the clients (assuming xp).
- Project 3: Fix Email. If people use exchange features, use exchange but protect it from spam by running a nix based host with spam filters in front of it.
Focus on one thing at a time. Once you get these three things done, then start looking at the little things you can do to improve things. Do you have servers to monitor? Install nagios. Are there any trouble systems? Take care of them. Do you have problems pushing patches and auditing machines, solve it with SUS or other tools.Once all of the critical systems are under control, start looking for low hanging fruit, not for yourself, but for your clients. Is the grade reporting system a piece of crap that everyone hates? Find something better. Is there a teacher somewhere teaching intro programming using notepad as an editor, set them up with something better and free whether it's sharp develop or jedit or whatever. Change things to improve people's lives, things that no one is going to fight to prevent you from changing.
Once you have built a track record of success, once people trust your judgement, then you can start exploring whatever preference based changes you think are best. When you suggest using XYZ, they will listen. Do you think your office should make a strategic commitment to Macs? Propose a pilot program using a single computer lab or a group of willing participants. Do you think people will benefit from using firefox? Pitch it to people and let viral marketting due its work. Maybe the foreign language teachers will be impressed by the translation extensions. Maybe the english teachers will fall in love with a form spell check extension.
Lastly, learn to work within your constraints. Eg... Do you really need backup power or will a couple of UPS's do?
That's a good point, but consider that with the things you describe above (psu, mem, mobo), the problem can be solved by replacing the part. With a dead hard drive, all of the data needs to be recrawled and all of the settings need to be restored. It could be a more painful process, but like you said, if you're really worried about it, you could buy two.
Insane was too strong of a word. Our university just licensed a couple of the higher end models and from what I understand, people love them.
Did it strike anyone else as insane that this thing only had one hard drive? For $3,000, where's the raid array? Ok, sure it's a search appliance and doesn't really hold any mission critical data, but if the hard drive crashes, how long is your search functionality going to be down? You'll need to get a replacement drive and rebuild your whole database (a slow crawl process). What about your configuration settings?
Me too. This seems about as appropriate as the daily show covering the stocks for about 15 minutes straight without a single joke.
Personally, I think most people don't bother to look at the categories, they just skim the headlines. Therefore even giving this a dedicated category wouldn't help. Content like this isn't appropriate on the main page. At the very least it should be handled like the Games section where you can opt to have it hit your personalized main page but otherwise you have to go to the games section.
I think in general, the crappiness of the site should have a discouraging effect proportional to the necessity of good web design in the project itself. Eg, I don't care what nagios's website looks like because they write server monitoring software with a minimal web interface. However, I do care what dotproject's website looks like because they make web based project management software.
Sometimes you get a case where there's a great web tool with a crappy website, but if this is the case, I think you have to ask why? Is the project mature? Is it stable? Does it have enough resources?
If the concern is CYA with bosses, then you can always say, "but did you see their site... it was a train wreck."
Guards don't always pay attention all the time and not always to the right thing. Their often highschool kids who are more interested in preening themselves or watching the hotties than maintaining a constant level of alertness for distressed swimmers (which is pretty hard to do).
They are often only paid $6-7/hr and the ones I've worked with aren't usually the most responsible group in the world. At my pool, a large percentage of the guards had decided the rules did not apply to them so we'd perpetually have problems with guards doing backflips (not allowed) off the boards and then members of the public wanting to do the same thing.
Even if they were super trained responsible professionals, it is impossible to maintain the level of alertness required to prevent the occassional lethal screwup. But their not even that....
I guess what I'm saying is it's not really feasible to expect guards to be able to catch everything especially considering the guards pools normally hire and the nature of the job.