As I understand it, the version numbers here are pretty much on par with a Microsoft OS version number so 10.5 to 10.6 will be like going from 98 to Win2k and should be handled the same way
You're kidding, right? Please tell me you're kidding. Anyone who could possible equate going from OSX 10.5 to 10.6 to upgrading Windows 98 to the NT kernel-based Windows 2000 is one of two things:
- Too young to have actually used Windows 98 - Undergoing unhealthy bombardment by the Reality Distortion Field
Reading the list of changes, it looks more like going from 10.5 to 10.6 is more like going from RTM XP to XP SP3 (which includes the upgrades to MS software that comes free with a Windows license like Messenger, Windows Mail, Movie Maker, etc). It's the same operating system, same kernel, same framework, just with various "improvements" and some new programs.
If I want to send a message from my computer at home through my companies mail server, I should be able to.
I figured somebody would say this, but the thing is that if you want to contact an external SMTP server it is pretty straightforward. You can either use the alternate SMTP port (587) with SSL/TLS or you can use a VPN. You could also just contact your ISP and ask for the restriction to be lifted for your account.
95% of home users don't need access to port 25. The 5% that do can either use an alternate method to access it or get their ISP to open it for them. I agree it isn't the most ideal solution, but the preferred methods (such as SPF) have two big issues: They just aren't in widespread use enough, and way too many mail servers are poorly configured which would lead to dropped mail.
What would be better is ISPs throttling the number of SMTP connections their clients make. Say anything over 300/day and they're blocked for 24 hours. Downside is that's probably asking too much from many smaller ISPs. Big ones (Comcast, Qwest, etc) should be able to do it easy.
It seems to me that the only way to truly insure that the receiver gets 100% spam-free mail is to intercept and sort it before it's received with humans doing the sorting.
Which is why that's how Important People handle spam. The thing is though, that 100% spam-free email isn't really a reasonable or common goal. Businesses and administrators would be happy with just reducing the cost of fighting spam, even if the number of messages that get through the filter stays the same.
What's funny is that the solution to spam is pretty simple: Force ISPs to get their act together. Most spam messages come from hijacked residential computers. Machines on residential Internet connections shouldn't be allowed to send mail (port 25 should be blocked). If a computer on Comcast's network (for example) wants to send mail, it should be forced to go through Comcast's SMTP gateway. By doing this the ISP can easily track who is abusing the service and cut them off. Businesses that need direct access to send mail can intentionally change to a business class ISP account.
If all residential ISP customers couldn't send messages directly, spammers would have to look into other, more visible methods of sending mass quantities of mail. If nothing else, killing the mail capacity of the world's zombies and botnets would hurt spammers financially and might drive some out of the business.
I tend to find myself in agreement with the OP. More and more it seems like the GPL is not a license designed to promote free and open source software but instead comes across as a "I'll scratch your back but then you are legally obligated to scratch mine" contract. I realize this probably stems from an irrational fear of proprietary software -- fear that F/OSS code will get eaten up and essentially stolen if there wasn't the backing of the GPL. That combined with the attitude of "for-profit companies shouldn't get something for nothing" isn't very endearing and it's no surprise Microsoft can sell the idea that "the GPL is a virus". The truth is that they really aren't hitting too far from the mark, except, perhaps, with respect to intent. I do think the GPL authors mean well and lack the malice that Microsoft seems to be suggesting exists.
It seems like anyone that really values and supports F/OSS would prefer LGPL or BSD style licenses. Allowing derivative works to remain closed source isn't a detriment to the open components and it really does look better to closed source companies. This should lead to more people adopting and using F/OSS, both open and otherwise. That's good, isn't it?
What's hilarious is how many times I've been called a "tin-foil hatter" because I openly expected ulterior motives and other treachery from this company.
I guess I'm not seeing this "treachery" of which you're going on about. Microsoft made use of GPL code, like hundreds of other companies before them, and in keeping with the law and the license, also released their code under the GPL. This really is a big move for them, the company that previously wouldn't want to be caught dead with their hand in the GPL cookie jar. Here they are not only using the code but releasing it back out for public use and scrutiny.
Nobody cares that Linksys/Cisco uses GPL code in their cheap routers. Nobody cares that Google uses GPL code in their various web apps. Nobody cares that FOSS-heavy companies like Novell and Red Hat use GPL code to make a profit. Why should any care that Microsoft is using GPL code as long as they are following the terms of the license?
So what if their marketing and PR machine didn't outright say "We used GPL code and so we're releasing this under the GPL"? The code is right there in the open. Slashdotters always bemoan that closed source is terrible because it's all secret and hidden with bugs and evil embedded where nobody can see. MS dumped the 20,000 lines of code into the open where everyone can go read it. There's not much headway to be made via treachery and subterfuge when anybody can just read the code.
Your three little bullet points describe every publicly-owned company on the planet. A corporation, by definition, has obligations to itself (the shareholders) that it is expected to meet. There's no such thing as an altruistic for-profit corporation. Sure, some embrace F/OSS more than others but that's usually just due to their respective market overlap. Google doesn't sell an OS so they're okay using and helping Linux. They do have a browser so you can expect Firefox support to dwindle. They do have an office suite so you won't expect them to support Open Office. This is normal and to be expected. The same thing goes for Microsoft.
You lamented that "it might be nice if there was a way for applications to hook into a global OS framework that allows them to check for and apply updates". Thingymebob was pointing out that the repositories and package management are exactly what you asked for.
And as I said: Of course, this is all beside the point since package management has absolutely nothing to do with allowing software to be updated without requiring administrator/root intervention.
what you are asking for here is called package management. Windows is one of the few OS's that hasn't worked this one out yet
Oh, and who would run the package distribution servers? Microsoft? It's funny how nobody ever mentions that Apple and OSX don't have central package management, only Windows gets the "blame".
The truth is that Linux distributions need package repositories because otherwise it would be impossible to find and install software for the hundreds of different kinds of environments. Windows? Download an.MSI. Apple? Download an.APP. Linux distribution X? Better hope it's in the repo (and up-to-date) or good luck finding something a normal user can install via point and click.
Of course, this is all beside the point since package management has absolutely nothing to do with allowing software to be updated without requiring administrator/root intervention. But hey, who cares what the point was if ignoring it means an opportunity for (poor) Windows bashing.
The above is false, I have installed and upgraded Firefox on a number of machines in the past 2 years where I have not had admin access and have not had any problems at all.
Wrong. The Firefox installer, by default, installs into %PROGRAMFILES%\Mozilla\Firefox which has these permissions: C:\Program Files>cacls . C:\Program Files BUILTIN\Users:R
BUILTIN\Users:(OI)(CI)(IO)(special access:)
GENERIC_READ
GENERIC_EXECUTE
BUILTIN\Power Users:C
BUILTIN\Power Users:(OI)(CI)(IO)C
BUILTIN\Administrators:F
BUILTIN\Administrators:(OI)(CI)(IO)F
NT AUTHORITY\SYSTEM:F
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
BUILTIN\Administrators:F
CREATOR OWNER:(OI)(CI)(IO)F
You cannot install the program there if you have only User rights, and you cannot update the program if it has been installed there. Obviously if you install Firefox someplace that Users have write-access to, Users can also update it. I think you missed the entire point of my post.
If I install Firefox as a non-administrator I can't update it if I'm running Windows?
If you do not have administrative rights, you cannot install Firefox on the machine in the first place. You can, however, extract the files to a location you have rights to and run it (just like on *nix). My point was that if a computer has Firefox installed in the traditional way (via the installer program), a non-administrator cannot update the application since they do not have write-access to the Program Files directory. Updating manually or automatically requires administrator access.
This has actually been a problem for us in our computer labs in the past. Firefox will check for updates and download the updater, then prompt the user (who is not an administrator) to restart Firefox to install the update. Since they aren't an admin the update will fail, and then every time they launch Firefox from them on they will be prompted to install it, over and over again. Very poor programming, I think, and very much falling into the faulty and dangerous "everyone runs Windows as an admin" mindset.
What browsers don't auto-update in the default configuration these days?
Browsers being run by non-administrators.
Seriously, this is a big deal. One of the nicest things about IE is that it gets updated as part of Windows/Microsoft Update which means even if you don't have an admin log in to the machine for a year, that browser will be up-to-date. Of all the other browser authors, Google is the only one that I think might also do this (via the Google Updater service that is installed with their stuff). For Firefox and Opera, unless you log in just to update them it never happens.
It might be nice if there was a way for applications to hook into a global OS framework that allows them to check for and apply updates, but I suppose that itself would be a security nightmare. If you aren't careful it would be really easy for slightly knowledgeable users to use the update mechanism to run any program they want with admin rights. Probably need some kind of private/public signing of the executables like MS does for Windows Update.
For apps with such a significant Internet surface area, all browsers should be able to update themselves without requiring the user to be an administrator.
After reading the syllabi, all the higher level classes appear to teach concepts rather than work to develop advanced techniques in a specific language.
Which is exactly as it should be. The focus of a CS degree should not be "how to write a program in as many languages as possible". If you want that, go read Wikipedia or this. I tend to think that the goal of the degree should be (more or less) threefold:
- Weed out people who have no business programming. For those who can it seems crazy, but there really are people who just cannot seem to think logically or in an algorithmic fashion. They should be gone after the first or second class.
- Teach those unfamiliar with programming at least a single language to act as a starting point and as a language to be used in later classes. It used to be that C/C++ was the definitive standard for this since you could mix both high and low level techniques, but lately it seems like most places are starting off with a garbage-collected language such as Java, Python, or C# and then moving to C or C++ later on. In either case, after being 3-4 classes in, the student should be well versed in at least one language. Ideally those still left that should not be programmers would be gone after this point, but as anyone in the field will tell you, this sadly isn't the case.
- Stop teaching languages and start teaching algorithms, techniques, and the 'engineering' part of software engineering. At the end of the day it doesn't matter how many languages you know if you can't use any of them in real-world team-based programming of large and complicated projects. You also get into the more specialized areas you are interested in such as graphics, AI, computational analysis, etc.
Some of my least-favorite CS classes were about language and programming theory and while they aren't real exciting or fun, they do make you really think about good solutions to a problem and not just sitting down to "hack something together". Additionally, all the assignments were language-agnostic, so you could program in whatever you wanted as long as you completed the program spec.
In short: a decent program should be able to sit down and pick up an unfamiliar language without too much trouble, so I wouldn't worry too much about what language you learn first. What's important is that you lean to program well -- after that the language just doesn't matter that much.
One thing I love about playing TF2 is the humor in the dialog. As somebody mentions below, it has the potential to get repetitive, but I've never really noticed it happen (I'm focused on the gameplay). I think a big key to the success they've had at this is that they really do seem to get the timing right and the characters are just very funny -- both stereotypically and originally. It isn't one-liners dropped left and right with no reason, but rather in response to what's going on around you.
For example: the Heavy's maniac laugh (and matching face) after unleashing a couple hundred rounds of ammo, things characters say in response to other player actions such as the heavy teleporting ("Engineer is credit to team!"), a medic healing people and their replies, the Engineer dominating people with the sentry ("Take it like a man sonny"), the scout smacking the Heavy ("Eat it fatty!"), and of course all the great taunts ("Kaa-Boooom!"). Heck, almost everything the Heavy says cracks me up -- it all just meshes and "feels" right.
TF2 isn't perfect, but it definitely does a lot of things right, including humor.
- Wired so it will always work. I don't want to have to think about recharging it.
I've used both wired and wireless. Wired is fine, but sometimes the core does get in the way (moreso than keyboard because of the movement and length). Wireless isn't much trouble, just put the mouse in the charger at the end of the day, take it out in the morning. Easy.
- Mechanical so it always responds in a reliable way. I have yet to find a led/laser mouse that works reliable all the time, every time.
You must have some kind of magical mouse ball that doesn't drag fibers and crap onto the rollers. Mechanical ball mice are anything but reliable. Even a mediocre optical mouse is better than a ball mouse, and a laser mouse works on almost anything (even some glass).
- Few buttons so I don't have to think which button to press. My previous mouse was a wheelmouse where I disabled the wheel button in hardware; I was accidentally pressing it so I'd rather not have the button at all.
More buttons shouldn't mean making mistakes. I can't stand mice without forward/back buttons for web use, doubly so after learning that Visual Studio supports them to jump around code (do 'Go to definition' then press the back button to return to your original location before the jump).
If you are accidently pushing the mouse wheel button then either you have a really crappy mouse or you are, as they say, doing it wrong. Most mice I've found actually make it too hard to push the mouse wheel button.
- No "ergonomic" design, same reason as the weight. Besides, sometimes I use my mouse left-handed.
If you need an ambidextrous mouse, get one. Otherwise a well-designed mouse can just make it more accurate and make using it easier.
The general theme is that I want my input devices to require as little effort as possible.
Sure, but there are limits to both ends of the spectrum. A one-button mouse with no mouse wheel is pretty simple, but really using it means a lot more work and wasted action for repeated tasks.
Not that any of this really matters. Most programming doesn't really involve a mouse that much and except when I use Visual Studio (moving around files, projects, etc), I find I don't use the mouse too much while actually writing code. Browsing documentation, the web, or navigating the OS is another matter though.
Pretty much every application I've ever filled out has asked for a social security number.
This is why I've adopted the practice of simply writing "N/A", "-----", or just nothing when asked for a SSN. It's incredibly uncommon that they actually need that information, usually it's just stuck on there because the person making the form figures it should be on it. Go to a doctor of any kind? Don't need it unless you're processing your payment through insurance (and not even always then). I'll bet that in all the forms you fill out, maybe 10% have a legitimate need to know your SSN, and those are almost always employment applications.
They can always ask again or press the issue if it's really needed. Why just hand out sensitive information because some random piece of paper asks you to? I wonder how many people would fill in credit card numbers, bank account passwords, and mother's maiden name when asked to sign up for a grocery store "savings" card?
I'm not a Microsoft poweruser, so someone else will have to speak about how to deal with that. I'm surprised they didn't hire some Unix guys to tell them about version numbering dlls, but then again the decision they made about how to deal with DLLs must have happened 20+ years ago when they only had the FAT filesystem, and so it would never have occurred to "them" to leave themselves some wriggle room.
It's worth noting that *nix is most certainly not immune to dependency hell. Like Windows, it's better now than it used to be, but I still pause for a minute when I see a big update to something very "core" like libstdc++ or glibc.
On Linux, you can remove the DLL without destabilizing running applications. This is because the file is unlinked from the directory structure, appearing as if it was removed, and the old file contents is still accessible to running applications. On Linux, an update mechanism can remove the DLL and put a new DLL in its place without affecting any running applications. Running applications continue using the old DLL, posing no substantial stability risk.
That sounds good, but what happens when the code present in the replaced file is paged out to disk? Linux, like Windows I believe, doesn't page that to the swapfile/pagefile since it's *already* on the disk. It just unloads it from memory knowing it can reload it from the original file later on. Wouldn't this cause problems when library A is replaced, and then program Foo which loaded A is paged out to disk. When Foo comes back, it gets the new code from the replaced version of A which may or may not be compatible with the original one.
Also, like another poster said, you usually need to restart applications using libraries that have been replaced. The problem then becomes knowing which applications are using which libraries and when. If you're really on an important machine you don't want to restart, isn't finding out three days after you update that important program X has been running amok because libstuff.so was replaced worse?
This is something I've wondered for a while. Both Linux and Windows have the ability to modify images (executables and libraries) on the fly without rebooting, and most Linux updates do this but Windows usually doesn't. Now we're looking at not only that, but some pretty low level mucking around in the kernel, all while the machine is running.
I know partly why Microsoft doesn't normally do this for Windows, but why is it that Linux doesn't have the same problems described in that article? If you replace an executable you can restart it, sure, but what happens if you update libraries with various inter-dependencies?
Yes, rebooting is annoying, especially for important servers, but doesn't it make more sense to be 100% sure that the changes you're making aren't destabilizing the system (doubly for servers) than that few minutes of down time rebooting costs? Just wondering.
Now that the 10% barrier has been reached, people have 30 days to submit their final results. At the end of the 30 days, whoever has the best result wins.
That's true, but like the story title indicates, the prize may have been achieved. From the contest rules:
The RMSE for the first "quiz" subset will be reported publicly on the Site; the RMSE for the second "test" subset will not be reported publicly but will be employed to qualify a submission as described below. The reported RMSE scores on the quiz subset provide a public announcement that a potential qualifying score has been reached and provide feedback to Participants on both their absolute and relative performance.
So the publicly available submission beat the 10% mark, but only by a narrow margin of 0.05%. The private submission must also have surpassed 10% for them to be considered a preliminary winner, otherwise the contest goes on (at least, this is my understanding). In any case, I agree that the outcome should be interesting.
If there's more in Windows 7 compared to Vista than there is in Snow Leopard compared to Leopard, I'll eat my shorts.
So, you want salt and pepper with those?
Ignoring the obvious formatting differences, compare Windows 7 changes with OSX 10.6 changes. Anyone who has been following the development of Windows 7 (and isn't just another uninformed Slashdotter) knows there is a lot of changes from Vista to 7. Whether it's worth a $100 - $200 price tag is an individual choice but regardless of the popular belief around here (the same incorrect belief that nobody uses Vista), Win7 is much more than a service pack.
Being that slashdot looks and acts differently in Chrome, Firefox and IE, could someone please tell which damn browser slashdot has decided to target so that I know which one is most likely to actually work when I click something.
Classic Index + Classic Discussion = works great.
Sure you miss out on the few worthwhile features they've added, but I'd much rather be able to read the summaries and comments (never actually tried reading the articles -- do they work?) than have shiny new (broken) widgets all over the place.
One caveat though: even classic views are broken in IE6 now:(
The bundling requirement might end up becoming a responsibility for manufacturers.
This is just as stupid as forcing Microsoft to bundle alternative browser binaries with Windows.
The solution to the problem is to force Microsoft to allow OEMs to bundle other browsers with Windows the same way they do anything else. Microsoft's dictating what software can be included with Windows is the real anti-competitive behavior here -- so fix it by removing that behavior. If Dell wants to include Firefox, let them. If Opera wants to sign a deal with HP to include its browser on all their machines, let them.
Don't force all OEMs to include all browsers. That's stupid and impractical.
Google fails to automatically translate the page, but not the content. Translation follows:
The Court of Appeal replace the newly appointed judge in Pirate Bay case. The question of the district court was biased now determined by three judges from another department.
The information can be mentioned that none of these are or have been members of any of the compounds are present in the case, write the court of appeal in a press release.
Following reports that the newly appointed Court of Appeal judge in Pirate Baymålet previously been a member of the same compound as the copyright jävsanklagade District Court judge, asked the Court of Appeal president yesterday to hear unless another law departments should determine jävsfrågan.
Today came the decision: Designated hovrätt Council Ulrika Ihrfelt, who works for the department which has a special focus on copyright and intellectual property goals, may not adjudicate the issue of the district court was biased.
Instead, jävsfrågan be moved to another court of appeal of the departments and review by the department head, hovrätt lagmannen Anders Eka together with the Court of Appeal councils Christina Jacobsson and Ulrika Beer Grehn.
"The reasons for this is to jävsfrågan to be reviewed by other judges than those which may subsequently come to try the case and that, having regard to the contents of jävs-opposition, deemed appropriate to jävsfrågan be determined on a department that has not specialized on copyright, "writes the court of appeal in the press release.
Jävsfrågan should be treated with priority. Court of Appeal president Fredrik Wersäll expect that decision may come "in a maximum of a few weeks", states the TT.
The Court of Appeal will not go ahead with the Pirate Bay case until jävsfrågan settlement. If Norström would be judged as biased, the goal can be sent back to district court and the ruling reopened.
Several of the condemned pirates defense lawyers argue that Norström been biased, particularly because he is a member of several compounds related to copyright. The four sentenced to one year's imprisonment and to pay damages of 30 million.
As I understand it, the version numbers here are pretty much on par with a Microsoft OS version number so 10.5 to 10.6 will be like going from 98 to Win2k and should be handled the same way
You're kidding, right? Please tell me you're kidding. Anyone who could possible equate going from OSX 10.5 to 10.6 to upgrading Windows 98 to the NT kernel-based Windows 2000 is one of two things:
- Too young to have actually used Windows 98
- Undergoing unhealthy bombardment by the Reality Distortion Field
Reading the list of changes, it looks more like going from 10.5 to 10.6 is more like going from RTM XP to XP SP3 (which includes the upgrades to MS software that comes free with a Windows license like Messenger, Windows Mail, Movie Maker, etc). It's the same operating system, same kernel, same framework, just with various "improvements" and some new programs.
If I want to send a message from my computer at home through my companies mail server, I should be able to.
I figured somebody would say this, but the thing is that if you want to contact an external SMTP server it is pretty straightforward. You can either use the alternate SMTP port (587) with SSL/TLS or you can use a VPN. You could also just contact your ISP and ask for the restriction to be lifted for your account.
95% of home users don't need access to port 25. The 5% that do can either use an alternate method to access it or get their ISP to open it for them. I agree it isn't the most ideal solution, but the preferred methods (such as SPF) have two big issues: They just aren't in widespread use enough, and way too many mail servers are poorly configured which would lead to dropped mail.
What would be better is ISPs throttling the number of SMTP connections their clients make. Say anything over 300/day and they're blocked for 24 hours. Downside is that's probably asking too much from many smaller ISPs. Big ones (Comcast, Qwest, etc) should be able to do it easy.
It seems to me that the only way to truly insure that the receiver gets 100% spam-free mail is to intercept and sort it before it's received with humans doing the sorting.
Which is why that's how Important People handle spam. The thing is though, that 100% spam-free email isn't really a reasonable or common goal. Businesses and administrators would be happy with just reducing the cost of fighting spam, even if the number of messages that get through the filter stays the same.
What's funny is that the solution to spam is pretty simple: Force ISPs to get their act together. Most spam messages come from hijacked residential computers. Machines on residential Internet connections shouldn't be allowed to send mail (port 25 should be blocked). If a computer on Comcast's network (for example) wants to send mail, it should be forced to go through Comcast's SMTP gateway. By doing this the ISP can easily track who is abusing the service and cut them off. Businesses that need direct access to send mail can intentionally change to a business class ISP account.
If all residential ISP customers couldn't send messages directly, spammers would have to look into other, more visible methods of sending mass quantities of mail. If nothing else, killing the mail capacity of the world's zombies and botnets would hurt spammers financially and might drive some out of the business.
Obviously many parents parents need to be more like Calvin's Dad. He was never stumped by Calvin's science questions.
(More)
There is nothing wrong with you not using my code if you do not like my conditions, either...
So much for being open and free.
I tend to find myself in agreement with the OP. More and more it seems like the GPL is not a license designed to promote free and open source software but instead comes across as a "I'll scratch your back but then you are legally obligated to scratch mine" contract. I realize this probably stems from an irrational fear of proprietary software -- fear that F/OSS code will get eaten up and essentially stolen if there wasn't the backing of the GPL. That combined with the attitude of "for-profit companies shouldn't get something for nothing" isn't very endearing and it's no surprise Microsoft can sell the idea that "the GPL is a virus". The truth is that they really aren't hitting too far from the mark, except, perhaps, with respect to intent. I do think the GPL authors mean well and lack the malice that Microsoft seems to be suggesting exists.
It seems like anyone that really values and supports F/OSS would prefer LGPL or BSD style licenses. Allowing derivative works to remain closed source isn't a detriment to the open components and it really does look better to closed source companies. This should lead to more people adopting and using F/OSS, both open and otherwise. That's good, isn't it?
The hi-res image shows a strong purple colour and a vivid blue bit on the top edge of the blackness. Is this real?
THE BLIGHT IS APPROACHING!
What's hilarious is how many times I've been called a "tin-foil hatter" because I openly expected ulterior motives and other treachery from this company.
I guess I'm not seeing this "treachery" of which you're going on about. Microsoft made use of GPL code, like hundreds of other companies before them, and in keeping with the law and the license, also released their code under the GPL. This really is a big move for them, the company that previously wouldn't want to be caught dead with their hand in the GPL cookie jar. Here they are not only using the code but releasing it back out for public use and scrutiny.
Nobody cares that Linksys/Cisco uses GPL code in their cheap routers. Nobody cares that Google uses GPL code in their various web apps. Nobody cares that FOSS-heavy companies like Novell and Red Hat use GPL code to make a profit. Why should any care that Microsoft is using GPL code as long as they are following the terms of the license?
So what if their marketing and PR machine didn't outright say "We used GPL code and so we're releasing this under the GPL"? The code is right there in the open. Slashdotters always bemoan that closed source is terrible because it's all secret and hidden with bugs and evil embedded where nobody can see. MS dumped the 20,000 lines of code into the open where everyone can go read it. There's not much headway to be made via treachery and subterfuge when anybody can just read the code.
Your three little bullet points describe every publicly-owned company on the planet. A corporation, by definition, has obligations to itself (the shareholders) that it is expected to meet. There's no such thing as an altruistic for-profit corporation. Sure, some embrace F/OSS more than others but that's usually just due to their respective market overlap. Google doesn't sell an OS so they're okay using and helping Linux. They do have a browser so you can expect Firefox support to dwindle. They do have an office suite so you won't expect them to support Open Office. This is normal and to be expected. The same thing goes for Microsoft.
And as I said: Of course, this is all beside the point since package management has absolutely nothing to do with allowing software to be updated without requiring administrator/root intervention.
what you are asking for here is called package management. Windows is one of the few OS's that hasn't worked this one out yet
Oh, and who would run the package distribution servers? Microsoft? It's funny how nobody ever mentions that Apple and OSX don't have central package management, only Windows gets the "blame".
The truth is that Linux distributions need package repositories because otherwise it would be impossible to find and install software for the hundreds of different kinds of environments. Windows? Download an .MSI. Apple? Download an .APP. Linux distribution X? Better hope it's in the repo (and up-to-date) or good luck finding something a normal user can install via point and click.
Of course, this is all beside the point since package management has absolutely nothing to do with allowing software to be updated without requiring administrator/root intervention. But hey, who cares what the point was if ignoring it means an opportunity for (poor) Windows bashing.
The above is false, I have installed and upgraded Firefox on a number of machines in the past 2 years where I have not had admin access and have not had any problems at all.
Wrong. The Firefox installer, by default, installs into %PROGRAMFILES%\Mozilla\Firefox which has these permissions:
C:\Program Files>cacls .
C:\Program Files BUILTIN\Users:R
BUILTIN\Users:(OI)(CI)(IO)(special access:)
GENERIC_READ
GENERIC_EXECUTE
BUILTIN\Power Users:C
BUILTIN\Power Users:(OI)(CI)(IO)C
BUILTIN\Administrators:F
BUILTIN\Administrators:(OI)(CI)(IO)F
NT AUTHORITY\SYSTEM:F
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
BUILTIN\Administrators:F
CREATOR OWNER:(OI)(CI)(IO)F
You cannot install the program there if you have only User rights, and you cannot update the program if it has been installed there. Obviously if you install Firefox someplace that Users have write-access to, Users can also update it. I think you missed the entire point of my post.
If I install Firefox as a non-administrator I can't update it if I'm running Windows?
If you do not have administrative rights, you cannot install Firefox on the machine in the first place. You can, however, extract the files to a location you have rights to and run it (just like on *nix). My point was that if a computer has Firefox installed in the traditional way (via the installer program), a non-administrator cannot update the application since they do not have write-access to the Program Files directory. Updating manually or automatically requires administrator access.
This has actually been a problem for us in our computer labs in the past. Firefox will check for updates and download the updater, then prompt the user (who is not an administrator) to restart Firefox to install the update. Since they aren't an admin the update will fail, and then every time they launch Firefox from them on they will be prompted to install it, over and over again. Very poor programming, I think, and very much falling into the faulty and dangerous "everyone runs Windows as an admin" mindset.
What browsers don't auto-update in the default configuration these days?
Browsers being run by non-administrators.
Seriously, this is a big deal. One of the nicest things about IE is that it gets updated as part of Windows/Microsoft Update which means even if you don't have an admin log in to the machine for a year, that browser will be up-to-date. Of all the other browser authors, Google is the only one that I think might also do this (via the Google Updater service that is installed with their stuff). For Firefox and Opera, unless you log in just to update them it never happens.
It might be nice if there was a way for applications to hook into a global OS framework that allows them to check for and apply updates, but I suppose that itself would be a security nightmare. If you aren't careful it would be really easy for slightly knowledgeable users to use the update mechanism to run any program they want with admin rights. Probably need some kind of private/public signing of the executables like MS does for Windows Update.
For apps with such a significant Internet surface area, all browsers should be able to update themselves without requiring the user to be an administrator.
After reading the syllabi, all the higher level classes appear to teach concepts rather than work to develop advanced techniques in a specific language.
Which is exactly as it should be. The focus of a CS degree should not be "how to write a program in as many languages as possible". If you want that, go read Wikipedia or this. I tend to think that the goal of the degree should be (more or less) threefold:
- Weed out people who have no business programming. For those who can it seems crazy, but there really are people who just cannot seem to think logically or in an algorithmic fashion. They should be gone after the first or second class.
- Teach those unfamiliar with programming at least a single language to act as a starting point and as a language to be used in later classes. It used to be that C/C++ was the definitive standard for this since you could mix both high and low level techniques, but lately it seems like most places are starting off with a garbage-collected language such as Java, Python, or C# and then moving to C or C++ later on. In either case, after being 3-4 classes in, the student should be well versed in at least one language. Ideally those still left that should not be programmers would be gone after this point, but as anyone in the field will tell you, this sadly isn't the case.
- Stop teaching languages and start teaching algorithms, techniques, and the 'engineering' part of software engineering. At the end of the day it doesn't matter how many languages you know if you can't use any of them in real-world team-based programming of large and complicated projects. You also get into the more specialized areas you are interested in such as graphics, AI, computational analysis, etc.
Some of my least-favorite CS classes were about language and programming theory and while they aren't real exciting or fun, they do make you really think about good solutions to a problem and not just sitting down to "hack something together". Additionally, all the assignments were language-agnostic, so you could program in whatever you wanted as long as you completed the program spec.
In short: a decent program should be able to sit down and pick up an unfamiliar language without too much trouble, so I wouldn't worry too much about what language you learn first. What's important is that you lean to program well -- after that the language just doesn't matter that much.
One thing I love about playing TF2 is the humor in the dialog. As somebody mentions below, it has the potential to get repetitive, but I've never really noticed it happen (I'm focused on the gameplay). I think a big key to the success they've had at this is that they really do seem to get the timing right and the characters are just very funny -- both stereotypically and originally. It isn't one-liners dropped left and right with no reason, but rather in response to what's going on around you.
For example: the Heavy's maniac laugh (and matching face) after unleashing a couple hundred rounds of ammo, things characters say in response to other player actions such as the heavy teleporting ("Engineer is credit to team!"), a medic healing people and their replies, the Engineer dominating people with the sentry ("Take it like a man sonny"), the scout smacking the Heavy ("Eat it fatty!"), and of course all the great taunts ("Kaa-Boooom!"). Heck, almost everything the Heavy says cracks me up -- it all just meshes and "feels" right.
TF2 isn't perfect, but it definitely does a lot of things right, including humor.
- Wired so it will always work. I don't want to have to think about recharging it.
I've used both wired and wireless. Wired is fine, but sometimes the core does get in the way (moreso than keyboard because of the movement and length). Wireless isn't much trouble, just put the mouse in the charger at the end of the day, take it out in the morning. Easy.
- Mechanical so it always responds in a reliable way. I have yet to find a led/laser mouse that works reliable all the time, every time.
You must have some kind of magical mouse ball that doesn't drag fibers and crap onto the rollers. Mechanical ball mice are anything but reliable. Even a mediocre optical mouse is better than a ball mouse, and a laser mouse works on almost anything (even some glass).
- Few buttons so I don't have to think which button to press. My previous mouse was a wheelmouse where I disabled the wheel button in hardware; I was accidentally pressing it so I'd rather not have the button at all.
More buttons shouldn't mean making mistakes. I can't stand mice without forward/back buttons for web use, doubly so after learning that Visual Studio supports them to jump around code (do 'Go to definition' then press the back button to return to your original location before the jump).
If you are accidently pushing the mouse wheel button then either you have a really crappy mouse or you are, as they say, doing it wrong. Most mice I've found actually make it too hard to push the mouse wheel button.
- No "ergonomic" design, same reason as the weight. Besides, sometimes I use my mouse left-handed.
If you need an ambidextrous mouse, get one. Otherwise a well-designed mouse can just make it more accurate and make using it easier.
The general theme is that I want my input devices to require as little effort as possible.
Sure, but there are limits to both ends of the spectrum. A one-button mouse with no mouse wheel is pretty simple, but really using it means a lot more work and wasted action for repeated tasks.
Not that any of this really matters. Most programming doesn't really involve a mouse that much and except when I use Visual Studio (moving around files, projects, etc), I find I don't use the mouse too much while actually writing code. Browsing documentation, the web, or navigating the OS is another matter though.
Pretty much every application I've ever filled out has asked for a social security number.
This is why I've adopted the practice of simply writing "N/A", "-----", or just nothing when asked for a SSN. It's incredibly uncommon that they actually need that information, usually it's just stuck on there because the person making the form figures it should be on it. Go to a doctor of any kind? Don't need it unless you're processing your payment through insurance (and not even always then). I'll bet that in all the forms you fill out, maybe 10% have a legitimate need to know your SSN, and those are almost always employment applications.
They can always ask again or press the issue if it's really needed. Why just hand out sensitive information because some random piece of paper asks you to? I wonder how many people would fill in credit card numbers, bank account passwords, and mother's maiden name when asked to sign up for a grocery store "savings" card?
I'm not a Microsoft poweruser, so someone else will have to speak about how to deal with that. I'm surprised they didn't hire some Unix guys to tell them about version numbering dlls, but then again the decision they made about how to deal with DLLs must have happened 20+ years ago when they only had the FAT filesystem, and so it would never have occurred to "them" to leave themselves some wriggle room.
Windows has actually had DLL versioning for some time. It's not really worth going into it in detail here, but you can read about it in another Confidential article by Raymond, a much more descriptive article on MSDN, and obviously on Wikipedia.
It's worth noting that *nix is most certainly not immune to dependency hell. Like Windows, it's better now than it used to be, but I still pause for a minute when I see a big update to something very "core" like libstdc++ or glibc.
On Linux, you can remove the DLL without destabilizing running applications. This is because the file is unlinked from the directory structure, appearing as if it was removed, and the old file contents is still accessible to running applications. On Linux, an update mechanism can remove the DLL and put a new DLL in its place without affecting any running applications. Running applications continue using the old DLL, posing no substantial stability risk.
That sounds good, but what happens when the code present in the replaced file is paged out to disk? Linux, like Windows I believe, doesn't page that to the swapfile/pagefile since it's *already* on the disk. It just unloads it from memory knowing it can reload it from the original file later on. Wouldn't this cause problems when library A is replaced, and then program Foo which loaded A is paged out to disk. When Foo comes back, it gets the new code from the replaced version of A which may or may not be compatible with the original one.
Also, like another poster said, you usually need to restart applications using libraries that have been replaced. The problem then becomes knowing which applications are using which libraries and when. If you're really on an important machine you don't want to restart, isn't finding out three days after you update that important program X has been running amok because libstuff.so was replaced worse?
This is something I've wondered for a while. Both Linux and Windows have the ability to modify images (executables and libraries) on the fly without rebooting, and most Linux updates do this but Windows usually doesn't. Now we're looking at not only that, but some pretty low level mucking around in the kernel, all while the machine is running.
I know partly why Microsoft doesn't normally do this for Windows, but why is it that Linux doesn't have the same problems described in that article? If you replace an executable you can restart it, sure, but what happens if you update libraries with various inter-dependencies?
Yes, rebooting is annoying, especially for important servers, but doesn't it make more sense to be 100% sure that the changes you're making aren't destabilizing the system (doubly for servers) than that few minutes of down time rebooting costs? Just wondering.
Now that the 10% barrier has been reached, people have 30 days to submit their final results. At the end of the 30 days, whoever has the best result wins.
That's true, but like the story title indicates, the prize may have been achieved. From the contest rules:
So the publicly available submission beat the 10% mark, but only by a narrow margin of 0.05%. The private submission must also have surpassed 10% for them to be considered a preliminary winner, otherwise the contest goes on (at least, this is my understanding). In any case, I agree that the outcome should be interesting.
If there's more in Windows 7 compared to Vista than there is in Snow Leopard compared to Leopard, I'll eat my shorts.
So, you want salt and pepper with those?
Ignoring the obvious formatting differences, compare Windows 7 changes with OSX 10.6 changes. Anyone who has been following the development of Windows 7 (and isn't just another uninformed Slashdotter) knows there is a lot of changes from Vista to 7. Whether it's worth a $100 - $200 price tag is an individual choice but regardless of the popular belief around here (the same incorrect belief that nobody uses Vista), Win7 is much more than a service pack.
The complete protocol was detailed way back in 1988
That's one option, though I think this revised protocol is better.
Being that slashdot looks and acts differently in Chrome, Firefox and IE, could someone please tell which damn browser slashdot has decided to target so that I know which one is most likely to actually work when I click something.
Classic Index + Classic Discussion = works great.
Sure you miss out on the few worthwhile features they've added, but I'd much rather be able to read the summaries and comments (never actually tried reading the articles -- do they work?) than have shiny new (broken) widgets all over the place.
One caveat though: even classic views are broken in IE6 now :(
The bundling requirement might end up becoming a responsibility for manufacturers.
This is just as stupid as forcing Microsoft to bundle alternative browser binaries with Windows.
The solution to the problem is to force Microsoft to allow OEMs to bundle other browsers with Windows the same way they do anything else. Microsoft's dictating what software can be included with Windows is the real anti-competitive behavior here -- so fix it by removing that behavior. If Dell wants to include Firefox, let them. If Opera wants to sign a deal with HP to include its browser on all their machines, let them.
Don't force all OEMs to include all browsers. That's stupid and impractical.
Google fails to automatically translate the page, but not the content. Translation follows: