NewTlug Meetings:2006-02-28
From GTALUG
The Bash Shell and extensions
Date: Feb 28, 2006
Time: 7:00 to 10:00pm
This month's NewTLUG meeting will be held Tues Feb 28th., at the IBM offices 3600 Steeles Ave E.
Speaker: William Park <opengeometry@yahoo.ca>
William Park learned Unix using the original Bourne shell. And, he has come full-circle back to shell. If he's not busy selling Linux thin-clients, he's busy writing patches for Bash shell, giving other scripting languages a run for their money. He uses Vi so much that even his command line is in Vi mode.
He will give short presentation on his Bash extensions,
http://freshmeat.net/projects/bashdiff/
http://home.eol.ca/~parkw/index.html#bashdiff
He will also take questions about Bash shell in general, so newbies are encourage to come out and ask away.
Summary:
BashDiff is a patch against Bash-3.0 shell, incorporating many useful features from Awk, Python, Zsh, Ksh, and others. It implements in the main core
- new brace expansion {a..b} --- integer/letter generation, positional parameters and array expansion
- new parameter expansion ${var|...} --- content filtering, list comprehension (like Python), regex/string splitting and joining, Python-like string methods, emulation of associative array lookup, etc.
- extended case statement --- regex, continuation, then/else sections
- extended for/while/until loops --- then/else sections, multiple for-loop variables
- try-block with string exception (like Python)
- new <<+ here-document --- relative indentation
- new <<<< here-file
and as dynamically loadable builtins
- extended read/echo builtins --- DOS lines, CSV format, and Awk emulation
- sscanf(3), <string.h> and <ctype.h> wrappers, ASCII/string conversion, and binary number conversion.
- new raise builtin for try-block
- array cut/splicing, array filter/map/zip/unzip (like Python)
- HTML template engine (like PHP, JSP, ASP)
- GDBM, SQLite, PostgreSQL, and MySQL database interface
- Expat XML parser interface
- stack/queue operations on arrays and positional parameters
- x-y character plot
- Libwebserver (embedded web server) interface
- GTK+2 interface for simple GUI dialog or layout
- RPN calculator (like HP calculator)
Location:
IBM offices 3600 Steeles Ave East, north side of Steeles
at Pharmacy/Esna Park (between Victoria Park and Warden)
-- Important -- all attendees will be required to have a security badge. Badges should be prepared in advance. If you plan to attend, please send your name to Paul (off-list at <pmora@ca.ibm.com>) preferably, before Monday Feb 27. ...and please be sure to return badges to the front reception at the end of the session.
Thanks: to Paul for helping NewTLUG not only by arranging for a room and hosting our meetings at IBM but also with looking after the badges.
Badges: please email Paul Mora <pmora@ca.ibm.com> to pre-register
Directions: Meet at the front entrance well before 7:00pm (6:30 recommended) to pickup your ID badge. At about 7:00 we'll be escorted to the auditorium. Some provision will be made for anyone arriving a little late.
Parking: Parking is available in the visitor parkade from 6:00pm to 11:00pm.

