Quantcast
Channel: Planeta Linux Venezuela
Viewing all 1457 articles
Browse latest View live

Erick Birbe: Hacer Paquetes de Configuración para Debian

$
0
0
En este enlace de la wiki de Debian se encuentran reseñados varios consejos, herramientas y mejores prácticas que pueden servir para mejorar los paquetes de configuración de Canaima y para aquellas personas o instituciones que deseen personalizar su Canaima automatizando a través de paquetes la aplicación de sus configuraciones.

Jesus Palencia: Juegos en GNU/Linux

$
0
0

Hace poco un compañero de trabajo me comento que no usaba Linux porque en este no había buenos juegos así que para mostrarle que estaba equivocado me dispuse a hacer una lista (dividida en dos) de juegos que pueden instalarse en Linux.

Coloque un enlace a la web de cada juego para que puedan conocer los requerimientos de hardware y software para su ejecución.

Instalables vía el gestor apt

Instalables vía descarga

Si conocen algún otro juego que no este en esta lista, colócalo en los comentarios y lo añadiré apenas pueda, espero les gusten, saludos…


Tagged: juegos, linux

Xavier Araque: Nuevo sitio web – XavierAraque.com

$
0
0

xavieraraque.com

Saludos a todos ya hace un tiempo vengo trabajando en mi nuevo sitio web.

Pueden visitarlo ahora mismo desde: xavieraraque.com

También un blog/tumblr en el que publico algunos comentarios personales e imágenes blog.xavieraraque.com

Para quienes desean contactar conmigo en ambos sitios encontrarán los enlaces actualizados a mis redes sociales.

 

Este sitio quedará fuera de mantenimiento.

-Xavier-


Archivado en: Personal, Work

Jesus Palencia: Desktop-demo, un script para ejecutar múltiples escritorios simultaneamente

$
0
0

Hice este script para una demostración que tenia que hacer en una universidad de mi localidad pero debido a circunstancias ajenas a mi voluntad no pude utilizarlo, es por eso que en lugar de eliminarlo prefiero publicarlo aquí con la intención de que otra persona pueda utilizarlo.

Desktop-demo se diseño para correr en Ubuntu 14.04 y le permite instalar KDE, Gnome, Xfce y Virtualbox para luego ejecutarlos en una TTY independiente, pudiendo alternar entre ellos con Ctrl + Alt + F7.. F12

Su uso es bastante sencillo:

#./desktop-demo kde|gnome|unity|xfce|virtualbox|install 1-6

Puede descargar la última versión disponible desde su repositorio en github.

Referencias:


Tagged: desktop, script

Erick Birbe: Hacer Paquetes de Configuración para Debian

$
0
0
En este enlace de la wiki de Debian se encuentran reseñados varios consejos, herramientas y mejores prácticas que pueden servir para mejorar los paquetes de configuración de Canaima y para aquellas personas o instituciones que deseen personalizar su Canaima automatizando a través de paquetes la aplicación de sus configuraciones.

Miguel Ángel Useche: No te olvides de poner el WHERE en el DELETE FROM

$
0
0

Ya tengo mucho tiempo que no agrego nuevo contenido a mi sección de Música Geek y recordando que hace unos meses, un conocido borró los datos de una tabla en la base de datos al olvidar colocar el criterio para eliminar la información, por eso, les dejo ésta canción para que no olviden colocar el WHERE al usar el DELETE FROM.

Ernesto Crespo: Configurando un sitio estático con flask

$
0
0

Continuando con la serie de artículos sobre el microframework de desarrollo web flask, ahora se mostrará como crear un sitio estático.

Este artículo se basa en un artículo en inglés llamado Introduction to Flask, Part 1 - Setting up a static site.

Se usará el mismo archivo utilizado en los artículos anteriores (app.py), en este caso simplemente se agregará el decorador y la función que se va a usar que será para llamar una página de bienvenida.

Aparte del archivo app.py se necesita crear dos directorios, uno llamado templates el cual contendrá la plantilla html y el otro se llamará static que contendrá archivos estáticos como archivos css y archivos javascript.

ernesto@heimdall:~/proyectos/tutorialflask$ ls -l
total 12
-rw-r--r-- 1 ernesto ernesto  792 jun  7 20:56 app.py
drwxr-xr-x 2 ernesto ernesto 4096 jun  7 21:09 static
drwxr-xr-x 2 ernesto ernesto 4096 jun  7 21:10 templates

El archivo app.py tendrá la siguiente información adicional:

#Se agrega el renderizado de la plantilla

from flask import Flask,request,redirect,render_template









#Se usa el decorador ruta para ver el url bienvenido.


@app.route('/bienvenido')


#Se crea la funcion welcome que renderiza una plantilla html.


def welcome():


    return render_template('bienvenido.html')  # renderiza la plantilla bienvenido.html.






Ahora en el directorio templates se crea el archivo bienvenido.html con el siguiente contenido:



Se ejecuta la aplicación y se consulta el url http://127.0.0.1:5000/bienvenido


Ahora se usará un estilo que se llama bootstrap para descargarlo lo puede hacer desde el enlace. Al bajarlo y descomprimirlo copie los archivos bootstrap.min.css y bootstrap.min.js al directorio static, como se muestra a continuación:
ernesto@heimdall:~/proyectos/tutorialflask$ ls -l static/
total 132
-rw-r--r-- 1 ernesto ernesto 99961 feb 13 12:54 bootstrap.min.css
-rw-r--r-- 1 ernesto ernesto 29110 feb 13 12:54 bootstrap.min.js


A continuación se muestra los nuevos cambios a la plantilla bienvenido.html para que use los archivos mencionados anteriormente.

Ahora se abre el navegador al url http://127.0.0.1:5000/bienvenido y se obtiene lo que muestra la siguiente figura:

Jesus Palencia: Instalar Firefox Developer Edition en Debian

$
0
0

Hace poco Mozilla lanzó una versión de su navegador Firefox orientado al uso por parte del desarrollador web, su instalación es bastante sencilla, solo deben seguir los siguientes pasos:

  • Descargamos el paquete desde aquí.
  • Descomprimimos el archivo usando uno de estos comandos:
tar -jvxf archivo.tar.bz2

ó este

bzip2 -dc archivo.tar.bz2 | tar -xv
  •  Luego de descomprimir el archivo lo copiamos con el siguiente comando:
# cp -r firefox /usr/lib
  • Luego creamos un enlace simbólico y le damos permiso de ejecución:
# ln -s /usr/lib/firefox/firefox /usr/bin/Fx10
# chmod a+x /usr/bin/Fx10

Listo, ya podemos ejecutar Firefox Developer Edition en nuestro Debian.


Tagged: debian, firefox

Jesus Palencia: Instalar Prey en Debian y derivados

$
0
0

Prey es una herramienta de código abierto que te permite seguir el rastro de tu laptop, tableta o móvil cuando los has perdido mediante el uso del GPS y la WiFi, también nos permite bloquear el dispositivo y activar la cámara para tomar una foto de la persona que esta utilizando dicho dispositivo, esta disponible para Linux, Android, iOS, Mac y Windows.

En esta oportunidad veremos el procedimiento para instalar Prey en Debian y derivados.

  • Creamos una cuenta en la página de Prey.
  • Abrimos un terminal (como root) e instalamos las dependencias necesarias.
# apt install scrot curl streamer mpg123 giblib1 xawtv-plugins libimlib2 libid3tag0 libmpg123-0 libcurl3
  • Luego descargamos el paquete correspondiente a nuestra distribución desde aquí (Para Debian y Mint recomiendo bajar el .deb para Ubuntu)
  • Abrimos un terminal (como root) e instalamos el paquete con el siguiente comando.
# dpkg -i *.deb
  •  Al finalizar se nos abrirá una ventana solicitando nuestra cuenta y listo…

Espero les sea útil…

Referencias:


Tagged: monitoreo, prey

Jesus Palencia: Complementos para hacer Firefox mas seguro y útil

$
0
0

Firefox es uno de los navegadores mas utilizados para surfear la web en la actualidad, posee una multitud de funciones que nos ayudan a navegar de una manera mas cómoda y segura, además de la posibilidad de agregar complementos para modificar el comportamiento de Firefox de acuerdo a nuestras necesidades.

Estos complementos pueden descargarse desde distintas fuentes, aunque se recomienda instalar solo elementos provenientes de la web de Mozilla.

Acá les dejo una pequeña lista de complementos que he utilizado y recomiendo.

  • https everywhere (obliga a usar HTTPS si esta disponible)
  • downthemall (un poderoso gestor de descargas)
  • adblock plus (bloquea la publicidad y evita el rastreo)
  • duck duck go (agrega duck duck go como buscador)
  • fastestfox (navegue más rápido acelerando tareas comunes)
  • self destructing cookies (evite el rastreo destruyendo los cookies tan pronto se cierra una pestaña o ventana)
  • noscript (desactiva los script incrustados en una web)
  • foxyproxy (es una herramienta de administración de proxies avanzada)
  • wot (averigua de manera instantánea qué sitios web son fiables)
  • feedly (un poderoso lector de feeds)
  • greasemonkey (permite personalizar la apariencia y funcionalidad de una web mediante JavaScript)
  • privacy badger (bloquea el rastreo que ejecutan algunos sitios) (BETA)

NOTA: La mayoría de estos complementos pueden ser utilizados en Iceweasel sin ningún problema.


Tagged: firefox

Miguel Ángel Useche: Seminario: Tendencias en servicios y aplicaciones Web

$
0
0

En la tarde de los próximos 15 y 16 de diciembre se realizará en la ciudad de San Cristóbal, Táchira. Un seminario sobre: Tendencias en servicios y aplicaciones Web organizado por la XXIV promoción de Ingeniería en Informática de la Universidad Experimental del Táchira.

La temática del evento es sobre el desarrollo y tecnologías web, con diversas ponencias dictadas por profesores de la institución, profesionales en el área, voluntarios y representantes de Mozilla Venezuela. Con tan solo una colaboración de Bs.200 podrás ver los siguientes temas:

Lunes 15 de diciembre de 2014

  • Últimas tecnologías en la web por Miguel Useche.
  • Mercadeo efectivo en la web por María Leandro.
  • Herramientas y recursos para desarrolladores en Mozilla Firefox por Arturo Martínez.
  • Infraestructura de servicios en la nube Msc. Javier Maldonado.

Martes 16 de diciembre de 2014

Seminario: Tendencias en servicios y aplicaciones Web

Afiche del evento con toda la información necesaria

Así que te esperamos para disfrutar de 2 tardes de aprendizaje sobre desarrollo web.

Jesus Palencia: Mejora el rendimiento de Firefox moviendo el caché a RAM

$
0
0

Hoy les voy a hablar de sobre un pequeño truco que podemos utilizar para hacer nuestros navegador Firefox aun mas rápido, para ello desplazaremos el caché del navegador desde el disco duro a la memoria RAM, esto se lograr de diferentes maneras, la primera y mas sencilla es la recomendada para usar en Windows.

Abrimos el navegador y en la barra de direcciones escribimos about:config, marcamos la casilla para poder continuar, en la pagina que nos carga hay una barra de filtro en la parte superior, allí escribimos browser.cache.disk.enable, en la opción que nos aparece haremos clic haremos y seleccionamos modificar para que el valor cambie de True a False

Lo siguiente es ubicar la opción browser.cache.memory.enable y verificar que se encuentre en True. En caso de que no sea así la puedes modificar haciendo clic derecho, ahora buscamos el valor browser.cache.disk.capacity y lo modificamos para que tenga el valor -1

Luego de reiniciar el navegador podremos disfrutar de esta optimización.

El segunda forma de mover el caché a la RAM, se logra creando un directorio temporal en RAM y alojamos allí el caché, solo debemos ejecutar el siguiente comando (sustituyendo la palabra user por su nombre de usuario)

$ sudo echo "tmpfs /home/user/.cache tmpfs noexec,nosuid,noatime,nodev 0 0" >> /etc/fstab

Luego reiniciamos el equipo y listo, hay que destacar que en ambos casos al reiniciar el equipo el contenido del caché se pierde y la próxima vez que utilicemos el navegador deberemos tendrán que descargarse los archivos para recrear el caché.

NOTA: Estas modificaciones también pueden ser implementadas en Iceweasel sin ningún problema.


Tagged: firefox, iceweasel, optimizaciones, tmpfs

Jesus Palencia: Añadir soporte para Tor en Apt con apt-transport-tor

$
0
0

Para aquellos que quieren mantener su privacidad incluso a la hora de actualizar su sistema existe una pequeña herramienta que nos permite descargar paquetes con apt a través de tor.

Su instalación es bastante sencilla, solo hace falta ejecutar el siguiente comando.

# apt install apt-transport-tor

Ahora abrimos el archivo /etc/apt/sources.list y lo modificamos para que quede de la siguiente forma.

deb     tor+http://http.debian.net/debian <version> main
deb-src tor+http://http.debian.net/debian <version> main

Se recomienda el uso de http.debian.net para seleccionar automáticamente el nodo de salida mas cercano a usted.

Adicionalmente se pueden realizar conexiones a repositorios dentro de la red tor agregándolos al /etc/apt/sources.list de la siguiente forma (hasta donde tengo conocimiento todavía no existen repositorios confiables para Debian dentro de tor)

deb     tor+http://<long string>.onion/debian <version> main
deb-src tor+http://<long string>.onion/debian <version> main

Después de realizar las modificaciones correspondientes podrá utilizar apt de la manera que siempre lo hace, teniendo en cuenta que habrá una pequeña reducción en la velocidad. Saludos…

Referencias:


Tagged: apt, tor

Kenner Roa: Turla, un potente troyano para Linux

$
0
0
Está Escrito:
Reconócelo en todos tus caminos,Y él enderezará tus veredas.(Proverbios 3:6)
Tomado de: BarraPunto
«Investigadores de Kapersky y Symantec han descubierto un troyano extremadamente discreto, imposible de detectar mediante el comando netstat y que puede ser ejecutado por un usuario sin privilegios denominado Turla. Al parecer se ha estado usando durante, al menos, cuatro años para espiar a gobiernos, embajadas, instituciones militares y compañías farmacéuticas por igual en cerca de medio centenar de países. El troyano tiene capacidad de comunicarse con los servidores bajo el control de los atacantes, interceptar datos locales y ejecutar funciones sin necesidad de privilegios de administrador. No se descarta que puedan surgir descubrimientos de malware semejantes a medida que avance la investigación. ¿Y tú, ya has instalado un antivirus en tu Linux para buscar troyanos ocultos?»
Los investigadores han descubierto un troyano extremadamente sigiloso para sistemas Linux que los atacantes han estado usando para desviar los datos sensibles de los gobiernos y las empresas farmacéuticas de todo el mundo.
El malware no habían sido descubiertos representa una pieza del rompecabezas que falta vinculada a "Turla," una llamada amenaza persistente avanzada (APT) da a conocer en agosto por Kaspersky Lab y Symantec . Por lo menos cuatro años, la campaña estaba dirigida a las instituciones gubernamentales, embajadas, militar, educación, investigación y compañías farmacéuticas en más de 45 países. Los atacantes desconocidos -que probablemente están respaldados por un Estado-nación, de acuerdo con Symantec, eran conocidos por haber infectado a varios cientos de equipos basados ​​en Windows mediante la explotación de una variedad de vulnerabilidades, al menos, dos de los cuales eran errores de día cero. El malware fue notable por su uso de un rootkit que hacía extremadamente difícil de detectar.
Ahora los investigadores de Kaspersky Lab con sede en Moscú han detectado malware basado en Linux se utiliza en la misma campaña . Turla ya estaba clasificado como uno de los apartamentos de alto nivel, en la misma liga que la divulgada recientemente Regin por ejemplo. El descubrimiento del componente Linux sugiere que es más grande de lo que se pensaba y puede presagiar el descubrimiento de sistemas aún más infectados.
"Los [] Turla operaciones se llevan a cabo en entornos más amplios de lo que previamente conocíamos", dijo a expertos de Kaspersky Lab Kurt Baumgartner Ars. "Todas las otras cosas que hemos visto de Turla se ha basado en Windows. Esta pieza del rompecabezas nos muestra que no se limitan a sí mismos."

Magic Numbers

Al igual que sus homólogos de Windows, el troyano Linux es extremadamente cauteloso. No se puede detectar usando el común comando netstat . Para ocultarse, la puerta trasera se encuentra en estado latente hasta que los atacantes envían paquetes inusualmente diseñados que contienen "números mágicos" en sus números de secuencia. El malware puede haber permanecido inadvertida en al menos un ordenador de la víctima durante años, aunque los investigadores de Kaspersky Lab aún no han confirmado esa sospecha. El troyano es capaz de ejecutar comandos arbitrarios a pesar de que no requiere privilegios de sistema elevados.
"Es una pieza muy interesante de código", dijo Baumgartner. "No sólo se ejecuta en Linux, pero no se puede detectar en la forma habitual."
Incluso un usuario normal con privilegios limitados puede lanzarlo, lo que le permite interceptar los comandos de tráfico y de ejecución en las máquinas infectadas. Las capacidades incluyen la habilidad de comunicarse con los servidores bajo el control de los atacantes y funciones que permiten a los atacantes ejecutar comandos de su elección y llevar a cabo la administración remota.
Incluso después de su descubrimiento, el componente de Linux sigue siendo un misterio. El archivo ejecutable subyacente está escrito en los lenguajes C++ y C y contiene código de bibliotecas previamente por escrito, una propiedad que da el archivo autosuficiencia malicioso. El código también es despojado de información de símbolos, lo que hace difícil para los investigadores realizar ingeniería inversa o analizar. Como resultado, Baumgartner dijo el troyano puede tener capacidades que aún no han sido descubiertas.
Los administradores que deseen comprobar si los sistemas Linux infectados por Turla pueden comprobar el tráfico de salida para las conexiones con news-bbc.podzone[.]org o 80.248.65.183, que son las direcciones de los canales de mando y de control conocidos codificado en el troyano Linux. Los administradores también pueden crear una firma usando una herramienta llamada YARA que detecta las cadenas  "TREX_PID=%u" y "Remote VS is empty !"
Dado el poder y el sigilo de la puerta de atrás, sin mencionar su conexión con una de las campañas de espionaje más sofisticados descubiertos hasta la fecha, no sería sorprendente que el descubrimiento para abrir la puerta a los descubrimientos de más infecciones o componentes de malware.
"La investigación está en curso", dijo Baumgartner. "Quiero suponer en algún momento esto va a tender un puente a otro hallazgo debido a la forma en que se utiliza esta puerta trasera."

Erick Birbe: Hacer Paquetes de Configuración para Debian

$
0
0
En este enlace de la wiki de Debian se encuentran reseñados varios consejos, herramientas y mejores prácticas que pueden servir para mejorar los paquetes de configuración de Canaima y para aquellas personas o instituciones que deseen personalizar su Canaima automatizando a través de paquetes la aplicación de sus configuraciones.

Jesus Palencia: Usa tmpfs para acelerar el rendimiento de tu GNU/Linux

$
0
0

Tmpfs es el nombre que recibe un sistema de almacenamiento en muchos sistemas operativos de tipo Unix. Aparece como un sistema de archivos montado, aunque usa memoria volátil. Es similar a los discos RAM, que aparecen como discos virtuales y pueden contener sistemas de archivos.

Como los datos están principalmente en memoria volátil, las velocidades para realizar operaciones en tmpfs son generalmente mucho mayores en comparación a un sistema de archivos en otros dispositivos de almacenamiento como discos rígidos.

Por usar memoria volátil, los datos en tmpfs no persisten después de reiniciar el sistema, muchas distribuciones de Linux tienen habilitado y usan tmpfs montado por defecto en /tmp.

Ahora que sabemos que es tmpfs podemos utilizarlo para acelerar nuestro GNU/Linux montando en RAM algunos directorios.

El directorio que comúnmente se utiliza como tmpfs es /tmp aunque se pueden utilizar otros dependiendo de nuestras necesidades, para hacerlo ejecutamos el siguiente comando como root.

# echo "tmpfs /tmp tmpfs noexec,nosuid,sync,noatime,size=2G,nodev 0 0" >> /etc/fstab

Como se puede observar en el ejemplo anterior el punto de montaje es similar a cualquier otro punto de montaje en el fstab, ahora explicaré un poco algunas de las opciones del punto de montaje.

  • noexec: No se podrá ejecutar nada dentro del directorio tmpfs.
  • nosuid: Evita que el bit setuid se aplique a los archivos dentro del directorio tmpfs.
  • sync: Indica que los procesos de escritura/lectura serán sincrónicos.
  • noatime: No actualiza el inode con el tiempo de acceso al filesystem dentro del tmpfs.
  • size: Indica el tamaño máximo del tmpfs (en este caso 2 gigas)(si no se especifica el tmpfs tendrá como límite el 50% de la RAM)
  • nodev: Impide la interpretación de los dispositivos especiales o de bloques del sistema de archivos.

El directorio /tmp no es el único que puede montarse con un tmpfs, por eso les dejo una lista de los directorios que pueden utilizarse con este método.

  • /var/tmp
  • /var/cache/apt/archives
  • /var/cache/samba
  • /var/spool
  • /var/log (no se recomienda si deseas mantener los logs)
  • /home/nombredeusuario/.cache
  • /home/nombredeusuario/.thumbnails

Referencias:


Tagged: linux, optimizaciones, tmpfs

Jesus Palencia: Únete a GridRepublic y ayuda a salvar el mundo

$
0
0

En un mundo donde cada vez estamos mas conectados no es de extrañar que aparezcan iniciativas como GridRepublic, un administrador de cuentas para BOINC que nos permite gestionar nuestras cuentas en los diferentes proyectos en los que participamos de una manera sencilla pero manteniendo el control sobre los diferentes computadores afiliados a nuestros proyectos.

En el post Instalar BOINC en Debian y derivados se explicó la instalación de BOINC que nos permite ceder potencia del ordenador a diversas investigaciones en pro de la humanidad (cuando no se está usando la PC), actualmente los proyectos listados en GridRepublic tienen a su disposición una capacidad de calculo de 16490 Tflops, siendo esta cantidad superior a la capacidad de computo de “K computer” ubicado en el cuarto puesto del top 500 de super computadores del mundo.

Existen multitud de proyectos esperando por tu colaboración, entre los mas destacados se encuentran:

  • Rosetta@home se dedica al estudio de curas para enfermedades humanas mediante proteínas.
  • Climateprediction.net realiza modelos sobre el cambio climático.
  • LHC@home ayuda a procesar la enorme cantidad de datos generados en el CERN.
  • World Community Grid un proyecto de IBM para realizar investigaciones sobre el cáncer y enfermedades relacionadas con el ADN.

¿Qué esperas? crea tu cuenta en GridRepublic y pon tu granito de arena colaborando con cualquiera de los proyectos disponibles.

Referencias:


Tagged: boinc, colaborar, grid

Jesus Palencia: Tor Browser un derivado de Firefox para navegar de manera anónima en la red

$
0
0

Hoy les hablaré de un navegador que poco ha poco se ha ganado un lugar entre los grandes, se llama Tor Browser y usa como base el código de Firefox ESR ligeramente modificado para incorporar a Tor, asegurando que podamos navegar de manera anónima por la web pero con todos los beneficios del navegador Firefox.

Su instalación en Linux no es complicada, en el caso de Ubuntu/Mint solo hay que agregar un PPA y luego instalar mediante Apt.

# add-apt-repository ppa:webupd8team/tor-browser
# apt update
# apt install tor-browser

En el caso de otras distribuciones el procedimiento es el siguiente.

  • Descargamos el paquete correspondiente a nuestro idioma desde aquí.
  • Descomprimimos el paquete de la siguiente forma para 32 bits.
tar -xvJf tor-browser-linux32-4.0.2_LANG.tar.xz
  • O de esta forma para 64 bits.
tar -xvJf tor-browser-linux64-4.0.2_LANG.tar.xz
  • Luego abrimos un terminal e ingresamos a la carpeta donde descomprimimos y ejecutamos el navegador de la siguiente forma.
./start-tor-browser

Como pueden observar su instalación es bastante sencilla; cabe destacar que existen distribuciones que traen Tor Browser por defecto, algunos de los ejemplos más conocidos son Tails y Whonix.

Referencias:

 


Tagged: firefox, tor

Erick Birbe: Bajar/Subir volumen desde la terminal de Linux

$
0
0
En este artículo haré un resumen de algunos pasos que realicé para configurar el audio de una máquina con Canaima GNU/Linux, de tal modo que cada vez que el usuario inicie su sesión el audio esté con volumen alto. No estoy muy de acuerdo con ese lógica de iniciar con el volumen siempre alto pero […]

Milton Mazzarri: The DRY principle

$
0
0

The DRY (Don’t Repeat Yourself) principle it basically consist in the following:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

That said, it’s almost clear that the DRY principle is against the code duplication, something that in the long term affects the maintenance phase, it doesn’t facilitate the improvement or code refactoring and, in some cases, it can generate some contradictions, among other problems.

Recently I have inherited a project, and one of the things that I noticed in some part of the source code are the following:

After a glance, you can save some bytes and apply the facade and module pattern without breaking the API compatibility in this way:

But, if you have read the jQuery documentation it’s obvious that the previous code portions are against the DRY principle, basically, this functions expose some shorthands for the $.ajax method from the jQuery library. That said, it’s important to clarify that jQuery, from version 1.0, offers some shorthands, they are: $.get(), $.getJSON(), $.post(), among others.

So, in this particular case, I prefer to break the backward compatibility and delete the previous code portions. After that, I changed the code that used the previous functions and from this point I only used the shorthands that jQuery offers, some examples may clarify this thought:

Another advantage of using the shorthand methods that jQuery provides is that you can work with Deferreds, one last thing that we must take in consideration is that jqXHR.success() and jqXHR.error() callback methods are deprecated as of jQuery 1.8.

Anyway, I wanted to share my experience in this case. Also, remark that we need to take care of some principles at the moment we develop software and avoid to reinvent the wheel or do overengineering.

Last but not least, one way to read offline documentation that I tend to use isDash or Zeal, I can access a bunch of documentation without the need of an Internet connection, give it a try!

The DRY principle was originally published by Milton Mazzarri at milmazz on June 25, 2014.

Viewing all 1457 articles
Browse latest View live