WordPress Plug-Ins That I’d Like to See

I’ve been using WordPress for various sites for a number of years. Rarely have I been able to use it as-is. Usually, I have to go into the code and make some changes to get things to work the way I want. But recently I was lectured by someone about this. I should be using plug-ins (AKA add-ons) instead of modifying code.
It is true that modifying the WordPress code has one huge disadvantage: it is very hard to update to the latest version of WordPress. Before any update, I need to go though the new files and add my little changes. It makes it a pain and I end up skipping updates because of it.
Writing my own plug-ins is no going to happen. Do I add WordPress to my growing list of expertise? There just isn’t enough room in my brain.
So if there are any WordPress plug-in programmers out there looking for some ideas. Here are four plug-ins that I would love to see. Or, if you know of a plug-in that does this, let me know.
1. Private Tags
Tags are a useful way to organize your posts. I use tags to indicate topics covered in a post. But I also use them for other things. For instance, if a post is to be included in newsletter number 43, I tag it n43. The problem is that those tags appear in lists and clouds that the public can see. I’d like to be able to indicate that a tag is “private” and not use it in lists and clouds that the public sees. The post should be visible, sure, just not that it is tagged with that particular tag.
2. Indented Paragraphs
This one has driven me crazy since the dawn of WordPress. I want each paragraph in a post to have a little space after it, to separate it from the next paragraph. In addition, I’d like the first line of each paragraph to be indented, like it would be in a book or newspaper.
Now, there are tons of ways to do this if you are writing a post. But what if you want to apply a change like this to all of your previous posts. This is difficult to do as a WordPress modification, and I’ve never seen it work quite right.
3. Daily Status Report: Number of users, plug-ins, comments, images, etc.
A common WordPress break-in technique includes the addition of plug-ins to your install. So you can avoid a lot by simply confirming that no new plug-ins have been added. A good way to do this is via email. I’d love a plug in that send me a status email every day with the number of plug-ins and any changes. And while it is doing that, it might as well tall me if any new users have been created, the number of comments added, etc. This would be a useful tool to look for any anomalies.
4. Email Alert on Login
With all of the nasty people and bots out there targeting WordPress installations, I’ve come up with a variety of WordPress modifications to make it more secure. Some of those revolve around the fact that I rarely let people register for my sites — doing so only creates another ID and password for them to remember, a huge database of users for me to maintain, and doesn’t seem to cut down comment spam or have many other positive benefits.
So if someone tries to log on, it should be me. So I’ve modified WordPress to simply email me when someone logs on. Every once in a while I get someone (or a bot) trying to do this. I get their IP address and add them to my firewall. I also see what user name and ID they used, so I can monitor their attempts.
5. Access Restriction
I’ve seen the horrors of a WordPress break-in. It used to be able to happen no matter how secure your server, passwords or firewall was. Things are better with the latest versions of WordPress, but I’ve learned to take nothing for granted.
You should be able to restrict admin login, or access to any admin page, by things like IP address or even browser type. Not everyone has a static ID, but this could be useful for those of us that do. And perhaps the ability to change the standard directories and file names. So instead of wp-admin or wp-content it could be something else, which would really make it hard for a lot of the WordPress hacking scripts out there.
Now I know how to do all of these — I have done all of these — but as code base modifications, not plug-ins. I’m fine with that other than the pain it takes to update. But I think WordPress would be a better platform if some enterprising developer wrote plug-ins for all of these.

September 7, 2009 • Posted in: General • No Comments

Things You Should Know About Writing and Reading Computer Books

computer booksSo I have written 13 computer books, with my latest coming out in September. Most have been about either Flash or Shockwave game development. All have been for major computer book publishers and have been distributed in retail stores worldwide.
There are so many misconceptions about how computer books are created and what you should get out of them. I deal with these misconceptions all the time. Most are just interesting, but some cause problems. But it seems that every time I start to talk about them, people are interested. So I thought I’d write up a list of the most common ones.
1. Computer book authors get rich from the royalties they earn from their books.
Of course, this is a misconception. Look at the numbers. Let’s say a book costs $25 at the store. You buy it for $20 at Amazon.com. That probably means that Amazon bought the book from the publisher’s warehouse for about $10. The lion’s share of that goes to the publisher. They paid to have the book printed and also spent a lot of money on editing, layout, marketing and accounting. The author would get about 10% of that, sometimes much less. So the author ends up with $1. But some of that is withheld for returns and there are other small deductions as well. If a book sells well, say 10,000 copies, then the author may take home $8,000 in royalties.
Now, contrast that with the time the author spent writing the book. Perhaps 3 months of writing and 1 month dealing with editing and reviewing edits from other editors.
A dedicated and motivated computer book author can make a living at this, but only if he or she is constantly working and producing new books. Most authors are like me and are actually working on other things most of the time, and produce a book here and there on the side, about a subject that we already know thoroughly — so no research is needed.
And I should point out that some computer books are created for a set fee, not royalties. So the author is simply writing for a fixed payday.
2. A computer book is created by the author.
The author is the writer, yes. But that is only one part of the team that creates the book. In my experience at least editors are involved: tech, copy, and project editors. Plus someone does the design and layout. Other people take care of other tasks. Look in the front of any major computer book and see how many people are listed. They all worked on it.
3. The author thought of the idea for the book.
This is true in some cases. In other cases, a publisher may identify a market for a book, and then seek an author to write it. Then in other cases the author and publisher may already know each other and discuss “the next project” — drawing on what the author can write about and what the publisher needs. A lot of my books are between the first and third cases. I come up with an idea and pitch it to the publisher. The publisher likes the idea, but proposes small changes in focus or audience.
4. The author sells the book.
I get this a lot. Someone buys a book and there is a defect, like the CD is missing or a page is torn. They want to know if I can send them a new one! That’s like getting a flat tire and calling up the automotive engineer who designed your car.
The book is produced by the publisher and sold by a bookstore. If the book has a defect, then you return it to the store. If the store gives you a hard time, then contact the publisher. I don’t have your $25 and I can’t ship you a new book.
5. Computer book authors can predict the future.
So once a book is out there, it isn’t like a Web site. It won’t update. For instance, when you buy a book about Flash CS3, and then you sit down to use it with CS4, keep in mind that CS4 didn’t exist when I wrote the book. I couldn’t predict what would change. So if something doesn’t work quite right, keep that in mind and try to use logic to figure it out.
6. You paid $25 for a book, you get free consulting from the author.
I love getting questions from readers, don’t get me wrong. But sometimes it gets out of hand. People ask me to complete their projects for them or create code samples for them. You can hire someone to do that. They would be called a consultant and would probably get between $50 and $150 per hour, if not more. For $25 you get a book, not a consultant. If the author responds to your email, then please thank him or her for his time. Remember that he or she probably has a full-time job and a lot of work to do, so ask reasonable questions and expect reasonable answers.
7. You paid $25 for a book, you get free tutoring.
Related to point 6. A lot of students use computer books, sometimes even assigned to them by their teachers. If you are paying for school and you have a question, ask the teacher. That’s what they are there for. At least that’s what they should be there for. You can ask the book author a question about the book, certainly, but don’t expect the author to help you do your homework.
8. By writing a book, an author proclaims that his way is the only way.
When using computers there are usually many ways to do similar tasks. With programming, this is especially true. But a computer book author must choose one style or method or the book won’t be able to move forward and teach the subject. That doesn’t mean that the method is the only way. It doesn’t mean that the author declares other methods as being wrong. So if you disagree with something in a computer book, pat yourself on the shoulder for understanding that particular subject thoroughly enough to be able to see multiple methods of accomplishing the task. Then move on.
9. You can skip ahead in a computer book without consequences.
If you are learning a new subject and are excited about it, it might be tempting to skip ahead. But then if you encounter something you don’t understand, realize that you need to go back and read what you have missed. I get lots of questions from people who skip chapters in my books to get to the game they want to create, and then find they don’t understand some concepts. I put chapter 12 after chapters 1-11 for a reason.
10. Reading a computer book will make you an expert.
You buy a book on Flash game programming and read it from front to back. Now you are an expert and able to make any game, right? Guess what, I got a bachelor’s degree in Computer Science. I’ve been writing programs for 27 years. Don’t think that one book is a substitute for education and experience. It can be one step, certainly. But if you finish the book and find that you are unable to figure out how to create the program you need, then consider that you may need to learn more and you may need to get some more experience under your belt.

August 12, 2009 • Posted in: General • No Comments

My First NetBook

So I’ve been fascinated by the NetBook craze. Actually, I loved NetBooks even before they existed, being fascinated by the early Toshiba mini-notebooks in the 90s. But I’ve never owned one, until now. With prices close to $200 for a decent machine and my love of gadgets, it was just a matter of time.
I decided to go with the Asus eeePC since it gets the most attention and I wanted something popular to increase the chance of information and hacks being widely available. I got an older 900 series because I wanted to go small — and it looks like the newer ones are a little bigger.
For $219 I got 1GB of memory and 20GB SSD drive. Of course, I went with the Asus version of the Linux OS, and not Windows XP. I was tempted to go with XP, just because I could probably run Flash and Director on it, but I really wanted to use Linux. I may install eeeBuntu, but for now the Asus OS seems just fine.
So my first impressions are that it is indeed small and light. Perfect. I will be able to take this on short trips rather than my MacBook Pro, which is three times the weight. After all, while traveling, I just need email and Web access. I don’t really do any development while on the move.
The OS is a collection of apps, of which Firefox is the big one. That’s all I really need. It does have an email client, but I’ll probably never touch it. It also includes Open Office 2.0 which may come in handy for taking notes at conferences. A lot of the other applications are actually just Web links to email, Google Docs, Wikipedia, etc. But there is an instant messaging app and even Skype.
The hardware includes a camera and mic. And there is a video recording application that may come in handy. There are also headphone and a microphone input jack, as well as 3 USB 2.0 jacks and an SD card slot. Completing the ports are an ethernet jack and a VGA output to run an external monitor. OK, I can see doing presentations on this thing.
At first I thought that the trackpad was going to be a problem. Not the pad itself, but the hard-to-press button below it. Then I realized that you can tap on the pad to click. So the button is really just for click+hold and right clicks. In fact, the track pad responds to two-touch for scrolling. The keyboard is small and hard to type on, but is still so much better than iPhone typing that I don’t mind.
The best app, for me, on the thing is one that isn’t even shown in the interface. By pressing Home+T I can bring up the terminal window. Then by typing “krdc” I can run the KDE Remote Desktop. This is the Linux version of Mac’s screen sharing, or VNC. Without a problem I can share the screen of my Mac Pro. That’s pretty much what I do with my MacBook Pro anyway.
So I’m pretty pleased with the NetBook so far. Combined with the fact that I now use a Mac Pro as my main machine, this might mean I don’t need to get a new MacBook Pro when my old one gives out.

Update: I got tired of the toy-like Asus OS. Plus I wasn’t able to install any additional applications for some mysterious reason. So I installed eeeBuntu standard. A real OS. I’ve used Ubuntu before, so it was all very familiar.
I love this little device even more now. Firefox rendering of pages is much better in this OS. It looks just like on a Mac or PC now. And I am able to add applications galore. It comes with a built-in VNC client that I don’t like, but I installed the krdc application without a problem. I was even surprised that my Sprint USB modem worked without any issues. So now I can use it pretty much anywhere in the U.S.

July 30, 2009 • Posted in: General • No Comments

iPhone App Development, Finally

So I just started building apps for the iPhone. This may come as a surprise to many, since I probably should have been building them from day one. But I was wary of the business side of things: complete control of the app store by Apple and the process of app approval. And I won’t deny that XCode and Objective-C were barriers as well. A quick look last year told me that they were a far cry from AS3, PHP and Lingo, the languages I’m best at.
But I got over it all and plowed into Objective-C a few weeks ago. It was slow at first as the book I was using put a heavy emphasis on controls and switches. After struggling with it, I realized that these were just like components in Flash, and I don’t use components. So I looked elsewhere.
I found a whole world of iPhone game developers using Cocos2d for iPhone to make games, and skipping all the NIB/XIB file stuff. After I gave in and decided it was OK to use a framework, things went a lot smoother. I was able to make things happen and got my first game all ready to go.
I worked out a lot of different things this first time around, like building menus, animating sprites, timers, etc. So the next game should go even faster.
Now I’m in that limbo of iPhone app approval. I submitted last Wednesday night, the 20th. So this is day number 8. I’m trying not to work on any more iPhone stuff until I see my first game in the store. I really want to get an idea of what it is like to have a game out there. Not only how much revenue comes in, but how much customer support is involved.

May 28, 2009 • Posted in: General • No Comments

Google Releases Shockwave 3D Competitor

We may finally have a legitimate Shockwave 3D competitor. Google has released 03D. You can read about it at the Google Code Blog and visit the 03D homepage here.
Basically, it looks like the programming is done in JavaScript and the rendering is through a browser plug-in. In the past, this may have not seemed like a serious platform, but with JavaScript getting faster and faster as browsers compete, it certainly is viable. And the whole things is cross-cross platform in browsers and OSes, even Linux.
Plus, it looks to me like development won’t require any investment. Just code away using Web development tools or even a text editor. Models can come from Max, Maya, Google SketchUp, and possibly anywhere.
You can see some demos which show that it can compete in the game space.
3D gaming on the Web might be getting interesting again.

April 21, 2009 • Posted in: General • No Comments