Tee is rather helpful when building big pipelines of commands. It writes out what it gets on stdin to the console, while also sending it's input on to the next stage of the pipe line. It can also be helpful when you want to capture the output of some commands to a file, and get the output to console at the same time.
ps aux |grep dave |tee |awk {'print $1'}>daves-pids
The command above would show a listing of all processes listings that contain the string dave, and put all the pid's into a file.
There is quite a few reasons these languages are not more commonly used.
Lets take Z for example, Z is a specification language you state with a form of set notation what the program should do (not how). However no client can read and understand your specification so determining if it's correct is very difficult. You then do lots of design work about the how, there is no method to automatically move from the what to the how(VDM attempts to address this but it's still far from automatic). You then implement, and test your code. Then find out the spec is not exactly what the client wanted fix test and so on. This is a very long winded process slow process which in the end does not guarantee any thing.
Rapid prototyping in practice works a lot better you talk to your client get an idea of the data they wish to store and how they what to use it. Knock up some sample throw away screens to confirm with you client that you have understood what they meant, this stage gets repeated a few times. With reference to that, design data structures, and code tree, then implement and test. While all the time though you have the reference screens, and the ability to keep popping back to the client.
This method is faster, the client gets constant feed back of how their app is taking shape. The problem with formal methods is a limited number of people can understand them and they don't work that well in real situations. They consume a lot of time for very little piratical gain. Ask IBM how much software they developed using VDM and they invented it.
A lot of these formal methods are created by people who either can't program or have not done so for such along time they have no concept of how the industry works. They write their methods as an idealized version of how things should work and ignoring a lot of the human factor. There is always an in-built assumption that clients know what they want a system to do, or that the requirements can magically be divined by the people involved in the project.
Now I've managed to live on both side of the divide trying to get a job when having thus left Uni and hiring fresh Uni leavers.
In the UK the University does make a difference, firstly the Universities are selective on admission, the better Uni on average the better students. Secondly the better Uni teach a tougher course with more challenging modules.
There is also is the divide between the Ex-Polytechnics and the old Universities. The Ex-Polytechnics tend to teach more piratical causes e.g. Oracle instead of database theory, to start with the Ex-Polytechnic student can do more things with your db when you first hire them, however your more theoretical tourt student will take a little longer to start with but after that initial hump they a typically overtake the piratical student as they have more developed learning skills.
This whole post is full of sweeping generalisations but does represent a trend I've noticed over the last n years.
While I realy enjoy my job, I would not want to spend more time working with IT on the side. My jobs on the side are all ways none IT related. Play folk guitar, Call at Ceilidhs, it's nice to do a side job thats not your day job.
Speeking as a large Linux shop we don't use NFS, as with version 3 and below it's securty is more or less none existance, it basicaly trust's you based on your source IP. As many of the other networking systems where beta and not in the standard kernel, or unstable, or some other such problem, smbfs with all it's problems became the main file server protocol. Then UNIX extentions to smb made this alot easier. However with NFSv4 this is being reconsidered once again. I though I would let you know what an operational large Linux only network is using.
There is some very good documentation on gconf written from a sys admin point of veiw. And while the main web site does not scream about it existance is is there. http://www.gnome.org/learn/
The most usfull part of these docs it how it explains the way gconf merges the users own gconf files with the manditory settings and the defaults. Gconf from a sysadmins point of view is quite a usfull tool and allows a good degrede of control. Does KDE have a equivalent.
Societies evolve and change, just because a Society acted one way in the past does not mean it has to do so forever. The USA's predilection for gun's is a historical fact, however many so called certainties have changed as time went on. No body needs own a Gun, and the Idea that the citizens having Gun's could in some way stop a tyrant is laughable. There have been many countries that have been ruled by tyrants where the population have been armed, yet the tyrant reminded in power and the people reminded oppressed (Iraqies had and still have guns). The US could start the process of banning and destroying gun's, and while it may not effect gun crime straight away in time it would, and all processes must start some where. There is one thing you could be sure of banning and destroying gun's would not result, in more gun related deaths.
There is a time honored piece of Wisdom, those that do not learn from history are bound to repeat the mistakes of the past, and there is one word all Americans should learn from Columbine.
There are plenty of reasonse why this sort of CallerID behavour is not resonable for a telco to impliment (Fraud, Obscene Calls etc). Rightly or wrongly people trust callerid, and it is easy to re-educate a few telecos than the whole of the population at large.
As for technical problems you mentioned, the teleco could easierly assign an outbound CallerID to your calls even if the VoIP account is outbound only, or set an invalid callerid, letting you set the Callerid seams the most stupid of all the options. At the teleco Interconnect point Telecos should not send out callerid for number that is not in their number block.
Having tried to set my MSN (the outbound number) to an invalid number here in the UK (on a primary rate with 100 phone number mapped to it), the invaild caller ID simply got reset by the telco to the billing number of the line.
I guess in the states the Telcos must trust the equipment that connects up to the line to set the MSN connectly, hence being able to fake the Caller ID.
As for the privicy bit for callerid, in the UK (as far as I am aware, but I'll test this) only telecos are passed the CallerId+Flag (by telecos I means those with an Interconnect with other telecos and an NX2 license, but the licenses are being phased out), It's then the telecos job to strip out the CallerID and Flag before passing on the data to the customers line.
I'll give you a small bit of background about me so my comments can be taken in context. I'm one of those Techs that eventually became a board member, but due to the nature of of companies work I also deal a lot with MD's of other companies (I think their called CEO over the other site of the water).
MD's are just normal people they are generally not evil malevolent individual's determined to get you. This means when dealing with them normal social rules apply, such as be friendly, don't insult their intelligence by patronizing's them, however don't blind them with science. The reason they are there is to find I what you all think, so mix the problems/solutions with friendly chit-chat.
The distinct lack of any form condition branching operators etc (the features of a programming language ) means that HTML is not a programming language. With HTML you produce documents, not interpreted or executed code. Would you call someone who uses a word processor a coder ? While we are not the subject of word processing if any one here used a wp in the 80's it resembled writing html quite a lot.
Example from View (a bbc micro wp from the 80's)
&bold&13&red Hello all
The above could be roughly written as <b><font size=13 color=red>Hello All</font></b> in html, however these day I would not use view or indeed a wp like view I would use a WYSIWG wp, and I suspect that the people who are proposing the use of VI for web page design would use a WYSIWG wp over one like view any day. This argument has happened before with all the same arguments however WYSIWG won and it will again and we will look back at this argument and see how silly it was.
Speaking as an ISP, you bet we're are irritated. The number of calls about "why does this e-mail user not exist it did yesterday" have increased quite dramminacaly. Most users will however end up blaming the ISP as they just don't under stand the structure of DNS. It's ICANN that need's to take action to stop this, and take action quickly. For ICANN this is the ulimate test of if it serves a perpose or not, if they can't stop this then ICANN is effectively dead. European ISP will have to ask the question if the US Govements body can't stop problems like this, what can we do.
We've been using the Bynari Connector with Cyrus as the back-end, on our site for a last few months, and also two willing customers. Our experience has been quite good so far. The windows users (we run a mixing Windows and Linux desktop environment) have found the connector easy to use, as once it's setup outlook seems to run the same as it did before. They have also noticed some useful advantages, firstly for remote off-site access the Connector downloads e-mail so much quicker than Exchange and off-line folders 2-3 minutes rather than 30 (same volume of e-mails) also the connector provides allot more feedback about what it's doing than off-line folders. Secondly searching e-mails is allot quicker (this is not so much the connector but the fact that the connector make outlook use personal folders). The main disadvantage our windows users have noticed is what happens when someone renames a shared folder, what the connector does on most the windows PC's is create a new shared folder of the old name next time the connector syncs, thus each user ends up seeing two shared folders one with the old name and one with the new.
As for our Linux desktop (evolution as the mail client) users they now get the same shared folders as the Windows users and can share their own e-mail folders with windows users. We had tried getting the Linux users to use Exchange as their IMAP server to archive the same thing in the past but this did not work well at all (Exchanges IMAP connector is just to slow and tends to drop connections, also e-mail folder permissions can only be altered in Outlook). Certain outlook mail types can't be read by evolution (appointment and contacts) as they are in TNEF format, however it did not take too long to knock up a small shell application that can turn these attachments into VCARD, and VCAL files.
As tool for mixed environments the connector work reasonably well with a few workarounds (and certainly much better than getting Linux users to us Exchange as their IMAP server). In a pure Windows/Outlook environment it work extremely well, it's fast, and has had manly less minor failures than the Exchange 5.5 server it replaced (which suffered from the odd small db corruption, the occasional crash of the Internet mail connector when under heavy load), also we no-longer get problems with SMTP e-mail originating from the same lan as the exchanger server taking 15 mins to deliver on a random basis.
Tee is rather helpful when building big pipelines of commands. It writes out what it gets on stdin to the console, while also sending it's input on to the next stage of the pipe line. It can also be helpful when you want to capture the output of some commands to a file, and get the output to console at the same time.
ps aux |grep dave |tee |awk {'print $1'}>daves-pids
The command above would show a listing of all processes listings that contain the string dave, and put all the pid's into a file.
There is quite a few reasons these languages are not more commonly used. Lets take Z for example, Z is a specification language you state with a form of set notation what the program should do (not how). However no client can read and understand your specification so determining if it's correct is very difficult. You then do lots of design work about the how, there is no method to automatically move from the what to the how(VDM attempts to address this but it's still far from automatic). You then implement, and test your code. Then find out the spec is not exactly what the client wanted fix test and so on. This is a very long winded process slow process which in the end does not guarantee any thing. Rapid prototyping in practice works a lot better you talk to your client get an idea of the data they wish to store and how they what to use it. Knock up some sample throw away screens to confirm with you client that you have understood what they meant, this stage gets repeated a few times. With reference to that, design data structures, and code tree, then implement and test. While all the time though you have the reference screens, and the ability to keep popping back to the client. This method is faster, the client gets constant feed back of how their app is taking shape. The problem with formal methods is a limited number of people can understand them and they don't work that well in real situations. They consume a lot of time for very little piratical gain. Ask IBM how much software they developed using VDM and they invented it. A lot of these formal methods are created by people who either can't program or have not done so for such along time they have no concept of how the industry works. They write their methods as an idealized version of how things should work and ignoring a lot of the human factor. There is always an in-built assumption that clients know what they want a system to do, or that the requirements can magically be divined by the people involved in the project.
It's also not a power station it's a fuel re-processing plant.
In the UK the University does make a difference, firstly the Universities are selective on admission, the better Uni on average the better students. Secondly the better Uni teach a tougher course with more challenging modules.
There is also is the divide between the Ex-Polytechnics and the old Universities. The Ex-Polytechnics tend to teach more piratical causes e.g. Oracle instead of database theory, to start with the Ex-Polytechnic student can do more things with your db when you first hire them, however your more theoretical tourt student will take a little longer to start with but after that initial hump they a typically overtake the piratical student as they have more developed learning skills.
This whole post is full of sweeping generalisations but does represent a trend I've noticed over the last n years.
While I realy enjoy my job, I would not want to spend more time working with IT on the side. My jobs on the side are all ways none IT related. Play folk guitar, Call at Ceilidhs, it's nice to do a side job thats not your day job.
Speeking as a large Linux shop we don't use NFS, as with version 3 and below it's securty is more or less none existance, it basicaly trust's you based on your source IP. As many of the other networking systems where beta and not in the standard kernel, or unstable, or some other such problem, smbfs with all it's problems became the main file server protocol. Then UNIX extentions to smb made this alot easier. However with NFSv4 this is being reconsidered once again. I though I would let you know what an operational large Linux only network is using.
There is some very good documentation on gconf written from a sys admin point of veiw. And while the main web site does not scream about it existance is is there. http://www.gnome.org/learn/
The most usfull part of these docs it how it explains the way gconf merges the users own gconf files with the manditory settings and the defaults.
Gconf from a sysadmins point of view is quite a usfull tool and allows a good degrede of control. Does KDE have a equivalent.
Societies evolve and change, just because a Society acted one way in the past does not mean it has to do so forever. The USA's predilection for gun's is a historical fact, however many so called certainties have changed as time went on. No body needs own a Gun, and the Idea that the citizens having Gun's could in some way stop a tyrant is laughable. There have been many countries that have been ruled by tyrants where the population have been armed, yet the tyrant reminded in power and the people reminded oppressed (Iraqies had and still have guns). The US could start the process of banning and destroying gun's, and while it may not effect gun crime straight away in time it would, and all processes must start some where. There is one thing you could be sure of banning and destroying gun's would not result, in more gun related deaths.
There is a time honored piece of Wisdom, those that do not learn from history are bound to repeat the mistakes of the past, and there is one word all Americans should learn from Columbine.
There are plenty of reasonse why this sort of CallerID behavour is not resonable for a telco to impliment (Fraud, Obscene Calls etc). Rightly or wrongly people trust callerid, and it is easy to re-educate a few telecos than the whole of the population at large.
As for technical problems you mentioned, the teleco could easierly assign an outbound CallerID to your calls even if the VoIP account is outbound only, or set an invalid callerid, letting you set the Callerid seams the most stupid of all the options. At the teleco Interconnect point Telecos should not send out callerid for number that is not in their number block.
Having tried to set my MSN (the outbound number) to an invalid number here in the UK (on a primary rate with 100 phone number mapped to it), the invaild caller ID simply got reset by the telco to the billing number of the line.
I guess in the states the Telcos must trust the equipment that connects up to the line to set the MSN connectly, hence being able to fake the Caller ID.
As for the privicy bit for callerid, in the UK (as far as I am aware, but I'll test this) only telecos are passed the CallerId+Flag (by telecos I means those with an Interconnect with other telecos and an NX2 license, but the licenses are being phased out), It's then the telecos job to strip out the CallerID and Flag before passing on the data to the customers line.
I'll give you a small bit of background about me so my comments can be taken in context. I'm one of those Techs that eventually became a board member, but due to the nature of of companies work I also deal a lot with MD's of other companies (I think their called CEO over the other site of the water). MD's are just normal people they are generally not evil malevolent individual's determined to get you. This means when dealing with them normal social rules apply, such as be friendly, don't insult their intelligence by patronizing's them, however don't blind them with science. The reason they are there is to find I what you all think, so mix the problems/solutions with friendly chit-chat.
The distinct lack of any form condition branching operators etc (the features of a programming language ) means that HTML is not a programming language. With HTML you produce documents, not interpreted or executed code. Would you call someone who uses a word processor a coder ? While we are not the subject of word processing if any one here used a wp in the 80's it resembled writing html quite a lot.
Example from View (a bbc micro wp from the 80's)
&bold&13&red Hello all
The above could be roughly written as <b><font size=13 color=red>Hello All</font></b> in html, however these day I would not use view or indeed a wp like view I would use a WYSIWG wp, and I suspect that the people who are proposing the use of VI for web page design would use a WYSIWG wp over one like view any day. This argument has happened before with all the same arguments however WYSIWG won and it will again and we will look back at this argument and see how silly it was.
As every typo for .com .net results in a request on port 80, the thing is more or less under constant DOS any way.
Speaking as an ISP, you bet we're are irritated. The number of calls about "why does this e-mail user not exist it did yesterday" have increased quite dramminacaly. Most users will however end up blaming the ISP as they just don't under stand the structure of DNS. It's ICANN that need's to take action to stop this, and take action quickly. For ICANN this is the ulimate test of if it serves a perpose or not, if they can't stop this then ICANN is effectively dead. European ISP will have to ask the question if the US Govements body can't stop problems like this, what can we do.
We've been using the Bynari Connector with Cyrus as the back-end, on our site for a last few months, and also two willing customers. Our experience has been quite good so far. The windows users (we run a mixing Windows and Linux desktop environment) have found the connector easy to use, as once it's setup outlook seems to run the same as it did before. They have also noticed some useful advantages, firstly for remote off-site access the Connector downloads e-mail so much quicker than Exchange and off-line folders 2-3 minutes rather than 30 (same volume of e-mails) also the connector provides allot more feedback about what it's doing than off-line folders. Secondly searching e-mails is allot quicker (this is not so much the connector but the fact that the connector make outlook use personal folders). The main disadvantage our windows users have noticed is what happens when someone renames a shared folder, what the connector does on most the windows PC's is create a new shared folder of the old name next time the connector syncs, thus each user ends up seeing two shared folders one with the old name and one with the new.
As for our Linux desktop (evolution as the mail client) users they now get the same shared folders as the Windows users and can share their own e-mail folders with windows users. We had tried getting the Linux users to use Exchange as their IMAP server to archive the same thing in the past but this did not work well at all (Exchanges IMAP connector is just to slow and tends to drop connections, also e-mail folder permissions can only be altered in Outlook). Certain outlook mail types can't be read by evolution (appointment and contacts) as they are in TNEF format, however it did not take too long to knock up a small shell application that can turn these attachments into VCARD, and VCAL files.
As tool for mixed environments the connector work reasonably well with a few workarounds (and certainly much better than getting Linux users to us Exchange as their IMAP server). In a pure Windows/Outlook environment it work extremely well, it's fast, and has had manly less minor failures than the Exchange 5.5 server it replaced (which suffered from the odd small db corruption, the occasional crash of the Internet mail connector when under heavy load), also we no-longer get problems with SMTP e-mail originating from the same lan as the exchanger server taking 15 mins to deliver on a random basis.