This last Christmas break, with the exception of visiting my parents for a couple of days (after having forced myself into a sort of autolockdown period first), I didn’t have any big plans. That’s why, I took the opportunity to improve my software development knowledge.
As I better learn concepts by applying them to real applications rather than writing examples, I decided to create a little scanner progressive web app (PWA) entirely made with the web.
I called it Rebel Scan because it’s just a little scanner app, you rebel scum!
It’s important to note that this little scanner doesn’t aim to be the most perfect scanner the world’s ever seen. I’m not even sure I’ll use it in the future. The image processing isn’t the best, there’s no text extraction, and on mobile, it can only share PNGs (see the last section in this article for more about that). It had absolutely no other goal than helping me learn new skills. …
The past few days, I have re-build from the ground up the website of DeckDeckGo with the goals to extract static content from our editor for slides and, to develop the foundation to internationalize our platform.
At first, I was looking to experiment a new method but, did not find any which worked well for me. That’s why I developed this new website with Gatsby using my own recipe, again.
Doing so, I learned a couple of new tricks and also improved, I hope, the solution. …
I am not sure anyone will ever need the following tricks but, at my client’s place, we have an application which can only be accessed through an URL which contains a dynamic base64 parameter. Needless to say, it makes its local development a bit inconvenient.
In addition, I have to admit, I am not a big fan of CLI’s options which can automatically open browser. Even though I mostly use the Chrome Incognito mode for development purpose, I like to switch often between browsers to try out what I developed.
Finally, I don’t use bookmarks (don’t judge me) and, I often switch between technologies. Therefore, without configuration, every time another port has to be used (
:8100 etc.). …
As a result, I notably had to create a custom, generic lazy-loaded modal.
This article has been published in November 2020. The solution has been tested with Angular v11 and Tailwind v2.
This tutorial describes the creation of a generic dialog with Angular and Tailwind CSS. By generic, I mean that the goal is the creation of a dialog’s container which can be reused several times in the application, with different content, without the need to rewrite everything multiple times. …
Once upon a time, there was a compiler that generates Web Components and builds high performance web apps called StencilJS. Among all the build-time tool ever created, it had for goal to build faster, more capable components that worked across all major frameworks.
On the internet next door, there lived a boy (me 😉). And the boy watched the compiler grow more and more effective, more and more developer friendly with each passing year.
One day, as he was developing something new in his beloved project DeckDeckGo, the boy had the idea to experiment a feature of the compiler he had never tried so far, the integration of Web Workers. …
We have received thirty-two Pull Requests which not only helped us to solve features and issues but definitely pushed forward our editor for slides 🚀.
We would like to thank once again each and every person who gave us a hand and, the least we can do, give them credits back by listing here afterwards all their amazing work!
Note: following contributions are sort by date ascendant.
We aim to be transparent. …
One of my current client requested a list of the bare minimum information required to publish their app in the App Store and Google Play. Once again, I did not remember where I saved such check-list 😅.
That’s why, instead of charging them for such process, I had the idea to wrap up these information in form of a public blog post I’ll try, hopefully with your help and inputs, to maintain up-to-date.
This blog post has been updated for the last time Tuesday 3rd November 2020.
Following questions have to be answered in order to distribute the app in both App Store and Google…
This morning I had to improve a function we used in DeckDeckGo to recursively clean objects after persistence. Because I am currently quite busy but would not like to push my blogging habits too much on the side, I got the idea that this small “hack” would be a nice subject for a new blog post 🤗.
For example, your database contains a document such as the following:
description: 'Hello World'…
Implementing a state management in modern web Angular applications can be tricky.
In both cases, libraries or custom, RxJS is used 🤷♂️.
Even though RxJS is a wonderful piece of technology, is nowadays a de facto standard when it comes to Angular development, and installed per default with almost any starter kits, it can be still opted-out. …
We recently released an exciting new feature at DeckDeckGo.
In addition to being able to deploy your presentations online as progressive web apps, our web open-source editor can now push your source code to GitHub, too.
This new function runs on Cloud Functions for Firebase. Because we like to share our discoveries, here are the key things we learned while developing this integration.
To interact with GitHub, we need a token.
If you’re looking to interact with GitHub with your account, you can use a personal access token. Once created, you can set it in the configuration of our Firebase functions. …