Skip to content

Instantly share code, notes, and snippets.

View javilobo8's full-sized avatar

Javier Bermúdez Lobo javilobo8

View GitHub Profile
@javilobo8
javilobo8 / download-file.js
Last active April 9, 2024 12:01
Download files with AJAX (axios)
axios({
url: 'http://localhost:5000/static/example.pdf',
method: 'GET',
responseType: 'blob', // important
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
document.body.appendChild(link);
import * as d3 from 'd3';
const bgRGB = d3.rgb('#040404');
const CANVAS_WIDTH = 1600;
const CANVAS_HEIGHT = 800;
const MIN_STAR_MAG = 6;
function getRetinaRatio(ctx) {
const devicePixelRatio = window.devicePixelRatio || 1;
import React, { Component } from 'react';
import styled from 'styled-components';
const orangeColor = '#FE6680';
const bubbleSize = 50;
const stepperwidth = 800;
const StepContainer = styled.div`
width: ${stepperwidth}px;
height: ${bubbleSize}px;
const Discord = require('discord.js');
const bot = new Discord.Client();
var isReady = true;
async function sendAudio(connection, filepath) {
console.log('sendAudio');
return new Promise((resolve, reject) => {
const dispatcher = connection.playFile(filepath);
dispatcher.on('end', () => {
@javilobo8
javilobo8 / betterpromise.js
Created November 11, 2019 14:13
better promise
/* eslint-disable func-names, no-extend-native */
Promise.prototype.catch = function (...args) {
if (args.length === 0) {
throw new TypeError('0 arguments given');
}
if (typeof args[args.length - 1] !== 'function') {
throw new TypeError('Last argument must be a function');
}
const Tesseract = require('tesseract.js');
const sharp = require('sharp');
const cv = require('opencv4nodejs');
const fs = require('fs');
const EROSION_SIZE = 1;
const EROSION_MODE = cv.MORPH_ERODE;
const SCALE = 2;
const ITERATIONS = 2;
const ANCHOR = new cv.Point2(EROSION_SIZE, EROSION_SIZE);
export default function createReducer(INITIAL_STATE, handlers) {
return function reducer(state = INITIAL_STATE, action) {
if (handlers[action.type]) {
return handlers[action.type](state, action);
}
return state;
};
}
#include <Adafruit_NeoPixel.h>
#include <LedControlMS.h>
// Serial
#define BAUDRATE 115200
// NeoPixel Stick
#define NP_PIN 6
#define NUM_LEDS 16
#define NEO_MAX_BRIGHTNESS 32
import axios from 'axios';
import {newNotification} from 'actions/notifications';
import filterAxiosProps from './filter-axios-props';
export const FETCH_API_ERROR = 'FETCH_API_ERROR';
export const FETCH_API = 'FETCH_API';
function checkIfItIsFunction(notification, response) {
if (typeof notification === 'function') {
return notification(response);
FROM ubuntu:16.04
ENV TSV=3.0.13.8
RUN DEBIAN_FRONTEND=noninteractive \
apt-get -y update && \
apt-get -y install bzip2 && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
apt-get autoremove -y && \
apt-get clean