Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Thursday, September 10, 2009

O'Reilly Media Computer Books

Amazon.com >Books >Publisher >O'Reilly >

O'Reilly & Associates began publishing computer-related books in 1978 (before the PC revolution) with a small series of highly regarded UNIX® manuals.

Their books were frequently better than the "official" documentation, if any such documentation existed at all, and several of their animal cover books like The Camel Book and The Rhino Book became classics.



O'Reilly
Search O'Reilly Books
Browse Categories
Browse Features

The Hacks Series is a fairly new addition to the O'Reilly family. Each book in the series highlights about 100 simple, elegant hacks for the featured technology in simple, straightforward cookbook form. There are too many volumes in this growing series to feature them all here, but here are a few representative titles:

There are times when a hard copy book is more convenient than reading online, but computer books are often used for reference, and a searchable CD version can actually be preferable -- and CHEAP!! O'Reilly's CD Bookshelf Series is an under-appreciated programmmer's goldmine. And since you don't always need the latest bleeding edge technology, older editions can be an absolute steal. Here are some favorites:

Lest you get the impression that O'Reilly caters exclusively to the terminally geeky, they also publish beginner's books including their excellent Head First Series, which assumes no prior knowledge and generally figures prominently in O'Reilly Bestsellers. Here are some samples:

Monday, August 24, 2009

Lijit Search

I've added a new Lijit Search form to this blog which I hope will make it easier to find content from a variety of places where I publish. I've been struggling to be found by the well-known search engines for some time now, but this service is a new one to me. Apparently it allows you to build a custom search engine using your social bookmarks.

It's a very different kind of crawler, and I'm still trying to sort out exactly how it works. It seems to rely primarily on RSS data, another technology I need to learn more about. I did an initial set-up about a week ago, and it's probably too soon to expect much from the search results, but it is possible to get search hits for specific keywords known to be near the top of the queue -- such as "vaporizer", for example. So I know it's working, I'm just not sure how well.

Additionally, I set up the embedded search results feature today, which requires a bit of JavaScript running on an assigned landing page. If you're reading this from a feed, that should explain the previous cryptic post. You have to be at the actual Whole Ed Cata-Blog site and enter a search term into the Lijit Search form in the blog template for results to be displayed.

I don't care much for blogs about nothing ("I'm sitting at my computer now, writing a post about the post I'm writing for my blog...") Therefore, I'll cut this short. I really just wanted to explain that last post to subscribers, and explain why the Lijit search results are as bad as they are right now. It just takes some time for me to figure out how to set it up efficiently, and to crawl the network.

Tuesday, January 06, 2009

PC-BSD 7.0.2

I'm not easily embarassed, but I should have looked around the FreeBSD Site a little more before my last post. I was so thrilled to see changes in FreeBSD 7.0 that would help me to finally get my MySQL server set up "right," that I completely overlooked PC-BSD. I assumed that it was yet another branch in the BSD code tree, and that since it was new, it couldn't amount to much yet. Wrong!

One of the biggest challenges in building a *NIX network is to get all the component programs and their dependencies sorted out to build a useable desktop environment. This is one area where Linux distros have outpaced the BSDs. PC-BSD, it turns out is not a new BSD branch, but simply a distribution of the current STABLE FreeBSD release.

The distro includes a selection of software packages and its own PBI (Push-Button Installer) utility. Together, these constitute a desktop operating system that is easy to install and use, while preserving FreeBSD's full range of configuration options "under the hood." I'm juggling boxes now to get something Pentium Threeish to test this on!

For more information see The PC-BSD Quick Start Guide.

Sunday, January 04, 2009

FreeBSD 7.0

BSD is the best kept secret in the world of desktop operating systems. And by "secret," I mean not the least bit secret, completely out in the open, freely available to all, and entirely open source. Talk about hiding in plain sight! So what is it?

Let's begin with a little history: UNIX is a multi-user multitasking operating system developed in 1969 by AT&T employees at Bell Labs. The name is reference to an even earlier OS Multics, so it's ironic that the copyrighted name UNIX® has been so jealously guarded for all these years. Almost as soon as UNIX appeared, various organizations began to create their own software around the same general framework, most notably UC Berkeley with their Berkeley Standard Distribution -- BSD for short.

With so many versions of *nix floating around, it was inevitable that the POSIX (Portable Operating System Interface) API would be formulated to ensure interoperability. So all the flavors of BSD, Linux, SunOS, Irix, HP/UX, etc. can now be called simply "POSIX-compliant UNIX-like Operating Systems" (or just *NIX). All this development occurred in the realm of big iron, since Intel's first multi-tasking CPU (80386) didn't arrive until 1986, followed by POSIX in 1988.

The Regents of the University of California released the BSD code into the public domain in 1990, and the first x86 architecture port of BSD -- 386BSD followed in 1992. So, if there's been a perfectly serviceable network-ready clone PC operating system freely available since well before Windows 95, why are so few people using (or even aware) of it?

One reason is that it's free. A lot of people automatically distrust freeware. There is also no particular incentive to promote or advertise FreeBSD and its variants, although some enthusiasts (like me) do what they can in terms of advocacy. Then there is the question of suitability for a given task. *NIX is much better adapted to network server applications than to stand-alone desktop use. Finally, Windows and *NIX are very different in their general philosophy.

Windows requires relatively little expertise to successfully install and operate. Everything is done automagically by wizards. BSD is vastly more configurable, but that versatility comes at a price: You need answers where you didn't even know there were questions. That isn't an insurmountable problem -- BSD has some of the most extensive and complete documentation available for any software. Unfortunately, accessing that information can be a bit overwhelming -- like taking a drink from a fire hose.

Here's what to do: the next time you replace a computer (or see one being discarded), use it for your BSD project box. There's no substitute for diving right in and getting your feet wet. If you've already tried this in the past, try again. The 7.0 Release is a big improvement over previous releases in terms of ease of installation and configuration. Don't worry if you can't get everything you could possibly want up and running in an afternoon, that would be an unrealistic expectation. Just fiddle with it when you can and before long you'll be amazed at what that old "piece of junk" computer can do unencumbered by an operating system so "advanced" that you need a new computer for every new OS version.

Now I'm not even going to attempt to tell you how to use BSD in you particular circumstances, or even which flavor is best for you, but I will point you to some significant resources:

  • The FreeBSD Handbook (volume I) This users manual will take you step by step through the process of installing FreeBSD on a PC-clone and setting up a graphic user interface, which should be a more comfortable environment if you are accustomed to Windows.
  • The FreeBSD Handbook (volume II) This administrators guide focusses on network server tasks.

Like the OS itself, these resources are available online, but sometimes a hard-copy edition is much handier. Even if you are installing a version of BSD other than FreeBSD, this documentation will be helpful.

You may want to get installation CDs, but if you have broadband internet, I recommend that you try installing from an FTP server first. It's surprisingly easy and (sort of) fast. All you need to do is follow directions to prepare 5 floppy disks, then the rest of the distribution will be downloaded as needed during the installation process. (Try that with Microsoft!)

After you have installed BSD you will have access to the manual pages accessed by the command "man <command>". Start with "man man" to learn more about the man command itself, and since you probably can't read fast enough to absorb the whole page as it flashes by use the pipe (|) character to redirect output to "more," a simple utility that displays one page at a time. So you'll type "man man | more" (without the quotes) then press enter.

Like Perl, *NIX make easy things easy and hard thing possible. Enjoy.

Saturday, February 23, 2008

Amazon Associates Web Service

I've been struggling with the Amazon Associates Web Service for some time now, using the simple "3.0" version with some online resyndication tools to create some pretty useful dynamic content. (At least I think it's useful!)

When I learned that the deprecated 3.0 version would expire this March (March 1? March 31? I don't know.) I broke down and ordered Jason Levitt's The Web Developer's Guide to Amazon e-Commerce Service, but didn't get serious about "Migrating from Amazon ECS 3.0" until quite recently. Big mistake!

While Levitt's book is extremely useful, it is a bit out of date, which wouldn't really matter much if Amazon's support for older ECS 4.0 versions was better. Unfortunately, there are a lot of holes in Amazon's documentation of the many sub-versions (or "subversions") of ECS 4.0 denoted by dates in YYYY-MM-DD format.

As if to make a bad situation worse, Amazon has timed the rollout of it's newly renamed Amazon Associate's Web Service to coincide with the expiration of AWS (E-Commerce) Service 3.0 -- Yikes!

I've yet to see any indication that A2W (as they like to call it) is anything more than an incremental 4.0 upgrade, but it does serve to further muddy the documentation waters.

There really seems to be no alternative to really learning XML and XSLT fast. Here are a few of the books I'm using in this quest: