Multimethods, Netcat, Cfengine, and PHP Styleby chromatic
Linux Newsletter for 06/02/2003
Good afternoon. Welcome to the first Linux newsletter of the month of June. Instead of enjoying the sunshine in the new hammock, your editor is slaving away to summarize everything new in the last week on ONLamp.com. Here's what he found:
David Mertz returns with another installment in his Advanced OOP series. This week, he explores multimethods. This is also called multiple dispatch. Instead of dispatching a method based on the single object invocant, multimethods are dispatched based on multiple invocants. Complicated? Yes, but you're probably already used to it in a mathematical context.
KIVILCIM Hindistan also returns to introduce Netcat,
the Swiss Army Knife of networking. If you already know the myriad uses of the
cat utility (implicit or explicit), imagine what you could do if
it were usable over the network. That's Netcat.
John Coggeshall's new PHP Foundations series is all about proper paranoia. If you think like a bad guy while you're writing your code, it'll be harder for a real bad guy to break into your site later. Common Style Mistakes, Part 1 explains several techniques that make it easy to do the wrong thing, suggesting better styles that make the right thing easier.
To subscribe to the Linux newsletter (or any O'Reilly Network newsletters), visit https://epoch.oreilly.com/account/default.orm and select the newsletters you wish to receive in your user profile (you'll need to log in with your existing O'Reilly Network account -- if you don't yet have an account, you'll need to create one).
To change your newsletter subscription options, please visit https://epoch.oreilly.com/account/default.orm and click the"Manage My Newsletters" link. For assistance, send email to
Finally, we're pleased to present AEleen Frisch's top open source package for system adminstrators. It's Cfengine, Mark Burgess' tool for configuring Unix systems.
This week's featured OSCON speaker is Steve Holden, speaking on Network Programming in Python. Steve has been working with TCP/IP since the 1980s and wrote the New Riders book, Python Web Programming.
Given the excellent performance of the agile languages (Perl, Python, Ruby) and the fact that so much of network programming involves waiting on connections and munging data, it seems like a natural fit to write web programs in a language designed for rapid development. Powerful networking libraries, higher abstractions than C, and not having to worry about buffer overflows are all compelling reasons. If you need raw speed, you can still link to a C extension, but you might discover that you can just ship your "prototype".
Has the time come to consider the agile languages as the next application programming languages? Perhaps. Steve has some success stories to share.
Join us again next week for CVS and Bugzilla, palmtop Unix, and TFTP.
See you then,
ONLamp.com and Linux DevCenter Top Five Articles Last Week
Top Five Open Source Packages for System Administrators
AEleen Frisch, author of the best-selling Essential System Administration, 3rd Edition, offers the final installment in a five-part series on the most useful and widely applicable open source administrative tools. The countdown concludes this week with the number one utility, Cfengine.
Video Playback and Encoding with MPlayer and MEncode
No consumer Linux box is complete without the ability to play digital video files. Until recently, this was difficult -- the codecs weren't freely available or distributable. MPlayer seeks to change this. KIVILCIM Hindistan introduces MPlayer and demonstrates some of its features.
Advanced OOP: Multimethods
Most popular object oriented languages take their method dispatch styles from Smalltalk's message passing style, dispatching based on the invocant. Another approach is multiple dispatch or multimethods, which considers multiple invocants for dispatch. Why is this important? David Mertz explains how multimethods improve polymorphism and often provide a better alternative to inheritance.
Netcat and Reverse Telnet
The venerable Unix utility cat has all sorts of uses, but it's limited to the local machine. Enter Netcat, a network-aware cat. KIVILCIM Hindistan introduces the Swiss Army Knife of networking.
Common Style Mistakes, Part 1
Programming securely is more than working down a list of checkboxes. You must adopt a security mindset. In the first of a series called PHP Paranoia, John Coggeshall explains several PHP style mistakes that make writing solid code more difficult.
Return to the list of Linux Newsletters.
Return to the Linux DevCenter.