Managing state with React doesn’t need to be complex, and the built-in Context in React is a great way to do that. The documentation is a bit lacking around some frequent use cases like fetching data from a backend API service efficiently, but it’s possible to go pretty far with just the context. I’ll take […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2023
- <\/span><\/span>My philosophy for life, business and homesteading<\/a>I’ve started out my business less than a year ago, freelancing and now attempting to build out a few SaaS ideas, but I’ve been a homesteader for many years. Homesteading has been instrumental in shaping my current business philosophy. When you’re homesteading, you’re doing many things yourself that most people would instead buy, such as […]<\/cite><\/div><\/div><\/li><\/span><\/span>Coming up with with my new Micro SaaS technological stack<\/a>For my next project, I’ve been assembling a new technological stack to create micro SaaS apps quickly and cheaply before jumping in the code. I’ve not put it to the test yet, but I figured it would be interesting to share how I’ve reasoned about it. I’m now working with small clients, but I was […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2022
- <\/span><\/span>Cranking out a new project making socks<\/a>I’m starting an handmade business making socks! Why socks? Read on… I’ve been fascinated for a long time by the idea that a single machine can be an income stream and wanted to experiment more around this. I have many for my personal use, but the purchase of a 3D printer, a sewing machine or […]<\/cite><\/div><\/div><\/li><\/span><\/span>Hosting a static website for free in 15 minutes with Cloudflare Workers Sites<\/a>I’ve had an old school PHP hosting for ages, and I’m currently moving all the sites I’m hosting there to newer and more effective technologies. I have a few static sites included in the mix: I’ve been writing pure HTML + CSS for so long that it’s still my favorite solution if I want to […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2021
- <\/span><\/span>How to close a React Native modal with a button<\/a>I’ve been working with React Native lately, and I’ve come across a few unimplemented features I needed to add to the basic components. One of those components is the React Native Modal component that is used to show a view above another one. It doesn’t promise more features than that, but it can be very […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2020
- <\/span><\/span>Charting data quickly with Chart.js in React<\/a>I’m working on a small weather station project, and I was looking for a way to plot the weather data quickly on a chart. My first idea was to use the big visualization libraries such as D3.js and Fabrics, but they were way too heavy to get started with for my needs. They can do […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2019
- <\/span><\/span>Create a Minimal Custom Gutenberg Block in WordPress<\/a>I’ve started playing with the new Gutenberg editor in WordPress, and the experience is a lot more modern than the old TinyMCE editor that’s been around for a good 15 years (and I’ve had blogs for almost that long!). Instead of editing all the content of the post at once, the Gutenberg editor works with […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2017
- <\/span><\/span>Fixing the NetworkOnMainThread exception in your Android app with AsyncTask<\/a>As soon as you start doing long-running operations such as network calls or anything else that can take more than a few seconds in your Android application, you’ll come across one of the following problems: The [Application] not responding (ANR) popup is shown while you run your application, and the The application may be doing […]<\/cite><\/div><\/div><\/li><\/span><\/span>How to get started with Android development – Layout Managers<\/a>At the end of my last article, I left you hanging after describing activities, without telling you how to build a UI, so here we go. In the Android SDK, layouts are separate from the Java code that defines how an activity behaves. Using this separation of concern, it’s easier to modify the layout without […]<\/cite><\/div><\/div><\/li><\/ul><\/a>2016
- <\/span><\/span>Are You Hard to Convince?<\/a>When discussing a new technology, I’m rarely the first one to jump on the bandwagon. In fact, I’m usually the killjoy that ends up arguing against using a new library or a new language feature when the enthusiasm is high and everybody is eager to get started. It’s not that I want to stay comfortable […]<\/cite><\/div><\/div><\/li><\/span><\/span>Connecting the ESP8266 chip to your network<\/a>I’m working on a project to automate our chicken coop (see my article Getting over myself and doing things the easy way for more details on the project). Right now, the lights open and close by themselves: it needed to be done now since the chickens had trouble laying eggs with our short Fall days. […]<\/cite><\/div><\/div><\/li><\/span><\/span>Embrace your weirdness and stop worrying<\/a>Once you’ve reached the point where you’re a proficient programmer with a good understanding of a useful tech stack, you’re now faced with the sisyphean task of Keeping Up with New Tech. Polishing your professional skills becomes trendsspotting, starting with daily Hacker News browsing sessions to find out what’s going to be the new hotness, […]<\/cite><\/div><\/div><\/li><\/span><\/span>Figuring out how the CSS of a website works using Firebug – Screencast<\/a>The basis of using Cascading Style Sheets (CSS) to apply formatting to an HTML document is deceptively easy to understand, but hard to master. You define selectors that designate HTML elements, which contains formatting rules that apply to those elements and their children. If more than one rule applies to an element, they are applied […]<\/cite><\/div><\/div><\/li><\/span><\/span>How to get started with Android development – Basic structure<\/a>In a previous article, I wrote about how you can launch your first Android application from the samples provided with Android Studio. Now that you’ve had a chance to poke around a few samples, I’m going to tell you a bit about the basic structure of an Android application. A good place to start understanding […]<\/cite><\/div><\/div><\/li><\/span><\/span>Writing a book: how to work on many projects<\/a>After quite a bit of pondering, writing and editing, I shipped the Learning as a Software Developer book last week. The whole process took about 6 months to complete, so I had time to experiment with a few ways to work. During that time, it was important for me to keep the blog going and […]<\/cite><\/div><\/div><\/li><\/span><\/span>The joy of batching<\/a>The garden is winding down, so I need to can, freeze and otherwise preserve the harvest so it doesn’t go to waste. It’s a time-consuming task: a single batch of pickles takes a few hours, from slicing the cucumbers to processing the jars. Still, it’s a decent time investment since I like homemade pickles. It […]<\/cite><\/div><\/div><\/li><\/span><\/span>Getting over myself and doing things the easy way<\/a>During the summer, I usually spend a lot less time working on the computer. I’m outside instead, taking advantage of the short Canadian summer to garden and soak up sun while it lasts. When I do work on something, I keep it light and try new technology that piqued my curiosity just for the fun […]<\/cite><\/div><\/div><\/li><\/span><\/span>What you are is what you do<\/a>We define our work and our skills using various labels. Right now, I could say that I’m a software developer, a programmer, a product owner, a web developer, an Android developer and all those would be true. Still, those labels don’t tell you much about what I really do, or how much experience I have […]<\/cite><\/div><\/div><\/li><\/span><\/span>Your job will never be done<\/a>As a software developer, you have to become comfortable with the fact that your work is never truly done. The software you create will always be a work in progress. When you code that last feature or fix that last bug, another one will pop up soon enough. Also, as you keep learning, you’ll find […]<\/cite><\/div><\/div><\/li><\/span><\/span>What is the next step when learning a new skill?<\/a>Getting started with a new skill is hard, but the steps are clear. You’re completing a course or a tutorial , and someone else laid out a list of exercises you have to master as a beginner. But what can do after you’ve finished that first application to keep learning? How can you improve on […]<\/cite><\/div><\/div><\/li><\/span><\/span>Simple code is beautiful<\/a>Despite the large number of languages and tools that will get thrown at you if you mention web development (Ruby! React! Node.js! AngularJS! Gulp! Python!), the simplest web application you can create includes HTML, CSS and a bit of JavaScript for the interactivity. You don’t even need to setup a web server: just open it […]<\/cite><\/div><\/div><\/li><\/span><\/span>Basic JavaScript arrays reminder<\/a>I’m pretty bad when it comes to remembering syntax details for languages I don’t use every day, especially since I work with a few languages that use C-syntax and not just JavaScript. Also, it’s not the kind of details I want to spend a lot of time studying since this information can easily be found. […]<\/cite><\/div><\/div><\/li><\/span><\/span>The curse of staying up to date with new technology<\/a>Keeping up to date is a major part of the job of a software developer and why we love it. Most developers are curious and love to tinker, so learning a new technology pushes all the right buttons. Still, trying to absorb all the news from your source of choice, be it Twitter, Reddit or […]<\/cite><\/div><\/div><\/li><\/span><\/span>Embrace the limitations to complete projects<\/a>As makers and creatives, we hate it when bosses and clients put limits on what we can do when we build new software. We believe that we should be free to try anything we want with the code and the features, and that we would automatically build and innovative software that could rival Apple’s if […]<\/cite><\/div><\/div><\/li><\/span><\/span>You can’t remember every detail, so stop trying<\/a>There are more details involved in writing an application that anyone can remember. You can’t hope to retain everything you’re told: it’s easy to slip and forget something important. What can you do so you don’t feel overwhelmed when you’re sitting down alone at your computer? You don’t want to ask your clients or colleagues […]<\/cite><\/div><\/div><\/li><\/span><\/span>Review : Web tooling and automation course on Udacity<\/a>In the last few weeks, I’ve gone through a few courses on the Udacity since I’ve been looking to update my JavaScript skills. The Udacity courses are mostly videos, but short and to the point. I often have trouble following along with videos when they’re too long and would rather have the transcript, but it […]<\/cite><\/div><\/div><\/li><\/span><\/span>To learn, you must ship your code<\/a>When working on a project, the temptation is strong to make everything perfect before showing it to the world, or even just to your co-workers. You know each and every line of code you wrote, but you have a long list of bugs to fix and don’t want to expose your work until you’re completed […]<\/cite><\/div><\/div><\/li><\/span><\/span>Updating your outdated knowledge by moving to a new web stack<\/a>After a few years working with the same framework and language, you have stopped learning new ones. Life got in the way of learning and you let the habit die down, since the knowledge you have is enough to do your job well. But now, you’re finding yourself worried about your skills and job prospects: […]<\/cite><\/div><\/div><\/li><\/span><\/span>How to get started with Android development<\/a>Learning how to build a mobile application is a good project to improve your programming skills while learning to work in a different environment than the desktop or a web browser. You can get started without worrying about a large stack, making it easy for a beginner to pick it up and start playing with […]<\/cite><\/div><\/div><\/li><\/span><\/span>When are courses counter-productive?<\/a>When you wish to improve your programming knowledge, choosing the next course you’ll follow on platforms such as Udacity, Coursera or Udemy is exciting. All the courses descriptions promises that you’ll learn great new skills you can use to build cool projects and to improve your career. It’s also very easy to get started by […]<\/cite><\/div><\/div><\/li><\/span><\/span>Reaching an ambitious goal takes time<\/a>Working toward a goal is easy if you’re just starting out and everything is fresh and new. For short-term goals such as learning a new programming language, reading a book or completing a course, it’s not hard to see it through if it really matters to you. You just need to follow the process and […]<\/cite><\/div><\/div><\/li><\/span><\/span>Take a break, go out and play<\/a>There is so much to learn and so many cool things I can make as a software developer that I can stay on my computer all day without getting bored. It gets a bit hard to concentrate after a few hours, but nothing that a cup of coffee can’t fix. If I feel stir-crazy, I […]<\/cite><\/div><\/div><\/li><\/span><\/span>Gamify your learning goals<\/a>