Aside from the fact that it is a linear problem to solve (simple polynomial if you add lens correction), you also need a good feature extractor to create a 3D model from a set of 2D pictures. There are some excellent packages for doing 3D reconstruction, but they also come with a high price tag. There are some free implementations as well, but they are not very good.
Is seems to be an interesting solver, but you have to add a lot more for building an application for 3D reconstruction. I wonder if Google is going to release the software behind PhotoTour as well. And preferable for Windows.
An important factor in the current evolution of mankind is improved healthcare. Now that healthcare is improved, many more people survive their childhood, which actually mean that we as a species are becoming weaker and weaker. It seems that intelligence is a negative selection factor, because people with a high intelligence tend to have less children (or non at all) than people with an average intelligence. When healthcare improves even further, the effects may become even stronger. Who knows in 200 years we will not be able to walk anymore and all sitting in personal cars for most of our lives.
I wonder how facebook handles requests for data about foreigners? I wonder if that data is also protected by the privacy laws of the USA or that they can just provide that without a court order.
Just a week ago, the Slashdot item Alzheimer's Transmission Pathway Discovered reported that Alzheimer was caused by the spread of the tau protein gone wrong. How is this to be interpretted in the view of the above new item?
I think a bigger problem is that this new privacy directed is also in conflict with the Patriot Act. If I understand it correctly, the Patriot Act allows the USA government to seize any data (no matter where it is being hosted in the world) from any company that has a legal entity in the USA. The new privacy directive does not allow any government to size this data. To me it seems that any company that has a legal entity in the USA can no longer store any private (customer) data of people falling under the laws of to the EU.
The Tau protein has been known to be involved with Alzheimer's Disease for a long time. For a long time the accumlation of beta amyloid has been thought as the main driving mechanism of Alzheimer's Disease. The Tau-hypothesis has been around for a long time as well. I get the impression that the majority of the research on Alzheimer's Disease has been on beta-amyloid, including finding medication that is targeting this protein. And large sums of money has been invested in this research. I don't know if this finding will suddenly change the focus.of research in Alzheimer's Disease. Actually, I am afraid that it will not make much difference, and that the tau-hypothesis will be considered as an alternative for a long time.
Most software developement takes places in teams, which means you have to learn to deal with people and code written by others. That means having to deal with colleagues who use a different coding style than what you would prefer. Who use a different way of formating code, naming conventions that you are used to. You will have to resist the temptation to reformat all the code that you encounter. Also you will encounter strange code constructions that you think are wrong. And often they are also wrong, but they work (for the moment), and you have to learn to resist the temptation to start refactoring the code. Especially if you are working with a code manangement system, do not make any unneccessay changes to the code, because you are creating extra work for those who review your checking, because they have to spend extra time, and they don't like this. Also don't feel hesistated to make 'stupid' questions, and listen to the answers you get. Sometimes, you will be told that something is there for historical reasons, and that is often the only reason that it is there. And there will be colleagues that you will get around easier than others. Actually the whole messages burns down to: learning to adapt to the style of others and having the right attitude. Software enginering is often a group effort against an individual effort as you have been doing now. For the rest it is still 80% hacking the way you have been doing it.
I think I score strong on the introvert personality scale, but I also score on the open scale quite strong, meaning that I quickly distracted by thing going around me (the Internet mostly). I often find work boring, because it does not mix with my own interests, thinking about problems that I find interesting. My interest change quickly. I guess this is also related to me being an introvert, that I often find it interesting to think about all those little puzzles that go through my mind and that I would like to solve. I feel it is only rarely that I am really productive in the office, and that is when I am can work on something that does match with my interests (parsing and such) or when I am called to solve a problem, especially when this problem involves others as well and when there is some element of competition. When I heard about XP, I was quite charmed by the idea of pair programming. I have never really practice it with others. I do think it is a good way of working for developing software, but I also know that for some of the harder problems it is sometimes needed to think about an issue in solitude. In my workplace we often discus software developing problems. I do like to discuss options with my colleagues, often because I am lateral thinker and see many possible solutions to problems and often find me in a position where I take a long time to take a decision. Generating solutions is not the hard part for me, but selecting the best solution for the moment. I say, moment, because, often problems require 'quick' solutions and not 'good' solutions. So cooperations is important for me.
And the most interesting fact is that downloading is legal in the Netherlands under the condition that it is stricktly for private use. And that includes material that violates copyrights. Uploading of illegal materials (that you do not own the rights to) is illegal. Torrent clients that also share/upload are illegal when use to download illegal materials.
What I mean more exactly, is to use a program (like this one) that transforms a Sudoku into an Exact Cover problem, and next try to use an elimination program (like this one) to find a solution. See also this blog entry for some more information.
Sudoku's, like so much other puzzles, are basically equivalent with solving Exact Cover problems. There are two types of Exact Cover problems that have a unique solution, those that can be solved with simple elimination and those that cannot. Simple elimination means that you take two columns in the Exact Cover problem and see if there is an implication. If this is the case, the rows that have only one 1 in the two columns involved, can be removed and the two columns can be joined. This simple elimination rule proves to be quite powerful to solve Exact Cover problems with a unique solution. It is rather difficult to construct a Exact Cover problem with a single solution that cannot be solved with this elimination rule. But I guess with so less clues that there might be many Sudoku's that cannot be solved with simple logic implication, but do require some form of guessing.
I propose we also start using decimal hours, minutes and seconds. Lets have 10 hours of 100 minutes of 100 seconds each. That would make the second only a little bit shorter than the current second. It would greatly simplify all calculations involving hours, minutes and seconds.
The article explains how the N1H5 (bird) flu virus, which has a 95% mortality rate for humans, can be genetically modified into a version that would be transmittable from human to human. If such a virus would get out into the wild, it could decimate human population on earth.
Although the Multiple sequence alignment problem (that is not with two but with many strings/sequences) is still polynomical, the time and memory requirements are high.
Why would you put something that can be solved by a polynomial algorithm in a game? Finding the diff of two strings with a know cost formulea is a second order polynomial algorithm with a one order space requirement. This is not at all like fold-it, which attempts to solve a much harder problem, which most likely is not even polynomial at all.
I used JavaScript as I assumed that that was the expected target language. Most of the time went into understanding the semantics of the jmp(e) instruction and for that I needed some tracing. Then I went to C++ (my prefered language for the matter) when I hit an infinite loop and did not see any output, because I ran the script inside Firefox.
It was also not my objection to write the shortest possible code. The more I write programs (including dirty and quick), I come to the conviction that my code should look nice and be pleasant to read. Too often, I have had the experience of having trouble with understandig code that I wrote more than few years ago. I look at your code and indeed it is very compact, but it is not easy to see that it indeed implements the specifications correctly. I am getting the impression that there is an "self.ip += 1" missing in the implementation of the jmp(e) when mod == 1.
It took me about 3 hours to implement stage 2 in JavaScript (and in C++ when the JavaScript implementation seemed to run in an infinite loop). The specification was not really trivial with respect to the jump instruction and did not explain the use of the cs register, which is not obvious to people who have not worked with 8 mirco processors using segmented memory, such as the Z-80. I always played with the 6502, which doesn't use segmented memory and has a 16-bit program counter.
I spend about three hours writing (mostly debugging) a JavaScript implementation of the VM. (I did make a side step to C++ because at one point the JavaScript implementation seemed to run in an infinite loop.) I also discovered that the specification was not very clear and required some interpretation. So stating that stage 2 was the simplest step, and using some code that someone else developed, is not really honest. The biggest problem was with figuring out how the jmp instruction worked and the use of the cs register, because that was not explained in the specification. For more on my implementation see here.
I guess the Old Media are not reporting about this. If this law passes, it is also a victory of the Old Media, I guess, because free speech will return to where it all started: the daily newspaper.
Indeed, now that oil is running out, the world's developing countries, and later the western countries as well, are turning to coal. And we still have coal for many years to go. The problem with coal is that the amouth of energy you can get from it compared to the amouth of CO_2 is produced, is worse than oil and gas, meaning that to produce the same amouth of energy, more CO_2 will be produced. It would surprise me, if in the near future oil is going to be used to produce oil, an highly inefficient process with respect to CO_2 and energy produced.
The fact is that humankind is simply not smart enough to deal with it own success. The nature of 'aninmal' life is to always use all available resources. Fossile fuels will be burnt up very quickly, and it is doubtfull whether enough (and efficient) alternative energy recources will become available, because if so, they would have been competitive by now. They are not competitive right now because the return on investment (the amouth of energy they produce compared to the amouth of energy that needs to be invested) is still very low. Most solar cells nowadays are like bad battaries: you have to invest a lot of energy to produce and it will take years before they will return that energy, let alone multiply it by a factor of ten. And then those solar cells produce a form of energy that is difficult to store, and often needs to be converted in some other form of energy further reducing its profit. And then the economic crisis that will be caused by the downfall of cheap energy, which is nothing with what we have seen in the past decades, will further stop development of alternatives. It is not unthinkable that many nations will star wars over energy resources the coming century, thus only making things worse.
Where can I download the software? Is it open source? I am afraid it won't be made available, and if it does it will be in a form where you need a few days to get it running. It seems that these kind of solutions developed in the academic world are often sold to commercial companies or made into commercial products.
Aside from the fact that it is a linear problem to solve (simple polynomial if you add lens correction), you also need a good feature extractor to create a 3D model from a set of 2D pictures. There are some excellent packages for doing 3D reconstruction, but they also come with a high price tag. There are some free implementations as well, but they are not very good.
Is seems to be an interesting solver, but you have to add a lot more for building an application for 3D reconstruction. I wonder if Google is going to release the software behind PhotoTour as well. And preferable for Windows.
An important factor in the current evolution of mankind is improved healthcare. Now that healthcare is improved, many more people survive their childhood, which actually mean that we as a species are becoming weaker and weaker. It seems that intelligence is a negative selection factor, because people with a high intelligence tend to have less children (or non at all) than people with an average intelligence. When healthcare improves even further, the effects may become even stronger. Who knows in 200 years we will not be able to walk anymore and all sitting in personal cars for most of our lives.
I understand that the results returned by Google are already customized to the user.
The subject says it all.
I believe that this technique already has been implemented many years ago in a jet-fighter simulator.
I wonder how facebook handles requests for data about foreigners? I wonder if that data is also protected by the privacy laws of the USA or that they can just provide that without a court order.
Just a week ago, the Slashdot item Alzheimer's Transmission Pathway Discovered reported that Alzheimer was caused by the spread of the tau protein gone wrong. How is this to be interpretted in the view of the above new item?
I think a bigger problem is that this new privacy directed is also in conflict with the Patriot Act. If I understand it correctly, the Patriot Act allows the USA government to seize any data (no matter where it is being hosted in the world) from any company that has a legal entity in the USA. The new privacy directive does not allow any government to size this data. To me it seems that any company that has a legal entity in the USA can no longer store any private (customer) data of people falling under the laws of to the EU.
The Tau protein has been known to be involved with Alzheimer's Disease for a long time. For a long time the accumlation of beta amyloid has been thought as the main driving mechanism of Alzheimer's Disease. The Tau-hypothesis has been around for a long time as well. I get the impression that the majority of the research on Alzheimer's Disease has been on beta-amyloid, including finding medication that is targeting this protein. And large sums of money has been invested in this research. I don't know if this finding will suddenly change the focus.of research in Alzheimer's Disease. Actually, I am afraid that it will not make much difference, and that the tau-hypothesis will be considered as an alternative for a long time.
Most software developement takes places in teams, which means you have to learn to deal with people and code written by others. That means having to deal with colleagues who use a different coding style than what you would prefer. Who use a different way of formating code, naming conventions that you are used to. You will have to resist the temptation to reformat all the code that you encounter. Also you will encounter strange code constructions that you think are wrong. And often they are also wrong, but they work (for the moment), and you have to learn to resist the temptation to start refactoring the code. Especially if you are working with a code manangement system, do not make any unneccessay changes to the code, because you are creating extra work for those who review your checking, because they have to spend extra time, and they don't like this. Also don't feel hesistated to make 'stupid' questions, and listen to the answers you get. Sometimes, you will be told that something is there for historical reasons, and that is often the only reason that it is there. And there will be colleagues that you will get around easier than others. Actually the whole messages burns down to: learning to adapt to the style of others and having the right attitude. Software enginering is often a group effort against an individual effort as you have been doing now. For the rest it is still 80% hacking the way you have been doing it.
I think I score strong on the introvert personality scale, but I also score on the open scale quite strong, meaning that I quickly distracted by thing going around me (the Internet mostly). I often find work boring, because it does not mix with my own interests, thinking about problems that I find interesting. My interest change quickly. I guess this is also related to me being an introvert, that I often find it interesting to think about all those little puzzles that go through my mind and that I would like to solve. I feel it is only rarely that I am really productive in the office, and that is when I am can work on something that does match with my interests (parsing and such) or when I am called to solve a problem, especially when this problem involves others as well and when there is some element of competition. When I heard about XP, I was quite charmed by the idea of pair programming. I have never really practice it with others. I do think it is a good way of working for developing software, but I also know that for some of the harder problems it is sometimes needed to think about an issue in solitude. In my workplace we often discus software developing problems. I do like to discuss options with my colleagues, often because I am lateral thinker and see many possible solutions to problems and often find me in a position where I take a long time to take a decision. Generating solutions is not the hard part for me, but selecting the best solution for the moment. I say, moment, because, often problems require 'quick' solutions and not 'good' solutions. So cooperations is important for me.
Small correction: Downloading games and software can be illegal if you do not own the rights and/or have a licence.
And the most interesting fact is that downloading is legal in the Netherlands under the condition that it is stricktly for private use. And that includes material that violates copyrights. Uploading of illegal materials (that you do not own the rights to) is illegal. Torrent clients that also share/upload are illegal when use to download illegal materials.
What I mean more exactly, is to use a program (like this one) that transforms a Sudoku into an Exact Cover problem, and next try to use an elimination program (like this one) to find a solution. See also this blog entry for some more information.
Sudoku's, like so much other puzzles, are basically equivalent with solving Exact Cover problems. There are two types of Exact Cover problems that have a unique solution, those that can be solved with simple elimination and those that cannot. Simple elimination means that you take two columns in the Exact Cover problem and see if there is an implication. If this is the case, the rows that have only one 1 in the two columns involved, can be removed and the two columns can be joined. This simple elimination rule proves to be quite powerful to solve Exact Cover problems with a unique solution. It is rather difficult to construct a Exact Cover problem with a single solution that cannot be solved with this elimination rule. But I guess with so less clues that there might be many Sudoku's that cannot be solved with simple logic implication, but do require some form of guessing.
I propose we also start using decimal hours, minutes and seconds. Lets have 10 hours of 100 minutes of 100 seconds each. That would make the second only a little bit shorter than the current second. It would greatly simplify all calculations involving hours, minutes and seconds.
The article explains how the N1H5 (bird) flu virus, which has a 95% mortality rate for humans, can be genetically modified into a version that would be transmittable from human to human. If such a virus would get out into the wild, it could decimate human population on earth.
Although the Multiple sequence alignment problem (that is not with two but with many strings/sequences) is still polynomical, the time and memory requirements are high.
Why would you put something that can be solved by a polynomial algorithm in a game? Finding the diff of two strings with a know cost formulea is a second order polynomial algorithm with a one order space requirement. This is not at all like fold-it, which attempts to solve a much harder problem, which most likely is not even polynomial at all.
I used JavaScript as I assumed that that was the expected target language. Most of the time went into understanding the semantics of the jmp(e) instruction and for that I needed some tracing. Then I went to C++ (my prefered language for the matter) when I hit an infinite loop and did not see any output, because I ran the script inside Firefox.
It was also not my objection to write the shortest possible code. The more I write programs (including dirty and quick), I come to the conviction that my code should look nice and be pleasant to read. Too often, I have had the experience of having trouble with understandig code that I wrote more than few years ago. I look at your code and indeed it is very compact, but it is not easy to see that it indeed implements the specifications correctly. I am getting the impression that there is an "self.ip += 1" missing in the implementation of the jmp(e) when mod == 1.
It took me about 3 hours to implement stage 2 in JavaScript (and in C++ when the JavaScript implementation seemed to run in an infinite loop). The specification was not really trivial with respect to the jump instruction and did not explain the use of the cs register, which is not obvious to people who have not worked with 8 mirco processors using segmented memory, such as the Z-80. I always played with the 6502, which doesn't use segmented memory and has a 16-bit program counter.
I spend about three hours writing (mostly debugging) a JavaScript implementation of the VM. (I did make a side step to C++ because at one point the JavaScript implementation seemed to run in an infinite loop.) I also discovered that the specification was not very clear and required some interpretation. So stating that stage 2 was the simplest step, and using some code that someone else developed, is not really honest. The biggest problem was with figuring out how the jmp instruction worked and the use of the cs register, because that was not explained in the specification. For more on my implementation see here.
I guess the Old Media are not reporting about this. If this law passes, it is also a victory of the Old Media, I guess, because free speech will return to where it all started: the daily newspaper.
Indeed, now that oil is running out, the world's developing countries, and later the western countries as well, are turning to coal. And we still have coal for many years to go. The problem with coal is that the amouth of energy you can get from it compared to the amouth of CO_2 is produced, is worse than oil and gas, meaning that to produce the same amouth of energy, more CO_2 will be produced. It would surprise me, if in the near future oil is going to be used to produce oil, an highly inefficient process with respect to CO_2 and energy produced.
The fact is that humankind is simply not smart enough to deal with it own success. The nature of 'aninmal' life is to always use all available resources. Fossile fuels will be burnt up very quickly, and it is doubtfull whether enough (and efficient) alternative energy recources will become available, because if so, they would have been competitive by now. They are not competitive right now because the return on investment (the amouth of energy they produce compared to the amouth of energy that needs to be invested) is still very low. Most solar cells nowadays are like bad battaries: you have to invest a lot of energy to produce and it will take years before they will return that energy, let alone multiply it by a factor of ten. And then those solar cells produce a form of energy that is difficult to store, and often needs to be converted in some other form of energy further reducing its profit. And then the economic crisis that will be caused by the downfall of cheap energy, which is nothing with what we have seen in the past decades, will further stop development of alternatives. It is not unthinkable that many nations will star wars over energy resources the coming century, thus only making things worse.
Where can I download the software? Is it open source? I am afraid it won't be made available, and if it does it will be in a form where you need a few days to get it running. It seems that these kind of solutions developed in the academic world are often sold to commercial companies or made into commercial products.