From grant at mclean.net.nz Sun Apr 2 20:12:43 2006 From: grant at mclean.net.nz (Grant McLean) Date: Mon, 03 Apr 2006 15:12:43 +1200 Subject: [Wellington-pm] Meeting next Tuesday Message-ID: <1144033963.15693.5.camel@localhost.localdomain> Hi Mongers The next meeting of Wellington Perl Mongers will be Tuesday next week: 6:00pm Tuesday 11 April 2006 Level 2, Eagle Technology House 150 Willis Street Wellington The following talks are scheduled: * Sam Vilain - Deploying Perl 6 code on Perl 5 * Andrew McMillan - Whereami? Critique my code Regards Grant From enkidu at cliffp.com Mon Apr 3 01:06:28 2006 From: enkidu at cliffp.com (Cliff Pratt) Date: Mon, 03 Apr 2006 20:06:28 +1200 Subject: [Wellington-pm] Side effects In-Reply-To: References: Message-ID: <4430D784.3080405@cliffp.com> michael at diaspora.gen.nz wrote: > Cliff Pratt writes: > >> my $v = "123456789ABC" ; my $v1 = "7" ; >> >> print "|" . eval { $v =~ s/$v1// ; return $v } . "|\n" ; > > >> After trying various things I got the line of code I printed at the >> beginning. Is this the best way of doing it? It seems pretty OK >> to me! > > > What's wrong with two separate statements? > > $v =~ s/$v1//; print "|$v|\n"; > > I'd get confused as a maintenance programmer as to why the > substitution had to be done in the middle of the print statement. -- > michael. > I don't know. It sort of seemed tidier to "set-it-and-use-it" rather than "set it" and "use it". Seeing as the two replies I received said roughly the same, I've dropped back to "set it" and "use it"! Cheers, Cliff -- http://barzoomian.blogspot.com From grant at mclean.net.nz Mon Apr 10 14:04:50 2006 From: grant at mclean.net.nz (Grant McLean) Date: Tue, 11 Apr 2006 09:04:50 +1200 Subject: [Wellington-pm] Meeting Tonight Message-ID: <1144703090.19675.2.camel@localhost.localdomain> Hi Mongers Wellington Perl Mongers meeting is tonight: 6:00pm Tuesday 11 April 2006 Level 2, Eagle Technology House 150 Willis Street Wellington The following talks are scheduled: * Sam Vilain - Deploying Perl 6 code on Perl 5 * Andrew McMillan - Whereami? Critique my code We'll also be looking for speakers for next month's meeting, so have a think about what you'd like to hear about or talk about. See you there. Grant From grant at mclean.net.nz Tue Apr 11 15:11:24 2006 From: grant at mclean.net.nz (Grant McLean) Date: Wed, 12 Apr 2006 10:11:24 +1200 Subject: [Wellington-pm] Roundup of last night's meeting Message-ID: <1144793484.25978.5.camel@localhost.localdomain> Hi Mongers Thanks to everyone for another enjoyable and informative meeting. Special thanks of course to our speakers Sam and Andrew. Although I must admit to being a little disappointed that Andrew's code wasn't half as bad as he led us to believe. The next meeting will be on Tuesday May the 9th. I'm delighted to say that we have two speakers lined up already: * Michael Robinson - Plucene * Srdjan Jankovic - Using CPAN for Fun and Profit I'm especially interested in that 'profit' bit. See you then. Grant From enkidu at cliffp.com Sun Apr 16 01:20:37 2006 From: enkidu at cliffp.com (Cliff Pratt) Date: Sun, 16 Apr 2006 20:20:37 +1200 Subject: [Wellington-pm] 'enum' for Perl? Message-ID: <4441FE55.10809@cliffp.com> Is there a way of doing enums in Perl? eg so that using the string ONE in a program has the same effect as using 1. exit ONE ; # exit 1 Am I missing something obvious here? Cheers, Cliff -- http://barzoomian.blogspot.com From grant at mclean.net.nz Sun Apr 16 03:58:17 2006 From: grant at mclean.net.nz (Grant McLean) Date: Sun, 16 Apr 2006 22:58:17 +1200 Subject: [Wellington-pm] 'enum' for Perl? In-Reply-To: <4441FE55.10809@cliffp.com> References: <4441FE55.10809@cliffp.com> Message-ID: <1145185098.25953.8.camel@localhost.localdomain> On Sun, 2006-04-16 at 20:20 +1200, Cliff Pratt wrote: > Is there a way of doing enums in Perl? > > eg so that using the string ONE in a program has the same effect as using 1. > > exit ONE ; # exit 1 You could say: use constant ONE => 1; Or you could simply use a variable: my $ONE = 1; Possibly with the addition of the Readonly module from CPAN: Readonly my $ONE => 1; When you have a number of possible values that you want to assign symbolic names to, variables are easiest, eg: my($IDLE, $WAITING, $CONNECTED, $RECEIVING, $DISCONNECTING) = (1..10); In that example, I declared an overly large range on the right of the assignment, so that I could easily add new states to the left as I needed them. Cheers Grant From enkidu at cliffp.com Sun Apr 16 17:13:47 2006 From: enkidu at cliffp.com (Cliff Pratt) Date: Mon, 17 Apr 2006 12:13:47 +1200 Subject: [Wellington-pm] 'enum' for Perl? In-Reply-To: <1145185098.25953.8.camel@localhost.localdomain> References: <4441FE55.10809@cliffp.com> <1145185098.25953.8.camel@localhost.localdomain> Message-ID: <4442DDBB.1060301@cliffp.com> Grant McLean wrote: > On Sun, 2006-04-16 at 20:20 +1200, Cliff Pratt wrote: > >>Is there a way of doing enums in Perl? >> >>eg so that using the string ONE in a program has the same effect as using 1. >> >>exit ONE ; # exit 1 > > > You could say: > > use constant ONE => 1; > > Or you could simply use a variable: > > my $ONE = 1; > > Possibly with the addition of the Readonly module from CPAN: > > Readonly my $ONE => 1; > > When you have a number of possible values that you want to assign > symbolic names to, variables are easiest, eg: > > my($IDLE, $WAITING, $CONNECTED, $RECEIVING, $DISCONNECTING) = (1..10); > > In that example, I declared an overly large range on the right of the > assignment, so that I could easily add new states to the left as I > needed them. > Thanks Grant, I can see how that works, but some modules export what appear to be variables, eg use Glib qw(TRUE FALSE) ; and you can then say, eg my $debug = FALSE ; Or is FALSE just a hidden subroutine that sets the return to the appropriate value? Cheers, Cliff -- http://barzoomian.blogspot.com From enkidu at cliffp.com Sun Apr 16 17:36:21 2006 From: enkidu at cliffp.com (Cliff Pratt) Date: Mon, 17 Apr 2006 12:36:21 +1200 Subject: [Wellington-pm] 'enum' for Perl? In-Reply-To: <4442DDBB.1060301@cliffp.com> References: <4441FE55.10809@cliffp.com> <1145185098.25953.8.camel@localhost.localdomain> <4442DDBB.1060301@cliffp.com> Message-ID: <4442E305.1070708@cliffp.com> Cliff Pratt wrote: > Grant McLean wrote: > >>On Sun, 2006-04-16 at 20:20 +1200, Cliff Pratt wrote: >> >> >>>Is there a way of doing enums in Perl? >>> >>>eg so that using the string ONE in a program has the same effect as using 1. >>> >>>exit ONE ; # exit 1 >> >> >>You could say: >> >> use constant ONE => 1; >> >>Or you could simply use a variable: >> >> my $ONE = 1; >> >>Possibly with the addition of the Readonly module from CPAN: >> >> Readonly my $ONE => 1; >> >>When you have a number of possible values that you want to assign >>symbolic names to, variables are easiest, eg: >> >> my($IDLE, $WAITING, $CONNECTED, $RECEIVING, $DISCONNECTING) = (1..10); >> >>In that example, I declared an overly large range on the right of the >>assignment, so that I could easily add new states to the left as I >>needed them. >> > > Thanks Grant, > > I can see how that works, but some modules export what appear to be > variables, eg > > use Glib qw(TRUE FALSE) ; > > and you can then say, eg > > my $debug = FALSE ; > > Or is FALSE just a hidden subroutine that sets the return to the > appropriate value? > To answer my question, Glib uses the Exporter module and 'use constant'. I don't yet understand *what* it is doing exactly, but that is what is *does* do. Cheers, Cliff -- http://barzoomian.blogspot.com From grant at mclean.net.nz Sun Apr 16 23:34:53 2006 From: grant at mclean.net.nz (Grant McLean) Date: Mon, 17 Apr 2006 18:34:53 +1200 Subject: [Wellington-pm] 'enum' for Perl? In-Reply-To: <4442E305.1070708@cliffp.com> References: <4441FE55.10809@cliffp.com> <1145185098.25953.8.camel@localhost.localdomain> <4442DDBB.1060301@cliffp.com> <4442E305.1070708@cliffp.com> Message-ID: <1145255694.8328.16.camel@localhost.localdomain> On Mon, 2006-04-17 at 12:36 +1200, Cliff Pratt wrote: > Cliff Pratt wrote: ... > > I can see how that works, but some modules export what appear to be > > variables, eg > > > > use Glib qw(TRUE FALSE) ; > > > > and you can then say, eg > > > > my $debug = FALSE ; > > > > Or is FALSE just a hidden subroutine that sets the return to the > > appropriate value? > > > To answer my question, Glib uses the Exporter module and 'use constant'. > I don't yet understand *what* it is doing exactly, but that is what is > *does* do. Good detective work :-) If you care how it works, this ... use constant TRUE => 1; ... is actually translated to this ... sub TRUE() { return 1; } The Exporter module can alias a subroutine or a variable from one namespace (eg: Glib::TRUE) to another (eg: main::TRUE). Which allows you to call the subroutine as if you had defined it in your own code. One non-obvious twist is that the subroutine was declared like this: sub TRUE() { return 1; } rather than this: sub TRUE { return 1; } The significance of the empty trailing parentheses after the subroutine name is that it's a prototype which declares that the subroutine takes no arguments. Once Perl has compiled your script (and all the modules it includes) into an in-memory opcode tree, it does an optimisation pass through the opcodes. One of the things it does during this pass is to 'inline' the constants by replacing all calls to subroutines which return a literal value and are prototyped to take no arguments, with the literal values themselves. Thus, at run-time, the TRUE subroutine is never actually called. Sorry you asked? :-) Cheers Grant From enkidu at cliffp.com Mon Apr 17 00:33:25 2006 From: enkidu at cliffp.com (Cliff Pratt) Date: Mon, 17 Apr 2006 19:33:25 +1200 Subject: [Wellington-pm] 'enum' for Perl? In-Reply-To: <1145255694.8328.16.camel@localhost.localdomain> References: <4441FE55.10809@cliffp.com> <1145185098.25953.8.camel@localhost.localdomain> <4442DDBB.1060301@cliffp.com> <4442E305.1070708@cliffp.com> <1145255694.8328.16.camel@localhost.localdomain> Message-ID: <444344C5.4030304@cliffp.com> Grant McLean wrote: > On Mon, 2006-04-17 at 12:36 +1200, Cliff Pratt wrote: > >>Cliff Pratt wrote: > > ... > >>>I can see how that works, but some modules export what appear to be >>>variables, eg >>> >>>use Glib qw(TRUE FALSE) ; >>> >>>and you can then say, eg >>> >>>my $debug = FALSE ; >>> >>>Or is FALSE just a hidden subroutine that sets the return to the >>>appropriate value? >>> >> >>To answer my question, Glib uses the Exporter module and 'use constant'. >>I don't yet understand *what* it is doing exactly, but that is what is >>*does* do. > > > Good detective work :-) > > If you care how it works, this ... > > use constant TRUE => 1; > > ... is actually translated to this ... > > sub TRUE() { return 1; } > > The Exporter module can alias a subroutine or a variable from one > namespace (eg: Glib::TRUE) to another (eg: main::TRUE). Which allows > you to call the subroutine as if you had defined it in your own code. > > One non-obvious twist is that the subroutine was declared like this: > > sub TRUE() { return 1; } > > rather than this: > > sub TRUE { return 1; } > > The significance of the empty trailing parentheses after the subroutine > name is that it's a prototype which declares that the subroutine takes > no arguments. Once Perl has compiled your script (and all the modules > it includes) into an in-memory opcode tree, it does an optimisation pass > through the opcodes. One of the things it does during this pass is to > 'inline' the constants by replacing all calls to subroutines which > return a literal value and are prototyped to take no arguments, with the > literal values themselves. Thus, at run-time, the TRUE subroutine is > never actually called. > > Sorry you asked? :-) > No, it's interesting! I'm quite pleased that my guess/deduction that 'FALSE' is a subroutine that returns the appropriate value was on target! Cheers, Cliff -- http://barzoomian.blogspot.com From grant at mclean.net.nz Thu Apr 20 21:12:59 2006 From: grant at mclean.net.nz (Grant McLean) Date: Fri, 21 Apr 2006 16:12:59 +1200 Subject: [Wellington-pm] [Fwd: Newsletter from the O'Reilly UG Program, April 20] Message-ID: <1145592780.7361.7.camel@localhost.localdomain> -------- Forwarded Message -------- > From: Marsee Henon > Subject: Newsletter from the O'Reilly UG Program, April 20 > Date: Thu, 20 Apr 2006 15:48:49 -0700 > ================================================================ > O'Reilly News for User Group Members > April 20, 2006 > ================================================================ > ---------------------------------------------------------------- > New Releases > ---------------------------------------------------------------- > -Running Boot Camp > -Use ClickOnce to Deploy Windows Applications > -The Art of RAW Conversion > -The Book of Visual Basic 2005 > -Configuring SonicWALL Firewalls > -Creative Computer Crafts > -Enterprise Integration > -Enterprise Services Architecture > -Flash 8 Cookbook > -HTML Utopia > -JUNOS Cookbook > -Keep it Simple with GarageBand > -Learning SQL on SQL Server 2005 > -Learning UML 2.0 > -Linux Annoyances for Geeks > -Nagios > -PGP & GPG > -Pragmatic Ajax > -Programming Excel with VBA and .NET > -Programming PHP > -RFID Security > -Scripting VMware Power Tools > -SQL Pocket Guide > -Steal This Computer Book 4.0 > ---------------------------------------------------------------- > Upcoming Events > ---------------------------------------------------------------- > -Maker Faire, San Mateo, CA--Apr 22-23 > -Digital Black and White with Stephen Johnson, Apr 22-- > Pacifica, CA > -Peter Morville at CHI 2006, Apr 22-27--Montreal, Canada > -Collaborate 06, Apr 23-27--Nashville, TN > -MySQL Users Conference, Apr 24-27--Santa Clara, CA > -Niel M. Bornstein at the Desktop Linux Summit 2006, Apr 24-25, > San Diego, CA > -Stephen Few at the DAMA International Symposium, Apr 26-- > Denver, CO > -Dan Gillmor at Columbia University, Apr 27--New York, NY > -Peter Krogh at the Commercial Industrial Photographers of > New England, Apr 28--Boston, MA > -Dan Gillmor at We Media Conference, May 4--London, England > -Professional Exhibition with Stephen Johnson, May 6--Pacifica, CA > -Dan Gillmor at Harvard Law School, May 12-13--Cambridge, MA > -Dan Gillmor at Future in Review 2006 Conference, May 14-- > San Diego, CA > ---------------------------------------------------------------- > Conference News > ---------------------------------------------------------------- > -OSCON, July 24-28--Portland,OR > -Early Registration ending soon for the Where 2.0 Conference, > June 13-14--San Jose, CA > -MySQL Users Conference, April 24-27--Santa Clara, CA > ---------------------------------------------------------------- > News > ---------------------------------------------------------------- > -O'Reilly Staff Picks > -Fire Your Boss! A Guide to Successful Freelancing From Home > -Building a FreeBSD Build System > -The Software of Space Exploration > -Mac FTP: A Guided Tour > -Macintosh Home Monitoring > -Programming Word from .NET > -The Best Structure for Your Flash Site > -Is AJAX Cross-Browser? > -Implementing Mutual Exclusion for AJAX > -Supporting Branch Office Environments > -Scaling Games Up > -Patterns for Communication, Moderation, and Information Processing > -Aperture 1.1--Apple Listens > -Digital "Not Hot" at Sundance 2006 > -Maker Faire Update, April 22-23--San Mateo, CA > -MAKE Video Podcast > -Make Sample Projects > ---------------------------------------------------------------- > New Releases--Books, PDFs, and Rough Cuts > ---------------------------------------------------------------- > Get 30% off a single book or 35% off two or more books from O'Reilly, > No Starch, Paraglyph, PC Publishing, Pragmatic Bookshelf, SitePoint, > or Syngress books you purchase directly from O'Reilly. > Just use code DSUG when ordering online or by phone 800-998-9938. > > > Free ground shipping on orders $29.95 or more. > For more details, go to: > > > Did you know you can request a free book to review for your > group? Ask your group leader for more information. > > For book review writing tips and suggestions, go to: > > > > ***Running Boot Camp > O'Reilly PDF (limited review copies available) > "Running Boot Camp" guides you step-by-step through the entire Boot Camp > installation process, including upgrading your Mac's Firmware, creating > the Macintosh Drivers CD to make XP work properly with your Mac's > hardware, and using the Boot Camp Assistant to partition your hard drive > and install Windows XP. You'll also learn how to avoid common pitfalls > (such as previously partitioned drives and wrong disk permissions). And > finally, you'll find out which Mac functions don't work in XP and which > XP features backfire on a Mac. With this invaluable guide at your side, > you'll finish configuring your dual-boot Mac in as little as two hours, > avoiding numerous hazards and annoyances along the way. > > > > ***Use ClickOnce to Deploy Windows Applications > O'Reilly PDF (limited review copies available) > ClickOnce, a new technology in Visual Studio 2005, lets you quickly and > easily deploy your Windows apps via web servers, file servers, or even > CDs. This step-by-step guide to using ClickOnce shows you how to take > advantage of this new technology. You'll learn how to create an > application in Visual Studio 2005 and how to use ClickOnce to quickly > get it in the hands of your customers. You'll also learn how to add > security to your distributions; how to update COM files without > corrupting DLLs; and more. Download this PDF for just $7.99 and discover > how deploying your Windows app is just a click away. > > > > ***The Art of RAW Conversion > Publisher: No Starch Press > ISBN: 1593270674 > "The Art of RAW Conversion" shows how to work with the RAW files generated > by a digital camera to produce the best possible image quality in > finished photos. The authors (both experts in digital photography, file > processing, printing, and color management) describe the conversion > tools used to enhance RAW files and maximize photo quality. Covers Adobe > Photoshop CS and other leading RAW converters. > > > > ***The Book of Visual Basic 2005 > Publisher: No Starch Press > ISBN: 1593270747 > "Book of Visual Basic 2005" is a comprehensive introduction to Microsoft's > newest programming language, Visual Basic 2005, the next iteration of > Visual Basic. A complete revision to the highly-acclaimed Book of VB > .NET, the book is organized as a series of lightning tours and > real-world examples that show developers the VB 2005 way of doing > things. Perfect for old-school Visual Basic developers who haven't made > the jump to .NET. > > > > ***Configuring SonicWALL Firewalls > Publisher: Syngress > ISBN: 1597492507 > "Configuring SonicWALL Firewalls" is the first book to deliver an in-depth > look at the SonicWALL firewall product line. It covers all of the > aspects of the SonicWALL product line from the SOHO devices to the > Enterprise SonicWALL firewalls. Also covered are advanced > troubleshooting techniques and the SonicWALL Security Manager. This book > offers novice users a complete opportunity to learn the SonicWALL > firewall appliance. Advanced users will find it a rich technical > resource. > > > > ***Creative Computer Crafts > Publisher: No Starch Press > ISBN: 1593270682 > This eye-catching, 4-color book shows how to use a computer and an > inkjet printer to make fun and functional projects. All projects include > step-by-step instructions, diagrams, and full-color photos of the > finished product. Includes a resource list of websites and message > boards and an exhaustive supplier listing for various computer crafting > materials. > > > > ***Enterprise Integration with Ruby > Publisher: Pragmatic Bookshelf > ISBN: 0976694069 > Typical enterprises use dozens, hundreds, and sometimes even thousands > of applications, components, services, and databases. They run on > heterogeneous operating systems and hardware, they use databases and > messaging systems from various vendors, and they were written in > different programming languages. This book shows you how to knit these > different systems together using a variety of techniques and > technologies. > > > > ***Enterprise SOA > Publisher: O'Reilly > ISBN: 0596102380 > Based on extensive research with experts from the German software > company SAP, this definitive book is ideal for architects, developers, > and other IT professionals who want to understand the technology and > business relevance of ESA in a detailed way-especially those who want to > move on the technology now, rather than in the next year or two. > > > > ***Flash 8 Cookbook > Publisher: O'Reilly > This practical, nuts-and-bolts toolkit puts theory into practice with > ready-made answers to common Flash development questions. It's the > perfect resource for Flash developers, as well as designers who are > ready to start doing development work. Using O'Reilly's popular > Problem/Solution/Discussion Cookbook format, this book offers 280 > stand alone recipes that include a brief explanation of how and why > the solution works, so you can adapt it to similar situations you > may run across in the future. > > > > ***HTML Utopia, Second Edition > Publisher: SitePoint > ISBN: 0975240277 > "HTML Utopia" is for anyone who wants to use Cascading Style Sheets for > layout, which allow for faster webpage downloads, easier site > maintenance and faster re-designs. The second edition of this popular > book includes brand new coverage of Internet Explorer 7, Firefox 1.1, > new CSS Solutions, and greatly expanded coverage of popular, > cross-browser, CSS layout techniques. > > > > ***JUNOS Cookbook > Publisher: O'Reilly > ISBN: 0596100140 > "JUNOS Cookbook" is the first comprehensive book about JUNOS software > and it provides over 200 time-saving step-by-step techniques including > discussions about the processes and alternative ways to perform the same > task. It's been tested and tech-reviewed by field engineers who know how > to take JUNOS out for a spin and it's applicable to the entire line of > M-, T-, and J-series routers. > > > > ***Keep it Simple with GarageBand > Publisher: PC Publishing > ISBN: 1870775163 > Contains a series of easy music making projects for beginners and > amateur musicians. Follow these simple projects and you'll not only > learn how to use GarageBand effectively, you'll also pick up tips on > songwriting, constructing tunes, and pro-style audio production along > the way. Each project is preceded by on-topic, and background > information. > > > > ***Learning SQL on SQL Server 2005 > Publisher: O'Reilly > ISBN: 0596102151 > If you're new to databases, or need a SQL refresher, this step-by-step > introduction has everything you need to generate, manipulate, and > retrieve data using Microsoft's SQL Server 2005. Every topic, concept, > and idea in the book comes with examples of code and output, along with > exercises to help you gain proficiency. Plenty of texts explain database > theory. This book lets you apply the theory as you learn SQL. > > > > ***Learning UML 2.0 > Publisher: O'Reilly > ISBN: 0596009828 > Engaging and accessible, this book shows you how to use UML to craft and > communicate your project's design. Russ Miles and Kim Hamilton have > written a pragmatic introduction to UML; based on hard earned practice, > not theory. Regardless of the software process or methodology you use, > this book is the one source you need to get up and running with UML 2.0. > > > > ***Linux Annoyances for Geeks > Publisher: O'Reilly > ISBN: 0596008015 > GNU/Linux is an immensely popular operating system that is extremely > stable and reliable. But it can also induce minor headaches at the most > inopportune times if you're not fully up to speed with its capabilities. > In keeping with the spirit of the Annoyances series, the book adopts a > sympathetic tone that will quickly win you over. Rather than blaming you > for possessing limited Linux savvy, "Linux Annoyances for Geeks" takes > you along for a fun-filled ride as you master the system together. > > > > ***Nagios > Publisher: No Starch Press > ISBN: 1593270704 > "Nagios: System and Network Monitoring" shows how to configure and use > Nagios, an open source system and network monitoring tool. Nagios makes > it possible to continuously monitor network services (SMTP, POP3, HTTP, > NNTP, PING, etc.), host resources (processor load, disk and memory > usage, running processes, log files, etc.), and environmental factors > (such as temperature). When Nagios detects a problem, it communicates > the information to the sys admin via email, pager, SMS, or other > user-defined method. > > > > ***PGP & GPG > Publisher: No Starch Press > ISBN: 1593270712 > "PGP & GPG" is an easy-to read, informal tutorial for implementing > electronic privacy on the cheap using the standard tools of the email > privacy field--commercial PGP and non-commercial GnuPG (GPG). The book > shows how to integrate these OpenPGP implementations into the most > common email clients and how to use PGP and GPG in daily email > correspondence to both send and receive encrypted email. > > > > ***Pragmatic Ajax > Publisher: Pragmatic Bookshelf > ISBN: 0976694085 > It used to be that you had to make a hard choice: the ease of deployment > of a web page, or the interactive features of a rich desktop > application. Now you can have it all. Ajax redefines the user experience > for web applications. Using existing standards, your application can > provide a compelling user interface--delivered plug-in free--using > modern web browsers. This book shows you how to work the Ajax magic > easily, exploring both the fundamental technologies and the emerging > frameworks that make it easy. > > > > ***Programming Excel with VBA and .NET > Publisher: O'Reilly > ISBN: 0596007663 > Programming Excel isn't about adding new features as much as it's about > combining existing features to solve particular problems. With Visual > Basic for Applications (VBA), you can transform Excel into a > task-specific piece of software that will quickly and precisely serve > your needs. This single-source reference and how-to guide will teach you > to use the complete range of Excel programming tasks to solve problems. > Developers looking forward to .NET development will also find discussion > of how the Excel object model works with .NET tools including Visual > Studio Tools for Office (VSTO). > > > > ***Programming PHP, Second Edition > Publisher: O'Reilly > ISBN: 0596006810 > As the industry standard book on PHP, all of the essentials are covered > in a clear and concise manner. Language, syntax, and programming > techniques are coupled with numerous examples that illustrate both > correct usage and common idioms. With style tips and practical > programming advice, this book will help you become a good PHP > programmer. "Programming PHP, Second Edition" covers everything you > need to know to create effective web applications with PHP. > > > > ***RFID Security > Publisher: Syngress > ISBN: 1597490474 > Wal-Mart was the main force behind the widespread adoption of bar codes > in the 80s; they have now started the conversion from bar codes to RFID > tags and are requiring all of their suppliers to switch to RFID tags or > lose their business. RFID will become a mainstream technology whether we > like it or not and anyone using barcode technology will need to have > their RFID solution in place quickly. This book teaches readers about > the security implications of RFID. > > > > ***Scripting VMware Power Tools > Publisher: Syngress > ISBN: 1597490598 > This book covers the native tools that VMware provides with ESX Server. > It discusses in detail the different scripting API's and how they > can be leveraged to provide useful, practical and time saving > tools to manage a virtual infrastructure. From virtual server > provisioning to backups and everything in between, all are covered > in detail with real world examples that have been tested and will work > either copied directly from the book or with slight modifications for > specific environments. > > > > ***SQL Pocket Guide > Publisher: O'Reilly > ISBN: 0596526881 > Now available in an updated second edition, our very popular "SQL Pocket > Guide" is a major help to programmers, database administrators, and > everyone who uses SQL in their day-to-day work. The "SQL Pocket Guide" is > a concise reference for frequently used SQL statements and commonly used > SQL functions. Not just an endless collection of syntax diagrams, this > portable guide addresses the language's complexity head on and leads by > example. The information in this edition has been updated to reflect the > latest versions of the most commonly used SQL variants. > > > > ***Steal This Computer Book 4.0 > Publisher: No Starch Press > ISBN: 1593271050 > This offbeat, non-technical book examines what hackers do, how they do > it, and how readers can protect themselves. Informative, irreverent, and > entertaining, the completely revised fourth edition of "Steal This > Computer Book" contains new chapters that discuss the hacker mentality, > lock picking, exploiting P2P file sharing networks, and how people > manipulate search engines and pop-up ads. Includes a CD with hundreds of > megabytes of hacking and security-related programs that tie-in to each > chapter in the book. > > > > ***MAKE Magazine Subscriptions > The annual subscription price for four issues is $34.95. When you > subscribe with this link, you'll get a free issue--the first one plus > four more for $34.95. So subscribe for yourself or friends with this > great offer for charter subscribers: five volumes for the cost of four. > Subscribe at: > > > ================================================ > Upcoming Events > ================================================ > ***For more events, please see: > http://events.oreilly.com/ > > > ***Maker Faire, Apr 22-23, San Mateo, CA > Join us for MAKE magazine's first ever Maker Faire?a hands-on event > featuring Makers whose science and technology projects will amaze you > and ignite your imagination. Meet expert Makers and MAKE contributors, > hear from O'Reilly's Hacks authors, attend DIY Tutorials, explore DIY > projects and demonstrations, and see the Ultimate Workshop. This event > takes place at San Mateo County Fairgrounds. > > > > ***Digital Black and White with Stephen Johnson, Apr 22--Pacifica, CA > Photographer and author Stephen Johnson ("Stephen Johnson on Digital > Photography") presents this one-day seminar. > > > > ***Peter Morville at CHI 2006, Apr 22-27--Montreal, Canada > Author Peter Morville (Ambient Findability) is speaking at CHI 2006 > "It's About the Information Stupid!" > > > > ***Collaborate 06, Apr 23-27--Nashville, TN > Author Peter Robson ("The Art of SQL") is presenting at Collaborate 06, > the Technology and Applications Forum for the Oracle Community, hosted > by the Independent Oracle Users Group, the Oracle Applications Users > Group, and Quest International Users Group. > > > > ***MySQL Users Conference, Apr 24-27--Santa Clara, CA > O'Reilly is teaming up with MySQL AB to present the largest gathering of > MySQL developers and users. The 2006 Conference will feature leading > industry keynote speakers, the latest MySQL open source technologies, > and interactive sessions and tutorials. Peruse the latest products and > services in the expanded Exhibit Hall, meet the MySQL development team, > and rub shoulders with fellow MySQL users. > > > > ***Niel M. Bornstein at the Desktop Linux Summit 2006, Apr 24-25, > San Diego, CA > Author Niel M. Bornstein ("Mono: A Developer's Notebook")is speaking > about desktop Linux in education. > > > > ***Stephen Few at the DAMA International Symposium, Apr 26--Denver, CO > Author Stephen Few ("Information Dashboard Design") conducts two > workshops: "Show Me the Numbers: Communicating Effectively with Charts" > and "Information Visualization for Discovery and Analysis." > > > > ***Dan Gillmor at Columbia University, Apr 27--New York, NY > Author Dan Gillmor ("We the Media") is giving a lecture and public talk > called "We the Media: The Rise of Grassroots, Open Source > Journalism" At the Columbia Graduate School of Journalism. > > > > ***Peter Krogh at the Commercial Industrial Photographers of New > England, Apr 28--Boston, MA > Author Peter Krogh ("The DAM Book: Digital Asset Management for > Photographers") will be discussing DAM at CIPNE's annual membership > meeting. > > > > ***Dan Gillmor at We Media Conference, May 4--London, England > Author Dan Gillmor ("We the Media") is participating in a forum > discussing "We and the Media." > > > > ***Professional Exhibition with Stephen Johnson, May 6--Pacifica, CA > Photographer and author Stephen Johnson ("Stephen Johnson on Digital > Photography") presents this one-day seminar. > > > > ***Dan Gillmor at Harvard Law School, May 12-13--Cambridge, MA > Author Dan Gillmor ("We the Media") is participating in a forum > discussing "Beyond Broadcasting. > > > > ***Dan Gillmor at Future in Review 2006 Conference, May 14-- > San Diego, CA > Author Dan Gillmor ("We the Media") will be discussing "From > Blogs to RSS to...the Future of News Reporting." > > > ================================================ > Conference News > ================================================ > ***OSCON, July 24-28--Portland,OR > OSCON, the O'Reilly Open Source Convention, is still where open source > rubber meets the road. OSCON happens July 24-28, 2006 in open source > hotspot Portland, Oregon, and registration has just opened. Hundreds of > sessions and tutorials. Thousands of open source mavericks, brainiacs, > hackers, activists, scientists, and their admirers, some in > business-casual disguise. Read all about it. > > > User Group members who register before June 5, 2006 get a double > discount. Use code "os06dsug" when you register, and receive 15% off > the early registration price. > > To register for the conference, go to: > > > > ***Early Registration ending soon for the Where 2.0 Conference, > June 13-14--San Jose, CA > The Where 2.0 Conference brings together the people, projects, and > issues leading the charge into the location-based technology frontier. > Join the developers, innovators, and business people behind the new era > of geospatial technology as they come together--because everything > happens somewhere, and it's all happening here at Where 2.0. > > > User Group members who register before April 24, 2006 get a double > discount. Use code "whr06dsug" when you register, and receive 15% off > the early registration price. > > To register for the conference, go to: > > > > ***MySQL Users Conference, April 24-27--Santa Clara, CA > Join us at the 2006 edition of the MySQL Users Conference, the largest > gathering of MySQL developers, users, and DBAs. It's the only event > where you'll be able to join the core MySQL development team and over > 1000 users, open source innovators, and technology partners under one > roof. > > > Use code "mys06dusg" when you register, and receive 15% off > the early registration price. > > To register for the conference, go to: > > > ================================================ > News From O'Reilly & Beyond > ================================================ > --------------------- > General News > --------------------- > ***O'Reilly Staff Picks > Now you can see what Tim O'Reilly, Phil Torrone, chromatic, and more > consider thier favorites. > > > > ***Fire Your Boss! A Guide to Successful Freelancing From Home > Sick of the commute? Want to establish your own freelance consultancy? > Here's the kick-start you've been waiting for! Neil and Jarvis help you > assess whether you're cut out to run your own business, and show you how > to recognize, understand, and address risk. > > > --------------------- > Open Source > --------------------- > ***Building a FreeBSD Build System > Keeping a single BSD system up to date is relatively easy. Keeping a > whole business full of servers fresh with patches and new applications > and updates is more work--unless you take advantage of the ports system. > Bjorn Nelson walks through the design and implementation of a build > system usable to push fresh binaries to as many servers as you have. > > > > ***The Software of Space Exploration > Free software advocates often appeal to the open discovery, disclosure, > and discussion practices of modern science as justification for sharing > information. As software becomes more valuable for scientific research, > free and open source software continues to grow in popularity. David > Boswell looks at some of the software used in space exploration and > usable by armchair scientists. > > > --------------------- > Mac > --------------------- > ***Mac FTP: A Guided Tour > (S)FTP has a special place in the hearts of web builders and > developers, and is still one of the most practical methods of getting > files from one place to another in a secure manner. In this article, > Giles Turnbull surveys six FTP clients for the Mac platform and shows > you the major characteristics of each. > > > > ***Macintosh Home Monitoring > Want to learn a few simple home automation techniques to have your Mac > send you a message when your mail is delivered, your kids get home, or > your dog uses the pet door to go into the backyard? Gordon Meyer shows > you how. > > > --------------------- > Windows/.NET > --------------------- > ***Programming Word from .NET > Using .NET with Word can be a potent combination. Jesse Liberty shows > you how to take advantage of Word's formatting features and add the > power of .NET's programmability. > > > > ***An Overview of UAC in Windows Vista > Vista's User Account Control represents a big step forward for system > security. But it's not that easy to understand. Mitch Tulloch shows you > how it works, and offers tips for making it better. > > > --------------------- > Web > --------------------- > ***The Best Structure For Your Flash Site > Few developers know how to use Keyframes, ActionScript, and MovieClips, > and can control the Flash playhead to their advantage. Optimizing your > use of these elements can help you reduce file size, minimize download > times, and create efficiencies that make altering your work easy. > > > > ***Is AJAX Cross-Browser? > What does AJAX mean (if anything) for cross-browser compatibility? Kevin > Yank takes a look at both sides of the argument. > > > --------------------- > Java > --------------------- > ***Implementing Mutual Exclusion for AJAX > AJAX programmers who come from the Java world should be concerned with > JavaScript's non-support for safely managing data structures in a > concurrent fashion. If one thread is changing the DOM while another is > reading it, problems are likely. Java developers can attack this with > tools from the synchronized keyword and the old Object wait()/release() > to the modern java.util.concurrent package introduced in J2SE 5.0. Bruce > Wallace addresses the problem by introducing protection for critical > blocks of JavaScript code. > > > > ***Supporting Branch Office Environments > Supporting the IT needs of branch offices that have limited or no IT > resources can be a challenge. What to do? Mitch Tulloch, author of > "Windows Server Hacks," interviews Richard Harrison, CISSP, principal > technologist for infrastructure and security at Content Master, who > offers his expertise on how to support branch offices using Windows. > > > --------------------- > Podcasts > --------------------- > ***Scaling Games Up > This week we're talking about games. Big games. Amy Jo Kim talks about > taking the lessons from game playing and applying them to your > applications. Jane McGonigal talks about scaling up intimate two player > games so that thousands of people can thumb wrestle. (DTF 04-18-2006: 27 > minutes 49 seconds) > > > > ***Patterns for Communication, Moderation, and Information Processing > We're finding patterns everywhere. Clay Shirky talks about patterns of > moderation strategy, Jon Udell makes recommendations for those of us > seeking attention, and George Dyson helps us understand the present by > looking back at Von Neumann. (DTF 04-03-2006: 31 minutes 05 seconds) > > > For more podcasts, go to: > > > --------------------- > Digital Media > --------------------- > ***Aperture 1.1--Apple Listens > With Aperture's new features, bug fixes, and universal compatibility > with PowerMacs and Intel Macs, it's now a serious contender for top > digital photo software. Scott Bourne reviews Version 1.1. > > > > ***Digital "Not Hot" at Sundance 2006 > Digital cinema is no longer new or novel, but it is clearly and > inevitably, the wave of the future. Susan Boyer attended this year's > Sundance film festival and gives us a glimpse at how the cinematic landscape is > changing. > http://digitalmedia.oreilly.com/2006/04/05/digital-not-hot-at-sundance-2006.html > > --------------------- > MAKE > --------------------- > ***Maker Faire, San Mateo County Fairgrounds, San Mateo, CA--April 22-23 > Join the creators of MAKE magazine, the MythBusters, and thousands of > tech DIY enthusiasts, crafters, educators, tinkerers, hobbyists, science > clubs, students, and authors at MAKE's first ever Maker Faire! > > People and attractions we'll have at the Faire includes: a flying Pterosaur > replica, a flock of whale blimps, a giant painting machine, DIY RFID > implants, model rocketry, breadboarding, trailer glass blowing, The > Crucible's welding workshops off the back of a fire truck, pinhole > photography, soldering, spud gun building, bubble machines and a bubble > guy that appeared on Johnny Carson in the seventies, Bunnie Huang, Joe Grand, > William Gurstelle and his Backyard Ballistics, The Exploratorium, Zeum, > The Lunar Society (rocket builders), Graffiti Research Lab, Squid Labs, > biodiesel making, electric cars, a Linux supercomputer cluster running > on veggie oil, neon art, circuit bending, VJs, slide rules, pinball > restoration, the Phenomenauts, Satan's Calliope and much more. Quite > an eclectic collection, not to mention Diana Eng of Bravo's Project > Runway and the 50 craft booths in Bizarre Bazaar and the Swap-o-Rama-Rama. > > CNN, NPR's Science Friday's Ira Flatow, KPIX TV, Discover Magazine, CBS > News, The Discovery Channel, The New York Times, Kevin Rose of Digg and > digg.com Films, and CNET will be covering the event. But hey why wait > to read it in a blog or see it on TV when you can be there in person? > > If you haven't purchased your ticket yet, visit: > > > > ***MAKE Video Podcast > The making of a Warbot and death of a RAZR phone. > > > ***Try a Sample Project from MAKE: > > > > Until next time-- > > Marsee Henon > > > ================================================================ > O'Reilly > 1005 Gravenstein Highway North > Sebastopol, CA 95472 > http://ug.oreilly.com/ http://ug.oreilly.com/creativemedia/ > ================================================================