Blog

May 31, 2013

Preventing Brute Force Attacks

ColossusOne of the most common method hackers use to get into your site is a brute-force attack. A brute-force attack essentially means that hackers are setting up bots to slam your login form with a dictionary of common username/password combinations.

This is not a WordPress problem, but a website problem. WordPress has a reputation for being less secure, but in reality a lot of this is because WordPress is ~16% of the web. Meaning all of the sites out there with username “admin” and password “bieberfever” aren’t going to make it long before they get broken into. And, depending on your host, once a site is broken into it’s not long before others on the same server get broken into as well. The web can be a scary place.

Continue Reading This Post | 0 Comments

May 17, 2013

How to Make The Events Calendar Plugin Start Week on Sunday

The Events Calendar/Pro is the best WordPress powered calendar solution I’ve come across.

On thing that has always bothered me was that the first day of the week started on Monday. Many westerners, like myself, aren’t used to seeing our calendars that way.

The change is very simple, but it’s not located in the Plugin settings. Rather, it’s located in the General settings (/wp-admin/options-general.php) at the very bottom.

Settings for First Day of the Week

Continue Reading This Post | 0 Comments

May 8, 2013

Mobile-first Stylesheets for IE6/7/8

The first thing you may notice after your first mobile-first site is that you only get your mobile stylesheet for IE8 and below. Here’s a quick and easy snippet to have IE render all of your stylesheets, while still keeping responsiviness for Windows phones in-tact.

<link rel="stylesheet" href="style.css" media="all">
<link rel="stylesheet" href="style.tablet.css" media="all and (min-width: 570px)">
<link rel="stylesheet" href="style.desktop.css" media="all and (min-width: 960px)">
<!--[if (lt IE 9)&(!IEMobile)]>
<link rel="stylesheet" href="style.tablet.css" media="all">
<link rel="stylesheet" href="style.desktop.css" media="all">
<![endif]-->

Continue Reading This Post | 0 Comments

December 5, 2012

Introducing WP Maintainer

Hot off the presses, today we’re launching along with WordPress 3.5. If you have a WordPress site, WP Maintainer makes your life simple and helps fight perspiration when updating your installation, hitting the oops button, or battling security concerns.

Here’s the long list of features, and below, in my opinion, are the key features:

  • All WordPress Updates
  • Scheduled backups
  • Security audit + monitoring by Sucuri
  • Free WordPress migration, if needed
  • 1 hour of development time (plugin install, audit, css fix, etc.)
  • Discounted development costs

Why do I need this?

This is mainly for clients and site admins, not developers or super users (unless you want to get paid every month for referring people).

The people working on your site are experienced and are all involved in the WordPress community, your information and accounts are treated like the Crown Jewels, and we understand business and the web.

WP Maintainer

Continue Reading This Post | 0 Comments

December 4, 2012

SnapPoint jQuery Plugin

This recently built plugin automatically smooth scrolls the visitor’s browser window to a block of content. This certainly isn’t necessary for most sites, but can be beneficial for an experience where you have multiple short blocks of content.

  • Here’s a demo
  • Here’s the link to it on github

You can adjust the delay, the top threshold, the bottom threshold, and the animation speed.

$(".block").snapPoint({ 
    scrollDelay: 550,       //Amount of time the visitor has to scroll before the snap point kicks in (ms)
    scrollSpeed: 90,        //Length of smooth scroll's animation (ms)
    outerTopOffset: 220,    //Number of pixels for the downward vertical offset (relative to the top of your snapping container)
    innerTopOffset: 0       //Number of pixels for the upward vertical offset (relative to the top of your snapping container)
});

I’m not a professional javascript guy, but I’m excited to release my first official plugin. Feel free to poke around and make any suggestions.

Continue Reading This Post | 2 Comments

October 17, 2011

Random IE8 Crashes – “This tab has been recovered”

An issue randomly started occurring on a few site that I had started development on last month. I was getting crashes in IE8 with the following error “Internet Explorer has encountered a problem and needs to close. We are sorry for the inconvenience.” Followed by “This tab has been recovered.” when the site came back up.

IE8 Tab Recovered

This one was not fun to diagnose, I initially thought it was something with the HTML5,  Chrome Frame or Modernizr. I was wrong, it was a bug with jQuery.

The Solution

It is an issue with jQuery version 1.6.2 (which was the latest version at time of development). Luckily they fixed the issue, so the fix on your end is simple… Update to the latest version of jQuery.

Here’s the support ticket from their change log.

Continue Reading This Post | 22 Comments

October 11, 2011

JW Player for WordPress – Playlist Not Displaying

JW Player for WordPress is a great little solution to locally house and present your videos. However, I recently had an issue where my playlist for JW Player would not display. I could see that it was loading and pulling in the list of videos, but even with my Advanced Settings being correct it still wouldn’t show.

With some help from LongTail Video Support (thank you!) I found a solution.

It turns out that sometimes the config attributes for the playlist are not carried over. So, you can force them in your [jwplayer] shortcode attributes.

Here’s some sample code to show you what I’m talking about.

Original:

[jwplayer playlistid="123"]

Updated:

[jwplayer playlistid="123" playlist.position="bottom" playlist.size="250"]

The key attributes being “playlist.position” and “playlist.size” I hope this helps!

Continue Reading This Post | 0 Comments

March 25, 2011

JQuery .load() Doesn’t Work in Chrome

If you do any front-end development locally (and test in Google Chrome) you may have run into a problem using the .load() function or other AJAX requests. The functions are just unable to return any data, It boils down to a permissions issue with Chrome pointing to local files.

You can resolve this by uploading your files to a live production server, but that is a pain, especially if you’re still in development.

There’s a very simple solution:

1. Close Chrome completely
2. Launch Chrome from Terminal with the “–allow-file-access-from-files” argument

open /Applications/Google\ Chrome.app --args --allow-file-access-from-files

This will allow that session of Chrome to access local files. Note: Once you close and reopen the application you’ll no longer have access to local files again.

Continue Reading This Post | 3 Comments

January 6, 2011

An Introvert’s Guide to Freelancing

Early last year I took my freelancing full-time. This was a big move; I’m not the: “let’s play some golf together, see you at the after-party, and let’s take this show to the moon!” type entrepreneur. Like many creative people, I’m an introvert. I dwell in my own thoughts too long, constantly play scenarios in my mind, and enjoy a nap after long networking events.

A freelancer is not just a designer or developer, you have a few new roles now like sales, accounting and customer service. Introverts have to work a bit differently than our outgoing counterparts. So here are some helpful tips for freelancing and keeping the business going.

Continue Reading This Post | 5 Comments

October 13, 2010

Website Refresh

Okay, so I redesign my site more than I blog on it. Designing something for yourself is tough, but I’m really happy with this one. I hope you enjoy.

Let me know if you need anything!

Continue Reading This Post | 0 Comments