And as for choice...
With Linux you have choice, you can use either Linux or Windows.
But...
Vit zer Vindows you haf not ze choice, only ze Vindows.
And so...
In order to preserve that choice we must force everyone to use Linux!
And as for choice...
With Linux you have choice, you can use either Linux or Windows.
But...
Vit zer Vindows you haf not ze choice, only ze Vindows.
And so...
In order to preserve that choice we must force everyone to use Linux!
@tdb said:
Sure, Linux distros have updates too. My point with this was that Windows downloads stuff from the net too, not that Linux would somehow magically be bug-free and complete from day one. A plus side for downloading the entire binary is that you only need to download the latest version, not every one of the million patches between release and now.
First it was hundreds in the first week, and now it's a million. Whatever next? An infinite number of patches within the first second? Meanwhile I'm looking at my Windows 7 machine that has had 27 - count 'em - OS patches since RTM. Surely something must be wrong, and it's either reality or the opinion of Weenix Lunies who can't be bothered even getting the facts right before spouting ridiculous hyperbole.
There's a difference between "can't install" and "won't install", and the OP makes it clear that this case is "won't install".
@bridget99 said:
I have tried to explain this at this site before, and I get zero sympathy. "Oh, you knuckle-dragging fool; just install TardWorks 9.0 and all your problems will be solved." But that's not practical... I've already got a long list of things I have to do to each fresh system I deal with (e.g. disabling font-smudging, GUI animation, "simple" file sharing, and file-extension hiding). I can't install TardWorks 9.0, or IE8, or Firefox, or Notepad++ on every one of these systems, at least not consistently.
It's not that big a deal to just add Notepad++ where required is it? Surely it's more important to have a functioning text editor than it is to have GUIs that don't animate? Or am I missing something really really obvious here? C'mon OP, enlighten me! Or are you happier to waste energy complaining about something instead of, y'know, like, doing something about it?
The only WTF-ery in Notepad is Weenix Lunies who think it's anything other than what it is. It's not a general-purpose programmers (or any other kind of) editor, it's meant for quickly double-clicking on text files and making small changes. If you want to use vi (and may the lord have mercy on your soul) there are versions of it available for Windows.
Sheesh, next thing is we'll have people flaming Calc because it doesn't have a built-in scripting language.
@Tyler said:
@Xyro said:
This sounds like an intriguing permissions-elevation exploit waiting to happen. What if you replace the Computer Management shortcut with a shortcut to something else? When you right-click Computer -> Manage tool, will it still give you the UAC with the title of "Computer Management"? Aaand then will it arbitrarily execute your shortcut with higher permissions?
(I don't have any fancy Windows computers to test this out with, so I'm not even sure if what I suggested makes sense.)
It sounds like the shortcut in question is in the All Users directory, which should only be modifiable by a user who has administrator privileges anyway.
AKA "It rather involved being on the other side of this airtight hatchway".
Not a security issue.
I hang around the forums for a certain piece of software, and one day another member asked about an error he was getting when he attempted to decompress a file. My (correct) guess was that he had a FAT32 drive, and was hitting the size limit, so I gave him a few tips on converting to NTFS (with the caveat that a fresh install is preferable), assuming he was an XP home person with a pre-installed FAT32 drive (remembering that some vendors used to do this).
Lo and behold, his reply:
Now I have to persuade the Administrator to do the same with all our other (317) computers.
That's what you get for not sending an email to let them know the email was down!
Time to jump ship. If they're looking to charge money for something as basic as bug fixes, they're in trouble!
@bstorer said:
It shouldn't still be able to run because... oh, I don't know... it was designed for another operating system?!
That's fair enough, but the initial example was fairly silly to begin with. Windows 2000 is only 2 generations behind Vista, is only one major version number behind, and is - allegedy - an earlier version of the same OS. SQL 2000 is only one generation and one major version number behind the current version (2K5).
@bstorer said:
@mfah said:
@KenW said:
And, since in your opinion software should never be obsoleteIn fairness, I don't actually recall russ ever saying that.
@russ0519 said:
Your argument makes no sense. VS2008 has NEVER been supported on MS-DOS 3.2. I would, however, expect my turbo pascal from dos 6.22 days to run in Vista. New OS's should be backward compatible.
Not the same thing. Expecting software to still run is quite different from expecting it to be never obsolete. Of course Turbo Pascal is obsolete, but why shouldn't it still be able to run?
@KenW said:
And, since in your opinion software should never be obsolete
In fairness, I don't actually recall russ ever saying that. In fact, it seems reasonable to expect that the version immediately before the current version should still be supported, even if it is 8 years old.
@Lingerance said:
Would you expect Mozilla to patch bugs in Firefox 1.5?
It's called Firefox 2, and I note that things that used to work in Firefox 1.5 generally don't break in Firefox 2.
If I understand the problem correctly, you should be able to get what you want by adding runat="server" to your A tag.
@KenW said:
Ahhh. Got it. Your point is that you don't understand that 8 or 9 year old SERVER software won't run on the new DESKTOP OS, and you think that proves your point.Someone want to sell him a clue? I don't think all the free ones we've been offering are doing any good.
I'll sell you one: SQL Server 2000 Developer Edition.
What a fun thread! Lots of toys being thrown out of lots of prams!
@MPS - practice what you preach for a bit, will you? Quit ragging the guy who got a Vista Experience of 1.0 and have a look here: http://windowsvistablog.com/blogs/windowsvista/pages/458117.aspx (reading his post will also help, although I know from the past that you're occasionally not inclined to do that). All of his scores were well above 1.0 except for Graphics, and as we all know, the final Index is the lowest of the scores. Poor performance in the graphics subsystem does not equate to poor performance anywhere else. (Pre-emptive MPS reply: "I have no idea what you're talking about"). You are capable of making good and insightful posts, but when you get on your high horse like that, you lose all credibility.
Re: "Nobody FORCED you to upgrade to Vista" - maybe not now, but in a few years time when XP is EOL'ed people aren't going to have much choice, are they? Not if they want to stay on a supported platform. (Of course the option of staying on XP is also there even then, but witness the SQL 2K debate...)
Yes, I believe Vista is a good OS... for the home user. For a business desktop roll out, it is not suitable. Too many things break, too many legacy apps will require re-engineering or replacement. As Raymond Chen put it once: "Guess what: the cost of upgrading to the next version of Windows just doubled!" Hell, even Group Policy Logon Script processing has issues with UAC (and with a complete absence of UAC dialogs too) (yes, I know the fix is to use a Vista GPO, meaning that the GPO admin overhead has just doubled too). It's only recently we've got Domain admin tools for Vista. If MS were truly serious about Vista on a business desktop, these things should not be problems at RTM.
We've been through this before with moving to 2000, then moving to XP, but on Vista it's orders of magnitude worse. I'm going to take a very wild stab in the dark and guess that the root cause of this is the disconnect between the server and the client OSs, which first happened with XP/2003. By no longer having these marching in step, the client OS is free to go off on all kinds of tangents, and by having the server released a year or more later we have the intermediate period during which proper server support for new client features is just not available. I don't know about anyone else, but to me it seems far more productive to be spending my time providing genuine solutions for my customers than to be spending it solving problems that should never have existed in the first place.
@El_Heffe said:
If you are ever worried that you have no life ............
Forum Threads Posts
General Flashlight Discussion 20,310 276,521
LED Flashlights 30,410 396,995
Incandescent Flashlights 5,623 70,972
Headlamps 5,810 65,603
Flashlight Electronics 12,385 124,851
Spotlights and HID Flashlights 3,048 43,082
Flashlight collecting 476 10,469
Flashlight Reviews 2,531 49,057
Teh LuXx0r!
Here's one from ye olde Windowes 98e dayes - made us laugh at the time:
And a little bit more recent - I saw this in Windows 2000 and am still trying to puzzle out exactly what was going on:
I don't really see any difficulty with it.
You still have the option of using the old functions and you're no worse off than you were before. If you're in a situation where you can fully control the input to strncpy you don't even have to worry. If you're not, at least you have the option (even though I more than half suspect that most folks who are really concerned would have rolled their own a long time ago).
Far far worse of MS to have removed the option of linking with the single-threaded CRT.
The real WTF is that they didn't also ask for mother's maiden name, where you were born, favourite colour and name of first pet.
I've seen Windows 2000 uptimes in the 240+ days range, and am convinced it would have happily trucked along for longer if I hadn't rebooted for other maintenance work. A lot of the Linux advocates scare stories are just that - scare stories. They'd be much better off directing their energy into improving the usability of their OS for the general populace.
If all you're looking to do is provide a page/pages of links to other apps, then rolling your own is definitely the way to go, and is utterly trivial. Hosting those links on a CMS or other platform is overkill, doesn't make things any easier, and will come back to haunt you.
It depends - most reasonably large orgs will have a fixed-price leased line, so it doesn't really matter how much bandwidth is used, it's the same cost in the end. In these cases, filtering and other controls can be helpful in preventing non-business traffic from swamping the bandwidth that is required for business traffic; if you've ever had to administer this stuff you'll be all too familiar with the problems (particularly where you have more than one site, and slow WAN links come into the equation). Experience tells me that throwing more bandwidth at it is not the solution; usage will always increase to fill it up (same as with HD space, CPU, RAM, and any other finite resource), so while you may get effective short-term results, in the medium/long term you'll always end up exactly back where you started. The definition of what kind of content is considered "objectionable" is also key. As I said a few posts above, some people's sense of responsibility will go out the window when given free reign. I may be presuming to speak for others here, but I think that most folks would agree on certain types of website that could be considered "objectionable" on a corporate network. There are others that are "grey areas" - certain web sites classified (or mis-classified) as "hacking" may very well contain useful info for in-house developers, and so on.
What's the solution? I don't believe there's an easy one-size-fits-all answer to any of this. Blocking stuff that's outright illegal will be a no-brainer, but when you wander into the grey areas you're in a minefield. Even the likes of YouTube could have legitimate business uses (hypothetical scenario of someone who needs to watch a certain video on it for research purposes). Make friends with your local sysadmin, I suppose, but otherwise this is a problem that's just going to run and run.
@MarcB said:
you have to look up Word's binary formats, and those are NOT provided by Microsoft unless you shell out big $$$ for them
http://www.microsoft.com/interop/docs/officebinaryformats.mspx ;)
I find myself pro filtering, provided it's backed up by a reasonable and sensible AUP. If our DBAs are trying to download a critical Oracle patch, I don't think it's acceptable for someone to cause havoc just because they want to get their jollies on YouTube. I could give many more examples. There are also legal issues: the company could theoretically be held responsible for certain actions the users get up to. Unfortunately, when given free reign, some people's sense of responsibility goes out the window.
@bstorer said:
Actually, no, use C.
Agreed. I can't see any reason to prefer C++ over C except for to gain OO features. There are some additions that are nice, for sure, like // comments (before they made it into C) and being able to declare variables anywhere in a code block (OK, that one's in C99 too, but full compiler conformance is still not there). No really compelling reasons aside from gaining OO. And if you don't need OO, no reasons at all.
@MasterPlanSoftware said:
You misquoted/misread what I said. I said it looks like C# generated by someone with a VB.NET background. It is obviously not actual VB.NET.
I missed the @ of course, my bad there, but prefixed with an @ it's valid C#.
@MasterPlanSoftware said:
it looks like someone who came from VB.NET and couldn't figure out how the hell to put a quote in a string.
I'm not sure about that, if it was from VB.NET we woulda seen "<?xml version=""1.0"'?>". I'd hazard a guess it's C# and there's a braindead development standard that prohibits use of escapes for some wacky reason.
@jcoehoorn said:
That gives me an idea... I wonder if you could improve spam filter performance noticabley by identifying messages that are part of conversation threads in the which the recipient has already partipated, and giving them a much lighter spam check. It certainly wouldn't matter for one inbox unless you could also use it to improve accuracy (which I guess at least in this case it would have), but say you're running a large system that checks a few million messages per day?
SMTP is just so fucking weak though, it's utterly trivial to spoof just about anything, including this suggestion (which otherwise seems to have merit). We really need a more secure and reliable email protocol instead of yet more heavy-handed filtering and analysis systems that treat the symptom rather than the cause.
My personal favourite relates to a list of schoolkids which was sent for legitimate purposes - blocked on account of lots of occurrances of "free", "teen" and "sex".
@Faxmachinen said:
@mfah said:
[snip]I don't know much C# at all, but does it really have to be that big?
#include <cstdio>char lower(char ch)
{
if (ch >= 'A' && ch <= 'Z')
return ch + 32;
return ch;
}void printMatches(const char *text, const char *subtext)
{
const char *s = subtext;
for (const char *t = text; *t; t++)
{
if (lower(*t) == lower(*s))
s++;
else
{
if (!*s)
printf("Found a match at %d.\n", t - text - (s - subtext) + 1);
s = subtext;
}
}
}
Ummmm, that's C++. You can certainly do it a lot smaller, neater and cleaner in C or C++ (yay pointers!), or even something not a million miles from your version with unsafe code in C#.
Last comment before I bow out (unless the subject changes very quickly) - "Let's sing another song boys, this one has grown old and bitter" - L. Cohen.
The actual act of running a test case may be as trivial as double-clicking a single icon, but testers do far more than just that. They're on the lookout for bugs. They have to try to anticipate the strange things users might do (especially users for whom the program might be totally new, whereas a programmer or a tester may be intimately familiar with it's correct operation). A really good tester might be the most valuable asset a programmer has, and should never be underestimated.
@tster said:
the problem with that interpretation (I agree, a better term) is that now you have excluded hasNext() from the relm of functionality. I think the only safe way to interpret functionality is as "any accessable member that gives information and/or causes side effects."
hasNext () would depend on the current value of the iterator though, which is set externally.
I do like your interpretation (even if mine is different, I'd exclude giving information and focus more on "actually doing stuff"), but it opens the question of what do we consider "information" to be. In the case of a string, I would personally consider length and array indexes to be more side-effects of the real information. For an iterator, each item being iterated through and returned would constitute information in it's own right.
@tster said:
that's an interesting definition of functionality. What about an interator's next() method? It depends only on the internal state of teh iterator, yet I would most certainly consider it functionality.
That's a very good example. One could add that anything (exposed externally) that changes internal state is also functionality (seems a no-brainer), or one could argue that the initial filling of the list (which the iterator definitely depends on) qualifies under my original interpretation (I prefer that term to "definition" here) - although that seems a very weak argument IMO (the filling could be purely internal).
@tster said:
then what is a case that a property is a functionality and what is a case when a property is not a funtionality.
Edit time expired before I could change that one to "yes", actually. The implementation of Prop in Foo1 doesn't depend on anything outside of Foo1, whereas the implementation of Prop in Foo2 does (namely, all sorts of interesting and fun conditions that could apply to the remote server). That's the key difference. The same applies to the original example, where .Length () and an array index don't depend on anything outside of the original String, whereas IndexOf () does.
@tster said:
Are you saying that given an interface:IFoo { int Prop { get; }}
and two classes:
Foo1 accesses a local variable from memory to get the value of PropFoo2 accesses a remote server to get the value of Prop.
that Foo1 is not a functionality while Foo2 is a functionality? They are meeting the same contract, and therefor they are both functionality.
No.
@tster said:
would you consider a property to be functionality?
Sometimes, depending on how it's coded.
@tster said:
If you claim a property is not functionality please explain the difference between a getter method and a property read.
No.
@Lingerance said:
"code & mask" are found in the OPs code. The original author did indeed know about bit-wise and.
I don't even want to think about the implications of that. Obviously another paid-by-the-line jockey.
@drinkingbird said:
@MasterPlanSoftware said:
@drinkingbird said:
If you want to get picky, it depends on whether some_string[0] would directly access a character array making up the string, or if it's actually a call to some_string.[(0), in which case it's one of the built in string methods.Again, read the actual requirements. I think the intention is clear. Being pedantic would not benefit the interviewer or interviewee.
Again, read my actual post. I think the intention is clear. The point was to nitpick for the hell of it. Your comments benefit neither reader nor writer.
MPS is right. The array index is a property rather than a method anyway.
@tster said:
I don't know what MSDN your refering to here, but the C# keyword "string" is directly mapped to System.String.
Fair enough, I'm not too proud to admit I'm wrong when I'm wrong, and I was wrong there.
But the main point still stands, you can array-index a string also.
@tster said:
I don't see anywhere in the problem the use of the word "function" or "functions." Functionality != functions
It was actually in the OP. But the key thing here is a "letter of the law" vs. "spirit of the law" thing. Most of us would see the most relevant part of the directions as being "to directly solve the problem". This would mean that indirect is fair game.
It seems reasonable enough, but does assume a stereo wave. Quite confusingly written though; the author must have been absent the day they did comments.
@tster said:
@mfah said:
The requirement actually said you could use String objects - capital S, not lower case
They are one in the same.
MSDN to the rescue: "A string is a sequential collection of Unicode characters, typically used to represent text, while a String is a sequential collection of System.Char objects that represents a string".
And I thought I had the forum software licked by using the plain text composer... oh well...
static void MyInStringTest (String text, String Subtext)The requirement actually said you could use String objects - capital S, not lower case
{
// sanity check
if (text.Length < 1 || Subtext.Length < 1 || Subtext.Length > text.Length)
{
MessageBox.Show ("There is no output (sanity check fail).");
return;
}
int MaxLen = text.Length - Subtext.Length - 1;
string OutputText = "";
for (int i = 0; ; i++)
{
// are we there yet? are we there yet? are we there yet? are we there yet?
if (i >= MaxLen)
{
if (OutputText.Length > 1)
{
// we got something
MessageBox.Show (OutputText);
}
else
{
// no match
MessageBox.Show ("There is no output.");
}
return;
}
// declare in full scope as we'll need it's value outside the for loop
int j;
for (j = 0; j < Subtext.Length; j++)
{
// don't stomp the originals
char SubtextTest = Subtext[j];
char TextTest = text[i + j];
// convert to lower case
if (SubtextTest >= 'A' && SubtextTest <= 'Z') {SubtextTest -= 'A'; SubtextTest += 'a';}
if (TextTest >= 'A' && TextTest <= 'Z') {TextTest -= 'A'; TextTest += 'a';}
// test the match
if (SubtextTest != TextTest) break;
}
// did we get it?
if (j == Subtext.Length)
{
// compose the output text in accordance with the spec
// (sample output stipulates that positions are 1-based)
if (OutputText.Length < 1)
OutputText = (i + 1).ToString ();
else OutputText += ", " + (i + 1).ToString ();
}
}
}
Here you go then. I'm not sure how robust it is, but it satisfies the test cases.
static void MyInStringTest (String text, String Subtext) { // sanity check if (text.Length < 1 || Subtext.Length < 1 || Subtext.Length > text.Length) { MessageBox.Show ("There is no output."); return; } int MaxLen = text.Length - Subtext.Length - 1; string OutputText = ""; for (int i = 0; ; i++) { // are we there yet? are we there yet? are we there yet? are we there yet? if (i >= MaxLen) { if (OutputText.Length > 1) { // we got something MessageBox.Show (OutputText); } else { // no match MessageBox.Show ("There is no output."); } return; } // declare in full scope as we'll need it's value outside the for loop int j; for (j = 0; j < Subtext.Length; j++) { // don't stomp the originals char SubtextTest = Subtext[j]; char TextTest = text[i + j]; // convert to lower case if (SubtextTest >= 'A' && SubtextTest <= 'Z') {SubtextTest -= 'A'; SubtextTest += 'a';} if (TextTest >= 'A' && TextTest <= 'Z') {TextTest -= 'A'; TextTest += 'a';} // test the match if (SubtextTest != TextTest) break; } // did we get it? if (j == Subtext.Length) { // compose the output text in accordance with the spec // (sample output stipulates that positions are 1-based) if (OutputText.Length < 1) OutputText = (i + 1).ToString (); else OutputText += ", " + (i + 1).ToString (); } } }
(Edit - f--king pre tags barf here, you may not get all of it....)
I believe it was actually "without using any in built string functions". I would assume that ToString () is allowed on the output positions, though.
@pitchingchris said:
there's not a 1 - 1 relationship to C++'s sscanf function.
@pitchingchris said:
would the regular expressions class be considered in the category of built in string functions ?
It's good practice in C to always initialize a pointer, even if it's going to be set to something on the very next line (you never know when someone maintaining the code months or years later might put something else in-between the two lines), so it seems reasonable to assume that this is just a hangover from that.
@tster said:
the real WTF is thinking that you can search a string object without using any built in string functions
Oh wow, that was one of the best in a long time.
@method1 said:
@mfah said:
Could be because 2005 no longer supports the single-threaded runtime?Could you expand upon that at all? Any change from 6.0 to 2005 is a good candidate...
You can read about it here, and the official line on it here
I'm guessing (and I emphasize "guessing") that if you were linking with the single-threaded CRT in version 6, any threading-related issues you may have previously had but which would not have been evident during testing/debugging may suddenly blow up in your face. I've seen it happen with other apps I've moved from 6 or 2003 to 2005 or 2008. If not, either of those pages might indicate other likely candidates.
@RayS said:
Office isn't that bad.