The $30 plan is for full nat'd internet (only a copule port restrictions_ and t-mobile hotspots. They used to have a seperate internet only plan for $20, but recently combined them into the one $30 plan. However, you can sign up for the Blackberry data plan (go on the my.t-mobile.com page, and select a blackberry as your phone model). The blackberry plan is $20, and gives the same internet as the old $20 internet-only (no hotspots) plan.
Another option (that I use) is to stick with the $5.99 plan and use my own phone (non-branded Motorola a780). I've got my home system set up with a proxy so that I can use things like google maps without problems. Also, instead of opera mini, this phone has the full arm linux version of opera included.
That what I was refering to. Since both Sirius and XM were in a bidding war, they have to pay a higher premium to carry the exclusive contract. If they both merge, then they can go to NFL / MLB and get a lower price for the content, since there is no one else bidding up the price. Therefore their costs are lower, and they won't have to raise prices to the end consumer.
Yes, you can buy an unlocked phone, but you'd have to make sure it works with the carrier you'd want to use it on. This works best with GSM phones cause of the sim card (the carrier is not involved with you switching phones). However, non-gsm carriers have to be involved to activate your phone, and ones like Sprint won't turn on any phone that wasn't sold through them.
Also, unless you get an expensive pre-paid phone service, you are still stuck with a 2 year contract. And you don't get a discount on the contract if you bring your own phone, so you might as well get their "free" phone.
But that also works in the opposite direction. Since they both wanted exclusive contracts, then the NFL was able to charge a premium. Now that they can't get the two companies into a bidding war, the price should go down.
But what if it just doesn't get any cheaper? If star travel remains a trillion dollar effort regardless of how far you advanced technologically. What determines the cost of something? The cost of the materials, plus the cost of the labor to assemble the materials. Material cost is driven by supply/demand, or in cases of high supply and low demand, the cost is that of the labor and resources needed to extract those materials.
So, three things would have to happen before that trillion-dollar starship becomes almost free. First, fully developed automated manufacturing. We are close to this now -- how much of modern items is almost all done by machine? Second item, would be increased supply of raw materials to feed into those machines. This is where asteroid belt / ort cloud mining comes in. Third item is energy. In space based manufacturing, unlimited energy can come from the sun.
Once the process is bootstrapped, then what you have is automated robotic manufacturing units that collect raw materials from space bodies, use them to fabricate items such as structural steel and solar power conversion devices. From there, other automated devices can assemble the results into either additional manufacturing units, or into space colony vessels. Now you have something that is being produced for no cost (no human labor involved, decreasing capitol costs due to self-replicating builders, etc). As for propulsion technologies, we already know how to make antimater, but in minute quantities and large energy expenditure. One thing I've read about is that it should be possible to station automated factories close to the sun for power collection. Theoretically, an antimater propulsion system would mostly save on fuel weight, so it would make it more realistic to accelerate a vessel at 1g for a long period of time.
In keeping with Motorola's lame-ass naming scheme, I don't see how they could pass on calling it the Moto BENDR... except for the fact that Matt Groening would probably kick their asses. That would be MOTO BNDR
The definition of an operating system I like to use is: An OS is a collection of code that is used by software to manage access to system hardware via a well defined API, along with a collection of standardized utilities that provide for user access and management of system hardware and data structures and data streams associated with that hardware.
So, under this definition, the kernel is a peice of the OS, disk access utilities are part of the OS, but applets such as a mini word processor and paint program are mearly bundled utilities.
I had the same problem with a generic pc. The machine was plugged into a surge protector, and the wall outlet had a faulty ground connection. Cheap surge protectors will dump about 20 - 40 volts to it's ground connection in that instance (which is then transfered to the system case). Therefore, you'd get a shock when touching the system and the thinnet cable (which was earth-gounded on one end in accordance to specs).
In some states in the US, there is a distinction between "ignorance of the law" and "ignorance of the facts". In your receiving stolen goods example, if a person had no reason to believe that the goods were stolen then there is no charge (althought the goods would still be forfieted). For example if you bought a plasma tv at Walmart that ended up in their supply chain via a crooked vendor then you wouldn't be charged with any felony. However, buying the same plasma tv out of the back of someones van for $50.00 could land you in hot water because a reasonable person should conclude that the merchandise was stolen property (the low price, the circumstances of purchase, etc).
So, if the same principle were to be applied, then this schoolmaster shouldn't have been charged since he aquired the equipment from a seemingly legitimate source. Of course, now we've blended UK, US, and Russian law all in one discussion.
I've thought of this before also, and came to the conclusion that (unless someone is colorblind) everyone does preceive colors the same way. The reaseon: consistant emotional reaction to various colors. Now some of these reactions can be explained by association -- red is "hot" because fire is red, and blue is "cold" because of ice, and skin turns blue when cold. But there are certain colors that most people will consider ugly, and certain ones that most will agree as soothing. And there are common accepted notions of which colors "match" or "go together".
Business networks can also get away with busting open ssl traffic. Since they control the browsers on their network, they can push out their own cert to everyones browser, then do a man-in-the-middle attack and re-sign the packets using their key (which everyone's browser would blindly accept, since the company's cert is in the browsers trust CA list). Of course, this won't work if a user installs their own browser (in that case, the user would see a popup window saying the cert isn't valid).
There was a discussion (almost a flamefest) on the mailing list about wifi. Here's the summary. Sean wanted to make sure the device was completely open (excepting the GSM stack, which runs on a seperate processor). There were no low-power wifi chips that had open drivers that he could find. The chip used in the one-laptop-per-child project might be a good candidate however, but at any rate it will have to wait till the next hardware release.
As far as wifi being useful on a phone -- yes, the project leaders agree that it can be useful, however at this stage of the game it shouldn't be a showstopper for several reasons. 1) It has bluetooth, which can do wireless networking. Just not as long range (but much less power). 2) To use wifi for voice, you most likely have to be at home (in which case you can use a cordless phone plugged into your sip gateway). Why only at home? Well, 3) Most public hotspots are hooked up with an Adsl conneciton, which typically means a 128k or so upstream. So at most, only one or two people can use it per hotspot. Great if only the "geeks" use it, but not so if it ends up becoming mainstream. 4) Call handoff (between wifi and gsm) will need support from the carrier. Some carriers are experimenting with this, in conjunction with certain phones such as the Nokia N80 (?) which has a wifi chip in it. They call this service level UMA (unlicensed mobile access). However, if you don't need middle-of-the-call automatic handoff when you leave wifi range, you can have the dialer software try a sip connection prior to attempting gsm. But inbound calls will need to go through an alternate number (i.e., hooked up to your asterix server) that then forwards the call to either your sip line, or your gsm connection if the phone can't be found via it's ip address.
No one is denying that it would be a nice feature to have, but everyone has their pet feature and there isn't enough room to include all of them. But for a wifi alternative, you can use an alternate firmware on certain wifi access points that have usb ports on them, and plug in a usb bluetooth adapter for bluetooth networking.
The other way is to take over your HOA. It helps if you are in a smaller subdivision (100 houses or less), with a more moderate average household income (most of the neighbors would be too busy working to worry about the HOA). Then, make friends with a bunch of neighbors that are like you, and run for a board position. Try to get some of the friendly neighbors to run also. Usually the board meetings & elections aren't well attended (all you need is a quarum of 20% of the households), and make sure all your friends attend the election (in stealth mode). Bingo, you get elected to the board, and can make all the changes to the association rules you want.
The final blow is to add language that restrictions can be removed easily, but no more restrictions can be added without a super-majority approval, and only after 12 months worth of debates. Problem solved.
So what you're asking for is a board that has pcmcia / pc card / expresscard slots, instead of the standard ones? According to the article, the dtx standard specifies an expresscard slot, but it would be nice if multiple ones were spec'd (along with pc card).
What would be even nicer, though, is an open laptop specification. I want to be able to get a laptop shell and fill it with off-the-shelf components, or put a laptop motherboard / power supply in a micro-sized desktop case.
It will be compatible with ATX cases, however the main purpose is to provide a standardized form similar to those small Shuttle boxes, or "Book PC" boxes. Neither of those two are standardized, so this should hopefully go a long way to getting more small form factor boxes out there.
But in the Solaris case, I was able to download the new timezone files from ftp://elsie.nci.nih.gov/pub/tzdata2007a.tar.gz and extract the contents (the only file I needed was northamerica), and ran "zic northamerica" -- all was taken care of.
The simple fix for this is to edit the rc script that starts syslog, and have it "export TZ=UTC && syslog"; then all the syslog entries will be in UTC.
It's nice to see another language designer on here. I've recently released my pet project on sourceforge, called 2e (as in two e's, or ee, which stands for expression evaluator). Feel free to grab any ideas / code from it -- currently it is mostly just an expression evaluator, but it supports function calls (built-in and user-defined), and it supports an inline conditional like C, plus an iterative inline conditional -- so it can get by without an if/else or while/do statements. But the code is designed to be embeddable, and if you want to you can rip apart the expression evaluator and integrate it into other interpreters.
Only if your terminal window is 80 columns wide. Of course, if you want it to no matter what the actual width, just insert a newline at col80...
Actually, some terminals will leave the cursor at column 80, and only advance to the next line after another character is output; others will put the cursor at column 1 of the next line immediately after a character is placed at column 80. Why does this matter? Well, if you output a character on column 79, then a cr/lf, you'll get the next output at the beginning of the next line, where you expect it. But if the last output was at column 80, then followed by a cr/lf, then some more text, on some terminals you'll get an extra blank line inbetween (the second case), and other terminals will not (the first case).
Only if you haven't first set the terminal to raw input...
This has more to do with if the terminal performs an automatic cr/lf after a character is placed in column 80 (see previous point). The "raw" output you're probably thinking of is yet another layer, but that is actually in the host's tty driver (stty settings), and is independant of the terminal itself.
Just try to find a terminal that doesn't support the standard ansi escape codes
Many terminals only supported their native escape sequence set, up until the last 10 years or so. But chances are that there are very few of those left in service. There are, however, certain functions that a lot of terminals supported that aren't in the ANSI list, such as "screen protect". This is a mode where you can define some of the text on screen as "protected" (this would usually be components of an input form); when a "clear screen" is issued, the "protected" components would remain on screen so you can easily clear the form data without having to redraw the form itself. Televideo and I believe Wyse terminals are a couple examples of this.
So just use the bog-standard ansi sequences... ...by sticking with the standard escape sequences, you don't have to worry about all the "extensions" each different terminal supports
The wonderful thing about standards is that there are many to choose from, and even more ways to interpret them. The largest problem you'll run across is what was mentioned in points 1 and 2 above, how the terminal handels scrolling after a character is placed in the last column. If you get a chance, take a look at the book "termcap and terminfo" from o'reilly. It's got a bunch of other odd ball items that one wouldn't even dream about. But even if you still want to avoid using curses in it's entirety, there's several functions that are defined in the curses library for grabbing various items out of termcap / terminfo, such as the "bugs" for each terminal type and escape sequences for the various cursor positioning commands. And, since you're likely to define a number of string variabls / functions such as "clear_screen" and "move_cursor", you might as well use the already-written tools that handle this for you -- even if you aren't using any of the UI elements from curses.
Well, for Windows servers that may work, but not on Unix type servers. Here's why. The system clock (which isn't the same as the CMOS real-time clock) is set to UTC. Whenever an app requests the time, it is returned to the app in UTC. The app then calls a localtime() function to convert UTC to whatever the local time is, by refering to the appropriate timezone table. However, some apps will record time in log enteries using UTC (and do the conversion when the log is displayed), others will store time stamps using local time. Now, let's say your server is set to CST6CDT (or Chicago time, etc). If you change your server's UTC time to be off by one hour to compensate for 3 weeks, then the apps that record time stamps using UTC will be off. If not, then the ones recording using localtime will be off. Doesn't seem like a big deal, unless you happen to be in a regulated industry that requires accurate log information. Or consider a call center, they aren't allowed to call people after after a certain time, and can get fined if their auto-dialers don't know what the real local time is (and not just telemarketing call centers, bill collection centers also).
Well, you might like 2e then, esp. once I add some object oriented capabilities to it. I designed it to be super simple (it is mostly just an expression evaluator), yet flexible enough. Currently only interpreted, but I may eventually code up a compiler for it (most likely using C as the intermediary language).
Actually, a zero-day exploit is an exploit (piece of attack code) that is making use of a previously-undiscovered/undisclosed security vulnerability. Contrast this to freshly discovered security holes that don't have any exploits written for them yet (which is most security announcements), and exploits that have been written to take advantage of previously known security holes.
As far as parsing user defined operators, the way I'm planning on solving it once I add it to my language (lang2e.sourceforge.net) is to have a patern match operator, such as "&numB", where num is replaced by a numeric value, "B" means it is a binary operator (others would be H or T for prefix / postfix unary operators). Then you define an alias at the top of your code, possibly using a preprossor directive. So the C++ equiv for the previous post's example would be "#define.= &1B", so every instance of.= is replaced by &1B before going to the parser. The parser then knows that the pattern &numB is a binary operator, with a user defined handler. Of course, I've got a little ways to go on my interpreter before I can get to this stage (i.e., I need to introduce structures and object tags first, but that is a job for next week). Also, need to work on this format a bit, so that it can represent precedence (unless I deside to always assume highest or lowest precedence).
But they could ship the dynamic versions, and store them in their own app directory. Then use LD_LIBRARY_PATH, or LD_PRELOAD, or even use dlopen().
Also, even open source apps have that issue, when you are downloading pre-built packages. MythTV is an example (of coures, it is an unfair example as it is still considered beta). I would rather download one RPM that has the needed shared libraries in a private directory or have most of them statically compiled in this case. That way it would be easy enough to make one package that works on multiple os distros (one rpm should work with rhel / centos 3.x, 4.x, fedora core 4, 5, 6, for example).
The $30 plan is for full nat'd internet (only a copule port restrictions_ and t-mobile hotspots. They used to have a seperate internet only plan for $20, but recently combined them into the one $30 plan.
However, you can sign up for the Blackberry data plan (go on the my.t-mobile.com page, and select a blackberry as your phone model). The blackberry plan is $20, and gives the same internet as the old $20 internet-only (no hotspots) plan.
Another option (that I use) is to stick with the $5.99 plan and use my own phone (non-branded Motorola a780). I've got my home system set up with a proxy so that I can use things like google maps without problems. Also, instead of opera mini, this phone has the full arm linux version of opera included.
That what I was refering to. Since both Sirius and XM were in a bidding war, they have to pay a higher premium to carry the exclusive contract. If they both merge, then they can go to NFL / MLB and get a lower price for the content, since there is no one else bidding up the price. Therefore their costs are lower, and they won't have to raise prices to the end consumer.
Yes, you can buy an unlocked phone, but you'd have to make sure it works with the carrier you'd want to use it on. This works best with GSM phones cause of the sim card (the carrier is not involved with you switching phones). However, non-gsm carriers have to be involved to activate your phone, and ones like Sprint won't turn on any phone that wasn't sold through them.
Also, unless you get an expensive pre-paid phone service, you are still stuck with a 2 year contract. And you don't get a discount on the contract if you bring your own phone, so you might as well get their "free" phone.
But that also works in the opposite direction. Since they both wanted exclusive contracts, then the NFL was able to charge a premium. Now that they can't get the two companies into a bidding war, the price should go down.
But what if it just doesn't get any cheaper? If star travel remains a trillion dollar effort regardless of how far you advanced technologically. What determines the cost of something? The cost of the materials, plus the cost of the labor to assemble the materials. Material cost is driven by supply/demand, or in cases of high supply and low demand, the cost is that of the labor and resources needed to extract those materials.
So, three things would have to happen before that trillion-dollar starship becomes almost free. First, fully developed automated manufacturing. We are close to this now -- how much of modern items is almost all done by machine? Second item, would be increased supply of raw materials to feed into those machines. This is where asteroid belt / ort cloud mining comes in. Third item is energy. In space based manufacturing, unlimited energy can come from the sun.
Once the process is bootstrapped, then what you have is automated robotic manufacturing units that collect raw materials from space bodies, use them to fabricate items such as structural steel and solar power conversion devices. From there, other automated devices can assemble the results into either additional manufacturing units, or into space colony vessels. Now you have something that is being produced for no cost (no human labor involved, decreasing capitol costs due to self-replicating builders, etc). As for propulsion technologies, we already know how to make antimater, but in minute quantities and large energy expenditure. One thing I've read about is that it should be possible to station automated factories close to the sun for power collection. Theoretically, an antimater propulsion system would mostly save on fuel weight, so it would make it more realistic to accelerate a vessel at 1g for a long period of time.
The definition of an operating system I like to use is:
An OS is a collection of code that is used by software to manage access to system hardware via a well defined API, along with a collection of standardized utilities that provide for user access and management of system hardware and data structures and data streams associated with that hardware.
So, under this definition, the kernel is a peice of the OS, disk access utilities are part of the OS, but applets such as a mini word processor and paint program are mearly bundled utilities.
I had the same problem with a generic pc. The machine was plugged into a surge protector, and the wall outlet had a faulty ground connection. Cheap surge protectors will dump about 20 - 40 volts to it's ground connection in that instance (which is then transfered to the system case). Therefore, you'd get a shock when touching the system and the thinnet cable (which was earth-gounded on one end in accordance to specs).
In some states in the US, there is a distinction between "ignorance of the law" and "ignorance of the facts". In your receiving stolen goods example, if a person had no reason to believe that the goods were stolen then there is no charge (althought the goods would still be forfieted). For example if you bought a plasma tv at Walmart that ended up in their supply chain via a crooked vendor then you wouldn't be charged with any felony. However, buying the same plasma tv out of the back of someones van for $50.00 could land you in hot water because a reasonable person should conclude that the merchandise was stolen property (the low price, the circumstances of purchase, etc).
So, if the same principle were to be applied, then this schoolmaster shouldn't have been charged since he aquired the equipment from a seemingly legitimate source. Of course, now we've blended UK, US, and Russian law all in one discussion.
I've thought of this before also, and came to the conclusion that (unless someone is colorblind) everyone does preceive colors the same way. The reaseon: consistant emotional reaction to various colors. Now some of these reactions can be explained by association -- red is "hot" because fire is red, and blue is "cold" because of ice, and skin turns blue when cold. But there are certain colors that most people will consider ugly, and certain ones that most will agree as soothing. And there are common accepted notions of which colors "match" or "go together".
Business networks can also get away with busting open ssl traffic. Since they control the browsers on their network, they can push out their own cert to everyones browser, then do a man-in-the-middle attack and re-sign the packets using their key (which everyone's browser would blindly accept, since the company's cert is in the browsers trust CA list).
Of course, this won't work if a user installs their own browser (in that case, the user would see a popup window saying the cert isn't valid).
There was a discussion (almost a flamefest) on the mailing list about wifi. Here's the summary. Sean wanted to make sure the device was completely open (excepting the GSM stack, which runs on a seperate processor). There were no low-power wifi chips that had open drivers that he could find. The chip used in the one-laptop-per-child project might be a good candidate however, but at any rate it will have to wait till the next hardware release.
As far as wifi being useful on a phone -- yes, the project leaders agree that it can be useful, however at this stage of the game it shouldn't be a showstopper for several reasons.
1) It has bluetooth, which can do wireless networking. Just not as long range (but much less power).
2) To use wifi for voice, you most likely have to be at home (in which case you can use a cordless phone plugged into your sip gateway). Why only at home? Well,
3) Most public hotspots are hooked up with an Adsl conneciton, which typically means a 128k or so upstream. So at most, only one or two people can use it per hotspot. Great if only the "geeks" use it, but not so if it ends up becoming mainstream.
4) Call handoff (between wifi and gsm) will need support from the carrier. Some carriers are experimenting with this, in conjunction with certain phones such as the Nokia N80 (?) which has a wifi chip in it. They call this service level UMA (unlicensed mobile access). However, if you don't need middle-of-the-call automatic handoff when you leave wifi range, you can have the dialer software try a sip connection prior to attempting gsm. But inbound calls will need to go through an alternate number (i.e., hooked up to your asterix server) that then forwards the call to either your sip line, or your gsm connection if the phone can't be found via it's ip address.
No one is denying that it would be a nice feature to have, but everyone has their pet feature and there isn't enough room to include all of them. But for a wifi alternative, you can use an alternate firmware on certain wifi access points that have usb ports on them, and plug in a usb bluetooth adapter for bluetooth networking.
The other way is to take over your HOA. It helps if you are in a smaller subdivision (100 houses or less), with a more moderate average household income (most of the neighbors would be too busy working to worry about the HOA).
Then, make friends with a bunch of neighbors that are like you, and run for a board position. Try to get some of the friendly neighbors to run also. Usually the board meetings & elections aren't well attended (all you need is a quarum of 20% of the households), and make sure all your friends attend the election (in stealth mode). Bingo, you get elected to the board, and can make all the changes to the association rules you want.
The final blow is to add language that restrictions can be removed easily, but no more restrictions can be added without a super-majority approval, and only after 12 months worth of debates. Problem solved.
So what you're asking for is a board that has pcmcia / pc card / expresscard slots, instead of the standard ones? According to the article, the dtx standard specifies an expresscard slot, but it would be nice if multiple ones were spec'd (along with pc card).
What would be even nicer, though, is an open laptop specification. I want to be able to get a laptop shell and fill it with off-the-shelf components, or put a laptop motherboard / power supply in a micro-sized desktop case.
It will be compatible with ATX cases, however the main purpose is to provide a standardized form similar to those small Shuttle boxes, or "Book PC" boxes. Neither of those two are standardized, so this should hopefully go a long way to getting more small form factor boxes out there.
But in the Solaris case, I was able to download the new timezone files from ftp://elsie.nci.nih.gov/pub/tzdata2007a.tar.gz and extract the contents (the only file I needed was northamerica), and ran "zic northamerica" -- all was taken care of.
The simple fix for this is to edit the rc script that starts syslog, and have it "export TZ=UTC && syslog"; then all the syslog entries will be in UTC.
It's nice to see another language designer on here. I've recently released my pet project on sourceforge, called 2e (as in two e's, or ee, which stands for expression evaluator). Feel free to grab any ideas / code from it -- currently it is mostly just an expression evaluator, but it supports function calls (built-in and user-defined), and it supports an inline conditional like C, plus an iterative inline conditional -- so it can get by without an if/else or while/do statements.
But the code is designed to be embeddable, and if you want to you can rip apart the expression evaluator and integrate it into other interpreters.
Actually, some terminals will leave the cursor at column 80, and only advance to the next line after another character is output; others will put the cursor at column 1 of the next line immediately after a character is placed at column 80. Why does this matter? Well, if you output a character on column 79, then a cr/lf, you'll get the next output at the beginning of the next line, where you expect it. But if the last output was at column 80, then followed by a cr/lf, then some more text, on some terminals you'll get an extra blank line inbetween (the second case), and other terminals will not (the first case).
This has more to do with if the terminal performs an automatic cr/lf after a character is placed in column 80 (see previous point). The "raw" output you're probably thinking of is yet another layer, but that is actually in the host's tty driver (stty settings), and is independant of the terminal itself.
Many terminals only supported their native escape sequence set, up until the last 10 years or so. But chances are that there are very few of those left in service. There are, however, certain functions that a lot of terminals supported that aren't in the ANSI list, such as "screen protect". This is a mode where you can define some of the text on screen as "protected" (this would usually be components of an input form); when a "clear screen" is issued, the "protected" components would remain on screen so you can easily clear the form data without having to redraw the form itself. Televideo and I believe Wyse terminals are a couple examples of this.
The wonderful thing about standards is that there are many to choose from, and even more ways to interpret them. The largest problem you'll run across is what was mentioned in points 1 and 2 above, how the terminal handels scrolling after a character is placed in the last column. If you get a chance, take a look at the book "termcap and terminfo" from o'reilly. It's got a bunch of other odd ball items that one wouldn't even dream about. But even if you still want to avoid using curses in it's entirety, there's several functions that are defined in the curses library for grabbing various items out of termcap / terminfo, such as the "bugs" for each terminal type and escape sequences for the various cursor positioning commands. And, since you're likely to define a number of string variabls / functions such as "clear_screen" and "move_cursor", you might as well use the already-written tools that handle this for you -- even if you aren't using any of the UI elements from curses.
Well, for Windows servers that may work, but not on Unix type servers. Here's why.
The system clock (which isn't the same as the CMOS real-time clock) is set to UTC. Whenever an app requests the time, it is returned to the app in UTC. The app then calls a localtime() function to convert UTC to whatever the local time is, by refering to the appropriate timezone table. However, some apps will record time in log enteries using UTC (and do the conversion when the log is displayed), others will store time stamps using local time.
Now, let's say your server is set to CST6CDT (or Chicago time, etc). If you change your server's UTC time to be off by one hour to compensate for 3 weeks, then the apps that record time stamps using UTC will be off. If not, then the ones recording using localtime will be off. Doesn't seem like a big deal, unless you happen to be in a regulated industry that requires accurate log information. Or consider a call center, they aren't allowed to call people after after a certain time, and can get fined if their auto-dialers don't know what the real local time is (and not just telemarketing call centers, bill collection centers also).
Well, you might like 2e then, esp. once I add some object oriented capabilities to it. I designed it to be super simple (it is mostly just an expression evaluator), yet flexible enough. Currently only interpreted, but I may eventually code up a compiler for it (most likely using C as the intermediary language).
Actually, a zero-day exploit is an exploit (piece of attack code) that is making use of a previously-undiscovered/undisclosed security vulnerability. Contrast this to freshly discovered security holes that don't have any exploits written for them yet (which is most security announcements), and exploits that have been written to take advantage of previously known security holes.
As far as parsing user defined operators, the way I'm planning on solving it once I add it to my language (lang2e.sourceforge.net) is to have a patern match operator, such as "&numB", where num is replaced by a numeric value, "B" means it is a binary operator (others would be H or T for prefix / postfix unary operators). Then you define an alias at the top of your code, possibly using a preprossor directive. So the C++ equiv for the previous post's example would be "#define .= &1B", so every instance of .= is replaced by &1B before going to the parser. The parser then knows that the pattern &numB is a binary operator, with a user defined handler.
Of course, I've got a little ways to go on my interpreter before I can get to this stage (i.e., I need to introduce structures and object tags first, but that is a job for next week). Also, need to work on this format a bit, so that it can represent precedence (unless I deside to always assume highest or lowest precedence).
But they could ship the dynamic versions, and store them in their own app directory. Then use LD_LIBRARY_PATH, or LD_PRELOAD, or even use dlopen().
Also, even open source apps have that issue, when you are downloading pre-built packages. MythTV is an example (of coures, it is an unfair example as it is still considered beta). I would rather download one RPM that has the needed shared libraries in a private directory or have most of them statically compiled in this case. That way it would be easy enough to make one package that works on multiple os distros (one rpm should work with rhel / centos 3.x, 4.x, fedora core 4, 5, 6, for example).