Source: https://opensource.com/business/16/2/top-6-open-source-crm-tools-2016 + community contributions
EspoCRM `github.com/espocrm/espocrm`_ PHP https://www.espocrm.com
Source: https://opensource.com/business/16/2/top-6-open-source-crm-tools-2016 + community contributions
EspoCRM `github.com/espocrm/espocrm`_ PHP https://www.espocrm.com
Descargar las hojas de atajos recomendadas:
ASCI art characters for creating diagrams
// ==UserScript== | |
// @name YouTube Custom Netflix Subtitles | |
// @namespace http://userstyles.org | |
// @description The famous Netflix subtitltes with the drop shadow for YouTube. Added black outlines (lines 87-94) and fixed text-wrapping for subtitles without line breaks to prevent them running off screen. | |
// @author @Ryah | |
// @homepage https://gist.github.com/Ryah/b758ba5a76ccc91cb276107d8b7c0dfb#file-customnetflixsubsforyoutube-js | |
// @match https://www.youtube.com/watch* | |
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js | |
// @require https://gist.githubusercontent.com/BrockA/2625891/raw/9c97aa67ff9c5d56be34a55ad6c18a314e5eb548/waitForKeyElements.js | |
// @run-at document-start |
``` | |
OCaml compilation pipeline | |
┌────────────────┐ | |
│ │ | |
│ Source code │ |
Tomado de : https://desarrolloweb.com/articulos/especificar-versiones-git-tag.html | |
Crear un tag | |
Se supone que cuando comienzas con un repositorio no tienes ninguna numeración de versión y ningún tag, por lo que empezaremos viendo cómo se crean. | |
Supongamos que empezamos por el número de versión 0.0.1. Entonces lanzarás el comando: | |
git tag v0.0.1 -m "Primera versión" | |
Como ves, es una manera de etiquetar estados del repositorio, en este caso para definir números de versión. Los acompañas con un mensaje, igual que se envían mensajes en el commit. | |
Nota: Este es el mecanismo que se conoce como "Etiquetas ligeras", existen otros tipos de etiquetado que es posible hacer mediante Git. |
Here is a collection of some useful userscripts that can be used with a browser along with the Tampermonkey or Violentmonkey extension. Please note that some scripts might be expired or no longer functional.
#include <stdio.h> | |
#include <stdlib.h> | |
#define da_append(xs, x) \ | |
do { \ | |
if ((xs)->count >= (xs)->capacity) { \ | |
if ((xs)->capacity == 0) (xs)->capacity = 256; \ | |
else (xs)->capacity *= 2; \ | |
(xs)->items = realloc((xs)->items, (xs)->capacity*sizeof(*(xs)->items)); \ | |
} \ |
// ==UserScript== | |
// @name YouTube Netflix Subtitles | |
// @namespace http://userstyles.org | |
// @description The famous Netflix subtitltes with the drop shadow for YouTube. | |
// @author @ang3lo_azedo | |
// @homepage https://userstyles.org/styles/206563 | |
// @include https://www.youtube.com/watch* | |
// @run-at document-start | |
// @version 0.20211221154624 | |
// ==/UserScript== |
// gcc crc.c -std=c99 -o crctest | |
#include <inttypes.h> | |
#include <stdio.h> | |
uint8_t crcTable[256]; | |
uint8_t CalcCRC(uint8_t * buf, uint8_t len); | |
void CRCInit(void); |