C. J. Date http://www.amazon.com/Introduction-Database-Systems-C-Date/d...
Joe Celko http://www.amazon.com/Joe-Celkos-SQL-Smarties-Programming/dp...
158 karma · joined October 20, 2009
C. J. Date http://www.amazon.com/Introduction-Database-Systems-C-Date/d...
Joe Celko http://www.amazon.com/Joe-Celkos-SQL-Smarties-Programming/dp...
Line 9: A formal parameter using the syntax * identifier receives a tuple containing any excess positional arguments.
Line 11: When the syntax * expression appears in the function call, expression evaluates to a sequence, the elements of which are treated as if they were the positional arguments.
http://www.ashmaurya.com.nyud.net/2010/03/bootstrapping-a-le...
http://www.smashingmagazine.com/2008/09/24/drupal-developers...
http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/...
A good book for learning C is _Mastering Algorithms with C_ by Loudon. The source code is over-commented and contains too much white space, which is a bit annoying, but the content is quite nice.
http://www.amazon.com/Mastering-Algorithms-C-Kyle-Loudon/dp/...
The Ruby program outputs Python that outputs Perl that outputs Lua that outputs OCaml that outputs Haskell that outputs C that outputs Java that outputs Brainfuck that outputs Whitespace that outputs Unlambda that outputs the original Ruby program.
(I was unable to get it to work when I tested it, but I still find it quite impressive!)
Here are some sites that aggregate tutorials: * http://www.noupe.com/ * http://www.smashingmagazine.com/ * http://sixrevisions.com/
There are some Xara Xtreme tutorials on their main website. The free Linux version is not near as feature-complete as the Windows version, unfortunately, but you can still do quite a bit. * http://www.xara.com/us/products/xtreme/tutorials-demos/
I do not know of a way to save vector (SVG) images from browsers either, but if raster (PNG) exports would suffice, then check out the Firefox Screengrab! extension, which allows you to easily capture screenshots of whole pages (regardless of scrolling). BTW, here is a fun JavaScript library: * http://raphaeljs.com/
Keyboard input in Photoshop and Illustrator is something that I consider a core feature. How much it is needed really depends on the type of artwork/design that is being done, but every professional user that I have met makes quite extensive use of the keyboard, particularly when placing guides or dealing with vector shapes. (Unfortunately, keyboard input is not as core as it should be... For example, Adobe software does not support keyboard positioning of Bézier curve handles, meaning that the designer needs to create reference objects to snap to in order to have consistent curves.)
I find that doing everything in a text editor is great for some projects and not for others. I use Asymptote (within LaTeX documents) for technical drawings, and one of my favourite benefits is being able to use revision control. Postscript itself is Turing complete, BTW! :) For more artistic works, however, I find that using a GUI suits me better. My philosophy is to learn many different ways of doing things and use whatever you feel works best for any particular job... I use Python extensively, and sometimes I even break out POV-Ray!
The majority of my design "training" was done in a professional environment, using Illustrator and Photoshop. Such software has hierarchical layers/groups as well as support for keyboard input, which address your questions about performing tasks such as drawing circles and modifying designs.
Photoshop (raster-oriented graphics) is quite mature and impressive; there is unfortunately no OSS that can even approach its creative power, IMHO. Illustrator (vector-oriented graphics, which seems to be your interest) is nowhere near as solid as Photoshop... The best OSS alternative (for screen design, that I know of) is Xara Xtreme, which outdoes Illustrator in a number of ways. Unfortunately, core features such as layers/groups and keyboard input are not done well in Xara, and it is a long way away from being able to do print. Inkscape trails pretty far behind.
If you would like to take a scripting approach, how about trying JavaScript in a modern browser? In case it is better suited for your needs, you may also want to check out Asymptote and/or METAPOST.
A bit more advice: Technically-minded people can usually learn software applications by just playing around with it, but I highly recommend reading good books on the subject to really learn the software. The many design tutorials online can also be quite useful.
http://www.xara.com http://www.xaraxtreme.org/ http://asymptote.sourceforge.net/