Autor: elGolem |
Lunes, 18 de Octubre de 2010 19:45 |
|
[Creative Commons] es una organización no gubernamental sin ánimo de lucro, que desarrolla planes para ayudar a reducir las barreras legales de la creatividad, por medio de nueva legislación y nuevas tecnologías. Fue fundada en 2001 por Lawrence Lessig, profesor de derecho en la Universidad de Stanford y especialista en ciberderecho, que la presidió hasta marzo de 2008.

Las licencias Creative Commons o CC están inspiradas en la licencia [GNU GPL] (GNU General Public License, o Licencia Pública General de GNU), de la [Free Software Fundation], sin embargo no son un tipo de licenciamiento de software. La idea principal es posibilitar un modelo legal ayudado por herramientas informáticas para así facilitar la distribución y el uso de contenidos.
Existe una serie de licencias Creative Commons, cada una con diferentes configuraciones o principios, como el derecho del autor original a dar libertad para citar su obra, reproducirla, crear obras derivadas, ofrecerla públicamente y con diferentes restricciones como no permitir el uso comercial o respetar la autoría original.
Es muy utilizado para liberar contenidos en Internet, como artículos, tutoriales, ebooks, música, etc. El registro es gratuito y puede hacerse desde la siguiente dirección:
|
|
Modificado por última vez el: Lunes, 18 de Octubre de 2010 20:01, en
Licencias
|
Autor: elGolem |
Lunes, 18 de Octubre de 2010 19:23 |
|
Para licenciar un software bajo una determinada licencia, es imprescindible primero que comprendamos cuales son los derechos que ésta nos otorga. La [GNU GPL] (GNU General Public License, o Licencia Pública General de GNU), es una de las licencias más populares dentro del software libre, y es la licencia oficial del proyecto GNU.
La licencia GPL garantiza a los desarrolladores las 4 libertades que tiene que tener el software libre según la [Free Software Fundation], las cuales son:
- La libertad 0: ejecutar el programa, con cualquier propósito (privado, educativo, público, comercial, militar, etc.).
- La libertad 1: estudiar el funcionamiento del programa y poder modificarlo. El acceso al código fuente es un requisito para esta condición.
- La libertad 2: redistribuir copias.
- La libertad 3: distribuir copias de sus versiones modificadas o mejoradas a otros.
Además, la GPL preserva el reconocimiento para el autor original o para quien publica el software, al tiempo que no se lo considera responsable de las modificaciones realizadas por terceros. A su vez, exige que todo software derivado de otro licenciado bajo la GPL, esté licenciado también por la GPL. En este sentido, la licencia se aplica a la obra en su totalidad y a todas sus obras derivadas.
Este último punto es sumamente importante, ya que impone una restricción inherente a todas las obras que utilicen algún componente GPL, ya que si escribimos un software que utiliza una librería licenciada bajo GPL, entonces dicho software también deberá ser licenciado bajo la GPL, por estar basado en dicha librería. Por esto es que muchas veces se dice que es una licencia "vírica", por el sentido en que se expande a sus obras derivadas y a otras obras.
Básicamente, los pasos que debemos seguir para liberar nuestro software bajo licencia GPL son los siguientes:
|
|
Modificado por última vez el: Lunes, 25 de Octubre de 2010 19:51, en
Licencias
|
Autor: elGolem |
Sábado, 25 de Septiembre de 2010 12:33 |
Nivel: Intermedio
Conocimientos Requeridos:
- Conocimientos básicos de admnistración y configuración de Joomla! y conceptos básicos (qué son los módulos, componentes, plantillas, etc.), instalación y configuración de extensiones
- Nociones básicas sobre administración de servidores desde el panel admin (recomendado)
Arrancando una serie de artículos de Seguridad en Joomla, hoy vamos a tratar de ver como darle un poco de protección básica a los archivos de nuestro servidor para tratar de mantener ocultos en lo posible los archivos sensibles del sitio. En este tutorial voy a mostrar algunas soluciones básicas para proteger directorios del servidor, las cuales incluyen:
- Autenticación HTTP
- Modificación de los permisos de usuario, y
- Utilización de extensiones de seguridad.
Los lectores seguramente sabrán encontrar mejores técnicas de protección luego de leer este artículo, pero es bueno arrancar siempre con las medidas básicas.
|
|
Modificado por última vez el: Lunes, 13 de Diciembre de 2010 22:23, en
Joomla
|
Autor: elGolem |
Jueves, 09 de Septiembre de 2010 10:26 |
|
Este es un tutorial práctico en el que vamos a ver cómo desarrollar desde cero una aplicación en Visual Basic.Net con una interfaz básica de usuario muy simple.
Vamos a hacer una aplicación que contenga un formulario principal y un formulario Acerca de. En el formulario principal, vamos a agregar un par de botones que llamen a una aplicación del Sistema Operativo y la ejecuten.
Como entorno se puede utilizar tanto Microsoft Visual Studio como su contraparte libre [SharpDevelop], por lo que es flexible a gustos personales. Por cuestiones de tiempo, el tutorial está desarrollado sobre VS, pero se puede implementar análogamente en SD sin ningún problema.
En el tutorial van a encontrar todo lo necesario para comenzar a introducirse tanto en el IDE como en el lenguaje, ideal para los que recién arrancan.
Tags:
|
|
Modificado por última vez el: Jueves, 23 de Septiembre de 2010 11:20, en
.Net
|
Autor: elGolem |
Miércoles, 08 de Septiembre de 2010 18:55 |
|
La mayoría de diseñadores web profesionales creen que [CSS] carece de un mecanismo fundamental para facilitar su trabajo: las variables en las hojas de estilos. Cuando se define una hoja de estilos como la siguiente:
#cabecera { background-color: #369; color: #FFF; } #contenidos h1, #contenidos h2 { color: #369; } a { color: #557E29; } span { background-color: #557E29; }
Los buenos diseñadores utilizan en sus trabajos un número muy reducido de colores que combinan entre sí de forma creativa para diseñar cada elemento de la página. De esta forma, en las hojas de estilos profesionales se repiten una y otra vez los mismos valores (colores comunes, por ejemplo). No obstante, CSS no es un lenguaje de programación, por lo que no permite definir variables para almacenar los valores que se utilizan constantemente.
Si el diseñador quiere modificar el color verde #557E29 de la hoja de estilos anterior, ¿cómo cambia todas las apariciones de ese color verde en la hoja de estilos? Modificarlo de forma manual es un proceso tedioso y demasiado lento. Afortunadamente, los editores de texto disponen de herramientas para sustituir un valor por otro, aunque tampoco es una solución óptima, ya que conlleva a errores.
Tags:
|
|
Modificado por última vez el: Miércoles, 15 de Septiembre de 2010 13:35, en
HTML & CSS
|
Autor: elGolem |
Jueves, 02 de Septiembre de 2010 12:54 |
|
El concepto de Patrón
Los [Patrónes de Diseño] (Design Patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño, como la arquitectura (que de hecho es de donde surge la idea). Un patrón de diseño ofrece una solución abstracta a un problema de diseño que aparece muy frecuentemente, y su adaptación a las prácticas de la Ingeniería de Software surge tras la tesis de [Erich Gamma], publicados en un libro que recoge no sólo su de?nición, sino todo un catálogo de PDs aplicables a la programación básica orientada a objetos, y que cubren la mayor parte de los pequeños problemas recurrentes que se plantean en el desarrollo de cualquier programa.
Su objetivo principal es promover y mejorar la Reutilización dentro del software, y acá ya no hablamos solo de reutilización de código, sino de diseños y de [arquitecturas software], lo que hoy en día significa la utilización de Frameworks o Marcos de Trabajo, que basicamente son un diseño reutilizable de toda o parte de la arquitectura de un sistema, un esqueleto de una aplicación, que debe ser adaptado a necesidades concretas por el programador.
Además de los patrones de diseño también existe el concepto de [Antipatrón de Diseño], que es semejante a la idea de un patrón, pero intenta prevenir contra errores comunes de diseño en el software. La idea de los antipatrones es dar a conocer los problemas que acarrean ciertos diseños muy frecuentes, para intentar evitar que diferentes sistemas acaben una y otra vez en el mismo callejón sin salida por haber cometido los mismos errores.
Tags:
|
|
Modificado por última vez el: Jueves, 09 de Septiembre de 2010 09:20, en
PHP
|
Autor: elGolem |
Lunes, 30 de Agosto de 2010 20:45 |
|
CONCEPTOS BÁSICOS:
Según [Vallecillo, Troya, & Fuentes, 2001], en este contexto entenderemos por sistema de aplicación a un conjunto de herramientas que permiten la creación e interconexión de componentes software, junto con una colección de servicios para facilitar las labores de los componentes que residen y se ejecutan en él.
Un sistema de aplicación se denomina independientemente extensible si puede ser dinámicamente extendido, y en donde pueden combinarse extensiones independientemente desarrolladas por distintas partes o entidades, sin conocimiento unas de otras.
Diremos que un sistema de aplicación es abierto si es concurrente, independientemente extensible, y permite a componentes heterogéneos ingresar o abandonar el sistema de forma dinámica. Estas condiciones implican que los sistemas abiertos son inherentemente evolutivos, y que la vida de sus componentes es más larga que la del propio sistema.
Así, la Programación Orientada a Objetos (POO) ha sido el sustento de la ingeniería del software para los sistemas de aplicación cerrados. Sin embargo, se ha mostrado insuficiente al tratar de aplicar sus técnicas para el desarrollo de aplicaciones en entornos abiertos.
|
|
Modificado por última vez el: Lunes, 30 de Agosto de 2010 21:48, en
POC
|
Autor: elGolem |
Lunes, 30 de Agosto de 2010 20:38 |
|
La clase Desktop:
Siempre hubo problemas para ejecutar archivos desde una aplicación en Java, hasta que salió la versión 6, la cual incluyó la clase Desktop, de integración con el entorno operativo. La clase Desktop forma parte de la librería AWT y permite a un programa escrito en Java lanzar aplicaciones externas asociadas a una URI o un archivo dentro del sistema operativo donde está corriendo.
Para ésto, solo es necesario obtener una instancia de Desktop dentro dentro de nuestra aplicación, previamente verificando que la clase esté soportada dentro del entorno operativo (Java 6 en adelante), y llamar al método estático open(), pasándole como parámetro la URI o el Path del archivo a ejecutar.
Vamos a mostrar esto con un poco de código.
Tags:
|
|
Modificado por última vez el: Jueves, 23 de Septiembre de 2010 12:19, en
Java
|
Autor: elGolem |
Jueves, 26 de Agosto de 2010 03:10 |
|
Este es un error muy común más que nada cuando Este articulo pertenece a elGolemtrabajamos con sesiones en PHP y puede hacernos perder horas de trabajo para encontrarle una solución.
Las funciones header(), setcookie(), y las funciones de sesión en PHP, como session_start(), necesitan agregar cabeceras HTTP al paquete con el contenido de la página que se envía al cliente, pero dichas cabeceras sólo pueden ser enviadas antes del resto del contenido.
Esto quiere decir que no puede haber Este articulo pertenece a elGolemninún tipo de salida antes de usar éstas funciones, ya sea mediante echo o imprimiendo código HTML directo. Es por ello que, si nos aparece un mensaje similar a este:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by...
Tags:
|
|
Modificado por última vez el: Jueves, 02 de Septiembre de 2010 13:55, en
PHP
|
Autor: elGolem |
Jueves, 26 de Agosto de 2010 00:51 |
|
Existe un hack en Joomla bastante conocido que nos permite visualizar las posiciones de los módulos dentro del template de una página directamente desde el frontend del sitio. Este articulo pertenece a elGolemEsto se consigue simplemente añadiendo ?tp=1 o &tp=1 al final de la url de nuestro sitio en Joomla.
Nos quedaría algo como http://sitioenjoomla.com/index.php?tp=1. El resultado que obtenemos es similar a esto:

Tags:
|
|
Modificado por última vez el: Lunes, 27 de Septiembre de 2010 20:08, en
Joomla
|
|
|