Skip to content

Instantly share code, notes, and snippets.

View lazamar's full-sized avatar

Marcelo Lazaroni lazamar

View GitHub Profile
@lazamar
lazamar / makeLinksExternal.js
Created October 5, 2015 20:45
Make all links of an Electron project open in the OS Browser instead of the project's window.
// Little function to make all links of a page in an Electron project
// open in the OS Browser instead of the Project's window.
linksArray = document.getElementsByTagName("a");
for (var i = 0; i < linksArray.length; i++) {
linksArray[i].setAttribute("onclick","app.openInBrowser('" + linksArray[i].href + "')");
linksArray[i].href = "#";
}
@lazamar
lazamar / .eslintrc
Last active February 23, 2017 10:12
My eslint configuration
// Use this file as a starting point for your project's .eslintrc.
// Copy this file, and add rule overrides as needed.
{
"parser": "babel-eslint",
"extends": "airbnb",
"plugins": [
"html"
],
"env": {
"es6": true,
@lazamar
lazamar / loadPageSection.js
Last active April 12, 2022 21:53
Vanilla JS implementation of JQuery's .load
/**
* Loads an HTML document from a URL and retuns an element selected using
* the 'selector' parameter
* Example usage:
* loadPageSection('./myPage.html', '#container', (r, err) => console.log(r, err));
*
* @method loadPageSection
* @param {String} url
* @param {String} selector - A valid CSS selector
* @param {Function} callback - To be called with two parameters (response, error)
@lazamar
lazamar / better-git.sh
Last active December 17, 2018 12:14
Better Git log
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%Cgreen(%>(14)%cr) %C(bold blue)<%<(17,trunc)%an>%Creset %s %C(yellow)%d%Creset' --abbrev-commit"
@lazamar
lazamar / Hoogle stylesheet
Last active September 15, 2019 17:40
Make hoogle look nicer.
html {
/*background-color: #f5f5f5;*/
}
body {
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
}
a {
color: #E91E63;
}
p {
module Lib where
import Data.List (foldr)
-- Complete the highestValuePalindrome function below.
highestValuePalindrome :: String -> Int -> Int -> String
highestValuePalindrome s n changesAllowed =
if changesToMakePalindrome > changesAllowed
then "-1"
@lazamar
lazamar / LongestSubsequences.hs
Created March 1, 2020 02:49
Longest Increasing Subsequence and Longest Common Subsequence
import Data.Function
import Data.List
import Data.Maybe
import qualified Data.Set as Set
import qualified Data.Map as Map
-- Longest increasing subsequence
-- O(nlogn)
lis :: Ord a => [a] -> [a]
lis = buildResult . snd . mapAccumL takeMax (Set.empty, Nothing)
@lazamar
lazamar / sshfs_cheatsheet.md
Created February 18, 2021 12:02
sshfs cheatsheet

Mounting

sshfs {user}@{host}:{path} {mounting_path} -o ServerAliveInterval=60 -o allow_other

MacOS unmount

umount -f {path}
@lazamar
lazamar / mktags.sh
Last active November 14, 2023 21:46
Creating tags
#!/bin/bash
set -e
rm -f tags
find . -name "*.hs*" | fast-tags -
# ag respects .github
ag -l | ctags --optlib-dir=/home/lazamar/ --excmd=number --links=no -L- # This must be universal-ctags
@lazamar
lazamar / Main.hs
Last active August 29, 2023 20:32
Solution to nested-map-reduce-traversal challenge.
{- This is a solution to https://github.com/josevalim/nested-map-reduce-traversal
without using explicit accumulators.
You can run it with:
$ ghc Main.hs && ./Main
Which outputs:
Numbered 0 ("One",[Numbered 0 "A",Numbered 1 "B"])
Numbered 1 ("Two",[Numbered 2 "C",Numbered 3 "D",Numbered 4 "E"])
Numbered 2 ("Three",[Numbered 0 "F",Numbered 1 "G"])