ASN.1 doesn't define the wire format of your data; in fact there are at least half-a-dozen accepted encodings (including XML!). Protocol Buffers, otoh, does specify the wire format. This means that you can store your encoded data and not worry about future tools being able to process it; specifically, Protocol Buffers allows the creation of tools that don't understand the data being processed.
The only obvious thing I see missing is a canonical way to encode the.proto file as a Protocol Buffer, to make a stream self-describing.
A-ha! I found it! "Thus, the classes in this file allow protocol type definitions to be communicated efficiently between processes."
Why do you need this? Well, you may not. "Most users will not care about descriptors, because they will write code specific to certain protocol types and will simply use the classes generated by the protocol compiler directly. Advanced users who want to operate on arbitrary types (not known at compile time) may want to read descriptors in order to learn about the contents of a message."
Technically, you are correct - platform-agnostic data transfer has been possible since Sun's earliest RPC implementations. However, this seems to be considerably lighter-weight (although so is Mount Everest) and because order is specified, it's going to be much simpler to pluck specific data out of a data stream. You don't need to have an order-agnostic structure and then an ordering layer in each language-specific library.
Actually, XDR (used for Sun's RPC) is very lightweight, arguably lighter than PB. (Yes, I forsee a Java implementation called PB&J.) XDR is potentially more compact, since it doesn't encode field identifiers, but it's also big-endian, which made it less attactive as little-endian computer archtectures took over the world. Also, while XDR demands a fixed ordering of fields, field order in PB *isn't* specified; the field identifiers allow you to order the fields anyway that you like.
Overall, I like it. It's obvious that the developers were familar with the flaws of older protocols, and found ways to fix most of them. The only obvious thing I see missing is a canonical way to encode the.proto file as a Protocol Buffer, to make a stream self-describing.
and here's some VERY relevant (and never mentioned) information. [...] I'm willing to bet most people who are all pissed off against Lori Drew never heard that information.
You don't say what you're quoting, but it sound almost identical to several postings that I made a few months ago in various forums. So, yeah, I knew all of that, and I'm still pissed off. Also, the MySpace account was deleted after that last message was sent, and as a result none of messages that were sent that day were backed up by MySpace. So, the only suspicious part is that it was Lori Drew's actions that caused the messages to be lost.
How many people recycle their alkaline batteries I ask?
I spent the last two years saving my used alkaline batteries. When i took them into the local Batteries Plus, the guy behind the counter tossed them into the trash can.
This is exactly why "peak oil" predictions have continued to change. The original predictions had us hitting peak oil around, what, 1985?
Those predictions were for US oil fields, and they came true almost exactly on schedule. Current predictions are for world-wide supplies. These are a bit shakier, since some countries (Saudi Arabia, for one) treat oil reserve data as state secrets.
None of the predictions ever take into account new technologies. When the newest predictions were made, oil sands still weren't an economically feasible source of crude. Now they are. That makes a HUGE difference.
The cost of extraction continues to rise. Yes, it's cheaper now to extract from shale and oil sands than it was a year ago, but it's still more expensive than drilling, and I don't see anyway that it (or deep sea drilling) will ever be cheaper than land drilling. The only reason why these other avenues are being pursued now is that the easy/cheap places to drill are tapped out. We'll never completely run out of oil, but when it requires more energy to extract an amount of oil than that oil can provide, we'll stop using oil for energy. The economic consequences of even approaching that price point are staggering to contemplate.
Peak Oil refers not to "running out of oil" but the point at which production cannot be increased faster than demand is rising.
I dunno... that's not my understanding of the peak-oil predictions, but if you're right then it's even more idiotic than I thought.
No, the grandparent poster is wrong. Peak Oil simply refers to the point when half of an area's economically-extractable oil has been depleted. By itself, that not too bad; it took 140 years to extract one trillion barrels. But production increases over time. For example, if production increases at 5% per year, then production doubles every 14 years. And if you do the math, no matter how long it took to get to that point, once you hit peak oil, you've got 14 years until it becomes economically infeasible to extract any more oil. Unfortunately, the industrialization of China and India has driven the rate of increase even higher, closer to 7%, which means a doubling period of 10 years.
I expect that you aren't interested in reading propaganda from admitted peak oil enthusiasts, but how do you feel about the American Association of Petroleum Geologists? http://www.aapg.org/explorer/2007/05may/nehring.cfm
Usually, Windows admin rights are needed only to install device drivers. This usually means any USB device whose driver doesn't ship with Windows (my cell phone, for instance). It also rules out VMware/Xen/etc, which delve deeply into the OS during installation.
Some places not only remove admin rights, but remove permissions to write anywhere but your home directory. This makes software installation harder, but not impossible; usually you can change the install location to get around this. However, the Windows certification procedures force developers to save configuration info in the registry instead of.ini files; making sufficiently large portions of the registry read-only will make it much harder to install such apps.
Fortunately, multi-platform software in general, and FOSS in particular, usually don't care much about Windows certification. These program generally leave the registry alone. This makes it a lot easier to make portable versions of Firefox or OpenOffice than, say, IE or MS Office.
I'm running FF3 on a company desktop without admin rights. It installed just fine. If your system's locked down tighter than mine, try the Portable Edition. I haven't tried, but I suspect that it would also run just fine from anyplace you have write access to.
On the other hand, WHAT? At least, the Iraq war probably has bought some degree of oil supply chain security, that is, furthered a vital US interest. Its cost is to a great extent the result of incompetence and corruption in the Bush administration. One cannot say the same thing for the ISS.
The ISS wound up costing about ten times initial estimates due to such things as reliance on the Shuttle to deliver parts, and a decision to spread the work over as many Congressional districts as possible.
On the other hand, enough wind turbines to power North America would also bring about oil supply chain independence, and still have enough money left over to put up a second ISS, especially if you assume that we could orbit a second one for a lot closer to the initial estimates.
To get back to the article, something that I will never understand is NASA's willingness to de-orbit space stations. They practically held a gun to the Russians' heads to bring down Mir. (The Russians wanted ISS in a parallel orbit, NASA wanted a perpendicular one. The Russian approach would have let each station use the other as a lifeboat, NASA made it impossible to transfer between the orbits. Or you could have bolted Mir onto the IIS and had a much bigger station for practically nothing.) Once you spend $1e11 to put hardware into orbit, I'd like to see it kept there. If you want to abandon it, dump the atmosphere and water and move it to a parking orbit in the middle of the van Allen belt for a future generation to rehabilitate.
The International Space Station as indicated in the story is going to cost well over $100 billion when it's done. In addition to the huge opportunity costs of spending the money on a single space station (for example, that money could have been spent on several equivalent stations to the ISS), and continuing to run the highly inefficient Space Shuttle to 2010 or beyond, the ISS simply doesn't do that much science, space engineering, or people-living-in-space feelgood. OTOH, one Iraq war equals ten space stations! Or, enough wind turbines to power North America!
Obviously we need Oprah to realize that there are some non-fiction books out there besides self-help titles, Deepak Chopra ramblings, and self-serving celebrity autobiographies. I think that you've stumbled on part of the problem. A really good science book doesn't open itself up to discussion the way anything you listed does.
How may of your parents or children took A New Kind of Science to the beach this summer? I did. The back door of the beach house won't stay open, and I needed a doorstop.
Somewhere in my basement I've got some IBM promotional posters from the '80s. I especially recall one for the 3270GA that in one corner featured a version of Hokusaiâ(TM)s The Great Wave off Kanagawa. I don't recall if it was the derivative work, The Wave of the Future (http://vorpal.us/img/waveofthefuture.jpg), but it was very similar. I guess I need to go dig those out again and check their condition.
Since I'm always forgetting to log my business driving, I've got a program that uses Google maps to figure out the driving distance between various pairs of points. It uses two files, one consisting of about 250 lines like this:
home, office, client-a, restaurant-x, client-b, home
home, client-b, restaurant-y, client-b, home and the other listing street addresses for everyone. I'm sure it's a big violation of Google's ToS, but it tries to play fair: it caches the distances that it discovers (e.g. so that the distance from client-b to home is only requested once), it waits one-to-two minutes between queries, and I only use it once a year at tax time when I'm calculating my business expenses.
Everyone has already noted that this only tracks hits, not searches. I'd like to suggest a few code improvements.
At a high level, use RRD (http://search.cpan.org/~nicolaw/RRD-Simple-1.43/lib/RRD/Simple.pm) for the underlying database. RRD is used by MRTG to track time-varying data over multiple time scales, keeping details for recent data and summaries for historical data. RRD also comes with its own plotting module, although you could keep using Gnuplot if you wish.
In the code itself, there are places where there are "elsif" clauses without an "else" clause. One seems alright, but should have a null "else" so document that fact. The other, however, is testing keywords from the config file, and should flag any that are unrecognized.
Finally (and this is probably nit-picking), instead of this:
return unless EXPR;
do something;
return; I'd use this:
if EXPR {
do something;
}
return;
Re:Anything else out there?
on
The State of X.Org
·
· Score: 2, Informative
Not when draging a transparent window freezes the system for seconds. Are you refering to problems with xcompmgr, or something else?
Not when X runs in ONE SINGLE THREAD. I'm not sure what you mean by this. Xlib has been thread-safe for years. As for the other parts of X11, http://ask.slashdot.org/comments.pl?sid=50400&cid=5099482 has a good explanation of where your train of thought jumped the tracks.
Not when X crashes. Do you have specific experience, or are you just rumor-mongering?
Not when X can't be compatible with the only two graphics chipsets on the world (ATI and nVidia, the rest is either complete crap - Intel - or forgotten, obsolete, and massively overpriced crap - Matrox). Gee, my copy of X11 seems compatible with everything you named. There are lots of ATI drivers available; see http://www.x.org/wiki/VideoDriverFAQ for assistance. Any problems you're having with nVidia drivers are due to nVidia only providing binary blobs. See http://www.x.org/wiki/NVIDIAProprietaryDriver for more details. As for the rest, well, "different strokes for different folks." If you're not running games, a low-end chipset is fine.
Not when X crashes. (I have yet to see Aqua crash, ONCE.) Now you're just repeating yourself.
Not when X has one new line of code a year, never fixes bugs, releases years too late, etc. etc. Looking at http://www.x.org/wiki/Events/XDC2008/Program, it seems that they are keeping busy.
And I haven't even started on the politics/license stuff... Yeah, politics has never raised its ugly head on the lkml (http://www.google.com/search?q=site%3Akerneltrap.org+politics). And what's wrong with the current license?
There's also the case of changing a few bytes inside an existing file using fseek/fwrite. You don't want the file duplicated, but you have to if the operation needs to be atomic, haven't you ? I guess it's similar to the database case. You need a file system that supports copy-on-write. Whenever you change a block, the old block is first saved elsewhere. When the file is closed, the old blocks are either discarded, or (more commonly) kept around as snapshots. Check out WAFL (http://en.wikipedia.org/wiki/Write_Anywhere_File_Layout) and ZFS (http://en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model).
This is an idea that goes back to a book I read in the '80s about UFOs. First let me say that I realize that as a source for information, it rates right up there with the Institute for Intellegent Design, but bear with me. In the book, it was noted that during UFO sightings, car engines tend to stop running, while once the UFO departs, the car works just fine. Afterwards, mechanics can find nothing wrong with the engine or electrical system. The author hypothesized that some sort of directed beam of microwaves could temporarily short out the car's battery. Sounds like exactly what the Pentagon is looking for; they just need to review the archives at Area 51.
ASN.1 doesn't define the wire format of your data; in fact there are at least half-a-dozen accepted encodings (including XML!). Protocol Buffers, otoh, does specify the wire format. This means that you can store your encoded data and not worry about future tools being able to process it; specifically, Protocol Buffers allows the creation of tools that don't understand the data being processed.
The only obvious thing I see missing is a canonical way to encode the .proto file as a Protocol Buffer, to make a stream self-describing.
A-ha! I found it! "Thus, the classes in this file allow protocol type definitions to be communicated efficiently between processes."
Why do you need this? Well, you may not. "Most users will not care about descriptors, because they will write code specific to certain protocol types and will simply use the classes generated by the protocol compiler directly. Advanced users who want to operate on arbitrary types (not known at compile time) may want to read descriptors in order to learn about the contents of a message."
Technically, you are correct - platform-agnostic data transfer has been possible since Sun's earliest RPC implementations. However, this seems to be considerably lighter-weight (although so is Mount Everest) and because order is specified, it's going to be much simpler to pluck specific data out of a data stream. You don't need to have an order-agnostic structure and then an ordering layer in each language-specific library.
Actually, XDR (used for Sun's RPC) is very lightweight, arguably lighter than PB. (Yes, I forsee a Java implementation called PB&J.) XDR is potentially more compact, since it doesn't encode field identifiers, but it's also big-endian, which made it less attactive as little-endian computer archtectures took over the world. Also, while XDR demands a fixed ordering of fields, field order in PB *isn't* specified; the field identifiers allow you to order the fields anyway that you like.
Overall, I like it. It's obvious that the developers were familar with the flaws of older protocols, and found ways to fix most of them. The only obvious thing I see missing is a canonical way to encode the .proto file as a Protocol Buffer, to make a stream self-describing.
and here's some VERY relevant (and never mentioned) information.
[...]
I'm willing to bet most people who are all pissed off against Lori Drew never heard that information.
You don't say what you're quoting, but it sound almost identical to several postings that I made a few months ago in various forums. So, yeah, I knew all of that, and I'm still pissed off. Also, the MySpace account was deleted after that last message was sent, and as a result none of messages that were sent that day were backed up by MySpace. So, the only suspicious part is that it was Lori Drew's actions that caused the messages to be lost.
How about Project Gutenberg? They've got lots of books that have already been scanned.
How many people recycle their alkaline batteries I ask?
I spent the last two years saving my used alkaline batteries. When i took them into the local Batteries Plus, the guy behind the counter tossed them into the trash can.
Ok so you join atoms you get energy. You break apart atoms you get energy. Is there anuything endothermic that happens on the nuclear level.
Only in supernovas and Asymptotic Giant Branch stars. See http://en.wikipedia.org/wiki/Silicon_burning_process, http://en.wikipedia.org/wiki/R-process and http://en.wikipedia.org/wiki/S-process for details.
This is exactly why "peak oil" predictions have continued to change. The original predictions had us hitting peak oil around, what, 1985?
Those predictions were for US oil fields, and they came true almost exactly on schedule. Current predictions are for world-wide supplies. These are a bit shakier, since some countries (Saudi Arabia, for one) treat oil reserve data as state secrets.
None of the predictions ever take into account new technologies. When the newest predictions were made, oil sands still weren't an economically feasible source of crude. Now they are. That makes a HUGE difference.
The cost of extraction continues to rise. Yes, it's cheaper now to extract from shale and oil sands than it was a year ago, but it's still more expensive than drilling, and I don't see anyway that it (or deep sea drilling) will ever be cheaper than land drilling. The only reason why these other avenues are being pursued now is that the easy/cheap places to drill are tapped out. We'll never completely run out of oil, but when it requires more energy to extract an amount of oil than that oil can provide, we'll stop using oil for energy. The economic consequences of even approaching that price point are staggering to contemplate.
I dunno ... that's not my understanding of the peak-oil predictions, but if you're right then it's even more idiotic than I thought.
No, the grandparent poster is wrong. Peak Oil simply refers to the point when half of an area's economically-extractable oil has been depleted. By itself, that not too bad; it took 140 years to extract one trillion barrels. But production increases over time. For example, if production increases at 5% per year, then production doubles every 14 years. And if you do the math, no matter how long it took to get to that point, once you hit peak oil, you've got 14 years until it becomes economically infeasible to extract any more oil. Unfortunately, the industrialization of China and India has driven the rate of increase even higher, closer to 7%, which means a doubling period of 10 years.
I expect that you aren't interested in reading propaganda from admitted peak oil enthusiasts, but how do you feel about the American Association of Petroleum Geologists? http://www.aapg.org/explorer/2007/05may/nehring.cfm
Usually, Windows admin rights are needed only to install device drivers. This usually means any USB device whose driver doesn't ship with Windows (my cell phone, for instance). It also rules out VMware/Xen/etc, which delve deeply into the OS during installation.
Some places not only remove admin rights, but remove permissions to write anywhere but your home directory. This makes software installation harder, but not impossible; usually you can change the install location to get around this. However, the Windows certification procedures force developers to save configuration info in the registry instead of .ini files; making sufficiently large portions of the registry read-only will make it much harder to install such apps.
Fortunately, multi-platform software in general, and FOSS in particular, usually don't care much about Windows certification. These program generally leave the registry alone. This makes it a lot easier to make portable versions of Firefox or OpenOffice than, say, IE or MS Office.
Ditto, especially since this "robot" is an autonomous vehicle. You can run the whole thing off the cigarette lighter.
You can often find decomissioned HMI panels for next to nothing. That's how I change the temperature on my hot tub.
Sounds like those HMI panels run pretty hot, if they can change the temperature of such a large mass of water.
I'm running FF3 on a company desktop without admin rights. It installed just fine. If your system's locked down tighter than mine, try the Portable Edition. I haven't tried, but I suspect that it would also run just fine from anyplace you have write access to.
Since 1997, Microsoft has used a front office in Reno, Nevada to avoid paying Washington State over $528 million in software sales taxes.
The Redmond company makes products here but records software sales to PC makers and high-volume customers through an operation in Nevada, where there is no corporate tax. So Washington is missing out on revenue it could use for badly needed infrastructure needs -- like replacement of the 520 bridge.
On the other hand, WHAT? At least, the Iraq war probably has bought some degree of oil supply chain security, that is, furthered a vital US interest. Its cost is to a great extent the result of incompetence and corruption in the Bush administration. One cannot say the same thing for the ISS.
The ISS wound up costing about ten times initial estimates due to such things as reliance on the Shuttle to deliver parts, and a decision to spread the work over as many Congressional districts as possible.
On the other hand, enough wind turbines to power North America would also bring about oil supply chain independence, and still have enough money left over to put up a second ISS, especially if you assume that we could orbit a second one for a lot closer to the initial estimates.
To get back to the article, something that I will never understand is NASA's willingness to de-orbit space stations. They practically held a gun to the Russians' heads to bring down Mir. (The Russians wanted ISS in a parallel orbit, NASA wanted a perpendicular one. The Russian approach would have let each station use the other as a lifeboat, NASA made it impossible to transfer between the orbits. Or you could have bolted Mir onto the IIS and had a much bigger station for practically nothing.) Once you spend $1e11 to put hardware into orbit, I'd like to see it kept there. If you want to abandon it, dump the atmosphere and water and move it to a parking orbit in the middle of the van Allen belt for a future generation to rehabilitate.
Or, enough wind turbines to power North America!
And here's the NY Times article from two months ago: http://www.nytimes.com/2008/04/13/magazine/13anthropology-t.html. Covers a lot of the same material, but in greater detail.
I'll try to post it when I get home tonight. Ironically, I'll probably post it on my Googlepage.
Somewhere in my basement I've got some IBM promotional posters from the '80s. I especially recall one for the 3270GA that in one corner featured a version of Hokusaiâ(TM)s The Great Wave off Kanagawa. I don't recall if it was the derivative work, The Wave of the Future (http://vorpal.us/img/waveofthefuture.jpg), but it was very similar. I guess I need to go dig those out again and check their condition.
Since I'm always forgetting to log my business driving, I've got a program that uses Google maps to figure out the driving distance between various pairs of points. It uses two files, one consisting of about 250 lines like this:
home, office, client-a, restaurant-x, client-b, home
home, client-b, restaurant-y, client-b, home
and the other listing street addresses for everyone. I'm sure it's a big violation of Google's ToS, but it tries to play fair: it caches the distances that it discovers (e.g. so that the distance from client-b to home is only requested once), it waits one-to-two minutes between queries, and I only use it once a year at tax time when I'm calculating my business expenses.
Everyone has already noted that this only tracks hits, not searches. I'd like to suggest a few code improvements.
At a high level, use RRD (http://search.cpan.org/~nicolaw/RRD-Simple-1.43/lib/RRD/Simple.pm) for the underlying database. RRD is used by MRTG to track time-varying data over multiple time scales, keeping details for recent data and summaries for historical data. RRD also comes with its own plotting module, although you could keep using Gnuplot if you wish.
In the code itself, there are places where there are "elsif" clauses without an "else" clause. One seems alright, but should have a null "else" so document that fact. The other, however, is testing keywords from the config file, and should flag any that are unrecognized.
Finally (and this is probably nit-picking), instead of this:
return unless EXPR;
do something;
return;
I'd use this:
if EXPR {
do something;
}
return;
This is an idea that goes back to a book I read in the '80s about UFOs. First let me say that I realize that as a source for information, it rates right up there with the Institute for Intellegent Design, but bear with me. In the book, it was noted that during UFO sightings, car engines tend to stop running, while once the UFO departs, the car works just fine. Afterwards, mechanics can find nothing wrong with the engine or electrical system. The author hypothesized that some sort of directed beam of microwaves could temporarily short out the car's battery. Sounds like exactly what the Pentagon is looking for; they just need to review the archives at Area 51.