A regex is a type 3 grammar. Type 3 grammars haven't really changed since Chomsky's time.
The smartarses will now proceed to point out that
a) Perl is actually...
... using the phrase "regular expression" to describe something quite different that "the stuff that's computationally equivalent to a finite state machine" or "the kind of thing Kleene worked on"; imprecise, but most people know what you mean when you say it.
According to http://story.news.yahoo.com/news?tmpl=story&u=/eo/ 20020709/en_movies_eo/10217, "Petersen says he will temporarily shelve his other Warners projects--the epic Trojan War and an adaptation of Orson Scott Card's sci-fi novels Ender's Game and Ender's Shadow--and will begin working on Superman vs. Batman."
Here's one: Major insurance company seeks mid-level programmer. Requires... minimum 10 years experience developing in C/C++ and Java
(sarcasm) Ten years experience developing in Java? No problem! I've been developing in it for twenty years! In fact, I've been developing in it since before the language's designers were born! (/sarcasm)
Honestly, I think the current position descriptions attract, not those best able to do the job, but the best able to lie sincerely and convincingly.
I have an account I purchased from spamcop.net. I never used the email address onything [sic.] (i've never even checked it) and it's bounsing [sic.] spam every day.
Please clarify: Are you praising SpamCop because it's successfully bouncing so much spam? Or are you complaining because you're getting spammed without even using the SpamCop address?
(I'm seriously considering upgrading from the free reporting service to a paid account with a SpamCop address, so I'm very interested in users' experiences.)
So I can buy two Intel Pentium III Xeon CPUs at 0.7 or 0.9 GHz (which will likely not scale linearly, and thus will not give me twice the power of just one of those chips); or I can buy one Pentium IV or AMD Athlon at twice the effective clock speed and a much cheaper motherboard, etc. (Heck, I can buy an Intel Celeron at 1.7 GHz!)
There has been a stunning turn-around in dual-processor systems. In early 2001, most Intel processors were dual-capable, SMP Intel motherboards were widely available inexpensively, and AMD had no dual-processor solution at all. Now, the situation is almost exactly reversed. Intel's mainstream processors, the Pentium 4 and Celeron, are no longer dual-capable. If you want to run dual Intel processors, your only real choice is the obsolescent and hard-to-find Pentium III or the expensive Xeon, and Intel no longer manufactures mainstream dual processor motherboards. Conversely, all mainstream AMD processors (prior to the Athlon XP/MP silliness) are dual-capable, and inexpensive motherboards based on the excellent AMD760MP and AMD760MPX chipsets are widely available.
Scelson is unapologetic about sending (spam). To him, Internet e-mail is just another vehicle for advertising - like billboards, newspapers and the sides of buses.
... he said, as he prepared to spray-paint billboards, post his own signs over the ones the bus companies agreed to run, and to hack into the newspapers' typography software to run his ads instead of the ones accepted by the papers.
Somewhere out there is a young woman (probably in her late teens by now) named Xyzzy. Her name is pronounced "ZY-zee," and actually sounds rather feminine.
And also ...
on
Built For Use
·
· Score: 3, Insightful
Before companies sink millions of dollars into the development of yet another annoying and impossible-to-use Web site, they need to ask themselves:... Are the customers' computers fast enough to download all of the relevant material?
And is the typical customer's bandwidth, even on a bad day, fast enough blah blah? (I saw one "interactive online service" which was prototyped by pulling information off a local CD. Surprise; it didn't make it to production. Not long afterwards, around 1996, I went on an interview where I would have been a manager in a very nice office with a window. My prospective boss tried to demo the site over a 10 Mbps LAN. The interview finished before the first page did. I let him know not to call me.-)
Are the customers savvy enough to find their way to the cash register?
More to the point, is the cash register findable? And can you use it without doing stupid stuff? (If you're selling me something, all you need is a method of payment, a billing address, and a shipping address. I shouldn't need an account or a password, though you're welcome to offer me one if you show me the benefits -- to *ME* -- of having one.)
...you don't deep-nest the caching, so that following any links on a cached page will lead to the original (probably broken) site, instead of to another cached page.
Check out the Google Toolbar (for IE only, alas)-, which adds a "Cached Snapshot of Page" item to the right click menu. Very, very cool.
Many sites, when referenced by Slashdot, crumble under the load. Can you folks see any difference, either to your "main" servers (www.google.com) or your cache servers?
My experience has shown that the number one way to find defects is code reviews performed by other developers who can read the code and also understand the intended functionality.
Violent agreement, for the following reasons:
Study after study has confirmed: Code reviews find more defects, per staff hour, than any other activity, including all kinds of testing.
Aside from that, the benefits of having more than one person aware of each change to the code are significant. If George is sick, or quits, or wants to go on vacation, it's not just George who can make the next change.
Naming issues only arise if the two are in the same market and could be confused.... Given that "Lilo" in "Lilo and Stitch" [is a] cartoon character, and "LILO" is a program, I don't think there will be many problems.
I concur. (Example: Quattro the automobile and Quattro the spreadsheet.)
I've got to wonder, though: Linux hackers work on a movie with a major character named "Lilo"... named after the software, perhaps? Coincidence? Probably, but fun to speculate about.
The biggest problem is that testing a piece of code is guaranteed to be fairly rudimentary. No programmer can come up with test cases to push all of buttons in all possible combinations.
No amount of exhaustive testing can cover all possibilities. On the other hand, people who use xUnit (JUnit, CppUnit, etc.) believe they can test all the piece parts. The pieces may not work together; but they surely won't work together if the individual pieces don't work right!
More than that, there's a belief (justified or otherwise; I've got an open mind and want to get some experience before I take a stand) that xUnit allows the programmers to write the tests before writing the code, and that this "test first development" or "test driven development" leads to well designed code. (Kernighan and Pike suggest something similar in The Practice of Programming, but don't take it that far.) Interesting idea, at the very least.
The Extreme Programming movement came largely from the Smalltalk community, right about the time that community faced up to the face that VB and Java had pretty much cornered their former market. Java may have syntax like C++, but its semantics are surprisingly close to Smalltalk's; the migration started long ago. Most Extreme Programming projects (and books) are Java-based these days. (This crowd's second most common language is probably Ruby.)
I don't understand why people give two different things (Extreme Programming...whatever the hell that is) and (Windows) XP the same name. Perhaps EP would be better for the former?
Fair enough; except that Extreme Programming was called XP before Microsoft announced the name of their latest operating system. Since then, AMD has used XP to refer to a new line of CPUs. The only good news is, it's rare for them to be confused with each other (though the headline for this review is a notable exception).
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License
Right; but if you distribute it to anyone, including co-workers, you must respect:
we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights... Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
So if you want to restrict the recipients' right to redistribute, even if they're covered by employment or non-disclosure agreements, you are not allowed to distribute GPL or GPL-based software to them.
If my employer makes a change to gcc, and lets me use the binary, then my employer cannot restrict me from grabbing the source and posting it on the Internet. Was my employer to do that, they'd immediately lose the rights (to modify and redistribute the software) they were granted under the GPL.
(The usual way of saying this is, "They'd have to GPL their software"; which is not true, though it's the only way they could keep their redistribution rights.)
On my previous assignment, a large embedded project (millions of lines of code, hundreds of developers at its peak) was done with gcc/g++. On my current assignment, I'm developing software for Solaris 8, using Purify to help test it, keeping it under source control with ClearCase (so no fear of commercial software development tools)... but compiling with gcc.
We are creating large Flash files and CVS is having problems keeping everything straight. It apparently doesn't like the large file sizes.
CVS (and the underlying RCS files) can't effectively store diffs for binary files.
Still, a binary file is a binary file; so why not keep compressed versions of your files under source control? If you have something like a makefile, have it generate a (read only!) copy of the uncompressed file as necessary. Provide an editing script that (1) uncompresses, (2) launches the editor of your choice, (3) detects when the uncompressed version hasn't been updated (and bails out of the previous steps), (4) recompresses, and (5) either removes or touches the uncompressed version (I haven't thought this through too carefully).
You'll cvs rm the uncompressed version. The old versions will still live in the repository if you need them. (You'll also get some immediate gain from using smaller,v files, especially at first.)
CVS is remarkably good for cross platform source control for Ascii files. I used it for four years in a Solaris / HP / Windows environment; good stuff.
I second the recommendation for Cygwin; good stuff.
The next time you upgrade your Cygwin installation (run setup.exe again), also pull down the keychain tool. It's a wrapper around ssh-agent, so you only have to enter your passphrase once per session.
Try
ssh -l userhostnamecommand
to ensure you really can run commands remotely. env is a good one; it'll also let you check your PATH on the remote machine:
ssh -l userhostname env | egrep '^PATH='
If cvs isn't in one of the listed directories, set the CVS_SERVER environment variable to the full path name of the cvs command on the server:
CVS_SERVER=/opt/cvs/bin/cvs
Your error message suggests you might be getting some extra cruft as part of the rsh output. That usually means a wordy.profile (or similar) file; hack it until it's silent (e.g., until the env command above only shows environment variable settings and nothing else).
If you think the problem is ssh-related, try:
CVS_RSH='ssh -v -v -v'"
(perhaps with fewer -v options). You may need to wrap that in a shell script. (Good thing you got bash as part of Cygwin, isn't it?)
That's right; if you write a program that runs on all computers out there, you'll have problems with all those computers being able to communicate with each other.
Check out this story: Between 19 and 60 theaters could show ATTACK OF THE CLONES with digital projectors, but of them, none in Southern California had yet booked the movie. (We'll see if that stands. Remember the "no Sony theaters will show Episode I" rumor from three years ago?)
According to http://story.news.yahoo.com/news?tmpl=story&u=/eo/ 20020709/en_movies_eo/10217, "Petersen says he will temporarily shelve his other Warners projects--the epic Trojan War and an adaptation of Orson Scott Card's sci-fi novels Ender's Game and Ender's Shadow--and will begin working on Superman vs. Batman."
Honestly, I think the current position descriptions attract, not those best able to do the job, but the best able to lie sincerely and convincingly.
(I'm seriously considering upgrading from the free reporting service to a paid account with a SpamCop address, so I'm very interested in users' experiences.)
To quote Robert Bruce Thompson (Google cache) from the end of May:
All trademarks are held by their owners.
P.S.: It's very strange to type "0.9 GHz"!
Somewhere out there is a young woman (probably in her late teens by now) named Xyzzy. Her name is pronounced "ZY-zee," and actually sounds rather feminine.
More to the point, is the cash register findable? And can you use it without doing stupid stuff? (If you're selling me something, all you need is a method of payment, a billing address, and a shipping address. I shouldn't need an account or a password, though you're welcome to offer me one if you show me the benefits -- to *ME* -- of having one.)
You've got some incredibly cool peopleon your Technical Advisory Council. How often do you interact with them?
How do you balance load among the www.google.com servers? Do you guide users to local servers (such as www.google.co.uk)?
Many sites, when referenced by Slashdot, crumble under the load. Can you folks see any difference, either to your "main" servers (www.google.com) or your cache servers?
Study after study has confirmed: Code reviews find more defects, per staff hour, than any other activity, including all kinds of testing.
Aside from that, the benefits of having more than one person aware of each change to the code are significant. If George is sick, or quits, or wants to go on vacation, it's not just George who can make the next change.
I've got to wonder, though: Linux hackers work on a movie with a major character named "Lilo"
More than that, there's a belief (justified or otherwise; I've got an open mind and want to get some experience before I take a stand) that xUnit allows the programmers to write the tests before writing the code, and that this "test first development" or "test driven development" leads to well designed code. (Kernighan and Pike suggest something similar in The Practice of Programming, but don't take it that far.) Interesting idea, at the very least.
The Extreme Programming movement came largely from the Smalltalk community, right about the time that community faced up to the face that VB and Java had pretty much cornered their former market. Java may have syntax like C++, but its semantics are surprisingly close to Smalltalk's; the migration started long ago. Most Extreme Programming projects (and books) are Java-based these days. (This crowd's second most common language is probably Ruby.)
If my employer makes a change to gcc, and lets me use the binary, then my employer cannot restrict me from grabbing the source and posting it on the Internet. Was my employer to do that, they'd immediately lose the rights (to modify and redistribute the software) they were granted under the GPL.
(The usual way of saying this is, "They'd have to GPL their software"; which is not true, though it's the only way they could keep their redistribution rights.)
What he said.
... but compiling with gcc.
On my previous assignment, a large embedded project (millions of lines of code, hundreds of developers at its peak) was done with gcc/g++. On my current assignment, I'm developing software for Solaris 8, using Purify to help test it, keeping it under source control with ClearCase (so no fear of commercial software development tools)
Still, a binary file is a binary file; so why not keep compressed versions of your files under source control? If you have something like a makefile, have it generate a (read only!) copy of the uncompressed file as necessary. Provide an editing script that (1) uncompresses, (2) launches the editor of your choice, (3) detects when the uncompressed version hasn't been updated (and bails out of the previous steps), (4) recompresses, and (5) either removes or touches the uncompressed version (I haven't thought this through too carefully).
You'll cvs rm the uncompressed version. The old versions will still live in the repository if you need them. (You'll also get some immediate gain from using smaller
CVS is remarkably good for cross platform source control for Ascii files. I used it for four years in a Solaris / HP / Windows environment; good stuff.
And in case you didn't look:
http://www.google.com/search?hl=en&q=cvs+large+bi
http://www.google.com/groups?q=cvs+large+binary+f
Good luck!
I second the recommendation for Cygwin; good stuff.
.profile (or similar) file; hack it until it's silent (e.g., until the env command above only shows environment variable settings and nothing else).
The next time you upgrade your Cygwin installation (run setup.exe again), also pull down the keychain tool. It's a wrapper around ssh-agent, so you only have to enter your passphrase once per session.
Try
ssh -l user hostname command
to ensure you really can run commands remotely. env is a good one; it'll also let you check your PATH on the remote machine:
ssh -l user hostname env | egrep '^PATH='
If cvs isn't in one of the listed directories, set the CVS_SERVER environment variable to the full path name of the cvs command on the server:
CVS_SERVER=/opt/cvs/bin/cvs
Your error message suggests you might be getting some extra cruft as part of the rsh output. That usually means a wordy
If you think the problem is ssh-related, try:
CVS_RSH='ssh -v -v -v'"
(perhaps with fewer -v options). You may need to wrap that in a shell script. (Good thing you got bash as part of Cygwin, isn't it?)
... and if so, what will the overall approach be? Fine grained locks? Coarse grained locks? Something very different (perhaps like this)?
Check out this story: Between 19 and 60 theaters could show ATTACK OF THE CLONES with digital projectors, but of them, none in Southern California had yet booked the movie. (We'll see if that stands. Remember the "no Sony theaters will show Episode I" rumor from three years ago?)
I remember reading someone who went over HP's books, and concluded the printer consumables business was basically propping up the rest of the company.