OpenLLM-France/wikimedia huggingface dataset:
# Sección 1: Principio de Bernouilli

El principio de Bernoulli, también denominado ecuación de Bernoulli, describe el comportamiento de un fluido moviéndose a lo largo de una línea de corriente. Fue expuesto por Daniel Bernoulli en su obra Hidrodinámica (1738) y expresa que en un fluido perfecto (sin viscosidad ni rozamiento) en régimen de circulación por un conducto cerrado, la energía que posee el fluido permanece constante a lo largo de su recorrido. La energía de un fluido en cualquier momento consta de tres componentes:
1.- Cinético: Es la energía debida a la velocidad que posea el fluido. 2.- Potencial gravitacional: Es la energía debido a la altitud que un fluido posea.
3.- Energía de presión: Es la energía que un fluido contiene debido a la presión que posee.
La siguiente ecuación conocida como "Ecuación de Bernoulli" consta de estos mismos términos.
    ${v^{2} \over 2g}+y+{P \over \rho g}=constante$
donde:
* $v$ = velocidad del fluido en la sección considerada.
* $g$ = aceleración de la gravedad
* $y$ = altura geométrica en la dirección de la gravedad
* $P$ = presión a lo largo de la línea de corriente
* $\rho$ = densidad del fluido
Para aplicar la ecuación se deben realizar los siguientes supuestos:
* Viscosidad (fricción interna) = 0 Es decir que se aplica para un fluido perfecto.
* Caudal constante
* Fluido incompresible - ρ es constante
* La ecuación se aplica a lo largo de una línea de corriente
Aunque el nombre de la ecuación se debe a Daniel Bernoulli, la forma arriba expuesta fue presentada en primer lugar por Leonhard Euler.
Un ejemplo de aplicación del principio lo encontramos en el Flujo de agua en tubería.

# Sección 2: Teorema de Torricelli

Es una aplicación de Bernoulli y estudia el flujo de un líquido contenido en un recipiente, a través de un pequeño orificio, bajo la acción de la gravedad. A partir del teorema de Torricelli se puede calcular el caudal de salida de un líquido por un orificio. "La velocidad de un líquido en una vasija abierta, por un orificio, es la que tendría un cuerpo cualquiera, cayendo libremente en el vacío desde el nivel del líquido hasta el centro de gravedad del orificio": se puede calcular la velocidad de la salida de un liquido por un orificio
    $V_{t}={\sqrt {2.g.\left(h+{\frac {v_{0}^{2}}{2.g}}\right)}}$
Donde:
* $\ V_{t}$= velocidad teórica del líquido a la salida del orificio
* $\ v_{0}$= velocidad de aproximación
* $\ h$= distancia desde la superficie del líquido al centro del orificio
* $\ g$= aceleración de la gravedad
En la práctica, para velocidades de aproximación bajas la expresión anterior se transforma en:
    $V_{p}=\mu {\sqrt {2.g.h}}$
Donde:
* $\ V_{p}$= velocidad del líquido a la salida del orificio
* $\ \mu$ = coeficiente que puede admitirse para cálculos preliminares, en aberturas de paredes delgadas, como 0.61
# Física/Introducción

La Física es la Ciencia que se encarga de estudiar los fenómenos naturales, en los cuales no hay cambios en la composición de la materia. La palabra física proviene del vocablo griego physiké cuyo significado es naturaleza.
Es una de las ciencias naturales que más ha contribuido al desarrollo y bienestar del hombre, porque gracias a su estudio e investigación ha sido posible encontrar en muchos casos, una explicación clara y útil a los fenómenos que se presentan en nuestra vida diaria.
También es una de las más antiguas disciplinas académicas, tal vez la más antigua a través de la inclusión de la Astronomía.
En los últimos dos milenios, la física había sido considerada sinónimo de la Filosofía, la Química, y ciertas ramas de la Matemática y la Biología, pero durante la Revolución Científica en el siglo XVI surgió para convertirse en una ciencia moderna, única por derecho propio. Sin embargo, en algunas esferas como la física matemática y la química cuántica, los límites de la física siguen siendo difíciles de distinguir.
La física es significativa e influyente, no sólo debido a que los avances en la comprensión a menudo se han traducido en nuevas tecnologías, sino también a que las nuevas ideas en la física resuenan con las demás ciencias, las matemáticas y la filosofía.
No es sólo una ciencia teórica; es también una ciencia experimental. Como toda ciencia, busca que sus conclusiones puedan ser verificables mediante experimentos y que la teoría pueda realizar predicciones de experimentos futuros. Dada la amplitud del campo de estudio de la física, así como su desarrollo histórico en relación a otras ciencias, se la puede considerar la ciencia fundamental o central, ya que incluye dentro de su campo de estudio a la química, la biología y la electrónica, además de explicar sus fenómenos.
La física, en su intento de describir los fenómenos naturales con exactitud y veracidad, ha llegado a límites impensables: el conocimiento actual abarca la descripción de partículas fundamentales microscópicas, el nacimiento de las estrellas en el universo e incluso conocer con una gran probabilidad lo que aconteció en los primeros instantes del nacimiento de nuestro universo, por citar unos pocos campos.
Esta tarea comenzó hace más de dos mil años con los primeros trabajos de filósofos griegos como Demócrito, Eratóstenes, Aristarco, Epicuro o Aristóteles, y fue continuada después por científicos como Galileo Galilei, Isaac Newton, James Clerk Maxwell, Albert Einstein, Niels Bohr, Werner Heisenberg, Paul Dirac y Richard Feynman, entre muchos otros.

## Fuente

* Física en Wikipedia
# Física/Hidrodinámica/Teorema de Torricelli

Es una aplicación de Bernoulli y estudia el flujo de un líquido contenido en un recipiente, a través de un pequeño orificio, bajo la acción de la gravedad. A partir del teorema de Torricelli se puede calcular el caudal de salida de un líquido por un orificio. "La velocidad de un líquido en una vasija abierta, por un orificio, es la que tendría un cuerpo cualquiera, cayendo libremente en el vacío desde el nivel del líquido hasta el centro de gravedad del orificio": se puede calcular la velocidad de la salida de un liquido por un orificio
    $V_{t}={\sqrt {2.g.\left(h+{\frac {v_{0}^{2}}{2.g}}\right)}}$
Donde:
* $\ V_{t}$= velocidad teórica del líquido a la salida del orificio
* $\ v_{0}$= velocidad de aproximación
* $\ h$= distancia desde la superficie del líquido al centro del orificio
* $\ g$= aceleración de la gravedad
En la práctica, para velocidades de aproximación bajas la expresión anterior se transforma en:
    $V_{p}=\mu {\sqrt {2.g.h}}$
Donde:
* $\ V_{p}$= velocidad del líquido a la salida del orificio
* $\ \mu$ = coeficiente que puede admitirse para cálculos preliminares, en aberturas de paredes delgadas, como 0.61
# Español/Morfología/El morfema derivativo sufijo

Sufijo derivativo

## Los diminutivos

Ver Los diminutivos

## Los gentilicios

Ver Los gentilicios

## Otros sufijos derivativos
### Crías de animales

* -ato lobato, ballenato
* -ezno osezno

### Instrumento

* -ero Moneda-ero
* -era Café-t-era

## Cambio de categoría lingüística por sufijos derivativos
### de verbo a sustantivo

* -ción
instrumentalizar + -ción = instrumentalización
* -ión
divertir + -ión = diversión
* -miento
estacionar + -miento =estacionamiento

### de adjetivo a sustantivo

-ión sumiso + -ión = sumisión
* -idad
regular + -idad =regularidad

### de sustantivo a sustantivo

* -ismo
Periódico + -ismo = Periodismo

## Producción de adjetivos con sufijos derivativos
### de adjetivo a verbo

* -izar
Institucional + -izar =Institucionalizar
* -ear
Blanco' + ear=Blanquear
# Español/Morfología/El morfema flexivo

<El morfema Ver Grado del adjetivo Ver La conjugación
# Programación en Erlang/Historia
### Información General

Erlang fue diseñado para escribir programas concurrentes que se ejecutasen eternamente. Erlang usa procesos concurrentes para estructurar el programa. Estos procesos no tienen memoria compartida y se comunican por paso de mensajes asíncronos. Los procesos de Erlang son ligeros y pertenecen al lenguaje, no al sistema operativo. Erlang tiene mecanismos que permiten que los programas cambien on-the-fly (en vivo) así, esos programas pueden evolucionar y cambiar sin detener su ejecución. Estos mecanismos simplifican la construcción de software implementando sistemas non-stop (que no se detienen). El desarrollo inicial de Erlang tuvo lugar en 1986 en el Laboratorio de Computación de Ericsson. Erlang fue diseñado con un objetivo específico en mente: proporcionar una mejor forma de programar aplicaciones de telefonía. En ese momento, las aplicaciones de telefonía eran atípicas del tipo de problemas que podían resolver los lenguajes de programación convencionales. Las aplicaciones de telefonía son, por su naturaleza, altamente concurrentes: un simple switch debe manejar decenas o cientos de miles de transacciones simultáneas. Tales transacciones son intrínsecamente distribuidas y el software se espera que sea altamente tolerante a fallos. Cuando el software que controla los teléfonos falla, sale en los periódicos, algo que no ocurre cuando fallan las aplicaciones de escritorio. El software de telefonía debe también cambiar on-the-fly, esto es, sin perder el servicio mientras se realiza una actualización del código. El software de telefonía debe también operar en tiempo real, con ajustados requisitos de tiempo para algunas operaciones, y más relajado tiempo en otras clases de operaciones.

### Datos

Creador: Joe Armstrong
Empresa Desarrolladora: Ericsson
Año de Creación: 1986
Objetivo: Solucionar los problemas de un entorno altamente concurrente, que no puede permitirse caer y que debe de actualizarse sin pérdida de servicio.
Razón de su Nombre: Erlang recibe el nombre de A. K. Erlang. A veces se piensa que el nombre es una abreviación de ERicsson LANGuage, debido a su uso intensivo en Ericsson. Según Bjarne Däcker quién fue el jefe del Computer Science Lab en su día.
Lugar de Creación: Suecia
Tipo de Paradigma: Funcional
Fue influenciado por: Prolog
Ha Influenciado A: Clojure, Scala
# Programación en Erlang/Operaciones de entrada y salida básicas

Al ser Erlang un lenguaje funcional, comparte muchas cosas con Haskell.

### Operaciones de entrada

Como muchos lenguajes funcionales Erlang posee su propio Shell en el cual se puede escribir directamente código y evaluarlos (correrlos) para así ver que pasa.
Al empezar el interprete se correrá el Shell, y se vera algo así:
Si escribimos 2 + 5 en Erlang obtenemos lo siguiente:

### Operaciones de salida

Al igual que en la mayoría de los lenguajes funcionales, no se envía mensajes de salida, sino que estos envían respuestas a las entradas.
También se pueden hacer métodos, y luego llamarlos para que estos nos den una salida
Asi que como vemos, al igual que en Haskell.
# Programación en Erlang/Introducción

Erlang es un lenguaje de programación concurrente y un sistema de ejecución que incluye una máquina virtual y bibliotecas. El subconjunto de programación secuencial de Erlang es un lenguaje funcional, con evaluación estricta, asignación única, y tipado dinámico. Fue diseñado en la compañía Ericsson para realizar aplicaciones distribuidas, tolerantes a fallos, soft-real-time y de funcionamiento ininterrumpido. Proporciona el cambio en caliente de código de forma que éste se puede cambiar sin parar el sistema. Originalmente, Erlang era un lenguaje propietario de Ericsson, pero fue cedido como open source en 1998. La implementación de Ericsson es, principalmente interpretada pero también incluye un compilador HiPE (sólo soportado en algunas plataformas). La creación y gestión de procesos es trivial en Erlang, mientras que, en muchos lenguajes, los hilos se consideran un apartado complicado y propenso a errores. En Erlang toda concurrencia es explícita.
# Programación en Erlang/Iteraciones y recursiones
### Guard sequences

Una secuencia de guardia es un conjunto de guardias separados por punto y coma (;). La secuencia de guardia es cierto si al menos uno de los guardias es cierto. GUARD1, ...; GuardK Un guard es un conjunto de expresiones del guard , separadas por comas (,). El guard es cierto si todas las expresiones de la Guardia resultado verdadero. GuardExpr1, ..., GuardExprN Las expresiones del Guard permitido (a veces se llaman pruebas de guard) es un subconjunto del conjunto de las expresiones válidas Erlang, desde la evaluación de una expresión de guard debe ser garantizado de estar libre de efectos secundarios.
Expresiones Validas de los Guards :
| atom true |
| Otras constantes (términos y variables ligadas), todos considerados como falsos |
| Comparacion de terminos |
| Expresiones aritmeticas y booleanas |
| Llamadas al BIFs (Built-in functions) especificadas abajo |
| Tipo de prueba BIFs | Otros BIFS permitidos en los guards |
| is_atom/1 | Float) |
| is_constant/1 | float(Term) |
| is_integer/1 | Float) |
| is_float/1 | Float) |
| is_number/1 | Binary) |
| is_reference/1 | element(N, Tuple) |
| is_port/1 | hd(List) |
| is_pid/1 | tl(List) |
| is_function/1 | length(List) |
| is_tuple/1 | self |
| is_record/2 The 2nd argument is the record name | node |
| is_list/1 | Ref|Port) |
| is_binary/1 | |
pequeño ejemplo:

### Tail Recursion

Si la última expresión de una función es una llamada de función, una llamada recursiva de tail se realiza de tal manera que no hay recursos del sistema (como la pila de llamadas) se consumen. Esto significa que un bucle infinito, como un servidor se puede programar de manera que sólo utiliza las llamadas tail recursivas.
fact(N) when N>1 -> fact(N, N-1); fact(N) when N=1; N=0 -> 1.
fact(F,0) -> F; % The variable F is used as an accumulator fact(F,N) -> fact(F*N, N-1).
Ejemplo 1:
Construye un lista, imprime la function, aplicando la function a la lista lists:map. Retorna un valor.
counter1 -> L = lists:seq(1,10), PrintInt = fun(I) -> io:fwrite("~p ", [I]) end, lists:foreach(PrintInt, L). counter3 -> L = lists:seq(1,10), [ printInt(I) || I <- L].
Ejemplo 2:
Recursión con un acumulador. usar un guard sequence ("cuando N > 10") para especificar el caso base. Se define dos funciones "counter4/0" (zero args) y "counter4/1".
"counter4/1" consiste en dos clausulas separadas por ; counter4 -> counter4(1). counter4(N) when N > 10 -> none; counter4(N) -> printInt(N), counter4(N + 1).
Ejemplo 3: Procesamiento de la lista con un acumulador
counter6 -> %L = [1,1,1,1,1,1,1,1,1,1], L = lists:duplicate(10,1), counter6(L, 0). counter6(, Acc) -> Acc; counter6([H|T], Acc) -> N = H + Acc, printInt(N), counter6(T, N).
Ejemplo 4: Procesamieinto de una matriz con recursividad count_matrix1 -> count_matrix1( 5, 0, 0 ). count_matrix1(Size, Size, Size) -> none; count_matrix1(Size, Size, PtrY) -> io:format("~n"), count_matrix1(Size, 0, PtrY+1); count_matrix1(Size, PtrX, PtrY) -> io:format("(~p,~p) ", [PtrX, PtrY]), count_matrix1(Size, PtrX+1, PtrY).
# Programación en Erlang/Esquema de administración de memoria y separación de memoria

maneja todos sus procedimientos a través del heap ya que este no utiliza stack. Hay varias estrategias utilizadas para el manejamiento y mantenimiento del Heap. Entre ellas están:
* “process local heap”
* “unified heap”

### "Process Local Heap"

Esta estrategia lo que realiza es crear una heap local donde ubica cada objeto. Cada proceso llama una colección independiente. El recolector de basura trabaja por procesos.

### "Unified Heap"

Esta estrategia toma que todos los heaps son uno sólo que comparte todos los procesos. Este heap almacena la continuación de los procesos y los otros objetos alojados por proceso. Sólo cuando la heap es acabada por uno de estos procesos que el recolector de basura es llamado. El algoritmo utilizado en el Erlang basado para los sistemas ETOS es una combinación entre two-spacecopying y mark-and-sweep.

### Algoritmo del Recolector de Basura para “Process Local Heap”

El algoritmo se divide en 2 pasos. El primero de ellos, realiza una barrida de todo el heap y lo compacta. El último, mueve los objetos de regreso hasta su destinación final. La gran ventaja de este algoritmo es que no ocupa espacio adicional. Sin embargo, en el otro aspecto el tiempo de corrida de este algoritmo depende del tamaño del heap.

### Manejamiento de Memoria para el “Unified Heap”

Para acomodarse al ambiente multitasking el unified heap puede crecer y achicarse así sea necesario en la evolución del programa que evidentemente se mantiene proporcional el tamaño del espacio de procesamiento del Sistema Operativo al de la data utilizada. Por el default, al final de un ciclo el tamaño del heap es redefinido para que quepa los datos ocupen la mitad del tamaño del heap.

### Manejamiento de Procesos

La estrategia utilizada es un manejador de procesos por prioridad. Cada proceso tiene un número de punto flotante marcando su prioridad. Esto otorga un buen control, de cuando deben entrar y salir los procesos. Los descriptores de procesos son alojados en el “unified heap” como cualquier otro. Cada descriptor de procesos tiene un apuntador al siguiente proceso

### Paso de Parámetros

Erlang del “Process Local Heap” realiza una copia para pasar los parámetros de diferentes procesos. Ya que cada proceso tiene una colección diferente es por esta razón la necesidad de una copia. Sin embargo, gracias a que el “Unified Heap” toman la heap como un todo el paso de parámetros mediante procesos no genera un problema como en el “Process Local Heap”.
# Programación en Erlang/Estructuras de decisión e iteración
### IF

Las ramas de un si-expresión se analizan de forma secuencial hasta que una secuencia de guardia GuardSeq que se evalúa como verdadera se encuentra. Entonces, el organismo correspondiente (la secuencia de expresiones separadas por ',') es evaluada. El valor de retorno del cuerpo es el valor de retorno de la expresión del IF.
Si no hay secuencia de guardia es cierto, una carrera if_clause tiempo de error. Si es necesario, la expresión de la guardia real puede ser utilizado en la última rama, ya que la secuencia de la guardia siempre es cierto.

### Case

La expresión expr es evaluado y el patrón de los patrones se comparan con la secuencia de resultados. Si un partido tiene éxito y la secuencia de la guardia opcional GuardSeq es cierto, el organismo correspondiente se evalúa.
El valor de retorno del cuerpo es el valor de retorno de la expresión caso. Si no hay un patrón de coincidencia con una secuencia de la guardia real, una ejecución case_clause tiempo de error.
# Hacer jabón casero sin cocción
## Materiales

* Aceite: 12 litros. Puede ser nuevo o usado (en caso de ser usado debe pasarse por un colador para quitarle las impurezas).
* Agua: la misma cantidad que de aceite (12 litros).
* Sosa: la sexta parte de la cantidad de aceite, es decir, 2 kilógramos:
    Sosa cáustica: para hacer jabón sólido. Ésta es el que utilizaremos aquí. Se puede obtener en droguerías, tienda química, farmacias y sitios online. Debe tener 99% de pureza.
    Sosa potásica: para hacer jabón líquido o gel. Debe tener al menos un 85% de pureza. Hace falta un 40% más de cantidad que la que la cantidad de sosa cáustica que se suele emplear para los jabones sólidos.
* Harina: medio vaso (75 g aproximadamente).
* Sal: la misma cantidad que de harina (1/2 vaso).
* Recipiente para realizar la mezcla
* Palo o espatula de plástico o, preferentemente, de madera.
* Agua y vinagre: Para la limpieza posterior.
* Molde para enfriar el jabón.

## Procedimiento

* Tal y como se indica más arriba, se ha de filtrar el aceite en caso de ser usado, para ello es preferible calentarlo como a 35 °C y luego pasarlo por un filtro para quitarle cualquier residuo, se recomienda usar un filtro para café, pero un paño delgado y limpio da buenos resultados.
* También es conveniente retirar el agua al aceite en caso de ser usado, para hacerlo debemos calentarlo hasta los 100 °C para que el agua se evapore, se debe agitar el aceite para evitar que salpique y continuar hasta que el vapor disminuya, luego se mantiene a 130 °C (265 °F) durante diez minutos, se apaga y se espera a que enfrie.
* En el agua se va echando lentamente la sosa.
* El líquido producido se vierte poco a poco en cubo o recipiente donde está la mezcla de aceite, harina y sal y se va dando vueltas con el palo siempre en el mismo sentido (bien hacia la derecha o hacia la izquierda), hasta que tiene una consistencia similar al alioli (aproximadamente, a los 30 minutos).
* Se pone el jabón en el molde enaceitado y se deja enfriar durante dos días.
* Se corta en piezas del tamaño deseado y se deja durante mes y medio antes de poderlo usar.

## Otras formas de hacer jabón

* Hágalo usted mismo/Jabón
# HTTP/Recursos/URL Encoding

URL = (Uniform Resource Locator) o en español localizador de recursos uniforme, permite al navegador encontrar la página web o un archivo específico a través de la web (Internet), la URL es única. Algunos de los componentes de las URL son:
* HTTP= protocolo de transferencia de texto (Hyper Text Transfer Protocol)
* WWW = red informática mundial (Word Wide Web)
* SUB DOMINIOS= algunas empresas grandes usan este tipos de dominios por ejemplo Google, para acceder a mapas, finanzas, calendarios etc. por ejemplo para acceder a geolocalización de google se usa maps.google.com
* NOMBRE DE DOMINIO= nombre único registrado a un propietario
* EXTENSIÓN= extensiones globales ej .com, .org
* RUTA (PATH)= al igual que nosotros organizamos nuestros archivos del pc en carpetas y subcarpetas los sitios web lo hacen de la misma manera
* NOMBRE DE LA PAGINA = por defecto es index.html
Esta dirección es la que permite la fácil comunicación entre correos, por esta razón internet define caracteres no seguros para las URL.
Uno se los caracteres poco seguros para una URL es el espacio por que puede aparecer o desaparecer durante la codificación de la URL.
Otro carácter poco seguro es el numeral, ya que estos son usados por los fragment, los espacios se codifican como %20 donde el 20 es en numero hexadecimal del código ASCII.
# HTTrack
## Descripción breve del programa

HTTrack es una aplicación informática de Software libre con licencia GPL, multilenguaje y multiplataforma cuyo fin es la captura Web, es decir la descarga a un PC, de todo, o parte de un Sitio Web, para posteriormente poder navegar por él Off-line. Su versión para los Sistemas operativos GNU/Linux se llama WebHTTrack, y su versión para el Sistema operativo Windows se llama WinHTTrack.

## Capítulos del Tutorial

* Capítulo 1: Uso básico del programa
* Capítulo 2: Actualizar un proyecto - Lectura imprescindible de este capítulo, porque hay que tener mucho cuidado de como se actualizan los proyectos ya que por ejemplo si la Web desapareció, ó eliminió parte de su contenido, y se actualiza mal el proyecto se podría borrar el contenido de lo que se descargó.

## Véase También

* Versión para imprimir del tutorial completo - También útil para descargar todo este manual de una vez para poderlo ver off-line.
* Descripción de HTTrack en Wikipedia

## Enlaces externos

* Web oficial del programa
# Haskell/Implementaciones de Haskell

Implementaciones del lenguaje:
Existen varias implementaciones del lenguaje disponible para múltiples sistemas operativos (Entre ellos Windows, Mac os y varias distribuciones de Linux). Todos son bajo licencia open source y cumplen con los estándares de Haskell 98.
IDEs
Existen varios IDEs y/o plugins que se pueden utilizar para desarrollar aplicaciones en Haskell. La mayoria son open source, pero también existen de índole comercial.
Open Source
* IntelliJ plugin for Haskell
* EclipseFP plugin for Eclipse IDE
* Colorer plugin for Eclipse IDE
* Leksah
* KDevelop
* Vim
* Emacs
* Atom
Commercial
* Haskell for Mac
* Sublime-Haskell