1. You don't know Git - Jason McCreary - Laracon Online

    I know my way around Git but for anything more than the basics I’ll end up googling solutions. Jason’s talk packed in so much Git wisdom and gave me a few ‘mind blown’ moments. My main takeaway was that you...

  2. JavaScript30: Closing notes

    When I started this challenge my goal was to switch back to vanilla JS after over-relying on jQuery. Due to the improvements of ES2015+ and modern browsers it’s been surprisingly straightforward. I had fun working with the various web APIs:...

  3. JavaScript30 day 30: Whack-a-mole game

    That’s it - day 30 and I’ve finished! The final challenge was to build a whack-a-mole game. It seems complex but breaking it down into a handful of small functions really helps. Notes Event.isTrusted is true if an event was...

  4. JavaScript30 day 29: Countdown timer

    This task was to build a countdown clock with pre-set timer buttons. I tweaked it to use pomodoro times. Notes Date.now() is a new static method that returns the current timestamp in miliseconds. You can select a form element directly...

  5. JavaScript30 day 28: Video speed controller UI

    This challenge was to add a speed controller to a video. I’ve not seen a video UI control quite like this so it was interesting to build. The final code is on github and the live version is here.

  6. JavaScript30 day 27: Click and drag to scroll

    Today I learned that it’s suprisingly difficult to create a horizontal drag and scroll menu! A bit of maths with pageX, offsetLeft and scrollLeft is how you achieve the end result. The final code is on github.

  7. JavaScript30 day 26: Follow along dropdown

    Today’s challenge built on day 22 - create a set of navigation menus that transform in width and height as you move from one to another. The final code is on github and the working demo is here.

  8. JavaScript30 day 25: Event capturing, Propagation, Bubbling and Once

    Bubbling is where an event triggers on the lowest element in the DOM and then moves up triggering parents in nested order. event.stopPropagation() Prevents further propagation of the current event in the capturing and bubbling phases. Event capturing works down...

  9. JavaScript30 day 24: Sticky nav

    Another classic: sticky navigation on scroll! I’ve done this many times but never using vanilla JavaScript so it’s good to see it done as plainly as possible. The demo is here and the files are on github.

  10. JavaScript30 day 23: Speech synthesis

    We looked at the Web Speech API in my favourite challenge so far. One thing I’ve noticed throughout the challenges is that Wes chains methods together. This is something I’ve started to do a lot more on projects. The final...