Blogs are dead! Or are they?

Let’s face it. Blogs are dead.

When was the last time you saved a link to a blog? Or shared a blog post with a friend?

They’ve become self-opinionated, self-indulgent and poorly written.

So why do I have a blog?

To share things that help me, help you and helped my Mum.

My Promise:

–       Nothing over 3 minutes to read

–       Nothing that rambles on about me and my life

–       To deliver at least one take away. Something you can think about for at least another 10 seconds.

(function() {// Ripple effect for primary buttons document.querySelectorAll('.elementor-button').forEach(function(btn) { btn.addEventListener('click', function(e) { var ripple = document.createElement('span'); ripple.classList.add('ripple'); var rect = this.getBoundingClientRect(); var size = Math.max(rect.width, rect.height); ripple.style.width = ripple.style.height = size + 'px'; ripple.style.left = (e.clientX - rect.left - size/2) + 'px'; ripple.style.top = (e.clientY - rect.top - size/2) + 'px'; this.appendChild(ripple); setTimeout(function() { ripple.remove(); }, 600); }); });// Delayed navigation for path cards // Add data-href attribute to each card container in Elementor's // Advanced → Attributes field: data-href | /your-page-url/ document.querySelectorAll('[data-href]').forEach(function(card) { card.style.cursor = 'pointer'; card.addEventListener('click', function(e) { var href = this.getAttribute('data-href'); if (!href) return;// Ripple var ripple = document.createElement('span'); ripple.classList.add('ripple'); var rect = this.getBoundingClientRect(); var size = Math.max(rect.width, rect.height); ripple.style.width = ripple.style.height = size + 'px'; ripple.style.left = (e.clientX - rect.left - size/2) + 'px'; ripple.style.top = (e.clientY - rect.top - size/2) + 'px'; this.appendChild(ripple);// Press animation this.classList.add('pressing');// Navigate after animation var el = this; setTimeout(function() { window.location.href = href; }, 160); }); });})();