Skip to content

Instantly share code, notes, and snippets.

View Kavignon's full-sized avatar
:octocat:

Kevin Avignon Kavignon

:octocat:
View GitHub Profile
@Kavignon
Kavignon / improve-knowledge-for-nodejs-event-driven-kafka-services.md
Last active April 19, 2024 20:17
Picking up TS, Node, event-driven and Kafka as a backend engineer

Purpose

The purpose of the following gist is to allow me (and interested readers) to level up our backend knowledge to design, implement and maintain Pub/Sub services in Node.js using Kafka as the message bus.

I'll be documenting my journey and learning here.

Tech stack to explore

  • Javascript
  • Typescript
  • Node.js
@Kavignon
Kavignon / day_1_with_sorbet.rb
Last active December 5, 2023 15:36
Advent_of_code_2023
# frozen_string_literal: true
# typed: true
require 'sorbet-runtime'
# Represents a measurement in a calibration document.
class CalibrationReading
extend ::T::Sig
sig { params(index: Integer, digit: Integer).void }
@Kavignon
Kavignon / fix-connection-speed-linux-wls2.md
Created December 1, 2021 22:02
Resolving a slow Wi-Fi connection speed over Linux WSL2

This could be a problem cause by your Windows OS being a bottleneck and limit your speed. After some talks and discussion with a colleague, this is the solution that worked for my case!

From Windows

  • Go to your Start Menu.
  • Go to 'View Network Connections'.
  • Right-click on your Wi-Fi adapter.
  • Select the 'Properties' menu option.
  • Find the 'Internet Protocol Version 4' and select the 'Properties' menu option. (keep the IPv4 option checked)
  • Click on the 'Advanced' button.
  • Uncheck 'Automatic Metric' and enter 1 in the 'Interface metric' text box.
@Kavignon
Kavignon / FSSF-Initiatives.md
Created November 24, 2021 21:56
My thoughts and impressions on the matter of the FSSF

The Foundation has been here for years and has been crucial to help F# become what it is now. So now, we're seeing that the F# community has taken flight and things never seemed better. We have the great things happening like the ever-successful mentorship program that attracts several developers each round. Now comes the time to re-think what can the Foundation to help and support its community in ways that we didn't try better.

TL~DR

I want to promote F# developers and education initiatives as much as I can.

  • Let's help create, maintain and support courses in F# in high school and in STEM programs,
  • Let's plan more events so that we can continue spreading the good word on F#. Still in 2021, when I say F#, I can hear developers being unaware of what it is or being confused about what can be achieved with F#
  • I'd like to find a way around the limitations of Foundation to help support the F# projects that have the most traction,
  • We lack representation in Microsoft docs. We usually see a lot of C# and
@Kavignon
Kavignon / Top-frequent-word.cs
Created October 7, 2021 01:19
Implementation for the LeetCode problem 'Top K frequent words' solved with an hash table and min-heap
public class Solution
{
public IList<string> TopKFrequent(string[] words, int k) {
var output = new string[k];
if (words == null || words.Length == 0)
{
return output;
}
@Kavignon
Kavignon / improving-as-a-software-developer.md
Last active October 27, 2023 17:49
Always hungry for more. This is a list of resources I've used or that I plan to use as a way to improve my knowledge and technical skills as a software developer.

Some of the books I'll be recommending are based on .NET. Do not be discouraged. We shouldn't strive to stick to a specific technology stack. Your ambitions and goals will evolve over time and that might lead you a completely new space. Moreover, there are lessons to be learned from an environment that's different from what you're used to.

Software Development

@Kavignon
Kavignon / GameDomain.fs
Created March 27, 2020 14:19
Immutability concept with Record (value & reference) + Discriminated Union (value & reference) along with objects. The purpose of the gist is to help others understand how immutability works through the use of F#.
module GameDomain
[<Measure>] type gold
[<Measure>] type dmg // damage
[<Measure>] type ctr // critical
[<Measure>] type hl // hit limit
[<Measure>] type kg // weight in kilograms
type HeroClass =
| Archer
@Kavignon
Kavignon / PowerShell-snippets.ps1
Created February 19, 2020 16:19 — forked from martin-morin/PowerShell-snippets.ps1
My favorite PowerShell snippets
# List of usefull snipets I always reuse.
# Get all file types
$extensionList = @((Get-ChildItem -Recurse -File).Extension);
$extensionList | Select-Object -Unique
# Snippets for git support in the team
# -------------------------------------------
# When someone cannot checkout the files from lfs (whatever the user does, the file remain empty with a size of 1K)
@Kavignon
Kavignon / FoodGuideController.cs
Last active July 12, 2019 17:55
ASP.NET Core POST Request failing silently
namespace FailingPost
{
// using directives omitted.
public class FoodGuideController
{
// Code omitted...
[HttpGet]
public IActionResult Index(PageModel model) => this.View(model ?? InitialPageModel);
$ react-scripts build -verbose
Creating an optimized production build...
Failed to compile.
./src/index.re
/usr/local/lib/node_modules/bs-platform/lib/bsb.exe: unknown option '-color'.
Usage : bsb.exe <bsb-options> -- <ninja_options>
For ninja options, try ninja -h
ninja will be loaded either by just running `bsb.exe' or `bsb.exe .. -- ..`
It is always recommended to run ninja via bsb.exe