The problem, unfortunately, is that TSP is still an exponential problem. Solving it for seven cities is reasonably trivial. Although DNA is extremely small, an exponential about of it is not. By the time you get to 200 cities, you start requiring masses of DNA larger than the planet.
DNA based solutions basically call for you to use DNA to sort through every possible combination. Since it's all done in parallel, it can be done fairly fast, as long as you provide enough DNA. However, the only interesting problems are exponential ones (since polynomial problems can already be solved fairly fast), and you're basically trading material for time.
A 200 city TSP problem really isn't all that much. Some crypto breaking is equivalent to a 1,000 city TSP. The whole point of NP-completeness is that if you can solve one of them you can solve all of them. Traveling salesman is easy to explain, and more interesting than, say, 3SAT. So solving TSP for large numbers would be interesting, but sadly the solutions don't scale.
More comp-sci background: These problems are NP in that they are "nondeterministic polynomial". That is, you can check a proposed solution in polynomical (read: reasonable) time. If you guess right the first time, you can "solve" the problem immediately. The trick is guessing right the first time. But you don't have to with DNA: you can use the molecules to check all solutions at once, which is equivalent to guessing right the first time.
The "complete" part means that one NP-complete problem can be reduced to another in polynomial (again, read reasonable) time. So if you can solve TSP, you can solve all the other NP problems, which include scheduling, some cryptography, and a bunch of other interesting stuff.
Sadly, the numbers get big. 10^20 DNAs weighs only micrograms, but 10^200 DNAs weighs 10^170 tons. That's why we use it for crypto: it's hard to do. Just solving it in parallel doesn't help, because there are too many things to do in parallel.
There may be uses for DNA computing; note that the article talks more about sensors than math problems. So don't oversell it for math problems.
I should also add that I get my audiobooks through a centralized file-sharing system known as a "library". I don't know if libraries in Australia tend to carry such things but you might approach yours if they don't. They're also available for rent, either from the production company or through some stores.
I think audiobooks are becoming more popular, perhaps because people spend so much time in their cars and they're perfect car entertainment. They still cost perhaps US$50 or so for popular ones (and obscurer ones cost more, in an amusing twist of supply and demand), so it's more than a book and a bit more than a DVD. But perhaps the prices will come down some if they continue to become more popular.
Recorded books are actually a massive undertaking. They are a performance by an actor doing multiple roles (in the case of Jim Dale for Order of the Phoenix, over 150 roles). Each moment is glitch-free: he never ever stumbles or clears his throat. That's a combination of talent, editing, and multiple takes. Each reading takes multiple rehearsals, plus many hours more in the editing studios.
I don't really know how long it took Jim Dale to get 23+ hours of Harry Potter laid down on tape, but it must have been months of work. I have no objection to seeing him get paid for that (and since the CDs are available for under $50, only a few bucks per CD, it seems quite reasonable compared to music.)
Other recorded books are, of course, much more expensive. Overall I've found that Order of the Phoenix could have been priced much higher than they did based on demand, in any format. I assume this is an economic decision rather than a friendly one, but I know that it enabled married friends of mine to purchase two copies rather than one so neither had to wait.
Now, that's just to point out that this is more than just a "golden voice"; it's a major effort by an actor with rare talent. If you want to put together an Internet project to read books aloud, I think that would be noble and interesting. For out-of-print books, you might check out AudioBooksForFree. Just don't be too disappointed when your efforts don't sound nearly as good as the professional ones, and take more work than you expect.
For copyrighted works, well, the publishers wouldn't be happy if you're competing with their efforts, especially if they have their own recordings. But I'd press you to think about the value of new books versus old; if you'd rather record a new, copyrighted book than an old one, maybe you'll see why that book has value to the one who paid to publish it.
Disclaimer (too late): I am an actor and do recorded readings (and am unbelievably jealous of a voice like Jim Dale's).
Re:not sure how easy this would be...
on
Sign Language Out Loud
·
· Score: 4, Insightful
True enough, especially given that interpreting ASL depends on many factors other than hand position (speed, intensity, facial gestures, etc.) Much of that, however, can be communicated effectively even to non-ASL speakers, and serves to enhance a Babelfish-esque translation.
Just as Babelfish gives me at least a rough idea of what an article in another language says, it would be a substantial boon to an ASL speaker to be able to get at least the gist across to somebody who doesn't speak ASL. And unlike Babelfish, which I only have to use occasionally, most ASL users must communicate with non-deaf speakers essentially every single day.
The intriguing idea behind JIT compilers is that the result can be optimized for your exact configuration (AMD vs Intel, particular kinds of RAM, etc.) It can even (conceptually) optimize the same program differently at different times depending on usage. At, of course, a startup penalty and runtime compilation overhead.
I don't know how much of this potential is actually realized in JITs (it's insanely hard to do) and how much of a difference it makes in the end. How substantial would the difference between a specialized AMD vs Intel optimziation be, for example (which would presumably depend on the task)?
I suppose the best possible world would be to have the optimization run exactly once, the first time you install a program. (Yeah, you could conceptually move the same installation to a different CPU, or add more RAM, or some such, but let's not make an already messy issue even messier.)
I doubt such things are easy to benchmark, and the best test may well be something like this (gcj'd Eclipse), where the end result to the user is "which one feels faster?" and "which one actually runs faster?"
I've just re-re-read the article, and I can't find any mention that the software on board was Windows based.
Yes, you're all very droll, but the Microsoft bashing seems a little knee-jerk. It's insanely complicated to write software like this (as a few other posters have said, and I'm posting only because I have no mod points for them).
I doubt these errors are OS-based at all. Real-time systems like this are built on top of extremely well-tested embedded OSes. They reboot because they're writing pretty close to the bare metal, and mistakes are punished hard. Best practices are applied (interminable code reviews, fascist levels of regression testing, ungodly coding style standards), but not always followed, and even best practices don't always work.
I'd like to see a gradual shift to languages which enforce best practices (i.e. not C and assembly). Meantime, these pilots are pretty damn brave. But it's probably not Microsoft's fault, this time.
True enough. The various Lisp variants have all sorts of typing, up to the Meta-Object stuff which is really amazing. I was thinking of it in its basic "everything is a symbol or a list" mode (really more Scheme than Lisp).
You've got to be careful with your terminology here. All languages are equally expressive in the sense that anything you compute in one can be written in another. (At least in terms of computability. Access to hardware is a different matter.)
In your context, you might mean "expressive" in the sense of "saying as much in as few words as possible." Since C is a typed languge with explicit memory management, it's going to be more verbose than an untyped garbage-collecting language like Lisp or Perl. (Well, they have very limited typing, especially once you start adding constructs on top of the core language.)
Or you could mean "expressive" in exactly the opposite sense, where you have to be more "expressive" about the types of things. In this sense C is far less expressive than strongly typed languages like Haskell or even C++/Java.
Or you could simply be referring to the verbosity of the language, where COBOL holds the title of most ugly language and APL is without a doubt the shortest. (APL is indistinguishable from line noise.)
In the end the value of a "language" has less to do with the core language and much to do with the libraries for hardware access (memory, screen, disk, network) and compatibility with common features provided by the OS (clipboard, windowing, etc.)
So you pick your language for a host of reasons few of which have anything to do with a core "expressiveness".
Well, in public, they have the right to make speeches that you don't want to hear. They have the right to annoy the hell out of you, if they choose.
The difference in this case is that the phone is a partly public, partly private mechanism. Clearly the telemarketers have abused it.
It is not unreasonable for it to be considered a partly public form of speech. The political speech exemption in the law exists because the law might well be unconstitutional without it, under the first amendment. (Or so they say. That may well be a crock, but I know that the Supreme Court would not take well to any infringement on political speech. It's too important and too easy to be abused. Think not of the big parties but of the little ones trying to be heard.)
In this case, I think of it as the government organizing something that can't be done in the private sector. Telemarketers aren't doing anything so much illegal (which is why a separate law is required) as simply rude. It's unfortunate that the government has to regulate politeness, especially when there are many other things that they could be spending time and money on, but this is a way to remove a major annoyance with only minor infringment on rights and minor cost.
Good point. I'd meant that it isn't the global energy cost (e.g. running out of oil) as the fact that in these countries, there just isn't very much electricity for aluminum plants. In the US, aluminum is cheap, because we have rivers to provide such things. It would be more expensive in other places.
Of course, you could just ship bulk aluminum, or aluminum tubes. For me, the important part of the article is the overall coolness in building a bike from whatever you've got lying around. Aluminum is cheap, but not nearly as cheap as bamboo. When you've got nearly nothing, the difference between "cheap" and "free" is all the difference in the world.
Re:More Sustainable than Aluminum ??
on
Bamboo Bike A Reality
·
· Score: 4, Informative
Yes, but it's never found in its pure form. It takes a lot of energy to get workable aluminum out of the ore. You've got to heat it to 2300K, which takes a lot of energy. One report said that production of 1 kg of aluminum dumps 44 kg of CO2 into the air.
In this case it's not so much the energy costs or the pollution as the fact that poor countries just don't have the energy to go around.
Actually a Galileo is 1 cm/s^2. An mGal is a milliGalileo, or 10^-3 cm/s^2.
Earths gravity is roughly 980,000 mGals, so the entire range they're measuring is 120 parts in a million. It looks like their precision is maybe 1 part in a million. That's pretty impressive.
This could conceivably improve performance as well. If you store 8 bits deep, you can read a byte in the same amount of time it takes to read a bit. (It doesn't do much for latency, however.)
I don't know if you can continue to spin disks as fast with longitudinal arrangements of bits, or if you can actually read 8 bits at once (perhaps not on the same head), but if you can this could be a substantial speed improvement.
Thing is, the gaffers/cinematographers/best boys and such that they're featuring are paid salary. They don't get residuals, so they receive the same money whether they sell 1 DVD/ticket or ten million. The only ones who care are execs and really, really big stars, who get a piece of the gross.
In theory, economics says it should all "trickle down" (you steal from the studios, the studios have less money, make fewer movies, hire fewer gaffers, etc.) but that's all kind of abstract and debatable (since I'm not willing to accept their numbers on what piracy costs them). Short term, these guys really don't care if you pirate the DVD or not.
It appears that many people want SVG as a kind of Flash replacement. I've been waiting for general SVG acceptance for some time, but not for animations. I want it for maps, charts, and logos.
For example, Mapquest puts out lovely maps in GIF format, but they'd be a lot more useful to me if they were in SVG so that my 600 DPI printer could clearly render all the street names, rather than being locked into a format at 72 DPI. (They could use PDF for that, and I'm not entirely sure why they don't. Too expensive, either computationally or financially?)
Charts and logos would be a lot nicer given in SVG than GIF or JPEG. Again, that's most important when I intend to print it, but it's also useful for something where I'd like to zoom in to get the details.
A pet peeve: I see many corporate documents intended for printing where the logos obviously came from a web site, because they're blocky and ugly. It looks amateurish, but it can be very difficult to get a high-res version of an image. You can't incorporate a PDF into your word-processing documents, and EPS support is very spotty.
So I'm really looking forward to SVG. I just hope there's a button to turn off all the stupid animations. I use Firebird with an extension that requires a separate click to activate a Flash animation. That makes many web pages a far more pleasant experience. Yay SVG, boo Flash/Shockwave.
The goal of ice cream is to make the ice crystals really small. Big ice crystals feel grainy in your mouth. Ice cream should be smooth.
Ordinarily, you achieve that by stirring the ice cream constantly. With liquid NO2, you achieve the same effect by freezing everything before the crystals have a chance to grow.
So yeah, you do get better ice cream this way.
There's also a lot less air whipped into it. For my taste, there's too little; a spoonful has too much "cold" in it to really taste it. Since it has more ice cream and less air, you get more mass in a spoonful, and thus more cold. But that's all a matter of taste; that's exactly what Ben and Jerry make all their money at. A little goes a long way.
Gosling has been talking about this for at least two years. I'd really like to see it actually happen, because it's got tremendous potential.
His talk about complexity is a bit facetious; if you really wanted a simple programming language you'd do it all with S and K (trivial functional operators). The trick is not to minimize complexity but to achieve exactly the correct level of complexity.
Object orientation is one way of dealing with complexity: you group like functionality together into boxes with limited access between them. That controls complexity: the public interface to the box is simpler than the private interface.
However, designing objects to maximize cohesion while minimizing coupling (that is, getting everything that should be together together, and making everything that shouldn't be together apart) is tricky. You make commitments early in the process, and it can be hard to fix later.
Jackpot (if the damn thing is ever released) will make it a lot easier to analyze the coherence and coupling and redesign your classes for you. I've been contemplating such a thing for years, but the parse tree of Java is very hard to deal with (especially if you want to preserve comments) and I'd rather take advantage of his code to do it.
Yes, of course that would be easier in Lisp. Lisp programs are simpler, structurally. For many programmers they are too simple. The uniformity doesn't grab the eye and make it obvious what pieces of code belong with which other pieces. Various dialects deal with this in a variety of ways, but most new programmers latch on to Java because it seems to hit the right level of granularity for them.
Exactly why that should be is a subject of religious debate which would be utterly tiresome here. So let me leave it that many people _do_ program in Java, and as they aren't likely to switch any time soon it will be very pleasant if the right tools come along to make it easier. Jackpot will,I hope, make such tools available, One Of These Days.
The article in particular is referring to a kind of predatory patenting: figuring out what your competitors are working on, and patenting it before they can develop it.
It's basically taking advantage of inefficiency in the patent scheme. I don't usually file a patent until I've worked out the idea. Meanwhile, you can file a patent on the germ of the idea without exploring the details, a lot more cheaply. I can't bring my fully-thought-out idea to market without paying you royalty fees, which can be arbitrarily high.
There is no good way to say, "Yeah, congratulations, you've done $1.95 worth of thinking, here's two bucks, keep the change." The patent is an absolute block, which can be held over your head for whatever you will bear.
It's not a practical way of doing business: it takes too long and too much money to file a patent. It's not entirely like domain name speculators: you can do it but it's going to cost you a lot of money and time, probably too much to be worth your effort.
But until they've discovered that, it will prevent several good, real companies from bringing practical ideas to market.
Rereading this a few hours later, I can't believe I said "reasonably trivial". Sheesh.
The problem, unfortunately, is that TSP is still an exponential problem. Solving it for seven cities is reasonably trivial. Although DNA is extremely small, an exponential about of it is not. By the time you get to 200 cities, you start requiring masses of DNA larger than the planet.
DNA based solutions basically call for you to use DNA to sort through every possible combination. Since it's all done in parallel, it can be done fairly fast, as long as you provide enough DNA. However, the only interesting problems are exponential ones (since polynomial problems can already be solved fairly fast), and you're basically trading material for time.
A 200 city TSP problem really isn't all that much. Some crypto breaking is equivalent to a 1,000 city TSP. The whole point of NP-completeness is that if you can solve one of them you can solve all of them. Traveling salesman is easy to explain, and more interesting than, say, 3SAT. So solving TSP for large numbers would be interesting, but sadly the solutions don't scale.
More comp-sci background: These problems are NP in that they are "nondeterministic polynomial". That is, you can check a proposed solution in polynomical (read: reasonable) time. If you guess right the first time, you can "solve" the problem immediately. The trick is guessing right the first time. But you don't have to with DNA: you can use the molecules to check all solutions at once, which is equivalent to guessing right the first time.
The "complete" part means that one NP-complete problem can be reduced to another in polynomial (again, read reasonable) time. So if you can solve TSP, you can solve all the other NP problems, which include scheduling, some cryptography, and a bunch of other interesting stuff.
Sadly, the numbers get big. 10^20 DNAs weighs only micrograms, but 10^200 DNAs weighs 10^170 tons. That's why we use it for crypto: it's hard to do. Just solving it in parallel doesn't help, because there are too many things to do in parallel.
There may be uses for DNA computing; note that the article talks more about sensors than math problems. So don't oversell it for math problems.
Quint-essence, of course.
I should also add that I get my audiobooks through a centralized file-sharing system known as a "library". I don't know if libraries in Australia tend to carry such things but you might approach yours if they don't. They're also available for rent, either from the production company or through some stores.
I think audiobooks are becoming more popular, perhaps because people spend so much time in their cars and they're perfect car entertainment. They still cost perhaps US$50 or so for popular ones (and obscurer ones cost more, in an amusing twist of supply and demand), so it's more than a book and a bit more than a DVD. But perhaps the prices will come down some if they continue to become more popular.
I don't really know how long it took Jim Dale to get 23+ hours of Harry Potter laid down on tape, but it must have been months of work. I have no objection to seeing him get paid for that (and since the CDs are available for under $50, only a few bucks per CD, it seems quite reasonable compared to music.)
Other recorded books are, of course, much more expensive. Overall I've found that Order of the Phoenix could have been priced much higher than they did based on demand, in any format. I assume this is an economic decision rather than a friendly one, but I know that it enabled married friends of mine to purchase two copies rather than one so neither had to wait.
Now, that's just to point out that this is more than just a "golden voice"; it's a major effort by an actor with rare talent. If you want to put together an Internet project to read books aloud, I think that would be noble and interesting. For out-of-print books, you might check out AudioBooksForFree. Just don't be too disappointed when your efforts don't sound nearly as good as the professional ones, and take more work than you expect.
For copyrighted works, well, the publishers wouldn't be happy if you're competing with their efforts, especially if they have their own recordings. But I'd press you to think about the value of new books versus old; if you'd rather record a new, copyrighted book than an old one, maybe you'll see why that book has value to the one who paid to publish it.
Disclaimer (too late): I am an actor and do recorded readings (and am unbelievably jealous of a voice like Jim Dale's).
True enough, especially given that interpreting ASL depends on many factors other than hand position (speed, intensity, facial gestures, etc.) Much of that, however, can be communicated effectively even to non-ASL speakers, and serves to enhance a Babelfish-esque translation.
Just as Babelfish gives me at least a rough idea of what an article in another language says, it would be a substantial boon to an ASL speaker to be able to get at least the gist across to somebody who doesn't speak ASL. And unlike Babelfish, which I only have to use occasionally, most ASL users must communicate with non-deaf speakers essentially every single day.
The intriguing idea behind JIT compilers is that the result can be optimized for your exact configuration (AMD vs Intel, particular kinds of RAM, etc.) It can even (conceptually) optimize the same program differently at different times depending on usage. At, of course, a startup penalty and runtime compilation overhead.
I don't know how much of this potential is actually realized in JITs (it's insanely hard to do) and how much of a difference it makes in the end. How substantial would the difference between a specialized AMD vs Intel optimziation be, for example (which would presumably depend on the task)?
I suppose the best possible world would be to have the optimization run exactly once, the first time you install a program. (Yeah, you could conceptually move the same installation to a different CPU, or add more RAM, or some such, but let's not make an already messy issue even messier.)
I doubt such things are easy to benchmark, and the best test may well be something like this (gcj'd Eclipse), where the end result to the user is "which one feels faster?" and "which one actually runs faster?"
I've just re-re-read the article, and I can't find any mention that the software on board was Windows based.
Yes, you're all very droll, but the Microsoft bashing seems a little knee-jerk. It's insanely complicated to write software like this (as a few other posters have said, and I'm posting only because I have no mod points for them).
I doubt these errors are OS-based at all. Real-time systems like this are built on top of extremely well-tested embedded OSes. They reboot because they're writing pretty close to the bare metal, and mistakes are punished hard. Best practices are applied (interminable code reviews, fascist levels of regression testing, ungodly coding style standards), but not always followed, and even best practices don't always work.
I'd like to see a gradual shift to languages which enforce best practices (i.e. not C and assembly). Meantime, these pilots are pretty damn brave. But it's probably not Microsoft's fault, this time.
True enough. The various Lisp variants have all sorts of typing, up to the Meta-Object stuff which is really amazing. I was thinking of it in its basic "everything is a symbol or a list" mode (really more Scheme than Lisp).
You've got to be careful with your terminology here. All languages are equally expressive in the sense that anything you compute in one can be written in another. (At least in terms of computability. Access to hardware is a different matter.)
In your context, you might mean "expressive" in the sense of "saying as much in as few words as possible." Since C is a typed languge with explicit memory management, it's going to be more verbose than an untyped garbage-collecting language like Lisp or Perl. (Well, they have very limited typing, especially once you start adding constructs on top of the core language.)
Or you could mean "expressive" in exactly the opposite sense, where you have to be more "expressive" about the types of things. In this sense C is far less expressive than strongly typed languages like Haskell or even C++/Java.
Or you could simply be referring to the verbosity of the language, where COBOL holds the title of most ugly language and APL is without a doubt the shortest. (APL is indistinguishable from line noise.)
In the end the value of a "language" has less to do with the core language and much to do with the libraries for hardware access (memory, screen, disk, network) and compatibility with common features provided by the OS (clipboard, windowing, etc.)
So you pick your language for a host of reasons few of which have anything to do with a core "expressiveness".
Well, in public, they have the right to make speeches that you don't want to hear. They have the right to annoy the hell out of you, if they choose.
The difference in this case is that the phone is a partly public, partly private mechanism. Clearly the telemarketers have abused it.
It is not unreasonable for it to be considered a partly public form of speech. The political speech exemption in the law exists because the law might well be unconstitutional without it, under the first amendment. (Or so they say. That may well be a crock, but I know that the Supreme Court would not take well to any infringement on political speech. It's too important and too easy to be abused. Think not of the big parties but of the little ones trying to be heard.)
In this case, I think of it as the government organizing something that can't be done in the private sector. Telemarketers aren't doing anything so much illegal (which is why a separate law is required) as simply rude. It's unfortunate that the government has to regulate politeness, especially when there are many other things that they could be spending time and money on, but this is a way to remove a major annoyance with only minor infringment on rights and minor cost.
Or even not protected by patent, since look and feel can be considered to be an ownable thing even if not formally registered.
Good point. I'd meant that it isn't the global energy cost (e.g. running out of oil) as the fact that in these countries, there just isn't very much electricity for aluminum plants. In the US, aluminum is cheap, because we have rivers to provide such things. It would be more expensive in other places.
Of course, you could just ship bulk aluminum, or aluminum tubes. For me, the important part of the article is the overall coolness in building a bike from whatever you've got lying around. Aluminum is cheap, but not nearly as cheap as bamboo. When you've got nearly nothing, the difference between "cheap" and "free" is all the difference in the world.
Yes, but it's never found in its pure form. It takes a lot of energy to get workable aluminum out of the ore. You've got to heat it to 2300K, which takes a lot of energy. One report said that production of 1 kg of aluminum dumps 44 kg of CO2 into the air.
In this case it's not so much the energy costs or the pollution as the fact that poor countries just don't have the energy to go around.
Actually a Galileo is 1 cm/s^2. An mGal is a milliGalileo, or 10^-3 cm/s^2.
Earths gravity is roughly 980,000 mGals, so the entire range they're measuring is 120 parts in a million. It looks like their precision is maybe 1 part in a million. That's pretty impressive.
This could conceivably improve performance as well. If you store 8 bits deep, you can read a byte in the same amount of time it takes to read a bit. (It doesn't do much for latency, however.)
I don't know if you can continue to spin disks as fast with longitudinal arrangements of bits, or if you can actually read 8 bits at once (perhaps not on the same head), but if you can this could be a substantial speed improvement.
Thing is, the gaffers/cinematographers/best boys and such that they're featuring are paid salary. They don't get residuals, so they receive the same money whether they sell 1 DVD/ticket or ten million. The only ones who care are execs and really, really big stars, who get a piece of the gross.
In theory, economics says it should all "trickle down" (you steal from the studios, the studios have less money, make fewer movies, hire fewer gaffers, etc.) but that's all kind of abstract and debatable (since I'm not willing to accept their numbers on what piracy costs them). Short term, these guys really don't care if you pirate the DVD or not.
http://texturizer.net/firebird/extensions.html#Fla sh%20Click%20To%20View
It appears that many people want SVG as a kind of Flash replacement. I've been waiting for general SVG acceptance for some time, but not for animations. I want it for maps, charts, and logos.
For example, Mapquest puts out lovely maps in GIF format, but they'd be a lot more useful to me if they were in SVG so that my 600 DPI printer could clearly render all the street names, rather than being locked into a format at 72 DPI. (They could use PDF for that, and I'm not entirely sure why they don't. Too expensive, either computationally or financially?)
Charts and logos would be a lot nicer given in SVG than GIF or JPEG. Again, that's most important when I intend to print it, but it's also useful for something where I'd like to zoom in to get the details.
A pet peeve: I see many corporate documents intended for printing where the logos obviously came from a web site, because they're blocky and ugly. It looks amateurish, but it can be very difficult to get a high-res version of an image. You can't incorporate a PDF into your word-processing documents, and EPS support is very spotty.
So I'm really looking forward to SVG. I just hope there's a button to turn off all the stupid animations. I use Firebird with an extension that requires a separate click to activate a Flash animation. That makes many web pages a far more pleasant experience. Yay SVG, boo Flash/Shockwave.
Reuters has finally put up some pictures.
You've all been waiting for this, but of course in a photo it just looks like a big gray blob.
For some reason it just pleases me that there is extra RAM in the keyboard. I can't say why, exactly, but I think it's neat.
Heh-heh-heh. Nothing like humiliating yourself on a major website read by all your peers.
Thanks for pointing that out. I mean N2 of course.
The goal of ice cream is to make the ice crystals really small. Big ice crystals feel grainy in your mouth. Ice cream should be smooth.
Ordinarily, you achieve that by stirring the ice cream constantly. With liquid NO2, you achieve the same effect by freezing everything before the crystals have a chance to grow.
So yeah, you do get better ice cream this way.
There's also a lot less air whipped into it. For my taste, there's too little; a spoonful has too much "cold" in it to really taste it. Since it has more ice cream and less air, you get more mass in a spoonful, and thus more cold. But that's all a matter of taste; that's exactly what Ben and Jerry make all their money at. A little goes a long way.
Gosling has been talking about this for at least two years. I'd really like to see it actually happen, because it's got tremendous potential.
His talk about complexity is a bit facetious; if you really wanted a simple programming language you'd do it all with S and K (trivial functional operators). The trick is not to minimize complexity but to achieve exactly the correct level of complexity.
Object orientation is one way of dealing with complexity: you group like functionality together into boxes with limited access between them. That controls complexity: the public interface to the box is simpler than the private interface.
However, designing objects to maximize cohesion while minimizing coupling (that is, getting everything that should be together together, and making everything that shouldn't be together apart) is tricky. You make commitments early in the process, and it can be hard to fix later.
Jackpot (if the damn thing is ever released) will make it a lot easier to analyze the coherence and coupling and redesign your classes for you. I've been contemplating such a thing for years, but the parse tree of Java is very hard to deal with (especially if you want to preserve comments) and I'd rather take advantage of his code to do it.
Yes, of course that would be easier in Lisp. Lisp programs are simpler, structurally. For many programmers they are too simple. The uniformity doesn't grab the eye and make it obvious what pieces of code belong with which other pieces. Various dialects deal with this in a variety of ways, but most new programmers latch on to Java because it seems to hit the right level of granularity for them.
Exactly why that should be is a subject of religious debate which would be utterly tiresome here. So let me leave it that many people _do_ program in Java, and as they aren't likely to switch any time soon it will be very pleasant if the right tools come along to make it easier. Jackpot will,I hope, make such tools available, One Of These Days.
The article in particular is referring to a kind of predatory patenting: figuring out what your competitors are working on, and patenting it before they can develop it.
It's basically taking advantage of inefficiency in the patent scheme. I don't usually file a patent until I've worked out the idea. Meanwhile, you can file a patent on the germ of the idea without exploring the details, a lot more cheaply. I can't bring my fully-thought-out idea to market without paying you royalty fees, which can be arbitrarily high.
There is no good way to say, "Yeah, congratulations, you've done $1.95 worth of thinking, here's two bucks, keep the change." The patent is an absolute block, which can be held over your head for whatever you will bear.
It's not a practical way of doing business: it takes too long and too much money to file a patent. It's not entirely like domain name speculators: you can do it but it's going to cost you a lot of money and time, probably too much to be worth your effort.
But until they've discovered that, it will prevent several good, real companies from bringing practical ideas to market.