Skip to content

Instantly share code, notes, and snippets.

View hugmanrique's full-sized avatar

Hugo Manrique hugmanrique

View GitHub Profile
hugmanrique /
Last active June 11, 2016 06:38
Method used to order a Map<K, V extends Comparable>. Asked by @MxJesusDiaz at Twitter
* Orders a {@code Map<K, V>}
* @param map The {@link Map} that will be ordered (The value types must extend {@link Comparable})
* @param <K> The {@code K} value. Any type is supported
* @param <V> The {@code V} value. Must extend {@link Comparable}
* @return The sorted {@link Map} ordered by values with {@link Comparable#compareTo(Object)}
* @author Hugmanrique <>
* @see {@link Collections#sort(List)} to order the values
public static <K, V extends Sort.Comparable> Map<K, V> orderMapByValues(Map<K, V> map){

Keybase proof

I hereby claim:

  • I am Hugmanrique on github.
  • I am hugmanrique ( on keybase.
  • I have a public key whose fingerprint is 2C46 1B04 D946 B422 80F3 95C1 78E9 8DD2 FA2B 9E20

To claim this, I am signing this object:

hugmanrique / Octicons with Handlebars.js
Last active October 2, 2016 15:27
Node.js script to render octicons with a Handlebars template custom helper
const handlebars = require('express-handlebars');
const express = require('express');
// Directory where your compiled octicons are,
// more info on this @
const octicons = require('/home/nodeassets/octicons/index.js');
function loadServer(){
// Load express here
var app = express();
hugmanrique /
Last active January 14, 2017 04:23
Apply gravity to your placed blocks in Minecraft
public class Gravity implements Listener {
private static final Vector GRAVITY = new Vector(0, -9.81F, 0);
private JavaPlugin plugin;
public Gravity(JavaPlugin plugin) {
this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
hugmanrique /
Last active January 14, 2017 04:40
Bukkit API to create smooth cinematics
public class Cinematic {
private JavaPlugin plugin;
private World world;
private List<CinematicView> views;
public Cinematic(JavaPlugin plugin, List<CinematicView> views, World world) {
this.plugin = plugin;
this.views = views; = world;
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=""
hugmanrique /
Last active June 30, 2018 22:46
How to setup the NODE_ENV variable

NODE_ENV works like any other environment variable (e.g. PATH) and it depends on your platform how to set it:

  • Linux and OSX use the simple format NODE_ENV=production
  • Windows uses the SET NODE_ENV=production

You can explicitly set it before starting your npm run script by prepending the previous format:


hugmanrique / index.js
Last active July 1, 2018 20:18
Async Express middleware (for @exception)
import http from 'http';
import express from 'express';
import testMiddleware from './middleware';
const app = express();
const server = http.createServer(app);
hugmanrique /
Last active July 31, 2018 19:28
Instanceof tests for private project (shared with @theminecoder)
import org.junit.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
* @author Hugo Manrique
* @since 31/07/2018
public class InstanceofTest extends PatchTest {
hugmanrique / detectMath.js
Created December 30, 2018 21:59
Next.js MathML feature detection + polyfill
import Router from 'next/router';
const namespaceURI = '';
let supports = false;
let inserted = false;
function supportsMathML() {
const div = document.createElement('div');
div.innerHTML = '<math><mspace height="23px" width="77px" /></math>';