Before HTML5, working with arbitrary data sucked. To keep things valid, you had to stuff things into rel or class attributes. Some developers even created their own custom attributes. Boy, was it a mess. But that all changed with the introduction of HTML5 custom data attributes. Now you can store arbitrary data in an easy, standards-compliant way.… Read More


Recently I had a conversation with a good friend. He is the CEO of a company that began as a startup, and then leapt into a multimillion dollar a year business. He has 250+ employees, in the US and internationally. The company is doing extremely well. He lives in a beautiful home, with his wife… Read More


Have you ever needed to send a PHP variable, array, or object to JavaScript? It can get complicated trying to escape the output properly. Here’s a way that always works—no escaping necessary. Let’s say we have the following variable in PHP:

And we want to pass it to a JavaScript variable called name. Here’s the… Read More


I have often talked about why plastering social sharing buttons all over your website is completely ineffective. This morning, Smashing Magazine all but confirmed my theory. In today’s Smashing Newsletter, they wrote: Are social sharing buttons really that effective to be placed in the most visible areas of websites, sometimes even as “sticky” notes on the… Read More


Here’s the absolute easiest way you can validate an email address using PHP. This tiny function takes advantage of the filter_var() function in PHP.

That said, you really don’t even need the function wrapper if you can remember filter_var() and the appropriate constant. Just remember that the return value will be the filtered string or… Read More


mypost.io: a quick, user-friendly single webpage creation platform without having to deal with hosting or registration. fontawesome.io: Font Awesome gives you scalable vector icons that can instantly be customized — size, color, drop shadow, and anything that can be done with the power of CSS. nic.io: We provide the Registry services to the “.io” Top… Read More


Most teams have some amount of technical debt. Others are crushed by it. It really shouldn’t be this way. For decades, we’ve been aware of good development practice. We know the things that we should do to avoid incurring technical debt and start paying it back. Clearly, something else is going on. In this talk,… Read More


Jeroen Moons shares his advice for getting a legacy codebase under control. It’s full of great information, and my favorite quote is on how the code base came to this: As you poke and prod the area just past the warning sign with a stick, you might wonder: how on earth can anyone have let… Read More


On his many failed experiments, Thomas Edison once said, I have learned fifty thousand ways it cannot be done and therefore I am fifty thousand times nearer the final successful experiment. Elsewhere, we have dug into the data on startups that died (as well as those acquihired) and found they usually die 20 months after… Read More


UNION The UNION command is used to select related information from two tables, much like the JOIN command. However, when using the UNION command all selected columns need to be of the same data type. With UNION, only distinct values are selected. UNION ALL The UNION ALL command is equal to the UNION command, except… Read More