Anything can be offshored, the question is will it be offshored. If you do something better than it can be done overseas, I think you're quite safe.
It's about this point that someone brings up the "but there's a billion of them - I can't compete with that". Then again, with regard to getting a job in the US: "but there's 250 million of them - I can't compete with that" - how the hell did you get a job in the US in the first place?
Fields to retrain in? The Aeropsace industry is potentially going to blossom - hard work right now, and damn hard stuff to study, but definitely a good area. Cryptography and data security is also a nice growth field - you just have to get your head around a lot of abstract mathematics.
Noone said this would be easy - but you don't get a guarantted job just for passing MCSE.
Normally I can sympathize with this sort of thing, but I have to tell you that I've never had that happen to me using mouse focus under Win2k. Not "rarely" or "once in a while" - never. Not once. Makes me wonder how the two of us can have such radically different experiences with it.
I freely admit that most of the core windows apps didn't have this issue, but enough other random apps that I used (briefly) did. Basically, there were enough apps that were coded in a ways that never contemplated "focus follows mouse" that it felt quite broken at times. Still far better than "click to focus", but a nightmare compared to UNIX window managers.
The main issue was "click raise" being on (which defeats a large part of the point of focus follows mouse). I can no longer recall if it performed sloppy focus properly.
In all honesty though, why hasn't any UI had a check box under the mouse settings which says "Click here to have focus follow mouse." This way, we wouldn't be having these debates
Every window manager I've ever used on any UNIX, from FVWM to CDE to Enlightenment to Metacity has that option. You name it KDE's Kwin, Fluxbox, Blackbox, Icewm, even TWM had this option.
As for what had a nice checkbox for it - well, the more primitive didn't, so that discounts FVWM and twm (but then, they didn't have checkboxes for ANYTHING, but damn were they configurable), but everything else I've listed did.
Did you mean something else? Am I missing something?
Ever used focus follows mouse under Windows? It's an abomination. Usable, but barely. Most importantly, click raise is still on, and significantly a large number of apps are poorly coded and raise when receiving focus rather than when receiving a click - that means draging your mouse across the desktop causes a cascade of windows hauling themselves up over everything else.
Believe me, I fought with it for a couple of years because it was better (for me, once I learned which apps to avoid) than the click to focus policy. Focus Follows Mouse on Windows is like the CMD.EXE on Windows - it's designed to try and convince people that it's bad and wrong by providing as broken and unhelpful an implementation as possible.
just like The Gimp team is ignoring a large base of potential users by not making the inclusion of a MDI mode a top priority.
That's backward thinking in my view. If you make the application do the MDI, then it has to implement it's own window management scheme - which is always going to be second rate compared to a devoted window manager. On the other had, if you enable the window manager itself to enable MDI like behaviour, you have something far more powerful and flexible in the way of MDI, and at the same time, you get to automatically inherit the window manager's management into the MDI.
Improvements in GTK should be considered so that screen space is used more efficiently. More intuitive and automatic workspace management would help (such as the Amiga's launching of apps on new workspaces), the option of top-of-screen menus (which aids muscle memory too) would also help.
I've been cntemplating new ways to manage lots of windows. The traditional methods are multiple workspaces, and tabbed windows (like fluxbox or PWM). Enlightenment had a cunning scheme for window groups, but it was clumsy to interact with, and hard to always make it do what you wanted.
With that in mind, I have tried to create a new scheme that manages to make Enlightenment style window groups accessible and simple to use, yet more flexible. I think I have something - you can read my proposal here. Effectively this system is to MDIs what Fluxboxes tabbed windows are to tab interface - only more so. For all those who are busy saying "MDIs suck!", take the time to read what I have in mind. traditionally the problem with MDIs are that they implement their own internal way of managing windows inside the MDI, and that usually sucks. Instead, with this system any MDI would simply use the existing window manager to do everything.
To implement the idea on a basic level is not hard at all (though I am not a coder, so unfrotnately that job doesn't fall to me), but to have it integrated well into the system, in the same way that multiple desktops are heavily integrated into te system, would take a little more work - if anyone wants to code up a version for their favourite window manager, feel free to do so - just let me know so I can try it out.
Errm... Customers do most of the advertising already. They tell their friends how good any product is, they carry bags with shop names on, they wear branded clothes, branded bags, etc. I dont think we need to do any more advertising for them, do we?
That was kind of my point - for most products this is the tried and true technique. Standard practice in fact. Yet Apple were the first to successfully apply it to portable players, and I think this was a large part of the iPods success.
The only other manufacturer that took this road in any major way was Sony, and their fairly distinctive headphones that come with some of the more expensive discmans. For the most part there has been NO visible branding for portable players (okay, the discmans get by because they're big enough that people don't always have them hidden away, but the rest...)
True, others do a little, but it's the combination of bright white ear-pieces, along with bright white cord that makes the difference. It's easily visible from a distance.
And you sell even better to the vain yuppie crowd, who like to make sure people can recognise the fact that they've bought the latest trendy gadget.
So basically people just want to show off - its expensive, and they want to demonstrate that they have a real iPod, not some cheap knock-off player. Pitching to peoples pride an narcissism has always been a marketing winner - that's why distinctive headphones are so good.
Compare this with cellphones - the status is in how small they are. Hard to show off how small something is: if it's really small it hides invisibly in your pocket. Personally I think this is where a lot of the whole "Digital Camera on a cell phone" came from... it's a new status symbol element showing off how expensive your cell phone is, but it's quite easy to show off - just go around taking pictures of everything.
Of all the nice design aspects of the iPod, as far as Apple are concerned those distinctive white headphones have to the best. Portable devices need to be small, discrete, and easy to slip into a pocket, so you never really see them. Is that person with the headphones on listening to a Rio player? iRiver perhaps? Maybe Neuros? Or just a discman stuck in their bag? But you know damn well when you see someone listening to an iPod.
I'm surprised the others player manufacturers never cottoned on to this one: get the customers to do your advertising for you!
It's been said, but it needs to be said again until it sinks in:
Use stow.
It's small, and easy to use, and handles all of this very elegantly. The build process gains an extra step, but effectively goes something like this (note that you can install in/opt or wherever else you care to - I use/usr/local): $./configure --prefix=/usr/local/stow/package-x.x.x $ make $ su # make install # cd/usr/local/stow # stow package-x.x.x
This very kindly puts symlinks in/usr/local/ to whatever directories you need - so for all intents and purposes, you installed the package in/usr/local as normal.
Want to see what you have installed from source? Check the/usr/local/stow directory - there's a nice list of all the packages. Want to remove something? # cd/usr/local/stow # stow -D package-x.x.x # rm -rf package-x.x.x
I find a combination of packages and stow makes for a very easy to maintian system.
You'll never avoid having to write straight code, but I could imagine a system where the visual element is useful as an additional tool. Hell, we already have that - you model something in UML so you can better see the relationships, you still have to write the code, but the visual aspect provides a nice complementary view.
And that is my take on any data visualisation for truly complex datasets (which programs, as you very rightly point out, almost always are). There is no one magic way of looking at the data that makes it clear. However, having many different ways to view the data helps. Generally the more ways of viewing the data, the better off you are - the more insight you get.
The only visual programming you'll get is using different visualisations of the code to see, and potentially manipulate the raw text code you're writing. That much will almost certainly happen - more visual interfaces to navigate through the code are inevitable. Writing code by throwing building blocks together? Never going to happen.
Well, that one is really down to the distributions, and what sort of security policy they ship with (presuming they were defaulting to having all this stuff on and working). I admit that the default NSA policy is not one you want to be throwing on an average desktop PC. Then again, it should be entirely possible to build appropriate policies. I hear Fedora Core 2 will be shipping with SELinux on by default, and a default policy set up, which makes good sense.
Put it this way, right now when you do a linux install many of the distributions ask a few questions along the lines of "Are you setting up a Server/Desktop/Workstation?" and "The level of security on this box should be Low/Medium/High/Paranoid?". All you have to do is have a few policies written, and install an appropriate policy according to how those questions were answered. Even a nice lenient SELinux policy will leave you much better off security wise than a relatively hardened standard box.
I believe the number of primes less than n tends asymptotically toward n/log(n) as n increases. Given how big 2048 bit numbers are, I would suggest we can take n/log(n) as a pretty accurate count for ballpark work.
So, working sketchily, we're talking roughly 2^2040 primes in that range (note, that's pure ballpark, but it does give a rough order of magnitude - we're talking LOTS of primes, not just a few).
I'm not a number theorist. I don't have the time to audit every line of code (even if it's open source) in a library.
So how can I trust anybody's crypto code?
You presume that as long as the code is openly published, and at least somewhat widely used, that there are number theorists and crypto experts picking through it. As far as popular open crypto code goes, that is certainly true.
That's not to say people couldn't slip a backdoor in, but if you're publishing your code openly, there's always a chance you'll get caught - and after that happens people will be much slower to trust any of your code thereafter. So in that sense, it's not even the fact that people are looking at the code that counts, but rather the mere threat that someone might.
If some mathematician creates an easy way to factor large numbers (and they have been finding better and better ways to do this), then systems like RSA become vulnerable even if they use umpteen bits.
In fact, if the factoring is sufficiently efficient the whole system comes to bits. Yes you can just double the key size to make it unfactorable, but you can only do that so many times before
(1) The key gets so large that it is hard to manage (this is certainly at the upper end, but large keys can be problematic). (2) The key gets so large that the encryption process is too slow (faster computers mean faster encryption, but also faster cracking).
Oddly enough, there are upper bounds on key size, as well as the lower bounds provided by how easily the problem can be solved. Once these bounds overlap, the system is effectively compromised.
The second chapter covers the security architecture, which features such things as permission-based access, least privilege and isolation, mediation, and other expected elements.... But three of the design goals represent the core philosophy of Gutmann's architecture: The separation of policy definition and enforcement mechanism, a verifiable design (practical vs. theoretical viability), and a flexible security policy.
It is worth noting that this is exactly what SELinux from the NSA was seeking to apply to Linux at a kernel level. The principle is to confine all user programs and system daemons to an absolute minimum required level of access. That is there is an access manager in the kernel that mediates requests. In turn, there is a policy manager (seperate from the access manager) that maintains policy. Effectively the access manager queries the policy manager and then applies whatever access decision the policy manager returns. This means buffer overflows don't get you anywhere - there is no root account with universal access to exploit!
The system is, in fact, even more flexible than that - seperate access managers exist for processes, filesystem access, and IPC (socket or System V), but the hooks are provided in a way that this is completely modular, and new access managers can be added/written for whatever else you want to control (database access for instance).
The point is, a very fine, well thought out, secure system for access conrol has already been implemented for Linux (and has been folded into the 2.6 kernel). People ought to be using it! If you're running a 2.6 kernel, see if you've got LSM compiled in, if not, do a recompile to include it. Example policies can be found here, and policy management tools (even GUI ones) can be found here. If you're serious about security, the you ought to to be using this stuff. If you're not serious about security, use it anyway and help make Linux as secure as we like to pretend it is.
Lets' try and puch this (rather nice) analogy a little further to show the difference.
Libraries still lay books out spatially - the fiction section is on level 3, the math books are on the 5th floor, the literary criticism in onthe 2nd floor etc. That kind of makes sense, and helps people navigate in a rough sense to what they want.
I would claim, however, that the difference between spatial and navigational is similar to the difference between staircases and elevators. Imagine you're in a huge library. It has lots of floors to organise the books. You can wander freely around the floors by the stairwell - and that's great, because you always know where you are, and so you don't tend to get lost. You can remember walking up 3 flights of stairs from the last floor you were on. On the other hand, if you take the elevator, you just get into a small room, wait a minute, then step out onto another floor. Magic. Easy to lose sense of things, or forget which floor you are on because you are not really moving through the space, you're kind of teleporting right to the floor you want.
The thing is, in really big buildings, people use elevators. That's not just because walking up the stairwell is tiring, it's because you can get used to the concept, and keep mental track of things in a different way - you learn a new way of getting around, and after that everything is fine.
So, if you've never seen, or used an elevator before, the stairwell is probably the best way to wander around a really huge library - it's a lot less confusing. But realistically, once you've come to grips with the lift, you just can't be bothered mucking around with the stairs.
Actaully the space agencies involved were (from what I've heard) very careful about sterilisation of probes to make sure such things DIDN'T happen.
Dig around for details on the two rovers there at the moment for instance, I'm sure you'll find there was a very meticulous process to make sure everything was completely sterlised before arriving on mars.
Of course that doesn't mean life didn't hitch a ride somehow, but it does seriously up the "unlikely" stakes a notch or two.
Oddly enough I agree with you - technically most forms of "cheating" in a casino are not illegal at all. What generally happens is if the casino catches you at it they escort you off the premises and tell you to never come back - it's a private establishment, so they have the right to say who can gamble there and who can't.
What made this case interesting, and viable, was that it wasn't simply a matter of a weak RNG that an outsider managed to brute force - the RNG wasn't that weak (for the time). What made it weak was that the persons involved had access to inside information about the RNG that they had agreed not to use in this manner (the casino wouldn't have ought the RNG unless this was the case). In effect, they therefore defrauded the casino by lying about the RNG. Were they outsiders who just happend to wander in and do this, they would not have got arrested, but rather booted off the casino premises. I suspect the casino would also have managed to find a loophole via which they could dodge payment. It was the inside information that made this one a scam that got the law involved.
Basically their contracts with the company said they would not use any knowledge gained in the course of the work at any casinos. This was because the company that sold the stuff was promising the casinos that it was secure, and that their employees were secure.
By breaking the contract with the employer they effectively perpetrated fraud against the casino.
Imagine a worker at Amazon.com who had acess simply maxed out several of the credit cards in the database. Similar kind of thing due to the contracts and gurantees involved.
I don't know the details that well, so I'm afraid pressing me won't help - but there was a valid case in this instance.
So what you're saying is that anyone who wins big in a casino is immediately suspected of cheating, to the point that they search the guy's room within "10 minutes"??
Are you aware of the odds of someone coming in, and for their first bet putting down massive amounts of cash on the highest odds bet available and winning?
Given that the odds of just winning that particular bet (10 numbers in order) are astronomical (100 numbers in a keno game, so 10 numbers in order is about 1 in 6x10^19), I'm not surprised that the casino was a _little_ suspicious. I believe they did some very quick checks, and called the cops to search the guys hotel room.
Winning big doesn't automatically get you suspected of cheatung, but they will be a little suspicious, and probably run some quiet checks. Winning astronomically big first time up with a single HUGE bet at _extreme_ odds - yeah, that'll get you suspected of cheating.
Anything can be offshored, the question is will it be offshored. If you do something better than it can be done overseas, I think you're quite safe.
It's about this point that someone brings up the "but there's a billion of them - I can't compete with that". Then again, with regard to getting a job in the US: "but there's 250 million of them - I can't compete with that" - how the hell did you get a job in the US in the first place?
Fields to retrain in? The Aeropsace industry is potentially going to blossom - hard work right now, and damn hard stuff to study, but definitely a good area. Cryptography and data security is also a nice growth field - you just have to get your head around a lot of abstract mathematics.
Noone said this would be easy - but you don't get a guarantted job just for passing MCSE.
Jedidiah.
Normally I can sympathize with this sort of thing, but I have to tell you that I've never had that happen to me using mouse focus under Win2k. Not "rarely" or "once in a while" - never. Not once. Makes me wonder how the two of us can have such radically different experiences with it.
I freely admit that most of the core windows apps didn't have this issue, but enough other random apps that I used (briefly) did. Basically, there were enough apps that were coded in a ways that never contemplated "focus follows mouse" that it felt quite broken at times. Still far better than "click to focus", but a nightmare compared to UNIX window managers.
The main issue was "click raise" being on (which defeats a large part of the point of focus follows mouse). I can no longer recall if it performed sloppy focus properly.
Jedidiah
In all honesty though, why hasn't any UI had a check box under the mouse settings which says "Click here to have focus follow mouse." This way, we wouldn't be having these debates
Every window manager I've ever used on any UNIX, from FVWM to CDE to Enlightenment to Metacity has that option. You name it KDE's Kwin, Fluxbox, Blackbox, Icewm, even TWM had this option.
As for what had a nice checkbox for it - well, the more primitive didn't, so that discounts FVWM and twm (but then, they didn't have checkboxes for ANYTHING, but damn were they configurable), but everything else I've listed did.
Did you mean something else? Am I missing something?
Jedidiah.
Ever used focus follows mouse under Windows? It's an abomination. Usable, but barely. Most importantly, click raise is still on, and significantly a large number of apps are poorly coded and raise when receiving focus rather than when receiving a click - that means draging your mouse across the desktop causes a cascade of windows hauling themselves up over everything else.
Believe me, I fought with it for a couple of years because it was better (for me, once I learned which apps to avoid) than the click to focus policy. Focus Follows Mouse on Windows is like the CMD.EXE on Windows - it's designed to try and convince people that it's bad and wrong by providing as broken and unhelpful an implementation as possible.
Jedidiah.
just like The Gimp team is ignoring a large base of potential users by not making the inclusion of a MDI mode a top priority.
That's backward thinking in my view. If you make the application do the MDI, then it has to implement it's own window management scheme - which is always going to be second rate compared to a devoted window manager. On the other had, if you enable the window manager itself to enable MDI like behaviour, you have something far more powerful and flexible in the way of MDI, and at the same time, you get to automatically inherit the window manager's management into the MDI.
Jedidiah
Improvements in GTK should be considered so that screen space is used more efficiently. More intuitive and automatic workspace management would help (such as the Amiga's launching of apps on new workspaces), the option of top-of-screen menus (which aids muscle memory too) would also help.
I've been cntemplating new ways to manage lots of windows. The traditional methods are multiple workspaces, and tabbed windows (like fluxbox or PWM). Enlightenment had a cunning scheme for window groups, but it was clumsy to interact with, and hard to always make it do what you wanted.
With that in mind, I have tried to create a new scheme that manages to make Enlightenment style window groups accessible and simple to use, yet more flexible. I think I have something - you can read my proposal here. Effectively this system is to MDIs what Fluxboxes tabbed windows are to tab interface - only more so. For all those who are busy saying "MDIs suck!", take the time to read what I have in mind. traditionally the problem with MDIs are that they implement their own internal way of managing windows inside the MDI, and that usually sucks. Instead, with this system any MDI would simply use the existing window manager to do everything.
To implement the idea on a basic level is not hard at all (though I am not a coder, so unfrotnately that job doesn't fall to me), but to have it integrated well into the system, in the same way that multiple desktops are heavily integrated into te system, would take a little more work - if anyone wants to code up a version for their favourite window manager, feel free to do so - just let me know so I can try it out.
Jedidiah
Errm... Customers do most of the advertising already. They tell their friends how good any product is, they carry bags with shop names on, they wear branded clothes, branded bags, etc. I dont think we need to do any more advertising for them, do we?
That was kind of my point - for most products this is the tried and true technique. Standard practice in fact. Yet Apple were the first to successfully apply it to portable players, and I think this was a large part of the iPods success.
The only other manufacturer that took this road in any major way was Sony, and their fairly distinctive headphones that come with some of the more expensive discmans. For the most part there has been NO visible branding for portable players (okay, the discmans get by because they're big enough that people don't always have them hidden away, but the rest...)
Jedidiah.
True, others do a little, but it's the combination of bright white ear-pieces, along with bright white cord that makes the difference. It's easily visible from a distance.
And you sell even better to the vain yuppie crowd, who like to make sure people can recognise the fact that they've bought the latest trendy gadget.
Dear god people are suckers.
Jedidiah.
So basically people just want to show off - its expensive, and they want to demonstrate that they have a real iPod, not some cheap knock-off player. Pitching to peoples pride an narcissism has always been a marketing winner - that's why distinctive headphones are so good.
Compare this with cellphones - the status is in how small they are. Hard to show off how small something is: if it's really small it hides invisibly in your pocket. Personally I think this is where a lot of the whole "Digital Camera on a cell phone" came from... it's a new status symbol element showing off how expensive your cell phone is, but it's quite easy to show off - just go around taking pictures of everything.
Jedidiah.
Of all the nice design aspects of the iPod, as far as Apple are concerned those distinctive white headphones have to the best. Portable devices need to be small, discrete, and easy to slip into a pocket, so you never really see them. Is that person with the headphones on listening to a Rio player? iRiver perhaps? Maybe Neuros? Or just a discman stuck in their bag? But you know damn well when you see someone listening to an iPod.
I'm surprised the others player manufacturers never cottoned on to this one: get the customers to do your advertising for you!
Jedidiah.
It's been said, but it needs to be said again until it sinks in:
/opt or wherever else you care to - I use /usr/local):
./configure --prefix=/usr/local/stow/package-x.x.x /usr/local/stow
/usr/local/ to whatever directories you need - so for all intents and purposes, you installed the package in /usr/local as normal.
/usr/local/stow directory - there's a nice list of all the packages. Want to remove something?
/usr/local/stow
Use stow.
It's small, and easy to use, and handles all of this very elegantly. The build process gains an extra step, but effectively goes something like this (note that you can install in
$
$ make
$ su
# make install
# cd
# stow package-x.x.x
This very kindly puts symlinks in
Want to see what you have installed from source? Check the
# cd
# stow -D package-x.x.x
# rm -rf package-x.x.x
I find a combination of packages and stow makes for a very easy to maintian system.
Jedidiah
You'll never avoid having to write straight code, but I could imagine a system where the visual element is useful as an additional tool. Hell, we already have that - you model something in UML so you can better see the relationships, you still have to write the code, but the visual aspect provides a nice complementary view.
And that is my take on any data visualisation for truly complex datasets (which programs, as you very rightly point out, almost always are). There is no one magic way of looking at the data that makes it clear. However, having many different ways to view the data helps. Generally the more ways of viewing the data, the better off you are - the more insight you get.
The only visual programming you'll get is using different visualisations of the code to see, and potentially manipulate the raw text code you're writing. That much will almost certainly happen - more visual interfaces to navigate through the code are inevitable. Writing code by throwing building blocks together? Never going to happen.
Jedidiah.
Well, that one is really down to the distributions, and what sort of security policy they ship with (presuming they were defaulting to having all this stuff on and working). I admit that the default NSA policy is not one you want to be throwing on an average desktop PC. Then again, it should be entirely possible to build appropriate policies. I hear Fedora Core 2 will be shipping with SELinux on by default, and a default policy set up, which makes good sense.
Put it this way, right now when you do a linux install many of the distributions ask a few questions along the lines of "Are you setting up a Server/Desktop/Workstation?" and "The level of security on this box should be Low/Medium/High/Paranoid?". All you have to do is have a few policies written, and install an appropriate policy according to how those questions were answered. Even a nice lenient SELinux policy will leave you much better off security wise than a relatively hardened standard box.
Jedidiah.
Or, alternatively:
Creators Admit UNIX, C Hoax
Jedidiah.
I believe the number of primes less than n tends asymptotically toward n/log(n) as n increases. Given how big 2048 bit numbers are, I would suggest we can take n/log(n) as a pretty accurate count for ballpark work.
So, working sketchily, we're talking roughly 2^2040 primes in that range (note, that's pure ballpark, but it does give a rough order of magnitude - we're talking LOTS of primes, not just a few).
Jedidiah.
I'm not a number theorist. I don't have the time to audit every line of code (even if it's open source) in a library.
So how can I trust anybody's crypto code?
You presume that as long as the code is openly published, and at least somewhat widely used, that there are number theorists and crypto experts picking through it. As far as popular open crypto code goes, that is certainly true.
That's not to say people couldn't slip a backdoor in, but if you're publishing your code openly, there's always a chance you'll get caught - and after that happens people will be much slower to trust any of your code thereafter. So in that sense, it's not even the fact that people are looking at the code that counts, but rather the mere threat that someone might.
Jedidiah.
If some mathematician creates an easy way to factor large numbers (and they have been finding better and better ways to do this), then systems like RSA become vulnerable even if they use umpteen bits.
In fact, if the factoring is sufficiently efficient the whole system comes to bits. Yes you can just double the key size to make it unfactorable, but you can only do that so many times before
(1) The key gets so large that it is hard to manage (this is certainly at the upper end, but large keys can be problematic).
(2) The key gets so large that the encryption process is too slow (faster computers mean faster encryption, but also faster cracking).
Oddly enough, there are upper bounds on key size, as well as the lower bounds provided by how easily the problem can be solved. Once these bounds overlap, the system is effectively compromised.
Jedidiah
The second chapter covers the security architecture, which features such things as permission-based access, least privilege and isolation, mediation, and other expected elements. ... But three of the design goals represent the core philosophy of Gutmann's architecture: The separation of policy definition and enforcement mechanism, a verifiable design (practical vs. theoretical viability), and a flexible security policy.
It is worth noting that this is exactly what SELinux from the NSA was seeking to apply to Linux at a kernel level. The principle is to confine all user programs and system daemons to an absolute minimum required level of access. That is there is an access manager in the kernel that mediates requests. In turn, there is a policy manager (seperate from the access manager) that maintains policy. Effectively the access manager queries the policy manager and then applies whatever access decision the policy manager returns. This means buffer overflows don't get you anywhere - there is no root account with universal access to exploit!
The system is, in fact, even more flexible than that - seperate access managers exist for processes, filesystem access, and IPC (socket or System V), but the hooks are provided in a way that this is completely modular, and new access managers can be added/written for whatever else you want to control (database access for instance).
The point is, a very fine, well thought out, secure system for access conrol has already been implemented for Linux (and has been folded into the 2.6 kernel). People ought to be using it! If you're running a 2.6 kernel, see if you've got LSM compiled in, if not, do a recompile to include it. Example policies can be found here, and policy management tools (even GUI ones) can be found here. If you're serious about security, the you ought to to be using this stuff. If you're not serious about security, use it anyway and help make Linux as secure as we like to pretend it is.
Jedidiah.
Lets' try and puch this (rather nice) analogy a little further to show the difference.
Libraries still lay books out spatially - the fiction section is on level 3, the math books are on the 5th floor, the literary criticism in onthe 2nd floor etc. That kind of makes sense, and helps people navigate in a rough sense to what they want.
I would claim, however, that the difference between spatial and navigational is similar to the difference between staircases and elevators. Imagine you're in a huge library. It has lots of floors to organise the books. You can wander freely around the floors by the stairwell - and that's great, because you always know where you are, and so you don't tend to get lost. You can remember walking up 3 flights of stairs from the last floor you were on. On the other hand, if you take the elevator, you just get into a small room, wait a minute, then step out onto another floor. Magic. Easy to lose sense of things, or forget which floor you are on because you are not really moving through the space, you're kind of teleporting right to the floor you want.
The thing is, in really big buildings, people use elevators. That's not just because walking up the stairwell is tiring, it's because you can get used to the concept, and keep mental track of things in a different way - you learn a new way of getting around, and after that everything is fine.
So, if you've never seen, or used an elevator before, the stairwell is probably the best way to wander around a really huge library - it's a lot less confusing. But realistically, once you've come to grips with the lift, you just can't be bothered mucking around with the stairs.
Jedidiah.
Actaully the space agencies involved were (from what I've heard) very careful about sterilisation of probes to make sure such things DIDN'T happen.
Dig around for details on the two rovers there at the moment for instance, I'm sure you'll find there was a very meticulous process to make sure everything was completely sterlised before arriving on mars.
Of course that doesn't mean life didn't hitch a ride somehow, but it does seriously up the "unlikely" stakes a notch or two.
Jedidiah.
Oddly enough I agree with you - technically most forms of "cheating" in a casino are not illegal at all. What generally happens is if the casino catches you at it they escort you off the premises and tell you to never come back - it's a private establishment, so they have the right to say who can gamble there and who can't.
What made this case interesting, and viable, was that it wasn't simply a matter of a weak RNG that an outsider managed to brute force - the RNG wasn't that weak (for the time). What made it weak was that the persons involved had access to inside information about the RNG that they had agreed not to use in this manner (the casino wouldn't have ought the RNG unless this was the case). In effect, they therefore defrauded the casino by lying about the RNG. Were they outsiders who just happend to wander in and do this, they would not have got arrested, but rather booted off the casino premises. I suspect the casino would also have managed to find a loophole via which they could dodge payment. It was the inside information that made this one a scam that got the law involved.
Jedidiah.
I believe the laptop running the offending code to cheat is pretty much what did it...
Jedidiah.
Read the post. He didn't just "win big" he won ridiculously unbelievably (quite literally) big - which, as stated, WILL get you suspected of cheating.
You get suspected of cheating in that sort of way, yeah, they call the cops and search your hotel room.
Jedidiah.
Basically their contracts with the company said they would not use any knowledge gained in the course of the work at any casinos. This was because the company that sold the stuff was promising the casinos that it was secure, and that their employees were secure.
By breaking the contract with the employer they effectively perpetrated fraud against the casino.
Imagine a worker at Amazon.com who had acess simply maxed out several of the credit cards in the database. Similar kind of thing due to the contracts and gurantees involved.
I don't know the details that well, so I'm afraid pressing me won't help - but there was a valid case in this instance.
Jedidiah.
So what you're saying is that anyone who wins big in a casino is immediately suspected of cheating, to the point that they search the guy's room within "10 minutes"??
Are you aware of the odds of someone coming in, and for their first bet putting down massive amounts of cash on the highest odds bet available and winning?
Given that the odds of just winning that particular bet (10 numbers in order) are astronomical (100 numbers in a keno game, so 10 numbers in order is about 1 in 6x10^19), I'm not surprised that the casino was a _little_ suspicious. I believe they did some very quick checks, and called the cops to search the guys hotel room.
Winning big doesn't automatically get you suspected of cheatung, but they will be a little suspicious, and probably run some quiet checks. Winning astronomically big first time up with a single HUGE bet at _extreme_ odds - yeah, that'll get you suspected of cheating.
Jedidiah.