I don't know if you've been following the news today, if you have you might have caught the fact that the FBI were prevented from investigating the Bin Laden family and other Saudi terrorist suspects by the very government you are now asking to save you from Microsoft, heres the BBC Newsnight link. If you watch the video (assuming it's the same as was aired earlier tonight on the BBC) you'll note the business links between the Bushes and the Saudis, and this is the BBC, not some conspiracy nut. Forget any notion you have that the US is a democracy, it's a plutocracy, as I'm sure has been mentioned on/. many times before. Unfortunately these sorts of things usually end badly, like in revolutions, assasinations and that sort of thing, my advice is keep away from US politicians as their greed and lust for power is the equivalent of painting nice shiney bulleyes on themselves.
I prefer The Matrix... "You're going to have to make a choice Mr Anderson", or any of the other good hacker flicks, or read Weaving The Web by Tim Berners Lee, read about Linus, or Alan Turing, or any of the other thousands of people who have got us where we are today. Or maybe you could just join in hacking some open source, maybe help Mozilla get to that golden 1.0 we are all waiting for, or maybe Open Office is more your thing, or Gnutella, or even sendmail. At the end of it all it's your choice, if you want to be part of the tech community we'd like to have you, if you want to go and paint sunflowers, thats really upto you. All I can say from my expereince is life is in some ways like hacking code, the hardest part is figuring out what you want to do, once you know, you can start looking for ways to accomplish it, then you can go and do it.
I have used a tool which which allows you to embed the documentation in the source files. make then strips it out and builds a single manual for the project. Its quite cute, but not always what you want - you often end up with a lot of low level and no high level.
Yes, I use Javadoc and various other packages to achieve the same end, it's certainly good practice.
I've also used UML. You often end up with a ton on mindless dross, totally unconnected to the code.
Like all things it needs to be used in moderation, UML can certainly be useful, having the Use cases down I find is good for concentrating the minds of developers and helping them stay on target ( i.e. using a saucer of milk to herd the cats )
The major factor in all this is having good guys on your team. Just like some footballers are worth $6,000,000 and some are not worth a toss, so it is with software engineers. Unfortunately, no one pays good software engineers $6,000,000 - so their teams are crap.
Thats what share options are for, unfortunately it is easier to assess a footballers performance than a developers, thats why you need to have good metrics and have responsibility for code clearly delinearated.
That's exactly the sort of attitude that has caused the sort of spectactular failures of software projects to be accepted as the norm. Software Engineering is *not* "hacking" or "coding" or "programming", it's *engineering*, like building a bridge or a skyscraper. Yes, those projects go over time and budget too sometimes, but they are the exception rather than the rule.
Yes, and look at those industries, if you want to build a bridge, you know what standard types of material are available and their properties in very intimate detail, now compare with software, it's like having to build a bridge where you have to choose what percentage carbon you need in each damn bolt. OO was supposed to solve this by creating reusable components that you know the characteristics of, unfortuntely OO has not been the saviour. Why? Well there might be a few reasons, first there is little commercial sharing of code externally, so you might have a class that could be used by Acme Inc, unforunately you don't share that code outside the company so Acme have to role thier own. This is one of the real benefits of Open Source. Secondly you have a problem with languages which might be akin to having different units of measurement, again this means there is less ablility to reuse code if it's not available in the language you are using. Third, you can write perfectly good code that works on platform X and then have to recode or even redesign when the company that created platform X changes to platform Y with nice incompatibilities (yes M$ I am talking about you) therefore keeping any possible stability out of the industry. Creating that instability is good for selling new software, but bad for those of us that have to deal with it on a daily basis. In short, if we had a stable set of tools and platforms to work with we could approach having a sane industry that could do more real innovating and less having to recode Wheel 3.141 for Windows XP Service pack 1. As for bridge builders and the like, if you look at major civil engineering projects you can see that they get it wrong sometimes too, two good examples are the Channel Tunnel and the Millenium Dome in the UK, both vastly over budget and over time. In all aspects of life it would be great if we could have evaluations of how well or badly projects worked out and the reasons why we'd all be able to learn from each other mistakes as well as best practices, well I can always dream can't I?
The thing is, you must get entirely through the design stages first. The design stages should include every screen as well as every possible error message, sub-screen, or whatever can pop up, as well as an outline of how the program flow will go. This takes a lot of time, but not quite as much as it sounds.
Typically we estimate a design flaw is ten times more costly than an implementation flaw and a specification flaw is ten times the cost of a design flaw. In other words you need to really nail down the spec and design before you begin to think about coding.
You are forgetting politics: I have been explicitly told Your estimates are unacceptable - they will have to be halved!
Yes, I once worked for a company like that, which has gone from $15/share to $0.09/share, fortunately I got out of there, as did other seasoned developers. My advice, if your boss starts on this track start looking for another job.
Others have mentioned "creeping featureism".
Again, bad management, all projects have changes within their development cycle, and there is a big difference between "tweaking" and "creaping featurism", if you encounter the latter talk to your boss, if he's a PHB and you're going to have to start working unpaid overtime, give up holidays etc look for a new job.
Let me introduce Dr Spin's 2:1 Law: Supportable code needs 2kg of paperwork per byte of executable code. Includes minutes of meetings, sketches on envelopes. (Most of it is binned, but it still has to be created).
You need to specify a fontsize for that to be useful... oh and all the docs should be on the docs leaf of the code tree, everything that you scribble on paper that makes a difference to project needs to be transcribed. As for supporting the software, typically ~60% of the cost of a project is supporting it, if you code things that are badly documented and designed you can make it over 80% support cost. Everyone needs to understand this, and a good thing is to make sure thats taken into account at code reviews, and develop some metrics so you know how you're doing.
Indeed, thats why I recommend everyone to read The Mythical Man-Month: Essays on Software Engineering
it's still a classic treatise on running projects, if you havent read it I suggest ou do, if you're a poor student, get it from the library, just read it okay?
I still have some papers from Heriot-Watt university somewhere regarding reconfigurable supercomputers from the late 1980s, the most interesting apps I have seen todate are GAs (genetic algorithms) implemented with FPGAs. Using the memory subsystem is certainly a good way of interfacing them, one thing I am surprised about is that I havent seen the same thing done with Content Addressable memories, if anyone has seen anything like that I'd like to hear about it.
Sorry for the long posts, I am just trying to make the points as well as I can.
My reducio-ad-absurdum of comparing yeast and humans - my point was that modeling yeast by "completely discounting interactions with the environment" is about as valid of a measure of yeast in the wild as modeling a human by "completely discounting interactions with the environment".
You seem to be saying that yeast has the same potential as humans to affect its environment and therefore the rest of its species accordingly and that the biological and chemical interactions of yeast are no different in scale or scope to what humans achieve with technology. This is where I would have to disagree with you, from my perspective human potential is exponentially increased with the ability to a) have conscious choice and b) create technology.
In most species of primates an individual is easily capable of killing one millionth of it's population in an hour. If you want raw numbers of dead, an ant colony can do it. (Before you complain a colony isn't an individual, a human can only do it based on the efforts of others as well. You can't build a nuke alone.) Even if I were to grant the human effect is larger, it's not a new effect
If there were 6 billion apes would one individual be able to kill one millionth of that number? No, I think not, infact our ability to change out environment and thus the survival chances of one another are determined by technology and by our conscious choices, no other organism on the planet can do that. As for the ant colony, the colony is working for a common goal, the difference with humans is that an individual can subvert the work of all others to bring about an outcome that completely different to what the rest of the species was working towards, that is done through leveraging technology,something the ants cannot do.
I'm saying *IF* you can deal with an effect present in non-humans, then you can deal with it in humans.
Again you seem to be discounting the emergent phenomena that come from human cosnsciousness and technology. If you want to take the line down from yeast we could go down to a virus, or a protein, or an atom, or an electrons quantum waveform. This is again the same reductionist line that has failed time and time again do deal with emergent phenomena.
I think our dissagreement is that you think I'm trivializing the effect of human intellegence and interaction, where as I think you are trivializing the effect of non-human intellegence and interaction.
I'm not trivialising, I am saying that there is a large difference in what is possible due to human intelligence and interaction, one that is so large that it becomes the driving factor in determining survival vs. genetic traits. If you look at the number of geneticdefects that would be fatalin the wild and are not now due to human intervention you can see this, or look at the effect of estrogenic compounds in water that is now contributing to infertility.
If you learn american sign language I'll dig up a gorilla to debate the point with you:)
Please and while you're at it if you could get Noam Chimpsky to explain the themes of The Matrix with regard to late 20th century Western society:)
I am saying the feedback is everything, and therefore equal.
Therefore yeast can have an equal effect to humans in terms the effect on the planet earth?
Organisms that interact well with their enviornment leave more copies of their genes in later generations. The details of that interaction may vary in nature and complexity.
And how do we define "well"? If we have 6 billion humans on the planet that would assume we are interacting well and therefore "fit", unfortuantely if we degrade the environment through pollution / thermonuclear war etc and thus kill ourselves off in the end, we are then not fit, without knowing the future course of humanity it is not possible to determine whether we are fit as we don't know the outcome.
I am puzzled by your request for me to show you Ape AI. My position was that human AI would be a relatively small small problem if we had it.
Would it? Perhaps you'd like to take the current work on nematode brains and scale up (a small problem) to an ape brain and the on to a human and we can see if the jump is really that small.
I am puzzled by your request for me to tell you how humans affect earths biomass. My position was that it was a relativly small problem if we had the function for earth without humans.
No, I maade the point that most of life is single celled, and you said you'd show how human interaction affects any lifeform I asked, so I asked if you could provide the entwining function with regard to a) single celledorganisms living in superheated deep ocean vents and b) those living kilometres down in the earths crust, if you still want toanswer I'd be interested to hear some answers.
I was trying to refute that by pointing out that any organism in a different enviornment will behave differently, human or not.
My point is that I can choose my environment, asopposed to having to put up with whatever environment I am presented with, and yes animals and birds migrate, and that is not conscious choice of environment.
P.S. Saying a individuals mind evolves is poor choice of words in an evolution discussion. An individual cannot evolve, it develops.
That would depend is you define evolution as only genetic evolution, from Merriam Webster -
Main Entry: evolution
Pronunciation: "e-v&-'lü-sh&n, "E-v&-
Function: noun
Etymology: Latin evolution-, evolutio unrolling, from evolvere
Date: 1622
1 : one of a set of prescribed movements
2 a : a process of change in a certain direction : UNFOLDING b : the action or an instance of forming and giving something off : EMISSION c (1) : a process of continuous change from a lower, simpler, or worse to a higher, more complex, or better state : GROWTH (2) : a process of gradual and relatively peaceful social, political, and economic advance d : something evolved
3 : the process of working out or developing
4 a : the historical development of a biological group (as a race or species) : PHYLOGENY b : a theory that the various types of animals and plants have their origin in other preexisting types and that the distinguishable differences are due to modifications in successive generations
5 : the extraction of a mathematical root
6 : a process in which the whole universe is a progression of interrelated phenomena
Are you ever worried about being shutdown / arrested / bugged / having a smear campaign run against you?
Do you think that all the muck flinging by both governments and corporations is going to lead to somone developing a virtual, anonymous, secure network running over the Net that will be untouchable by governments (i.e. legally secure from attack by dint of listening to the Harvard Law types and using their knowledge combined with technological solutions)?
Do you expect show trials by governments to show that the laws they areintroducing now (RIPA in the UK, USA-Patriot in the US etc) are effective, and how long do you think before there will be miscarragies of justice based on political expedeincy?
note: "organism" = "humans, just like everything else".
Yes humans are organisms like every other the only difference is the magnitude of change in terms of survival that each individual can make not only to him/herself but also to the rest of the population, if you want to take recent events then look to see if there are any other animals that can slaughter 5,000-6,000 of its bretheren in the space of a couple of hours, I am certainly not aware of any other organism that can do such a thing. Compare say with an ant colony, say an ant wanders off on its own and does not return, that ants contribution to the whole is lost, but it does not make a difference of anything like the same magnitude as one human being can make. What Iam arguing is that humans, due to intelligence / technology / choice have a much higher tipping point as far as the survival of others is concerned. Maybe if Hilter had not been born there would have been no WWII and millions of lives would not have been lost. Comparing other organisms to humans makes sense if we were still cave dwellers scavenging for food, today we have the ability as individuals to affect the lives of millions or even billions of our species, no other organism can do that.
There is a feedback loop between an organism and it's environment. The society that an organism is born into is part of it's enviornment. It's potential to relate to that society(and the rest of it's enviornment) and it's inclinations in doing so are determined by it's genes. The enviornment has a huge impact(possibilities and influences) on how it develops. Fitness is how well it interacts with it's enviornment to reproduce.
As above I am saying that the feedback is orders of magnitude more than other organisms and therefore is approximate to a discontinuity.
Earlier in the thread I said "ultimately the fitness function is the universe around that person[I should have used organism rather than person]...a more specific description...is necessarily incomplete" so I think we agree it is hopeless to try to create an actual function, human or otherise (except perhaps with huge simplifying assumptions).
BINGO! The simplifying assumptions can approximate simple lifeforms which can then be modelled, like I said my point is that you cannot make assumptions about humans as you have to factor in the choice-technology part of the equation (e.g. you can only choose to nuke the planet if you have invented nukes) which can have more of an impact on survival than being a good hunter-gatherer.
It looks like many parts of your post is centered around a relationship between human intellegence and fitness function. I *think* the dissagreement is that I don't see humans as beyond the rules.
Do you mean that the intelligence-choice-technology aspect is so small as can be discounted as a simplifying assumption then? If so could you explain to my why as I see no way to discount them given the sort of examples I have given above and in this thread.
Last post you said The rules are already out of the window, but your post before said The rules of evolution always apply? My position is/was "The rules of evolution apply until we start choosing our own DNA."
The rules of evolution always apply because they would not be the rules of evolution if they did not. As far as the rules being out of the window, I should clarify I mean our conception of the rules is out of the window, i.e. survival of the fitest is always true by its own definition, it is just we cannot determine what constitutes "fit" due to addition of the highly disruptive intelligence-choice-technology component of the equation.
Human thought is more sophisticated, but I don't see it as fundamentaly changing anything. Different enviornments(experiences) lead to different behavior(decisions).
Expereince is not genetically coded and therefore is outside of the evolutionary sphere (unless you are arguing for Lamarkian evolution where expereince IS coded in genes). Environments(experiences) and behavior(decisions) are connected via the human brain which itself an evolving entity, i.e. you have evolution in the mind within the lifetime of the individual which is a majot part of determining whether the individual reproduces.
As far as conscious choice - I think if you can "solve the problem" for apes then you have either solved it for humans, or are a relatively small step away.
Thats fine, except for the fact it ignores technology which allows us more choices, an ape may choose to wipe out every other ape on the planet, but it doesnt have the means, we do, and thats why there is such a huge difference in the individuals contribution to not only its own survival but all the others survival. If you happen to have some AI that will even approximate an ape I would be very interesting in knowing about it, and if you can simulate the interaction of 6 billion apes with that AI to see how the AI changes the survival characteristics of an individual I would be more than happy to see it in action (read I can be anywhere in the world to see it in ~12hours with suitcases of money to fund you)
Thats a nice reductionist line, however complexity (which is what this is really all about) cannot be reduced in such a fashion, if it could be then the AI problem would be simple and we'd have cracked it by now. As far as say simulating a micro-organism is concerned it is possible to simulate by either completely discounting interactions with the environment or modelling them simply (no yeast is going to be elected president of the USA and cause global-thermonuclear war).
Many species already rely on other species for survival. If you can give me all the current species functions without humans, I'll give you the you the the entwined function.:) I claim the difference is relatively trivial.
Co-evolution does happen and that evolution does take place at the genetic level, there is no higher function like consciousness that gets in the way. Of course around 99% of the earths biomass is single celled organisms, if you can tell me how they are all affected by human intervention I'd be interested to know, as there are so many types you could start with the micro-organisms that live by deep underwater vents in the oceans and move through to those that live in rocks kilometres (or miles) down in the earths crust for billions of years before humans even walked on the earth:)
Or use Barbie as a phone, listen at the mouth, speak into the... Also think about having a Barbie with a face formed out of some OLED or similar material driven by a video signal coming over a 3G connection, so she could have facial expressions, couple that with the sort of technology used by Annanova and kids could get all the latest news the music charts or Barbie accessories and see Barbie actually speaking it. That would be truly interactive.
Sure, so how do you write an XSLT that takes a NAME tag and cuts it into FIRSTNAME and LASTNAME, you need the order which has to be coded by knowing how the data in NAME is i.e. (1st,last) or (last, first), (first, initial, last) etc etc like I said the semantics are NOT encoded in the XML therefore you need to code XSLTs yourself, you can't just have an automatic XSLT generator, as the semantics are not part of the XML. Basically what you are saying is that it is easier to have a programmer create an XSLT rather than one doing conversions for binary data structures (like swapping C++ coders for VB coders), my point is why do you have to have the expense of a programmer, if the semantics were with the document the machine could do an automatic translation without a programmer coding XSLTs. If you have in a large business with thousands of XML document types and need to convert them to other formats you still have a hell of a lot of work to do.
If you can agree on the schemas of course. Given the large amount of wrangling / discussion / argument over what schemas to adopt, e.g. ebXML, XML is getting bogged down, for those of us that would like to actually create something better than EDI that can be the basis for lowering transaction costs and making the world a saner place for doing business it is a pain to have to deal with all this. I'm wondering is a better way of doing things would be to use RDF as the semantics are embedded with the data, and the syntax is easy to read both for machines and humans.
It doesnt matter how good the language is, it has to have support, qualified developers (pref. with certification), people running courses for it, and get written up in some mags like Wired that management types are going to read if it is going to become something that mainstream software shops use. Personally I don't see the advantage over say using Java or even Mozilla as a GUI (using XUL) and Perl as a scripting language for this sort of thing.
Some significant traits can be descerned, but ultimately the fitness function is the universe around that person. Each individual experiences a unique fitness function.
And would you agree that an individual human beings effect on their environment is much larger than zero, and orders of magnitude greater than the other lifeforms on the planet, e.g. my "fitness" may be bad in a poor country as my technology skills are not required therefore I will not eat and therefore die, but if I get on a plane and fly to a country where my skills are in high demand I can live a very nice life and have many offspring. In that case I can choose my environment and therefore choose my fitness, therefore my fitness and my choices are inseperable.
There is certainly a random factor. Fitness is the ability to survive the random set of challenges you face(your unique fitness function). Even in this example traits are being selected for. Those that died could have stored food, or been able to digest wood, or had a resistance to starvation. They failed that test. Those that survived had associated with a powerful person, a survival trait.
My point is that conscious choice means that there is massive non-linear and random feedback which makes the fitness function impossible to devine therefore you cannot model the system. As for surviving by being associated with a powerful person, that assumes a continuation of power, in the above example you might survive a while, before BillG comes crashing down under the weight of Open Source and therefore has no more power therefore you die and the trait dies with you (sorry this is/. remember).
The sun going nova would be a pretty intense selection pressure, hehe. In the year 2XXX humans will be fit. Interstellar travel could be a pretty handy survival trait:)
I think the estimate is about 4 billion years before the Sun becomes a red giant and engulfs this planet, which illustrates my point again. Humans would take plants / animals with them and therefore the fitness function for planet/animals would also become entwined with humans and therefore their fitness function would not be calculable, imagine a fitness function that incorporates terms describing how liked they are by humans as pet/food/inspirational/spiritual, do you think you could do that?
Nature is potential and inclination.
Nurture is possibility and influence
Agreed, and...
Imagination is possibility.
Conscious choice is actualisation.
Society is part of the environment. The environment changed. Some forms of infertility are no longer selected against. So yep, they are fit in their environment.
Who is they? Do you mean the genetic donor? The Sperm/eggs? Or in infertile parents?
If we have designer babies (or redesign ourselves) the rules go out the window. The multiplication of genes is no longer linked to survival / sucessful reproduction. The elimination of genes is no longer linked to failure.
The rules are already out of the window. Survival / reproduction is no longer something that is guided only by genes, nurture does play a part, and conscious choice now plays an even larger part. Take people who have a particular musical bent (like perfect-pitch), some might choose to be part of a classical orchestra, and some may choose to be a rockstar, the rockstar has more chance of reproduction than the classical musician, yet they both share a genetic predisposition in the same direction, so genetics becomes much less important than conscious choice, therefore the human is the more influential part of the fitness function and cannot be discounted, therefore there is no possibility of creating a fitness function for the human. QED
Evolution doesn't give a damn about human ideas of good or bad. If you have 100 trillion people, and food for 10 billion, then 999.99 trillion would die. By definition the living ones are fit and the dead ones are not.
So if say BillG cornered the worlds market in food and so only his offspring and employees survived they would "by definition" be fit even though their survival had nothing to do with any intrinic abilities they possessed but rather a random factor of birth/employment?
A human's capacity for society/technology is a product of his biology. The society/technology he is surrouned by is his enviornment.
This is a Nature 1 : Nurture 0 argument, i.e. biological predestination, my biology is very similar to all other humun beings, yet some work in supermarket check outs or fly airplanes and I chose to be a techie, my consciousness is only partly determined by my genetics, I would venture that mostly it's a product of my choices, driven by what I feel is interesting, as someone who is part of creating my environment I know that it is a two way relationship, which is what I was getting at.
Even without technology the specific challenges an organism must overcome to reproduce are often Heisenberg - recursive, complex, and even contradictory. Mental instability may result in more offspring
So you are agreeing with me that it is not possible to form a fitness function as negative and positive traits cannot be descerned.
In the end, individuals with decendants are evolutionarily fit. Those without decendants are not.
So test tube babies created from donor sperm/eggs make the individual fit then?
Human society and technology makes for a very complex enviornment. The rules of evolution apply until we start choosing our own DNA.
The rules of evolution always apply, the difference is what is fit in one social / technological environment is not fit in another, and as we humans shape our societies and technologies, we are already changing the selection criteria.
Maybe someone should send all the Sony execs copies of the Cluetrain Manefesto then, perhaps it could be done through the EFF or something, when I come across clueless execs I give them a copy and make sure they read it, they can change you know, it just takes a push in the right direction.
The number of offspring any given human has does not affect there probability of survival rather it speaks to the probability of there descendants survival.
Depends, if the descendents say take on the belief system of their parents, like for example an apocalypic cult like Aum Shinrikyo in Japan, the number of offspring could be inversely related to their survival (more people to cause the apocalyse, more chance of it happening, more chance of them and the rest of us being killed)
So if we had 100 trillion decendents from a generation then we would have good fitness even though we would not be able to feed all but a few billion of them? Worst case people start lobing weapons of mass destruction around to get their fill of food and wipe out the human race. Like I said, fitness in human beings is not just a biological one, it is social and technological one as well. Humans are part of their own fitness function, therefore it is not possible to describe that fitness function without refering to the system itself, there will be lots of recursion involved and inflection points and discontinuities when we hit the introduction of new social organisations (like cities) and technologies (like the Net). In essence what I am saying is that the fitness function is at best chaotic and at worst a social/technological form of Heisenbergs uncertainty principle.
The main problem is what is not shown, i.e. the fitness function, for those that don't agree I challenge you to derive a fitness function for human beings, when you start finding that the fitness function is partially given by the humans themselves and the technologies and social organisations they adopt (i.e. humans are part of the problem space too) you suddenly find that what looked easy is actually not. The system described on the webpage is a "solution" in the same way that economics has a "solution" by specifying that supply/demand curves are given and not derivable and therefore misses the point. Certainly genetic algorithms are useful for well defined fitness criteria, unfortunately much of life is so intertwined that actually defining it is not possible.
I must have been transported into a parallel universe, first a story thats negative towards Open Source on/. and then I cannot find any of the usual "Imagine a Beowolf cluster of errors", or "Is a Beowolf cluster of errors a cluster fsck?" and where oh where is "All your errors are belong to us", if anyone has directions back to my normal reality please help me.
Shurely you mean the Department of Internal Politics of State, Health and Information Technology (DIPSHIT)??
I don't know if you've been following the news today, if you have you might have caught the fact that the FBI were prevented from investigating the Bin Laden family and other Saudi terrorist suspects by the very government you are now asking to save you from Microsoft, heres the BBC Newsnight link. If you watch the video (assuming it's the same as was aired earlier tonight on the BBC) you'll note the business links between the Bushes and the Saudis, and this is the BBC, not some conspiracy nut. Forget any notion you have that the US is a democracy, it's a plutocracy, as I'm sure has been mentioned on /. many times before. Unfortunately these sorts of things usually end badly, like in revolutions, assasinations and that sort of thing, my advice is keep away from US politicians as their greed and lust for power is the equivalent of painting nice shiney bulleyes on themselves.
I prefer The Matrix... "You're going to have to make a choice Mr Anderson", or any of the other good hacker flicks, or read Weaving The Web by Tim Berners Lee, read about Linus, or Alan Turing, or any of the other thousands of people who have got us where we are today. Or maybe you could just join in hacking some open source, maybe help Mozilla get to that golden 1.0 we are all waiting for, or maybe Open Office is more your thing, or Gnutella, or even sendmail. At the end of it all it's your choice, if you want to be part of the tech community we'd like to have you, if you want to go and paint sunflowers, thats really upto you. All I can say from my expereince is life is in some ways like hacking code, the hardest part is figuring out what you want to do, once you know, you can start looking for ways to accomplish it, then you can go and do it.
I have used a tool which which allows you to embed the documentation in the source files. make then strips it out and builds a single manual for the project. Its quite cute, but not always what you want - you often end up with a lot of low level and no high level.
Yes, I use Javadoc and various other packages to achieve the same end, it's certainly good practice.
I've also used UML. You often end up with a ton on mindless dross, totally unconnected to the code.
Like all things it needs to be used in moderation, UML can certainly be useful, having the Use cases down I find is good for concentrating the minds of developers and helping them stay on target ( i.e. using a saucer of milk to herd the cats )
The major factor in all this is having good guys on your team. Just like some footballers are worth $6,000,000 and some are not worth a toss, so it is with software engineers. Unfortunately, no one pays good software engineers $6,000,000 - so their teams are crap.
Thats what share options are for, unfortunately it is easier to assess a footballers performance than a developers, thats why you need to have good metrics and have responsibility for code clearly delinearated.
That's exactly the sort of attitude that has caused the sort of spectactular failures of software projects to be accepted as the norm. Software Engineering is *not* "hacking" or "coding" or "programming", it's *engineering*, like building a bridge or a skyscraper. Yes, those projects go over time and budget too sometimes, but they are the exception rather than the rule.
Yes, and look at those industries, if you want to build a bridge, you know what standard types of material are available and their properties in very intimate detail, now compare with software, it's like having to build a bridge where you have to choose what percentage carbon you need in each damn bolt. OO was supposed to solve this by creating reusable components that you know the characteristics of, unfortuntely OO has not been the saviour. Why? Well there might be a few reasons, first there is little commercial sharing of code externally, so you might have a class that could be used by Acme Inc, unforunately you don't share that code outside the company so Acme have to role thier own. This is one of the real benefits of Open Source. Secondly you have a problem with languages which might be akin to having different units of measurement, again this means there is less ablility to reuse code if it's not available in the language you are using. Third, you can write perfectly good code that works on platform X and then have to recode or even redesign when the company that created platform X changes to platform Y with nice incompatibilities (yes M$ I am talking about you) therefore keeping any possible stability out of the industry. Creating that instability is good for selling new software, but bad for those of us that have to deal with it on a daily basis. In short, if we had a stable set of tools and platforms to work with we could approach having a sane industry that could do more real innovating and less having to recode Wheel 3.141 for Windows XP Service pack 1. As for bridge builders and the like, if you look at major civil engineering projects you can see that they get it wrong sometimes too, two good examples are the Channel Tunnel and the Millenium Dome in the UK, both vastly over budget and over time. In all aspects of life it would be great if we could have evaluations of how well or badly projects worked out and the reasons why we'd all be able to learn from each other mistakes as well as best practices, well I can always dream can't I?
The thing is, you must get entirely through the design stages first. The design stages should include every screen as well as every possible error message, sub-screen, or whatever can pop up, as well as an outline of how the program flow will go. This takes a lot of time, but not quite as much as it sounds.
Typically we estimate a design flaw is ten times more costly than an implementation flaw and a specification flaw is ten times the cost of a design flaw. In other words you need to really nail down the spec and design before you begin to think about coding.
You are forgetting politics: I have been explicitly told Your estimates are unacceptable - they will have to be halved!
Yes, I once worked for a company like that, which has gone from $15/share to $0.09/share, fortunately I got out of there, as did other seasoned developers. My advice, if your boss starts on this track start looking for another job.
Others have mentioned "creeping featureism".
Again, bad management, all projects have changes within their development cycle, and there is a big difference between "tweaking" and "creaping featurism", if you encounter the latter talk to your boss, if he's a PHB and you're going to have to start working unpaid overtime, give up holidays etc look for a new job.
Let me introduce Dr Spin's 2:1 Law: Supportable code needs 2kg of paperwork per byte of executable code. Includes minutes of meetings, sketches on envelopes. (Most of it is binned, but it still has to be created).
You need to specify a fontsize for that to be useful... oh and all the docs should be on the docs leaf of the code tree, everything that you scribble on paper that makes a difference to project needs to be transcribed. As for supporting the software, typically ~60% of the cost of a project is supporting it, if you code things that are badly documented and designed you can make it over 80% support cost. Everyone needs to understand this, and a good thing is to make sure thats taken into account at code reviews, and develop some metrics so you know how you're doing.
Indeed, thats why I recommend everyone to read The Mythical Man-Month: Essays on Software Engineering it's still a classic treatise on running projects, if you havent read it I suggest ou do, if you're a poor student, get it from the library, just read it okay?
I still have some papers from Heriot-Watt university somewhere regarding reconfigurable supercomputers from the late 1980s, the most interesting apps I have seen todate are GAs (genetic algorithms) implemented with FPGAs. Using the memory subsystem is certainly a good way of interfacing them, one thing I am surprised about is that I havent seen the same thing done with Content Addressable memories, if anyone has seen anything like that I'd like to hear about it.
Sorry for the long posts, I am just trying to make the points as well as I can.
:)
:)
My reducio-ad-absurdum of comparing yeast and humans - my point was that modeling yeast by "completely discounting interactions with the environment" is about as valid of a measure of yeast in the wild as modeling a human by "completely discounting interactions with the environment".
You seem to be saying that yeast has the same potential as humans to affect its environment and therefore the rest of its species accordingly and that the biological and chemical interactions of yeast are no different in scale or scope to what humans achieve with technology. This is where I would have to disagree with you, from my perspective human potential is exponentially increased with the ability to a) have conscious choice and b) create technology.
In most species of primates an individual is easily capable of killing one millionth of it's population in an hour. If you want raw numbers of dead, an ant colony can do it. (Before you complain a colony isn't an individual, a human can only do it based on the efforts of others as well. You can't build a nuke alone.) Even if I were to grant the human effect is larger, it's not a new effect
If there were 6 billion apes would one individual be able to kill one millionth of that number? No, I think not, infact our ability to change out environment and thus the survival chances of one another are determined by technology and by our conscious choices, no other organism on the planet can do that. As for the ant colony, the colony is working for a common goal, the difference with humans is that an individual can subvert the work of all others to bring about an outcome that completely different to what the rest of the species was working towards, that is done through leveraging technology,something the ants cannot do.
I'm saying *IF* you can deal with an effect present in non-humans, then you can deal with it in humans.
Again you seem to be discounting the emergent phenomena that come from human cosnsciousness and technology. If you want to take the line down from yeast we could go down to a virus, or a protein, or an atom, or an electrons quantum waveform. This is again the same reductionist line that has failed time and time again do deal with emergent phenomena.
I think our dissagreement is that you think I'm trivializing the effect of human intellegence and interaction, where as I think you are trivializing the effect of non-human intellegence and interaction.
I'm not trivialising, I am saying that there is a large difference in what is possible due to human intelligence and interaction, one that is so large that it becomes the driving factor in determining survival vs. genetic traits. If you look at the number of geneticdefects that would be fatalin the wild and are not now due to human intervention you can see this, or look at the effect of estrogenic compounds in water that is now contributing to infertility.
If you learn american sign language I'll dig up a gorilla to debate the point with you
Please and while you're at it if you could get Noam Chimpsky to explain the themes of The Matrix with regard to late 20th century Western society
I am saying the feedback is everything, and therefore equal.
Therefore yeast can have an equal effect to humans in terms the effect on the planet earth?
Organisms that interact well with their enviornment leave more copies of their genes in later generations. The details of that interaction may vary in nature and complexity.
And how do we define "well"? If we have 6 billion humans on the planet that would assume we are interacting well and therefore "fit", unfortuantely if we degrade the environment through pollution / thermonuclear war etc and thus kill ourselves off in the end, we are then not fit, without knowing the future course of humanity it is not possible to determine whether we are fit as we don't know the outcome.
I am puzzled by your request for me to show you Ape AI. My position was that human AI would be a relatively small small problem if we had it.
Would it? Perhaps you'd like to take the current work on nematode brains and scale up (a small problem) to an ape brain and the on to a human and we can see if the jump is really that small.
I am puzzled by your request for me to tell you how humans affect earths biomass. My position was that it was a relativly small problem if we had the function for earth without humans.
No, I maade the point that most of life is single celled, and you said you'd show how human interaction affects any lifeform I asked, so I asked if you could provide the entwining function with regard to a) single celledorganisms living in superheated deep ocean vents and b) those living kilometres down in the earths crust, if you still want toanswer I'd be interested to hear some answers.
I was trying to refute that by pointing out that any organism in a different enviornment will behave differently, human or not.
My point is that I can choose my environment, asopposed to having to put up with whatever environment I am presented with, and yes animals and birds migrate, and that is not conscious choice of environment.
P.S. Saying a individuals mind evolves is poor choice of words in an evolution discussion. An individual cannot evolve, it develops.
That would depend is you define evolution as only genetic evolution, from Merriam Webster -
Main Entry: evolution
Pronunciation: "e-v&-'lü-sh&n, "E-v&-
Function: noun
Etymology: Latin evolution-, evolutio unrolling, from evolvere
Date: 1622
1 : one of a set of prescribed movements
2 a : a process of change in a certain direction : UNFOLDING b : the action or an instance of forming and giving something off : EMISSION c (1) : a process of continuous change from a lower, simpler, or worse to a higher, more complex, or better state : GROWTH (2) : a process of gradual and relatively peaceful social, political, and economic advance d : something evolved
3 : the process of working out or developing
4 a : the historical development of a biological group (as a race or species) : PHYLOGENY b : a theory that the various types of animals and plants have their origin in other preexisting types and that the distinguishable differences are due to modifications in successive generations
5 : the extraction of a mathematical root
6 : a process in which the whole universe is a progression of interrelated phenomena
Yes, but it's just not the same without M$ releasing their documents Open Source
Sounds like a case of deus ex machina ... well someone had to say it..
Are you ever worried about being shutdown / arrested / bugged / having a smear campaign run against you?
Do you think that all the muck flinging by both governments and corporations is going to lead to somone developing a virtual, anonymous, secure network running over the Net that will be untouchable by governments (i.e. legally secure from attack by dint of listening to the Harvard Law types and using their knowledge combined with technological solutions)?
Do you expect show trials by governments to show that the laws they areintroducing now (RIPA in the UK, USA-Patriot in the US etc) are effective, and how long do you think before there will be miscarragies of justice based on political expedeincy?
note: "organism" = "humans, just like everything else".
:) I claim the difference is relatively trivial.
:)
Yes humans are organisms like every other the only difference is the magnitude of change in terms of survival that each individual can make not only to him/herself but also to the rest of the population, if you want to take recent events then look to see if there are any other animals that can slaughter 5,000-6,000 of its bretheren in the space of a couple of hours, I am certainly not aware of any other organism that can do such a thing. Compare say with an ant colony, say an ant wanders off on its own and does not return, that ants contribution to the whole is lost, but it does not make a difference of anything like the same magnitude as one human being can make. What Iam arguing is that humans, due to intelligence / technology / choice have a much higher tipping point as far as the survival of others is concerned. Maybe if Hilter had not been born there would have been no WWII and millions of lives would not have been lost. Comparing other organisms to humans makes sense if we were still cave dwellers scavenging for food, today we have the ability as individuals to affect the lives of millions or even billions of our species, no other organism can do that.
There is a feedback loop between an organism and it's environment. The society that an organism is born into is part of it's enviornment. It's potential to relate to that society(and the rest of it's enviornment) and it's inclinations in doing so are determined by it's genes. The enviornment has a huge impact(possibilities and influences) on how it develops. Fitness is how well it interacts with it's enviornment to reproduce.
As above I am saying that the feedback is orders of magnitude more than other organisms and therefore is approximate to a discontinuity.
Earlier in the thread I said "ultimately the fitness function is the universe around that person[I should have used organism rather than person]...a more specific description...is necessarily incomplete" so I think we agree it is hopeless to try to create an actual function, human or otherise (except perhaps with huge simplifying assumptions).
BINGO! The simplifying assumptions can approximate simple lifeforms which can then be modelled, like I said my point is that you cannot make assumptions about humans as you have to factor in the choice-technology part of the equation (e.g. you can only choose to nuke the planet if you have invented nukes) which can have more of an impact on survival than being a good hunter-gatherer.
It looks like many parts of your post is centered around a relationship between human intellegence and fitness function. I *think* the dissagreement is that I don't see humans as beyond the rules.
Do you mean that the intelligence-choice-technology aspect is so small as can be discounted as a simplifying assumption then? If so could you explain to my why as I see no way to discount them given the sort of examples I have given above and in this thread.
Last post you said The rules are already out of the window, but your post before said The rules of evolution always apply? My position is/was "The rules of evolution apply until we start choosing our own DNA."
The rules of evolution always apply because they would not be the rules of evolution if they did not. As far as the rules being out of the window, I should clarify I mean our conception of the rules is out of the window, i.e. survival of the fitest is always true by its own definition, it is just we cannot determine what constitutes "fit" due to addition of the highly disruptive intelligence-choice-technology component of the equation.
Human thought is more sophisticated, but I don't see it as fundamentaly changing anything. Different enviornments(experiences) lead to different behavior(decisions).
Expereince is not genetically coded and therefore is outside of the evolutionary sphere (unless you are arguing for Lamarkian evolution where expereince IS coded in genes). Environments(experiences) and behavior(decisions) are connected via the human brain which itself an evolving entity, i.e. you have evolution in the mind within the lifetime of the individual which is a majot part of determining whether the individual reproduces.
As far as conscious choice - I think if you can "solve the problem" for apes then you have either solved it for humans, or are a relatively small step away.
Thats fine, except for the fact it ignores technology which allows us more choices, an ape may choose to wipe out every other ape on the planet, but it doesnt have the means, we do, and thats why there is such a huge difference in the individuals contribution to not only its own survival but all the others survival. If you happen to have some AI that will even approximate an ape I would be very interesting in knowing about it, and if you can simulate the interaction of 6 billion apes with that AI to see how the AI changes the survival characteristics of an individual I would be more than happy to see it in action (read I can be anywhere in the world to see it in ~12hours with suitcases of money to fund you)
iff (ape QED) iff (frog QED) iff (fly QED) iff (yeast QED).
Thats a nice reductionist line, however complexity (which is what this is really all about) cannot be reduced in such a fashion, if it could be then the AI problem would be simple and we'd have cracked it by now. As far as say simulating a micro-organism is concerned it is possible to simulate by either completely discounting interactions with the environment or modelling them simply (no yeast is going to be elected president of the USA and cause global-thermonuclear war).
Many species already rely on other species for survival. If you can give me all the current species functions without humans, I'll give you the you the the entwined function.
Co-evolution does happen and that evolution does take place at the genetic level, there is no higher function like consciousness that gets in the way. Of course around 99% of the earths biomass is single celled organisms, if you can tell me how they are all affected by human intervention I'd be interested to know, as there are so many types you could start with the micro-organisms that live by deep underwater vents in the oceans and move through to those that live in rocks kilometres (or miles) down in the earths crust for billions of years before humans even walked on the earth
Or use Barbie as a phone, listen at the mouth, speak into the... Also think about having a Barbie with a face formed out of some OLED or similar material driven by a video signal coming over a 3G connection, so she could have facial expressions, couple that with the sort of technology used by Annanova and kids could get all the latest news the music charts or Barbie accessories and see Barbie actually speaking it. That would be truly interactive.
Sure, so how do you write an XSLT that takes a NAME tag and cuts it into FIRSTNAME and LASTNAME, you need the order which has to be coded by knowing how the data in NAME is i.e. (1st,last) or (last, first), (first, initial, last) etc etc like I said the semantics are NOT encoded in the XML therefore you need to code XSLTs yourself, you can't just have an automatic XSLT generator, as the semantics are not part of the XML. Basically what you are saying is that it is easier to have a programmer create an XSLT rather than one doing conversions for binary data structures (like swapping C++ coders for VB coders), my point is why do you have to have the expense of a programmer, if the semantics were with the document the machine could do an automatic translation without a programmer coding XSLTs. If you have in a large business with thousands of XML document types and need to convert them to other formats you still have a hell of a lot of work to do.
XML solves the interchange problem.
If you can agree on the schemas of course. Given the large amount of wrangling / discussion / argument over what schemas to adopt, e.g. ebXML, XML is getting bogged down, for those of us that would like to actually create something better than EDI that can be the basis for lowering transaction costs and making the world a saner place for doing business it is a pain to have to deal with all this. I'm wondering is a better way of doing things would be to use RDF as the semantics are embedded with the data, and the syntax is easy to read both for machines and humans.
It doesnt matter how good the language is, it has to have support, qualified developers (pref. with certification), people running courses for it, and get written up in some mags like Wired that management types are going to read if it is going to become something that mainstream software shops use. Personally I don't see the advantage over say using Java or even Mozilla as a GUI (using XUL) and Perl as a scripting language for this sort of thing.
Some significant traits can be descerned, but ultimately the fitness function is the universe around that person. Each individual experiences a unique fitness function.
/. remember).
:)
And would you agree that an individual human beings effect on their environment is much larger than zero, and orders of magnitude greater than the other lifeforms on the planet, e.g. my "fitness" may be bad in a poor country as my technology skills are not required therefore I will not eat and therefore die, but if I get on a plane and fly to a country where my skills are in high demand I can live a very nice life and have many offspring. In that case I can choose my environment and therefore choose my fitness, therefore my fitness and my choices are inseperable.
There is certainly a random factor. Fitness is the ability to survive the random set of challenges you face(your unique fitness function). Even in this example traits are being selected for. Those that died could have stored food, or been able to digest wood, or had a resistance to starvation. They failed that test. Those that survived had associated with a powerful person, a survival trait.
My point is that conscious choice means that there is massive non-linear and random feedback which makes the fitness function impossible to devine therefore you cannot model the system. As for surviving by being associated with a powerful person, that assumes a continuation of power, in the above example you might survive a while, before BillG comes crashing down under the weight of Open Source and therefore has no more power therefore you die and the trait dies with you (sorry this is
The sun going nova would be a pretty intense selection pressure, hehe. In the year 2XXX humans will be fit. Interstellar travel could be a pretty handy survival trait
I think the estimate is about 4 billion years before the Sun becomes a red giant and engulfs this planet, which illustrates my point again. Humans would take plants / animals with them and therefore the fitness function for planet/animals would also become entwined with humans and therefore their fitness function would not be calculable, imagine a fitness function that incorporates terms describing how liked they are by humans as pet/food/inspirational/spiritual, do you think you could do that?
Nature is potential and inclination.
Nurture is possibility and influence
Agreed, and...
Imagination is possibility.
Conscious choice is actualisation.
Society is part of the environment. The environment changed. Some forms of infertility are no longer selected against. So yep, they are fit in their environment.
Who is they? Do you mean the genetic donor? The Sperm/eggs? Or in infertile parents?
If we have designer babies (or redesign ourselves) the rules go out the window. The multiplication of genes is no longer linked to survival / sucessful reproduction. The elimination of genes is no longer linked to failure.
The rules are already out of the window. Survival / reproduction is no longer something that is guided only by genes, nurture does play a part, and conscious choice now plays an even larger part. Take people who have a particular musical bent (like perfect-pitch), some might choose to be part of a classical orchestra, and some may choose to be a rockstar, the rockstar has more chance of reproduction than the classical musician, yet they both share a genetic predisposition in the same direction, so genetics becomes much less important than conscious choice, therefore the human is the more influential part of the fitness function and cannot be discounted, therefore there is no possibility of creating a fitness function for the human. QED
Evolution doesn't give a damn about human ideas of good or bad. If you have 100 trillion people, and food for 10 billion, then 999.99 trillion would die. By definition the living ones are fit and the dead ones are not.
So if say BillG cornered the worlds market in food and so only his offspring and employees survived they would "by definition" be fit even though their survival had nothing to do with any intrinic abilities they possessed but rather a random factor of birth/employment?
A human's capacity for society/technology is a product of his biology. The society/technology he is surrouned by is his enviornment.
This is a Nature 1 : Nurture 0 argument, i.e. biological predestination, my biology is very similar to all other humun beings, yet some work in supermarket check outs or fly airplanes and I chose to be a techie, my consciousness is only partly determined by my genetics, I would venture that mostly it's a product of my choices, driven by what I feel is interesting, as someone who is part of creating my environment I know that it is a two way relationship, which is what I was getting at.
Even without technology the specific challenges an organism must overcome to reproduce are often Heisenberg - recursive, complex, and even contradictory. Mental instability may result in more offspring
So you are agreeing with me that it is not possible to form a fitness function as negative and positive traits cannot be descerned.
In the end, individuals with decendants are evolutionarily fit. Those without decendants are not.
So test tube babies created from donor sperm/eggs make the individual fit then?
Human society and technology makes for a very complex enviornment. The rules of evolution apply until we start choosing our own DNA.
The rules of evolution always apply, the difference is what is fit in one social / technological environment is not fit in another, and as we humans shape our societies and technologies, we are already changing the selection criteria.
Maybe someone should send all the Sony execs copies of the Cluetrain Manefesto then, perhaps it could be done through the EFF or something, when I come across clueless execs I give them a copy and make sure they read it, they can change you know, it just takes a push in the right direction.
The number of offspring any given human has does not affect there probability of survival rather it speaks to the probability of there descendants survival.
Depends, if the descendents say take on the belief system of their parents, like for example an apocalypic cult like Aum Shinrikyo in Japan, the number of offspring could be inversely related to their survival (more people to cause the apocalyse, more chance of it happening, more chance of them and the rest of us being killed)
So if we had 100 trillion decendents from a generation then we would have good fitness even though we would not be able to feed all but a few billion of them? Worst case people start lobing weapons of mass destruction around to get their fill of food and wipe out the human race. Like I said, fitness in human beings is not just a biological one, it is social and technological one as well. Humans are part of their own fitness function, therefore it is not possible to describe that fitness function without refering to the system itself, there will be lots of recursion involved and inflection points and discontinuities when we hit the introduction of new social organisations (like cities) and technologies (like the Net). In essence what I am saying is that the fitness function is at best chaotic and at worst a social/technological form of Heisenbergs uncertainty principle.
The main problem is what is not shown, i.e. the fitness function, for those that don't agree I challenge you to derive a fitness function for human beings, when you start finding that the fitness function is partially given by the humans themselves and the technologies and social organisations they adopt (i.e. humans are part of the problem space too) you suddenly find that what looked easy is actually not. The system described on the webpage is a "solution" in the same way that economics has a "solution" by specifying that supply/demand curves are given and not derivable and therefore misses the point. Certainly genetic algorithms are useful for well defined fitness criteria, unfortunately much of life is so intertwined that actually defining it is not possible.
I must have been transported into a parallel universe, first a story thats negative towards Open Source on /. and then I cannot find any of the usual "Imagine a Beowolf cluster of errors", or "Is a Beowolf cluster of errors a cluster fsck?" and where oh where is "All your errors are belong to us", if anyone has directions back to my normal reality please help me.