As some of you might know, I’m the author of a book about the TypeScript programming language. It was my first experience with the publishing world and it taught me a lot. The writing experience in itself was interesting, but seeing people reading and learning from my own book felt great.
I want to continue to contribute to the IT community, and writing is my main medium for now. …
Recently, I’ve been doing some research around Next.js & GraphQL.
After looking into the back-end side (which I’ll write about another day), I wanted to test drive some libraries for querying my GraphQL API.
Of course, since I was using Apollo on the back-end, it made sense to go full-circle and use Apollo on the “client-side” too.
In this article, I’ll explain how I’ve integrated it into my Next.js application. Since you know me, it should be obvious that the application uses TypeScript!
Note that I’m no Next.js specialist (nor a React one :p) and thus, I might be wrong…
Back in 2019, I wrote a short cheatsheet about the Design Sprint 2.0 approach. It’s been sitting on my Google Drive, and I thought that it may be useful to others, so here goes!
This isn’t an introduction to the approach, so if you’ve never heard of design sprints, you should probably check out the Sprint book of Jake Knapp (the creator of Design Sprints).
In two words though:
Design Sprints are workshops, spread out over about a week of time (depending on which variation you use), during which your team will try to solve a big design challenge, and…
As some of you might know, I’m working on a book about Software Development Concepts.
Among many other things, the book will cover the basics of User Experience (UX), User Interface (UI), and Customer Experience (CX).
Tonight, I wanted to help my readers to visualize the difference between those. Here’s what I’ve come up with so far:
This diagram is directly inspired by the one published here by Michael Janda, extended with some ideas of mine.
Now that I have created the visualization, I can continue explaining those concepts… one by one ;-)
That’s it for today!
PS: If you have ideas/remarks about this, don’t hesitate to comment, I’m curious.
TL;DR: It can be really hard to know if we’re just resilient or falling for the sunk cost fallacy.
I’ve been working for ~20 months on my current project, spent 2K hours on it, and “lost” 200K € by not doing something else. That project is not ready yet. Here’s the story behind it.
Early in 2018, after having worked for 10+ years as an employee, office politics got to me and I was tired of wasting time in meetings. I really wanted to quit, be my own boss, and have more impact on the world around me.
In this article, I’ll explain how to generate a table of contents with automatic numbering using pure HTML and CSS.
With CSS counters, we can use and increment variables maintained transparently for us by CSS; allowing us to customize the appearance of our content easily.
Office plugins (desktop & OWA) can be developed using standard Web technologies, but the templates of Microsoft are “dated”.
Using the Web platform to develop Microsoft office add-ins is pretty cool. Unfortunately, at least at this point in time, the template offered by Microsoft to generate Angular-based projects is quite “old-school” and not in phase with modern Angular/Web/TypeScript development.
In this article, I’ll show you that we can do better and use a standard Angular project and integrate what’s needed to make it work as an Office add-in.
Let’s get started!
Angular 11 has just been released. Time to discover what’s new!
In this article, I’ll go over (almost) everything noteworthy in this brand new release. I’ll also highlight what’s changed around Angular, just like I did with my Angular 10 in depth article.
If you want a helicopter view of what’s new, then check out the official Angular blog. Here, I’ll try to dig much deeper into the release notes.
As a reminder, the Angular team tries to release two major versions per year; so Angular 12 should arrive early next year.
If you’re missed the previous article about Angular…
Mocking overloaded TS methods with Jest is not hard per se, but you have to know how to do it.
In this article, I’ll explain the “issue” and how to work around it.
Method overloading is a very familiar concept for any developer used to Object-Oriented Programming (one of many that I’ll explain in my upcoming book by the way).
With method overloading, you can define multiple methods/functions with the same name but with different signatures. Overloading can be nice to use as a specific implementation is called depending on the parameters that you pass.
Of course, method overloading is…
Often, when I look at code written by juniors, I see a lot of nested code. In this article, I’ll try to articulate why it is problematic and what to do instead.
Let’s look at a trivial example together:
This function is simple enough; it either receives an input, or it does not. As it stands, almost all of the code of this function is “protected” by an
if statement. That is, almost none of the code will execute if the condition is not met. If it isn’t, then there’s a single log statement to execute.
For such a…