Once upon a time, in a land far-far away, I ran the IT department of a medium sized company. We weren't so big that I was the CIO, but I did repot directly to our corporate president (who reported to noone else, since he owned the company). A few hundred seats total, offices in 14 states, most of which were home offices, that sort of thing. I had a staff of eight, including four first-line phone technicians, and on the whole the entire operation ran quite smoothly.
The only times I had major problems, or heard of major complains, about a system administrator was when they started making one major flaw in their perception: that IT was there to do things in a way that was best for IT.
When a system administrator begins to believe that their entire function is self-serving, that they are there to support their own operations, that's when I've seen things go bad. Regardless if you are an IT consultancy firm, or an internal IT department, the sole purpose of IT is to play a supportive role in the organization. It's important to recognize that if IT didn't show up for a week, things would probably be okay (backup tapes would *really* need to be changed), but if the sales and customer service departments didn't show up for a week, we'd be damn near out of business.
I always tell people to think about their product. What is it you produce? System administrators, software engineers, they produce things that let *other* people get their work done *more* efficiently. If it's difficult for the sysadmin or developer to do, who cares? They aren't there to make life easier for themselves, or to devise some system that's perfect on the whiteboard but impractical in the real world - they are there to bring practical, cost-effective efficiencies to their end users.
Now, if you have a guy going around unplugging peoples network cables at the switch because they pissed him, fire that guy and hire a professional.
I've had a real problem with this; I definitely feel my anxiety level increase whenever I am "disconnected" for any length of time. Case in point: my honeymoon.
We honeymooned in Hawaii (Maui), and while there I stayed up on email via my Treo, corresponding with people back at the office. I took great care to make sure that I did this while my wife was asleep, or at other times when we weren't together. Still, when my boss discovered that I had been reviewing code for my team while on my honeymoon he immediately had my phone's data service disconnected. At first, I was rather frustrated at being cut off, but after about 24 hours I just left the damn phone in my suitcase. In the end, my vacation was better for it.
Disconnecting is definitely a tough thing to do for extremely connected people, but it's well worth it if you can manage the first 24 hours of information drought. I was more relaxed, less concerned with time; basically, everything that I should've been doing while on vacation in the first place.
Of course, I also had 2300 emails when I got back.;-)
I wasn't saying their choice was incorrect; I was saying it was funny. Windows (XP Embedded or CE) can also work well for embedded devices (I should know; I've written several embedded automotive applications that ran on both Windows and Linux).
I found it funny, like way back in '98 when Microsofts' web site was run on a Sun SPARC.;-)
If it runs Linux, why does the video clip of it in action require Windows Media Player?
I sincerely hope this is the result of the video hosting service, and not the company itself. Sometimes you have to wonder at the schizophrenia endemic to the corporate world.
Anxiety is an interesting beast. To a point, anxiety actually increases performance; beyond a certain point, anxiety dramatically reduces performance. Personally, I've always had problems with anxiety during tests; the most effective means I've found to combat it is to recognize when I'm beginning to lose control of my anxiety level. When I see that begin to happen, I take steps to calm myself down; I repeat to myself that I'm well prepared for the material at hand, that I've studied an appropriate amount, and that should I fail in this endeavor it is not for lack of preparation.
Anxiety is actually a pretty interesting topic; I've read articles in the past where they studied the anxiety levels of NASCAR racers and fighter pilots, and found that the level of anxiety which reduces performance in those peoples is radically and unexplainably high; essentially, they are neurologically wired to cope with high-stress environments. Not everyone is; some people find ways to adjust to high-stress environments, and others don't. Invariably, the exact method that works for you will be a personal one.
The ability to continue functioning in, for example, a sleep-deprived state might help a student in college, but it is by definition a short-term augmentation. Programmers, who might work on a project for months, prove their worth not by their ability to work extreme hours, but by their innate cognitive abilities. Their is no pill that will make you a great puzzle-solver. Alternatively, these drugs might do wonders to enhance the ability of a person to spend hours memorizing facts and figures, but those same people will fail to grasp the fundamental underlying science or concept.
As an example, I could teach a four year old that e^(i*Pi) + 1 = 0 (Eulers Formula) - furthermore, given a week or two, I could probably even get that same four year old to be able to repeat the entire series of steps to arrive at this formula. That child could then wow people with his "knowledge". But the child would have no idea who Euler was, what Euler's Formula means, etc.
At best, you'd end up with a person in your workplace who exhibits extremely erratic behavior.
I've done a great deal of VB programming over the years, and I've seen all manner of projects written in VB that never should have been. Now, the poster did not specify if they were talking about VB ala VB 6, or VB.NET - the two are completely different in so many respects an argument for/against one doesn't translate very well to the other.
Here's my two-cents, by language/environment:
VB6 --- If you're writing business applications, VB6 will get you through. Manipulating very large datasets can be a bit of a challenge, and you're always going to have problems with user experience (due in large part to a complete lack of multithreading). Applications can be made that are *functional*, although your resultant UI will always seem dated.
VB.NET ------ This is an entirely different beast. You've got a much more powerful langauge on your hands, with as much power and expressivity as Java - it is quite straightforward to produce a modern, performant application with little muss or fuss.
My suggestion, if VB is an absolute must, would be to insist (as best you can) on VB.NET. Now, that being said, VB is not a magic bullet - VB/VB.NET/C#/Java, they are all languages designed to allow a programmer to express their thoughts, and it's quite easy to produce unworkable software with any of them. Do not allow yourself to fall into the 'C# is better than VB.NET' arguments, simply because they are completely non-sensical; the power of any.NET language lies in the.NET Framework, and the language chosen should be the one you are most syntactically comfortable with. That being said, I abhor the syntax of VB.NET; C# is more my cup of tea, but in the end they are (with minor exceptions) functionally equivalent. It takes about the same amount of work to do one thing in either.
I've worked professionally in VB, VB.NET, Java, Perl (alot of Perl, in fact), C#, and C/C++, and I must say IMO the most expressive langauge is C++, hands down. I love Perl, and you can do an amazing amount of things with it, but the power and flexibility of C++ is unmatched in the list above. VB.NET/C#, however, can be excellent choices for presentation-centric applications (Windows Forms applications or Web Forms). In the past, I've worked on projects that combined the two; a C# GUI that interfaced with a C++ server component. It worked great.
Any.NET language can interoperate with libraries written in any other.NET language (assuming the library conforms to the CTS), but the same goes for VB applications; in VB, you're dealing strictly with COM, a technology designed to allow components written in disparate languages to interoperate.
Short Story: If you're writing a business-focused application with limited or no multithreading needs, VB works; If you need a modern GUI with all the latest bells and whistled VB.NET/C# should be examined; If you need high-performance, minimal runtime requirements, and low-level system interaction, look somewhere else. Real-time equipment monitoring, for instance, is a task best left to C++. The rest can be done in VB or a.NET language.
Fantastic.
I forgot that April Fools Day was an entire day wasted to completely meaningless drivel posted to an otherwise newsworthy site.
C'mon Slashdot, you've been around what, 10 years now? Time to grow up and dispense with the april fools crap.
Having trained literally hundreds of programmers, I must say the finest programming language to train up on is Perl. I know, I just heard an audible gasp from the majority of Slashdot viewers, but let me explain.
First off, these are programmers who had typically graduated from college with a Computer Science or Mathematics degree; the problem was, they had never worked in a corporate environment, and had no experience with the stresses and research requirements of corporate software development. After trying numerous methods of training, I eventually settled on Perl for a few reasons; one, a great number of our systems were written in Perl, and two, perl is a very expressive and forgiving language.
Expressive, in that you can do a great deal with it, with a minimal of fuss, and forgiving, in that you have (albeit ugly to OOP purists) an OOP environment without the ugliness of memory management. It is very easy to quickly get a working application together, and in my experience, individuals could quickly get up to speed on our internal systems written in Perl.
Now, that's not to say that Java couldn't do the same thing here (and, as C# is very simliar to Java, C# may be a great choice as well). When I was using Perl as my training facility, Java wasn't nearly as approachable as it is now - the tools have gotten much, much better.
You should also take into account the types of people you are training. Are they science majors? Or are they really people who are just interested in software development, but have no rigorous background in logical thinking?
He's not asking "How do I release my program as closed source?". He's asking, "How do I keep abunch of 20 year olds who are going to be playing on a unix box, with root access, from editing my program all the damn time and blowing it all to hell?".
I'm a manager of software engineers, as well as a software engineer myself, and whenever I meet someone who knows more than me or is smarter than I am, I do whatever I can to hire that person. Will this person be out to get my job? Doubtful - if I'm hiring qualified people, then my department - which is my responsibility - is doing its' job, therefore so am I.
I've worked for people who knew a lot less that I did; that isn't a problem. The real problem comes up when you work for someone who *doesn't* know as much as you, but thinks he does and requires that you do your job the wrong way.
Think about it - this guy can be frustrating, almost like having your Uncle Ed (that annoying relative that calls you all the time asking if his new keyboard will increase the RAM in his computer) at work all day, but in the end if he lets you do your job and doesn't get in your way, why bother trying to usurp/reform him? He's done his job - he's managed to build a department of smart, capable people, who can perform the tasks under his purview. He's not supposed to do them himself, he's supposed to know how to get *other* people to do them in an efficient manner.
Management requires an entirely different skill set than what most people think. Does it help if the manager can do everyone elses' job in his department? Absolutely - but it's not required, it's only required that he understand the *difficulty* and *qualifications* neccessary to perform the jobs that fall under his jurisdiction.
Honestly, it doesn't sound like you're in that bad of a situation.
I agree that an ISP (or any corporation for that matter) should take reasonable steps to protect a customers privacy, and I concur that negligence in that arena would probably be grounds to sue.
I do not agree, however, that a corporate entity has the responsibility to refuse to comply with a subpoena in order to protect its customers' right to privacy - accept in remarkable circumstances. Case in point, Verizon refusing to turn over records to the RIAA; those subpoenas were issued directly by the RIAA, as you recall, and were issued under a portion of a law that was later ruled unconstitutional (if memory serves).
Most subpoenas, however, have been issued and vetted by a judge, which, according to our legal systems, gives them the full force of law. Why would you expect any corporate entity to go to the lengthy and expensive process of combatting every subpoena they might receive, when those subpoenas have been reviewed by individuals closely associated with the case in question? Additionally, what if the information delivered in fulfillment of subpoena actually exonerated the customer of any wrongdoing? Would you disagree with it then?
You seem to forget that we actually have a functioning democracy in this country, and while abuses of the laws do exist (DMCA, for instance, RIAA subpoenas, for another), for the most part the system works pretty darn well.
Also, you might want to read the Wikipedia entry on Subpoena.
ISP's that I've worked for in the past have all had the same policy - no customer records are delivered to any law enforcement or governmental agency without an appropriate subpoena. In the presence of a subpoena, however, they've all turned over the appropriate records.
Granted, an ISP can fight these subpoenas, but that would be an enormous legal burden - and why should an ISP subsidize a customers legal problems?
If they could see me now,
Out on a sweat shop cruise,
OSHA cant say shit because there are no rules,
If the could see me now they'd saaayyyyyy...
This is the dumbest idea I've ever heard. I think they've grossly underestimated the costs to maintain and keep a ship of that size - and that's what'll be their financial undoing.
Someone did. It's called pico.
Three words:
1. He
2. Is
3. Insane
'Nuff said.
Once upon a time, in a land far-far away, I ran the IT department of a medium sized company. We weren't so big that I was the CIO, but I did repot directly to our corporate president (who reported to noone else, since he owned the company). A few hundred seats total, offices in 14 states, most of which were home offices, that sort of thing. I had a staff of eight, including four first-line phone technicians, and on the whole the entire operation ran quite smoothly.
The only times I had major problems, or heard of major complains, about a system administrator was when they started making one major flaw in their perception: that IT was there to do things in a way that was best for IT.
When a system administrator begins to believe that their entire function is self-serving, that they are there to support their own operations, that's when I've seen things go bad. Regardless if you are an IT consultancy firm, or an internal IT department, the sole purpose of IT is to play a supportive role in the organization. It's important to recognize that if IT didn't show up for a week, things would probably be okay (backup tapes would *really* need to be changed), but if the sales and customer service departments didn't show up for a week, we'd be damn near out of business.
I always tell people to think about their product. What is it you produce? System administrators, software engineers, they produce things that let *other* people get their work done *more* efficiently. If it's difficult for the sysadmin or developer to do, who cares? They aren't there to make life easier for themselves, or to devise some system that's perfect on the whiteboard but impractical in the real world - they are there to bring practical, cost-effective efficiencies to their end users.
Now, if you have a guy going around unplugging peoples network cables at the switch because they pissed him, fire that guy and hire a professional.
My $0.02.
I've had a real problem with this; I definitely feel my anxiety level increase whenever I am "disconnected" for any length of time. Case in point: my honeymoon.
;-)
We honeymooned in Hawaii (Maui), and while there I stayed up on email via my Treo, corresponding with people back at the office. I took great care to make sure that I did this while my wife was asleep, or at other times when we weren't together. Still, when my boss discovered that I had been reviewing code for my team while on my honeymoon he immediately had my phone's data service disconnected. At first, I was rather frustrated at being cut off, but after about 24 hours I just left the damn phone in my suitcase. In the end, my vacation was better for it.
Disconnecting is definitely a tough thing to do for extremely connected people, but it's well worth it if you can manage the first 24 hours of information drought. I was more relaxed, less concerned with time; basically, everything that I should've been doing while on vacation in the first place.
Of course, I also had 2300 emails when I got back.
Regards,
Bryan Porter
And here I was all hot and bothered, thinking they were going to move to Cyrix chips.
Oh well.
I wasn't saying their choice was incorrect; I was saying it was funny. Windows (XP Embedded or CE) can also work well for embedded devices (I should know; I've written several embedded automotive applications that ran on both Windows and Linux). I found it funny, like way back in '98 when Microsofts' web site was run on a Sun SPARC. ;-)
If it runs Linux, why does the video clip of it in action require Windows Media Player?
I sincerely hope this is the result of the video hosting service, and not the company itself. Sometimes you have to wonder at the schizophrenia endemic to the corporate world.
chmod 700
Tada!
Anxiety is an interesting beast. To a point, anxiety actually increases performance; beyond a certain point, anxiety dramatically reduces performance. Personally, I've always had problems with anxiety during tests; the most effective means I've found to combat it is to recognize when I'm beginning to lose control of my anxiety level. When I see that begin to happen, I take steps to calm myself down; I repeat to myself that I'm well prepared for the material at hand, that I've studied an appropriate amount, and that should I fail in this endeavor it is not for lack of preparation.
Anxiety is actually a pretty interesting topic; I've read articles in the past where they studied the anxiety levels of NASCAR racers and fighter pilots, and found that the level of anxiety which reduces performance in those peoples is radically and unexplainably high; essentially, they are neurologically wired to cope with high-stress environments. Not everyone is; some people find ways to adjust to high-stress environments, and others don't. Invariably, the exact method that works for you will be a personal one.
And to boot, you'd get to page 3 pretty quickly since every four sentences results in yet another page so they can show lots of ads.
Seriously, I refuse to read Tom's Hardware because they go out of their way to make me not able to read it.
The ability to continue functioning in, for example, a sleep-deprived state might help a student in college, but it is by definition a short-term augmentation. Programmers, who might work on a project for months, prove their worth not by their ability to work extreme hours, but by their innate cognitive abilities. Their is no pill that will make you a great puzzle-solver. Alternatively, these drugs might do wonders to enhance the ability of a person to spend hours memorizing facts and figures, but those same people will fail to grasp the fundamental underlying science or concept.
As an example, I could teach a four year old that e^(i*Pi) + 1 = 0 (Eulers Formula) - furthermore, given a week or two, I could probably even get that same four year old to be able to repeat the entire series of steps to arrive at this formula. That child could then wow people with his "knowledge". But the child would have no idea who Euler was, what Euler's Formula means, etc.
At best, you'd end up with a person in your workplace who exhibits extremely erratic behavior.
There is no smart pill. Sorry.
Everyone knows that, in the future, computers will rule the world and those computers will use humans for batteries.
Duh. Not capacitors! Stupid MIT!
I've done a great deal of VB programming over the years, and I've seen all manner of projects written in VB that never should have been. Now, the poster did not specify if they were talking about VB ala VB 6, or VB.NET - the two are completely different in so many respects an argument for/against one doesn't translate very well to the other.
.NET language lies in the .NET Framework, and the language chosen should be the one you are most syntactically comfortable with. That being said, I abhor the syntax of VB.NET; C# is more my cup of tea, but in the end they are (with minor exceptions) functionally equivalent. It takes about the same amount of work to do one thing in either.
.NET language can interoperate with libraries written in any other .NET language (assuming the library conforms to the CTS), but the same goes for VB applications; in VB, you're dealing strictly with COM, a technology designed to allow components written in disparate languages to interoperate.
.NET language.
Here's my two-cents, by language/environment:
VB6
---
If you're writing business applications, VB6 will get you through. Manipulating very large datasets can be a bit of a challenge, and you're always going to have problems with user experience (due in large part to a complete lack of multithreading). Applications can be made that are *functional*, although your resultant UI will always seem dated.
VB.NET
------
This is an entirely different beast. You've got a much more powerful langauge on your hands, with as much power and expressivity as Java - it is quite straightforward to produce a modern, performant application with little muss or fuss.
My suggestion, if VB is an absolute must, would be to insist (as best you can) on VB.NET. Now, that being said, VB is not a magic bullet - VB/VB.NET/C#/Java, they are all languages designed to allow a programmer to express their thoughts, and it's quite easy to produce unworkable software with any of them. Do not allow yourself to fall into the 'C# is better than VB.NET' arguments, simply because they are completely non-sensical; the power of any
I've worked professionally in VB, VB.NET, Java, Perl (alot of Perl, in fact), C#, and C/C++, and I must say IMO the most expressive langauge is C++, hands down. I love Perl, and you can do an amazing amount of things with it, but the power and flexibility of C++ is unmatched in the list above. VB.NET/C#, however, can be excellent choices for presentation-centric applications (Windows Forms applications or Web Forms). In the past, I've worked on projects that combined the two; a C# GUI that interfaced with a C++ server component. It worked great.
Any
Short Story: If you're writing a business-focused application with limited or no multithreading needs, VB works; If you need a modern GUI with all the latest bells and whistled VB.NET/C# should be examined; If you need high-performance, minimal runtime requirements, and low-level system interaction, look somewhere else. Real-time equipment monitoring, for instance, is a task best left to C++. The rest can be done in VB or a
Have fun!
Bryan
==
And to think, I thought my personal opinion on the content of this site on april fools day would be read and understood by thinking adults.
I was wrong, too.
Fantastic. I forgot that April Fools Day was an entire day wasted to completely meaningless drivel posted to an otherwise newsworthy site. C'mon Slashdot, you've been around what, 10 years now? Time to grow up and dispense with the april fools crap.
Having trained literally hundreds of programmers, I must say the finest programming language to train up on is Perl. I know, I just heard an audible gasp from the majority of Slashdot viewers, but let me explain.
First off, these are programmers who had typically graduated from college with a Computer Science or Mathematics degree; the problem was, they had never worked in a corporate environment, and had no experience with the stresses and research requirements of corporate software development. After trying numerous methods of training, I eventually settled on Perl for a few reasons; one, a great number of our systems were written in Perl, and two, perl is a very expressive and forgiving language.
Expressive, in that you can do a great deal with it, with a minimal of fuss, and forgiving, in that you have (albeit ugly to OOP purists) an OOP environment without the ugliness of memory management. It is very easy to quickly get a working application together, and in my experience, individuals could quickly get up to speed on our internal systems written in Perl.
Now, that's not to say that Java couldn't do the same thing here (and, as C# is very simliar to Java, C# may be a great choice as well). When I was using Perl as my training facility, Java wasn't nearly as approachable as it is now - the tools have gotten much, much better.
You should also take into account the types of people you are training. Are they science majors? Or are they really people who are just interested in software development, but have no rigorous background in logical thinking?
Good luck!
Bryan Porter
==
Morrissey is involved with this, too?? How does he find time between cutting albums?
Please make this true.
Mod this parent down.
He's not asking "How do I release my program as closed source?". He's asking, "How do I keep abunch of 20 year olds who are going to be playing on a unix box, with root access, from editing my program all the damn time and blowing it all to hell?".
Different question.
I'm a manager of software engineers, as well as a software engineer myself, and whenever I meet someone who knows more than me or is smarter than I am, I do whatever I can to hire that person. Will this person be out to get my job? Doubtful - if I'm hiring qualified people, then my department - which is my responsibility - is doing its' job, therefore so am I.
I've worked for people who knew a lot less that I did; that isn't a problem. The real problem comes up when you work for someone who *doesn't* know as much as you, but thinks he does and requires that you do your job the wrong way.
Think about it - this guy can be frustrating, almost like having your Uncle Ed (that annoying relative that calls you all the time asking if his new keyboard will increase the RAM in his computer) at work all day, but in the end if he lets you do your job and doesn't get in your way, why bother trying to usurp/reform him? He's done his job - he's managed to build a department of smart, capable people, who can perform the tasks under his purview. He's not supposed to do them himself, he's supposed to know how to get *other* people to do them in an efficient manner.
Management requires an entirely different skill set than what most people think. Does it help if the manager can do everyone elses' job in his department? Absolutely - but it's not required, it's only required that he understand the *difficulty* and *qualifications* neccessary to perform the jobs that fall under his jurisdiction.
Honestly, it doesn't sound like you're in that bad of a situation.
I agree that an ISP (or any corporation for that matter) should take reasonable steps to protect a customers privacy, and I concur that negligence in that arena would probably be grounds to sue.
I do not agree, however, that a corporate entity has the responsibility to refuse to comply with a subpoena in order to protect its customers' right to privacy - accept in remarkable circumstances. Case in point, Verizon refusing to turn over records to the RIAA; those subpoenas were issued directly by the RIAA, as you recall, and were issued under a portion of a law that was later ruled unconstitutional (if memory serves).
Most subpoenas, however, have been issued and vetted by a judge, which, according to our legal systems, gives them the full force of law. Why would you expect any corporate entity to go to the lengthy and expensive process of combatting every subpoena they might receive, when those subpoenas have been reviewed by individuals closely associated with the case in question? Additionally, what if the information delivered in fulfillment of subpoena actually exonerated the customer of any wrongdoing? Would you disagree with it then?
You seem to forget that we actually have a functioning democracy in this country, and while abuses of the laws do exist (DMCA, for instance, RIAA subpoenas, for another), for the most part the system works pretty darn well.
Also, you might want to read the Wikipedia entry on Subpoena.
ISP's that I've worked for in the past have all had the same policy - no customer records are delivered to any law enforcement or governmental agency without an appropriate subpoena. In the presence of a subpoena, however, they've all turned over the appropriate records. Granted, an ISP can fight these subpoenas, but that would be an enormous legal burden - and why should an ISP subsidize a customers legal problems?
If they could see me now, Out on a sweat shop cruise, OSHA cant say shit because there are no rules, If the could see me now they'd saaayyyyyy... This is the dumbest idea I've ever heard. I think they've grossly underestimated the costs to maintain and keep a ship of that size - and that's what'll be their financial undoing.