What is Larry Thinking? #52 => Twitter and More!

March 12, 2012

In this edition…

On the Web => Follow Me on Twitter!

Sometimes it’s tough being such a pioneer, but, yes, I am now officially on Twitter. Only about 500 million people and organizations beat me to the punch.

I’ve obviously been aware of Twitter for years now, but have avoided all forms of “social media”, despite the fact that many readers, and even my publisher, have kept suggesting that I create an account. Well, I finally accepted that “I don’t wanna” isn’t really a good reason for not having a Twitter account. And, I reminded myself that I could use Twitter the way I want, that it doesn’t have to be a stereotypical (and inane) series of “I am eating a sandwich.” tweets.

So I’m now officially @LarryUllman (clever handle, no?), although I have yet to actually tweet. Rest assured that I will start tweeting within a day or two of this newsletter going out. My thanks in advance to everyone for following me, and to those that gently nudged me in this direction.

On the Web => Facebook and MySQL

Some time ago, I came across an article titled “Facebook trapped in ’MySQL fate worse than death’”. It’s a purposely overdramatic title, to be sure, but the article does a good job of discussing the problems that a very popular site such as Facebook has in scaling its database backend. The article also introduces some possible solutions to that problem. You may also find this to be an interesting read, although I would caution not to take away from the article that you shouldn’t be using MySQL. Facebook is probably the most active site online, and any one of us would be lucky to create a site that’s one-hundredth as popular (and therefore, technically demanding).

On the Web => 99Designs Contest for My Logo and Business Card

On Friday, I created a logo and business card design contest at 99designs. If you’re not familiar with 99designs, it’s a croudsourcing site that’s getting a lot of press these days. At the site, you create a “contest”, indicating what you want and how much you’re going to pay. For example, you may offer $200 for a business card or $150 for a t-shirt (all prices in USD). That price is set in stone, and is what the final winner will get. Designers then submit entries. The great thing is that you can see the entries as they come in and provide feedback. Designers can then submit new designs, based upon that feedback; not just on their designs, but on the others, too. My contest is restricted to 99design users, but you can see other examples here. After the qualifying round (four days, in my case), you can select the finalists and move towards the final round (three days). Then select a winner who will be paid the designated amount.

With this system, the more you’re willing to pay, the more submissions you’ll get. I decided upon (with help from the 99designs “create a contest” wizard), a total of $644 for a logo and business card. As of this writing, three days in, I’ve had 118 entries from 35 designers. On the first day, most of the entries were amateurish: the kind of thing I could have created in Photoshop myself. On the second day, better designs came in. Then I guaranteed the contest, which means I’m saying that I’ll definitely pay for one of the designs. Once I did that, the number of entries ballooned from around 30 to 118.

A year or so ago, I spoke with a local company about designing a logo and business card. I believe the estimate they gave me was around $6,000, which included hours of research (at $180/hour or so). To be clear, having a good logo and business card really isn’t important to me, but I’d like one that I’m not embarrassed about. Six thousand dollars for something I don’t feel that strongly about is completely impossible, let alone not something I can afford. But the 99designs contest will give me a logo and a business card that looks nice, without breaking the bank.

To be fair, there are some that don’t like the idea of crowdsourcing, as all but one of the designers will get paid nothing for their work. This really doesn’t bother me, and not just because I’m a buyer and not a seller here. First of all, no vendor has to participate (i.e., if you don’t like the risk of not getting paid, don’t do it). Second, if you’re just starting out, crowdsourcing provides access to a slew of jobs and clients, which you wouldn’t otherwise have. Third, and most importantly, I would see crowdsourcing as an extremely valuable learning tool for vendors. By participating in these contests, or by just watching them, you can really learn a lot about the design process and about what customers want. In short, this is free and easy access to valuable experience.

Well, since I wrote this yesterday, a lot more entries have come in. The current count is 189 designs from 62 designers. I’ll be sure to share the winning design when all is said and done.

On the Blog => Autographed Copies of “Modern JavaScript: Develop and Design” Now Available

In response to several reader requests, I can now directly sell autographed copies of Modern JavaScript: Develop and Design. I only have the original, printed book in English available. I cannot sell you an ebook or a translated version. To cover my own costs (i.e., I have to buy copies of the book to sell to you), the base price is $40 (USD), plus shipping. This is about $6 more than if you were to buy the book at Amazon, but the book you buy will be autographed and inscribed however you want. For international recipients, this will undoubtedly be the fastest way to get a copy of the book.

In order to get this option up as quickly as possible, I just set up a simple PayPal system. Head here to start that process. The shipping cost within the United States is $5.00 for priority mail, which gets it to you within a couple of business days. The shipping cost for international recipients is $17.00. This is also priority, and means the book should arrive within about a week, more or less. (Shipping rates have really gone up lately, and it’s a heavy book because it’s full color.) I’ll ship out books within two business days from receipt of payment. Note that for the time being, you can only order a single copy of this one book at a time. For multiple copies or to buy other books, please contact me directly.

If you have any questions or comments, let me know. Thanks!

On the Blog => Using PayPal’s WebSite Payments Pro with “Effortless E-Commerce with PHP and MySQL”

In Part 3 of my “Effortless E-Commerce with PHP and MySQL” book, I use Authorize.net to process payments for a site that sells physical goods. Authorize.net accepts credit cards and can be directly integrated into your site, so that the customer never leaves (unlike, for example, PayPal’s Website Payments Standard, used in Part 2 of the book, which goes through PayPal’s site). The code in the book was written in a very modular style, with the intent that you can use the components you need, and swap others in and out. A long time ago, a reader specifically wanted to know how you would use PayPal’s Website Payments Pro instead of Authorize.net, and so I finally explained how to do that in a blog post.

Q&A => Does It Make Sense To Use a Code Generator?

Tim had recently sent me this question, stating

At times I feel overwhelmed with all the logic, syntax and complex structure of some scripts. Does it make sense to use a code generator to do the “heavy lifting” and then go into the code and “massage” it to suit your needs?

In many situations, it absolutely makes sense to use a code generator. In fact, one of the reasons I like the Yii framework is that it generates a lot of the basic code for you. A code generator, in case you’re not familiar with the concept, is a tool that will generate the physical file, and the code itself, for you. You would then edit the generated code to be more specific for the goal. Of course, a code generator is a program, perhaps even written in another language. The complexity of the generator itself can vary, resulting in code that’s more or less specific.

With this in mind, you’ll need to balance the amount of work required to create the code generator vs. how much time you actually save using one. With PHP in particular, which isn’t that complex, using a good text editor or IDE, which will perform autocompletion for you, may be sufficient. Or, for that matter, just using a template in your text editor or IDE, can suffice. For example, if your application has the ability to create templates, it might create a PHP file template, with the opening and closing tags, the inclusion of a configuration file, a header, and a footer, and many comments. You might then use your application’s autocomplete or bundling tools to quickly drop in code for function definitions or database queries. Taking the time to customize and maximize the use of your text editor or IDE may be more efficient for something as simple as many PHP scripts.

Larry Ullman’s Book News => “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)

So the JavaScript book is done and available at a store near you. Assuming, of course, that a book store still exists near you (my local Barnes and Noble is constantly taking out bookshelves to sell more games and toys; troubling as a writer). Many people have started receiving their copies already.

I should mention that the book is in full color (my first). This also means the book is heavier, and explains its higher price. The book has a clean, open design in a single-column format, not the two-column format of my Visual QuickStart/Pro Guides.

Some articles supporting the book will be going online soon, and I’ll post those links as I have them.

I’m currently in the process of revamping my Web site, but this month I also start the third edition of my “PHP 5 Advanced: Visual QuickPro Guide”, which will come out this summer. I’m planning on expanding my coverage of OOP and related topics like design patterns. I’ll also remove some of the deadwood and create new chapters. If you have any thoughts or suggestions, I would love to hear them. Thanks!