Michael Dorf

Michael is a professional software architect, web developer, an open-source enthusiast, and more recently, a WordPress addict. He has been creating software and teaching courses in Java and J2EE development for a dozen of years. Michael blogs about Hadoop, Java, Android, PHP, MySQL, and other cutting edge technologies that define today's web. He is also (and most importantly) a father of three little angels, Katya, Sasha, and Nadia and a husband of his beautiful better half, Simona. When his four princesses are not at his side, he enjoys playing a game of Soccer, Ultimate Frisbee, and Volleyball. Michael holds a M.S. degree in Software Engineering from San Jose State University, a B.S. degree in Computer Science from San Francisco State University, and a B.A degree in Political Science, Public Service from UC Davis.

Find Michael on:

Need High Levels of Concurrency? Try Stackless Python

July 19th, 2010 Leave a comment
Need High Levels of Concurrency? Try Stackless Python

Cloud computing has led to the development of applications that need a very high level of concurrency. Objects and routines need to support the ability to suspend their state and then continue running at a later time. In cloud computing, it may even be necessary to continue on a different server than the one the routine began on. Python does support traditional threading but threading does not provide enough concurrency for many of today’s distributed applications. Fortunately, there is a solution: stackless Python. What is it? Stackless Python is an implementation of Python that does not use the… View full post »

Google AdWords – 10 Proven Ways to Target Traffic

July 9th, 2010 Leave a comment
Google AdWords - 10 Proven Ways to Target Traffic

AdWords provides an effective, scalable way to target business prospects with textual ads based upon search queries. In many ROI studies of multiple media, search targeting has emerged as one of the single most efficiency drivers of commercial revenue today. While reaching potential customers through search, it is important to qualify the visitors with the right targeting settings, methods and tactics. With the right targeting settings you can vastly improve your ability to turn clicks into conversions, resulting in a higher ROI across your campaign as you further refine the settings for better performance. This guide can help both beginning and… View full post »

Proven Ways to Secure PHP

July 6th, 2010 Leave a comment
Proven Ways to Secure PHP

PHP is one of the most popular languages for web development today. As a result, hackers are always looking for ways to exploit PHP scripts to gain unauthorized access or cause damage to systems. Securing your PHP code is essential in any web application that you develop. When looking at securing your PHP application there are two main categories of methods for securing your code. The first category involves settings in PHP itself, via php.ini, that affect the overall security of your application. The second category deals with coding best practices and writing secure code to prevent… View full post »

Google Analytics – Site Performance Optimizations

July 2nd, 2010 Leave a comment
Google Analytics - Site Performance Optimizations

Google Analytics (GA) has changed the game for enterprise level analytics by offering a complete feature set without any licensing, seat or setup fees for most users. As a result, implementing conversion funnels, click tracking, path analysis and user segmentation is more accessible to a wider variety of website publishers. When it comes to gaining visibility into the behavior of your traffic, the tool has rapidly evolved to approach levels of performance by A-list analytics vendors. While the rich feature-set of Google Analytics makes it an ideal choice for analysts, the development side of the equation requires insights into load times,… View full post »

Is LAMP Still a Popular Choice for Web Development?

June 20th, 2010 Leave a comment
Is LAMP Still a Popular Choice for Web Development?

LAMP, which stands for Linux-Apache-MySQL-PHP, has become a very popular web development platform over the last several years. New platforms like Ruby on Rails, ASP.Net and J2EE have been rising stars in web development. So is LAMP still a popular choice for web development? Not only is LAMP as popular as always, but it should be popular for the many benefits it provides over other platforms. Cost Naturally, cost is the first item to consider when comparing the open source LAMP stack to commercial platforms like J2EE or ASP.Net. Open source products are free for download which makes… View full post »

Optimizing MySQL Queries

May 28th, 2010 Leave a comment
Optimizing MySQL Queries

MySQL is a very capable database server. It powers numerous web sites and applications and is so widely used that it was etched as the “M” in LAMP platform. One of the reasons MySQL has become so popular is that it can be extremely fast, particularly in cases where data is primarily being read such as web sites. Even with all its strengths, it is possible for a developer to right a bad query that slows down the database or for the volume of data to reach a point where a normally speedy query becomes quite slow…. View full post »

PHP Contact Form Tutorial

May 25th, 2010 Leave a comment
PHP Contact Form Tutorial

Many web sites are opting to use a contact form to allow its visitors to communicate. This is larger due to the prevalence of spam bots which harvest email addresses from web sites. In this tutorial, we’re going to build a simple contact form in PHP. This is going to be a pretty simple contact form. We’ll be using a single PHP file to display the form and to process it. This simplifies things quite a bit. Ready? Let’s get started. Step One: Creating the Form The first step is to create some HTML markup for our… View full post »

Application Frameworks – How and Why

May 20th, 2010 Leave a comment
Application Frameworks - How and Why

Frameworks have become very popular for web development. There are frameworks available for almost every language including Ruby (Rails, Merb), Python (Django), Java (Spring, Hibernate), and PHP (Zend, CakePHP, Symfony). Most frameworks in use today enforce the model-view-controller (MVC) design pattern. This design pattern segments the code dealing with the database, the business logic and the user interface. Different frameworks include different sets of features, but they all have a number of common ways in which they operate. These common features provide a number of benefits to the developer working with a framework. Models: Object Relational… View full post »

iPhone vs. Android – Why Dump iPhone for Android

May 7th, 2010 Leave a comment
iPhone vs. Android - Why Dump iPhone for Android

When the iPhone first appeared on the market, it was a revolution in the mobile device area. Android took a while longer to materialize, but now that it is out there, some consumers are re-evaluating their “love affair” with iPhone. Learning from iPhone’s mistakes, Android was able to capitalize on many iPhones features that users find frustrating. In fact there are plenty of good reasons to dump your iPhone for an Android device. iPhone’s Hideous Sync Options Unlike the iPhone, the Android does not sync with the computer it is plugged into. One of the iPhone’s pet peeves is… View full post »

Best Android Apps: My Top 10 Choices

May 4th, 2010 Leave a comment
Best Android Apps: My Top 10 Choices

Android based phones have a diverse array of applications available. For the new Android user, it can almost be overwhelming choosing which apps to install. With the recent release of new Androids handsets from major brands like Motorola, HTC, and Google, the Android developer community has been given a boost to crank out good quality Android software. Today, Android Marketplace features more than 10,000 apps from personal finances to games and utilities. While some applications are more useful to some than others, here are my top 10 Android applications. Connect Bot Connect Bot is an absolute must-have application for anyone… View full post »

Why Hadoop?

April 26th, 2010 Leave a comment
Why Hadoop?

Hadoop is an open-source software platform by the Apache Foundation for building clusters of servers for use in distributed computing. Server clustering is really nothing new or revolutionary but Hadoop is designed specifically for mass-scale computing, which involves thousands of servers. Based on a paper originally written by Google about their MapReduce system, Hadoop leverages concepts from functional programming to solve large computing problems. Hadoop is an ideal solution for working with large volumes of data in a variety of applications from scientific to searching through web pages. Leveraging the Power of Functional Programming Functional programming is a style… View full post »

PHP Interview Questions and Tips

April 24th, 2010 Leave a comment
PHP Interview Questions and Tips

So you’ve been slinging resumes for a while and now you have an interview for an awesome PHP job. While part of the interview will be the typical job interview, you should also be prepared for a technical interview. Technical interviews are often given to determine how well you truly know the technologies with which you’ll be working. There are numerous books and articles to help you prepare for the job interview portion but very little has been said on preparing for a PHP technical interview. General PHP Questions The first type of questions you’ll be asking in a… View full post »

Cloud Computing vs. Virtualization

April 23rd, 2010 Leave a comment
Cloud Computing vs. Virtualization

Cloud computing and Virtualization are both technologies that were developed to maximize the use of computing resources while reducing the cost of those resources. They are also mentioned frequently when discussing high availability and redundancy. While it is not uncommon to hear people discuss them interchangeably; they are very different approaches to solving the problem of maximizing the use of available resources. They differ in many ways and that also leads to some important considerations when selecting between the two. Virtualization: More Servers on the Same Hardware It used to be that if you needed more computing power for… View full post »

Android Developer Tools

April 20th, 2010 Leave a comment
Android Developer Tools

The Android software development kit contains a number of tools to simplify your development tasks. Several of these tools really stand out for the value they add to the Android SDK. The best android developer tools included in the SDK help save time and development effort by streamlining common development tasks. Here is a summary of some of the most valuable Android developer tools packaged in the Android SDK. Android Development Tools Plugin for Eclipse Eclipse is probably one of the best IDE development tools for Java based development. As an open source project, there are numerous plugins… View full post »

PHP vs. Ruby on Rails: The Million Dollar Question

April 15th, 2010 Leave a comment
PHP vs. Ruby on Rails: The Million Dollar Question

PHP and Ruby on Rails both have their very dedicated followers. These followers are so passionate about their chosen platform that gathering good information on the differences between the two can be pretty difficult. Yet this information is vital if you’re going to make a decision on which platform to develop your next project. Here’s a quick look at some of the core features and differences and some additional factors to consider when choosing PHP or Ruby on Rails. PHP is a Language Comparing Ruby on Rails to PHP is unfair. PHP is simply a programming language. … View full post »