15 years!

Today marks the anniversary of the day I launched this site. 15 years ago! That’s like a century in internet time, maybe an epoch or two.

2004 preceded YouTube, Facebook, Instagram, Snapchat, Twitter and well, pretty much everything that we understand of the web today. I didn’t post here for many years indeed preferring those platforms and the communities that went with them.

But I am glad I kept this space, with the social networks’ nut-jobs, trolls, privacy issues and overall forced curation, I am increasingly happy I still have my own space to express my thoughts.

Even if no-one reads any of it, I have 15 years of my stuff safely stashed away and no internet giant can decide to ‘retire that functionality’.

This is my house.

JS Week(ish)notes 1.3

So this is not exactly weekly now, and isn’t likely to be, project work and life means can’t always spend ages learning. But nearly got to the end of Vanilla JavaScript Pocket Guides and it’s excellent, really like the course tutor’s approach Chris Ferdinandi. He also has an excellent newsletter with really handy tips and a superb helper library and reference section. It covers a lot of groups as my first course. But I feel I need to run through this a few times to really get the fundamentals.

Functions are methods are functions! At last!! One of the things I always got confused with JS was the inoperability of the terms, so confusing. But sort of getting that everything is an object and just going with it has helped me.

At the end of each course there is a little project to work along with, which has been fun. We built a little lazy loader, a little JSON parser, and a extendable plugin using the Constructor pattern (always with a capital letter!). Overall I am really getting the way things should be structured, and the Constructor pattern seems to be really powerful. So for example:

<script>
	//Because the plugin uses a constructor pattern, capitalise the plugin name, too, for consistency.
    var TableOfContents = (function () {

        'use strict';

    	// To improve the performance of your plugin, you should only include things that are unique to each instance in the constructor, and move everything that can be shared across instances outside of it. 
    			
        // Public Variables
    			
        // Default settings - same of every instance
    	var defaults = {
    	
    	}
    			
    	// Public Methods
    	var getID = function (elem) {

    	};


    	// Setup the constructor - uppercase first letter - 
        var Constructor = function () {
    					
    		//
    		// Variables
    		//
    		var publicAPIs = {};
    		var headings, toc, settings;

    		// All the rest of the code...

    		//
    		// Return the Public APIs
    		//

    		return publicAPIs;	

        };

        // Return the constructor
        return Constructor;

    })();

    // Run the script and initiate with the new operator
    var toc = new TableOfContents();
    toc.init();

    //instantiating a second table of contents
    var secondaryTOC = new TableOfContents(); 						
    secondaryTOC.init({ 
		target: '#secondary-toc' 
	});
</script>

And finally I am starting to get scope. Starting.

Overall it’s been great, but a lot of theory (with practical applications), and we at the end of the course we touched on state, routing and reactivity, so a nice primer for my overall aim of moving towards something like React.

I am starting to use some of this in real world projects but it’s really slow going, as I hit barriers and don’t know how to get around/over/smash through them outside of a nicely ring-fenced tutorial. But my next course is going to be 30 day coding challenge as I feel I need to really dive into actual use-cases now.

WordPress WorkFlow

I’ve been using WordPress for a very long time, this site was built in 2004 and I think it was on version 1.2, and was using WordPress from around mid-2003 on other sites before that.

wordpress-1-2

So a long time.

Much has changed, but WordPress has proved remarkably robust, I just spun up a theme I built around 2005/2006. See the code here (please forgive some of the code, this was 11 years ago. ) and it still works! The Loop is still the same crazy Loop, that I am never sure I fully got, anyway the point being if I had installed a theme from 2005 it would still work today.

2016-11-24-at-12-42

So pretty amazing and points to why WordPress was a good solution 10 years ago and is still a good solution now, we don’t talk about longevity much in web development, but I like to know something I build now has a shot of existing 2, 5, 10, or even 20 years from now.

Sure we now have custom post types, custom taxonomies, rest API and some amazing plugins that turn WordPress into a fully fledged CMS, but at it’s core it’s the same easy to use, easy to develop on and easy to recommend system I first installed all those years ago.

Now my own workflow has changed a bit, whereas back in the day all I needed was a copy of WordPress, Dreamweaver! (Code View & FTP) and maybe Photoshop.

These days it’s a bit more involved, this is what I tend to start most new projects with, on average I reckon the setup is about half a day, give or take:

Code

WordPress plugins

Applications

Anyway, thanks WordPress

1269602956_dr-mccoy-and-captain-kirk-approve

A year of Dogwonder Ltd.

So I’ve been running Dogwonder Ltd. since 10th September 2012, just over a year. It’s been quite a ride, I’ve learnt an incredible amount about myself and had to deal with many challenges, not least project managing myself. I’ve not shared much during my first year as really just wanted to get on with it, but felt it was time to show some of the sites I have been working on in the last year. I’ve not put everything here, as mostly wanted to share the sites I have built responsively. All of the sites below are built on WordPress.

one

highq

businessshappers

resolve

mcm

aboutgolf

access

aer

cc

kusiri

lacucina

october

verbier

Dogwonder IX

So this blog turns nine years old today.

Still posting rather infrequently, but it’s still mine, and now the official company website.

As per tradition(ish) I will re-post my first ever post, which still holds up imho as a way of viewing the web, by the much missed Jean Baudrillard

“Virtuality, being itself virtual, does not really happen. One lives in the very Rousseauistic idea that there is in nature a good use for things that can and must be tried. I don’t think that it is possible to find a politics of virtuality, a code of ethics of virtuality because virtuality virtualizes politics as well: there will be no politics of virtuality, because politics has become virtual; there will be no code of ethics of virtuality, because the code of ethics has become virtual, that is, there are no more references to a value system.”

 

Happy echo date(‘Y’)

It’s at times like these that I am very happy I declare copyright notices on the sites I manage using the php method for echoing the year.

Copyright © 

Saves a lot of time and panic after noticing a site you built years ago looks somewhat out of date.

Update: via Maarten Jacobs (@MaartenJJ) it’s a good idea to set the timezone to ensure it displays correctly for the users location via date_default_ timezone_set(). Thanks Maarten

2019 2017 2016 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004