I'm a long time user of Tcl. For me, the biggest strength of Tcl is it's C API. It's quite straightforward to implement extensions. That, and the people that were involved in the language early on are incredibly smart and creative.
I had the good fortune of working with Michael McLennan and George Howlett for a while (both mentioned in the referenced history).
Michael's "Effective Tcl/Tk Programming" is a fantastically written programming reference. He was a prolific creator of interesting applications and toolkits. I recall him creating a GUI for our boring corporate bug database where he added a points system to make fixing bugs "more fun".
George managed to avoid incrementing the version number on his BLT toolkit by appending letters of the alphabet to releases. I never did learn why. I just checked and I see he made it all the way to 2.4z!
Tcl and the Tk Toolkit by J. Osterhout is an old reference but very useful for getting started with the C API to Tcl including embedding an interpreter. The last 1/3rd of the book is on writing Tcl applications in C.
Also look at the the source files for the Tcl (tclsh) or Tk (wish) shells. They are fairly concise.
Tcl's C API is very pleasant to work with, and its C code is a good read - except for the regex stuff, which are the first few files you'd see in an alphabetical listing.
CLK Design Automation - Boston, MA or San Jose, CA (Full time)
Applied Mathematician
CLKDA is looking for a PhD level mathematician / Principal Software Engineer familiar with electrical simulation. We're working on efficiently modeling transistor variation at very low voltage and <= 20nm scale in the context of chip design. You'd be contributing to our core statistical circuit simulation engine and would need to be familiar with C++ and at least one numerical math library (open source or commercial). Bonus points if you have written or contributed to a SPICE simulator.
Our office is about 30 minutes outside of Boston close to the commuter rail stop in Littleton, MA.
CLKDA is the technology and market leader for advanced semiconductor timing and variance analysis. We are a rapidly growing small company, whose customers include the top three semiconductor companies in the world.
We are looking for a talented software engineer with deep electrical engineering and mathematics expertise to join our team. This position is focused on improving our fast circuit simulator. You will be responsible for developing mathematical concepts and coding them into efficient and robust production software using C/C++.
Skills that would stand out:
* Has a Phd in Applied Mathematics or Computer Science, and 5+ years experience,
or a MS with 10+ years experience
* Extensive C/C++ experience
* Knowledge of BLAS/LAPACK numerical math kernels as well as commercial
implementations such as (GOTO/MKL/ACML/etc). MKL and/or ACML are big pluses
* Experience implementing SPICE and SPICE-like simulators & algorithms
* Familiarity with BSIM-CMG or TMI a plus
* Experience with transistor/RC circuit analysis
* Experience with Mathematica for prototyping and experimentation a big plus
* Experience with multi-threading and distribution a definite plus
* Background in statistical methods
If any of the above is of interest please email ahran@clkda.com and I'll put you in contact with the right people or fill you in on the details of the position.
Your error looks like there might be an extra space after the line continuation (backslash) in the example.
The trace command is split in to 2 lines for readability but the web page's formatting introduced a hidden space if you try to copy/paste the example in to a tcl script.
Even if you go with the "it's not their data" argument Craigslist would seem to own the specific compilation of the data. I'd apply the same copyright principle as phone books or encyclopedias.
Craigslist invested in the infrastructure to enter, store, and display this information. They should be able to set their terms as to how it is used in aggregate.
the U.S. Supreme Court ruled that a compilation work such as a database must contain a minimum level of creativity in order to be protectable under the Copyright Act.
The Supreme Court (...) held that Rural's white pages are not entitled to copyright protection, since the white pages did not meet the statutory requirement for originality under 17 U.S.C. §102(a).
Cragslist is completely automated. There's absolutely no creativity involved.
Craigslist invested in the infrastructure to enter, store, and display this information. They should be able to set their terms as to how it is used in aggregate.
Unfortunately for them, "sweat of the brow" doesn't afford copyright protection in the US.
>Cragslist is completely automated. There's absolutely no creativity involved.
Whoa whoa whoa, the coding of the site didn't involve a species of creativity?
If you mean that the content of a posting didn't involve creativity on Craigslist's part, you'd be on firmer ground, but even there they made design decisions (however questionable...) about how to present it.
You're right, sweat of the brow is irrelevant, which is why it is irrelevant that their process is now automated. The copyrightable aspects are in the collection, selection, and presentation of data, which is not required by law to be performed manually.
It's relevant because it requires creativity; it's not automatically ruled out, but it makes it harder to claim.
In any case, Craigslist is completely unoriginal in its selection and arrangement of the data; the selection is "whatever people submit" and the arrangement is LIFO. I find it very hard to believe they'll be awarded copyright over it.
Here's my feedback after playing with the demo tree that's on your front page. The demo looks very nice. It's attractive and makes me want to interact with the page. That's great.
The one time I built a family tree graphically was when my kids had a school project to do. We wanted to print a nicely organized diagram but couldn't do it with the tools we found online. We ended up printing out the information from a text file and organizing it ourselves on a sheet of paper. I don't know if I'd have paid for something or not at the time. It definitely would have been a one time use, though.
Overall I expected the interaction to be more like a modern maps interface (think Google maps) - zoomable with scroll wheel, click and drag to pan, etc.
The click to navigate seemed outdated. If I want to move up and to the right. Click the button on the right, now click the button on the top, now to the right a few more times...
Same feedback for the time line. It's a neat idea but I expected to be able to navigate by dragging it around.
Also, the zoom +- would be easier to use if they stayed in a fixed location. Having them centered based on the size of the zoom scale meant they kept jumping around. Really hard to click, click, click to zoom in.
If navigation were a little easier and more fluid I could see using something like this to create hierarchical diagrams. Right now it was too frustrating to examine larger trees.
Thanks for the feedback though I should point out that you can drag both the family tree and timeline. Just click and drag. The navigation buttons are just there for people who don't like dragging. Zooming is something we are planning.
I had the good fortune of working with Michael McLennan and George Howlett for a while (both mentioned in the referenced history).
Michael's "Effective Tcl/Tk Programming" is a fantastically written programming reference. He was a prolific creator of interesting applications and toolkits. I recall him creating a GUI for our boring corporate bug database where he added a points system to make fixing bugs "more fun".
George managed to avoid incrementing the version number on his BLT toolkit by appending letters of the alphabet to releases. I never did learn why. I just checked and I see he made it all the way to 2.4z!