El impacto de los contenidos creados por usuarios en juegos

Una foto de la figura de Steve, un personaje de minecraft

En el panorama en constante evolución de los juegos, un cambio sísmico ha transformado el panorama, impulsado por el auge de los contenidos creados por los usuarios (CGU). Los jugadores ya no se limitan al papel pasivo de consumidores, sino que se han convertido en arquitectos activos, cocreadores que dan forma a la esencia misma de los reinos virtuales que recorren, del mismo modo que cualquiera puede convertirse en estrella del porno creando un film porno amateur. Esta exhaustiva exploración pretende desvelar el profundo impacto de los CGU en los juegos, ahondando en su evolución histórica, las herramientas que los impulsan y su polifacética influencia en el compromiso de los jugadores, la dinámica de las comunidades y los panoramas económicos.

Leer más

¿Alguna vez has querido crear un sitio web porno? Sigue a uno de los mejores de la clase: Youporn

¿Alguna vez has querido crear un sitio web porno? Sigue a uno de los mejores de la clase: Youporn

Si estás buscando hacer algo de dinero en Internet, quizás la idea de crear un blog personal, un nicho, un comercio electrónico, un curso en línea u otro podría haber cruzado por tu mente. Y para algunos que entran en el mundo de la creación de sitios web, incluso la opción de crear un sitio web con videos pornográficos ha comenzado a ser una opción, si no te importa en absoluto en el tema y te sientes cómodo para pasar el desarrollo de un sitio como ese.

En una experiencia reciente, me encontré trabajando en la renovación del diseño de un sitio web semiprofesional, tal vez podría decir realmente amateur. Este es un sitio web porno francés que está dirigido específicamente a la audiencia adulta que le gusta ver a otras personas comunes teniendo sexo y grabar eso. Si tienes curiosidad, revisa por ejemplo la categoría específica que tienen para las escenas amateur, llamada como podrías imaginar: sexe amateur.

Leer más

Expresiones regulares y filtros

Expresiones regulares y filtros

Una expresión regular es un patrón que define a un conjunto de cadenas de caracteres. Las expresiones regulares se construyen de forma análoga a las expresiones aritméticas. Existe la posibilidad de combinar expresiones simples; para ello, debemos emplear distintos operadores.

Los bloques básicos de construcción son las expresiones regulares que referencias un único carácter. La mayoría de los caracteres, incluyendo todas las letras y dígitos, son expresiones regulares que se definen a si mismos. Cualquier metacarácter con significado especial debe ser precedido del símbolo backslash para que pierda su significado especial.

Una lista de caracteres encerrados dentro de [] referencia cualquier carácter sencillo de esa lista. Si el primer carácter es un ^ entonces estaremos haciendo referencia a los caracteres que no aparecen en la lista.

Los caracteres ^ y $ son metacaracteres que representan una cadena vacía al principio y al final de la línea, respectivamente. Los símbolos < y > representan una cadena vacía al principio y al final de una palabra.

Una expresión regular que representa un carácter sencillo puede ser continuada con uno o varios caracteres de repetición:

?El elemento precedente es opcional y debe coincidir al menos una vez.
*El elemento precedente debe coincidir cero o más veces
{n}El elemento precedente debe coincidir exactamente n veces
+El elemento precedente debe coincidir una o más veces.
{,m}El elemento precedente es opcional y debe coincidir al menos m veces.
{n,m}El elemento precedente debe coincidir al menos n veces pero no más de m veces.

Dos expresiones regulares pueden unirse con el operador |. La expresión resultante representa cualquier cadena que responda a uno de los dos patrones.

Ejemplos:

PatrónQué representa
pabloLa cadena pablo
^pabloLa cadena pablo al comienzo de una línea.
pablo$La cadena pablo al final de una línea.
^pablo$La cadena pablo formando una única línea.
niñ[oa]La cadena niño o niña
ni[^aeiou]oLa tercera letra no es una vocal minúscula.
ga.oLa tercera letra es cualquier carácter.
^….$Cualquier línea que contenga 4 caracteres.
^.Cualquier línea que comienza por punto.
^[^.]Cualquier línea que no comienza por punto.
niños*niño, niños, niñoss, niñosss, etc
“niño”niño entre comillas dobles.
“*niño”*niño con o sin comillas dobles.
[a-z][a-z]*una o más letras minúsculas.
[a-z]+una o más letras minúsculas (sólo válido en algunas aplicaciones).
[^0-9A-Z]cualquier caracter que no sea ni número ni letra mayúscula.
[a-zA-Z]cualquier letra sea mayúscula o minúscula.
[Ax5]cualquier carácter que sea A, x o 5.
niño|niña|nadauna de las tres palabras.
(s|arb)ustola palabra susto o arbusto.
ga?t[oa]gato, gata, gasto, gaita, etc.
<gacualquier palabra que empiece por ga.
 ño>cualquier palabra que termine por ño
<niño>la palabra niño
o{2,}dos o más oes en una misma fila.

Siempre que empleemos expresiones regulares con grep, deben se encerradas entre comillas dobles para que el interprete de órdenes no los considere. Si dentro de la expresión regular tenemos el metacarcter $ , deberemos emplear comillas simples en lugar de las comillas dobles.

Filtros

sort: Sintaxis sort [-ndt] [+campo] [archivo(s)]
Este filtro se utiliza para ordenar líneas compuestas por cmpos, separados por tabuladores, aunque podemos especificar cualquier tipo de separador de campo. Si a sort no le pasamos ningún archivo como prámetro, tomará su entrada de la entrada estándar como cualquier filtro. Con este filtro podemos ordenar las líneas de uno varios archivos según un campo en particular. Esta ordenación no produce ninguna modificación en los archivos tratados.

Algunas opciones:

-nconsidera el valor numérico para ordenar los campos.
-dconsiderar sólo espacios en blanco y caracteres alfanuméricos.
-t seputiliza sep como separador de campos.

grep: Sintaxis grep [-inv] patrón [archivo(s)]

Es un filtro que permite buscar cadenas de caracteres en los archivos que le indiquemos
Opciones:

-iIndica a grep que se ignoren mayúsculas y minúsculas
-vvisualiza por pantalla las líneas que no contienen el patrón indicado.
-nmuestra por pantalla el número de línea en que se encuentra el patrón.

wc: Sintaxis wc [-lwc] [archivo(s)]
Se trata de un contador de líneas, palabras y caracteres.
Opciones:

-lvisualiza sólo el número de líneas.
-wvisualiza sólo el número de palabras.
-cvisualiza sólo el número de caracteres.

cut: Sintaxis cut -c lista [archivo(s)]
cut -f lista [-dcar] [archivo(s)]
Se usa para cortar y pasar a la salida estándar las columnas o campos de la entrada estándar o del archivo especificado. La opción -c es para cortar columnas y -f para cortar campos. Al cortar un campo, existe la opción -d para especificar los caracteres de separación entre los distintos campos (car). Por defecto el delimitador es el tabulador, al menos que se indique otra cosa.
Una lista es una secuencia de números que se usa para indicarle a cut qué campos o columnas se quieren cortar. Hay varios formatos para esta lista.

X-YColumnas o campos desde X hasta Y inclusive.
X-Columnas o campos desde X hasta el final.
X-YColumnas o campos X e Y.

tr: Sintaxis tr [-dsc] cadena1 cadena2
Se emplea como traductor. Como todo filtro tr lee datos de la entrada estándar, los procesa y deposita los resultados en la salida estándar. Busca los caracteres indicados por cadena1 y los sustituye por cadena2.

-dsirve para eliminar los caracteres indicados por cadena 1
-selimina caracteres repetidos indicados por cadena1
-cindica contrario, que no coincida con cadena1.

tee: Sintaxis tee [-a] [archivo(s)]
Esta orden orden lee la entrada estándar por defecto y escribe su salida a la salida estándar y al archivo especificado. Si se utiliza la opción -a (append), tee  añade su salida al archivo en lugar de sobreescribirlo.

find: Sintaxis find camino expresión
La orden find es una de las más potentes de UNIX, pero también una de las que tienen una sintaxis más compleja. Esta orden se usa para examinar toda la estructura de directorios, o señalados en la línea de órdenes. Una vez localizados, podemos hacer que ejecute distintas acciones sobre ellos. El campo expresión sirve para indicar los criterios de selección de los archivos y la acción que queremos aplicarles al encontrarlos.

Ejemplo:
$ find / -name ifconfig                               (busca el archivo ifconfig dentro de la estructura de directorios)
La opción -name indica a find que únicamente se busquen los archivos cuyo nombre se especifica a continuación. Cuando find no puede buscar en un determinado directorio por no poseer derechos de acceso, no los comunica. Para evitar estos mensajes de error podemos redirigir el error a /dev/null.
Ejemplo:
$ find / -name login 2>/dev/null
Opciones:

-userle indicamos a find que seleccione los archivos que pertenezcan al usuario que se indica a continuación de -user.
-groupselecciona los archivos pertenecientes al grupo indicado a continuación.
-mtime narchivos modificados hace n días.
-mtime -narchivos modificados en los últimos n días.
-mtime +narchivos modificados hace más de n días.
-size -marchivos cuyo tamaño es menor de m bloques.
-size +marchivos cuyo tamaño es mayor de m bloques.
-type xarchivos del tipo indicado por x (d directorios, f archivos, l enlaces, etc.).
-inum narchivos cuyo inodo es n
-perm modearchivos cuyos permisos sean los dados por mode.
-exec ordenejecuta la orden usando como argumento los resultados de la búsqueda.

Todas estas opciones pueden ser negadas con el carácter ! seguido de un espacio en blanco.

sed: Sintaxis  sed [-f f_ord] [-n] [archivo(s)]
La herramienta sed es un editor de flujo (stream editor) utilizado para manipular archivos de texto. sed copia los archivos indicados (por defecto, el archivo estándar de entrada) en la salida estándar después de procesarlos. Este procesamiento de los archivos de entrada se lleva a cabo línea por línea, acorde con las órdenes dadas a sed, estas órdenes pueden residir en un archivo, en cuyo caso usaremos la opción -f seguida del nombre del archivo que contiene las órdenes (f_ord). La opción -n se utiliza si queremos ver la línea que está siendo procesada.
Algunas órdenes de sed:
         sustituye  sed ‘s/procesar/manipular/g’ archivo        (aquí indicamos que queremos sustituir procesar por manipular a lo largo de todo   el archivo, lo indica g.)
d    borra sed ‘1,3d’ archivo   (elimina desde la línea 1 hasta la 3 del archivo)

y   traduce caracteres (los cambia por otros) sed ‘y/[aeiou]/[AEIOU]/’ archivo               (cambia las vocales en minúsculas por vocales en mayúsculas).

Procesos (LINUX)

Procesos

Cada proceso en UNIX tiene asociado un número que lo identifica. Este número es asignado por el núcleo, y se denomina identificador de proceso o PID (process identitifier). Además del PID los procesos tienen asignado otro número denominado PPID (parent PID), que identifica el proceso padre.
Todo proceso, desde que se inicia hasta que termina, va pasando por una serie de estados, cada uno con unas características determinadas.
Estados:

  1. El proceso se está ejecutando. En máquinas con un sólo procesador sólo puede haber un proceso en ese estado. UNIX permite que la CPU sea compartida por varios procesos, dividiendo todo el tiempo del procesador en cuantos o rodajas, y asignado esos cuantos alternativamente a cada proceso, acorde con su prioridad.
  2. El proceso está durmiendo. Un proceso entra en este estado cuando no puede proseguir su ejecución por faltarle algún recurso o porque está esperando la terminación de una operación de entrada salida.
  3. El proceso no dispone del procesador, pero está listo para ejecutarse. Continuará su ejecución en cuanto se lo indique el planificador de la CPU.

Como hemos visto es posible ejecutar varios procesos de forma que parece que lo hacen simultáneamente, si estamos en la consola y ejecutamos un programa este no devuelve el prompt del shell hasta que no finaliza su proceso, para permitir que podamos ejecutar otros procesos será necesario enviar este primer proceso a segundo plano, lo cual se puede hacer de dos formas.

  1. Una vez que está en marcha pulsar ctrl+z lo que hará aparecer de nuevo el prompt y dejará el proceso en suspenso. Si queremos ponerlo en marcha debemos utilizar el comando bg <numero> donde numero indica el proceso que queremos pasar a segundo plano. Si en lugar de bg utilizamos fg <numero> lo que haremos será traer el proceso a primer plano y no podremos hacer otra cosa hasta que lo enviemos a segundo plano o lo paremos.
  2. Ejecutar un comando terminando la línea de orden con el símbolo &, el cual le indica al shell que ejecute la orden y que la pase a segundo plano.

Para saber que procesos se están ejecutando en un instante determinado podemos emplear la orden ps.
Si ejecutamos ps sin opciones nos devolverá los procesos asociados a nuestro terminal.

Para obtener más información debemos usar las distintas opciones que nos permite la orden ps aquí se exponen algunas de las más usadas.

-e         nos informa de todos los procesos que hay en el sistema.
-f         proporciona una lista completa de cada proceso.
-l          da listados largos y completos que contienen muchos detalles de los procesos
-a         muestra los procesos de otros usuarios.
-A        muestra todos los procesos
-x         muestra procesos sin ningún terminal asociado
-u         muestra el usuario y el tiempo de inicio.

Ejemplos:

USER              Usuario propietario del proceso.
PID                 Identificador del proceso.
%CPU             % de uso de los recursos de la CPU
%MEM           % de memoria utilizada.
VSZ                indica la cantidad de kilobytes del programa en la memoria virtual.
RSS                 indica la cantidad del kilobytes del programa en memoria.
TTY                terminal de control asociado al proceso.
STAT              información acerca del estado del proceso. R: listo; S: durmiendo; T: detenido; Z:                               Zombie (su proceso padre no los detuvo apropiadamente).
START            Hora de inicio del proceso.
TIME              Tiempo que lleva ejecutándose
COMMAND  Nombre del programa que contiene la imagen del proceso.

Otra orden que nos permite estudiar los procesos en ejecución es top.

También puede resultar muy útil utilizar la orden pstree que nos mostrará los procesos en forma de árbol permitiendo ver las dependencias de procesos padre e hijos.

Para enviar señales a los procesos en ejecución se utiliza la orden kill cuya sintaxis es:

kill -señal PID – Envia la señal al proceso indicado por PID.

Cuando un proceso recibe una señal puede actuar de tres formas diferentes:

  1. Ignorar la señal
  2. Invocar a la rutina de tratamiento por defecto proporcionada por el núcleo.
  3. Invocar una rutina propia que se encargará de tratar dicha señal.

Cada señal tiene asociado un número entero positivo que la identifica. En el caso del UNIX System V
existen 19 diferentes, numeradas del 1 al 19.

1        SIGHUP: Es enviada a todos los procesos asociados a un mismo terminal cuando se pulsa la tecla de interrupción. Por defecto provoca la terminación de los procesos que la reciben.
2        SIGINT: Interrupción. Es enviada a todos los procesos asociados a un mismo terminal cuando se pulsa la tecla de interrupción. Por defecto provoca la terminación de los procesos que la reciben.
3        SIGQUIT: Salir. Es similar a SIGINT, pero en este caso se envía cuando pulsamos la tecla de salida Ctrl-4.
5        SIGTRAP: Es enviada cuando se ejecutan instrucciones paso a paso en un programa. Por defecto provoca la terminación de los procesos que la reciben.
6        SIGIOT: Fallo de hardware
7        SIGEMT: Fallo de hardware
8        SIGFPE: Es enviada cuando el hardware detecta un error en una operación en coma flotante. Por defecto provoca la terminación de los procesos que la reciben.
9        SIGKILL: Provoca la terminación del proceso. Esta señal no puede ser ignorada.
10        SIGBUS: Error de acceso a memoria.
11        SIGSEGV: Violación de segmentos de memoria
12        SIGSYS: No se usa
13        SIGPIPE: Intento de escritura en una tubería en la cual no hay nadie leyendo.
14        SIGALARM: Es enviada al proceso cuando alguno de sus temporizadores llega a cero. Por defecto provoca la terminación de los procesos que la reciben.
15        SIGTERM: Indica que el proceso debe terminar. Puede ser ignorada.
16        SIGUSR1: Reservada para el usuario.
17        SIGUSR2: Reservada para el usuario.
18        SIGCLD: Se envía al padre de un proceso si éste muere.
19        SIGPWR: Fallo de alimentación.

Por defecto la orden kill envía la señal 15 al proceso especificado. Si queremos eliminar el proceso definitivamente lo mejor es enviarle la señal 9.

Cómo desinstalar completamente OneDrive en Windows

Cómo desinstalar completamente OneDrive en Windows

OneDrive viene instalado con Windows 10 y está habilitado de forma predeterminada si inicias sesión con una cuenta de Microsoft. Sin embargo, si no lo utilizas y no deseas que se ejecute en segundo plano, hay algunos trucos que puedes usar para deshabilitarlo o deshacerte de él completamente en Windows 10.

Te mostramos cómo deshacerte del icono de OneDrive en el Explorador de archivos con un hack de registro, pero eso no desinstala el programa y seguirá apareciendo en otro lugar. Aunque Microsoft no proporciona una forma fácil de quitarlo, puedes deshabilitarlo en todas partes en Windows 10 o desinstalarlo manualmente.

Leer más

Enrutamiento

La tabla de encaminamiento.

En los sistemas bajo Linux, la información sobre cómo han de dirigirse los datagramas se almacena en una estructura del kernel llamada tabla de encaminamiento. Es esta tabla de encaminamiento la que hay que manipular para configurar las decisiones de encaminamiento, basándose en la información fija que suministra el administrador (para el encaminamiento estático), o bien en la información de accesibilidad adquirida mediante BGP, (Border Gateway Protocol, Protocolo para pasarelas de frontera), para el encaminamiento dinámico.

Leer más

Rotulacion. Escribir textos con AutoCAD

1.- Rotulación. Escribir textos con AutoCAD.

No cabe duda que escribir letras o textos completos es una labor habitual y engorrosa, (en el dibujo técnico) que lleva mucho tiempo para obtener un resultado aceptable. En CAD la escritura es un proceso sencillo y preciso que permite utilizar cientos de tipos de letras diferentes ya sean grandes o pequeñas, cursivas con cualquier ángulo etc..

Leer más

Dibuja a TUX con Freehand

Introducción

Este tutorial paso a paso nos va a enseñar como dibujar a Tux (la mascota linux) con FreeHand, aunque también nos sirve para ver como se dibuja con este programa y sobre todo la aplicación de rellenos degradados para crear volumen.

Se van a utilizar herramientas vectoriales 100% aunque también se explica como obtener lo mismo con efectos que dan resultados mas matizados pero que no son 100% vectoriales.

Leer más