Skip to content

Instantly share code, notes, and snippets.

View Ivanca's full-sized avatar
💭
Why does github has statuses? Microsoft what the hell is wrong with you?🤦‍♂️

Ivan Ivanca

💭
Why does github has statuses? Microsoft what the hell is wrong with you?🤦‍♂️
View GitHub Profile
(function ajaxLoadNextPage () {
var more = document.querySelector('.comment-tree > tbody > tr:last-child a');
if (more && more.innerHTML === "More") {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState === XMLHttpRequest.DONE) {
if (httpRequest.status === 200) {
more.remove();
var div = document.createElement('div');
div.innerHTML = httpRequest.responseText;
// Flattens an array, e.g. [[1,2,[[[3]]]],4] => [1, 2, 3, 4]
var flattenArray = (array) => {
let initialValue = [];
return array.reduce((result, ele) => {
if (Array.isArray(ele)) {
let flat = flattenArray(ele);
return result.concat(flat);
} else {
result.push(ele);
return result;
@Ivanca
Ivanca / sorty by frequency.js
Last active August 1, 2017 20:52
Most common words (excluding
function sortByFrequency(array) {
var frequency = {};
array.forEach(function(value) { frequency[value] = 0; });
var uniques = array.filter(function(value) {
return ++frequency[value] == 1;
});
return uniques.sort(function(a, b) {
return frequency[b] - frequency[a];
@Ivanca
Ivanca / gist:79d3daa0328f0546298c
Created December 9, 2014 06:45
Collapse Diffs - Functionality for Github commits (UserScript/Tampermonkey/Greasemonkey)
// ==UserScript==
// @name Collapse diff
// @namespace http://no.one/
// @version 0.2
// @description Enter something useful
// @author You
// @match https://github.com/*
// @grant none
// ==/UserScript==
@Ivanca
Ivanca / Webflow.js
Last active December 22, 2015 21:09
(function ($) {
var dragging = null;
$(".style-editor").on("mousedown.wf", ".tick", function (e) {
var $ghost = $("<div class='drag-ghost'>").appendTo('body').css(
'cursor', 'ns-resize'
);
var $input = $(this).closest('.input-control').find('input');
dragging = {
@Ivanca
Ivanca / gist:5243025
Last active December 15, 2015 10:08
Hacker news mobile
<style>
@media all and (max-device-width:760px) {
.pagetop b {
display:block;
}
.pagetop {
padding-top: 10px;
padding-bottom: 10px;
@Ivanca
Ivanca / Amara Plus.js
Created March 14, 2013 17:33
Better control for Amara.org subtitle's editing (youtube subtitles creator and manager).
// ==UserScript==
// @name Amara Plus
// @namespace http://rapedinheaven.com
// @version 0.1
// @description enter something useful
// @match http://www.amara.org/es/onsite_widget/*
// @copyright 2012+, You
// ==/UserScript==
var getByClass = function (sel, parent) {
@Ivanca
Ivanca / downs.sublime-macro
Last active December 13, 2015 21:39
The keys are need to be added to your `.sublime-keymap` file (Preferences > Key Bindings - User) [in the array]. Remember to remove the start & end brackets if needed. All the other files (the macros) need to go in the Packages\User directory. The files that have an "_e" at the end are the macros used to expand (eg. when selection is *not* empty)
[
{
"args":
{
"extend": false,
"to": "bol"
},
"command": "move_to"
},
{
@Ivanca
Ivanca / gist:4781307
Last active December 12, 2015 13:58
(function () {
var addMethod = function (obj, name, fn) {
obj[name] = function () {
var undef;
var result = fn.apply(obj, arguments);
if (result === undef) {
result = this;
}
return result;
/**************
* Con promesas
**************/
var promise = foo().then(function(){
var promise = new Promise();
asyncFunction(function(){
// It has to know there is no need to merge it to a received object in order to
// do this;
var data = {key1:0x111};