Latest Posts

Cool Rust and WebAssembly Resource

I still haven’t really dug into Rust and WebAssembly (WASM) yet, but this project looks really cool. It looks like a really great way to learn Rust and WASM. 👏

Evaluating the new Microsoft Edge

About a month ago I Tweeted that I was going to take the new MS Edge browser for a tour. So the first thing I did was grab the Edge Beta since there is currently no official release yet. I am using a Mac, so all the following applies to Mac usage. Once installed, I enabled sync by logging in with…

What are your favourite Alfred workflows?

Alfred is such a great tool if you use a Mac. I mention some that I use in My Mac Setup. I also have a few I wrote a while back for those interested, github.com/nickytonline/alfred-workflows. For those of you that use Alfred, what are some of your favourite Alfred workflows? Join the discussion…

Share your CSS knowledge

Today I learnt about the `:placeholder-shown` pseudo-selector thanks to Daniel’s Tweet. What are some things about CSS that you've learnt about recently or that you think others would benefit from knowing? Drop your thoughts here. Let's talk about it

Looking for Great Headphones

I've generally been working with cheap headphones. I currently have a pair of MPow H7 headphones. They're not bad for a non-audiophile, but I am not fooling myself into thinking these are premium noise-cancelling headphones. I have never considered a high-end set of headphones because I've broken…

Webcam Suggestions Anyone?

I'm looking to buy a webcam for my home office. The one on my laptop works quite well, it's just when I'm in a video call, my laptop is to the left or right of me as my external monitor is in front of me, so you always see my side profile. I'm looking for a webcam I can mount on my screen or sit on…

Toast Messages

So I made a little toast message demo tonight. It also works with the keyboard if you tab. It will focus on the close button of the toaster and it you hit ENTER, the toast is toast! I was just having a little fun, but it brought up a question for me. What type of HTML element should a toast message…

You do not need to use the classnames package

Do not get me wrong, the classnames package is really handy. It is also quite popular with just over 3.5 million downloads per week as of the date of this blog post. Most React based projects I have worked on use it. If you are not familiar with the package, it allows you to build a set of CSS…

My Hacktoberfest 2019

Like many of you, I am participating in Hacktoberfest as well. Most of the contributions I have made in October have been for DEV. Here are the PRs that have been merged so far: Mini refactor to make variable names clearer in the Categories component Now eslint ignores the app/assets/javascripts/lib…

My Shell Aliases

Everyone has their favourite aliases for git and the shell. I have written about my git aliases before but not my shell aliases. It is not a long list, but I have some that I find useful that you may find useful as well. Currently, my preferred shell is zsh. Here is what I currently have in config…

Update Dependencies with Dependabot, Cypress and Netlify

To preface things, this post is in the context of a JavaScript project, specifically, my blog iamdeveloper.com. I host my site on Netlify. They have great tools and it’s very easy to get setup so that PRs and pushes to master create deployments. If you want to check out Netlify, I highly recommend…

The Chromium Browser Wars

I’ve purposely left out FireFox here because this is not about Firefox. It’s about Chromium based browsers. No knock on FireFox. It’s great as well. What I’m wondering is if you are a Google Chrome convert, will you stay a Chromer? Don’t even know if that’s a real thing. 😆 I think it was in 200…

dev.to with a TypeScript or Flow frontend codebase?

Before the dev.to codebase was opensourced, I was working on it in the private repository and created an issue in there, Consider using Flow or TypeScript in the Front-End Codebase, that has since been copied to the public repository (thanks @maestromac!). For those new to types, here's a post from…

An a11y extension coming to a browser near you

Last year when I was looking to take on a new role somewhere, one of the places I interviewed at was Khan Academy. TLDR, I wasn’t hired 😉. However, as a candidate, I wanted to stand out (relevant post Take chances and standout). In a nutshell, I put up a PR to Khan’s tota11y repository to convert…

HTML Forms: Back to Basics

Let's forget frameworks and libraries for a moment. Today we’re just going to talk about the element and some of the things you can do with it in the DOM. For web devs who are getting a little long in the tooth, you’re probably familiar with most of this, but for newer devs, this might be news to…

Ink: React for CLIs

This one is short and sweet. Are you familiar with React? Then you know Ink. I haven't tried this out yet, but basically it's a custom React renderer that allows you to build beautiful CLIs. Flexbox in a CLI? 🤯 React hooks in a CLI? YOLO my friend, YOLO. Holy Forking Shirt! Here's a little example…

Showcase your Gatsby Site

Have you created a Gatsby site that you're proud of? It could be for a client or just your personal site. Either way, you can submit it to the Gatsby showcase. It's pretty simple to do. Just follow the instructions [here](https://www.gatsbyjs.org/contributing/site-showcase-submissions/). In a…

An Enhanced TypeScript Playground

As I was going through my Twitter feed earlier this evening, a tweet from one of my followers/someone I follow popped up. I was like, hey, that looks pretty cool. So I asked Steven if he had created it, to which he replied. In a nutshell, typescript-play is like the official TypeScript playground…

TypeScript Tips Part II: Declaration Merging

If you haven't checked it out yet, check out my TypeScript Tips Part I post. Declaration merging has been around for a while now in TypeScript. In a nutshell it lets you merge definitions of types. There's plenty of examples in the documentation, so let's just start off with something simple. You…

TypeScript Tips Part I

We'll start off with the usual shameless plug of another blog post. If you haven't read it yet, check out my blog post, Consider Using TypeScript. We're going to look at a few tips that may/can help you on your journey in TypeScript land. First let's start off with some things to remember if you're…

Any contribution to Open Source is valuable

We hear people say it all the time, but I would like to reiterate it. Any contribution you make to open source is a valuable contribution. Sure we all like adding features or fixing bugs in a project, but updating documentation is still worthwhile. I was reminded of this on the weekend. My site is…

Is 2019 the year of TypeScript?

This comment in the Jest repository, https://github.com/facebook/jest/pull/7554#issuecomment-454358729, has been floating around on the Twitterverse the past few days and seems to be garnering a lot of attention. The fact that a Facebook project is migrating to TypeScript (TS) is kind of big deal…

The CSS mask property

Say you have a background that you want a certain colour, but you only want to show parts of the background. Enter the CSS property. Think of it like a cookie cutter. You want to bake a cookie, not a rectangular piece of dough. So how does this fit into a real world example on the web? Have you…

Take chances and standout

This is my first time writing a post about career advice. This kind of advice is definitely not a one size fits all. Everyone has their own experiences, circumstances etc., but hopefully some of what I discuss will resonate with you. In May of 2016, I decided to embark with a startup and live in…

My 2018 Year in Review

So here’s my 2018 Resolutions - Just some dev. Did I complete them all? No, but honestly it’s not a big deal. Continue to contribute to open source.: Mission accomplished 🚀. I continued to be a collaborator on react-slingshot and contributed some work there this year, fielded some issues etc. My…

Setting up Storybook for Preact

Update 2019/06/30: Storybook now has an option via the CLI to install for Preact. For more info see [Preact for Storybook](https://storybook.js.org/docs/guides/guide-preact).TLDR `npx -p @storybook/cli sb init --type preact`. In my last Storybook post, Getting Started with Storybook for React, I…

My Git Aliases

Alright, so Phil Nash roped me into this one. This keeps in line with my other posts that are “Not just a Gist”. If you want to read about those posts, check out mac.iamdeveloper.com and vscode.iamdeveloper.com. This post’s birth comes from a gist which is essentially a copy paste of my git aliases…

Reveal your macOS Secrets

A while back, I wrote about My Mac Setup (yes, shameless plug 😄). I have it pretty much tweaked to make me productive, but there was one thing that always bugged me. Every time a native dialog popped, I couldn't tab through the buttons. For whatever reason, I just assumed that this was how it was…

Getting Started with Storybook for React

Story what? Storybook is a great tool for developing and showcasing components. I love it so much, I did a talk about it at js-montreal last summer. Storybook forces you, a good thing, to develop your components as components because you're not in the actual application. It supports React, React…

Probably another Battleship board on Code Pen

If you want to see the previous Code Pen I did, check out A 💩 Notification Code Pen. Continuing along with my 2018 Resolutions to make Code Pens this year, here is my latest. As mentioned previously, one of the reasons I wanted to start making Code Pens was to see how much I can do without the help…

A 💩 Notification Code Pen

If you want to see the previous Code Pen I did, check out A Simple ⭐ Rating Code Pen. Continuing along with my 2018 Resolutions to make Code Pens this year, here is my latest. A fun little poop notification component. Maybe Squatty Potty can use it 😂 (watch their commercial if you're having a bad…

Have a Handy JS Snippet You Want to Share?

So it's pretty simple. I'm looking for one or two lines of JavaScript that do something useful. I'll get the ball rolling and start with some examples: Shallow array clone via Array spread. Shallow array clone via . Shallow clone of an object via object spread. Shallow clone of an object via object…

A Simple ⭐ Rating Code Pen

Continuing along with my 2018 Resolutions to make Code Pens this year, here is my latest. A super simple rating component showing how with just CSS you can go from 1 to 5 stars. I'll admit that there is nothing mind blowing in terms of what the pen does, but the point of it is to demonstrate a way…

Quick Hulk Code Pen

Short and sweet. One of my goals for 2018 is to start doing Code Pens. Here's my first one. Simple and fun. I give you Hulk table rage.

My Mac Setup

Maybe I should start a series called “Not just a Gist”, as I’m slowly converting gists of mine to blog posts. The last one I converted was all about My Visual Studio Code Setup. I participated in this week’s #devdiscuss about tooling, and I posted a few links to gists that are my setup on my Mac…

2018 Resolutions

So like many, I too will make resolutions for 2018. I made myself accountable by joining a recent #DevDiscuss on Twitter. So let's break down the list: I've been active in OSS for the past couple of years, with most of my focus being on react-slingshot. I started contributing to this project as a…

My Visual Studio Code Setup

This originally was just a gist, but I thought it made sense to just convert it to a blog post. As the stateofjs.com survey this year noted, Visual Studio Code is quickly becoming the editor of choice for many web developers. VS Code is my editor of choice. It's great for web dev, and if you're…

Consider Using TypeScript

I'm not going to be one of those that tells you have to use TypeScript (or Flow for that matter). I'm also not going to go into the whole TS vs. Flow debate. There are plenty of people already doing that. All I want to do is present some good reasons why you might want to consider using TypeScript…

My Talk on React Storybook at the js-montreal Meetup

My talk at the June 13th, 2017 js-montreal meetup slides/repo are available at story.iamdeveloper.com. This was the first time I attended the js-montreal meetup. It was good to meet lots of new folks. Looking forward to the next one.

Reboot with Gatsby

My blog/site has been pretty non-existent as other things always seem to take priority, but here's hoping that I'll do a bit more with this space in 2017. I decided to use the Gatsby static site generator this time round as React is currently the tech of choice for me when building SPAs.