Projecting Failure – LG Console

Many developers have little side projects they tinker with. Some may lead to a worthwhile product, but most just end up languishing away on their hard drive, never to see the light of day. I’ve had a few of these projects and figured it might be interesting to take a look at them and do a post-mortem of sorts. The first of these projects will be the LG Console.

LG Console

LG Console
LG Console – Unfortunately, most of these buttons aren’t 100% operational.

Continue reading

Posted in Projecting Failure, Projects | Tagged , , | 3 Comments

XDate – Better Javascript Date Handling

It’s a long-standing tradition among programming languages to make dealing with dates as horrific as possible. Sure, that may be a bit of an exaggeration  but looking at how Java, Javascript, PHP, C#, etc choose to handle dates and time can make a grown man cry. I mean, whoever thought using “Y-m-d H:i:s” to format a standard datetime in PHP was a good idea should never be allowed near a computer again. “Y-m-d”, that makes sense, but “H:i:s”? Seriously, we couldn’t just use a capital M for months and a lower case m for minutes? Ugghhh… anyways. Fortunately, there are ways to improve this.

For Java, there’s the popular Joda Time. There’s been a push for years now to get that to become the default Date Time handler for Java, or at least something based on it, but that still hasn’t occurred.

For Javascript, there are a couple of nice options as well. I haven’t played with it much, but Moment.js seems to do some interesting things. The one I have played with a little more is XDate. XDate is another product from Adam Shaw, who is also the author of the very nice FullCalendar plugin.

If you’re looking for an improved Javascript Date library, I would highly suggest it. It functions as a wrapper around the existing Date, while enhancing things like UTC handling and Date parsing, formatting, and manipulation. The XDate website does a very good job of providing a quick overview of the included functionality.

Posted in jQuery / Javascript, Web Development | Tagged , | Leave a comment

Useful little JavaScript toYMD Function

I forget where I first saw this, but I’m using it frequently these days, so I thought I would post it up and maybe save someone some time in the future:

Date.prototype.toYMD = function() {
       var year, month, day;
       year = String(this.getFullYear());
       month = String(this.getMonth() + 1);
       if (month.length == 1) {
           month = "0" + month;
       }
       day = String(this.getDate());
       if (day.length == 1) {
           day = "0" + day;
       }
       return year + "-" + month + "-" + day;
    };

Now you can do this:

var date = new Date();
alert(date.toYMD());

Not the most exciting piece of code, but it can be rather handy. Try it out here, if you want.

Posted in jQuery / Javascript, Web Development | Tagged , | Leave a comment

Getting Things Done – The Action Machine

Just one more round of Call of Duty and then I’ll start coding…

Anyone who is working on a project outside of work hours knows how tough it can be to actually get work done. There are a lot of distractions when you’re at home, lots of things you’d like to do, and it may actually be nice to take part in some relaxing activities to kind of wind down (for me, that’s video games). This is doubly true for coders with families: the kids are finally asleep, you spend a little time with the spouse, and before you know it, it’s 10pm.

Finally, you trudge into your office, sit down in front of your monitor, and open up your favorite IDE. Except, you don’t really want to. If you’re like me, you still want to kind of unwind, watch some TV or play some Xbox 360. So you throw on the TV, and before you know it, it’s 12:30am. Your night is now shot and no quality code is going to get written. Continue reading

Posted in Misc | Leave a comment

AWS: Spinning Up Some EC2 – Part 1 – PHP

Avoiding Pain

One thing that is frequently a pain is setting up dev servers to work on. This is especially true if you are working at home. Running a bunch of different services on your main system isn’t great as they are frequently performance hogs. Another option is to have a second piece of hardware running everything for you, but I’ve always had two issues with that:

  1. It’s yet another piece of hardware driving my energy bills sky high.
  2. It’s only a clean install once. Wiping the MySQL, Apache, Cassandra, <insert hot tech of the week>, install on a regular basis just isn’t something that happens.

One option I’ve utilized to avoid these issues are cloud services like Amazon’s EC2. They’re relatively easy to configure (once you get the hang of it) and depending on your usage, they may cost little more than the cost of the electricity for that second system you’re currently using. This is especially true if you’re a new AWS customer and you qualify for their Free Usage Tier. And best of all, a fresh system can be spun up rather quickly. Continue reading

Posted in AWS, PHP, Web Development | Tagged , , , , | Leave a comment

Email Deliverability: Paid Services – AWeber

AWeber: The Basics

AWeber is a popular choice amongst internet marketers. They’ve always had good support for things like autoresponders and easy to use signup forms that can be easily dropped into any page. A quick overview of their pricing and features:

  • Free/Trial Plan: $1 / 30 Day Trial
  • Basic Plan: 500 subscribers for $19 a month
  • 25k Subscribers: $130 a month
  • Pay as you go?: Not Available
  • Analytics: Yes
  • API: Yes
  • A/B Testing: Yes
  • Multivariate Testing: No
  • SPF/DKIM support: Yes

Signing up for AWeber is straightforward enough. The trial plan gives you full access to all the functionality available with no limit on the numbers of mailings you send. Once everything is setup, AWeber greats you with a really nice Setup Wizard which walks you through setting up your first email list:

Continue reading

Posted in Email Deliverability, Paid Services | Tagged , , , | Leave a comment

Email Deliverability: Mailing Lists & Marketing

In the previous post on Paid Services, I listed off some of the Email Service Providers (ESPs) that focus on mailing lists and email marketing. There are lots of them out there, but these are five of the leading players:

  • AWeber
  • ConstantContact
  • iContact
  • MailChimp
  • VerticalResponse

Most of these firms do fairly similar things. They have tools for gathering new subscribers, various email templates that you can modify to suit your needs, list management tools, and other marketing tools. It’s hard to say which company is the best in regards to these type of tools, as it can be fairly subjective, and the effectiveness of their offerings will vary by user. I’ll touch on a couple of the highlights for each of them, but what I’m really interested in are things that are a little more technical and more objective. The main areas of focus will be:

  • Analytics – Do they offer analytics, is it easy to use, and does it provide worthwhile data?
  • API functionality – Do they offer an API, is it easy to use, and does it offer good functionality?
  • A/B or Multivariate Testing – Do they support A/B or multivariate testing and how simple is it to implement?
  • SPF/SenderID/DKIM Support – How simple is it to setup and how helpful are they in the process?
  • Mailing List Import/Export – Are you able to import and/or export your mailing list? What are the requirements when you do so?

First up will be AWeber.

Posted in Email Deliverability, Paid Services | Tagged , , , , , , , | Leave a comment

Easy WordPress Redirect

A couple of months ago I bought a website on Flippa. I’ve been happy with the purchase, but one thing I haven’t been a fan of is that the site is running an old version of Joomla, and upgrading to a more recent version isn’t a simple process. I’ve been looking at moving the site over to WordPress, but one issue I’ve been coming up against is the URL structure of the site.

Continue reading

Posted in Web Development, Wordpress | Tagged , , | Leave a comment

Doctrine 1.2 and YAML

YAML Makes Life Easier

This post isn’t going to be breaking any new ground. I’ve been working on a project on and off for about a year now. It’s using the CodeIgniter 1.7 framework and Doctrine 1.2 for its ORM. With Doctrine, there are kind of two ways to define Models. You can create them in PHP or you can create them in YAML. I was doing the former for the longest time, but recently switched over to YAML and have been just kicking myself for not doing so sooner. Here’s an example of a model in PHP: Continue reading

Posted in PHP, Web Development | Tagged , , , | Leave a comment