Even the most primitive data flow analysis would help track that down, but if the code isn't written with assertions all over, you never really know if it's consistent with assumptions or only fooling you all along. I don't write anything without assertions these days.
I for one completely agree. As someone for whom generality is code porn[1], it's been my experience that every little extra bit of generality introduces an order of magnitude more code. In practice this should still save you code compared to repeating yourself for every case, but at some point the costs outweigh the gains and you have to draw a line.
[1]: I like to combine C++ templates and polymorphism. Most people don't, but if you're willing to battle those demons, you can make extremely reusable code, that's still type-safe at compile time. I'll take Scala over that any day, but it's a fun exercise.
Let's say that programming is/already/ composition from a hierarchical tree of components, and that the most basic components (that we care about) are CPU and device instructions. Then let's say that above that level we have system calls, low-level functions, resource abstractions, classes, domain-specific modelling, etc. and that all of this is a perfectly valid composition of components.
Then let's say that the only difference you actually want is to put all of this together with a graphical editor instead of a text editor. Is that fair to say? If that's all you want, then learn to write code, because that's a lot more practical. You're the one that's wrong, not the industry.
If you seriously want components to be designed specifically for graphical composition instead of logical composition, well, that's when you know you're in the wrong industry.
You are ignoring, either through sheer ignorance or a commercial agenda, the wealth of literature and experience on how incredibly impractical it is to shoehorn complex logic and relationships into graphical forms, and especially how difficult it is for a human to interpret (let alone manipulate) the result of such a transformation. Return to the material plane and learn to program correctly, or stay out of the industry.
So who do you think will be writing the "components" for your magic system, and the infrastructure to make the system executable, designable, testable and usable? We have been progressing to increasingly high level code (and in some cases, as you say, component architectures), but the amount of code being written and maintained continues to grow, not shrink.
So the amount of code is growing, and it does more per unit mass, and software engineering skills are increasingly valuable and applicable, and you think this is a trend towards the elimination of code and software engineers? You may want to check your water and food sources for contamination.
What have you done to your Firefox to make full screen mode use anything less than the full screen? In mine all bars are hidden until the mouse cursor reaches the edge of the screen. Almost every modern graphical open source application has a full screen mode, with the notable exception of Eclipse (based on SWT, having no portable way of making a true full screen window).
It's your decision if you buy a car that does not allow a substitute stereo. However, Microsoft specifically required its third-party vendors to sell only Microsoft operating systems and to bundle only Microsoft Windows on computers. So for a very long and critical time, the only way to buy a computer was to buy one with Windows already on it, and that's a huge part of how Microsoft got its market share. These "agreements" are fundamentally anticompetitive and illegal, and apparently a very good business strategy.
There is a theoretically robust test against obviousness, and it's that if basically any reasonably competent worker in the industry could have come up with the same idea, then it's not supposed to be patentable. This is completely useless in practice because the patent examiners are very far from being competent workers in the industry,/especially/ in our industry, and so, to them, anything more sophisticated than a checkbox seems like game-changing innovation.
This is how I play SC1 with Linux-using friends. We all run OpenVPN (I host) and bridge VirtualBox interfaces to it. Using that, we don't even need the forcebindip hack that most Windows users are stuck with:)
Right, because each game client is going to submit to bnet a complete list of all of its interface IPs, including VPN and wireless connections, and bnet is going to be able to decide with only that limited information which precise subnet to ask each client to broadcast on, even though it has no knowledge at all of the topology or technology involved for each device, or even if the apparent subnets on each machine are part of a connected network. There are so many ways it can all go wrong, I would be genuinely surprised if they decided that was the right way to provide the "experience".
The best compromise would be to have each client elect a network interface to use for LAN play, and submit only that network interface's IP. You wouldn't be able to do this with aliased interfaces (many IPs per interface), but maybe you could with bridges (many interfaces per IP, though Windows does this exceedingly poorly). Giving users so much frustration and potential failure points *just* for anti-piracy, something the real hackers will subvert in a matter of days anyway, is exactly the kind of mistake Blizzard will not make.
You can tell when gamers don't know anything about network software implementation. By the time Battle.Net receives your Network Address Translated connections, it all looks like one IP, so while it could easily see that it's all from one network (of arbitrary size), it has no way of selecting a specific client to act as a host, nor commanding the others to connect, as it does not know the LAN IPs. The very closest it could do is ask client machine to perform UDP broadcasts, which is exactly what SC1 LAN play does, and if they implemented all of that anyway it would be a crime against nature to require bnet to bootstrap it.
For servers it's 5 years, which is more than reasonable for Ubuntu's target market. Desktops are obsolete after 6 months, saying nothing of 3 years. An LTS comes out every 1.5-2 years so at worst you get 3 years of server support for the old LTS while deploying the new LTS. If that's not long enough, your management infrastructure is probably a much bigger problem than your support contracts.
Re:There is no such thing as ten-round AES-256 *$*
on
Another New AES Attack
·
· Score: 2, Insightful
If attackers against any system have the resources to store all of the system's traffic in the hopes of decrypting it with a complete break later (e.g. as WEP was broken after months/years of wireless traffic), then the fact is they'll have a lot of sensitive information. To an individual, corporation or defence organisation, there is plenty of "old" data that would be very damaging for others to have, and yet in general the old data inches closer to exposure. So sure, it drops in value, but never enough to make a break acceptable.
Who knows, that may be what they want. I wouldn't be surprised in the slightest if Microsoft spun this into further marketing and misinformation, with the excuse that the people have spoken.
It's still a pretty arbitrary distinction. Everyone is clamouring for drivers for proprietary hardware (e.g. nVidia cards), but drivers for a proprietary hardware simulator are unwelcome and dirty? Whoever wants one kind of open driver and doesn't want another is probably a hypocrite, or very confused.
It's not evil, but it undermines the effect of the GPL. The GPL ensures that any product using your GPL code cannot become proprietary - it has to be licensed under a compatible license, compatibility depending on how it uses your code. What the 5-year expiry date would do is allow, say, a proprietary fork of Linux 2.6.30 to emerge 5 years from now. Later versions would have later effective expiry dates, but the point is that the product itself could have proprietary derivatives, exactly what the GPL prevents.
The reason to prevent proprietary derivatives is to ensure that enhancements, extensions, etc. are available to users of the original code. This is most of the reason Linux is so ridiculously powerful today, having been extended by many commercial institutions, with most of the changes being merged into the mainline for all to share.
However, it is clear that a forked Linux would still not be distributable in countries without the 5-year expiry, so the actual influence of the fork would be very limited.
Please practice reading comprehension. The ongoing development cost would be made up by fees for ongoing support and services. He said that very clearly, and for you to blatantly ignore it suggests that you have your own agenda.
It's very simple to see why this happens. When you start a project, or even just a stage of a project, you have some list of problems and you may even have some idea of the solutions. You can use good judgement to estimate the time it takes (at least to some order of magnitude), and rounding off to 10 years makes for good press.
But when you actually begin the work, every problem you solve illuminates a whole new set of problems to solve. If each solution opens up more than one new problem, you've "increased" the amount of work left to be done. So either you cut back on some of the goals (to reduce the list of problems) or you admit it wasn't as simple as you thought and announce a new project to tackle some subset of the new set of problems.
A lot of what makes a brain's connections is genetic, and a lot is learned. It wouldn't even begin to function without the genetic component, and it wouldn't survive long or perform any useful task without the learned component. Getting the genetic part right is incredibly difficult (it took evolution millions of years before any organisms could just walk), and fundamentally necessary to get any use out of the brain.
If you're the only person in the world with this problem, maybe it's because of you or your environment, not the Eclipse project. If you believe you have encountered a real bug, submit a bug report and get it solved. If you don't really believe you've found a bug, then don't troll on Slashdot about it. It's one or the other, so choose.
To help with the Business types who don't know anything about algorithm or data structure theory, but are familiar with physical objects like dictionaries. Yes, they have no place programming, but just try telling Microsoft that.
I call BS. At a former job I had an account with no admin rights at all, and I installed and ran the JRE and Eclipse from a network share. No special intervention required.
If you install Eclipse to somewhere you can't write, it will automatically detect that and write things to your per-user directory instead, even for installing plugins. It literally couldn't be any simpler.
You have just got to be kidding. For Windows it's just a.zip that you unpack, then run eclipse.exe. Make a shortcut if it helps. For Linux it's a tar and you can use a graphical archiver for that too. If a "software developer" can't work that out, I don't want to be anywhere near their code. It takes more clicks just to create a new project than to install Eclipse!
Even the most primitive data flow analysis would help track that down, but if the code isn't written with assertions all over, you never really know if it's consistent with assumptions or only fooling you all along. I don't write anything without assertions these days.
I for one completely agree. As someone for whom generality is code porn[1], it's been my experience that every little extra bit of generality introduces an order of magnitude more code. In practice this should still save you code compared to repeating yourself for every case, but at some point the costs outweigh the gains and you have to draw a line.
[1]: I like to combine C++ templates and polymorphism. Most people don't, but if you're willing to battle those demons, you can make extremely reusable code, that's still type-safe at compile time. I'll take Scala over that any day, but it's a fun exercise.
Let's say that programming is /already/ composition from a hierarchical tree of components, and that the most basic components (that we care about) are CPU and device instructions. Then let's say that above that level we have system calls, low-level functions, resource abstractions, classes, domain-specific modelling, etc. and that all of this is a perfectly valid composition of components.
Then let's say that the only difference you actually want is to put all of this together with a graphical editor instead of a text editor. Is that fair to say? If that's all you want, then learn to write code, because that's a lot more practical. You're the one that's wrong, not the industry.
If you seriously want components to be designed specifically for graphical composition instead of logical composition, well, that's when you know you're in the wrong industry.
You are ignoring, either through sheer ignorance or a commercial agenda, the wealth of literature and experience on how incredibly impractical it is to shoehorn complex logic and relationships into graphical forms, and especially how difficult it is for a human to interpret (let alone manipulate) the result of such a transformation. Return to the material plane and learn to program correctly, or stay out of the industry.
Well sure, you're from the past. It's best you get used to admitting that.
So who do you think will be writing the "components" for your magic system, and the infrastructure to make the system executable, designable, testable and usable? We have been progressing to increasingly high level code (and in some cases, as you say, component architectures), but the amount of code being written and maintained continues to grow, not shrink.
So the amount of code is growing, and it does more per unit mass, and software engineering skills are increasingly valuable and applicable, and you think this is a trend towards the elimination of code and software engineers? You may want to check your water and food sources for contamination.
What have you done to your Firefox to make full screen mode use anything less than the full screen? In mine all bars are hidden until the mouse cursor reaches the edge of the screen. Almost every modern graphical open source application has a full screen mode, with the notable exception of Eclipse (based on SWT, having no portable way of making a true full screen window).
It's your decision if you buy a car that does not allow a substitute stereo. However, Microsoft specifically required its third-party vendors to sell only Microsoft operating systems and to bundle only Microsoft Windows on computers. So for a very long and critical time, the only way to buy a computer was to buy one with Windows already on it, and that's a huge part of how Microsoft got its market share. These "agreements" are fundamentally anticompetitive and illegal, and apparently a very good business strategy.
There is a theoretically robust test against obviousness, and it's that if basically any reasonably competent worker in the industry could have come up with the same idea, then it's not supposed to be patentable. This is completely useless in practice because the patent examiners are very far from being competent workers in the industry, /especially/ in our industry, and so, to them, anything more sophisticated than a checkbox seems like game-changing innovation.
This is how I play SC1 with Linux-using friends. We all run OpenVPN (I host) and bridge VirtualBox interfaces to it. Using that, we don't even need the forcebindip hack that most Windows users are stuck with :)
Right, because each game client is going to submit to bnet a complete list of all of its interface IPs, including VPN and wireless connections, and bnet is going to be able to decide with only that limited information which precise subnet to ask each client to broadcast on, even though it has no knowledge at all of the topology or technology involved for each device, or even if the apparent subnets on each machine are part of a connected network. There are so many ways it can all go wrong, I would be genuinely surprised if they decided that was the right way to provide the "experience".
The best compromise would be to have each client elect a network interface to use for LAN play, and submit only that network interface's IP. You wouldn't be able to do this with aliased interfaces (many IPs per interface), but maybe you could with bridges (many interfaces per IP, though Windows does this exceedingly poorly). Giving users so much frustration and potential failure points *just* for anti-piracy, something the real hackers will subvert in a matter of days anyway, is exactly the kind of mistake Blizzard will not make.
You can tell when gamers don't know anything about network software implementation. By the time Battle.Net receives your Network Address Translated connections, it all looks like one IP, so while it could easily see that it's all from one network (of arbitrary size), it has no way of selecting a specific client to act as a host, nor commanding the others to connect, as it does not know the LAN IPs. The very closest it could do is ask client machine to perform UDP broadcasts, which is exactly what SC1 LAN play does, and if they implemented all of that anyway it would be a crime against nature to require bnet to bootstrap it.
For servers it's 5 years, which is more than reasonable for Ubuntu's target market. Desktops are obsolete after 6 months, saying nothing of 3 years. An LTS comes out every 1.5-2 years so at worst you get 3 years of server support for the old LTS while deploying the new LTS. If that's not long enough, your management infrastructure is probably a much bigger problem than your support contracts.
If attackers against any system have the resources to store all of the system's traffic in the hopes of decrypting it with a complete break later (e.g. as WEP was broken after months/years of wireless traffic), then the fact is they'll have a lot of sensitive information. To an individual, corporation or defence organisation, there is plenty of "old" data that would be very damaging for others to have, and yet in general the old data inches closer to exposure. So sure, it drops in value, but never enough to make a break acceptable.
There are two Alan Coxes, one for Linux and one for FreeBSD. It's confusing but there you go.
Who knows, that may be what they want. I wouldn't be surprised in the slightest if Microsoft spun this into further marketing and misinformation, with the excuse that the people have spoken.
It's still a pretty arbitrary distinction. Everyone is clamouring for drivers for proprietary hardware (e.g. nVidia cards), but drivers for a proprietary hardware simulator are unwelcome and dirty? Whoever wants one kind of open driver and doesn't want another is probably a hypocrite, or very confused.
It's not evil, but it undermines the effect of the GPL. The GPL ensures that any product using your GPL code cannot become proprietary - it has to be licensed under a compatible license, compatibility depending on how it uses your code. What the 5-year expiry date would do is allow, say, a proprietary fork of Linux 2.6.30 to emerge 5 years from now. Later versions would have later effective expiry dates, but the point is that the product itself could have proprietary derivatives, exactly what the GPL prevents.
The reason to prevent proprietary derivatives is to ensure that enhancements, extensions, etc. are available to users of the original code. This is most of the reason Linux is so ridiculously powerful today, having been extended by many commercial institutions, with most of the changes being merged into the mainline for all to share.
However, it is clear that a forked Linux would still not be distributable in countries without the 5-year expiry, so the actual influence of the fork would be very limited.
Please practice reading comprehension. The ongoing development cost would be made up by fees for ongoing support and services. He said that very clearly, and for you to blatantly ignore it suggests that you have your own agenda.
It's very simple to see why this happens. When you start a project, or even just a stage of a project, you have some list of problems and you may even have some idea of the solutions. You can use good judgement to estimate the time it takes (at least to some order of magnitude), and rounding off to 10 years makes for good press.
But when you actually begin the work, every problem you solve illuminates a whole new set of problems to solve. If each solution opens up more than one new problem, you've "increased" the amount of work left to be done. So either you cut back on some of the goals (to reduce the list of problems) or you admit it wasn't as simple as you thought and announce a new project to tackle some subset of the new set of problems.
A lot of what makes a brain's connections is genetic, and a lot is learned. It wouldn't even begin to function without the genetic component, and it wouldn't survive long or perform any useful task without the learned component. Getting the genetic part right is incredibly difficult (it took evolution millions of years before any organisms could just walk), and fundamentally necessary to get any use out of the brain.
If you're the only person in the world with this problem, maybe it's because of you or your environment, not the Eclipse project. If you believe you have encountered a real bug, submit a bug report and get it solved. If you don't really believe you've found a bug, then don't troll on Slashdot about it. It's one or the other, so choose.
To help with the Business types who don't know anything about algorithm or data structure theory, but are familiar with physical objects like dictionaries. Yes, they have no place programming, but just try telling Microsoft that.
I call BS. At a former job I had an account with no admin rights at all, and I installed and ran the JRE and Eclipse from a network share. No special intervention required.
If you install Eclipse to somewhere you can't write, it will automatically detect that and write things to your per-user directory instead, even for installing plugins. It literally couldn't be any simpler.
You have just got to be kidding. For Windows it's just a .zip that you unpack, then run eclipse.exe. Make a shortcut if it helps. For Linux it's a tar and you can use a graphical archiver for that too. If a "software developer" can't work that out, I don't want to be anywhere near their code. It takes more clicks just to create a new project than to install Eclipse!
fsync()