Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 27 de diciembre de 2016

Cursos Gratuitos en OpenWebinars: Linux y HTML5, CSS3 y JavaScript



Cursos Gratuitos en OpenWebinars



Comentaros que esta portal de cursos online, de vez en cuando hay cursos gratuitos, y actualmente hay dos:

Curso para Aprender Linux desde Cero:

Contenido:


Conociendo Linux
Introducción a Linux
Instalación de Linux
Métodos de acceso
Estructura de directorio
El Terminal
Comandos básicos
Sistema de permisos
Ficheros y procesos de trabajo
Búsqueda de ficheros
Visualización de ficheros
Edición de ficheros
Entrada/Salida
Flujos de trabajo
Procesos de trabajo
Programación de tareas
Gestión de usuarios


Curso de HTML5, CSS3 y JavaScript

Contenido:

HTML5 y CSS3
Introducción a HTML
La Web Semántica: HTML5
El IDE: Sublime Text
Práctica con HTML5
Introducción a CSS
Las nuevas propiedades CSS3
Inspector de código del navegador
Práctica con CSS3
Responsive Web Design
¿Qué es el RWD?
Cómo aplicar RWD
Práctica con RWD
Frameworks y JavaScript
Introducción a JavaScript
Eventos y manipulación del DOM
Depurador Javascript del navegador
Librería jQuery
Práctica con Javascript
Los frameworks Web
Uso de BootStrap
Modificando BootStrap
Uso de jQuery con BootStrap
Aplicando lo aprendido


Para más información:
https://openwebinars.net/cursos/

lunes, 26 de diciembre de 2016

Gestor de Software: Como tener disponible 83950 paquetes facilmente

Gestor de Software: 

Como tener disponible 83950 paquetes fácilmente



La forma más sencilla de instalar software en nuestra distribución linux mint, es usar el gestor de paquete, que nos muestra por categorías los programas disponibles:



Entrando en una de ellas, podemos "navegar" por una gran cantidad de software de todo tipo y con un simple click, instalarlo en nuestro sistema.

Gestor de Software: Categoría Internet

Os dejo un vídeo para que veáis como se usa:






Saludos y Felices Fiestas !!!


[Solucionado] (gksu:6039): Gtk-WARNING **: Imposible encontrar el motor de temas en la ruta al _modulo: «adwaita»,

[Solucionado] (gksu:6039): Gtk-WARNING **:
Imposible encontrar el motor

 de temas en la ruta al _modulo: «adwaita»


Esta advertencia ("warning")  se me presentaba en la consola cuando intentaba ejecutar el programa mintinstall (el gestor de software que viene en la distribución linux mint). Seguramente se daba ya que estoy usando el escritorio KDE. Para que no diera esa advertencia, instale el paquete gnome-themes-standard:

$ sudo apt-get install gnome-themes-standard


Y una vez echo esto, ya no me daba ese aviso, al iniciar el mintinstall

Fuente:






viernes, 16 de diciembre de 2016

[cursos gratuitos]MiriadaX: Introducción al diseño de videojuegos


[cursos gratuitos]

MiriadaX:

 Introducción al diseño de videojuegos

Empleo Digital de Fundación Telefónica te presenta este curso de Introducción al diseño de videojuegos con el que podrás aprender muchas de las nociones básicas que hay que tener en cuenta cuando estamos diseñando y desarrollando videojuegos. Desde el concepto inicial, pasando por las diferentes fases de desarrollo hasta analizar cuál es el mejor modo para poder rentabilizar nuestro juego.
Conocerás también los distintos tipos de jugadores, el concepto de experiencia de juego, de las mecánicas y las dinámicas, así como la importancia de las decisiones y de las recompensas en nuestro juego.
A lo largo de las 20 unidades que componen este curso se detallarán técnicas y consejos que ayudarán a hacer diseños de juego más sólidos y divertidos. También podrás aprender de primera mano las diferentes técnicas que utilizan los profesionales de la industria del videojuego en su día a día.
Vivimos en un mundo digital y en constante cambio. Las empresas necesitan de profesionales que se hayan adaptado al cambio tecnológico, personas ágiles e inquietas como tú que quieren ponerse al día en la vanguardia de la programación, un poder que te facilitará una tarjeta de embarque al mundo laboral de las empresas más punteras y con más futuro de este país. Es por este motivo que desde Fundación Telefónica ponemos a tu disposición el curso de “Introducción al Diseño de Videojuegos”. Necesitamos a futuros profesionales de mente abierta como tú… ¡y no es difícil ponerse al día!


¡¡ EMPIEZA EL 9 DE ENERO DE 2017!!


Para registrarte:
https://miriadax.net/web/introduccion-al-diseno-de-videojuegos


A continuación se muestran los módulos y actividades que forman el curso. Se indican fechas y hora de inicio y fin de cada módulo, así como fechas de finalización del plazo para realizar las tareas obligatorias. En el caso de actividades p2p se deben tener presentes dos grandes momentos: fecha máxima para realizar la entrega de la tarea y fecha máxima para realizar la valoración a compañeros. Tenga en cuenta que solo se muestran las fechas de fin de las actividades obligatorias y que las opcionales solo se listan.

Ten en cuenta que las horas están en: Hora de Europa Central
MÓDULO 1. INTRODUCCIÓN AL DISEÑO DE VIDEOJUEGOS
  • Inicio módulo : 09 ene 00:00
  • Fin módulo : 20 feb 23:59
ActividadesFecha máxima entrega actividadFecha máxima validar compañeros
Introducción al proceso de creación de un videojuego
Tipos de juegos y de jugadores
Ejercicio práctico 1
Análisis y tipología de la diversión
El concepto y la experiencia del juego
Ejercicio práctico 2
Evaluación Módulo 120 feb 23:59
Encuesta inicio de curso20 feb 23:59
Fórmate en Empleo Digital
MÓDULO 2: BASES DEL DISEÑO DE VIDEOJUEGOS
  • Inicio módulo : 09 ene 00:00
  • Fin módulo : 20 feb 23:59
ActividadesFecha máxima entrega actividadFecha máxima validar compañeros
Mecánicas del juego
Dinámicas del juego
Ejercicio práctico 1
Tensión, ritmo y tono
Uso de loops de juego
Toma de decisiones
Ejercicio práctico 2
Evaluación Módulo 220 feb 23:59
MÓDULO 3. DEL CONCEPTO DE JUEGO AL PROTOTIPO
  • Inicio módulo : 09 ene 00:00
  • Fin módulo : 20 feb 23:59
ActividadesFecha máxima entrega actividadFecha máxima validar compañeros
Documentos de diseño
Programación del prototipo
Ejercicio práctico 1
La capa del Arte
Extensión del Gameplay
Ejercicio práctico 2
Evaluación Módulo 320 feb 23:59
MÓDULO 4. OTROS ASPECTOS DEL DESARROLLO
  • Inicio módulo : 09 ene 00:00
  • Fin módulo : 20 feb 23:59
ActividadesFecha máxima entrega actividadFecha máxima validar compañeros
Logros y recompensas
Narrativa y Game Writing
Ejercicio práctico 1
Curva de Aprendizaje y Dificultad
Balanceo y equilibrado
Ejercicio práctico 2
Evaluación Módulo 420 feb 23:59
MÓDULO 5. COMERCIALIZANDO NUESTRO VIDEOJUEGO
  • Inicio módulo : 09 ene 00:00
  • Fin módulo : 20 feb 23:59
ActividadesFecha máxima entrega actividadFecha máxima validar compañeros
Enganche y retención
Modelos de monetización
ASO (App Store optimization)
Ejercicio práctico 1
Evaluación Módulo 520 feb 23:59
Cierre

jueves, 15 de diciembre de 2016

[Hardware] Conoce el hardware de tu ordenador



[Hardware] 

Conoce el hardware de tu ordenador



Existen multitud de comandos y herramientas que nos pueden ayudar a conocer el hardware de nuestro equipo, os dejo un resumen, de los que he encontrado más útiles:

Desde la terminal:

Listado resumido de nuestro hardware:

$sudo lshw -short



Conocer detalles de tu cpu:
Tenemos varias utilidades:
$lscpu

$cat /proc/cpuinfo

$cpuid

(es necesario tenerlo instalado: sudo apt-get install cpuid)


Conocer detalles de tu tarjeta gráfica:
Si tienes una ATI:
$lspci |grep ati
Si tienes una NVIDIA:
$lspci |grep nvidia
          Si tienes una INTEL:
$lspci |grep intel

Discos duros:

$sudo fdisk -l

y mostrando la información en forma de árbol:

$sudo lsblk -fm




Herramienta gráfica:

$hardinfo

Nota:
Para instalarla: $sudo apt-get install hardinfo





Fuentes:

sábado, 10 de diciembre de 2016

[Desarrollo Gambas] Creación de una libreria .so en C, y uso de la misma por el mismo programa que la crea


[Desarrollo Gambas] 

Creación de una libreria .so en C, y uso de la misma por el mismo programa que la crea.



El lenguaje C crea ejecutables mucho más eficientes y rápidos que los que crea el lenguaje Gambas... pero Gambas puede usar librería externas para aprovechar la eficiencia de C.


Este en un ejemplo subido por Vuott, donde, el propio programa de Gambas, crea una libreria .so y la usa.

Esto es lo que hace el programa

  1. Crea una libreria "libmuestra", en la carpeta /tmp, creando el archivo en C (libmuestra.c), y compilandolo como libreria shared , para que la cree como libmuestra.so. 
  2. Esta libreria tiene la función potencia, que calcula la potencia dada de un numero X elevado a Y.
  3. En programa  Gambas, la usa usando el comando Library y Private Extern Potencia()
  4. La función "potencia" es llamada por el programa para calcular la potencia de 3 elevado a 4.



Library "/tmp/libnuestra"   ' Declara la libreria que contiene la función que nos interesa

' double Potencia(double x, int y)
' Devuelve la potencia de un valor de tipo "double"
' (es decir el tipo "Float" en gambas).
Private Extern Potencia(As Float, y As Integer) As Float    ' Declara la función que nos interesa
 

Public Sub Main()
 
 Dim f As Float

' Llama a la procedura que crea la nuestra libreria .so:
  Creaso()
  
' Utiliza la función externa de la nuestra libreria .so:
  f = Potencia(3.0, 4.0)
  
  Print f
  
End


Private Procedure Creaso()
  
' Crea el fichero fuente en C de la nuestra libreria .so:
   File.Save("/tmp/libnuestra.c""double Potencia(double x, int y) {   /* Nam potentia activa est principium agendi in aliud. (S. Tomas) */" &   
             "\n\n" &
             "   if (y == 0)\n" &
             "      return 1;" &
             "\n\n" &
             "   double pot = x;" &
             "   while (y > 1) {\n" &
             "     --y;" &
             "     pot *= x;\n}" &
             "\n\n" &
             "   return pot;\n}")
             
' Crea la nuestra libreria .so:
   Shell "gcc -o /tmp/libnuestra.so /tmp/libnuestra.c -shared" Wait
  
End





Descarga del ejemplo:
alojado en google drive







Fuente:
https://www.gambas-es.org/viewtopic.php?f=5&t=6011&p=35992&highlight=#p35992






jueves, 8 de diciembre de 2016

[Aplicación] PhotoCollage: Creador de Collage de fotos en linux



[Aplicación]

 Creador de Collage de fotos en linux






¿Está buscando una aplicación de creación de collage para Linux? Puede utilizar varias aplicaciones de imagen de Linux como GIMP, Inkscape etc para este propósito, pero estas son aplicaciones con muchas funciones y puede ser abrumador para el usuario. ¿Por qué no usar una aplicación independiente que tiene el único objetivo de generar un collage? Entonces tu aplicacion es PhotoCollage !!!


Ejemplo de uso de PhotoCollage











PhotoCollage es una aplicación gratuita y de código abierto para generar collages, fácil y rápidamente. Veamos cómo puede instalar PhotoCollage en varias distribuciones de Linux.



Instalación en ubuntu:

Puedes usar el ppa siguiente:

  sudo add-apt-repository ppa:dhor/myway

  sudo apt-get update


  sudo apt-get install photocollage

Instalación en Federa:


sudo yum install photocollage


Instalación en cualquier distribución linux, descargandotelo de github:

git clone https://github.com/adrienverge/PhotoCollage.git

cd PhotoCollage


sudo python3 setup.py install


Algunas características de PhotoCollage incluyen:

- Generar nuevos diseños aleatorios
- Elegir el color y el ancho de la frontera
- Guardar como imagen de alta resolución
- Funciona incluso con más de 100 fotos al mismo tiempo


Es una pequeña aplicación pero útil para este propósito.




Fuente:

sábado, 3 de diciembre de 2016

[desarrollo] Colaborar en un proyecto de Github: 2 formas


 [desarrollo] 

Colaborar en un proyecto de Github: 

2 formas


En github, el sitio web que usa git, para la gestión de versiones de software, hay dos formas de colaborar en el desarrollo de un proyecto:

a)   Subir cambios pero el coordinador del proyecto se encarga de aceptar o rechazar los cambios.
Del proyecto se crea un fork, (una copia del proyecto), que podrás modificar y subir cambios (a tu fork), y cuando lo estimes oportuno, le mandas tus cambios al coordinador del proyecto (Pull Request) , para que este decida si admite los cambios o no y los mezcle con la rama actual.

 Esta forma lo he visto explicado en muchos sitios, y es ideal por su facilidad, para proyectos como añadir traducciones a programas. Lo he visto explicado en varias páginas, os dejo los enlaces:




b) Todos colaboran, no hay coordinador.
Esta forma es más sencilla, me la explico Tincho (del foro de gambas-es.org) ya que los colaboradores suben sus cambios y se mezclan con el proyecto principal, sin necesidad de que alguien (el coordinador o creador del proyecto), tenga que decidir si se mezclan o aceptan los cambios. Aquí es muy importante, la organización y coordinación de los colaboradores, para evitar que aparezcan problemas de sincronización. Por ejemplo decidir que archivos va a modificar cada uno, (para que no se pisen los cambios). Una herramienta útil para estas conversaciones puede ser https://gitter.im

Estos son los pasos para añadir colaboradores a un proyecto de github:
  1. ir a tu proyecto 
  2. ir a la solapa settings
  3. Escribir el nombre del colaborador y cuando lo encuentras le das al botón de agregar.

Nota:
 El colaborador, tiene que tener cuenta en github, para que aparezca en la lista de "Collaborators"

Una vez hecho esto, el colaborador recibe un mensaje en la cuenta de correo que tenga asociada a github, para aceptar la colaboración :





y partir de ese momento, le va a aparecer el proyecto en su lista de proyectos, y podrá bajar / subir los cambios como si fuera un proyecto suyo.




Otros enlaces de interes:
https://github.com/oslugr/curso-git/blob/master/texto/solucion_problemas.md
Mi chuletilla de comandos de git:
http://jsbsan.blogspot.com.es/2015/05/breves-notas-sobre-git-y-github.html



Fuentes:
https://www.gambas-es.org/viewtopic.php?f=5&t=5989&highlight=github&start=10


viernes, 2 de diciembre de 2016

[Terminal]: Modificar archivos pdf con PDFtk


[Terminal]:
 Modificar archivos pdf con PDFtk

Con el programa pdtk, podemos manipular archivos pdf desde la terminal. Os dejo unos cuantos ejemplos realizados por el autor de este programa. ( Nota: He encontrado un editor online http://www.pdfescape.com/ , que no tiene tantas opciones como pdftk, pero es "visual" y puede ser útil en determinadas ocasiones. )




Instalación:

sudo apt-get install pdftk



Ejemplo de usos:

Agrupar las páginas:

pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf

  O si odd.pdf está en orden inverso:

pdftk A=even.pdf B=odd.pdf shuffle A Bend-1 output collated.pdf



Únase a in1.pdf y in2.pdf en un nuevo PDF, out1.pdf

pdftk in1.pdf in2.pdf cat output out1.pdf


 O (usando cat):
pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf

  O (usando comodines):

pdftk *.pdf cat output combined.pdf


Eliminar la página 13 de in1.pdf para crear out1.pdf

pdftk in.pdf cat 1-12 14-end output out1.pdf

   o:

pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf



Gire la primera página PDF a 90 grados en el sentido de las agujas del reloj

pdftk in.pdf cat 1east 2-end output out.pdf


Rotar un documento PDF completo a 180 grados

pdftk in.pdf cat 1-endsouth output out.pdf


Únete a dos archivos, uno de los cuales requiere la contraseña foopass. La salida no está cifrada.

pdftk A=secured.pdf 2.pdf input_pw A=foopass cat output 3.pdf

Descifrar un PDF

pdftk secured.pdf input_pw foopass output unsecured.pdf


Cifrar un PDF con una intensidad de 128 bits (la predeterminada), retener todos los permisos (el valor predeterminado

pdftk 1.pdf output 1.128.pdf owner_pw foopass

Igual que arriba, excepto baz de la contraseña también se debe utilizar para abrir la salida PDF

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz


Igual que el anterior, excepto que se permite la impresión (una vez abierto el PDF)

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing

Aplicar cifrado de 40 bits a la salida, revocando todos los permisos (el valor predeterminado). Establezca el propietario PW a foopass.

pdftk 1.pdf 2.pdf cat output 3.pdf encrypt_40bit owner_pw foopass


Descomprimir flujos de páginas PDF para editar el PDF en un editor de texto (por ejemplo, vim, emacs)

pdftk doc.pdf output doc.unc.pdf uncompress


Reparar una tabla XREF corrupta de PDF y longitudes de secuencia, si es posible

pdftk broken.pdf output fixed.pdf

Crear un pdf por cada pagina de otro fichero PDF (actualizado 24/04/2018)
pdftk in.pdf burst

    Nota: Nos nombre los ira renombrando (pg_0001.pdf, pg_0002.pdf, etc...)

Escribir un informe sobre metadatos y marcadores de documentos PDF para report.txt

  • pdftk in.pdf dump_data output report.txt



Traducido del artículo original de Sid Steward




Fuentes:
https://www.pdflabs.com/docs/pdftk-cli-examples/
http://www.redeszone.net/2015/03/06/pdftk-para-linux-manipula-cualquier-pdf-traves-de-la-linea-de-comandos/