Skip to content

Instantly share code, notes, and snippets.

View jonasraoni's full-sized avatar
☠️
Do what you want cause a pirate is free! You are a pirate!

Jonas Raoni Soares da Silva jonasraoni

☠️
Do what you want cause a pirate is free! You are a pirate!
View GitHub Profile
@jonasraoni
jonasraoni / hub.js
Created March 30, 2019 19:43
Class to handle SignalR subscriptions
//+ Jonas Raoni Soares Silva
//@ http://raoni.org
const signalR = require('@aspnet/signalR');
export default class Hub {
constructor (url, autoReloadTimeout = 1000) {
Object.assign(this, {
url,
autoReloadTimeout,
@jonasraoni
jonasraoni / server-time.vue
Created March 30, 2019 19:41
Vue plugin to retrieve the server time
//+ Jonas Raoni Soares Silva
//@ http://raoni.org
export default class ServerTime {
constructor ({http = new Error('http parameter is required'), url = new Error('url is required'), thresholdDelay = 300, autoSynchronizeProbes = 0}) {
Object.assign(this, {
http,
url,
thresholdDelay,
best: null
//+ Jonas Raoni Soares Silva
//@ http://raoni.org
export default function debounce (action, delay) {
let handle;
return function (...args) {
if (handle) {
clearTimeout(handle);
handle = null;
}
@jonasraoni
jonasraoni / max-decimal-places.js
Created March 30, 2019 19:38
Given a list of numeric arguments, retrieves the longest amount of decimal places, useful to format :)
//+ Jonas Raoni Soares Silva
//@ http://raoni.org
export default (...values) => Math.max(...values.map(value =>
(value = (value + '').split(/[.,]/)).length > 1 && value.pop().length
));
@jonasraoni
jonasraoni / number-to-ordinal.js
Created February 24, 2019 11:41
Number to ordinal (English)
function numberToOrdinal(n) {
const
number = Math.abs(n) || 0,
units = number % 10,
tens = ~~(number % 100 / 10),
suffix = new Map([
[1, 'st'],
[2, 'nd'],
[3, 'rd']
]);
@jonasraoni
jonasraoni / update.sql
Last active February 24, 2019 11:28
Fill the gaps in SQL Server
/*
There is a table in database. This table contains unduplicated natural numbers. There may be gaps in the sequence of natural numbers in the table. You need to output missing numbers.
Table of natural numbers: declare @values as table ([number] int not null).
Test data: insert into @values([number]) values (1), (2), (3), (5), (9).
Result: declare @missing as table ([left] int not null, [right] int not null).
*/
DECLARE @values AS TABLE ([number] INT NOT NULL);
INSERT INTO @values([number]) VALUES (1), (2), (3), (5), (9);
DECLARE @missing AS TABLE ([left] INT NOT NULL, [right] INT NOT NULL)
@jonasraoni
jonasraoni / Flattener.cs
Created July 14, 2018 14:46
Flatten Array in C#
using System;
using System.Collections;
using System.Collections.Generic;
/// <summary>
/// Extends the Array with the Flatten method
/// </summary>
public static class Flattener {
/// <summary>
/// Given a N-dimensional array, flattens it into a new one-dimensional array without modifying the elements' order
@jonasraoni
jonasraoni / cloudSettings
Last active November 2, 2021 08:34
Visual Studio Code Settings Sync Gist
{"lastUpload":"2021-11-02T08:34:50.367Z","extensionVersion":"v3.4.3"}
@jonasraoni
jonasraoni / cross-query.sql
Created May 10, 2018 18:12
Microsoft SQL Server Management Studio: Add external server and query against local databases.
EXEC sp_addlinkedserver @server='SERVER_ADDRESS';
EXEC sp_addlinkedsrvlogin @rmtsrvname='SERVER_ADDRESS',@useself=false, @rmtuser='USER', @rmtpassword='PASSWORD';
--------------
INSERT INTO LOCAL_TABLE
SELECT *
FROM
[SERVER_ADDRESS].DATABASE.dbo.REMOTE_TABLE

Keybase proof

I hereby claim:

  • I am jonasraoni on github.
  • I am jonasraoni (https://keybase.io/jonasraoni) on keybase.
  • I have a public key whose fingerprint is C6B8 2A63 2F58 4784 159E 802F 5ECC 07E6 0269 4752

To claim this, I am signing this object: