Blog

I like to share what I learn. I always try to be concise and give practical examples.

  • GitHub App and OAuth ~ Practical Kick-Starter

    Enhance your GitHub OAuth implementation by using a popup approach for authentication in single-page applications (SPAs). This guide walks you through the process of spawning a popup for user authentication and securely handling the access token.

  • GitHub App and OAuth ~ Disjointed flow

    Discover how to integrate GitHub App functionality into an existing OAuth-based authentication system. This guide explains how to authenticate as a GitHub App using JWT, retrieve installation IDs, and access repositories associated with the app.

  • GitHub App and OAuth ~ Practical Kick-Starter

    Learn how to build an interface that allows GitHub-authenticated users to view which repositories have a specific GitHub App installed. This guide covers creating a GitHub App, implementing OAuth authentication, and querying the GitHub REST API for installations and repositories.

  • CORS, Preflight request and OPTIONS Method

    This post is intended to be a light reading with the purpose to give a minimum of context and instill some curiosity towards a topic often considered opaque - CORS are a simple HTTP-header mechanism that every web developer can easily understand.

  • Radial Gradient Generator

    Create stunning designs with the free Radial Gradient Generator. This user-friendly web tool lets you customize multiple shades, colors, and positions for beautiful radial gradients. Perfect for placeholders or design embellishments, easily copy and paste your gradients into your projects.

  • Built-in-like Range in JavaScript

    Make it possible to generate any range of integers with built-in-like syntax.

  • Penetration and Security in JavaScript

    Are you sure you are ensuring your code to be used as intended? Are you preventing it from beeing used in a malicious way? If what comes your way is putting guards in your functions, this post will open up a world for you. Using checks is not enough.

  • Headers for large files

    HTTP headers Content-Length, Content-Encoding, and Transfer-Encoding impact the transmission of large files in web applications. With a practical Node.js server example, learn about header combinations and the importance of the Content-Length header and gzip compression for optimizing web performance.

  • Cache-Control max-age, stale-while-revalidate

    Until now, thanks to Last-Modified/If-Modified-Since or ETag/If-None-Match we mainly saved on bandwidth. However, the server always had to process each request.

  • ETag/If-None-Match

    we explored the usefulness of the Last-Modified Response Header and If-Modified-Since Request Header. They work really well when dealing with an endpoint returning a file. What about data retrieved from a database or assembled from different sources?

  • Last-Modified / If-Modified-Since

    Less load on the server and less bandwidth usage for the same result? Where should I sign up? Nowhere, you just need to know the right headers.