Despite some harsh words about Tcl, Tcl is alive and well in certain GNU projects, including one of the more prominent GNU projects - GCC, the GNU Compiler Collection. GCC's test suite is run with the DejaGnu testing framework, which written in Tcl. So the next time you use gcc to compile code, be assured that Tcl has helped to make your executable run as you coded it.
SQLite is actually very fast and capable of handling large amounts of data, but you do have to be careful to optimize your queries. SQLite doesn't do much query optimization for you, and can make a huge difference in execution. Fortunately, it's not hard to optimize SQLite queries. The pitfalls are documented (if you bother to RTFM), and tools exist to help find the dogs.
I personally built a custom ELT solution using SQLite, where the database grew up to 45gb in size. I also ran benchmarks using other database engines, including MySQL and PostgreSQL. SQLite was 2x faster than MySQL for my use.
If SQLite is ever anything but screaming fast, you either need to a) add appropriate indexes, or b) re-order your queries.
IANAL, so who ever IS a lawyer can comment further.
The Uniform Commercial Code (UCC) http://www.law.cornell.edu/ucc/ucc.table.html governs credit card transactions as well as checks, loans, etc., and defines a signature as ... a signature may be made (i) manually or by means of a device or machine, and (ii) by the use of any name, including a trade or assumed name, or by a word, mark, or symbol executed or adopted by a person with present intention to authenticate a writing. (UCC 3-401). A
writing is further defined as ... printing, typewriting, or any other intentional reduction to tangible form (UCC 1-201).
Any mark, whether or not it is your actual name in your own handwriting, constitutes a valid signature. You can sign your name, someone else's name, an X, or draw cute pictures - all are
legal and valid. Even the bits tranferred on those touch sensitive screens would be a 'reduction to tangible form', as long as you intended it to be your signature.
Under these definitions, any of the 'prank' signatures that the author signed are in fact legal, valid signatures.
Convincing the average (err, below average) store clerk that the words 'Not Authorized' or 'Daffy Duck' are your signature is quite a different matter.
ETLinux replaced init several years ago with an entirely scripted version. Different scripting engine (Tcl instead of Python) and for different reasons (keeping an embedded Linux kernel tiny.)
Making this happen was that the ETLinux folks... added Tcl equivalents for some common syscalls and services: sys_dup, sys_exec, sys_fork, sys_kill, sys_nice, sys_pipe, sys_reboot, sys_sync, sys_wait, sys_chmod, sys_umask, sys_mknod, inp, inw, outp, outw, setleds, mount, umount, uudecode, uuencode, time, ifconfig, route, udp. The introduction of these commands allowed the rewrite of the initialization scripts in pure Tcl, avoiding the inclusion of large binary programs.
If they added raw IP support in the core TCL libs, so others could write UDP and whatnot libs around that in pure tcl, life would be perfect in the TCL world.
There is an extension for raw packets: pktsrc http://qacafe.com/pktsrc.htm
I would like to see native UDP support, but I can live with an extension for ICMP.
When I hear comments like that, I'm only impressed that the author is one who couldn't program his way out of a wet paper bag. There is such wealth of examples of other programmers doing interesting and useful projects with Tcl - to claim otherwise lays blame at the authors feet, not the language. Of course this is true for languages beside Tcl, too.
Most of the Tcl criticisms I've read from others are based around a) not actually learning the Tcl language before using it, or b) expecting it to be more like some other language (which it isn't).
Get to know your fax machine! Classic geek examination of this device, from the TV series "The Secret Life of Machines".
http://www.secretlifeofmachines.com/secret_life_of_the_fax_machine.shtml
Watch the video: http://qt.exploratorium.edu/ronh/SLOM/SLOM_0301-The_FAX_Machine.m4v
Despite some harsh words about Tcl, Tcl is alive and well in certain GNU projects, including one of the more prominent GNU projects - GCC, the GNU Compiler Collection. GCC's test suite is run with the DejaGnu testing framework, which written in Tcl. So the next time you use gcc to compile code, be assured that Tcl has helped to make your executable run as you coded it.
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/README?view=co
http://www.gnu.org/s/dejagnu/
SQLite is actually very fast and capable of handling large amounts of data, but you do have to be careful to optimize your queries. SQLite doesn't do much query optimization for you, and can make a huge difference in execution. Fortunately, it's not hard to optimize SQLite queries. The pitfalls are documented (if you bother to RTFM), and tools exist to help find the dogs.
I personally built a custom ELT solution using SQLite, where the database grew up to 45gb in size. I also ran benchmarks using other database engines, including MySQL and PostgreSQL. SQLite was 2x faster than MySQL for my use.
If SQLite is ever anything but screaming fast, you either need to a) add appropriate indexes, or b) re-order your queries.
This group http://eoss.org/ has been doing this sort of thing for some time, check out their lastest flight http://eoss.org/ansrecap/ar_100/recap90.htm.s of good info at this site.
Lot
The Uniform Commercial Code (UCC) http://www.law.cornell.edu/ucc/ucc.table.html governs credit card transactions as well as checks, loans, etc., and defines a signature as ... a signature may be made (i) manually or by means of a device or machine, and (ii) by the use of any name, including a trade or assumed name, or by a word, mark, or symbol executed or adopted by a person with present intention to authenticate a writing. (UCC 3-401). A
writing is further defined as ... printing, typewriting, or any other intentional reduction to tangible form (UCC 1-201).
Any mark, whether or not it is your actual name in your own handwriting, constitutes a valid signature. You can sign your name, someone else's name, an X, or draw cute pictures - all are legal and valid. Even the bits tranferred on those touch sensitive screens would be a 'reduction to tangible form', as long as you intended it to be your signature.
Under these definitions, any of the 'prank' signatures that the author signed are in fact legal, valid signatures.
Convincing the average (err, below average) store clerk that the words 'Not Authorized' or 'Daffy Duck' are your signature is quite a different matter.
Sorry, mistyped the url for the scripted version of init.
ETLinux replaced init several years ago with an entirely scripted version. Different scripting engine (Tcl instead of Python) and for different reasons (keeping an embedded Linux kernel tiny.)
... added Tcl equivalents for some common syscalls and services: sys_dup, sys_exec, sys_fork, sys_kill, sys_nice, sys_pipe, sys_reboot, sys_sync, sys_wait, sys_chmod, sys_umask, sys_mknod, inp, inw, outp, outw, setleds, mount, umount, uudecode, uuencode, time, ifconfig, route, udp. The introduction of these commands allowed the rewrite of the initialization scripts in pure Tcl, avoiding the inclusion of large binary programs.
Making this happen was that the ETLinux folks
More on ETLinux architecture here.
If they added raw IP support in the core TCL libs, so others could write UDP and whatnot libs around that in pure tcl, life would be perfect in the TCL world.
There is an extension for raw packets: pktsrc
http://qacafe.com/pktsrc.htm
I would like to see native UDP support, but I can live with an extension for ICMP.
When I hear comments like that, I'm only impressed that the author is one who couldn't program his
way out of a wet paper bag. There is such wealth of examples of other programmers doing interesting and useful projects with Tcl - to claim otherwise lays blame at the authors feet, not the language. Of course this is true for languages beside Tcl, too.
Most of the Tcl criticisms I've read from others are based around a) not actually learning the Tcl language before using it, or b) expecting it to be more like some other language (which it isn't).