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 / bitwise-pascal.pas
Created October 23, 2017 14:12
Functions to set/get bits on a DWord
function GetBit(const Value: DWord; const Bit: Byte): Boolean;
begin
Result := (Value and (1 shl Bit)) <> 0;
end;
function EnableBit(const Value: DWord; const Bit: Byte; const TurnOn: Boolean): DWord;
begin
Result := (Value or (1 shl Bit)) xor (Integer(not TurnOn) shl Bit);
end;
@jonasraoni
jonasraoni / align.c
Created October 25, 2017 22:59
Displays the memory alignment of each data type.
#include <stdio.h>
#define ALIGN_OF(t) ((int)(sizeof(struct{char c; t x;}) - sizeof(t)))
int main()
{
printf("char: %d\n", ALIGN_OF(char));
printf("short: %d\n", ALIGN_OF(short));
printf("int: %d\n", ALIGN_OF(int));
printf("long: %d\n", ALIGN_OF(long));
var _, D;
(_ = function(){return this["trela".match(/\w/g)["reverse"]().join("")];})[false] = "jonas";
_()(_[ (_(_)===D )]);
@jonasraoni
jonasraoni / increment.js
Last active March 8, 2018 22:55
A variable that increments itself whenever it's accessed.
class Increment{
constructor(value) {
this.current = +value || 0;
};
[Symbol.toPrimitive]() {
return ++this.current;
}
}
var increment = new Increment();
@jonasraoni
jonasraoni / print-spiral-array.js
Created October 27, 2017 12:00
Given a square matrix of at least 3x3, print its elements following a spiral path
function print(o){
var
m = o.length >> 1,
r = m,
c = m + 1;
p = function(){
console.log(o[r][c]);
},
left = function(i){
for(; c > i; p(--c));
@jonasraoni
jonasraoni / chained-sum.js
Last active January 3, 2021 12:35
A chained sum function in JavaScript
//+ Jonas Raoni Soares Silva
//@ http://raoni.org
// Iteration 3: manually minified xD
const sum = (...args) => ((v, r = sum.bind(this, v)) => (r[Symbol.toPrimitive] = () => v, r))(args.reduce((a, b) => a + b, 0));
// Iteration 2: supports sum(1,2,3)
const sum = (...args) => {
const operation = (...args) => args.reduce((a, b) => a + b, 0);
let current = operation(...args);
@jonasraoni
jonasraoni / backup.js
Last active February 27, 2019 13:03
Creates a full backup of all SQL Server, PostgreSQL and MySQL databases in JScript/JavaScript.
Backup = {
shell: WScript.CreateObject("WScript.Shell"),
base: "C:/BACKUP/",
username: "USERNAME",
hostname: "HOST",
password: "PASSWORD",
type: {
postgreSQL: function(){
var shell = Backup.shell;
var path = "c:/program files/postgresql/9.6/bin/";
@jonasraoni
jonasraoni / sql-server-paging.cs
Created November 4, 2017 08:52
Transforms a simple SQL Server SELECT statement into a pageable statement.
using System;
using System.Text.RegularExpressions;
namespace Raoni {
public static class Utils {
private string queryLimit(string query, uint limit, uint? offset) {
if(limit > 0) {
offset = offset == null ? 0 : offset;
if(offset < 0)
throw new Exception("LIMIT argument offset=" + offset + " is not valid");
@jonasraoni
jonasraoni / sql-server-find-missing-indexes.sql
Last active November 4, 2017 09:28
SQL Server SELECT statement to find foreign keys that are missing indexes
SELECT
C.Table_Name,
C.Constraint_Name,
C.Constraint_Columns
FROM
(
SELECT
object_name(i.object_id) table_name, i.name index_name,
MAX(CASE index_column_id when 1 THEN col_name(ic.object_id,ic.column_id) ELSE '' END) +
MAX(CASE index_column_id when 2 THEN col_name(ic.object_id,ic.column_id) ELSE '' END) +
@jonasraoni
jonasraoni / pgsql-find-create-missing-indexes.sql
Created November 4, 2017 09:27
PostgreSQL SELECT statement to find/create foreign keys that are missing indexes
-- find missing indexes
SELECT
conrelid::regclass, conname, reltuples::bigint
FROM
pg_constraint
JOIN pg_class
ON conrelid = pg_class.oid
WHERE
contype = 'f'
AND NOT EXISTS (