From its inception as Macromedia Flash 1.0 in 1996, Flash has been the de facto method of incorporating sound, video, and image assets into new media. However, with the proliferation of various digital devices, Flash has slowly lost ground in favor of HTML5 and its increasing ability to handle complex animations.
Continue reading %Rich Presentations Using CreateJS%
If you want to create a blog using MongoDB and PHP, this article will teach you to:
- Connect to a MongoDB database
- Save documents in a collection
- Query documents in a collection
- Perform range queries
- Sort documents, update a document, delete one or more documents from a collection
The reason I chose to build a blog application is because it is a basic CRUD application and it is very suitable for easing into PHP and MongoDB web development. We will build a plain user interface using Bootstrap with simple textboxes and buttons. A MongoDB database will store all the content. You can download full source from github, see a demo frontend here and try the demo app’s backend with the user name and password being duythien.
Continue reading %Building a Simple Blog App with MongoDB and PHP%
Last month's browser trends were slightly unusual with Safari the only browser able to make gains. The latest figures from StatCounter are now available… Worldwide Browser Statistics January 2014 to February 2014 The following table shows browser usage movements during the past month.
Continue reading %Browser Trends March 2014: Chrome’s Mobile Aspirations%
Good job, son! – Uncle Bob (if you’re confused who Uncle Bob is you might want to read Part 1 of this tutorial) Uncle Bob is happy with the work we’ve done so far. But there’s one thing left… What we need to do is add headers to our CSV file.
Continue reading %A Guide to the Ruby CSV Library, Part II%
GIMP is a very popular graphic program, and though not as popular as Photoshop, there are a good many designers who use it as their first choice. While it has some universal features shared by many other graphic programs, as we discussed in the Linux Design Tools: High-end Design on a Low-end Budget? article, it comes with many differences as well. One of the most notable differences between GIMP and Photoshop is the variations in their GUIs. These differences go beyond pure cosmetics. I know how frustrating it can be when you can't seem to accomplish a basic task with GIMP, that's always been a breeze in Photoshop. That's why I've compiled this list: to get you over that 'frustration hump' and into making cool stuff sooner.
Continue reading %Learn GIMP: From Greenhorn to Guru in 19 Lessons%
A lot of sites have a specific color scheme for every section. Even this very site you are reading does this – you are in the blue section AKA CSS. This is a clever design trend to create clear distinctions between various parts of the same entity.
But on the technical side, this can be a pain to work with. Not because it is overly complicated – more because it involves a lot of annoying repetition.
Unless, that is, you automate the process with — let’s say — Sass. Then you have something really easy to work with. Since I have had to do this more than once, I’ll show you how I handle the situation.
Continue reading %Dealing with Color Schemes in Sass%
In this tutorial, we'll be implementing authentication via Facebook and GitHub in a Node.js web application. For this we'll be using Passport, an authentication middleware for Node.js. Passport supports authentication with OpenId/OAuth providers.
Continue reading %Passport Authentication for Node.js Applications%
By now, we’ve all encountered captcha images in online forms. Captchas are a necessary evil, and this article will teach you how they’re made.
Please note that while there are better, automatic third party solutions for captchas out there such as ReCaptcha, this tutorial aims merely to explain and demonstrate how such technology actually works. We won’t be explaining what captchas actually are, as it’s assumed to be common knowledge and already covered in greater detail elsewhere.Drawing captchas
You must have the GD(Graphics Draw) library installed before proceeding. This library enables drawing of graphics and images through built-in PHP functions. To install it, run sudo apt-get install php5-gd or if on non-Ubuntu-based operating systems, follow instructions.
Captchas are usually made up of 3 things - shape, distortion, and the text.
We’ll follow the steps mentioned below:
- Display an empty image on the browser.
- Create a shape.
- Generate random lines.
- Generate random dots.
- Generate random text.
The procedural style used in this article is present only because this is a proof of concept, and to keep the final file as simple as possible. In a real project, you would go OOP.
Continue reading %Simple Captchas with PHP and GD%
If you’ve spent any time testing the performance of your websites and applications, then at some point you may have come across WebPagetest.org. If you haven’t, then it’s well-worth checking out.
WebPageTest.org seems to have just about every feature you could ask for when doing performance testing, and it was even praised by Steve Souders back in 2010 as a top tool in this area.
In his post, Souders briefly mentioned a feature of WebPagetest.org that I think has gone relatively unnoticed: Filmstrip view. Paul Irish introduced me to this really cool feature in a chat a few weeks ago and I thought I would present it here.
Continue reading %Page Speed: How Soon Will Visitors See Your Content?%
So you’ve written this amazing library, but something is missing… a command line interface! Ruby is perfect for this type of thing. While there is the basic ARGV approach, there are some great RubyGems that help with creating command line interfaces (CLIs) with ease. In this article, we’ll take a look at several Ruby CLI gems.
Continue reading %Ruby Command Line Interface Gems%
The value of social media has been questioned extensively over the past few years, with many skeptical it can really prove beneficial and provide a good return on investment. It's taken a little time, but most SMBs and large organizations alike now realize that social media is an excellent driver when it comes to traffic and reputation. We're seeing more and more creative use of social media, better branded accounts and even better, the ability to use social media properly. By this I mean, using social media as it was meant to be used. As a means for promotion, with a friendly (social) tone, to facilitate great customer service and generate excellent feedback. Of course, some companies still struggle with getting it right and for the most part, this is due to a lack of time, resources and the understanding of just how it can benefit a business. With this in mind, how is it possible to prove ROI to clients in order to convince them that it's worth the time and effort?
Continue reading %How To Really Measure the ROI of Social Efforts%
The internet is a powerful medium and your website, if done well, can be your most powerful tool for capitalizing on it. As designers, business owners and others who constantly use the internet and a website to attract clients it is important that your website is not only useful and accessible, but impressive. Remember that even a simple design can maximize your chances of being scouted by prospective clients and employers.
Continue reading %Sharpen up! 3 Steps to Simplifying Your Design%
We all know that developer tools can make our work easier. Most of us are probably already familiar with add-ons and extensions like Firebug, Web Developer, ColorZilla, and more. In this post, I’ll present you with some other add-ons that you may not have tried yet. I hope you’ll find some of these useful when […]
Continue reading %15 Useful and Lesser-Known Firefox Add-ons%
A few weeks ago, I briefly discussed NLP and its related technologies. When dealing with natural language, there are two different, yet complementary, aspects to consider: Automatic Speech Recognition (ASR) and Text-to-Speech (TTS). In the article Introducing the Web Speech API, I discussed the Web Speech API, an API to provide speech input and text-to-speech output features in a web browser. You may have noticed that I only presented how to implement the speech recognition in a website, not the speech synthesis. In this article, we'll fill the gap describing the Speech Synthesis API.
Continue reading %Talking Web Pages and the Speech Synthesis API%
It’s been a while since I did my last Magento comparison, and the sad thing is: Nothing much has changed since then. Magento still looks and works the same, and in this industry standing still is the same as moving backwards.
True, Magento has moved on from version 1.7 to 1.8, but that was mostly rolling out bug fixes. And it still has some serious flaws which haven’t been addressed. Any real progress seems to be stalled while awaiting for Magento 2.0, the version rumoured to be heavily influenced by eBay, its new owner. This should be a real leap forward and should make Magento the top dog again. But the fact remains, 2.0 is still far from being ready.
And then there is X-Cart 5. While it technically follows up on X-Cart 4, it is a rebuild version of this decently successful shopping cart. Basically X-Cart 5 is to X-Cart, what Magento 2.0 should be be to Magento 1.8. And with X-Cart having a rapid development cycle, this could mean X-Cart 5 takes the lead – at least for small- and medium sized business, which is where X-Cart is at its best.
Continue reading %Magento vs. X-Cart (+ Screencast)%
In functional testing, we don’t look at the “correctness” of a single function, which should be verified by a Unit Test, but look at the bigger picture. The question answered by Functional Testing is: Is our app performing well in the sense that it displays the right content, corresponds to a user’s interaction, etc? This tutorial will focus on Functional Testing in our pre-built Symfony app.
Continue reading %Functional Testing in Symfony2%
If you’ve been wondering what all the fuss regarding the Semantic Web is about, fear not – you’re not the only one! As well as being a trendy buzz phrase, the Semantic Web has many practical applications. In this tutorial, we’ll explore a few of these using a Semantic Analysis Web Service right from within our favorite programming language!
Continue reading %Ruby & OpenCalais: Semantically Tag Anything%
cURL is a bundled PHP library that is often installed alongside PHP. It’s included in the PHP source, but during installation a flag needs to be passed to PHP in order for it to include and activate cURL. Phalcon is a high-performance C-based MVC framework. We’ve written about it before. Phalcon is a third party extension, and thus not bundled with PHP. In this tutorial, we’ll glide through installing cURL and Phalcon on a Nitrous.io PHP box.
Continue reading %Installing PHP Extensions on Nitrous.io%
At the end of a design project, it's common to hear your client say: "I need this as an editable letterhead template in Microsoft Word." Generally they don't own or know how to use advanced graphics-editing programs like Adobe Illustrator, InDesign or Photoshop -- and it simply doesn't make sense for them to purchase those expensive programs. Microsoft Word is pretty low-tech compared to Illustrator or InDesign; however, that's what your clients are using and your letterhead design is useless to them if they can't edit and add content to it. So knowing how to create a Microsoft Word letterhead template is key.
Continue reading %Convert Your Design into a Microsoft Word Letterhead Template%
Continue reading %Working With and Around the Same-Origin Policy%