Author: David

I'm David, web designer/developer specializing in building functional websites using WordPress. I have strong skills in theme development using Hybrid Core framework and plugin development. It's okay if you want to hire me.

Building a Starter Theme

I love using Hybrid Core Framework, I use it in all my themes, I don’t even know how to build a theme without it. Currently Justin is working on the Version 3 of the Framework and it’s offer a lot of improvement and features.

I want to create my own.
nokonokoHybrid Core is modular and extendable so I can use only the features I need and bend it as I see fit, but I want to create my own framework so I can have full control of the features and code. For my themes I created “Tamatebako“, a Hybrid Core sidekick to build theme faster by setting the defaults. Now I want to experiment and make Tamatebako as a standalone framework.

The focus is a little different than Hybrid Core. Instead of building new awesome features, the focus is for faster theme development. I might failed and switch back to Hybrid Core, but I think it’s going to be a good opportunity to dive in and re-learn about theme development.

I haven’t even done porting main framework features (still a mess), but you can follow the development here.

Yet, a scary thought crossed my mind. I felt like I was ripping everyone off this time. I didn’t really do such a great job, but the atmosphere was really like that….

So, before others take notice, I need to quickly raise my standard. I have to work hard and change these bubbles into solid soap.

– IU

48 Hours Theme Challenge

Explorer WordPress Theme

Explorer
A beautiful WordPress theme inspired by file explorer. I create this theme in 48 hours (well, actually 12.5 hours).

So, a few days ago Sami Keijonen create a challenge to build a WordPress Theme in 48 hours. He mention that he need several months to build a WordPress Theme.

Well, for myself, the challenge is not really hard. I usually build a theme in 2-4 days for simple custom theme. As long as the client already have a design (PSD/design inspiration/example) I can build it in less than a week.

I only charge $300 – $500 for a very simple theme. So, I need to work fast 🙂

Read More 48 Hours Theme Challenge

You’ll eventually get caught no matter how careful you are. The key is to become a person who doesn’t need to be careful.

– JYP

HP Stream 7 Review: Things I Wish I Knew Before Buying 7 Inch Windows Tablet

HP Stream 7

Around a month ago, I decided to buy a cheap Windows tablet from eBay, HP Stream 7. This model is not available here in Indonesia. Here are several things I wish I knew about this tablet before buying it.

How much it really cost?
Well, if you are in America, you can buy it for $80 at Microsoft Store. But they can’t ship it here so I purchased it from eBay:
$100 – Normal price
$30 – Shipping (it took around 1 month to get here using USPS)
$10 – Tax, administration, etc
So in total around $140 (almost twice the price)
I also bought 32 GB MicroSD Card ($15), so I spent around $155 for this device.

Is it sucks?
Yes, kinda. But is it worth the money? (probably not)
Read More HP Stream 7 Review: Things I Wish I Knew Before Buying 7 Inch Windows Tablet

How to Test Your Code in Multiple PHP Version (only $10/year)

cpanel-select-php-verWordPress is a Global CMS, with very minimum requirement to install:
PHP: version 5.2.4
MySQL: version 5.0

I’m sure most of us have better server configuration than the minimum. I think most hosting have at least PHP 5.4 installed. but as a freelancer, sometimes we get a client with older version of PHP in their server. And for whatever reason they cannot/do not want to upgrade to better hosting.

If you don’t have multiple PHP version in your server, you can always install multiple PHP version in your server and pollute your server with outdated script.

Or you can spent $10 and have a separate server where you can test your code for whole year.

$10 / year, that’s only $ 0.83 / month Read More How to Test Your Code in Multiple PHP Version (only $10/year)

How to Sanitize Image Upload?

Today I updated my plugin f(x) Favicon (no longer available, WordPress now have “Site Icon” feature), and I would like to share in how I sanitize image URL in the plugin uploader.

favicon-settingsWhy sanitize image upload?
Basically what we need is to make sure that the input is an image URL. So, we don’t want user to input other file such as document file, video file, mp3 file, etc.

And this is to make sure our plugin/theme working correctly. We also need to do this check before loading the file.

Wanted result:

<link rel="shortcut icon" href="http://siteurl.com/path/favicon.png"/>

Unwanted Result:

<link rel="shortcut icon" href="http://siteurl.com/path/some-random-file.doc"/>

Read More How to Sanitize Image Upload?

How to use $this in Anonymous Function in PHP 5.3

Yesterday I wrote a WordPress Login Notification Plugin. And I use Anonymous Function (introduced in PHP 5.3) in the settings. It work well in my server but when I install it in my client site, the settings page is truncated even though my client use PHP 5.3.

settings-page-truncatedAfter some googling, I found that we cannot use $this in anonymous function in PHP 5.3, we can use that only in PHP 5.4 +. Thank god I didn’t get fatal error 🙂 Read More How to use $this in Anonymous Function in PHP 5.3

O God! sometimes I wish that there had never been a religion, because that which should unite mankind into one common brotherhood has been through all the ages a cause of strife, of discord, and of bloodshed. Members of the same family have persecuted one another because of the different manner in which they worshipped one and the same God. Those who ought to have been bound together by the tenderest love have turned with hatred from one another. Differences of Church, albeit in each the same word, God, is spoken, have built a dividing wall between two throbbing hearts. I often ask myself uneasily: is religion indeed a blessing to mankind? Religion, which is meant to save us from our sins, how many sins are committed in thy name?

— Raden Adjeng Kartini (Letters of a Javanese Princess)