Skip to content

Instantly share code, notes, and snippets.

Avatar

Manuel Mujica m-mujica

View GitHub Profile
@m-mujica
m-mujica / johnson.js
Last active Jun 22, 2021
Johnson's elementary cycles algorithm and tarjan's strongly connected components
View johnson.js
function Graph() {
this.nodes = [];
this.arrows = new Map();
}
// Tarjan's strongly connected components algorithm
Graph.prototype.stronglyConnectedComponents = function tarjan() {
var index = 0;
var stack = [];
var result = [];
@m-mujica
m-mujica / postgresql_setup.md
Last active Dec 31, 2019
Set up PostgreSQL for Rails Local Development in Linux
View postgresql_setup.md
@m-mujica
m-mujica / migrate.js
Created Sep 17, 2018
Replaces foo.attr() calls with define-map alternatives (when a key has dots like `foo.bar.` or an identifier is passed to .attr, the call is replaced with key.get or key.set, this is from can-key, you need to add the imports)
View migrate.js
const fs = require('fs');
const recast = require('recast');
const types = require('ast-types');
const n = types.namedTypes;
const b = types.builders;
const filePath = process.argv[2];
const source = fs.readFileSync(filePath);
const ast = recast.parse(source);
View who-imported.html
<script src="node_modules/steal/steal.js"></script>
<script>
var oldNormalize = System.normalize;
System.normalize = function(name, parentName){
return oldNormalize.apply(this, arguments).then(function(name){
if(name === "my/module") {
console.log(name, "is imported by", parentName);
}
return name;
});
View functions.js
// write a function that takes an argument
// and returns that argument.
function identity(x) {
return x;
}
// write two binary functions, add and mul,
// that take two numbers and return their sum and product.
View falsy_values.js
var sum = function sum(x, y) {
if (!x) {
x = 200;
}
if (!y) {
y = 300;
}
return x + y;
@m-mujica
m-mujica / pull_heroku.md
Created Jun 3, 2013
Pull heroku database down to local
View pull_heroku.md
$ curl -o latest.dump `heroku pgbackups:url -a APPLICATION_NAME`
$ rake db:reset
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U root -d YOUR_LOCAL_DB_NAME latest.dump
$ rm latest.dump
@m-mujica
m-mujica / noledebesnada.md
Last active Dec 15, 2015
Algunos pensamientos sobre los argumentos que he escuchado para apoyar el actual gobierno venezolano. (Estoy seguro que Github no había previsto ésto :P)
View noledebesnada.md

Hace días he estado planeado escribir sobre lo que pienso ante algunos argumentos que he recibido de familiares y conocidos acerca de porque quieren continuar el apoyo al actual gobierno/gestión. Entre estas razones, algunas quedaron rebotando en mi mente, como: Me gradué gracias a ESTA gestión, tengo una beca gracias a ESTA gestión, tengo casa gracias a ESTA gestión y así en lo sucesivo.

Quiero entonces destacar, que no existe tal cosa como una deuda para con un gobierno. Me explico, las personas acuden a las elecciones para elegir a quienes creen hará mejor uso de los recursos del Estado con el objetivo de mejorar la calidad de vida de los ciudadanos (apoyen éstos o no al vencedor), abarcando ésto un conjunto diverso de aspectos como la educación, la salud, la seguridad, y el bienestar económico. Que se construyan casas, que se creen universidades, canchas, que se concedan incentivos económicos, no son acciones por las que un pueblo debe

View uuid.js
var UUID = function() {
// The object literal used to keep track of all of the generated IDs.
this.used = {};
};
// The globally visible function which is used to generate
// UUID that are unique for the remainder of the page session.
UUID.prototype.generate = function(id) {
for(;this.used[id = this.randomHex(8) + "-" + this.randomHex(4) + "-"
+ this.randomHex(4) + "-" + this.randomHex(4) + this.randomHex(8)];){}
View HW01.hs
-- Exercise 1
-- We need to first find the digits of a number.
-- Define the functions
-- toDigits :: Integer -> [Integer]
-- toDigitsRev :: Integer -> [Integer]
-- toDigits should convert positive Integers to a list of digits. (For 0 or
-- negative inputs, toDigits should return the empty list.) toDigitsRev
-- should do the same, but with the digits reversed.