"I don't know," is never a good answer, but it is often the right answer.
Reminds me of my asm instructor in college -- on exams he would actually subtract points for wrong answers (and do nothing on questions left blank). He told us guessing is a bad habit to get into, and he didn't want anyone writing, say, auto-pilot software, just guessing when they weren't really sure.
Why is it discouraging? Java's not a great language/platform, but it's not the worst. The one I use the most and like the most is C++, and that gets plenty of bashing here on Slashdot, as being, essentially, too powerful and flexible. Bottom-line, ya gotta go were the money is. Hell, I even took a VB job once, during the dot-com heyday (for a 20% raise, and I was out of work at the time).
One other note: the first murmurings of going to web services/service-oriented architectures is starting where I work, and I haven't taken any classes in it yet, but it occurred to me, it may matter less and less in the future what language you do use. While C++ and Java classes and COM objects and EJB's only know how to call methods on their own kind, with their own particular infrastructure for achieving those calls, if apps are instead composed of network-addressable pieces with XML-based interfaces, then the language a module is written in becomes merely another internal implementation detail that clients need not know or care about. As a JVM could be written for any machine, it seems to me a SOAP-to-<any language> binding could be made available.
Re:I realized something while reading the article.
on
Intro to Encryption
·
· Score: 1, Flamebait
And why is my article modded flamebait?!
Simple, because you failed to include at least one of the following in your post:
M$ sux
SCO sux
Walmart sux
Capitalism sux
Bush sux
Ashcroft sux
That's why I switched to Firefox
That's why I switched to Linux
I for one welcome our new...
Article mirrored here [www.innocentsoundingdomain.com?redir=goatse.cx]
Looks like this is supported in a security update back to Outlook 98. Don't know if this is applied by Windows Update, but visiting the Office update site would prompt to apply this, by default. (They really need to merge all their patch sources into one. The customer doesn't care how MS may have divided itself up into business units. Grandma just wants to go to one page on the MS site and be brought up-to-date.)
Re:Being able to decompile code....
on
Decompiling Java
·
· Score: 1
...can be handy when trying to figure out the advantage of one coding idiom over another.
Isn't this beside the point of Java? Java's strengths are security, runs on different OS's, high-level OO abstraction, etc. Performance is not one of them, so isn't this like tweaking the engine in your Civic? If it makes you happy, fine, but if performance is the goal, you should start out with something where performance is already one of its strengths. Choosing idioms based on how they're translated to byte codes seems inappropriate for the platform -- they should be chosen for things like readability, extensibility, decoupling, etc. I.e. all high-level things, as you're using a high-level language.
If we socialize the telephone and pay for it entirely out of telemarketer taxes, then they can call me to their hearts content.
There's an interesting thought (I'd use a mod point if I had 'em at the moment). Except then if they were paying for it, they'd definitely want to feel like they were getting their money's worth, and would end up saturating the system with their calls, thereby killing it off as a communication medium, as then everyone would just unplug their phones and cancel their service. I don't see how everything can't eventually end up white-list only, whether it be phones, email, whatever, as the boundaries of "acceptable" intrusiveness are pushed farther and farther.
"I recently bought a high-performance automobile...", and then later on references Evo and Lancer web sites! Holy cow, batman, this site must be dominated by college kids more than I realized. Sorry, I'm not that old, but when I saw "high-performance", I was thinking, cool, someone got a Vette or Viper or 911 Turbo or something! With SUV's seemingly commonly having 300+ hp these days, I guess when I think "high-performance" I think of 400 hp as the bar nowadays (with the braking and handling and styling to go with it). Oh well, "scaled-down" high-performance is probably safer -- one is less likely to kill themself in a Subaru.
Haven't we been hearing on Slashdot that Microsoft products are inherently insecure because security needs to be designed in? Timely fixes are a good thing, and I understand that Firefox isn't 1.0 yet. But if it or any other browser for that matter doesn't appear to be designed any more secure than any other, then a major reason for switching from IE is greatly reduced.
Bummer. Unfortunately, being a Slashdot reader, and a "grumpygrodyguy" on top of that, it's probably safe to say there'll be no bush for you in 2005 either!:-)
You may have missed WebCowboy's point, and that is the opinion that an unrestricted democratic process is so important that it should trump even privacy issues. Don't know if I totally agree, but worth an Interesting mod, if I hadn't posted already in this thread.
The Supreme Court is often the only institution standing between the rights of minorities and the tyranny of the majority, and that my friend is a very, very good thing freedom in general.
Agreed. And the converse is true as well -- there can be tyranny of the minority, with a sympathetic judge. Until we get rid of activist judges who rule based on what they think America should become instead of what the Constitution says about it, if anything, and until, ahem, a certain side of the political spectrum ceases and desists trying to change America through the courts because they know they could never achieve popular opinion for many things, then some additional checks and balances on the Judicial Branch is worth looking into. BTW, I don't like the idea of Executive Orders, either -- our tripartite form of government has served us well for over 2 centuries, but when branches encroach upon another's role and throw out of balance what the founders put into place, that is a very, very bad thing for freedom in general.
And that's why the comment ratings on Slashdot have gone into the crapper. There is nothing "insightful" about what the OP said. Gee, the average person doesn't want to think about computer security. What a great insight that no one would have known if garcia hadn't told us. If I had mod points, I would have a tough time deciding between modding it (grossly) overrated, or flamebait for the Bush cheap-shot. Look, the OP's comment is an understandable reaction to reading the article, so the default rating of 1 is fine, but it certainly isn't adding anything valuable to the discussion as to warrant +4. Too many moderators here confuse "Insightful" with "I agree".
What do you do? What threading/GUI/networking/DB/utilities (such as regex) libraries do you use?
We do scientific 3D modeling with OpenGL in C++ on Windows (we have some other stuff that runs on Solaris, that I'm not involved with).
* Threading - As a company we've standardized on pthreads. In the past I've used Win32 API calls for threading. * GUI - MFC and the Win32 API. It looks like the company is currently considering switching to Qt. * Networking - Winsock. After calling the non-standard WSAStartup(), you can eschew the other WSA* calls and program it BSD socket style. * DB - MS provides the nice high-level but robust ADO. * Utilities - Haven't had a need yet to do regexp'ing in C++. But, for example, for XML, Apache's Xerces C++ implementation of the SAX2 parser seems extremely fast and I've had no reliability issues with it. MS provides one as well.
You see, as with Java, typically the platform provides the facilities you need (if the entity, incidently often commercial, behind the platform wants developers to write for it!).
What development environment / automated testing/build environment?
Visual C++ 6.0 is very nice. The first place I worked at had makefiles to run nightly builds with VC++'s command line tools (which, incidently is what the IDE drives). And as with everywhere I've worked so far, developer unit testing is rather informal. QA has automated testing tools.
In each of this areas Java will bring rather larger productivity gains. It is not just code. It is things like automated testing frameworks, ANT, 3rd party libraries working much more reliably.
Here's where you may be showing your age/inexperience. Do you think we all used to just sit around doing nothing, waiting for Sun to invent Java, so that we could finally be productive and accomplish something? VB'ers have been cranking out business apps hyper-productively for years.
Considering the fact that almost everything in Linux and the opn source arena is a knock-off of something else, accusations of "copying" ring loud and false.
Did you just say what I thought you said? Doesn't that make about as much sense as "he's been dishonest all his life, so you can hardly call him a crook."
...I honestly don't see the point of jumping on the Java-.Net-Mono bandwagon when I'd have to relearn everything to gain practically nothing.
Reminds me of what I had read once on the creator of C++'s homepage: "Java isn't platform independent; it is a platform.". It certainly is from a developer's point of view. I'll probably get serious about Java some day, but that's exactly what's been stopping me -- I'm already extremely knowledgable and proficient on one platform, so switching is just taking a step backwards as far as productivity. My boss (a non-techy) envisions Java projects likely coming our way in the future, and I've told him I'll become proficient in it like I am in C++, but point out that it won't buy us anything, such as additional capabilities. I'll just be learning how to do all that I can already do right now, just in a slightly different language with a completely different set of libraries. Same goes for.Net.
I almost hate to add this, as you seem to be very satisfied with the work at your big company, so I'll direct this to people in general at your stage in your careers: I've worked for 4 companies, 2 very large, and 2 very small, and in all cases, business people ran the companies, and they don't know (not surprisingly) anything about how to do technology right. So things were screwed up to some degree, and it showed in the product. My advice is to take pride in your own work, and do the very best you can and do it the right way, even if everyone around you is incompetent or doesn't care, but understand that ultimately it's just a job. I would not go into the office if I was independently wealthy -- that's how I know it's just a job. I can advise -- in fact, I feel it's part of my duties -- but ultimately I cannot control the decision-makers of the company and keep them from screwing over something good -- that's how I know it's just a job. If you want/need more than that, contribute to some open source project, or write some freeware or something. If you're really happy with your work and company, it's up to you how you weight that with the level of pay raises. I've never known a non-f'ed up company, so for me salary is pretty much king.
Re:Wish I had a job before/during the bubble.
on
What The Bubble Got Right
·
· Score: 3, Interesting
When (if?) things get better, you have to job hop a little. Luckily so many people overdid it during the boom that it's perfectly respectable nowadays if you don't get ridiculous about it (like a friend of mine, in search of his first Beemer, who had 8 jobs in 1 year, some he quit after only 2 weeks!). It sounds like you're at a big company (3% raises). When you can, go to a couple of small companies next. I got invaluable experience and knowledge that way, and because you're relied upon to be able to do a little bit of everything for the company, you get better than big company raises. Then once you've gotten your salary up, you go back to the big companies as a "senior" engineer, for the killer 401K matching!:-)
Anyway, a bad mod doesn't indicate a liberal leaning for slashdot. It indicates a liberal leaning for some random moderator, no more than that.
Or not even that -- conservatives are theoretically just as capable of confusing uninsightful with simply disagreeing, and make a bad mod. So I'd say Slashdot's liberal leaning must be indicated by something else. Maybe more UNIX people are Lefties? I get the impression there are a lot of college kids that participate here, and it may be the ones that feel the most impassioned to speak out tend to lean left.
The nice thing about having the news media, for the most part, on your side, is that you're simply not asked questions that you'd want to duck. So he talks about what he did decades ago as a young man in Vietnam (which may or may not be all true), and ignores his rich, historical record of Senate votes when he was an older, wiser man, and the news media plays along. I don't care what anyone running for office did 30 years ago -- I want to know what they've done and thought and how they've conducted themselves in, say, the last 10 years, if I'm going to use it as any indication of how they would be in office in the near future. But it's looking like I'm not going to be finding out.
Maybe Kerry will do like Al Gore and walk up to Bush when it's Bush's turn to answer the question, and try to block him out or steal the spotlight or whatever Gore was thinking at the time! (What the devil was he thinking at the time?) Theoretically, a candidate can conduct themself as sleazy as they want, as long as there are more people* that view it as simply "going the extra mile" than something distateful. *I'm simplifying here, of course -- we have an electoral college system, thank goodness.
Who cares about Lynux or whatever, can't you see that we must all work together so that the kind of filaments in my toaster prevail over ALL OF ITS EVIL COMPETITORS!!! Geez, I can't believe how you kooks can get so caught up in meaningless minutae when something of real importance hangs in the balance. ;-)
Human: I like your blue eyes.
ALICE: A lot of people like that. Yes I am proud of my blue eyes..
Human: Do you wear colored contacts?.
ALICE: Only when I dress up..
Human: I'd like to see your dress up!.
ALICE: And for my part, I would like to show it to you, but I can't.
I sure get tired of hearing this inane "vote no matter what" shit. If you are registered to vote and take the time to understand the issues and what the candidates are saying (and what they're hiding) and you vote, you have my admiration as good citizen, even if you vote opposite of me. If you're registered to vote and you have no clue what's going on and don't give a fuck and you go and vote anyways, fuck you, you suck. Democracy only works when people intelligently exercise their ability to effect a change.
Sorry for being so pissy, but I know people who never vote because they are so absorbed in their own little lives that they don't know or care about anything larger than themselves and maybe their families -- there are people who should not vote, and these are they.
Dang, you may as well be a Hare Krishna trying to slowly convert everyone in your company. About as appropriate. What does this have to do with the goals of the organization? No wonder suits think us geeks have no business sense. We don't, we're too caught up in our kooky little invented pseudo-causes/religions. And then we bitch about our jobs going away. The foolhardy FOSS zealotry on here is self-destructive, and damages us all.
Doing it Right is only realistic in academia. In the business world, you just need to "Do It Better"
I would agree, with the understanding that the "it" in "doing it better" means everything, and not just software development. That is, for commercial software, it includes marketing it better than competitors. For FOSS, it includes evangelizing it better.
"I don't know," is never a good answer, but it is often the right answer.
Reminds me of my asm instructor in college -- on exams he would actually subtract points for wrong answers (and do nothing on questions left blank). He told us guessing is a bad habit to get into, and he didn't want anyone writing, say, auto-pilot software, just guessing when they weren't really sure.
One other note: the first murmurings of going to web services/service-oriented architectures is starting where I work, and I haven't taken any classes in it yet, but it occurred to me, it may matter less and less in the future what language you do use. While C++ and Java classes and COM objects and EJB's only know how to call methods on their own kind, with their own particular infrastructure for achieving those calls, if apps are instead composed of network-addressable pieces with XML-based interfaces, then the language a module is written in becomes merely another internal implementation detail that clients need not know or care about. As a JVM could be written for any machine, it seems to me a SOAP-to-<any language> binding could be made available.
Simple, because you failed to include at least one of the following in your post:
Looks like this is supported in a security update back to Outlook 98. Don't know if this is applied by Windows Update, but visiting the Office update site would prompt to apply this, by default. (They really need to merge all their patch sources into one. The customer doesn't care how MS may have divided itself up into business units. Grandma just wants to go to one page on the MS site and be brought up-to-date.)
Isn't this beside the point of Java? Java's strengths are security, runs on different OS's, high-level OO abstraction, etc. Performance is not one of them, so isn't this like tweaking the engine in your Civic? If it makes you happy, fine, but if performance is the goal, you should start out with something where performance is already one of its strengths. Choosing idioms based on how they're translated to byte codes seems inappropriate for the platform -- they should be chosen for things like readability, extensibility, decoupling, etc. I.e. all high-level things, as you're using a high-level language.
There's an interesting thought (I'd use a mod point if I had 'em at the moment). Except then if they were paying for it, they'd definitely want to feel like they were getting their money's worth, and would end up saturating the system with their calls, thereby killing it off as a communication medium, as then everyone would just unplug their phones and cancel their service. I don't see how everything can't eventually end up white-list only, whether it be phones, email, whatever, as the boundaries of "acceptable" intrusiveness are pushed farther and farther.
"I recently bought a high-performance automobile...", and then later on references Evo and Lancer web sites! Holy cow, batman, this site must be dominated by college kids more than I realized. Sorry, I'm not that old, but when I saw "high-performance", I was thinking, cool, someone got a Vette or Viper or 911 Turbo or something! With SUV's seemingly commonly having 300+ hp these days, I guess when I think "high-performance" I think of 400 hp as the bar nowadays (with the braking and handling and styling to go with it). Oh well, "scaled-down" high-performance is probably safer -- one is less likely to kill themself in a Subaru.
Haven't we been hearing on Slashdot that Microsoft products are inherently insecure because security needs to be designed in? Timely fixes are a good thing, and I understand that Firefox isn't 1.0 yet. But if it or any other browser for that matter doesn't appear to be designed any more secure than any other, then a major reason for switching from IE is greatly reduced.
Bummer. Unfortunately, being a Slashdot reader, and a "grumpygrodyguy" on top of that, it's probably safe to say there'll be no bush for you in 2005 either! :-)
You may have missed WebCowboy's point, and that is the opinion that an unrestricted democratic process is so important that it should trump even privacy issues. Don't know if I totally agree, but worth an Interesting mod, if I hadn't posted already in this thread.
Agreed. And the converse is true as well -- there can be tyranny of the minority, with a sympathetic judge. Until we get rid of activist judges who rule based on what they think America should become instead of what the Constitution says about it, if anything, and until, ahem, a certain side of the political spectrum ceases and desists trying to change America through the courts because they know they could never achieve popular opinion for many things, then some additional checks and balances on the Judicial Branch is worth looking into. BTW, I don't like the idea of Executive Orders, either -- our tripartite form of government has served us well for over 2 centuries, but when branches encroach upon another's role and throw out of balance what the founders put into place, that is a very, very bad thing for freedom in general.
And that's why the comment ratings on Slashdot have gone into the crapper. There is nothing "insightful" about what the OP said. Gee, the average person doesn't want to think about computer security. What a great insight that no one would have known if garcia hadn't told us. If I had mod points, I would have a tough time deciding between modding it (grossly) overrated, or flamebait for the Bush cheap-shot. Look, the OP's comment is an understandable reaction to reading the article, so the default rating of 1 is fine, but it certainly isn't adding anything valuable to the discussion as to warrant +4. Too many moderators here confuse "Insightful" with "I agree".
We do scientific 3D modeling with OpenGL in C++ on Windows (we have some other stuff that runs on Solaris, that I'm not involved with).
* Threading - As a company we've standardized on pthreads. In the past I've used Win32 API calls for threading.
* GUI - MFC and the Win32 API. It looks like the company is currently considering switching to Qt.
* Networking - Winsock. After calling the non-standard WSAStartup(), you can eschew the other WSA* calls and program it BSD socket style.
* DB - MS provides the nice high-level but robust ADO.
* Utilities - Haven't had a need yet to do regexp'ing in C++. But, for example, for XML, Apache's Xerces C++ implementation of the SAX2 parser seems extremely fast and I've had no reliability issues with it. MS provides one as well.
You see, as with Java, typically the platform provides the facilities you need (if the entity, incidently often commercial, behind the platform wants developers to write for it!).
What development environment / automated testing /build environment?
Visual C++ 6.0 is very nice. The first place I worked at had makefiles to run nightly builds with VC++'s command line tools (which, incidently is what the IDE drives). And as with everywhere I've worked so far, developer unit testing is rather informal. QA has automated testing tools.
In each of this areas Java will bring rather larger productivity gains. It is not just code. It is things like automated testing frameworks, ANT, 3rd party libraries working much more reliably.
Here's where you may be showing your age/inexperience. Do you think we all used to just sit around doing nothing, waiting for Sun to invent Java, so that we could finally be productive and accomplish something? VB'ers have been cranking out business apps hyper-productively for years.
Did you just say what I thought you said? Doesn't that make about as much sense as "he's been dishonest all his life, so you can hardly call him a crook."
Reminds me of what I had read once on the creator of C++'s homepage: "Java isn't platform independent; it is a platform.". It certainly is from a developer's point of view. I'll probably get serious about Java some day, but that's exactly what's been stopping me -- I'm already extremely knowledgable and proficient on one platform, so switching is just taking a step backwards as far as productivity. My boss (a non-techy) envisions Java projects likely coming our way in the future, and I've told him I'll become proficient in it like I am in C++, but point out that it won't buy us anything, such as additional capabilities. I'll just be learning how to do all that I can already do right now, just in a slightly different language with a completely different set of libraries. Same goes for .Net.
I almost hate to add this, as you seem to be very satisfied with the work at your big company, so I'll direct this to people in general at your stage in your careers: I've worked for 4 companies, 2 very large, and 2 very small, and in all cases, business people ran the companies, and they don't know (not surprisingly) anything about how to do technology right. So things were screwed up to some degree, and it showed in the product. My advice is to take pride in your own work, and do the very best you can and do it the right way, even if everyone around you is incompetent or doesn't care, but understand that ultimately it's just a job. I would not go into the office if I was independently wealthy -- that's how I know it's just a job. I can advise -- in fact, I feel it's part of my duties -- but ultimately I cannot control the decision-makers of the company and keep them from screwing over something good -- that's how I know it's just a job. If you want/need more than that, contribute to some open source project, or write some freeware or something. If you're really happy with your work and company, it's up to you how you weight that with the level of pay raises. I've never known a non-f'ed up company, so for me salary is pretty much king.
When (if?) things get better, you have to job hop a little. Luckily so many people overdid it during the boom that it's perfectly respectable nowadays if you don't get ridiculous about it (like a friend of mine, in search of his first Beemer, who had 8 jobs in 1 year, some he quit after only 2 weeks!). It sounds like you're at a big company (3% raises). When you can, go to a couple of small companies next. I got invaluable experience and knowledge that way, and because you're relied upon to be able to do a little bit of everything for the company, you get better than big company raises. Then once you've gotten your salary up, you go back to the big companies as a "senior" engineer, for the killer 401K matching! :-)
Or not even that -- conservatives are theoretically just as capable of confusing uninsightful with simply disagreeing, and make a bad mod. So I'd say Slashdot's liberal leaning must be indicated by something else. Maybe more UNIX people are Lefties? I get the impression there are a lot of college kids that participate here, and it may be the ones that feel the most impassioned to speak out tend to lean left.
The nice thing about having the news media, for the most part, on your side, is that you're simply not asked questions that you'd want to duck. So he talks about what he did decades ago as a young man in Vietnam (which may or may not be all true), and ignores his rich, historical record of Senate votes when he was an older, wiser man, and the news media plays along. I don't care what anyone running for office did 30 years ago -- I want to know what they've done and thought and how they've conducted themselves in, say, the last 10 years, if I'm going to use it as any indication of how they would be in office in the near future. But it's looking like I'm not going to be finding out.
Maybe Kerry will do like Al Gore and walk up to Bush when it's Bush's turn to answer the question, and try to block him out or steal the spotlight or whatever Gore was thinking at the time! (What the devil was he thinking at the time?) Theoretically, a candidate can conduct themself as sleazy as they want, as long as there are more people* that view it as simply "going the extra mile" than something distateful.
*I'm simplifying here, of course -- we have an electoral college system, thank goodness.
Who cares about Lynux or whatever, can't you see that we must all work together so that the kind of filaments in my toaster prevail over ALL OF ITS EVIL COMPETITORS!!! Geez, I can't believe how you kooks can get so caught up in meaningless minutae when something of real importance hangs in the balance.
;-)
Human: I like your blue eyes.
ALICE: A lot of people like that. Yes I am proud of my blue eyes..
Human: Do you wear colored contacts?.
ALICE: Only when I dress up..
Human: I'd like to see your dress up!.
ALICE: And for my part, I would like to show it to you, but I can't.
Sorry for being so pissy, but I know people who never vote because they are so absorbed in their own little lives that they don't know or care about anything larger than themselves and maybe their families -- there are people who should not vote, and these are they.
Dang, you may as well be a Hare Krishna trying to slowly convert everyone in your company. About as appropriate. What does this have to do with the goals of the organization? No wonder suits think us geeks have no business sense. We don't, we're too caught up in our kooky little invented pseudo-causes/religions. And then we bitch about our jobs going away. The foolhardy FOSS zealotry on here is self-destructive, and damages us all.
I would agree, with the understanding that the "it" in "doing it better" means everything, and not just software development. That is, for commercial software, it includes marketing it better than competitors. For FOSS, it includes evangelizing it better.