Latest

Localtunnel: Easily validate your Schema.org and Open Graph Tags

Validating Schema.org tags, open graph tags and testing how sites like Facebook, Twitter and LinkedIn will treat a link from your site has always been difficult to test in development.

localtunnelme.jpg

Some tools have allowed you to copy and paste HTML and although it is not necessarily the most convenience way to do things, it did allow you to progress.  Other tools require you to enter a URL which is crawlable in order to perform the validation but while the code changes reside in your development environment it can be a rather challenging to make these available for testing and generally there have been 3 options available to you: 

Read more

Disqus: How-To notify your authors of new comments

The commenting platform Disqus is really easy to get up and running and a great addtion to your blog.  However, there was one feature I needed for Inside the Agency that didn't appear to be as simple as it sounded.

disqus_logo_-_white_on_blue_background (1).png

An implied feature of any collaborative site (including Inside the Agency) is that each author who contributes to the site is notified of any new comments that were posted on their articles, but this is not a feature that Disqus handles directly.  Disqus can send notifications to each Disqus moderator when a new comment is posted but often the author is not a Disqus moderator so sending author notifications has to be handled outside of Disqus.

Read more

Gulp for Designers - Getting started with Gulp.js

If, like me, you shy away from writing commands in Terminal and Javascript can often leave you scratching your head more times than you’ll care to admit, then it’s very likely you’ve not had the guts to tackle 'Gulp.js' yet? Well it’s time to pluck up the courage.

gulp-for-designers-getting-started-with-gulp-js.jpg

This article has purposefully been written to take the fearful designer through the basics needed to get started with ’Gulp.js’ and hopefully leave them feeling more confident with using terminal based tools. Specifically, we’ll look at how to install Gulp on your machine, how to install Gulp plugins, run tasks and how to pipe multiple tasks together to help speed up your front end development workflow.

Read more

Content distribution channels and the fear of monetisation.

With the emergence of new networks/apps, many online publishers face the same issue. How do we use these to our advantage?

scared-money-don-t-make-money.png

For many years we’ve witnessed the exact same formula, create content on your website then just post a link to your Facebook and Twitter account. You’ve got lots of followers so they should start clicking the links right? So why are the conversion rates still so low. It’s not that we should look to just improve the conversion, we need to change the way we think about the network in question.

Read more

How-To: Tail Apache logs to Ubuntu Notifications

Like many other developers I aspire to write clean, efficient code and while I don't always achieve that goal I am always on the lookout for ways to help me in that pursuit.

error-notification-pic.jpg

It always makes me a little sad when I look at an error log file to try and diagnose a problem only to find it bloated with deprecation and notice warnings which are easily preventable with a little care and attention. I know you can turn off logging for these types of errors but I feel it is better to fix these issues rather than ignore them.

Read more

My Top 10 Linux Commands

Over the last couple of years my role has expanded significantly and I have really had to pick up some good tips and tricks to try and make me as efficient as possible.  One area that has had to grow has been my familiarity with linux, terminal and my comfort with the command line and so I thought I would share my top 10 linux commands which I use on a regular basis. 

work-731198_1280.jpg

Read more

Composer & Git Branch Names - A Doh! Moment

It was one of those moments of clarity followed quickly by a doh! from everyone.

children-593313_1280.jpg

We were trying to include a branch of one of our Symfony bundles in our project using composer but composer refused to see the branch.  We checked the repository and the branch was definitely there so we could not understand why composer was not able to check out the branch.

Read more

Sencha Touch for the PHP Developer

The beginning of the year saw me working on the latest version of the Herald Scotland app (both android and iOS versions were released at the beginning of May) using Sencha Touch and PhoneGap. App development is not one of my primary skills and the learning curve from my comfort zone of PHP to Sencha Touch has been a steep one and one which I'm still far from conquering, however I thought it might be useful to share some of what i have learned and hopefully steers others away from some of the issues I encountered.

traditional-page.jpg

If you only take away one thing from this article then it should be to forget everything you know about web development and start again... Sencha Touch is an entirely different beast to what you are used to.

Read more

Using setSharedMaxAge() with HttpCache in Symfony2 always returns s-maxage=0

When implementing HttpCache within one of our Symfony2 projects I came across a curious problem in that regardless what I set the shared max age to it would always show as s-maxage=0 in the network inspector and the cache result was always a miss.  This puzzled me and so to try and isolate the issue I broke it down to the most basic example I could, but even then I still experienced the same s-maxage=0 problem.

My simple example was

Read more

"-":4: bad minute when installing crontab from a file

I recently had to migrate a rather messy crontab from one server to another and to try and simplify things I wanted to split the crontab into managable chunks.  

Unfortunately the crontab does not have any import / include functionality and I didn't want to use different user accounts to have different crontabs (this would likely cause permission issues, a management headache, and I would be replacing one messy solution with another) so after a quick Google I found that the solution was to create the separate files and concatentate them into the crontab. i.e.

Read more

Advertisement

Digital Ocean

Reading List

www.thoughtworks.com

BFF @ SoundCloud

Our friends at SoundCloud embarked on a journey a few years ago that changed their system and moved it from a monolithic Rails application towards an ecosystem of microservices. Read more

The Drum

The Drum

Google'€™s AMP is bringing some much needed speed to mobile but the transition won'€™t be easy for publishers

A week after launching, the Google-led Accelerated Mobile Pages (AMP) initiative has raised more questions than answers for publishers... Read more

SitePoint

SitePoint

Quick Tip: How to Permanently Change SQL Mode in MySQL

MySQL 5.7 introduced some awkward changes for older codebases and tends to break apps. Here's how to temporarily (or permanently) lower the strictness level Read more

SitePoint

SitePoint

How to Build Your Own Dependency Injection Container

Andrew Carter builds a Dependency Injection container from scratch, showing you how that rocket science is really just fireworks strapped to lego figures! Read more

AuthorityLabs

AuthorityLabs

13 Reasons Your Organic Traffic is in Decline | It's Not a Penalty

The landscape of search engine optimization has changed drastically in the last 3-4 years. Even as it changes, a lot stays the same. It has been very challenging to see a multitude of friends and colleagues approach me with problems that often seem beyond repair with clients that they have worked with for years. Read more

Telerik Developer Network

Telerik Developer Network

Leveling Up Your JavaScript

Raymond Camden offers tips, techniques and tools that can improve your development skills for anyone learning JavaScript. Read more