What is Larry Thinking? #17 => Resources, Q&A, and Nothing About Ducks

December 3, 2008

In this edition…

About this Newsletter

Three really simple goals in this newsletter: introduce my new blog, answer some of the questions I’ve received, and update everyone about my book giveaways. Let’s get right to it….

On the Web => Larry Ullman’s Blog

I’ve finally broken down and created a blog. I’ve resisted such for years but it’s been requested lately and I think I can use it as a nice complement to my books and this newsletter. I will continue to send out this newsletter on a monthly basis, with more or less the same format and contents. The focus will continue to be on answering questions in detail, short articles, book news, and book giveaways. The blog will also have short articles, along with more code samples, quick links to interesting articles and news around the Web, and discussions of things I’m learning or doing. The URL for the blog is http://blog.dmcinsights.com. There are a few posts there already; you may want to start by reading the uncategorized ones that discuss the thinking behind the blog itself and what I’m going to be doing with my sabbatical (my time off over the next four months or so). I still need to tweak the appearance and layout some but it’s good enough for people to start reading now (I hope).

On the Web => Learning the Linux Shell

One of my new favorite Firefox plugins is StumbleUpon. It puts a toolbar into the browser that, when you click a button, brings up a random page from the Web based upon your already-entered preferences. Through it I discovered this guide to the Linux Shell: http://linuxcommand.org/learning_the_shell.php. This is a fairly well organized and written but still short enough guide to the command line interface on Linux. I realize that most people are not using Linux, but Mac users can take advantage of this information as can anyone that might end up using a Linux server at some point (which is most people doing Web development). Even if you don’t have the immediate need, this presentation of the basic ideas–like the Linux file structure–and commands is worth reviewing just so the terms are familiar to you.

If you want more of a reference for different command-line utilities, check out http://www.ss64.com/bash/.

On the Web => Web Design Resources

Other useful sites I’ve discovered lately include Resources for Web Design, Devlisting, and CSS Cheat Sheet. Each is a simple reference for the associated topic. The first is a full page of links, organized by subjects ranging from PHP to character encoding to search engine optimization (abbreviated SEO) and copyrights. Devlisting looks like a simple page of links but there’s a lot more to it than that, including its own blog. You’ll have to check it out for yourself. The CSS Cheat Sheet is exactly that, listing lots of CSS references–the kinds of things I’m always looking up to remember the proper property–on one page.

Q&A => What newsletters do you subscribe to?

I had mentioned in a previous email that I get a lot of my information from newsletters so someone naturally asked which ones I’m subscribed to. I kept an eye on my email for a couple of days and came up with this list. First, here are general technology news lists that I follow:

From these I get general technology news, information about new products, reviews of hardware and software, and so forth. VersionTracker has a great daily mailing list that reports new software and updates to existing software.

Second, I strongly recommend that you subscribe to whatever lists are available for the software and languages you use. Mine include: Mac OS X Server (http://lists.apple.com), MySQL, several PHP lists, etc. This is very important because, for example, if you’re using the Phorum software on a site and a critical security update is released, you need to know about it ASAP so that you can install the new version.

Q&A => How do you get a book published?

I get asked this frequently by readers and acquaintances alike. There’s actually not the mystery to it that people suspect. You don’t have to know someone and you don’t necessarily have to have a specific kind of experience. Those things help, sure, but they aren’t required. To get a book published, you need to:

  1. Have a good idea.
  2. Present it to the right people.
  3. Demonstrate that you’re capable of writing it.

Most people err in the first two steps: not having a good enough idea or not presenting it to the right people. For example, Adobe Press won’t publish your book on PHP, because Adobe Press only does books related to Adobe products. Or seeing if O’Reilly will publish your JavaScript book (probably not, as they already have a bestselling one). But if you have a good idea and take it to the right publisher, then it’s just a matter of demonstrating that you’re the one to write the book. This means that you follow directions–most publishers have lists of guidelines for submissions on their Web sites–and have clearly thought through the topic and proposal. An ability to write is obviously important, although not as critical as you might think. So the very, very short answer here is that you should check out a publisher’s site for guidelines and abide by them carefully.

For my first book–“PHP for the World Wide Web: Visual QuickStart Guide”–I approached three publishers, including Peachpit Press, the eventual publisher. I went to them because I liked their books. Obviously this was a good idea for a book (there were only one or two out on PHP at the time); in fact, another writer proposed a PHP book to Peachpit at the same time as I did. First, I submitted some marketing information, a table of contents, and some information about myself. They then requested a sample chapter, which I provided. That’s all it took. Having written for Peachpit Press (and others) over the past eight years, the process has gotten easier because I am more of a known entity, but still it comes down to having a good idea and taking it to the right people. I’ve written 15 books for Peachpit, including revisions, and they’re still not going to publish a book of mine unless it’s likely to sell and fits in with their other books.

Q&A => What browser do you recommend?

This is a two-part question in my mind. First, there’s the browser I recommend for personal use. The answer there is simple: Firefox. I primary use a Mac, so the big two are Safari and Firefox. I used to use Safari first and Firefox second but switched sometime back (I forget why). I like the plug-ins that Firefox offers and have just gotten used to it. If a site doesn’t work well or properly in Firefox, then I use Safari. I have in the past used Opera but never for long. For non-work stuff, I never use Internet Explorer or anything else (I’ve also heard good things about Google’s Chrome but it’s currently only for Windows).

The second part of this question is the browser I use for work-related purposes. Primarily this is again Firefox for three reasons. First, again, its plug-ins are great. Second, it has the best JavaScript and Document Object Model (DOM) debugging of any browser I’ve used. Third, the cookie management is also the best I’ve seen for debugging purposes. All that being said, if you’re developing Web sites, you need to test in as many Web browsers as possible, starting with the most popular. So you absolutely must test your site in Internet Explorer, Firefox, and Safari, and on as many operating systems as you have access to. But I start with Firefox and then test and tweak using these others.

Q&A => How do Google Gears, Microsoft’s Silverlight, and Adobe AIR compare?

I’ve been asked about this and have also seen online comparisons of these technologies (some of those comparisons were woefully inaccurate). Google Gears is a browser plug-in that works with Firefox, Internet Explorer, and Safari. If a browser has this plug-in, Web sites can provided desktop application-like features through the user’s Web browser. For example, a site could provide content for while the user is offline. Microsoft’s Silverlight is quite similar: a plug-in that works with Firefox, Internet Explorer, and Safari that can be used to enhance the features and functionality of a Web site. There is definitely a value to these tools, just like there’s a value in using, for example, Flash. Yes, the user has to install a plug-in but they can be rewarded with a richer experience.

In my opinion, Adobe AIR is not comparable to Gears and Silverlight for this simple reason: AIR is used to create actual desktop applications that run outside of any Web browser. All of these technologies are cross-platform but AIR is entirely separate from the user’s Web browser. This is confusing for some people because you can use the same technologies used on the Web–Flash, Flex, and HTML/JavaScript (all three separately or together)–to create AIR applications. I think of AIR applications as being more similar to Java applications: the runtime engine is operating-system dependent and has to be installed once, then the AIR application runs through that. So Gears and Silverlight are extensions of the Web whereas AIR is used to create stand-alone programs.

Book Giveaway

The book giveaway for my “Ruby: Visual QuickStart Guide” is over. I’ve already contacted those that won and shipped out their copies. I thank everyone for their responses and if you didn’t win this one, you’ll get another chance. In fact, with the forthcoming publication of the third edition of my “PHP for the Web: Visual QuickStart Guide “, I’ll do another giveaway in January (although the book will come out in December).

My Book News

The last bit of news for a while is that the third edition of my “PHP for the Web: Visual QuickStart Guide” is on its way to the printer and will be available in December. The revision went smoothly and actually got out on schedule!