People Aggregated

FeedRSSLast fetchedNext fetched after
ajolo2ky XML 2017-12-11 2017-12-11
Bizarre cronjobs XML 2017-12-11 2017-12-11
Chownealo - Chownealo XML 2017-12-11 2017-12-11
Comentarios para openqube XML 2017-12-11 2017-12-11
Deploshark - Tech Blog XML 2017-12-11 2017-12-11
Desarrollo y Linux XML 2017-12-11 2017-12-11
Diario de una vida frente a la PC XML 2017-12-11 2017-12-11
Electro Fun XML 2017-12-11 2017-12-11
EpelByte.com XML 2017-12-11 2017-12-11
Geeks at Netsecure XML 2017-12-11 2017-12-11
Gentooligan XML 2017-12-11 2017-12-11
La odisea de trabajar en las ITs argentinas XML 2017-12-11 2017-12-11
Luis Zambrana XML 2017-12-11 2017-12-11
Netsecure Tech Blog XML 2017-12-11 2017-12-11
pablokbs XML 2017-12-11 2017-12-11
sysarmy --help - Preguntas recientes XML 2017-12-11 2017-12-11
sysarmy blog XML 2017-12-11 2017-12-11
Wibidei's Sysadmin Blog XML 2017-12-11 2017-12-11

Microblogging from KDE

help

[2017-12-11] [email protected]:~$ cat Mejorar rendimiento ceph

Buenos días, me encuentro instalando un cluster de ceph.

En escencia son 5 nodos para OSD con 4 discos c/u (WD black 2tb SATA), y 3 nodos para monitor, metadata y manager.

Actualmente me entrega una tasa de transferencia de alrededor de 60MB/s, si bien no es mala, entiendo que en una red de giga se podría mejorar.

Tengo acceso a discos SSD, pero no para el volumen de datos que se quiere manejar...

La consulta es, como me convendría utilizar estos discos? Yo había pensado en ponerlos como cache, pero leí que no era recomendable... Alguno me podría ayudar?

Saludos y muchas gracias

Juan

2017-12-11 // help


luiszambrana

[2017-12-08] [email protected]:~$ cat Raspberry pi 3 para controlar motores paso a paso

En esta entrada les voy a mostrar como aprendí a usar mi Raspberry pi 3 para controlar motores paso a paso

Raspberry pi 3 para controlar motores paso a paso

Lo primero que vamos a hacer es conseguir un motor del que se ve en la imagen anterior el cual es un 28BYJ-48 que ronda en los 100 pesos según donde lo compremos y cantidades obviamente.

Para controlar cada una de las fases utilizaremos el integrado ULN2803, que nos proporciona 8 salidas en colector abierto controladas por 8 entradas digitales. Aunque también lo podemos hacer con ULN2003 que permite solo 7 elementos.

El motor 28BYJ-48 es un motor de 4 fases en el que se requieren de 512 pasos para que éste de una vuelta. Entonces podemos decir que este motor se controla mediante 5 cables:

  • 5V
  • Fase 1
  • Fase 2
  • Fase 3
  • Fase 4

Paso simple: Consiste en activar uno a uno los pines del módulo y por cada repetición se dará un paso en el motor. No se recomienda del todo ya que el motor tiene menos fuerza que con el paso doble.

Paso doble: Activa los pines en pares consecutivos, es el recomendado para los motores de 4 fases ya que genera buen torque y permite un movimiento rápido del motor.

Medio paso: Activa los pines en medios pasos, recomendado para tener mayor precisión en el movimiento, aunque es un poco más lento tiene todavía mejor torque que el modo anterior.

Las diferentes conexiones son:

ULN2803

ULN2003

Ahora que tenemos todo conectado vamos a ingresar por ssh a nuestra raspberry e instalar los paquetes necesarios para realizar una pequeña aplicación en python que nos permita mover el motor.

sudo apt-get install python-dev python-rpi.gpio

Este motor puede ser accionado de dos maneras:

  • Accionamiento por 4 pasos.
  • Accionamiento por 8 pasos ( 4 pasos y 4 medios pasos).

Accionamiento por 4 pasos:

Las bobinas se excitan por parejas.

Accionamiento por 8 pasos:

Se alternan parejas con bobinas solas. Con este método se consigue mayor precisión, pero menor velocidad y par.

Como ejemplo realizaremos una aplicación en Python que controle el motor en ambas modalidades. Para ello crearemos un fichero llamado unblogenapuros.py

nano unblogenapuros.py

y dentro vamos a poner este código:

##Gracias por visitar unblogenapuros##
##Los espero en www.luiszambrana.com.ar

import time
import sys
import RPi.GPIO as GPIO


def step_8 (p):
    
    if p==0:
            GPIO.output(5,0)
            GPIO.output(6,0)
            GPIO.output(12,0)
            GPIO.output(13,0)

    if p==1:
            GPIO.output(5,1)
            GPIO.output(6,0)
            GPIO.output(12,0)
            GPIO.output(13,0)
             
    if p==2:
            GPIO.output(5,1)
            GPIO.output(6,1)
            GPIO.output(12,0)
            GPIO.output(13,0)
             
    if p==3:          
            GPIO.output(5,0)
            GPIO.output(6,1)
            GPIO.output(12,0)
            GPIO.output(13,0)
    if p==4:
            GPIO.output(5,0)
            GPIO.output(6,1)
            GPIO.output(12,1)
            GPIO.output(13,0)
    if p==5:
            GPIO.output(5,0)
            GPIO.output(6,0)
            GPIO.output(12,1)
            GPIO.output(13,0)
    if p==6:
            GPIO.output(5,0)
            GPIO.output(6,0)
            GPIO.output(12,1)
            GPIO.output(13,1)
    if p==7:
            GPIO.output(5,0)
            GPIO.output(6,0)
            GPIO.output(12,0)
            GPIO.output(13,1)
    if p==8:
            GPIO.output(5,1)
            GPIO.output(6,0)
            GPIO.output(12,0)
            GPIO.output(13,1)
def step_4 (p):
    
    if p==0:
            GPIO.output(5,0)
            GPIO.output(6,0)
            GPIO.output(12,0)
            GPIO.output(13,0)

    if p==1:
            GPIO.output(5,1)
            GPIO.output(6,1)
            GPIO.output(12,0)
            GPIO.output(13,0)
             
    if p==2:
            GPIO.output(5,0)
            GPIO.output(6,1)
            GPIO.output(12,1)
            GPIO.output(13,0)
             
    if p==3:          
            GPIO.output(5,0)
            GPIO.output(6,0)
            GPIO.output(12,1)
            GPIO.output(13,1)
    if p==4:
            GPIO.output(5,1)
            GPIO.output(6,0)
            GPIO.output(12,0)
            GPIO.output(13,1)
    

def steps_8(value):
    print value
    global pas
    if(value<0):
        for i in range (0,abs(value)):
            step_8(pas)
            time.sleep(0.005)
            pas+=1
            if(pas>=9):
               pas=1;
   
    else:
        for i in range (0,abs(value)):
            step_8(pas)
            time.sleep(0.005)
            if(pas==1):
               pas=9;
            pas-=1
    step_8(0)        
def steps_4(value):
    print value
    global pas
    if(value<0):
        for i in range (0,abs(value)):
            step_4(pas)
            time.sleep(0.005)
            pas+=1
            if(pas>=5):
               pas=1;
   
    else:
        for i in range (0,abs(value)):
            step_4(pas)
            time.sleep(0.005)
            if(pas==1):
               pas=5;
            pas-=1
    step_4(0)        

 


if __name__ == "__main__":             

     GPIO.setmode(GPIO.BCM)
     GPIO.setwarnings(False)
     GPIO.setup(5, GPIO.OUT)
     GPIO.setup(6, GPIO.OUT)
     GPIO.setup(12, GPIO.OUT)
     GPIO.setup(13, GPIO.OUT)
     
     step_4(0)
     pas=1       
     print len(sys.argv)
     if(len(sys.argv)<2):
       print ("Error en parametro")
       print ("Use: sudo python steeper.py val mode")
       print ("val = step number >0clockwise, <0 anticlockwise ")
       print ("mode = 0: 8 pasos   2: 1 paso ")
     else:
       st=int(sys.argv[1])
       if(len(sys.argv)==3 and sys.argv[2]=="1"):
          print("8 pasos")
          steps_8(st)
       else:
          print("4 pasos")
          steps_4(st)

Al lanzar la aplicación le pasaremos al menos un parámetro, que es el número de pasos a realizar, con signo para determinar el sentido de giro. Si además añadimos un “1” como segundo parámetro, el motor funcionará en modo “8-pasos”, para cualquier otro valor trabajará en “4-pasos”.

Ejemplos para lanzar en la terminal:

sudo python unblogenapuros.py -300 0

Con este ejemplo lo que hacemos es como administrador ejecutamos el script que dará en sentido contrario a las vueltas del reloj 300 vueltas en el modo 4 pasos.

 

sudo python unblogenapuros.py 500 1

Con este ejemplo lo que hacemos es como administrador ejecutamos el script que dará en sentido de las agujas del reloj 500 vueltas en el modo 8 pasos.

En adafruit van a encontrar muchos tutoriales (en ingles) de raspberry como por ejemplo para controlar un servo motor: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-8-using-a-servo-motor

No dejen de visitar el blog de raspberry en español

IMPORTANTE:

Si te gusta el mundo de las #Raspberry y queres subir tus propios tutoriales gratuitos y con código fuente libre te invito a comentar para poder contactarte, chequear tu proyecto y subirlo bajo tu autoria a #UnBlogEnApuros

Telegram-UnBlogEnAPuros

La entrada Raspberry pi 3 para controlar motores paso a paso aparece primero en Luis Zambrana.

2017-12-08 // luiszambrana


root

[2017-12-06] [email protected]:~$ cat Cómo funciona Netflix: el complejo proceso (en términos sencillos) que se pone en marcha cada vez que reproducís un video

Artículo original en inglés: https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b

Hace poco volvió Stranger Things con su segunda temporada y se puso fin a la larga espera que tenía en vilo a todos los amantes de la ciencia ficción. Para estas personas, empezar una maratón es algo tan sencillo como disponer de un dispositivo o un control remoto, abrir la aplicación de Netflix y apretar “Reproducir”. Una gratificación sencilla, rápida e instantánea.

Lo que no resulta tan sencillo es todo el proceso que se pone en marcha al ejecutar Netflix, un servicio que transmite alrededor de 250 millones de horas de video por día a 98 millones de suscriptores en 190 países. En este contexto, ofrecer entretenimiento de calidad en cuestión de pocos segundos a cada usuario no es cualquier cosa. Y, si bien se traduce en crear una infraestructura de primera categoría a una escala nunca antes vista en un servicio de Internet, también implica que hay que negociar y mantener contentos a todos los participantes de esta experiencia, desde las empresas de producción que distribuyen el contenido, hasta los proveedores de Internet que tienen que hacer frente al intenso tráfico en la red generado por Netflix.

A continuación, en pocas palabras y en los términos más simples, te contamos cómo funciona Netflix.


https://cdn-images-1.medium.com/max/2000/1*m-o7evqHtUhWO2Muv71Eww.png        Dave Hahn, Sr. Engineer del Departamento de Cloud Operations & Reliability Engineering de Netflix, muestra la arquitectura completa de la empresa en un diagrama de flujo. (Amazon Web Services/YouTube)

 

Cientos de microservicios englobados en un servicio gigante

Para comprender cómo se estructura Netflix desde el punto de vista tecnológico, lo vamos a ilustrar con un ejemplo.

Vamos a suponer que la aplicación Mapas de tu celular rastrea tu ubicación todo el tiempo y guarda información compleja sobre los lugares a los que vas en un archivo, ubicaciones.txt. A su vez, creás una aplicación a la que llamás LocoList que, si Mapas está instalada en tu teléfono, levanta el archivo ubicaciones.txt y muestra todos los lugares grabados en ese archivo como una lista sencilla. Funciona sin el más mínimo error.

Bien, digamos ahora que los desarrolladores de Mapas se dan cuenta de que es mejor guardar esa información en un lugar diferente y lanzan una actualización que ya no crea ni guarda el archivo ubicaciones.txt en tu teléfono. De esta manera, LocoList ya no puede localizar este archivo del que depende toda su información y tampoco existe otra manera en que pueda extraer la información desde Mapas. LocoList deja de funcionar. Fuiste.

Todo el tiempo invertido en LocoList se fue al tacho porque un cambio que se realizó en Mapas dejó inservible a tu aplicación. Si bien a esta escala no parece un asunto grave, si lo pasamos a la escala de un servicio enorme como Netflix, que la aplicación entera quede en desuso porque se realizó un cambio no solo puede arruinarle la experiencia a los usuarios, también significa que hay que reescribir el resto de las partes de la aplicación para adaptarse a ese pequeño cambio que realizaste. Esta estructura es lo que llamamos arquitectura monolítica.

Netflix marcó literalmente el inicio de una revolución hace diez años al reescribir las aplicaciones que ejecutan la totalidad del servicio bajo una arquitectura de microservicios, lo que implica que cada aplicación, o el código y los recursos de cada microservicio, son independientes. Por principio, no comparten el código con otras aplicaciones. Entonces, cuando dos aplicaciones necesitan comunicarse, usan una interfaz de programación de aplicaciones (API, por sus siglas en inglés), un conjunto de reglas muy controladas que los dos programas pueden manejar. De esta forma, los desarrolladores pueden hacer numerosos cambios en cada aplicación, sean mínimos o exhaustivos, siempre y cuando se aseguren de que se respeta la API. Dado que los programas conocen bien la API del otro, las modificaciones no van a interrumpir el intercambio de información.

Netflix estima que utiliza alrededor de 700 microservicios para controlar cada una de las numerosas partes que conforman la totalidad del servicio: un microservicio guarda todos los programas que viste, otro debita la suscripción mensual de tu tarjeta de crédito, otro le brinda a tu dispositivo los archivos de video correctos para que pueda reproducirlos, otro evalúa tu historial de programas vistos y usa algoritmos para generar una lista de películas que te pueden gustar, otro te brinda los nombres y las imágenes de esas películas para que se vean en una lista en el menú principal. Y esto es tan solo la punta del iceberg. Los ingenieros de Netflix pueden modificar cualquier parte de la aplicación para introducir cambios nuevos de forma rápida y sin que ninguna otra parte del servicio se interrumpa.

En conclusión ¿por qué una arquitectura de microservicios es tan importante para Netflix? Bien, estos son los resultados obtenidos gracias a elegir esta arquitectura:

https://cdn-images-1.medium.com/max/2000/1*d05iD2iYngxNlcbp9alkCg.png

Amazon Web Services/YouTube

Cientos de microservicios, miles de cambios diarios en la producción, decenas de miles de instancias, cientos de miles de interacciones de clientes por minuto, millones de clientes, mil millones de métricas, diez mil millones de horas de visualización. Una decena de ingenieros de operaciones.

https://cdn-images-1.medium.com/max/2000/0*kS4OWH9ZE8lp3qv5.jpgUn Datacenter en Frankfurt, Alemania. (Nils Juenemann/nilsjuenemann.de)

¿Dónde se ejecutan todos estos microservicios?

Para que todo esto funcione se necesita una red masiva de servidores. En el pasado eran propiedad de Netflix, pero dado el paso vertiginoso con el que crecían y sumado a la necesidad de dar continuidad a ese crecimiento, llegaron a la conclusión de que las cosas se iban a complicar si se abocaban a construir sistemas informáticos capaces de dar soporte a su software, con el consiguiente trabajo de correcciones y modificaciones para adaptarlos a sus necesidades. Por lo tanto, tomaron la valiente decisión de deshacerse del mantenimiento de sus servidores y subieron toda la información a la nube. O sea, todo se ejecuta desde servidores externos que se hicieron cargo del mantenimiento del hardware, lo que le permitió a los ingenieros de Netflix crear cientos de programas e instalarlos de forma rápida en los servidores. Los servidores externos elegidos para la infraestructura basada en la nube son los de Amazon Web Services (AWS).

Un momento. ¿Amazon? ¿Los tipos esos que también ejecutan Prime Video? ¿Cómo van a dejar todo el servicio en manos de un archirrival?

Bueno, son muchas las empresas que tienen una especie de acuerdo de caballeros en los que se comprometen a trabajar para el otro a pesar de competir en la misma categoría. Un buen ejemplo es lo que ocurre entre Samsung y Apple, que compiten en el ámbito de los teléfonos móviles y, al mismo tiempo, las piezas más esenciales del iPhone son manufacturadas por el gigante coreano. Netflix fue cliente de AWS antes de la aparición de Prime Video. Que ahora sean competidores no implica que se instale una hostilidad entre ellos.

Tal como se desarrollaron los eventos, la alianza entre Netflix y Amazon resultó ser una situación en la que todos salieron beneficiados. Netflix se convirtió en uno de los clientes más importantes de AWS, impulsándolos a desarrollar sus capacidades al máximo y a innovar constantemente en las formas de utilizar los diferentes servidores de AWS para los distintos usos (ejecutar los microservcios, guardar películas, manejar el tráfico en internet) hasta sacar el mayor provecho posible. Por su parte, AWS mejoró sus sistemas para permitir que Netflix realizara cargas masivas en sus servidores, así como también permitió un uso mucho más flexible de sus productos y, por último, utilizó toda la toda la experiencia ganada y la puso al servicio de las necesidades de miles de otros clientes. Por un lado, AWS se jacta de que Netflix es su cliente más importante; por el otro, Netflix tiene la posibilidad de mejorar en forma rápida sus servicios y de mantenerlos estables gracias a AWS. Y esto se da, incluso, si Netflix le quita popularidad a Prime Video, o viceversa.


https://cdn-images-1.medium.com/max/1600/0*nTnj87ImOzW3kdGg.png

ScaleScale/scalescale.com

El largo camino desde el rollo a la pantalla

¿Qué utilidad podría tener un servicio de transmisión de programas de televisión y películas sin, por supuesto, programas de televisión y películas para transmitir? Para Netflix, el camino entre el productor de la película y el cliente es un proceso largo y arduo:

  • Si se trata de un programa o película que no es producido por ellos (es decir, no es una serie original de Netflix), tienen que negociar los derechos de reproducción con las empresas que se encargan de distribuir el material. Esto significa que tienen que pagar una suma de dinero importante a cambio de los derechos legales que permiten que sus clientes en las diferentes regiones del mundo puedan reproducir el contenido. Con frecuencia, la empresa que distribuye el material (o hasta incluso Netflix) puede haber firmado contratos de exclusividad con otro servicio de video o canal de televisión en determinadas regiones, lo que implica que Netflix puede no estar autorizado a distribuir el servicio a esos clientes, o va a poder hacerlo en una fecha posterior. Por ejemplo, esta fue la razón por la que el estreno de la quinta temporada de House of Cards en el Oriente Medio se retrasó hasta el 30 de junio, un mes entero más tarde en comparación con el resto de los más de 150 países que disfrutaron el show a partir del 30 de mayo.
  • Guarda las copias digitales originales del programa o de la película en los servidores de AWS. Estas copias se guardan en alta definición, como la de los cines, y Netflix tendrá que procesar ese contenido antes de que alguien lo pueda ver.
  • Netflix funciona en miles de dispositivos y cada uno de ellos reproduce el contenido en un formato de video y archivo de sonido distinto. Se destina otro conjunto de servidores AWS que toman el archivo original de video y lo convierten en cientos de archivos, cada uno con el objetivo de reproducir la totalidad de un programa o película en un tipo particular de dispositivo y en un tamaño de pantalla o calidad de video determinados. Un archivo va a funcionar exclusivamente para iPad, otro para el teléfono Android en full HD, otro para una TV Sony que puede reproducir video a 4K y sonido Dolby, otro para una computadora con Windows, etcétera. Se pueden crear más archivos con calidad de video variables para simplificar el proceso de carga en una conexión de Internet pobre. Esto es lo que se denomina transcodificar. Además, se agrega a los archivos una porción de código especial para restringirlos con lo que se conoce como gestión de derechos digitales (DRM, por sus siglas en inglés), una medida tecnológica contra la piratería.
  • La aplicación o el sitio web de Netflix determina qué tipo de dispositivo estás usando y busca el archivo exacto para el programa que querés ver. Ese archivo se creó exclusivamente para las reproducciones en tu dispositivo, con una calidad de video determinada por la velocidad de tu conexión a Internet en ese momento.

Este último paso, el de buscar el archivo indicado, es fundamental porque, a fin de cuentas, es en este momento en que Internet entrega el video desde los servidores AWS al dispositivo del cliente. Si no funciona de forma correcta o no se realiza el mantenimiento necesario, el resultado puede ser un servicio muy lento o que no funcione, y esto sería en los hechos el fin de la empresa. Internet es el cordón umbilical que conecta a Netflix con sus clientes y entregar el contenido que el usuario desea en el menor tiempo posible es un trabajo que les insume mucho esfuerzo. Todo esto ocurre en una red muy concurrida, en la que millones de servicios compiten por su lugar.

La carrera en contra del margen de tiempo

https://cdn-images-1.medium.com/max/1600/0*fWEFhRV6Nludifrl.png                Una síntesis de CDN (CDN Reviews/cdnreviews.com)

El espectro completo de operaciones que forman parte del ecosistema de Netflix (el software, el contenido y la tecnología) se vuelve inservible si la conexión de Internet del usuario final es muy pobre para soportar la calidad de video. En líneas generales, Internet funciona de esta manera: cuando hacés alguna cosa que necesita acceso a la red, se envía una solicitud a tu proveedor de servicios de Internet (ISP, por sus siglas en inglés). El ISP envía esa solicitud a los servidores de destino que maneja el sitio web, y esos servidores generan una respuesta que se repite en tu computadora y le da forma al resultado. Para Netflix y otros sitios de primer nivel, en los que se repiten millones de horas de contenido de video a lo largo de Internet entre los servidores y los usuarios, hace falta una red de servidores mucho más amplia para que el servicio funcione de forma correcta. Esto se logra gracias a la Red de entrega de contenidos (CDN, por sus siglas en inglés).

Básicamente, las CDN toman el sitio web original y el contenido que se encuentra en el sitio, y lo copian a lo largo de cientos de servidores localizados en todo el mundo. Por lo tanto, cuando iniciás sesión desde Budapest, en vez de conectarse al servidor principal de Netflix en los Estados Unidos, se va a cargar una copia igual de ese contenido ubicada en el servidor CDN más cercano a Budapest. De esta manera, se reduce en gran medida la latencia (el tiempo entre una solicitud y una respuesta) y todo se carga con mucha velocidad. Los CDN son la razón por la que los sitios web con un número enorme de usuarios como Google, Facebook o YouTube son capaces de cargar contenido con rapidez, sin importar dónde estés o con qué velocidad de Internet contás.

https://cdn-images-1.medium.com/max/1600/0*4q74mYwYhitaBOb1.jpg                                          Las cajas Open Connect de Netflix, que se entregan a los proveedores de internet. (NDTV Gadgets360/gadgets.ndtv.com)

En un principio, Netflix utilizaba una variedad de redes CDN operadas por gigantes como Akamai, Level 3 y Limelight Networks. Sin embargo, el crecimiento en la cantidad de usuarios se tradujo en la necesidad de entregar mayor cantidad de contenido a más lugares y, al mismo tiempo, a costos más bajos. En consecuencia, crearon su propia CDN: Open Connect.

En este caso, en lugar de utilizar los servidores AWS, instalaron sus propios servidores alrededor del mundo. Pero estos servidores tienen un único propósito: guardar contenido de forma eficiente y entregarlo a los usuarios. Netflix cierra acuerdos con proveedores de servicios de Internet y les entrega la caja roja que se ve en la foto superior sin costo alguno. Los proveedores las instalan junto con sus servidores. Estas cajas Open Connect descargan la librería de Netflix de esa región desde los servidores principales en los Estados Unidos. En los casos en que existen múltiples servidores, cada uno va a guardar el contenido más popular entre los usuarios de la región para darle prioridad a la velocidad. Por lo tanto, es probable que una película poco popular tarde más en cargarse que un episodio de Stranger Things. Ahora bien, cuando te conectás a Netflix, la caja Open Connect más cercana a vos te envía el contenido que necesitás y, por lo tanto, los videos se van a cargar mucho más rápido que si la aplicación lo cargara desde el servidor principal.

Se puede considerar a las cajas como discos duros ubicados en todo el mundo que guardan videos y, mientras más cerca estén, más rápido vas a poder bajar y cargar el contenido. Se esconden muchos otros trucos tras bambalinas: como se explica en esta entrevista (en inglés), cada vez que reproducís un programa, Netflix localiza las diez cajas Open Connect más cercanas a vos que ya cargaron el programa. El sitio web o la aplicación de Netflix intentarán a continuación detectar cuál de estas cajas es la más cercana o funciona más rápido de acuerdo a tu conexión de Internet para luego cargar el video desde esa ubicación. Esta es la razón por la que los videos se ven al comienzo borrosos pero se vuelven nítidos de repente: Netflix cambia de servidor hasta conectarse con ese que te va a brindar la mejor calidad de video.


https://cdn-images-1.medium.com/max/2000/1*bjv-Jh_v8m3wjrPf1UcSNw.png                     Captura de pantalla del autor

En pocas palabras…

Esto es lo que ocurre cada vez que reproducís un video en Netflix:

  • Cientos de microservicios, o pequeños programas independientes, trabajan en conjunto para conformar un gran servicio: Netflix
  • El contenido, que fue adquirido de forma legal o que cuenta con licencia de reproducción, se convierte a un tamaño determinado por tu pantalla y se lo protege contra la piratería.
  • Una serie de servidores ubicados en todo el mundo hacen una copia del contenido y lo guardan para que el servidor más cercano a vos te lo entregue con la máxima calidad y velocidad posibles.
  • Cuando elegís un programa, la aplicación de Netflix va de servidor en servidor hasta encontrar el que va a cargar el video.
  • Así, te deprimís con la vida de locos de BoJack Horseman, te deleitás con Dev en Master of None y desarrollás una fobia al futuro de la tecnología con las historias de Black Mirror. Tu vida se acorta a expensas de las maratones de series y te volvés en una bolsa de papas, tirado todo el día en el sillón.

Parecía tan sencillo, ¿no?

 


Artículo original en inglés: https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b

 

Advertisements
&
&

2017-12-06 // root


help

[2017-12-05] [email protected]:~$ cat microservicios: Alojar Logs en servidor remoto para análisis posterior

Quiero retirar persistencia de algunas instancias virtualizadas alojadas en hadrware propio.

En particular me inquieta alojar logs en algo remoto a esas instancias, pero en la misma LAN o redes de la mismas SubRedes corporativas. Actualmente hay proxys reversos, freeradius, bind9, postfix, pero podría haber más cosas. Todo Linux, si luego puedo oferecer esto para los windows fans sería un big plus.

No sé por dónde empezar: esta infraestructura es heterogénea, no son todos containers con la misma distro, en la misma versión ni lo serán en el corto plazo.

Preciso conocer qué tecnologías hay, libres, FLOSS, en la que confíe alguna de las distros en la que ustedes confíen también.

La actividad posterior a poner los logs en un único lugar sería poder analizalos con algo que se asocie a los términos cool BigData y todo eso. Si no pienso eso desde ahora luego tendría que volvera empezar.

El norte acá no son los microservicios, pero pongo la etiqueta porque queda cool (?).

 

Gracias, buenas birras para todos,

2017-12-05 // help


help

[2017-12-05] [email protected]:~$ cat SQL Server: uso de memoria.

Seguramente alguien pueda sacarme esta duda: tengo algunos SQL Servers que constantemente están en 90% (o mas) de uso de memoria. DB muy grandes, que fueron creciendo y quien las administra no sé si está decidido a ir depurándolas, pero según él ese uso de memoria es completamente normal en SQL Server porque así trabaja.

¿esto es realmente así? ¿puede deberse al tamaño de la DB o es que el SQL no está optimizado / correctamente configurado?

Gracias!

2017-12-05 // help


help

[2017-12-04] [email protected]:~$ cat Alternativa a Iron Mountain

Estimados alguno conoce o sabe de alguna alternativa a Iron Mountain para resguardo físico de backups (tapes, discos, etc.). Muchas Gracias.

Saludos.

2017-12-04 // help


help

[2017-12-02] [email protected]:~$ cat Compra de licencia RedHat

Buen día amigos de sysarmy! yo de nuevo por aquí, en esta oportunidad consultándoles sobre cómo debo hacer para comprar una o dos licencias de Linux RedHat, estoy en proceso de implementación de SAP BW y migración de otro servidor de SAP, y la verdad, para serles sinceros, pocas veces o nunca, compre una licencia de Linux.

Tengo entendido que se paga por procesador aunque no sé si será tan así, en fin quería pedirles si me pueden guiar o comentar en base a vuestra experiencia, sobre este tema.

Muchas gracias y seguimos en contacto. Salu2 cordiales d4ny.-

2017-12-02 // help


help

[2017-12-01] [email protected]:~$ cat Software de clonado/backup

Buenas Tardes, me e quedado en el 2000 usando ghost para clonar discos. E probado clonzila pero es increíble que tenga problemas con los tamaños de los discos al pasar de uno grande a uno chico, por más que el mismo se de cuenta que no se usa su totalidad.
Me pareció preguntarles a los que saben por alguna recomendación. Considerando que me gustaría manipular particiones o discos tanto de Windows cómo de Linux
Desde ya muchas gracias por su tiempo

2017-12-01 // help


help

[2017-12-01] [email protected]:~$ cat Problema con disco externo usb

Estoy teniendo un problema con un disco USB (Seagate Slim de 1TB) en Ubuntu 16 y no encuentro forma de confirmarlo.

El disco está encriptado con LUKS y formateado como ext4. Todo parece funcionar perfecto: copié un tar de 24GB y el comando cp terminó sin errores (echo $? da 0). El problema es que cuando verifico el checksum MD5 para comprobar que se haya grabado bien, los valores no coinciden... y si intento verificar el tar (tar tv etc) se produce un error, lo que confirma que no grabó bien.

Algo similar ocurre si genero el archivo del tar directamente sobre el disco: el tar termina sin indicar ningún error, pero al verificarlo también da error...

El error al verificar es el siguiente:
gzip: stdin: invalid compressed data--crc error
gzip: stdin: invalid compressed data--length error
tar: Saltando a la siguiente cabecera
tar: Child returned status 1
tar: Error is not recoverable: exiting now

¿Hay algún log donde pueda verificar si realmente se producen errores al copiar, más allá de que cp no diga nada? (en /var/log/syslog no reporta ningún problema).
¿Estoy "pidiendo demasiado" al pretender usar un disco USB externo encriptado con LUKS o tendría que funcionar? (no se me ocurre otra cosa viendo que no hay reporte de errores, pero la cosa no funciona)

2017-12-01 // help


help

[2017-11-29] [email protected]:~$ cat Bloqueo/permitir por dirección MAC

Hola, qué tal? Tengo varias preguntas sobre este tema. A lo mejor alguien sabe o tiene alguna sugerencia para llegar a lo mismo haciendolo de otra manera.

 

La cuestión es que, en principio, necesito leer la dirección MAC de los visitantes a una URL especifica.
Arrancando por lo básico, esto es posible? Es legal? Desde el htaccess no logré hacerlo.

El objetivo es poder bloquear o permitir el acceso de ciertas direcciones MAC cuando sea necesario, según el caso.
Actualmente lo vengo haciendo a través de la IP, pero me sería más efectivo y seguro hacerlo de esta nueva manera.

 

En caso de que esto no fuese posible, se les ocurre alguna otra alternativa para reconocer el dispositivo y poder hacer lo mismo?

 

Gracias!

2017-11-29 // help


jorgeabreu

[2017-11-27] [email protected]:~$ cat eko13 - 2017 - Side Channel - Panel Voto Electrónico

Estos videos son unas entrevistas que se realizaron en la Ekoparty 13 en Buenos Aires, Argentina, y en este en particular es un gran panel de Voto Electronico:







Slaudos!

2017-11-27 // jorgeabreu


help

[2017-11-27] [email protected]:~$ cat PfSense - OpenVPN

Estimados, necesito de su ayuda. Tengo 3 site (A, B y C) conectados entre si con PfSense 2.4 + OpenVPN. Todo anda de maravilla. Pero resulta que ahora implementamos una vpn (con openvpn tmb) para que se conecten los usuarios desde afuera. El tema es que llego al site C desde afuera (entro a travez de ese site) pero solo puedo ver los recursos de ese site, a los demas (Site A y B) no llego ni a palos (desde adentro si llego). Que puede estar faltando? Gracias!

2017-11-27 // help


luiszambrana

[2017-11-26] [email protected]:~$ cat Conocimientos básicos de electricidad para no romper tu raspberry

La idea de esta entrada es brindarles algunos Conocimientos básicos de electricidad para no romper tu raspberry que fui obteniendo de distintas webs (ya que no soy electricista).

Al comprar la raspberry pi 3 venia ya con un transformador de 5v y 2,5 amperes. Luego me paso que para distintos proyectos en la pantalla principal estaba el rayo amarillo que indica algún problema con la corriente que le estamos dando, por lo que me pareció importante decir “antes de seguir tengo que aprender algo básico de corriente o la voy a cagar”.

Entonces obtuve algunas definiciones que voy a explicar a mi manera (como a mi me sirvió) asi que si quieren definiciones serias busquen en wiki por su cuenta.

Conocimientos básicos de electricidad para no romper tu raspberry

Voltaje: Su signo es la V y en cierta manera es el más importante para el funcionamiento de un aparato eléctrico. Todos los aparatos requieren de una exacta cantidad de Voltios como son, autos o motos de 12V al igual que electrodomésticos 120V o 220V o celulares, tablets, Laptops 3.7V, 7.2V, 12V, sucesivamente.

La manera de medir Voltaje es por medio de un Voltimetro, y la manera de medir, es conectando los bornes del voltimetro en Paralelo con la fuente de energía (Positivo de la Batería al Positivo del Voltimetro y lo mismo con el Negativo).

Todos los equipos tienen una mínima tolerancia pero no hace falta jugar con el diablo, ya que si le ponemos más V de los que soporta el equipo lo podemos quemar.

 

Amperaje: Ah = amperes hora y mAh = mili amperes hora

Es importante, sin embargo, y a diferencia del voltaje, este entre mas es mejor, es decir un aparato que requiere solamente 1 Ah y dura 10 Horas quiere decir que consume 100 mAh por hora, y si le otorgamos 2 Ah este aparato NO se dañara sino que este durara 20 Horas, pero, si funciona con menor amperaje del que requiere, empezara a consumir voltaje (este decendera su valor) y por ende podría dañarse el aparato, aunque en computadoras esta simplemente se apagaría.

Si hablamos de raspberry podemos descubrir lo siguiente:

Mi preocupación arranco cuando salio por primera vez el rayito amarillo. Medí el transfo y estaba todo normal, pensé que se podría haber dañado algo. Sin embargo, luego de formatear con la ultima versión de raspbian se me terminaron los problemas ¿Cosa de mandiga? ¿Casualidad? ¿Algun servicio que estaba consumiendo demasiados recursos? no lo sabre, por que hasta donde revise estaba todo normal.

Para aprender más me dedique a buscar info del hardware de la raspberry y encontre este manual que lo comparto con uds en una carpeta de dropbox con la idea de ir subiendo más info, proyectos etc.

Otra cosa muy importante para mi fue que tuve que aprender a hacer conexiones (aun no se todo ni mucho menos).

Podemos decir que existen tres tipos de conexiones:

Conexion en Paralelo:

Esta conexion consiste en conectar dos o mas baterías para incrementar la Capacidad o Amperaje de las mismas.

6 Baterias de 12V y 1Ah conectadas en paralelo = 12V y 6Ah 

De esa forma conseguirán mayor capacidad pero no voltaje.
La conexión se hace conectando el Positivo de Todas las baterías en un cable, y lo mismo en el Negativo, haciendo así un nuevo Positivo y negativo

Atención: Las baterías solares, según tengo entendido se utilizan en SERIE y no en paralelo. Antes de hacer nada por favor consulten a un electricista profesional.

Conexiones en Serie:

Esta Conexión consiste en conectar dos o mas baterías para incrementar el Voltaje y no su duración.

6 Baterias de 2V y 1Ah conectadas en serie darian 12V y 1Ah

Su conexión es conectar el Negativo de una batería al positivo de la SIGUIENTE batería, y repetir el proseso en la Siguiente batería.

 

Conexiones Mixtas:

Esta conexión combina de las dos anteriores y requiere de un mínimo de 4 baterías, y se amplia en pares (de dos en dos) e incrementa tanto voltaje como amperaje.

Por ejemplo un aparato requiere de 12V y deseamos duración, tenemos 6 baterías de 4V y 1Ah. Cada una primero se conectan DOS series de tres baterías, cada serie entonces tendría 12V a 1Ah y las series entonces, se conectan en Paralelo para así tener 12V a 2Ah

 

Por ahora les dejo esta tutorial que denominamos Conocimientos básicos de electricidad para no romper tu raspberry. Espero les haya gustado ya que mi me sirvió de mucho por eso lo comparto.

Les aconsejo leer bien el manual y tener a mano la carpeta del dropbox porque es ahí donde voy a ir subiendo contenido.

Gracias por ser parte de #UnBlogEnApuros

Telegram-UnBlogEnAPuros

La entrada Conocimientos básicos de electricidad para no romper tu raspberry aparece primero en Luis Zambrana.

2017-11-26 // luiszambrana


luiszambrana

[2017-11-24] [email protected]:~$ cat Utilización de una cámara con raspberry pi

En este tutorial sencillito les vamos a mostrar la Utilización de una cámara con raspberry pi para tomar fotos, videos o bien usarla como cámara de seguridad.

Como saben desde que me regalaron la raspberry para el día del padre comencé a incursionar en este mundo que me encanta (hardware muy pequeño, barato y que utiliza software libre).

El problema si estas en argentina y lejos de capital: Los envíos son mas caros que las partes!

Utilización de una cámara con raspberry

Lo primero que vamos a hacer es conseguirnos la cámara de raspberry la cual se consigue por mercado libre, y luego ya con la raspberry apagada la conectamos.

Encendemos la raspberry y sabiendo la ip de manera remota vamos a ir viendo algunas cositas.

Hay  dos utilidades que te permitirán hacer uso de la cámara directamente desde la línea de comandos, estas son:

Sacar fotos:

raspistill

Grabar Videos:

raspivid

Para ambos comando la ayuda es –help dejando un espacio luego del comando.

A continuación vamos a sacar una foto y la guardamos en el archivo unblogenapuros.jpg

raspistill -o unblogenapuros.jpg

y si lo ponemos más interesante??

Si queremos sacar fotos cada cierto tiempo seria:

raspistill -o unblogenapuros_%05.jpg -w 800 -h 600 -tl 1000 -t 10000

La Raspberry tomará fotografías cada segundo (-tl 1000 –esto son milisegundos-) durante 10 segundos (-t 10000 –esto son milisegundos-) con unas dimensiones de 800×600 y el nombre del archivo será unblogenapuros_xxxxx.jpg. Las x se sustituyen por 0 para cifras bajas.

Vamos un poquito más allá?

Supongamos que necesito ir viendo como crece una producción de hidroponias o plantas de algún tipo por lo que quiero que todos los dias se saque una foto.

La solución es armar un bash y con el cron ponerlo a andar.

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -o /home/piz/unblogenapuros_$DATE.jpg

Esto lo guardas como un archivo capturadiaria.sh y le dan permiso con chmod +x capturadiaria.sh

y si en vez de fotos queremos realizar grabaciones de video (recordando que los tiempos son milisegundos) podría grabar 10 segundos así:

raspivid -o videoUnBlogEnApuros.h264 -t 10000

Un poco más interesante??? (vamos que siempre se puede)

Si instalamos python y apache podriamos hacer algun codigo que nos muestre mediante una web lo obtenido por la camara?

Vamos por parte:

Vamos a instalar python para manejar la camara y apache para servirla

sudo apt-get install python3-picamera apache2

Ahora vamos a escribir un pequeño código que nos guardara una foto cada cierto tiempo y la guardará dentro de la carpeta publica de apache:

sudo raspistill -w 640 -h 480 -q 5 -o /var/www/unblogenapuros.jpg -tl 100 -t 9999999 -th 0:0:0 -n & /dev/null 2>&1&

Hay muchisimos parámetros para utilizar y los pueden encontrar en la web oficial de #Raspberry

Ahora vamos a crear una muy fea web y básica a efectos de brindar la solucion web:

sudo nano /var/www/webdeunblogenapuros.html

Dentro del archivo podemos dejar lo siguiente (la idea para montar el stream es hacer que esa imágen se recargue automaticamente cada cierto creando el efecto de video remoto)

<html>
    <head>
        <title>UN Blog En Apuros</title>
        <!-- Usamos JQUERY -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
        <script>
        $(document).ready(function(){
            var images = '/image_*.png';
            var i = 1;
            setInterval(function() {
                var path = images.replace('*', i);
                $('#cam').attr('src', '/pic.jpg?n=' + i);
                i = i + 1;
                if (i == 100) i = 1;
            }, 1000);
        });
        </script>
    </head>
    <body>
    <h1>WELCOME</h1>
    <img id="cam" src="/images/unblogenapuros.jpg" alt="" />
    </body>
    </html>

Lo mas importante es el lugar donde pusimos las fotos ya que /var/www es la carpeta publica de apache. Si dentro ponemos una carpeta images y recién ahí guardamos las fotos no vamos a tener problemas tampoco.

Si cambiamos la dirección debemos dar los permisos necesarios para que sea accesible desde la web.

Para probar ponemos en nuestro navegador: ipdelarasp/webdeunblogenapuros.html

La verdad es que hay millones de cosas para hacer.

Un ejemplo de un script en python para luego poder ser usado por un bot de telegram seria:

from picamera import PiCamera
try:
    camera = PiCamera()
    camera.start_preview()
    # Calentando cámara para la primera foto
    sleep(2)
    camera.capture('unblogenapuros.png', format='png', use_video_port=True)
except Exception as e:
    print(e)
finally:
    camera.close()

 

Esto fue un mini tutorial donde mostramos la Utilización de una cámara con raspberry pi

Telegram-UnBlogEnAPuros

La entrada Utilización de una cámara con raspberry pi aparece primero en Luis Zambrana.

2017-11-24 // luiszambrana


help

[2017-11-23] [email protected]:~$ cat Openshift configuracion inicial

Hola

Luego de luchar en el laburo me dieron un server para poder hacer pruebas y mi idea es instalar openshift origin en centos. Lo que nose son los prerequisitos. Si instalo una vm con centos:

Que espacio necesito?
Que puntos de montaje mecesito crear?

Segunn lo que lei tendria que crear tres nodos y cada uno con 1y gb. Pero el resto no lose. Agradeceria si alguien me podria decir como arrancar.

Saludos y gracias

2017-11-23 // help


luiszambrana

[2017-11-23] [email protected]:~$ cat Fortinet que es y por donde arrancar

La idea de esta entrada Fortinet que es y por donde arrancar es comenzar dando una breve introducción a lo que va a ser una serie de tutoriales para introducirnos en las redes con el producto FORTIGATE.

Soy fanático de #mikrotik pero el conocimiento no ocupa lugar a menos en mi por eso es que aprender algo nuevo siempre viene bien!

Vamos por el principio:

Fortinet que es y por donde arrancar

Segun la wiki

Fortinet es una empresa multinacional de Estados Unidos con sede en Sunnyvale, California. Se dedica al desarrollo y la comercialización de software, dispositivos y servicios de ciberseguridad, como firewalls, antivirus, prevención de intrusiones y seguridad en dispositivos de usuario, entre otros. Es la cuarta compañía de seguridad de redes más (grandes) por volumen de ingresos.

Tiene una gama de productos impresionantes y obviamente las capacitaciones y licencias son pagas y no muy baratas, aunque siempre se encuentran comunidades o blog dedicados a ayudar.

Nosotros nos vamos a vasar en los FORTIGATE que son Routers/firewall muy pontente con bastantes funcionalidades.

En principio, podemos decir que todas las funcionalidades de los equipos Fortigate son íntegramente propietarias y no requieren de licencias por usuarios, esto reduce el costo de la solución y unifica la administración. Las funcionalidades tales como Firewall, Antivirus perimetral, IPS, VPN IPSec y VPN SSL poseen certificaciones de ICSA Labs. Tambien te digo que no es todo gratis por que para automatizar filtros sino pagas la licencia tenes que hacer muchas cosas a mano que ya están resueltas y funcionan muy bien si pagas 🙂

 

Principales puntos a favor en equipos Fortigate.

Firewall: Toda la línea de equipos permite definir individualmente cada una de las interfaces y así darle la posibilidad al equipo a configurar las WAN o DMZ que sean necesarias usando todos los puertos disponibles. Esto permite armar zonas independientes y trabajar sobre ese tráfico que pasa a través de dichas interfaces pudiendo hacer un escaneo de Virus, filtro de URL/IP o simplemente monitorear el tráfico y loguearlo.

Anti-Virus / Antispyware: Fortigate cuentan con poderosos Antivirus y Antispyware perimetral alimentado con la base de datos de Fortiguard que mantiene actualizado y al día al equipo.

Web Filtering:
Características principales:
• Bloqueo de contenido Web basado en listas blancas/negras de URL y palabras clave.
• Filtrado de páginas Web basado en categorías (77) y/o clasificaciones, utilizando el Servicio de Fortiguard Web Filtering, con cobertura 24×7 a nivel mundial, que proviene de más de 50 servidores de distribución instalados en 12 diferentes localidades alrededor del mundo.
• Cuotas de uso basadas en tiempo, por categoría: permite otorgar y administrar el uso de recursos de una manera responsable, limitando así posibles abusos. Clasificación de imágenes contenidas en URLs
• Safe Search (Google, Yahoo, Bing): integración completa con los servicios de búsqueda “estrictos” de los 3 proveedores de búsqueda más importantes.

Control de aplicaciones: el Control de Aplicaciones provee un control altamente granular sobre las aplicaciones, llegando incluso hasta identificar al usuario individual que está haciendo uso de ella. Esto permite a los administradores la capacidad de hacer cumplir las políticas de acceso a las aplicaciones basadas en roles de usuario, o quizá por departamento, o unidad de negocio.

Reportes Flexibles: La obtención de reportes, disponible tanto en equipos FortiGate como con FortiAnalyzer, permite poder hacer auditorias para descubrir qué aplicaciones están usando los recursos de red. Con estos reportes se pueden identificar aplicaciones más utilizadas, categorizadas, los usuarios más activos para cada aplicación, etc.

Optimización WAN: La capacidad de WAN Optimization permite hacer caché de archivos sobre el equipo y así mejorar el tiempo de respuesta en múltiples peticiones iguales dentro de red.

IPS: La funcionalidad de Prevención de intrusos permite proteger contra ataques desconocidos mediante de análisis de anomalía en la red. Con el servicio de Fortiguard actualiza la base de datos.

VPN IPsec / SSL VPN: El FortiOS cuenta con la posibilidad de crear VPN IPSec y SSL, también da la posibilidad de configurar un portal para que los usuarios ingresen y se conecten de una forma fácil y práctica. También se puede configurar los distintos módulos que aparecen en dicho portal.

Obviamente que hasta acá suena todo muy bonito, pero en cuanto a costos les comento que por ejemplo capacitarse con certifacion en argentina cuesta alrededor de 60000 pesos (sesenta mil pesos), si si, leíste barbaro!

En resumen: las soluciones de Fortinet / FortiGate también incluyen para su organización (aquí ya no estamos hablando de escuelas ni bibliotecas, ni hogares por el alto costo):

  • Filtrado de contenido
  • VPN
  • Antivirus
  • Antispam
  • Detección y prevención de intrusos y gestor de tráfico
  • Balanceo de carga
  • Alertas por e-mail

Cuando compramos uno lo van a ver en una bonita caja marrón con el logo de fortinet y adentro se encontraran con:

 

 

Obviamente viene con sus respectivos cables y un pequeño manual de uso con una configuración muy básica para comenzar a utilizarlo. De todos modos para comenzar a chusmear y finalizar con esta presentación lo que vamos a hacer es:

1 – Encender el Fortinet

2 – Enchufar nuestra placa de red al puerto 1

3 – En nuestra placa de red para el fortigate 81E no hay que hacer nada por que viene con un DHCP Server activado sino deberiamos configurar una ip del rango 192.168.1.0/24

El router tiene la ip por defecto 192.168.1.99

Por ahora esto fue todo y espero poder brindarle muchisimo más de Fortigate para inicializarlos en este nuevo mundo.

Telegram-UnBlogEnAPuros

La entrada Fortinet que es y por donde arrancar aparece primero en Luis Zambrana.

2017-11-23 // luiszambrana


help

[2017-11-23] [email protected]:~$ cat ¿Cómo instalar un servidor de correo y un servidor web?

Recién me pidieron en el trabajo configurar un servidor para que podamos crear, mandar, recibir y ver correos electrónicos de multiples dominios (Los clientes no quieren pagar 5USD para usar GSuite).

Además este mismo servidor serviría para hospedar sus sitios web (Con Apache).

Actualmente utilizamos el servicio grid de Media Temple y su panel de administración tipo CPanel, pero nos da mucha lata.

El servidor lo sacaríamos en Digital Ocean. ¿Podrían orientarme? Nunca he instalado un servidor de correos y estoy algo -demasiado- perdido.

2017-11-23 // help


luiszambrana

[2017-11-23] [email protected]:~$ cat Algunas reglas para brindarle seguridad a tu Mikrotik

Hace rato que no hablo de #Mikrotik asi que a pedido de un Pablito les voy a dejar Algunas reglas para brindarle seguridad a tu Mikrotik

 

En esta oportunidad no quiero tener que explicar absolutamente todo del mikrotik sino mostrar de manera rápida y sencilla un par de elementos que esta al alcance de las vista como para segurisar en pocos pasos una red que tiene como gateway un mikrotik

Vamos a utilizar DNS, y una mesclita entre firewall y layer 7. Si uds quieren ver que es cada cosa en la wiki de mikrotik lo tienen todo, en algunos casos solo en ingles pero estas cosas son bastantes sencillas.

Algunas reglas para brindarle seguridad a tu Mikrotik

Configuración de DNS

Se puede configurar su MIKROTIK para usar Norton ConnectSafe. Todas las computadoras y dispositivos que se conectan a Internet a través de este router usarán Norton ConnectSafe con la política de protección seleccionada.

Vamos a ir a IP – DNS y en la siguiente ventana configuraremos con la mayor seguridad que vendría ser Anti pornografía, solo sitios seguros (no permite descargas entre otras cosas) y tiene un other (otros) que es muy variadito.

En la imagen tienen las ips y en la web de Norton tambien pero por las dudas se las dejo acá:

DNS 1: 199.85.126.30

DNS 2: 199.85.127.30

Con solo estos dos dns notaran un gran cambio en la red. Reinicien el router y prueben ingresar a ver paginas de descarga de peliculas etc para ver como les fue!

 

Layer 7

Layer 7 o Capa 7 es una herramienta del MIKROTIK que recopila los primeros 10 paquetes de una conexión o los primeros 2 KB de una conexión y busca el patrón configurado en los datos recopilados. Si el patrón no se encuentra en los datos recopilados, el router deja de inspeccionar más. La memoria asignada se libera y el protocolo se considera desconocido. Debe tener en cuenta que muchas conexiones aumentarán significativamente la memoria y el uso de la CPU. Otro dato no menos importante que lo optimo es ver datos de entrada y de salida, pero vas a poder configurar layer 7 de a poco para ver como rinde el cpu de tu mk

Como ven en la imagen anterior fuimos a IP > Firewall y dentro de firewall a Layer 7. Luego creamos con el + un concepto nuevo que en este caso le puse facebook y dentro tiene que estar el regexp de este modo:

^.*(facebook).*$

Una vez que esta hecho (podremos crear mas nuevos y en vez de la palabra facebook usar por ejemplo hotmail, o lo que queramos bloquear) vamos al firewall nuevamente esta vez a Filter Rules (reglas de filtrado) y agregamos una regla nueva de este modo:

En la solapa general, dentro de chain seleccionar Forward

En la solapa Advanced, dentro de Layer 7 seleccionar la regla que creamos recien o sea Facebook

En la solapa Action, dentro de Action seleccionamos Drop

En Comment: Bloqueando Facebook L7

Luego aplicamos y si quieren también reinician el mk para cortar todo tipo de conexión.

Van a ver los paquetes dropeados asi:

Si tienen solo estas reglas configuradas el uso de cpu no deberia levantar mas del 15% por lo cual estaríamos más que bien! Ahora si ponemos youtube van a ver que el cpu escala muy alto por que todo consulta a los dns de google y termina analizando casi todo el trafico.

Vayan probando y viendo como funciona todo!! De eso se trata también este tutorial que denominamos Algunas reglas para brindarle seguridad a tu Mikrotik

Como siempre muchas gracias por ser parte de #UnBlogEnApuros los invito a visitar nuestra FansPage y estar al dia con todos los tutoriales que ponemos sin ningún costo ni publicidad!!

Telegram-UnBlogEnAPuros

La entrada Algunas reglas para brindarle seguridad a tu Mikrotik aparece primero en Luis Zambrana.

2017-11-23 // luiszambrana


luiszambrana

[2017-11-23] [email protected]:~$ cat Descargar las fotos de Instagram en Ubuntu

Les cuento que desde hace tiempo utilizo INSTAGRAM y como restaure mi cel de fabrica quería descubrir como podría hacer para Descargar las fotos de Instagram en Ubuntu

Descubrí 4k Stogram que ademas de ser multi plataforma (windows,linux,mac) nos permite bajar a nuestra maquina todas las fotos que subimos con el cel a instagram.

Descargar las fotos de Instagram en Ubuntu

Para bajarlo solo hace falta ir a la web oficial de 4k stogram y descargarlo e instalarlo. Luego simplemente introduce un nombre de usuario de Instagram, una etiqueta o ubicación y pulsa el botón “Suscribir”. Explora fotos, vídeos e historias de diferentes lugares, suscríbete a las fotos de una cuenta y a su lista de usuarios seguidos. Y lo mejor de todo es que es un descargador de Instagram gratuito.

Si tu cuenta es PRIVADA debes escribir tu usuario y contraseña para poder facilitar la descarga. Si la cuenta es publica (o sea que podemos bajar fotos de otras cuentas) solo basta con poner el usuario o hashtag relacionado.

Descargar las fotos de Instagram en Ubuntu

Espero que les haya servidor tanto como a mi esta entrada que denominamos Descargar las fotos de Instagram en Ubuntu

Telegram-UnBlogEnAPuros

La entrada Descargar las fotos de Instagram en Ubuntu aparece primero en Luis Zambrana.

2017-11-23 // luiszambrana


help

[2017-11-21] [email protected]:~$ cat Python y json

Gente, estoy probando api.ai para realizar chatbots, pero lo mio no es la programacion. si hay algun craneo que m pueda ayudar con lo siguiente: tengo que leer el Json que pego mas abajo con python. Con el codigo que les copio, puedo leer bien lo que marco en rojo. Pero no encuentro la forma de leer cualquiera de los datos que estan en azul. Alguien me puede ayudar?? al codigo python lo encontre en google y lo acomode a  mi Json.

Request:
{
    "lang": "es",
    "status": {
        "errorType": "success",
        "code": 200,
        "webhookTimedOut": false
    },
    "timestamp": "2017-11-21T12:15:39.367Z",
    "sessionId": "cec8240a-3d25-4051-909f-eb327bf71170",
    "result": {
        "parameters": {
            "zona": "test1",
            "lesoon": "test2"

        },
        "contexts": [
            {
                "name": "test",
                "parameters": {
                    "lesoon.original": "test2",
                    "zona": "test1",
                    "Provincia": "Cordoba",
                    "time-period": "",
                    "Provincia.original": "cordoba",
                    "time-period.original": "",
                    "number": "09080908",
                    "ciudad.original": "calamuchita",
                    "number.original": "9080908",
                    "ciudad": "calamuchita",
                    "lesoon": "test2",
                    "date": "2018-10-24",
                    "date.original": "24/1"

                                    },
                "lifespan": 1
            },
        
         

#!/usr/bin/env python

import urllib
import json
import os

from flask import Flask
from flask import request
from flask import make_response

# Flask app should start in global layout
app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def webhook():
    req = request.get_json(silent=True, force=True)

    print("Request:")
    print(json.dumps(req, indent=4))

    res = makeWebhookResult(req)

    res = json.dumps(res, indent=4)
    print(res)
    r = make_response(res)
    r.headers['Content-Type'] = 'application/json'
    return r

def makeWebhookResult(req):
    result = req.get("result")
    parameters = result.get("parameters")
    zone = parameters.get("zona")
    leson = parameters.get ("lesson")
    result = req.get("contexts")
    parameters = result.get("parameters")
    Provincia = parameters.get("Provincia")
    speech = zone + lesson
   
    print("Response:")
    print(speech)
    return {
        "speech": speech,
       "displayText": speech,
       # #"data": {},
        ##"contextOut": [],
        "source": "leson"
    }

if __name__ == '__main__':
    port = int(os.getenv('PORT', 80))

    print ("Starting app on port %d" %(port))

app.run(debug=True, port=port, host='0.0.0.0')

Agrego esas lines y me da el error:

result = req.get("contexts")
    parameters = result.get("parameters")
    Provincia = parameters.get("Provincia")
          
    parameters = result.get("parameters")
AttributeError: 'NoneType' object has no attribute 'get'

2017-11-21 // help


help

[2017-11-19] [email protected]:~$ cat Bootstrap, sitio responsive

En mi trabajo quieren que el sitio sea responsive, el sitio está construido en laravel,   si alguien le interesa hacerlo.

2017-11-19 // help


help

[2017-11-16] [email protected]:~$ cat App para win o linux Administrador escritorio remoto

Buenas gurues de la informatica, les hago una pregunta .. conocen alguna aplicacion para el sistema de la ventanita o para Linux que sea como un administrador de escritorios remotos? al mejor estilo MobaXterm con conexiones ssh (que tambien tiene RDP pero es pago)  yo ando buscando algo gratis en lo posible.

Gracias!! salu2!!

2017-11-16 // help


luiszambrana

[2017-11-12] [email protected]:~$ cat Servidor de impresión con software libre y bajos recursos

En esta entrada vamos a ver como montar un Servidor de impresión con software libre y bajos recursos gracias a Raspberry, gnu/linux y CUPS.

No voy a explicar demasiado que es #Raspberry por que ya hemos hablado bastante sobre el en entradas como: LINK el tema más importante es el espacio que ocupa, la potencia que tiene y sobre todo el bajo costo que implica tanto el hardware en si como el costo del consumo eléctrico del mismo el cual es muy bajo.

Si vamos a hablar de CUPS: Common Unix Printing System (Sistema de impresión común de Unix, abreviado CUPS) es un sistema de impresión modular para sistemas operativos de tipo Unix que permite que la raspberry o cualquier equipo que corra en gnu/linux actúe como servidor de impresión. En nuestro ejemplo la raspberry ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde otros maquinas (clientes) los procesa y los envía a la impresora.

La idea principal es contar con un SERVIDOR DE IMPRESIÓN para luego no tener que acordarnos las ips de las impresoras que están en nuestra red y ademas para llevar algún tipo de control de gestión ejemplo toner, papel cantidad de impresiones, etc.

Servidor de impresión con software libre y bajos recursos

 

Antes que nada, como es una maquina que vamos a usar muy seguido lo conveniente es que tenga IP fija por lo cual entren a su interfaces y pongan una asi luego no tienen problemas con el servidor de dchp (por si les asigna otra).

Estos pasos son todos utilizables tanto en una raspberry como en cualquier linux (lo probé basados en debian / ubuntu) Lo primero que vamos a hacer es actualizar el repositorio y nuestro soft con los siguientes comando:

sudo apt-get update && sudo apt-get upgrade

Instalamos CUPS:

sudo apt-get install cups

Agregamos nuestro usuario (en el caso de la raspberry será pi y en el de tu compu o servidor el que tengas) al grupo lpaadmin (administración del servidor de impresión)

sudo usermod -a -G lpadmin pi

Permitimos que nos podamos conectar desde la red a cups:

sudo cupsctl –remote-any

por ultimo y para que tome los cambios debemos reiniciar el servicio:

sudo /etc/init.d/cups restart

Ahora que ya tenemos todo listo vamos a entrar a la web con la ip de la raspberry y el puerto 631, en mi caso me quedo: http://192.168.1.12:631

Para seguir con este tutorial donde mostramos como instalar un Servidor de impresión con software libre y bajos recursos  vamos a tener que poder añadir maquinas con windows (puede que no se de en todos los casos  pero conviene saberlo y estar preparado) y para eso necesariamente instalar samba:

sudo apt-get install samba

Al final del archivo veremos dos apartados diferentes, uno para [printers] y otro para [print$]. Ahora, configuraremos estos dos apartados para que coincidan con la siguiente configuración:

# CUPS printing.
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = no
guest ok = no

El archivo este tiene otros parametros como por ejemplo nombre de equipos, o situaciones con las que podemos manejar las carpetas compartidas, pero este no es el caso! lo usamos solo para las impresoras aunque minimamente el nombre del host lo podemos ingresar!

Ahora reiniciamos samba y ya estaríamos.

sudo /etc/init.d/samba restart

Lo que sigue es añadir las impresoras las cuales pueden ser usb o de red. Vamos a ir administración y con el botón add printer o agregar impresoras podremos ver las siguientes opciones:

El propio CUPS intentará elegir el controlador adecuado de forma automática (si no, tendremos que elegirlo nosotros de la lista que nos aparecerá) y, antes de finalizar, debemos asegurarnos de marcar el botón “Share This Printer” para compartir la impresora a través de la red.

IMPORTANTE: Las impresoras también las pueden instalar con el soft HP-LIP (si son hp) y también puede pasar que las encuentren en el proyecto Open Printing

Espero que les sea de utilidad, para mi es una gran idea poder tener las impresoras de una empresa, pyme, colegio, biblioteca, etc, en un solo lugar y poder administrarlas.

Si encuentran algún error, no le aflojen, lo que cuesta es lo que vale! #YoAmoElSoftwareLibre

Telegram-UnBlogEnAPuros

La entrada Servidor de impresión con software libre y bajos recursos aparece primero en Luis Zambrana.

2017-11-12 // luiszambrana


help

[2017-11-11] [email protected]:~$ cat problema SAS controladora propietaria y preferida Fibre Dell MD3800

Buenas,

Hay un storage DELL D3800F conectado a un servidor de la misma marca vía fibre channel. El storage tiene dos controladoras y el servidor otras dos. Entre servidor y storage solo están los patchcords de fibra no hay switch.

El servidor corre debian stretch (proxmox 5.1, kernel ad hoc 4.13.4 ) al día tiene configurado multipath, la controladora es rdac/LSI.

El problema que tengo es que el Storage indica una alarma de que un LUN que tiene como propietario a un módulo 1 de la controladora cuando el preferido es el 0.

He googleado bastante y he visto usuarios con el mismo problema en vmware, red hat y windows, la solución era actualizar firmware de la controladora. En mi caso el firmware está al día. Los patchcords están bien también.

Si desde la herramienta windoze cambio el módulo  al preferido pasados algunos minutos la alarma aparece de nuevo.

Ayer hice una prueba importante, apagué sel server, cambié el módulo al 1, luego encendí el server y le di el uso normal. Con esa config todos los LUN del grupo tenían por preferido al mismo módulo, encendió todo bien, pero de igual manera a los minutos el sistema corrió el propietario al módulo 0.

No conozco bine Fibre Channel SAS, por eso no entiendo quién está cambiando el propietario si lo hace el servidor vía el driver rdac+config mía o lo hacen la controladora del storage. Del lado del dmesg no veo nada que lo indique. Enseguida les dejo un sesgo de la config en un comentario.n

¿Alguno pasó por esta lastimosa experiencia? ¿Por dónde seguir? Gracias miles.

2017-11-11 // help


help

[2017-11-11] [email protected]:~$ cat Necesito armar un Servidor de impresión con soft libre

Hola a todos!! como estan?

Les cuento: Necesito montar un servidor de impresion el cual va a tener que atender a mas de una red.

Pense en cups pero algunos me comentaron que es un rompedero de cabeza.

Hay un dominio hecho con ubuntu y clientes linux y windows.

Las impresoras son relativamente nuevas y de marcas conocidas.

Va a ver gente que necesita escanear (hay alguna impresora laser con escaner).

Si alguien tiene experiencia y me puede aconsejar se agradece de antemano!!

Muchas gracias!

2017-11-11 // help


luiszambrana

[2017-11-09] [email protected]:~$ cat MuseScore Composicion y notacion musical con software Libre

En esta entrada les voy a contar sobre MuseScore Composicion y notacion musical con software Libre y gratuito.

MuseScore Composicion y notacion musical con software Libre

El soft es de muy fácil instalación y además es multiplataforma por lo que podemos utilizarlo tanto en linux, windows como mac.

Este software nos proporciona una interfaz de usuario limpia, con una rápida entrada de notas en edición similar a la escritura rápida para notas que tienen otros programas comerciales de notación musical, como serían Finale y Sibelius. La interfaz de MuseScore está formada por un sistema de paneles y paletas que recogen los distintos símbolos que pueden insertarse en un pentagrama. Además, cuenta con un importante número de atajos de teclado que facilitan la composición musical.

 

MuseScore vamos a poder importar y exportar muchos formatos musicales, incluyendo midi y MusicXML. Al mismo tiempo también podremos importar archivos de los programas comerciales de arreglos musicales, Band-in-a-Box. A partir de la versión 2.0 el programa nos permite importar archivos de tipo GuitarPro que son usados por muchos guitarristas y bajistas con programas como Guitar Pro o Tuxguitar

 

Vamos a al proceso de instalación en Ubuntu o derivados

sudo snap install musescore

Para desinstalar:

sudo snap remove musescore

Algunas personas tuvieron que despues de INSTALAR realizar estos comandos que les dejo a continuacion por los drivers de sonido, etc:

sudo snap connect musescore:cups-control && sudo snap connect musescore:network-manager && sudo snap connect musescore:alsa

En su WEB OFICIAL nos dejan varias formas de instalación por si no les conforma esta o quieren realizar  consultas.

Espero les haya gustado MuseScore Composicion y notacion musical con software Libre

Telegram-UnBlogEnAPuros

La entrada MuseScore Composicion y notacion musical con software Libre aparece primero en Luis Zambrana.

2017-11-09 // luiszambrana


help

[2017-11-08] [email protected]:~$ cat Crear subdominios con Apache, Tomcat y mod_jk

Hola a todos,

Paso a comentar un problema que necesitamos solucionar, en lo posible así como ya está configurado.
Tenemos un servidor Ubuntu 14.04 LTS, con Tomcat 7 instalado junto a Apache con mod_jk. Todo funciona correctamente, ya que puede ingresarse a la aplicación de Tomcat sin colocar el puerto 8080, con el dominio y el /nombre_app.

El problema es el siguiente, se necesita que esta aplicación de Tomcat que está en la carpeta webapps tenga un subdominio, ¿cómo se logra eso?
Los subdominios están creados ya desde donde se contrataron, pero no logro entender cómo manejaría los subdominios en el sistema operativo.
O sea, ¿lo hace Tomcat? ¿Lo hace Apache con Virtual Host? ¿Cómo se configuraría eso?

Se agradece cualquier información al respecto, ya que la idea es que incluyan certificados Let's Entcypt también.

Saludos

2017-11-08 // help


help

[2017-11-08] [email protected]:~$ cat Migrar Webserver

Hola,

Actualmente tenemos un webserver en iplan con 2 app y una bbdd todo en un mismo servidor. Surgío la posibilidad de migrar este server a otro proveedor (todavía no definimos) y la idea era separar un poco los servicios.

Lo que me plantearon es, usar instancias (linode, digital ocean, etc) para cada uno de los "componentes", pero me gustaría saber si esto es posible hacerlo con contenedores, menos la bbdd.

Bueno, espero se haya entendido

 

Saludos, 

Alberto.

2017-11-08 // help


help

[2017-11-08] [email protected]:~$ cat licencia suse en google cloud engine

hola, estoy teniendo un problema de licencias y no encuentro mucha info para ver q esta pasando.
actualmente uso suse enterprise 12 en la nube de google cloud engine. mientras tenia la maquina levantada en la zona google de eeuu la licencia estaba ok y entiendo q me la cobraban en el abono. cuando google abre en Sao paulo, muevo mi maquina virtual a esa zona y automaticamente deja de estar licenciado. probe a generar una maquina nueva y tambien me pide q adquiera una licencia. saben si el tema de licencias funciona diferente en esa zona?
levante otro suse en eeuu y la licencia me da ok.

2017-11-08 // help


help

[2017-11-07] [email protected]:~$ cat VPN IPSec FortiClient en Ubuntu

Buenas:

Hay alguna manera de configurar una conexión VPN IPSec contra un Fortinet en el NetworkManager de Ubuntu usando un exṕort de configuración de un FortiClient en Windows?

Saludos

2017-11-07 // help


luiszambrana

[2017-11-06] [email protected]:~$ cat Instalar centreon para controlar nuestra red

En este tutorial les voy a mostrar como Instalar centreon para controlar nuestra red de manera rápida sencilla y si ya vieron como instalar proxmox también lo podrán hacer de manera Virtualizada.

Instalar centreon para controlar nuestra red

Para instalarlo vamos a necesitar una imagen de centreon que la podemos conseguir aquí fijense que la web está muy completa.

Para instalarlo es muy sencillo, con el tipo siguiente siguiente podrán hacerlo, solo deben asegurarse de elegir correctamente la zona horaria y ademas escribir una buena contraseña de administrador (root)

Luego en la consola les aconsejo saber la ip de la maquina lo cual se hace con el comando:

ifconfig

y tambien instalar el editor de texto nano que es muy sencillo de utilizar:

yum install nano

Para los que vienen siguiendo tutoriales fijense que no puse apt-get install sino yum, esto pasa por que es otra distribución pero a los fines es lo mismo.

Ahora vamos a editar el php.ini

nano /etc/php.ini

Aqui presionamos ctrl+w y tipeamos timezon y enter (nos llevara hasta la zona donde se encuentra esa palabra). En timezon va a estar un simbolo de igual = y no va a ver escrito nada, tiene que quedar asi:

“America/Argentina/Buenos_Aires”

Ademas saquen el ; del comienzo de la linea.

Guardamos con ctrl+x y ponemos que si! o yes.

reiniciamos el servicio

/etc/init.d/httpd restart

Vamos a crear una contraseña para el mysql:

mysqladmin -u root password ESCRIBIRACACONTRASEÑA

Ahora vamos a un navegador de una maquina en la misma red que el servidor centreon y ponemos:

http://IPCENTREON/centreon

Con esto entramos a la configuración.

Es muy sencillo, sino pasa por alguno de los campos es por que en los items anterior no hicieron bien algo. Hay que chequear!!

Si sale esto hay que revisar el TIMEZONE

Una vez puesto Localhost en el servidor de base de datos con sus respectivos usuarios y contraseñas (pueden poner siempre la misma) debe quedar asi OK sino hay que revisar!

Una vez que pasemos todo esto desde el navegador podremos ingresar a nuestro centreon con admin y la clave que hayamos usado.

De este modo ya habremos aprendido a Instalar centreon para controlar nuestra red, luego les hare un par de tutoriales para que vayan añadiendo nuevos equipos a controlar asi esta entrada no se hace muy larga!

Abrazos y como siempre gracias por ingresar a www.luiszambrana.com.ar

 

La entrada Instalar centreon para controlar nuestra red aparece primero en Luis Zambrana.

2017-11-06 // luiszambrana


help

[2017-11-04] [email protected]:~$ cat ¿Cómo proteger una tienda en línea?

En unos días haremos una tienda en línea utilizando wordpress y woocommerce. ¿Cuáles son las mejores medidas de seguridad/practicas al hospedar un sitio así?

2017-11-04 // help


help

[2017-11-04] [email protected]:~$ cat con que liena?

dices que en tu empresa usan los modems de wavecom, a mi tambien me llamo la atencion ese producto, pero quiero saber antes de comprarlo, donde yo vivo hay dos lienas, movistar y movilnet, quiero saber si puedo usarlo con cualquiera de esas dos lienas (SMSC) ?

2017-11-04 // help


jorgeabreu

[2017-11-02] [email protected]:~$ cat [Video] - Polémica en /var - S01E04 - Want to cry



Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administración de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc. En este genial episodio hablamos de los eventos de abril y mayo como GeekOut Fest y Flisol, de la empresa ADA con Celeste Medina de invitada, que busca darle un empujón a las mujeres que se quieren dedicar al desarrollo web, de la DrupalCon, de la caída de WhatsApp y de WannaCry, el Ransomware que puso en pánico a medio mundo, con otro invitado especial: Federico Kirschbaum. == Mencionados en este episodio == Ubuntu disponible en la Windows Store: http://www.muylinux.com/2017/05/12/ub...Canonical starts IPO path: http://www.zdnet.com/article/canonica...Caída de WhatsApp: http://www.redusers.com/noticias/mala...WannaCry: http://www.bbc.com/news/technology-39...ADA: http://www.ada.com.arProgramá tu futuro: http://www.buenosaires.gob.ar/educaci... == Eventos y meetups == nerdear.la: https://nerdear.laEkoparty: https://www.ekoparty.org == Búsquedas laborales == Talent IT up: https://goo.gl/skUvhhOLX: https://goo.gl/BaWy8lMedallia: https://goo.gl/b5fU8Fsysarmy en LinkedIn: https://goo.gl/1QMlCv == Otros mencionados == EkoSpace en Facebook: https://goo.gl/VOzYleEkoSpace en Twitter: https://goo.gl/umJHVp == Encontranos en == Web: http://sysar.myTwitter: @sysarmy Facebook: Elección Root IRC en Freenode: #sysarmyIvoox: https://goo.gl/GtISQ9Pocketcast: http://pca.st/D3H0iTunes: https://goo.gl/Nrt22g ==Conducen este episodio== Ariel Jolo: @ajolo Jorge Abreu: @ar_jorge1987 ==Producción== Regina Loustau: @Rhapsody_Girl ==Invitados== Celes Medina: @celes_medina Federico Kirschbaum: @fede_k

2017-11-02 // jorgeabreu


desarrolloylinux

[2017-11-02] [email protected]:~$ cat [Video] - Polémica en /var - S01E03 - Fools in April



Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administración de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc. Esta vez retomamos lo hablado en el episodio anterior sobre CloudBleed y GitLab, y charlamos sobre la caída similar que tuvo Digital Ocean, en otro orden de noticias una empresa acusó a su ex sysadmin, los chistes del April Fool's Day, un picadito de noticias y cobertura de eventos. == Mencionados en este episodio == Incident report on CloudBleed: https://goo.gl/r1EW5CHow is team-member-1 doing?: https://goo.gl/soHFnnDigital Ocean April 5th outage: https://goo.gl/M5fp2FSysadmin 'trashed old bosses' Oracle database with ticking logic bomb': https://goo.gl/yKeXw7Google Wind: https://goo.gl/ENlfK4Stack Overflow Dance Dance Authentication: https://goo.gl/da2UiSPornHub April Fools': https://goo.gl/tUKWSCPornHub HTTPS: https://goo.gl/ZL5Qw9USA ISP data sharing: https://goo.gl/DYN4CiOpen a tab and make some noise: https://goo.gl/KMp7JVAndroid overtakes Windows: https://goo.gl/NmKV46Shutting down CodePlex: https://goo.gl/PFJHnCCanonical Shuts Door On Unity, Ubuntu Phone: https://goo.gl/1lGNOqCanonical, Jane Silber stepping down: https://goo.gl/455oa0 == Eventos y meetups == VII Encuentro nacional ArNog: https://goo.gl/EWBx4L#meetarmy: https://goo.gl/W9fi4lFLISOL CABA: https://goo.gl/34b6IY#AdminBirras: https://goo.gl/EqGCSxGeek Out Fest 3.0: https://goo.gl/uC2eX8CFP nerdear.la: https://goo.gl/SPNzlf == Búsquedas laborales == Talent IT up: https://goo.gl/skUvhhMuleSoft: https://goo.gl/wK0qAkOLX: https://goo.gl/BaWy8lsysarmy en LinkedIn: https://goo.gl/1QMlCv == Otros mencionados == EkoSpace en Facebook: https://goo.gl/VOzYleEkoSpace en Twitter: https://goo.gl/umJHVp == Encontranos en == Web: http://sysar.myTwitter: @sysarmy Facebook: Elección Root IRC en Freenode: #sysarmyIvoox: https://goo.gl/GtISQ9Pocketcast: http://pca.st/D3H0iTunes: https://goo.gl/Nrt22g ==Conducen este episodio== Ariel Jolo: @ajolo Jorge Abreu: @ar_jorge1987 ==Producción== Regina Loustau: @Rhapsody_Girl

2017-11-02 // desarrolloylinux


luiszambrana

[2017-10-30] [email protected]:~$ cat Agregar discos a un servidor proxmox en funcionamiento

En esta entrada vamos a Agregar discos a un servidor proxmox en funcionamiento el cual instalamos siguiendo este tutorial: INSTALAR SERVIDOR PROXMOX

Agregar discos a un servidor proxmox en funcionamiento

Suele suceder que comenzamos con un entorno de virtualizacion y luego por h o por b debemos agregarle almacenamiento.

En mi caso teníamos un servidor que tenia 4 discos  y al realizar la instalación obviamente se hace solo en uno, por lo que a continuación les voy a mostrar como Agregar discos a un servidor proxmox en funcionamiento (FUNCIONAMIENTO: Ya instalado!!! NO QUE ESTA ENCENDIDO! 😛

Abrimos una consola y verificamos los discos/particiones presentes en nuestro servidor

fdisk -l

En mi caso tenia:

/dev/sda

/dev/sdb

/dev/sdc

/dev/sdd

El sda es el primer disco (el que estoy usando) asi que voy a montar el resto.

Para eso comienzo con el sdb:

fdisk /dev/sdb

Respondemos a Command (m for help): p

Creamos una particion nueva Command (m for help): n

Cuando nos pregunta tipo de particion escribimos P de principal

Luego nos pregunta sobre el primer sector o First sector: damos enter para dejar por default.

Tambien pregunta sobre LAST SECTOR:  damos enter para dejar valor por default

Si tu disco estuvo dañado o perteneció a un lvm de otra maquina también puede que pregunte si queres borrar todo eso y pones YES.

Esto demora un ratito y contesta con DONE (hecho).

Luego verificamos que este particionado: Command (m for help): p

Nos devolverá:

/dev/sdb1

Fijense que ya no es sdb sino que es sdb1.

Por ultimo salimos guardando cambios Command (m for help): w

Ahora tenemos que formatear la partición:

mkfs.ext4 /dev/sdb1

En la consola suponiendo que estamos en el raiz vamos a crear una carpeta nueva por cada disco nuevo que vayamos a montar. En esta caso es el disco uno:

mkdir Disco1

Ahora montamos el disco en la carpeta que creamos:

mount /dev/sdb1 Disco1

Por ultimo editamos el  archivo fstab para agregar este disco:

sudo nano/etc/fstab

Al final agregamos esta linea:

sdb1   Disco1  ext4    defaults   0 2

Guardamos el archivo y ya esta montado.

Ahora queda ir a PROXMOX, a la seccion de almacenamiento, agregamos uno nuevo tipo directorio y ya esta!!!

MUY SENCILLO!!!

Además seguramente les va a interesar saber crear un cluster en varios proxmox y lo pueden hacer con esta ayuda: LINK

Gracias por pasar y confiar en #UnBlogEnApuros

Telegram-UnBlogEnAPuros

 

 

 

 

La entrada Agregar discos a un servidor proxmox en funcionamiento aparece primero en Luis Zambrana.

2017-10-30 // luiszambrana


help

[2017-10-27] [email protected]:~$ cat ¿Como puedo bloquear accesos a un sitio por país (Geobloqueo)?

Hola, ¿como andan Gurues?

Hoy les vengo con un problema que no se como encarar:

Me estan pidiendo que en los sitios web de cada cliente, solo puedan acceder desde el pais donde se gestiona.
Es decir, a las webs de argentina, solo puedan entrar desde argentina. a las de EEUU los de EEUU y asi...

Lo primero que pense, es poner en un IPTables, los rangos de IP de cada pais... claro, hasta que vi el rango de IP de EEUU.
Obvio, que sin tener en cuenta proxys y vpn, como para no complicarme en un principio.

¿Alguien me podria orientar en que hacer? Quizas por script o plugin de apache, no tengo idea, todo vale.

Muchas gracias!

2017-10-27 // help


help

[2017-10-24] [email protected]:~$ cat Consulta básica sobre LVM

Estoy haciendo las primeras pruebas con LVM y tengo una duda que, creo, requiere más de la experiencia que del conocimiento teórico.

Aclaración: todo está es en un ambiente virtualizado (sobre Linux), así que existe mucha facilidad para "crear" varios discos de distintos tamaños. Los filesystems son xfs.

Necesito armar dos filesystems con distintas características: uno con un tamaño determinado que probablemente no crezca más que eso y, por otro lado, un filesystem con datafiles de una base de datos y que irá creciendo sostenidamente con el tiempo.

Como no quiero crear discos innecesariamente grandes ahora, pensé armar un LVM que me vaya permitiendo agregar nuevos discos a medida que los necesite.

La pregunta es ¿qué conviene más: crear dos VG con un LV cada uno o crear un sólo VG que tenga dos LV?

Intuitivamente iría por la opción 1 (2 VG) para separar las cosas y tratándose de dos LV supongo que no habrá mucha diferencia hacerlo de una forma u otra... pero en general (pensando en varios VGs/LVs): ¿que es lo que se recomienda? ¿tener varios VG o tener la menor cantidad posibles de VG? ¿O es lo mismo?
Aclaración final: la pregunta va más por el lado de la administración... o de performance "significativo"  (no tanto si es por mejorar 37 milisegundos en una operación de diez segundos) :)

Desde ya, muchas gracias

2017-10-24 // help


help

[2017-10-21] [email protected]:~$ cat Curso online de Software Testing/QA

Hola, quisiera que me recomendaran un curso online de Argentina o en ingles para aprender Software Testing, si es posible que no sea de udemy ni coursera.

Estuve viendo el de la UTN , http://www.sceu.frba.utn.edu.ar/e-learning/cursos-online/Informatica-y-Sistemas/Professional-Testing-Master/temario.html  y parece completo, que me recomiendan?

 

Espero sus respuestas, desde ya agradezco todas las opiniones, Muchas Gracias

2017-10-21 // help


help

[2017-10-20] [email protected]:~$ cat NATIVE_VLAN_MISMATCH

Estimados, tengo un switch Cisco 3560, que a las bocas de la 16 a la 31 las he seteado en una VLAN 700 de la siguiente forma:

interface FastEthernet0/16
 switchport access vlan 700
 switchport mode access
!
interface FastEthernet0/17
 switchport access vlan 700
 switchport mode access

A estas bocas conecto un enlace que viene de un proveedor y dos bocas del cluster vmware para poner ciertas máquinas virtuales que vean ese enlace. El tema es que no quiero que desde el resto de mi red se vean esos enlaces (aunque tengan distinta subred), pero quise aislarlo asi por vlan.

Ahora, en el switch me está tirando en el log el siguiente error, una vez por minuto:

%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/21 (700), with datac.28 FastEthernet0/4 (1).

(supongo que datac.28 será el switch del otro lado del enlace)

No tengo mucha experiencia con vlans, asi que capaz que la estoy usando para algo que no debería o me falta algo de configurar. Cómo debería solucionar esto para que no me marque más el error en los logs, pero a la vez que las bocas 16 a 31 del switch estén aisladas del resto de la red?

 

2017-10-20 // help


help

[2017-10-17] [email protected]:~$ cat Settear ACL en NFSv4

Buenas.

Estoy teniendo problemas al settear una ACL a un directorio que es presentado por NFSv4. Quiero lograr definir una ACL que permita que todo archivo creado en un parent directory herede una ACL determinada.

Ejemplo.

$> setfacl -m d:u:imartinez:rwx o/
$> touch o/pepe
$> getfacl o/pepe 
# file: o/pepe
# owner: imartinez
# group: imartinez
user::rw-
user:imartinez:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--

El Ejemplo anterior es lo que busco lograr en NFSv4, o sea, que todos los archivos creados en un determinado directorio tengan una ACL que permitan rwx del grupo (modificar el umask)

Paquetes:

  • nfs-utils-1.3.0-0.8.el7.x86_64
  • nfs4-acl-tools-0.3.3-13.el7.x86_64

OS: Rhel 7.1
Documentación:  https://wpollock.com/AUnixSec/NFSv4ACLs.htm

Gracias

2017-10-17 // help


help

[2017-10-12] [email protected]:~$ cat Yum y la curl#60 - "Peer's certificate issuer has been marked as not trusted by the user."

Equipo:

Buenas tardes,

Vengo hoy a pedirles auxilio con una instalacion via yum de postgres 10, algo que hago a casi a diario y hasta de memoria les diria ;P

Creo el repo, apunto las url, tiro el yum install...  y me sale un error curl 60. Y no se para donde encarar.

¿Alguien me podria dar una mano a ver que puedo hacer?

Es un Centos 7.2, el postrgres es un 10 (nuevito)

Algunas pruebas:

# yum repolist
Loaded plugins: fastestmirror
base | 3.6 kB  00:00:00
extras | 3.4 kB  00:00:00
https://apt.postgresql.org/pub/repos/yum/10/redhat/rhel-7.2-x86_64/repodata/repomd.xml: [Errno 14] curl#60 - "Peer's certificate issuer has been marked as not trusted by the user."
Trying other mirror.
It was impossible to connect to the CentOS servers.
This could mean a connectivity issue in your environment, such as the requirement to configure a proxy,
or a transparent proxy that tampers with TLS security, or an incorrect system clock.
Please collect information about the specific failure that occurs in your environment,
using the instructions in: https://access.redhat.com/solutions/1527033 and create a bug on https://bugs.centos.org/

updates | 3.4 kB  00:00:00

Loading mirror speeds from cached hostfile
 * base: centos.brnet.net.br
 * extras: centos.brnet.net.br
 * updates: centos.brnet.net.br
pgdg10/primary_db              FAILED
https://apt.postgresql.org/pub/repos/yum/10/redhat/rhel-7.2-x86_64/repodata/66561b5f7f635c8c44ce3a66551b8c58b47d65ec53e472714260282d1713aa34-primary.sqlite.bz2: [Errno 14] curl#60 - "Peer's certificate issuer has been marked as not trusted by the user."
Trying other mirror.
https://apt.postgresql.org/pub/repos/yum/10/redhat/rhel-7.2-x86_64/repodata/66561b5f7f635c8c44ce3a66551b8c58b47d65ec53e472714260282d1713aa34-primary.sqlite.bz2: [Errno 14] curl#60 - "Peer's certificate issuer has been marked as not trusted by the user."
Trying other mirror.

pgdg10/primary_db              FAILED
https://apt.postgresql.org/pub/repos/yum/10/redhat/rhel-7.2-x86_64/repodata/66561b5f7f635c8c44ce3a66551b8c58b47d65ec53e472714260282d1713aa34-primary.sqlite.bz2: [Errno 14] curl#60 - "Peer's certificate issuer has been marked as not trusted by the user."
Trying other mirror.
https://apt.postgresql.org/pub/repos/yum/10/redhat/rhel-7.2-x86_64/repodata/66561b5f7f635c8c44ce3a66551b8c58b47d65ec53e472714260282d1713aa34-primary.sqlite.bz2: [Errno 14] curl#60 - "Peer's certificate issuer has been marked as not trusted by the user."
Trying other mirror.
repo id         repo name          status
base/7/x86_64                      9,591
extras/7/x86_64 CentOS-7 - Extras  227
pgdg10          0
updates/7/x86_64CentOS-7 - Updates 740
repolist: 10,558


# curl -v --X https://apt.postgresql.org/pub/repos/yum/10/redhat/rhel-7.2-x86_64/repodata/repomd.xml
* About to connect() to apt.postgresql.org port 443 (#0)
*   Trying 174.143.35.246...
* Connected to apt.postgresql.org (174.143.35.246) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Server certificate:
*       subject: CN=ftp.postgresql.org
*       start date: Aug 28 09:34:00 2017 GMT
*       expire date: Nov 26 09:34:00 2017 GMT
*       common name: ftp.postgresql.org
*       issuer: [email protected],CN=FortiGate CA,OU=Certificate Authority,O=Fortinet,L=Sunnyvale,ST=California,C=US
* NSS error -8172 (SEC_ERROR_UNTRUSTED_ISSUER)
* Peer's certificate issuer has been marked as not trusted by the user.
* Closing connection 0
curl: (60) Peer's certificate issuer has been marked as not trusted by the user.
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

2017-10-12 // help


epzylon

[2017-10-10] [email protected]:~$ cat Sobre la situación de Kaspersky con EEUU

En estas últimas semanas, vienen saliendo distintas notas en diarios y blogs sobre el conflicto que hay entre EEUU y la empresa de seguridad rusa Kaspersky Lab.

Voy a hacer mi humilde esfuerzo por ordenar lo que vino pasando hasta ahora desde que empecé a seguir el tema.

Disclaimer: Esto es exclusivamente mi opinión personal y en base a las fuentes que yo encontré en internet.

Para los que vienen siguiendo el tema no voy a decir nada nuevo, y esto es solo una compilación y traducción de lo que vengo leyendo, sobre todo en Twitter y los portales de noticias.

13 de septiembre de 2017: Comunicado del Departamento de Seguridad de EEUU prohibiendo productos de Kaspersky en sus agencias.

(Link)

TL;DR: Por miedo a que las agencias de inteligencia rusa puedan exigirle a Kaspersky cooperar revelando información de las computadoras de sus usuarios, prohibieron el uso de sus productos en el Departamento de Seguridad. Básicamente por ser rusa.

El Departamento de Seguridad Nacional de los Estados Unidos (DHS) emitió un comunicado en el que ordenó a todas sus agencias y departamentos “identificar cualquier uso o presencia de productos de Kaspersky o sus sistemas de información (…) e implementar los planes para la discontinuación y remoción de los mismos de los sistemas de información”.

En el comunicado dicen basarse en “los riesgos de seguridad que conlleva usar productos de Kaspersky en los sistemas de información federales”, porque “los productos y soluciones de Kaspersky tienen amplio acceso a los archivos y privilegios elevados en las computadoras en las que están instalados”, lo cual podría ser explotado por actores maliciosos (léase otras agencias de inteligencia, hackers, terroristas, etc.).

El DHS dijo estar preocupado por posibles lazos entre ciertas personas en Kaspersky y la inteligencia rusa, y por “artículos en la ley rusa que permiten a las agencias de inteligencia pedir u ordenar cooperación de Kaspersky, e interceptar comunicaciones que pasan por redes rusas”.

Finalmente dice que “el gobierno ruso, por su cuenta o colaborando con Kaspersky, podría aprovecharse del acceso provisto por productos de Kaspersky para comprometer información federal, y es un riesgo que implica directamente a la seguridad nacional estadounidense”.

Hasta aquí el comunicado. Encontré una página que recopila y permite comparar legislaciones de inteligencia de diferentes países, recolectadas por abogados.

Por ejemplo, en la ley rusa
La ley aplicaría más que nada a los ISP y otras empresas de telecomunicaciones, y en principio no influiría en una empresa de antivirus como Kaspersky de manera directa.

Respuesta de Kaspersky Lab via @e_kaspersky (Eugene Kaspersky), el CEO y fundador de la empresa:

TL;DR: Kaspersky Lab dice que son acusaciones sin fundamento, que no tiene nada que ver con las agencias rusas y nadie presentó pruebas.

“Dado que Kaspersky Lab no tiene lazos inapropiados con ningún gobierno, la empresa está decepcionada con la decisión del Departamento de Seguridad Nacional de EEUU, y vamos a aprovechar esta oportunidad para brindarle a la agencia información adicional que confirma que estas acusaciones carecen completamente de fundamento. Ninguna persona ni organización presentó públicamente evidencia creíble ya que el alegato está basado en falsas acusaciones y suposiciones erróneas, incluyendo las afirmaciones acerca de la legislación rusa y las políticas que impactarían a la empresa”

Comunicado de prensa más extenso

Respecto del comunicado del DHS salió este artículo en PCMag UK sobre los rumores y la situación de Kaspersky, y tienen bastante más idea que yo.

No es la primera vez que EEUU hace este tipo de acusaciones a Kaspersky Lab, y su CEO ya ofreció mostrar el código de sus productos para disipar las sospechas.

Acá hay una nota de julio de este año al respecto en AP news.

Acusaciones en un artículo de opinión en el NY Times del 4 de septiembre

…y la respuesta en un comunicado de prensa de Kaspersky Lab.

 

14 de septiembre de 2017: El CEO de Kaspersky invitado a declarar frente a la Cámara de Representantes de Estados Unidos

TL;DR: El Congreso de EEUU llama al CEO de Kaspersky a declarar. E. Kaspersky acepta (si le dan una visa para entrar…). Después le posponen la audiencia. Continuará…

(Link)

 El comité de Ciencia, Espacio y Tecnología de la Cámara de Representantes de EEUU invitó oficialmente al CEO de Kaspersky Lab a declarar en una audiencia a realizarse el 27 de septiembre, “a la luz de sus repetidas ofertas de ‘reunirse con funcionarios del gobierno y testificar frente al congreso’”, para revisar “hasta qué punto el gobierno federal hace uso de los productos de su empresa”.

Respuesta de @e_kaspersky en Twitter:

“Acepté la invitación a testificar frente a la Cámara de Representantes de EEUU y responder las acusaciones sobre KL [Kaspersky Lab]. Ojalá que me den la visa.”

Challenge accepted!

Comunicado de prensa

Pero parece que reprogramaron la audiencia…

 

Mientras tanto, otras empresas de seguridad…

Aprovechando la situación, algunas empresas de seguridad como McAfee intentaron atraer a los clientes de Kaspersky en EEUU vendiendo “seguridad hecha en Estados Unidos”, apoyándose en que “el FBI aconseja no usar Kaspersky por sus supuestos lazos con espías rusos”

(via @e_kaspersky)

Al final de este artículo hay una recopilación de publicidades parecidas

5 de octubre de 2017: El Wall Street Journal publica un artículo acusando a Kaspersky de facilitar a los hackers rusos el robo de datos a la NSA en 2015

(Link)

Muy buen análisis y citas del artículo
En un artículo de The Wall Street Journal (WSJ), según informaron (anónimamente) “varias personas entendidas en el asunto”, hackers trabajando para el gobierno ruso robaron información altamente confidencial de la NSA en 2015. Un individuo contratado por de la NSA, según dijeron estas personas, se llevó esta información a la computadora de su casa, y estos hackers “habrían atacado la computadora después de haber identificado los archivos porque el empleado usaba un popular antivirus hecho por Kaspersky”. Expertos citados por WSJ dijeron que el software pudo haber detectado muestras de código malicioso en esa información, y lo que no se sabe es si “los técnicos de Kaspersky programaron el software para buscar (…) indicios de material de la NSA” o “si Kaspersky alertó al gobierno ruso del hallazgo”.

Nuevamente según “personas [anónimas] entendidas en el asunto”, “los investigadores sí determinaron que, valiéndose del conocimiento provisto por el software de Kaspersky (…), hackers contratados por Rusia localizaron la computadora y robaron gran cantidad de información”.

Además, el artículo menciona que la NSA no hizo declaraciones al respecto, y “el Departamento de Defensa, del cual la NSA es parte, tiene contrato con otra empresa antivirus, no Kaspersky”.

El artículo no cita una fuente concreta ni presenta pruebas acerca del empleado, su computadora o la participación de Kaspersky o los hackers.

Además, como bien dice el artículo de ArsTechnica, deja la duda de cómo consiguieron la información estos hackers: ¿Es un bug en el antivirus?, ¿Están comprometidas las redes y los sistemas de Kaspersky?, ¿Es a propósito, y Kaspersky les pasó la información directamente?

En cualquier caso, ¿qué hacía un empleado de la NSA llevándose información altamente confidencial a su casa? Haya tenido o no que ver Kaspersky en la filtración desde la computadora del empleado, hay una filtración desde la NSA a esa computadora antes por parte del empleado. Y si la NSA trabaja con malware para hacer espionaje, es de esperar que el antivirus lo detecte…

La respuesta de Kaspersky Lab al respecto en Twitter (via @e_kaspersky):

Comunicado de prensa

“Kaspersky Lab no recibió ninguna evidencia sustentando la participación de la empresa en el incidente del que se la acusa en el Wall Street Journal el 5 de octubre de 2017, y es desafortunado que la cobertura mediática de afirmaciones sin fundamento continúe perpetuando las acusaciones a la empresa.

“Reiteramos nuestra voluntad de trabajar junto con las autoridades de EEUU para responder a cualquier inquietud que puedan tener acerca de nuestros productos, y respetuosamente solicitamos cualquier información relevante que pueda permitir a la empresa comenzar una investigación lo antes posible

“Como la empresa privada que es, Kaspersky Lab no tiene lazos inapropiados con ningún gobierno, incluyendo Rusia, y la única conclusión es que Kaspersky quedó en medio de una contienda geopolítica.

“No vamos a disculparnos por ser agresivos en la batalla contra el malware y los cibercriminales. La empresa detecta activamente y mitiga infecciones de malware, sin importar su origen, y lo hemos estado haciendo orgullosamente durante 20 años, lo cual nos llevó a mantenernos en los primeros lugares en pruebas independientes de detección de malware. También es importante notar que los productos de Kaspersky Lab adhieren a los estrictos estándares de la industria de la ciberseguridad y tienen niveles de acceso y privilegios sobre los sistemas que protegen similares a los de otros populares proveedores de seguridad en EEUU y en todo el mundo”– Kaspersky Lab

Ya veremos cómo se sigue desarrollando esto en los próximos días.

 

 

2017-10-10 // epzylon


help

[2017-10-08] [email protected]:~$ cat ejercicio sobre subneteo

Buenas, compre un curso de winserv y llegue a la parte de subneteo y me pide hacer un ejercicio.. y bueno recurro a los que saben para ver si me pueden decir si lo planteé bien. Me pide esto:
En un hoja realizar el siguiente análisis
Partiendo de un direccionamiento 172.16.x.y calcular 120 subredes con 200 host por
subred, deberá indicar cuál es la capacidad de segmentos y de host en la solución
planteada.
Yo lo subi a onedrive para visualizarlo https://1drv.ms/t/s!AingVO7e7mTDj0Qr1CSu65PsEHxa
Gracias.

2017-10-08 // help


chownealo

[2017-10-06] [email protected]:~$ cat Disco Ssd 250gb Western Digital Nuevo

 Disco Ssd 250gb Western Digital Nuevo

Listo para sus necesidades informáticas de alto rendimiento, el SSD WD Blue ofrece un almacenamiento optimizado con una velocidad increíblemente rápida y una fiabilidad líder.Rendimiento superiorCon velocidades de lectura de hasta 545 MB/s y de escritura de hasta 525 MB/s, los SSD WD Blue SATA proporcionan un arranque rápido del sistema y un menor tiempo de carga.1Fiabilidad líderUna tasa de resistencia de hasta 400 TBW y hasta 1,75 millones de horas de tiempo medio entre fallos garantizan que el SSD WD Blue pueda ayudarle a almacenar sus datos durante años.2Multitarea maximizadaOptimizados para trabajar en multitarea, los SSD WD Blue pueden ejecutar simultáneamente y con facilidad varias aplicaciones exigentes.Más información en: https://www.wdc.com/es-es/products/solid-state-drives/wd-blue-ssd.html

2017-10-06 // chownealo


help

[2017-10-04] [email protected]:~$ cat Problemas al conectar a servidor VPN

Buenas! Tengo un problema para conectarme a un servidor VPN que monté con SoftEther. El problema es el siguiente: Tengo el servidor VPN conectado a un primer router, ese router se conecta a un segundo router que sale a la WAN. He intentado realizar un Port Forwarding, para redirigir el puerto que utiliza la VPN hacia el servidor, y no he podido conectarme. Tampoco es viable conectar directamente el servidor al primer router. Alguno sabe cómo podría hacer para que me pueda conectar al servidor?

Muchas gracias!!!

2017-10-04 // help


help

[2017-09-29] [email protected]:~$ cat windows 2008 +gpo ejecucion de script

buenas una consulta,

estoy necesitando ejecutar un script en todas los equipos de un dominio y necesito que no dependa del inicio de sesion de un usuario sino que lo haga por maquina hay alguna forma de hacerlo sin que me pida contraseña de administrador en cada equipo?

2017-09-29 // help


help

[2017-09-26] [email protected]:~$ cat Ambiente Virtualizacion

Buenas, quiero armar en la empresa un ambiente de virtualizacion para instalar servidores linux y win, para prestar servicios internos de DNS, FIle, log, monitoreo,etc,Lo unico que llegue a montar y funciona es KVM sobre Debian en un servidor clon que hace de storage y host, quiero evaluar alguna otra estructura por ejemplo, 2 o 3 host para recursos, 1 o 2 storages (quiero redundancia), tambien quiero saber si alguno tiene corriendo KVM sobre usb stick en produccion? Cualquier idea o comentario me sirve, gracias.

2017-09-26 // help


help

[2017-09-25] [email protected]:~$ cat Abrirpuertos zyxel P8804T

Buenos dias tengo el siguiente inconveniente con un cvr Hikvision 7200.

En la LAN tengo

Un modem Router de Telefonica Zyxcell Modelo P8804T con ip 192.168.2.10

Un Balanceador TP-Link R470t+V5 con IP 192.168.1.52

Tengo el DVR Hikvision DS-7200 con ip 192.168.1.53

(luego tres pcs con sus respectivas ips)

 

El balanceador tiene reserva de ip para los equipos mediante mac, entonces al conectar las pcs a la red automaticamente el Balanceador le asigna mediante DHCP una ip previamente reservada.

El zyxcell tiene otro rango de ip ya que el balanceador toma mediante dhcp desde su wan y da internet mediante su ip propia de lan (192.168.1.52)

Lo mismo sucede con el DVR, aunque preferi colocarla la ip que le corresponde al DVR.

El gran desafio que no logro pasar es comoo abrir los puertos 8000 y 2200 en ese zyxell ya que he leido y visto videos pero todos dicen port forwarding y este equipo solo tiene virtual server y DMZ.

1 - Como abro dichos puertos en el zyxell?

2 - Al tener el balanceador debo ademas de abrir los puertos en el zyxell abrirlos en el balanceador para redirigirlos hacia la ip del dvr?

Disculpen las molestias esto no lo he realizado jamas y todo lo que he probado hasta el momento es sin resultados satisfactorios.

Saludos

2017-09-25 // help


help

[2017-09-23] [email protected]:~$ cat zabbix, cacti, qué iusar para monitorear tráfico de red y uptime de servicios.

tenemos dos necesidades, una para cubrir ASAP y otra que pasa por mis inquietudes.

ASAP: Necesitamos monitorear tráfico de puertos WAN de unos routers y con ellos poder estuimar el percentil 95 de consumo entre tramos singulares de tiempo (ej los días entre el 7 del mes pasado y el 7 de este mes). El router admite habilitar SNMP y encontré cómo hacerlo con cacti facilmente.

Por otro lado tenemos a the dude de mikrotik   y me gustaría proponer algo web instalabe el linux y que sea mejor si se pudiera. El fuerte de la aplicación esa es que se ven los hosts en un mapita que uno organiza por la topología lógica o física y se pinta de rojo si algo se cae, a la vez es fácil ver el tráfico que existe en uno de los tramos y se almacenan gráficas.

No sé si ese programa lo permite, pero a mí me gustaría poder monitorear el estado de servicios (no me interesa saber que el host responde ping si ahí se usa http/smtp/imap) y también poder configurar que se inicien acciones como enviar mail, disparar un bot de telegram o algo así.

Hace años supe de cacti y zabbix, nunca me terminé de involucrar del todo, tal vez ahora exista algo más millenial, cool o lo que sea y hasta mejor. Desconozco, estoy atento a sus respuestas.

Muchas gracias,

2017-09-23 // help


help

[2017-09-20] [email protected]:~$ cat OCS Inventory con Xampp en Debian

Bueeeeeeeeeeeeenassssssssss. Queria consultar si alguien ha instalado OCS inventory server en un debian mediante xampp.

 

Lo he instalado con lampp y con la aplicacion xampp y nada, he leido muchos tutoriales paso a paso y nada. Cuando llego al 127.0.0.1/ocsreports la pantalla queda en blanco tanto con xampp como con apache2.

O algun tutporial para Debian 9 bien APB ( a prueba de boludos)

Graciasssssssssssssssssss

2017-09-20 // help


desarrolloylinux

[2017-09-19] [email protected]:~$ cat [Tip - Linux] - Non Interactive forms in apt autoremove

Me sucedió recientemente que debia programar un script que limpie en apt los servidores con autoremove, pero la tarea se volvio complicada ya que "apt-get -y autoremove" cuando esta limpiando las imagenes del kernel empieza a preguntar si los archivos de configuracion los queremos cambiar o dejar como estan, teniendo que dar enter una y otra vez.


En mi caso, luego de charlar el tema en https://sysarmy.com.ar/help/ , me indicaron que pruebe con esto, que fue mi solucion definitiva:

DEBIAN_FRONTEND=noninteractive apt-get -y autoremove


Saludos!


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2017-09-19 // desarrolloylinux


help

[2017-09-14] [email protected]:~$ cat Como se llama o quien desarrollo el sistema de preguntas de sysarmy?

Me interea mucho poder utilizar dicha metodologia para una lan interna para poder dar una especie de "base de conocimiento" para los usuarios ocn temas referentes a la empresa.

Es open Source? Empresa que lo diseño? etc etc Gracias

2017-09-14 // help


help

[2017-09-14] [email protected]:~$ cat Nextcloud con servicio IP Fija de Fibercorp

Buenas tardes, queria saber si alguien configuro Nextcloud en un server propio teniendo el servicio de ip fija de Fibercorp.

Estoy utilizando Debian 9 ya logre instalar apache y Nextcloud via LAN todo funciona perfecto. El tema se me esta complicando cuando quiero ingresar desde afuera. Mire muchos tutos de No-ip, pero no logro poder ingresar desde afuera.

Debo abrir puertos del router de Fibercorp?

Disculpen las molestias

Gracias

2017-09-14 // help


help

[2017-09-12] [email protected]:~$ cat Vps con puerto 25 bloqueado

Gente, tuve un quilombo con un vps y el spam, digital ocean me bloqueo la salida, dije le hago relay a otro y chau, pero me bloqueo el 587 tmb, Que hago? paso todo a otro servidor? (medio bardo, tiene webserver tmb). Para safar cree en el otro servidor las mismas cuentas y le apunto el smtp a ese servidor, el tema es que los mails internos llegan a ese server y no al "real"

 

Gracias!!

2017-09-12 // help


help

[2017-09-11] [email protected]:~$ cat Apache redirect

Buenos dias. Estoy creando unas reglas de redireccion del tipo friendly, para unas urls que son un poco duras. Tengo la siguiente url legacy:

www.misitio.com/SeccionRevista/revista.html?id=ARS .

Y lo quiero transformar a www.misitio.com/SeccionRevista/nueva-edicion-revista-m0007.html .

Para esto, hice una regla de este tipo (en el .conf de sites availables de apache2):

 

#Regla friendly
RewriteCond %{REQUEST_URI} ^/SeccionRevista/.*-m0007.html [NC]
RewriteRule ^/SeccionRevista/.*-m0007.html  /cms/SeccionRevista/revista.html?id=ARS [PT]

 

Ahora, la parte que no puedo resolver, es redireccionar la url legacy (indexadas por Google), que devuelva un 301 a la nueva url friendly, pero todavia no logro aplicarlo en el mismo archivo conf (que no se si esto es correcto). Quiero decir que, si google tiene indexada mi revista.html?id=ARS, que el response sea un 301 a nueva-edicion-revista-m0007.html .

Mi pregunta es: es posible hacer esto en el mismo archivo host? no estaria dentro de un loop?, que otras alternativas puedo concurrir?.

 

Saludos y gracias.

2017-09-11 // help


root

[2017-09-11] [email protected]:~$ cat Resultados de la encuesta de sueldos 2017.2

Queremos agradecer a los más de 5000 participantes que formaron parte de esta nueva encuesta de sueldos!

Les dejamos este Google Spreadsheet para que puedan ver y analizar los resultados (pueden hacer una copia o bajar las hojas en formato csv). Esperamos con ansias los análisis de la comunidad!

Como siempre, algunas frases que nos regaló la gente:

Quisiera ser panadero y olvidarme todo lo que se.

No se lo deseo ni a mi peor enemigo.

Es como un taller textil en Flores

El ambiente está bueno pero el dueño es un Steve Jobs tercermundista

Gano menos que un albañil

Jaula de galvanizado

Trabajo muy duro, como un esclavo, ya se me olvido. Ay, ya se me olvidó, ¡Paguenme dinero!

Me molesta soberanamente la ch?ta, el equipo de managment que se dedica a secarle la p?ja a todos los demas equipos.

Es medio una verduleria

Deberían cambiarle el nombre a “Tercerizamos S.R.L.”

Todo lo que no hacen los zánganos de mis compañeros termina recayendo sobre mí.

El gerente es un pel?tudo.

El ambiente es bueno salvo que el banio se inunda y no hay papel

send help


2017-09-11 // root


help

[2017-09-10] [email protected]:~$ cat Solución Integral Fortinet

Buenas tardes. Me gustaría saber si alguno trabaja actualmente con Fortinet y cuales son sus opiniones.

Soy nuevo con la marca y estoy pensando en adquirir el siguiente equipamiento:

FortiGate 60E / FortiGate 61E / FG-100E

FORTISWITCH 224D-FPOE

FAP-221C / FAP-320C

2017-09-10 // help


help

[2017-09-07] [email protected]:~$ cat Zabbix - Housekeeper 75% y Cpuwait (Disk I/O)

Estimados,

Tenemos un Zabbix con MySQL. que primero nacio para pequeños trabajos, y ahora esta monitoreando gran parte de la infraestructura, el gran salto lo dio cuando se le agrego el Vcenter y se empezaron a implementar Proxys en lugares distribuidos.

El problema que tenemos ahora es el HouseKeeper se dispara 1 o 2 veces por día (tal vez más) por arriba del 75%, en algunos momentos esta 1 hora ahí arriba. En simultaneo se da que el CPUWait también se dispara por arriba del 90% (Esto pasa bastante más seguido)

No se si los procesos tendran que ver o no, lo del CPUWait puede ser por los discos, que deba pasarlo a algunos más rapidos. Pero todavía estamos analizando opciones.

He leido, que MySQL no es la mejor opción, y recomienda el paso a Postgres. Pero también he encontrado gente quejandose de lo mismo con Postgres. Tampoco es nuestro fuerte esa base de datos. Pero si sabemos que cambiando el motor de base de datos vamos a reducir el problema, estamos dispuestos a estudiar postgres.

Otra propuestas, es el particionado de la Base, separar las diarias de las mensuales, todavía estamos analizando el proceso. Pero si alguno ya paso por esto, y nos marca el camino por donde seguir nos ayudaría mucho.

Por otro lado, En caso de hacer el cambio de base a postgres. ¿Habría algún problema de mantener los proxys con MySQL?

 

Desde ya muchas gracias!

2017-09-07 // help


help

[2017-09-05] [email protected]:~$ cat Distribución Linux para generar "clientes livianos"

Hola, saludo a todos porque es mi primer participación en esta comunidad y empiezo preguntando.

Con la idea de reutilizar equipos viejos quería consultarles si existe una distribución o si alguien me puede recomendar alguna otra herramienta que me permita hacer que una máquina arranque de la manera más simple posible (visto desde el lado del usuario) y en vez de permitir iniciar sesión al usuario que directamente habra una sesión por escritorio remoto a una máquina virtual con Micro$oft Windows.

Entiendo que esto lo podría con cualquier distribución liviana como lubuntu y que al arrancar inicie remmina por ejemplo, pero antes de lanzarme a hacer una cosa así quería consultar si alguien ya lo ha hecho o existe ya una solución para esto.

Saludos!

2017-09-05 // help


help

[2017-09-04] [email protected]:~$ cat Registrar un servicio a la service list / autocompletion en Ubuntu Xenial.

Buenas, hice un proceso que corre como servicio en Ubuntu Xenial (16.04.03).

Lo registre en `/lib/systemd/system` craendo un `mytool.service`.

Me gustaria (Si es posible) que aparezca listado en `sudo service --status-all` o cuando hago `sudo service ` <tab> <tab> me lo auto sugiera.

Alguien sabe como hacer esto?

2017-09-04 // help


help

[2017-09-04] [email protected]:~$ cat ¿Cuánto y cómo se cobra el trabajo de DevOps?

¿Cómo va gente? Espero que bien.

Me aparecieron unas posibilidades para darle servicios de soporte (virtualización y migraciones, más que nada) y desarrollo (además de soft, automatizaciones), bien al estilo DevOps; para pequeñas pymes.
El problema que tengo es que no sé cuánto ni cómo se cobra esto. ¿Será por hora, por proyecto, por máquina?. Gracias desde ya, por toda su ayuda.

Saludos

2017-09-04 // help


help

[2017-08-31] [email protected]:~$ cat Script de expect, error con clave correcta

Hola.

Tengo un script que se conecta con expect a dos controladores de WiFi, de la misma marca y modelo, para hacer un backup.

En uno funciona perfecto, en el otro no, al ejecutarlo el error que da es como si hubiera puesto mal la clave.

Pero si me logueo interactivo, copiando la clave del script, no hay problema.

Alguna idea?

Muchas gracias!

2017-08-31 // help


help

[2017-08-30] [email protected]:~$ cat Se puede virtualizar una interfaz para conectar a un endian virtualizado?

Tengo un desktop la idea es hacer unas pruebas con endian community.

La idea es usarlo como firewall en casa para hacer pruebas. Compre lo que considere necesario para armar todo y poder armar la red en casa, pero no me di cuenta y compre una placa pcie de 1 sola interfaz. Por lo que tendria 1 interfaz para la wan, una interfaz para switchear la red. Y me faltaria una tercera para darle ip al host.

Puedo virtualizar una interfaz y conectarlo con el endian de alguna manera?

2017-08-30 // help


help

[2017-08-30] [email protected]:~$ cat OpenVPN: rutear vlan internas y perfiles de usuarios.

Quiero armar un OpenVPN en el cual pueda tener diferentes perfiles de usuarios.
Tenemos un ASA que hace de gw/firewall de toda la red.
Instalé el server con una interfaz pública y otra en una vlan interna por la cual forwardeo el tráfico del cliente. Esta vlan en el ASA tiene un security level alto por lo cual al hacer el forward tengo acceso todas las otras redes. Así me sirve para los sysadmins, pero no para los otros usuarios.

Mi consulta es la siguiente:
¿me conviene armar una nueva red en el ASA al cual le haga un forward en el OpenVPN y desde el ASA meter ACL que me vaya filtrando los permisos dependiendo la ip de origen de cada cliente?

Me sirve también si alguien tiene armado algo parecido que me cuenten el escenario y qué cosas recomiendan tener en cuenta. Todavía estoy terminando de entender cómo funciona esto de rutear vlan que están del lado del openvpn. Principalmente porque no quiero descuidar ningún aspecto de la seguridad.

2017-08-30 // help


help

[2017-08-30] [email protected]:~$ cat Alternativa a Selenium IDE

Buenas:

Hay alguna herramienta similar a Selenium IDE que sea libre? ya que esta desde FF 55 dejará de funcionar(https://seleniumhq.wordpress.com/2017/08/09/firefox-55-and-selenium-ide/).

 

Gracias

2017-08-30 // help


help

[2017-08-28] [email protected]:~$ cat Certificados (autofirmados) en la intranet

Buenas tardes,

En la empresa tenemos varios sitios internos a los cuales tengo que implementarles HTTPS

Por lo que lei, necesito montar un servidor que pueda generar los certificados (Centos 7 o Windows 2012) y actuar de entidad de validacion.

La limitante a usar letsencrypt seria que estos servidores son internos, sin acceso a internet. (Tengo que crear mi propio letsencrypt ;P )

¿me podrian orientar?

Desde ya, muchas gracias a todso.

2017-08-28 // help


jorgeabreu

[2017-08-18] [email protected]:~$ cat [Videos] - Documental sobre la mision Pathfinder a Marte de la NASA - The Pathfinders

Hace poco vi gracias a un twit de mi idolo Miguel San Martin el documental The Pathfinders, que cuenta la historia detras de la mision  Mars Pathfinder de la NASA para visitar el planeta rojo con un rover llamado Sojourner.


Esta mision despierta emociones especiales en mi, ya que por ser de 1996 es una de las primeras misiones espaciales que pude seguir por television. Y no solo por el mero hecho de ver la mision por television, sino además por formar parte de una generacion que veia por primera vez imagenes en buena calidad desde el suelo marciano.

Gracias a Miguel, y a cientos de otros más, pudimos disfrutar de recorrer Marte sobre ruedas, no se pierdan este precioso documental para ver como fue le proceso de semejante hito tecnologico.

Parte 1:


Parte 2:


Parte 3:


Parte 4:



Saludos.


Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2017-08-18 // jorgeabreu


root

[2017-08-14] [email protected]:~$ cat Como levanté un viejo Proliant (O la espada del Rey Arturo)

Por Pablo Carboni.

El sábado de la última semana de junio, asistí a nerdear.la 2017 – puntual, 9hs – a las charlas previstas. Además de eso, concurrí con una vieja notebook (año 2000), con todo sus elementos originales, CDs grabados inclusive, de FreeBSD(4.x), lista para donarla al Museo de la Informática.

En el evento había como desafío ‘revivir’ un Compaq Proliant DL360 G1 (2001) e instalarle un servidor web.

Todo el mundo había intentado bootear diferentes CDs de Linux….sin éxito. Me habían comentado que estuvieron incluso el día anterior hasta 4 horas(!!) y nada. Incluso probaron reconectar varias veces la lectora, inútilmente.

Por mi parte, con la curiosidad (y a veces insistencia) que me caracteriza, probé iniciar el server. Observé que el BIOS testeaba OK la lectora (breve parpadeo de la misma) y luego booteaba el RAID-1 armado con sus discos de 36GB. Luego entonces, me pregunté: ¿Por qué no pruebo con los CDs que tengo grabados hace 15 años? Quizás sea lectora sucia, o bien velocidad de grabación.

Luego de insertar un FreeBSD 4.9, booteó sin problemas e instalé todo lo necesario como para que tenga red. Incluso, le puse un viejo Bash + lynx. La página de Google.com se visualizó enseguida! (sin soporte de https) Nota: Dada la antigüedad del OS, es necesario hacer una serie de upgrades adicionales para llevarlo a FreeBSD 11.0, e instalar un NGINX o bien un Apache.

Durante la fiesta de cierre de nerdear.la, Werner Almesberger -habitué de eventos de SysArmy- , hizo la extraña(?) comparación entre la espada del Rey Arturo y el CD de instalación que usé para levantar el server en 2 minutos 😉


2017-08-14 // root


chownealo

[2017-08-09] [email protected]:~$ cat Apple Iphone 7 Plus 32gb 12mp 4k Gold

Apple Iphone 7 Plus 32gb 12mp 4k Gold

Último modelo de Iphone

traído de USA

 

Es el Iphone 7plus 32GB, color gold/dorado.

 

Se entrega en caja con todos sus accesorios como viene de fábrica, se compro en tienda Apple, y nunca fue usado.

 

El precio es si abonan con MercadoPago; si es efectivo o transferencia bancaria se puede hacer una atención importante, consulte.

La entrega es gratuita en: Ramos Mejía y sus alrededores, y Almagro y sus alrededores, y Adrogué. Consulte zonas, quizá se pueda llegar a un acuerdo.

2017-08-09 // chownealo


chownealo

[2017-06-20] [email protected]:~$ cat Extremecam2 Camara Extrema Sumergible

Extremecam2 Camara Extrema Sumergible

Filmaciones HD en 720p // Fotos de 5.0MP // Carcasa a prueba de agua // Micrófono incorporado //

Pantalla táctil de 2.0" Sensor 1.3mpx

- Formato imágenes JPG - Formato de video AVI - Zoom digital 4X - Memoria externa trajeta micro SD - Foco fijo gran angular 120° - USB 2.0

La videocámara EXTREME CAM es una cámara de alta resolución que permite fotografiar y grabar los mejores momentos. Ideada para filmar en movimiento, e incluso bajo el agua en una profundidad de hasta 3 metros.

Tiene una resolución de alta calidad de 1280 X 720 píxeles y un zoom digital 4X para que no perder ningún detalle.

Entre las características de la videocámara EXTREME CAM se encuentran su micrófono incorporado, su batería de litio de 300 maH y su pantalla táctil de 2” para que tengas el control de todas sus funciones en la punta de tus dedos.

Las fotografías se guardan en formato JPG mientras los archivos de video se almacenan en formato AVI.Finalmente, tiene una ranura para tarjeta SD que permiten expandir su memoria. (Memoria no incluida)

 

Se hacen envios, costo a cargo del comprador o se retira en Palermo Hollywood

2017-06-20 // chownealo


openqube

[2017-06-19] [email protected]:~$ cat Comentario en Balloon Webs por Product Manager - Empleado

Ambiente / Cultura laboral

8

Beneficios

6

Equipamiento para trabajar

10

Posibilidad de crecimiento

7

Salario

8

Pros

Te ayuda a crecer en el ámbito laboral y te dan la oportunidad de desarrollarte por tu cuenta.

Contras

Al ser una pyme hay ciertos límites de beneficios para con los empleados.

Qué cambiarías?

Mejoraría los beneficios extras que se brindan

La recomendaría a un amigo.

2017-06-19 // openqube


openqube

[2017-06-19] [email protected]:~$ cat Comentario en Quoma por Desarrollador - Empleado

Ambiente / Cultura laboral

7

Beneficios

1

Equipamiento para trabajar

5

Posibilidad de crecimiento

2

Salario

3

Pros

Excelentes compañeros de trabajo. Los proyectos son innovadores y los clientes son tranquilos.

Contras

Falta de dirección. Carecen de metodologías de trabajo. A veces nadie sabe qué hace y por qué lo hace.

Qué cambiarías?

Más organización y planificación. Codereview.

No la recomendaría a un amigo.

2017-06-19 // openqube


openqube

[2017-06-18] [email protected]:~$ cat Comentario en EcoSistemas por Otro - trabajó hasta 2017

Ambiente / Cultura laboral

1

Beneficios

1

Equipamiento para trabajar

1

Posibilidad de crecimiento

1

Salario

3

Pros

ninguno porque no mejoran el clima una torta, facturas o masajes.

Contras

Hacen mobbing para cansar a la gente y se vaya sola para no pagar.

Qué cambiarías?

Todo.Es nefasto, ese lugar no cuidan a la gente

No la recomendaría a un amigo.

No volvería a trabajar.

2017-06-18 // openqube


openqube

[2017-06-17] [email protected]:~$ cat Comentario en BairesDev por Desarrollador - trabajó hasta 2017

Ambiente / Cultura laboral

8

Beneficios

7

Equipamiento para trabajar

9

Posibilidad de crecimiento

7

Salario

9

Pros

Trabajo remoto 100%, pagan mejor que varias otras compañías, posibilidad de trabajar con empresas del exterior. Los visité hace poco cuando volví de viaje y se mudaron a una torre en Puerto Madero al lado del Luna Park, tienen todo un piso, quedó muy buena.

Contras

Creo que nada, no tuve problemas con ellos. Me fuí porque me salió una beca para estudiar en Alemania.

Qué cambiarías?

Habían algunos PMs que eran medio forros, creo que se avivaron y los terminaron rajando.

La recomendaría a un amigo.

Volvería a trabajar.

2017-06-17 // openqube


openqube

[2017-06-17] [email protected]:~$ cat Comentario en BairesDev por Desarrollador - trabajó hasta 2017

Ambiente / Cultura laboral

8

Beneficios

7

Equipamiento para trabajar

10

Posibilidad de crecimiento

7

Salario

9

Pros

Excelentes oficinas, se mudaron a una torre en Puerto Madero. Te dan una compu nueva apenas entrás. Pagan bien comparado con otras empresas. Trabajo remoto 100% y si vas a la oficina, hay snacks.

Contras

Nada, me fui por un viaje de estudio, volvería a trabajar con ellos.

Qué cambiarías?

Tenían problemas con algunos PMs, pero me enteré que cambiaron a varios, así que nada para cambiar.

La recomendaría a un amigo.

Volvería a trabajar.

2017-06-17 // openqube


openqube

[2017-06-17] [email protected]:~$ cat Comentario en Elementum por Desarrollador - Empleado

Ambiente / Cultura laboral

9

Beneficios

9

Equipamiento para trabajar

9

Posibilidad de crecimiento

8

Salario

8

Pros

Excelente clima de trabajo, muchos beneficios y posibilidades reales de desarrollo profesional. Elementum SCM es una empresa donde tu única preocupación es hacer tu trabajo, todo el resto ya está resuelto

Contras

La sincronización entre US y AR. Arrancamos en AR hace muy poco así que todavía hay legacy code y muchas tecnologías/procesos anticuados.

Qué cambiarías?

Ser menos client-oriented para poder tener planificaciones robustas y no tener que correr por los death lines.

La recomendaría a un amigo.

2017-06-17 // openqube


openqube

[2017-06-15] [email protected]:~$ cat Comentario en CRZ Construcciones por Otro - trabajó hasta 2017

Ambiente / Cultura laboral

9

Beneficios

8

Equipamiento para trabajar

9

Posibilidad de crecimiento

7

Salario

8

Pros

Lo bueno es que que te dejan crear y proponer todos los temas necesarios.

Contras

Faltan reglas claras de juego. No se conocen objetivos y estrategias.

Qué cambiarías?

La dirección general debe bajar pautas claras.

La recomendaría a un amigo.

Volvería a trabajar.

2017-06-15 // openqube


openqube

[2017-06-15] [email protected]:~$ cat Comentario en FX Informatica por Analista - trabajó hasta 2017

Ambiente / Cultura laboral

1

Beneficios

1

Equipamiento para trabajar

1

Posibilidad de crecimiento

1

Salario

1

Pros

– 1/4 de helado gratis lo Viernes
– Localidad en la que las “oficinas” se encuentran ubicadas

Contras

– Las “oficinas” son departamentos disfrazados
– Equipamiento viejo
– Windows trucho
– Uso de Visual Basic 5.0 para practicamente todo
– Soberbia de parte de los “pesos pesados”
– Horario no flexible
– Obra Social pésima
– Salario pobre
– Para ir al baño tenés que ir al departamento de al lado
– Crecimiento personal totalmente nulo
*Sigue abajo.

Qué cambiarías?

– Registrar el minuto a minuto dentro de la oficina en un Sistema de Tareas. (Te hacen cargar hasta los minutos usados para ir al baño o hacerse un cafe)
– SGC mal organizado
– La red interna funciona muy mal
– Las notebook se tildan y las entregan practicamente peladas

PD: Compren Windows, no sean ratas.
Esta empresa sigue en pie porque no hay otra que haga el “laburo” que hacen ellos.

No la recomendaría a un amigo.

No volvería a trabajar.

2017-06-15 // openqube


openqube

[2017-06-15] [email protected]:~$ cat Comentario en FX Informatica por Analista - trabajó hasta 2017

Ambiente / Cultura laboral

1

Beneficios

2

Equipamiento para trabajar

1

Posibilidad de crecimiento

1

Salario

1

Pros

La empresa te regala un helado de cuarto de Kilo cada semana con sabores a elección.

Contras

Las oficinas son unos departamentos, aspecto que da la imagen de ser una empresa muy poco competente a primera vista. Notebooks que no pueden correr el office 365 de manera eficiente. Aumentos salariales casi inexistentes. Un sistema de tareas abusivo que exige registración minuciosa sobre cada minuto en la empresa. Y un viernes no me dieron el helado.

Qué cambiarías?

Hay que deshacerse del sistema de tareas, de nada sirve llevar un registro de las tareas si a la hora de la verdad no se dispone del histórico de correos para verificar la información de las tareas mas viejas en base a lo discutido con los usuarios.

No la recomendaría a un amigo.

No volvería a trabajar.

2017-06-15 // openqube


openqube

[2017-06-14] [email protected]:~$ cat Comentario en ATOS por HelpDesk - Empleado

Ambiente / Cultura laboral

2

Beneficios

2

Equipamiento para trabajar

2

Posibilidad de crecimiento

1

Salario

1

Pros

lo unico beneficios que son pocos y las personas que se ayudan

Contras

rrhh, los sueldos, los jefes, el crecimiento, cursos no son adaptados al puesto, en las oficinas del cliente los jefes no existen.

Qué cambiarías?

creo que todo. menos la calides de las personas que trabajan a la par.

No la recomendaría a un amigo.

2017-06-14 // openqube


chownealo

[2017-06-03] [email protected]:~$ cat Intel I7 6700 3.4GHz 16gb Ddr4 1tb Dvd Wifi

Intel I7 6700 3.4GHz 16gb Ddr4 1tb Dvd Wifi

Prácticamente nueva, solo 3 meses de uso

Garantía vigente. Se entrega con caja de cada parte.

Intel I7 6700 3.4 GHz 8MB cache LGA1151

Gigabyte GA-H110M-H

HD 1TB SATA3 7200 RPM

Gabinete Sentey Mini fuente 450w

16GB RAM DDR4 2133MHz

DVD Dual Layer 24x

Video Intel HD Graphics 530

Placa wifi PCI TP-Link TL-WN881ND 300Mb 

Se puede por MercadoPago pero se agrega costo de comisión

 

2017-06-03 // chownealo


jorgeabreu

[2017-05-17] [email protected]:~$ cat [Video] - Polémica en /var - S01E03 - Fools in April



Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administración de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.

Esta vez retomamos lo hablado en el episodio anterior sobre CloudBleed y GitLab, y charlamos sobre la caída similar que tuvo Digital Ocean, en otro orden de noticias una empresa acusó a su ex sysadmin, los chistes del April Fool's Day, un picadito de noticias y cobertura de eventos.









== Mencionados en este episodio ==

Incident report on CloudBleed: https://goo.gl/r1EW5C

How is team-member-1 doing?: https://goo.gl/soHFnn

Digital Ocean April 5th outage: https://goo.gl/M5fp2F

Sysadmin 'trashed old bosses' Oracle database with ticking logic bomb': https://goo.gl/yKeXw7

Google Wind: https://goo.gl/ENlfK4

Stack Overflow Dance Dance Authentication: https://goo.gl/da2UiS

PornHub April Fools': https://goo.gl/tUKWSC

PornHub HTTPS: https://goo.gl/ZL5Qw9

USA ISP data sharing: https://goo.gl/DYN4Ci

Open a tab and make some noise: https://goo.gl/KMp7JV

Android overtakes Windows: https://goo.gl/NmKV46

Shutting down CodePlex: https://goo.gl/PFJHnC

Canonical Shuts Door On Unity, Ubuntu Phone: https://goo.gl/1lGNOq

Canonical, Jane Silber stepping down: https://goo.gl/455oa0







== Eventos y meetups ==

VII Encuentro nacional ArNog: https://goo.gl/EWBx4L

#meetarmy: https://goo.gl/W9fi4l

FLISOL CABA: https://goo.gl/34b6IY

#AdminBirras: https://goo.gl/EqGCSx

Geek Out Fest 3.0: https://goo.gl/uC2eX8

CFP nerdear.la: https://goo.gl/SPNzlf







== Búsquedas laborales ==

Talent IT up: https://goo.gl/skUvhh

MuleSoft: https://goo.gl/wK0qAk

OLX: https://goo.gl/BaWy8l

sysarmy en LinkedIn: https://goo.gl/1QMlCv







== Otros mencionados ==

EkoSpace en Facebook: https://goo.gl/VOzYle

EkoSpace en Twitter: https://goo.gl/umJHVp







== Encontranos en ==

Web: http://sysar.my

Twitter: @sysarmy

Facebook: Elección Root

IRC en Freenode: #sysarmy

Ivoox: https://goo.gl/GtISQ9

Pocketcast: http://pca.st/D3H0

iTunes: https://goo.gl/Nrt22g




==Conducen este episodio==

Ariel Jolo: @ajolo

Jorge Abreu: @ar_jorge1987

2017-05-17 // jorgeabreu


desarrolloylinux

[2017-04-21] [email protected]:~$ cat [video] - Polémica en /var - S01E02 - Error humano





Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administración de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc. Esta vez charlamos sobre el traspié que está siendo este 2017 con la caída de Gitlab, la colisión en SHA1, Cloudbleed, y el outage de AWS S3.


== Mencionados en este episodio ==
GitLab.com Incident - 2017/01/31: https://goo.gl/qGRUja
SHA1 function is now dead: https://goo.gl/7nFx2M
the Impact of "Cloudbleed": https://goo.gl/zJ4EkT
Amazon S3 Service Disruption: https://goo.gl/ojWeoo

== Otros mencionados ==
EkoSpace en Facebook: https://goo.gl/VOzYle
EkoSpace en Twitter: https://goo.gl/umJHVp
FLISOL CABA: https://goo.gl/34b6IY
FLISOL LATAM: https://goo.gl/Z9sUyb
Sin humo podcast: https://goo.gl/9mthTY

== Meetups ==
Meetup de sysarmy: https://goo.gl/mJDvzD
Meetup de Datascience: https://goo.gl/yhqz3L

== Búsquedas laborales ==
Jampp - Full Stack Javascript Developer: https://goo.gl/HU75Mq
Talent IT up - DevOps Engineer: https://goo.gl/skUvhh
MuleSoft - DevOps Engineer (AWS + SaltStack): https://goo.gl/wK0qAk

== Buscanos en ==
Web: http://sysar.my
Twitter: @sysarmy
Facebook: Elección Root
IRC en Freenode: #sysarmy
Ivoox: https://goo.gl/GtISQ9
Pocketcast: http://pca.st/D3H0
iTunes: https://goo.gl/Nrt22g

2017-04-21 // desarrolloylinux


jorgeabreu

[2017-04-21] [email protected]:~$ cat [video] - Polémica en /var - S01E02 - Error humano




Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administración de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc. Esta vez charlamos sobre el traspié que está siendo este 2017 con la caída de Gitlab, la colisión en SHA1, Cloudbleed, y el outage de AWS S3.

== Mencionados en este episodio ==

GitLab.com Incident - 2017/01/31: https://goo.gl/qGRUja

SHA1 function is now dead: https://goo.gl/7nFx2M

the Impact of "Cloudbleed": https://goo.gl/zJ4EkT

Amazon S3 Service Disruption: https://goo.gl/ojWeoo




== Otros mencionados ==

EkoSpace en Facebook: https://goo.gl/VOzYle

EkoSpace en Twitter: https://goo.gl/umJHVp

FLISOL CABA: https://goo.gl/34b6IY

FLISOL LATAM: https://goo.gl/Z9sUyb

Sin humo podcast: https://goo.gl/9mthTY




== Meetups ==

Meetup de sysarmy: https://goo.gl/mJDvzD

Meetup de Datascience: https://goo.gl/yhqz3L




== Búsquedas laborales ==

Jampp - Full Stack Javascript Developer: https://goo.gl/HU75Mq

Talent IT up - DevOps Engineer: https://goo.gl/skUvhh

MuleSoft - DevOps Engineer (AWS + SaltStack): https://goo.gl/wK0qAk




== Buscanos en ==

Web: http://sysar.my

Twitter: @sysarmy

Facebook: Elección Root

IRC en Freenode: #sysarmy

Ivoox: https://goo.gl/GtISQ9

Pocketcast: http://pca.st/D3H0

iTunes: https://goo.gl/Nrt22g

2017-04-21 // jorgeabreu


jorgeabreu

[2017-04-21] [email protected]:~$ cat [video] - Polémica en /var - S00E01









Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administracion de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.




Episodio anterior: https://www.youtube.com/watch?v=UO9ai...




Búsquedas laborales mencionadas en este episodio:




Talent IT up https://goo.gl/7Y8OEj

MuleSoft - DevOps (AWS + SaltStack) https://goo.gl/wK0qAk

Core Security - Linux + Hadoop https://goo.gl/oU3OW2

DataArt - DevOps + Cfg management https://goo.gl/gB5bZY




Mencionados en este episodio:

Magic Leap demo hoax: https://www.youtube.com/watch?v=kPMHc...

Google Home / Amazon Alexa loop: https://www.youtube.com/watch?v=ZfCfT...

Canal de DevDayAr: https://www.youtube.com/channel/UCANZ...




== Lanzamientos de Juegos para Linux mencionados ==

Total War Warhammer: http://store.steampowered.com/app/364...

The Dwarves: http://store.steampowered.com/app/403...




== AdminBirras ==

29/12 https://meetup.com/sysarmy




== Buscanos en ==

Web: http://sysar.my

Twitter: @sysarmy

Facebook: Elección Root

IRC en Freenode: #sysarmy

Ivoox: https://goo.gl/GtISQ9

Pocketcast: http://pca.st/D3H0

iTunes: https://goo.gl/Nrt22g

2017-04-21 // jorgeabreu


desarrolloylinux

[2017-03-21] [email protected]:~$ cat [video] - Polémica en /var - S00E01





Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administracion de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.

Episodio anterior: https://www.youtube.com/watch?v=UO9ai...

Búsquedas laborales mencionadas en este episodio:

Talent IT up https://goo.gl/7Y8OEj
MuleSoft - DevOps (AWS + SaltStack) https://goo.gl/wK0qAk
Core Security - Linux + Hadoop https://goo.gl/oU3OW2
DataArt - DevOps + Cfg management https://goo.gl/gB5bZY

Mencionados en este episodio:
Magic Leap demo hoax: https://www.youtube.com/watch?v=kPMHc...
Google Home / Amazon Alexa loop: https://www.youtube.com/watch?v=ZfCfT...
Canal de DevDayAr: https://www.youtube.com/channel/UCANZ...

== Lanzamientos de Juegos para Linux mencionados ==
Total War Warhammer: http://store.steampowered.com/app/364...
The Dwarves: http://store.steampowered.com/app/403...

== AdminBirras ==
29/12 https://meetup.com/sysarmy

== Buscanos en ==
Web: http://sysar.my
Twitter: @sysarmy
Facebook: Elección Root
IRC en Freenode: #sysarmy
Ivoox: https://goo.gl/GtISQ9
Pocketcast: http://pca.st/D3H0
iTunes: https://goo.gl/Nrt22g

2017-03-21 // desarrolloylinux


root

[2017-03-20] [email protected]:~$ cat Polémica en /var el nuevo show y podcast de sysarmy

A fines del 2016 pudimos por fin arrancar el proyecto que veníamos postergando hacía 3 años, la idea de un podcast bajo el nombre de “Polémica en /var“. El 16 de noviembre de 2016 hicimos público el primer piloto del nuevo master plan para conquistar el mundo. Seguimos a buen ritmo, así que era hora de hacer la presentación formal:

Polemica en /var es un show pensado primariamente para gente de sistemas, a partir de allí se desprenden distintas temáticas y formas de abordarlas; desde noticias rápidas, eventos, lanzamientos de juegos, vulnerabilidades o bien problemas que sucedieron en Internet o el mundo de sistemas. La idea es llevar todo esto a un formato que se deje ver y escuchar y que tenga un valor agregado, que no sea solamente leer una noticia. Estamos incluyendo entrevistas y especiales y no se pierdan los bloopers.

De izquierda a derecha: Ariel JoloSeba Montini (invitado para charlar sobre la caída de S3) y Jorge Abreu.

 

A continuación pueden ver la Playslist de Polémica en /var en Youtube, comenzando desde el último episodio a la fecha (marzo 2017):

Y también pueden suscribirse al canal de sysarmy: https://goo.gl/5QI5Cy

Como soporte (ya que somos el soporte de los que dan soporte), para quienes no quieran o no puedan ver el programa en video, también lo subimos en formato podcast a diferentes sistemas para que puedan bajarlo o escucharlo. Pueden suscribirse al Podcast de Polémica en /var como más les guste:

Escuchar o bajar directamente desde Ivoox: https://goo.gl/GtISQ9

En iTunes: https://goo.gl/Nrt22g

En Pocketcast: http://pca.st/D3H0

En player.fm: https://goo.gl/XFUCC9

 

¿Qué les parece? ¿Les gusta la propuesta?


2017-03-20 // root


chownealo

[2017-03-17] [email protected]:~$ cat Casco Nolan N40

Casco Nolan N40

Casco Nolan N40

Talle LARGE

Made in Italy

Incluye lentes de sol retráctiles

En excelentes condiciones
Está en su caja original

Se entrega en CABA,  Saavedra o Microcentro

2017-03-17 // chownealo


jorgeabreu

[2017-03-15] [email protected]:~$ cat [Video] - Documental sobre como llegó a existir Rocket League

Rocket League es un juego con una premisa muy simple y dificil de explicar: "Un juego de futbol en donde en vez de jugadores humanos usamos Autos". Verlo, a veces no llama la atencion, pero una vez que lo probé, me volví adicto.

De casualidad encontre este documental con la historia de como llegó a ser lo que es hoy Rocket league, y lo queria compartir:

Parte 1:


Parte 2:


Saludos.


Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2017-03-15 // jorgeabreu


jorgeabreu

[2017-03-15] [email protected]:~$ cat [video] - Polémica en /var - S01 - Especial Bloque Ubuntu Linux



Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administracion de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.

En este caso charlamos sobre Ubuntu, como le fue en el 2016, algunas noticias, y hasta sobre un Robot que corre sobre la distro de Canonical!

== Búsquedas laborales ==
Talent IT up https://goo.gl/7Y8OEj
MuleSoft - DevOps (AWS + SaltStack) https://goo.gl/jo9gPT

== Mencionados en el episodio ==
Las mejores distribuciones GNU/Linux de 2016: http://www.muylinux.com/2016/12/30/me...
Watch This Terrifying 13ft Robot Walk, Assisted by Ubuntu: http://www.omgubuntu.co.uk/2017/01/me...
== Buscanos en ==
Web: http://sysar.my
Twitter: @sysarmy
Facebook: Elección Root
IRC en Freenode: #sysarmy
Ivoox: https://goo.gl/GtISQ9
Pocketcast: http://pca.st/D3H0
iTunes: https://goo.gl/Nrt22g


Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2017-03-15 // jorgeabreu


jorgeabreu

[2017-03-15] [email protected]:~$ cat [Video] - Polemica en /var - E00 - Pilot uncut




Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administracion de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.

Búsquedas laborales mencionadas en este episodio:

MuleSoft - DevOps (AWS + SaltStack) https://goo.gl/jo9gPT
Core Security - Linux + Hadoop https://goo.gl/oU3OW2
DataArt - DevOps + Cfg management https://goo.gl/gB5bZY

Videos mencionados en este episodio:
#CPAR1 Magistral 27/10 12h Jon Maddog Hall: https://www.youtube.com/watch?v=K5_c9...
#CPAR1 Innovación 27/10 16h Q&A con Jon Maddog Hall: https://www.youtube.com/watch?v=5yn3V...

Links al game argentino Master Of Orion mencionado en el episodio:
En Steam: http://store.steampowered.com/app/298...
En Gog: https://www.gog.com/game/master_of_orion

== AdminBirras ==
24/11 https://goo.gl/CV8aTa

== Buscanos en ==
Web: http://sysar.my
Twitter: @sysarmy
Facebook: Elección Root
IRC en Freenode: #sysarmy
Ivoox: https://goo.gl/GtISQ9
Pocketcast: http://pca.st/D3H0
iTunes: https://goo.gl/Nrt22g


Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2017-03-15 // jorgeabreu


desarrolloylinux

[2017-03-15] [email protected]:~$ cat [video] - Polémica en /var - S01 - Especial Bloque Ubuntu Linux



Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administracion de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.

En este caso charlamos sobre Ubuntu, como le fue en el 2016, algunas noticias, y hasta sobre un Robot que corre sobre la distro de Canonical!

== Búsquedas laborales ==
Talent IT up https://goo.gl/7Y8OEj
MuleSoft - DevOps (AWS + SaltStack) https://goo.gl/jo9gPT

== Mencionados en el episodio ==
Las mejores distribuciones GNU/Linux de 2016: http://www.muylinux.com/2016/12/30/me...
Watch This Terrifying 13ft Robot Walk, Assisted by Ubuntu: http://www.omgubuntu.co.uk/2017/01/me...

== Buscanos en ==
Web: http://sysar.my
Twitter: @sysarmy
Facebook: Elección Root
IRC en Freenode: #sysarmy
Ivoox: https://goo.gl/GtISQ9
Pocketcast: http://pca.st/D3H0
iTunes: https://goo.gl/Nrt22g


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2017-03-15 // desarrolloylinux


desarrolloylinux

[2017-03-15] [email protected]:~$ cat [video] - Polemica en /var - E00 - Pilot uncut





Llegó el café informativo de sysarmy. Noticias del mundo Linux, Administracion de sistemas y DevOps, mezclado con novedades sobre eventos, meetups, etc.

Búsquedas laborales mencionadas en este episodio:

MuleSoft - DevOps (AWS + SaltStack) https://goo.gl/jo9gPT
Core Security - Linux + Hadoop https://goo.gl/oU3OW2
DataArt - DevOps + Cfg management https://goo.gl/gB5bZY

Videos mencionados en este episodio:
#CPAR1 Magistral 27/10 12h Jon Maddog Hall: https://www.youtube.com/watch?v=K5_c9...
#CPAR1 Innovación 27/10 16h Q&A con Jon Maddog Hall: https://www.youtube.com/watch?v=5yn3V...

Links al game argentino Master Of Orion mencionado en el episodio:
En Steam: http://store.steampowered.com/app/298...
En Gog: https://www.gog.com/game/master_of_orion

== AdminBirras ==
24/11 https://goo.gl/CV8aTa

== Buscanos en ==
Web: http://sysar.my
Twitter: @sysarmy
Facebook: Elección Root
IRC en Freenode: #sysarmy
Pocketcast: pca.st/D3H0
iTunes: goo.gl/Nrt22g


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2017-03-15 // desarrolloylinux


desarrolloylinux

[2017-03-15] [email protected]:~$ cat [Tip - Linux] - Buscar archivos por tamaño con find

Hay veces en las que necesitamos buscar archivos por su tamaño, ya sea porque tenemos problemas de espacio y necesitamos encontrar urgente algo grande que borrar, o porque no entendemos en donde se fue el espacio en disco e intuimos que es algun archivo de gran tamaño que dejamos perdido por algun lugar. Esos tipicos backups que hacemos para mover algo de lugar y despues el tar.gz queda perdido en alguna carpeta del filesystem.


 find . -type f -size +50000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'


En el find anterior podemos tocar los parametros " . ", que busca en la carpeta en la que estamos parados, y en sus subcarpetas y el parametro "+50000k", que significa algo asi como "mayores a 50 megas".

Espero que les sirva, otras formas de ver a donde se nos esta yendo el espacio del disco pueden ser:

du -h . --max-depth=1

Sin ir navegando en las subcarpetas, este DU nos mostrara cuando espacio estan ocupando cada uno de los nodos que se desprenden de donde estemos parados.

Y si nuestro problema de es de iNodos, podemos hacer un:

find -maxdepth 1 -type d | while read -r dir; do printf "%s:\t" $dir; find $dir -type f | wc -l; done

Como con el DU, este FIND nos va a mostrar cuantos nodos se esta consumiendo cada subdirectorio de donde estemos parados.

Si necesitamos buscar todos los archivos más antiguos que uno fecha, podemos hacer:

find /* -mtime +2

Y si queremos borrar automaticamente todos los archivos más antiguos que una fecha, podemos hacer:

find /tmp* -mtime +5 -exec rm -rf {} \;


Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2017-03-15 // desarrolloylinux


root

[2017-02-15] [email protected]:~$ cat Resultados de la encuesta salarial – enero 2017

Queremos agradecer a los más de 4000 participantes que formaron parte de esta nueva encuesta de sueldos!

Les dejamos este Google Spreadsheet para que puedan ver y analizar los resultados (pueden hacer una copia o bajar las hojas en formato csv). Pedimos disculpas por un problema en Google Forms que no pudimos solucionar, relacionado con las tecnologías utilizadas por puesto. Para la próxima encuesta vamos a elegir una plataforma más robusta y acorde para la cantidad de preguntas y volumen de respuestas que estamos obteniendo.

Esperamos con ansias los análisis de la comunidad!

 

Como siempre, algunas frases que nos regalaron los encuestados:

Apesta

asco

Cubro el Rol de Director, sin embargo mi sueldo es el de un auxiliar.

Dejen de ratonear en todo, jefes.

Empresa de casi 1000 empleados, Agraria, casi mi millones de facturción al año (dólares) y no nos dan una puta canasta de navidad …. Eso sí, para descargar las 45 cajas de vinos de regalo para los clientes … todos los empleados a descargar el camión.

Es inhumano

Es muy triste haber estudiado y perfeccionado mis skills en mi carrera para que me roben así.

Explotan Juniors

Hago el trabajo de 3 o 4 personas

La gente de limpieza gana el doble que yo

 

Y no olviden calificar a sus empresas en www.openqube.io !


2017-02-15 // root


chownealo

[2017-01-22] [email protected]:~$ cat Macbook 12 2015 Space Grey

Macbook 12 2015 Space Grey

8GB RAM / 256 SSD / Retina

Impecable, un verdadero chiche con sólo 35 ciclos de carga y funda para transporte sueca afelpada.

Súper portátil, increíblemente liviana y con la última versión de macOS 10.12.2, el sistema vuela!

El precio publicado es con tarjeta en 3 pagos/MercadoPago, efectivo/transferencia directa lo charlamos.

2017-01-22 // chownealo


dorkit

[2017-01-03] [email protected]:~$ cat Las Corpo-Pymes

Corpo-Pyme: Dicese del grupo de empresas y sociedades que realizan diversos trabajos y servicios de manera independiente, con apariencia de ser grandes, confiables, seguras y organizadas, pero que como mucho son la suma mediocre y desorganizada de varias pymes.


2017-01-03 // dorkit


epzylon

[2017-01-03] [email protected]:~$ cat BalckArch vs ArchStrike

Como dije en el post de Hacking sobre debian:

mi laptop no solo es una herramienta de pentesting, si no tambíen mi herramienta de estudio, mi centro multimedia, me enviroment de programación, y mi herramienta de trabajo diario ademas de mi laboratorio de experimentos.

Es decir, la distro que utilice en mi pc tiene que tener capacidad y herramientas de todo tipo, no solo de seguridad informática.

Anteriormente, adecue Debian para que cumpla, dentro de lo posible, tales fines, sin embargo, justamente en materia de Seguridad informática, eran pocas las herramientas disponibles y poco actualizadas.
Al pasarme a ArchLinux, me tope con BlackArch y ArchStrike, dos distribuciones enfocadas a la seguridad informática, compatibles con su distribución madre, Arch.

Como y cual elegir?
Repasaremos un poco sobre ArchLinux, y luego sobre las versiones live de ArchStrike y BlackArch, veremos como utilizar ambos repositorios desde una instalacion de Arch y compararemos las herramientas disponibles.

Un poco sobre ArchLinux

Como dice en su pagina, Arch es  “a lightweight and flexible Linux distribution that tries to Keep It Simple”

Una de las mayores ventajas de esta distribución, es su comunidad activa, con documentación actualizada, al igual que sus repositorios, una cantidad inmensa de software disponible,  y una flexibilidad muy grande en cuanto a la configuración.
Esta misma flexibilidad, contrae la necesidad saber bien como configurar, administrar y actualizar cada parte del sistema operativo, sin destruirlo.
Por decirlo de otra manera, con Arch, vuelve la diversión de usar linux.

Una característica muy interesante, es que se trata de una distribución Rolling Release, es decir que el sistema de desarrollo de la distribución consiste en liberar continuamente actualizaciones, sin pasar por un estadio previo de pruebas/congelamiento. Por lo que al instalar Arch, tenemos siempre la ultima versión de cada paquete.

Entre las contras que tiene Arch (Por decirlo de alguna manera, ya que en realidad no es una contra si no, una característica adrede), es que Arch no tiene un instalador. Esto que puede asustar a los principiantes, es una ventaja para el usuario avanzado, evitándole caer en la obligación de aceptar configuraciones preestablecidas en un instalador.

Sobre ArchStrike y BlackArch (live)

Ambas distribuciones vienen en versiones live, lo que nos permite bajar sus respectivas ISOs y probarlas. En el caso de ArchStrike, podemos bajar un OVA, tanto para VirtualBox como para VMware, por lo que nos facilita probarla en una maquina virtual.

Menu

En el caso de BlackArch tiene un menu personalizado desde donde se puede acceder a todas las herramientas instaladas. Al igual que en Kali (una de las distros mas difundidas en materia de Pentesting) si la aplicacion/herramienta es de consola (como lo son la mayoria de las herramientas disponibles) abre una consola (xterm) ejecutando el comando sin argumentos.
A diferencia en ArchStrike, el menu no contiene un acceso a todas las aplicaciones, si no solo a las aplicaciones de interfaz graficas (algunas de linea de comando, pero no abre una terminal, por lo que no sirve para nada). Por otro lado, ArchStrike tiene otras herramientas orientadas a la configuracion del sistema y el escritorio que BlackArch no tiene (mas alla de la configuracion basica de fluxbox)

Estetica

Ambas vienen con Windows Managers livianos, en el caso de ArchStrike, OpenBox y Fluxbox por defecto para BlackArch, pero en esta ultima puede elegirse otros WMs, todos ellos livianos y con exactamente la misma estetica.blackarchlogin Esta seleccion de administradores de ventanas, ayuda a concentrarnos en el pentesting y no en otra cosa. Sin embargo, ArchStrike esta mas orientada a proveer una experiencia mas amigable. Por ejemplo, viene por defecto con wicd (un administrador de redes), un applet para mostrar la bateria (en caso de las laptops) y un menu que facilita el acceso a las herramientas de configuracion del sistema, como dije anteriormente.

Instalacion (live)

Ambas vienen con un script para instalar desde la version live, sin embargo solo ArchStrike tiene un acceso directo desde el menu principal. En el caso de BlackArch, hay que iniciarlo desde una terminal con el comando blackarch-install
archstrike

Repositorios

Mas alla del uso que podemos hacer de cada listro desde sus versiones live, podemos utillizar los repositorios de ambas distribuciones, como repositorios de una PC on Arch ya instalado.

BlackArch porvee un script que instala el repositorio y la base de datos de firmas correspondientes. Con estos pasos, quedan a disposicion nuestra las herramientas para ser instaladas:

curl -O https://blackarch.org/strap.sh
sha1sum strap.sh   #El resultado deberia ser  86eb4efb68918dbfdd1e22862a48fda20a8145ff
./strap.sh #Como root o con sudo

Luego de esto, podemos listar los paquetes disponibles de la siguiente manera:

pacman -Sgg | grep blackarch | cut -d' ' -f2 | sort -u

Estas instrucciones pueden leerlas en ingles en el siguiente guia en PDF

En el caso de ArchStrike, tenemos que adicionar un repositorio en el archivo de configuracion de Arch:

cat << EOF >> /etc/pacman.conf
[archstrike]
Server = https://mirror.archstrike.org/$arch/$repo
EOF

Seguido, actualizamos la base de datos de paquetes:

pacman -Syy

Para instalar la base de firmas, debes seguir los pasos indicados en la pagina oficial.

Coexistencia de repositorios: En este momento tengo configurados ambos repositorios y no he tenido problemas.

Herramientas disponibles

Un dato importante a la hora de comparar estas distribuciones es los paquetes disponibles, por lo que me tome el trabajo de hacer un recuento de los paquetes y sus respectivas versiones, transcribo a continuacion los pasos que seguí, por si les interesa repetirlos:
Primero hice una comparacion cuantitativa de los repositorios:

pacman -Sl | awk '/blackarch/ { print $2,$3 }' > /tmp/blackarch
pacman -Sl | awk '/archstrike/ { print $2,$3 }' > /tmp/archstrike
wc -l /tmp/blackarch /tmp/archstrike 
 2145 /tmp/blackarch
 1288 /tmp/archstrike

Como vemos, BalckArch tiene mayor cantidad de paquetes, sin embargo, esto no me dice mucho, ya que no se si los paquetes que tiene disponibles, son utiles, o desactualizados, o no me interesan.
Por lo que genere un archivo que compare ambos repositorios paquete por paquete, con su respectiva version:

cat /tmp/blackarch | sort > /tmp/blackarch.sorted
cat /tmp/archstrike | sort > /tmp/archstrike.sorted
cat /tmp/blackarch.sorted /tmp/archstrike.sorted  | awk '{ print $1 }' | sort -u > /tmp/allpkgs
join -a 1   archstrike.sorted blackarch.sorted
join -a 1 allpkgs archstrike.sorted > allvsstrike
join -a 1 allpkgs blackarch.sorted > allvsblack
join  -a 1 allvsblack allvsstrike  > black-strike.compared
cat black-strike.compared | tr ' ' ';'  > black-strike.compared.csv

De esta manera obtuve un CSV con todos los paquetes y sus respectivas versiones.
Les dejo a dispocision el CSV (black-strike-compared) y una planilla de calculo (black-strike-compared) que generé a partir del mismo.

Se puede ver con estos resultados, que BlackArch, tiene mas paquetes y en general estan mas actualizados. De hecho no hay paquetes que ArchStrike tenga y BlackArch no.

Conclusiones
Ambas distribuciones tienen su puntos fuertes, sin embargo, me pesa bastante la cantidad superior de paquetes que posee BlackArch, dado que si vamos a utilizar una de esta distribuciones, la estetica será algo que configuraremos por nosotros mismo, al igual que los menus. Por otro lado, BlackArch viene, en su version live, con varios Windows Managers interesantes, como Awesome, Fluxbox e i3, lo que le da un toque mas geek.
A su vez, ArchStrike es quizas una distro que puede abrirse camino en los menos experimentados, ya que provee una experiencia mas amigable.
En particular uso ambos repositorios en una instalacion de Arch ya existente, pero en linea general eh instalado los paquetes desde los repositorios de BlackArch.

Quizas haya algun dato que se me este pasando por alto, pero hasta donde yo puedo ver, mi recomendacion se inclina por BlackArch.

Espero les haya servido la comparación y espero sus comentarios!

~have fun

 

2017-01-03 // epzylon


root

[2016-12-26] [email protected]:~$ cat Encuesta salarial – 2017.1

Terminamos el año con una nueva encuesta salarial para todo Latinoamérica, con nuevas preguntas en base a las sugerencias que tuvimos en la edición anterior. Al finalizar la encuesta vamos a publicar el csv para que la comunidad pueda analizar los resultados.

Los invitamos a responder y compartir con sus conocidos !

No olviden que también pueden calificar empresas en openqube.io


2016-12-26 // root


chownealo

[2016-12-18] [email protected]:~$ cat Combo /phenom Ii X6 1055t/k9n2 Sli Platinum/8gb

nunca taxi, remis ni combi, el soporte del fan de cpu tiene alguna trabita rota.. funciona todo bien, fue mi maquina hogareña al dia de hoy :P

las memos son 4x 2gb

kingston KVR800D2N6

2016-12-18 // chownealo


chownealo

[2016-12-02] [email protected]:~$ cat Iphone 6s 4g/lte + Case Spiegen Original

Iphone 6s 4g/lte + Case Spiegen Original

iPhone 6s 16GB Gold
Case Spiegen Slim Armor original
En caja, con cable original y cargador
Poco uso, excelente estado, sin rayas ni marcas.

2016-12-02 // chownealo


chownealo

[2016-12-02] [email protected]:~$ cat Nexus 6P - 32GB - 4G/LTE

Nexus 6P - 32GB - 4G/LTE

* Google Nexus 6P . 4g/LTE (para todo el mundo). 32GB de espacio. Con ANDROID 7.1
* Vidrio Gorila Glass adicional para proteger más aún la pantalla
* Carcasa Spiegen original ultra resistente y liviana.
muy poco uso, excelentes condiciones, no tiene marcas ni rayas.

2016-12-02 // chownealo


chownealo

[2016-12-01] [email protected]:~$ cat Dell 7559 -Gaming-

Dell 7559 -Gaming-

Me estoy yendo de viaje al exterior y necesito la plata urgente, la compu me la traje en abril de afuera, le meti 8gb mas de ram.

 Tiene MUY poco uso, la bateria dura UNA BANDA.
Paso specs:
*6th Gen Intel Core i5-6300HQ Quad Core
*16GB RAM DDR3 (le puse 8gb mas de ram)
*256GB SSD
*GTX960M 4GB GDDR5
 
La estoy liquidando. 
 
En las fotos se ve con Linux, pero ahora tiene win 10. 

2016-12-01 // chownealo


jorgeabreu

[2016-11-19] [email protected]:~$ cat [Video] Documental de la historia de la NASA: When We Left Earth

Recientemente terminé de ver este documental que cuenta toda la carrera espacial de la NASA desde las primeras pruebas del Programa Gemini hasta la creación de la Estación Espacial Internacional, y la verdad que es genial, merece que todo quien pueda lo vea, no tiene desperdicio.



When We Left Earth Part 1: Ordinary Supermen - HD

When We Left Earth Part 2: Friends and Rivals - HD

When We Left Earth Part 3: Landing the Eagle - HD

When We Left Earth Part 4: The Explorers - HD

When We Left Earth Part 5: The Shuttle - HD

When We Left Earth Part 6: A Home in Space - HD


Espero que les guste tanto como me gustó a mi. Agradecimiento especial a @elGendo87 quien me recomendó ver este documental.




Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2016-11-19 // jorgeabreu


epel

[2016-11-08] [email protected]:~$ cat [SOLUCIONADO] We were unable to copy your files.

Share

Esta solución me funciono perfectamente cuando al momento de grabar la ISO con el “Windows 7 USB/DVD Tool” . Como verán son unos pasos muy sencillos.


1.- Dar windows + R  (o inicio –> ejecutar)
2.- Escribir DiskPart
3.- Ponemos List Disk
4.- Poner Select Disk + el numero del disco elegido
5.- Escribimos Clean
6.- Escribimos los siguientes comandos:
create partition primary
select partition 1
active
format quick fs=fat32
assign
exit

Saludos!!

 

Fuente: http://www.taringa.net/post/info/17662770/Solucion-al-Error-de-Windows-7-USB-DVD-Download-Tool.html

 

 

 

2016-11-08 // epel


chownealo

[2016-11-07] [email protected]:~$ cat Guitarra Epiphone Les Paul Studio $6500

Guitarra Epiphone Les Paul Studio $6500

VENDO GUITARRA EPIPHONE LES PAUL STUDIO, EXCELENTE ESTADO COMO SE PUEDE APRECIAR EN LAS FOTOS. LA VENDO PORQUE ME COMPRE OTRA. ACEPTO MERCADOPAGO $6500
SE ENTREGA CON FUNDA Y CORREA QUE VAN DE REGALO.

2016-11-07 // chownealo


epel

[2016-11-02] [email protected]:~$ cat Script de Backup automático para Mikrotik

Share

Este es un sencillo script + cron que funciona de la siguiente mantera:

  • Se realiza diariamente un bkp.
  • Se envia por ftp los archivos (bkp y export).
  • Se eliminan los files generados en el mkt.
  • Al finalizar se envia un correo avisando de la acción.

Vale aclarar que el usuario de FTP es igual que el nombre del router.


##Configuracion de e-mail y BKP
/tool e-mail
set address=IPSMTPserver [email protected] password=epel123 [email protected]
/system script
add name=FTP-Backup owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=”# Sistema automatizado de BKP p\
or FTP\r\
\n:local varIdentity\r\
\n:local varDate\r\
\n:local varMonth\r\
\n:local varDay\r\
\n:local varYear\r\
\n:local varFileName\r\
\n:local varIdentity [/system identity get name] \r\
\n:local varDate [/system clock get date]\r\
\n:local varMonth [:pick \$varDate 0 3]\r\
\n:local varDay [:pick \$varDate 4 6]\r\
\n:local varYear [:pick \$varDate 7 11]\r\
\n:local varFileName ([\$varIdentity].\”-\”.[\$varMonth].\”-\”.[\$varDay].\”-\”.[\$varYear].\”.\”.[/system clock get time])\r\
\n# Exporto la configuracion\r\
\n/ expor file=[\$varFileName]\r\
\n# Hago un backup\r\
\n/system backup save name=[\$varFileName] dont-encrypt=yes\r\
\n##Envio los archivos de configuracion y BKP por FTP\r\
\n/too fetch address=FTPserverIP src-path=([\$varFileName].\”.rsc\”) mode=ftp user=[\$varIdentity] password=ftp123 upload=yes dst-p\
ath=([\$varFileName].\”.rsc\”)\r\
\n/too fetch address=FTPserverIP src-path=([\$varFileName].\”.backup\”) mode=ftp user=[\$varIdentity] password=ftp123 upload=yes ds\
t-path=([\$varFileName].\”.backup\”)\r\
\n\r\
\n##Limpio los bkps generados\r\
\n/file remove ([\$varFileName].\”.rsc\”)\r\
\n/file remove ([\$varFileName].\”.backup\”)\r\
\n/log info message=\”System Backup\”\r\
\n\r\
\n#Envio notificacion por correo\r\
\n/tool e-mail send [email protected] [email protected] subject=\”Bkp \$varFileName\” body=\”El bkp se realizo correctam\
ente\”\r\
\n”
/system scheduler
add interval=1d name=”BKP diario” on-event=”/system script run FTP-Backup” policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=oct/17/2016 start-time=02:00:00

 


Espero les sirva y cualquier modificación es más que bienvenida!

Saludos!

2016-11-02 // epel


bizarrecrons

[2016-10-31] [email protected]:~$ cat Just for the comment I don't want to comment them

### Free Memory ### Si lo comentas se muere el server ###

*/10 * * * * /server/super/stable/free_memory.sh > /dev/null 2>&1

2016-10-31 // bizarrecrons


chownealo

[2016-10-31] [email protected]:~$ cat Combo AMD Phenom X4

Combo AMD Phenom X4

Combo:

-AMD Phenom X4 955 3.2 (nunca overclock)

-Mother Asus M4A78LT-M (12GB MAX RAM)

-Placa de Video NVIDIA GeForce GT620 1GB

-Memoria RAM KINGSTON 2GB 1333Mhz

 

Todos los componentes son usados pero funcionando perfectamente.

2016-10-31 // chownealo


root

[2016-10-12] [email protected]:~$ cat Analizando los sueldos de la industria del software en Argentina (Parte 3)

Analizando los sueldos de la industria del software en Argentina (Parte 3)

TL;DR

hay una diferencia significativa entre la proporción de hombres y mujeres en el decil mejor pago (top 10%) de la industria del software en Argentina.

En el post anterior concluimos que efectivamente había una diferencia en el salario medio dependiendo del género. En este tercer análisis intentaremos rechazar la siguiente hipótesis:

Los cargos con sueldos más altos son ocupados equitativamente por hombres y mujeres.

Para responder esta pregunta debemos primero obtener algunos datos de nuestro dataset:

  • Cuál es el decil más alto?
  • Qué proporción de hombres y mujeres tienen un salario mayor o igual a ese valor?
  • Podemos atribuir la diferencia (de haberla) entre proporciones al azar?

Cuál es el decil más alto (de nuestra muestra)?

Podemos usar R para calcular el decil más alto de nuestra muestra:

> quantile(clean$Income, 0.9)
     90%
41428.57

Podemos ver entonces que el decil más alto para sueldos de software en Argentina es entonces de $41428.57 brutos.

Qué proporción de hombres y mujeres tienen un salario mayor o igual a ese valor?

Para responder esta pregunta podemos usar la función table

> table(clean$Gender, clean$Income >= 41428.57)
FALSE TRUE
F   276   22
M  3256  375

Como vemos, la cantidad de mujeres que pertenecen al último decil es 22 de 276 o sea un 7.9% en el caso de los hombres este número es 375 de 3256, un 11.5%.

La diferencia de porcentaje es entonces del 3.6% aproximadamente.

Podemos atribuir la diferencia entre proporciones al azar?

Como vimos, hay una diferencia entre el porcentaje de hombres y mujeres en el decil más alto de salarios. Hay dos hipótesis que pueden explicar esta diferencia:

  • La diferencia entre proporciones se debe al azar de la muestra. (Hipótesis Nula)
  • La diferencia entre proporciones es muy grande como para atribuirla al azar, la diferencia es estadísticamente significativa. (Hipótesis Alternativa)

Para la diferencia de proporciones podemos aplicar el teorema central del límite: la diferencia entre dos proporciones de una muestra (p^¹ -p^²) tiene una distribución normal con centro en la verdadera diferencia entre proporciones (p1-p2), con una desviación estándar conocida (la fórmula es algo larga, la vamos a usar más adelante para evaluar nuestra hipótesis). Para más información sobre este tema en particular, ver aquí.

Resumiendo, tenemos una distribución normal con los siguientes valores:

Media = 0  # p1 — p2 para la hipótesis nula es cero
Desviación estándar = 
sqrt((p1 * (1 - p1) / n1) + (p2 * (1 - p2) / n2))
# siendo:
# p1 = porcentaje de hombres en el último decil
# n1 = total de hombres
# p2 = porcentaje de mujeres en el último decil
# n2 = total de mujeres
# por lo tanto
Desviación estándar = 0.016

Pasemos a graficar nuestra distribución normal:

Según la regla de 68–95–99.7 casi la totalidad de las muestras de una distribución normal caen en -/+ 3 desviaciones estándar (0.016).

Podemos ahora graficar sobre esta distribución el 3.6% de diferencia que observamos en nuestra muestra:

De ser válida la hipótesis nula, la probabilidad de obtener esta diferencia es del 1.4%, si tomamos un nivel de significación del 5% (el utilizado comúnmente en ciencia) podemos descartar la hipótesis nula.

Conclusión

Usando el teorema central del límite para las proporciones determinamos que hay una diferencia estadísticamente significativa entre la proporción de hombres y mujeres en el decil mejor pago de la industria del software en Argentina.


Muchas gracias a Sebastián Waisbrot, Nadia Kazlauskas, Pablo Astigarraga, Sebastián Friseb y Mauro García Aurelio que revisaron el draft.


2016-10-12 // root


jorgeabreu

[2016-10-11] [email protected]:~$ cat [Videos] - The Broken - Episodios del 1 al 4 en Youtube - Hacking Video Podcast

Si no mal recuerdo esto es mas o menos del 2004 o antes, épocas en las que no teníamos Youtube, y descargar videos era una larga y tortuosa tarea. Además, casi no habia shows de tecnología en general, y mucho menos con onda adolescente y underground como TheBroken. En Wikipedia en Español, alguien escribió la siguiente descripción sobre el show:

thebroken es un video-podcast que se centra en el hacking, tanto de hardware (videoconsolas, WiFi...) como de software (contraseñas de administrador, Linux...), la intrusión informática y otras "actividades cuestionables" como el uso de la ingeniería social para obtener, por ejemplo, acceso especial a ciertos lugares. Está presentado por Kevin Rose -uno de los creadores de Digg- y Dan Huard, aunque también interviene regularmente Ramzi como cómico y está enfocada a cualquier persona interesada en la informática y hacking en general.



Acá tienen los episodios que el usuario Burnsmh subio a YouTube para que puedas disfrutarlos:




Episodio 1:


Episodio 2:


Episodio 3:


Episodio 4:

Son un gran recuerdo de mi adolescencia. ¿Ustedes los veian?




Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2016-10-11 // jorgeabreu


jorgeabreu

[2016-10-11] [email protected]:~$ cat Soy Wikipedista - Mini documental de Wikimedia Argentina

Un mini documental de la asociación Wikimedia Argentina, en el que tuve el gusto de participar como entreviistado.






Saludos.

Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2016-10-11 // jorgeabreu


epel

[2016-09-28] [email protected]:~$ cat Mantenimiento de Turbina calefactora Remington 150

Share

Hace un tiempo atrás me dispuse a limpiar y poner a punto una turbina calefactora a kerosene/gasoil que le costaba encender, no tiene demasiada ciencia, salvo, hacerla encender..

Para los curiosos o quienes planeen echarle mano a una turbina de estas, les dejo unas cuantas imágenes paso a paso del procedimiento. A demás claro del manual de mantenimiento.. herramienta fundamental a la hora de intentar ponerla en marcha… ya comente que es un garrón no?

image01 image02 image03 image04 image05 image06 image07 image08 image09 image10 image11 image12 image13 image15 image17 image19 image21 image23 image25 image27 image29 image31 image33 image35 image37 image39 image41 image43 image45 image47 image49 image51 image53 image55 image57 image59 image61 image63 image65 image67

Videos de las pruebas y puesta en marcha

Mantenimiento Remington 150 1

Mantenimiento Remington 150 2


El prometido manual de taller AQUI

Saludos!

 

2016-09-28 // epel


epel

[2016-09-22] [email protected]:~$ cat Tres simples métodos para comprobar controles remotos

Share

Pueden ver AQUI el  siguiente video con unos sencillos métodos ya ultraconocidos para comprobar el correcto funcionamiento de los controles remotos.

 

 

Saludos!

 

2016-09-22 // epel


epel

[2016-09-10] [email protected]:~$ cat Miniserver con WRT54G v3 (I) – Instalando OpenWRT

Share

Estoy intentando hacer algo más con un  WRG54G que un simple router. El objetivo final es un webserver con wordpress a pesar de las contraindicaciones que me dieron varios colegas, pero como el fierro esta tirado y el soldador ya lo enchufe.. que más da!.

Esta primera parte es muy simple y repetida por toda internet, es por eso que solo tiro un par de links, y lo dejo como referencia o libro de notas.

Los pasos a seguir para una correcta instalación del OpenWRT se encuentran disponibles aquí https://wikUna vez completado el mod de la SD, procederemos a instalar el nuevo firmwai.openwrt.org/toh/linksys/wrt54g#using_the_linksys_web_gui y a diferencia de lo que esperaba, el procedimiento fue tan simple como realizar un upgrade de firmware o instalar dd-wrt (firmware alternativo que comúnmente utilizo).

Ya instalado lo primero que se debe hacer es acceder al sitio http://192.168.1.1 y cambiar la contraseña de root. Todo lo que se quiera tocar a demás también es válido.

 

1

2

Una vez guardado y aplicados los cambios. ya podemos acceder por ssh.

3

 

Configuramos la IP del bridge para poder dejarlo conectado a la red y listo

vi /etc/config/network

En la sección de LAN, Agregamos  a demas el gatewy y los DNS’s, nos debería quedar mas o menos así.

config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'ipaddr' '192.168.1.2'
option 'netmask' '255.255.255.0'
option 'gateway' '192.168.1.1'
option 'dns' '8.8.8.8 8.8.4.4'

 

Saludos!

 

2016-09-10 // epel


epel

[2016-09-07] [email protected]:~$ cat Reparacion de antena GSM y/o Wi-Fi en LG E365G

Share

A veces pasa con este modelo y tal vez en otros, que entre los golpes y caídas o vaya a saber uno que, se rompen los botones plásticos que sujetan las antenas, sobre todo, del lado donde están los contactos, haciendo que en algunos casos la antena o ambas antenas se desconecten y se deba sujetarlas colocando un papelito entre la misma y la carcasa, método 100% efectivo, hasta la próxima caída.
La solución definitiva* es pegar las antenas con pegamento epóxico transparente de dos componentes, dejar secar y disfrutar. Es un procedimiento simple y de bajo riesgo, solo paso algunas imágenes del proceso ya que no es nada complicado.

Primero identifico los botones de soldadura rotos, como se aprecia, son bastantes y la antena de wifi ya no funcionaba

1

2

Mismo problema con la de GSM

3

Para poder continuar,  y que durante el correcto pegado de las antenas, estas no estén haciendo fuerza, si no mas bien que estén en su condición de “reposo”, lamentablemente se debe desarmar el teléfono y quitar la carcasa trasera.
El procedimiento es sencillo, y de paso quienes aun no lo hayan echo, pueden retocar el botón de power para que quede 0km http://www.epelbyte.com/reparacion-boton-de-encendido-lg-e365g/

4

5

El resultado fue excelente6

Saludos!

 

 

*nunca dije que sea la mejor.

 

2016-09-07 // epel


root

[2016-09-06] [email protected]:~$ cat Analizando los sueldos de la industria del software en Argentina (Parte 2)

En el primer post hicimos un análisis exploratorio general de los sueldos, en este vamos a realizar una inferencia estadística. Otra vez, todo el código se encuentra disponible acá.

Hipótesis

Primero formulamos una hipótesis:

Los salarios varían significativamente según el género

Para probar nuestra hipótesis, intentaremos refutar la hipótesis nula, que simplemente sería lo contrario (los salarios no varían según el género)

Primer problema: los tamaños de las muestras

Recordemos la distribución de salarios discriminada por género:

El problema en este caso es la diferencia entre participantes de la encuesta varones y mujeres. Usemos un gráfico de barras para hacerlo más evidente:

Hay 298 mujeres y 3.631 hombres en nuestro dataset. Si consideramos a la muestra como representativa de la población, habría aproximadamente una mujer cada 10 hombres, o un 7.5% del total de trabajadores de software.

Con esta limitación en mente, vamos a tratar de poner a prueba nuestra hipótesis utilizando 3 estrategias alternativas.

Usar muestras de tamaño comparable

Sería muy bueno tener misma cantidad de mujeres que de hombres. Una alternativa sería salir a encuestar más mujeres. La otra (más fácil) es “recortar” la muestra de varones.

Para esta última tomamos una muestra aleatoria de 298 varones de nuestros datos y comparamos las dos. Vamos a usar una función del histograma de ggplot llamada “dodge” para que no apile las barras sino que las ponga una al lado de la otra:

Si bien parece haber mayor cantidad de mujeres en los deciles más bajos, a simple vista las distribuciones no muestran una diferencia importante que nos sugiera descartar la hipótesis nula.

Comparar las áreas de las distribuciones

Otra forma de salvar el problema de las cantidades es utilizar un gráfico de densidad de área. Este tipo de gráfico no compara unidades absolutas sino que estima porcentaje de muestras bajo la curva (para más información, la técnica que usa ggplot para esto se llama Kernel Density Estimation o KDE).

Probemos la técnica generando una distribución normal aleatoria, usando la función rnorm:

Vemos una campana de Gauss casi perfecta, en este caso con una media de 5 y una desviación estándar de 2. Nótese que no importa la cantidad de elementos, el eje Y no presenta cantidades sino porcentajes. En este caso el gráfico se hizo con 5.000 elementos pero uno de 50.000 mostraría un área similar.

Grafiquemos las curvas estimadas de densidad para varones y mujeres, usando esta vez la totalidad de los datos:

Las curvas de densidad son similares. Este gráfico tampoco hace evidente una diferencia entre las medias. Vamos al tercer paso.

ANOVA

Para finalizar vamos a usar una herramienta llamada ANOVA o Analysis of Variance. La técnica se utiliza para comparar medias de distribuciones y determinar si la variación entre esas medias puede ser explicada por el azar.

Con R esto es muy sencillo, se arma un modelo lineal y se calcula el anova con la función homónima:

> model <- lm(Income ~ Gender, data=clean)
> anova(model)
Analysis of Variance Table
Response: Income
            Df     Sum Sq    Mean Sq F value   Pr(>F)   
Gender       1 1.8123e+09 1812255174  9.5573 0.002006 **
Residuals 3927 7.4464e+11  189620819                    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

De toda la información que R nos devuelve, nos interesa el Pr(>F) que en este caso es 0.002. Este número es la probabilidad de observar estos resultados si las distribuciones de salarios por género fueran iguales.

Esto es significativo.

Lo que ANOVA nos dice es que, suponiendo que la distribución de salario es independiente del género, la probabilidad de encontrar una muestra con esta diferencia salarial entre géneros es del 0.2%, dicho de otra manera una en quinientos.

Podemos decir entonces que es muy poco probable que se deba al azar y concluir, por tanto, que las distribuciones no son iguales.

Conclusión

Pudimos descartar nuestra hipótesis nula. Descubrimos que efectivamente las mujeres cobran menos que los hombres en la industria. Como vimos a lo largo de este proceso, a veces esto no es evidente y requiere probar distintas fórmulas o estrategias para corroborar nuestra hipótesis.

Saludos!

Gracias a: Nadia Kazlauskas, Mauro García Aurelio, Román Avila, Alejandro Crosa, Andrés de Barbará, Mariano Barrios


2016-09-06 // root


root

[2016-08-29] [email protected]:~$ cat Analizando los sueldos de la industria del software en Argentina (Parte 1)

Un tiempo atrás, hicimos una encuesta sobre el estado laboral de los trabajadores de software en Argentina y divulgamos los resultados de la misma, disponibles acá.

Hoy vamos a analizarlos paso a paso, usando el lenguaje R. Todo el código está disponible online con licencia MIT.

Ante cualquier duda, comentario o mejora, abran un ticket en el repo. También respondo por twitter en @fernandezpablo

Data Munging

Los datos se encuentran en formato .csv, que es muy fácil de consumir desde R:

> sueldos <- read.csv('argentina.csv')
> nrow(sueldos)
[1] 4001

Perfecto! tenemos 4001 sueldos de argentina. Lamentablemente hay algunos inconvenientes:

  • Hay sueldos netos y brutos
  • Los nombres de las columnas no son los mejores (“Tengo” para edad, “Qu…tan.conforme.est..s.con.tu.sueldo.”, etc).
  • Algunos salarios son obviamente ficticios o están mal ingresados (hay algunos de $1, otros de más de un millón)

Vamos a hacer lo que se denomina data munging que es básicamente transformar los datos para solucionar los problemas descriptos anteriormente. La función que hace esto se puede ver acá.

Los datos “limpios” están en el archivo clean.csv en el repo, por si alguien quiere utilizarlos para crear sus propias visualizaciones.

Histograma

Con los datos en el formato que queremos, podemos empezar con algunas visualizaciones simples. Un histograma que nos muestre la distribución de los salarios, por ejemplo:

La distribución es right skewed, lo que significa que no simétrica como una distribución normal sino que se “estira” hacia la derecha (ver Skewness). Esto nos indica que hay algunos sueldos muy altos comparados con la media.

Pero ¿cuál es la media? podemos agregar una línea vertical que nos la resalte:

La media está en $25.597,71 (salario bruto, recordemos).

En las distribuciones no normales como ésta, la media no coincide con el centro de la distribución. En estos casos se puede agregar la mediana, que está en $22.857,14:

Otro valor interesante es la moda, el valor que más se repite. En este caso es $21.428,5714. Si bien es un número raro, recuerden que llegamos a él después de nuestra “normalización” de salario neto/bruto. En este caso probablemente se refiere a $15.000 de salario neto (en mano).

Manejo de Outliers

También podemos eliminar los outliers de la muestra, para concentrarnos en el la parte más densa de la distribución. Un método popular para esto es el de Tukey. Antes de “limpiar” los outliers, veamos qué datos nos quitaría de nuestra muestra:

De correr el filtro de Tukey para los outliers, todo salario arriba de $46.571,43 sería descartado (el método también elimina outliers “bajos”, pero en este caso la línea de corte da negativo y por lo tanto no descarta datos).

Los sueldos altos representan en este caso información importante (a mi entender) y por lo tanto no serán descartados para futuros análisis, pero el código disponible permite hacer este recorte cambiando la línea:

clean <- cleanup(df, handleOutliers = identity)

por esta otra:

clean <- cleanup(df, handleOutliers = tukey)

To Be Continued…

Ya tenemos una idea de la distribución y los datos limpios para seguir analizando ¿qué podríamos preguntarnos ahora? Algo interesante sería poder ver la distribución de salario discriminada por sexo:

A simple vista lo que se puede ver es que hay un porcentaje menor de mujeres en nuestra muestra (de hecho son 290 mujeres y 3563 varones) pero ¿las distribuciones son similares? ¿cobran más los hombres o las mujeres en la industria de software argentino?

La respuesta a estos y otros interrogantes más, en el próximo post 😊

Saludos!

Agradecimientos a la gente que comentó y sugirió mejoras: Federico BayléMariano Barrios, Nadia Kazlauskas, Mauro García Aurelio, Román ÁvilaAndrés de Barbará.


2016-08-29 // root


chownealo

[2016-08-28] [email protected]:~$ cat D80 + 18-55 + bolso

D80 + 18-55 + bolso

Nikon D80 + Lente 18-55 + Bolso Lowepro

Excelente estado

15k disparos

 

Acepto bitcoin!

2016-08-28 // chownealo


chownealo

[2016-08-22] [email protected]:~$ cat OnePlus 2 - como nuevo

OnePlus 2 - como nuevo

Vendo celular OnePlus 2 64GB En perfecto estado, muy poco uso.


Incluye caja, accesorios originales, carcaza de silicona y un protector tempered glass a colocar.


Lo vendo porque compré el OnePlus 3.

 

2016-08-22 // chownealo


root

[2016-08-22] [email protected]:~$ cat Resultados de la encuesta salarial – julio 2016

Queremos agradecer a los más de 4000 participantes que formaron parte de esta nueva encuesta de sueldos!

 

Les dejamos un PDF con algunos gráficos sobre los resultados y quienes que quieran comparar su sueldo con el de otros pares, pueden utilizar este Google Spreadsheet. Aquellos que tengan ganas de hacer un análisis más exhaustivo también pueden descargar un zip con los resultados en csv.

 

Como siempre, algunas frases que nos regalaron los encuestados:

Me dejan laburar fumado

Muy sangriento

Son todos unos chupaculos, la gente de la noche y los fines de semanas son unos hijos de puta que están enojados con la empresa y escalan todo a la guardia (no paga) y no hacen una mierda. La semana que estas de guardia te joden la vida a vos, encima si no atendés la guardia te putean. SEND HELP.

Monos son mas productivos.

Es una poronga

No tenemos poder adquisitivo, subsistimos

No trabajen en consultoras.

El jefe de IT es el hijo del dueño

Una poronga atada al ojete

A fin de mes me rajo a otro lugar 🙂

En +7 años perdi +4 Gerentes, la mayoria terminaron con problemas psiquiatricos y stress…. Pero el que resuelve los desastres a la madrugada soy yo ¬¬

Régimen antiguo esclavizados.

Me gusta mi trabajo, la.empresa en la que trabajo es una basura.

Tengo users acomodados por un directivo trabajando en soporte. No es joda.

Me quiero morir

Tratar con humanos apesta

Además de los “aumentos” por inflación, gozo del beneficio de que mi jefe no me golpea, ni me encierran en la oficina hasta que haya terminado lo que estoy haciendo. Me siento realmente afortunado de que no me bajen el sueldo. (Nótese el sarcasmo)

Son unos carceleros

Odio acomodar cables

Mucho ping pong y poco sueldo

Estoy podrido de tratar con estos simios

Hay olor a culo

No olviden calificar a sus empresas en www.openqube.io !


2016-08-22 // root


bizarrecrons

[2016-08-03] [email protected]:~$ cat Just do it!

00 03 * * 2,3,4,5,6,7 /usr/sbin/tmpreaper -a 1d /var/log/

2016-08-03 // bizarrecrons


bizarrecrons

[2016-08-03] [email protected]:~$ cat THE recursive troubleshoot monitor

* * * * * echo `echo -n $(date);tail -f /db/error/messages.log | grep ‘ORA-’` >> /tmp/errores_oracle.log

2016-08-03 // bizarrecrons


jorgeabreu

[2016-07-28] [email protected]:~$ cat [Video] - Nerdear.la 2016 - astronomía vs astrología

Bueno, Nerdearla ya subio a Youtube la charla que di sobre Astrologia Vs Astronomia en este 2016.

Que la disfruten!







Saludos.

2016-07-28 // jorgeabreu


chownealo

[2016-07-26] [email protected]:~$ cat Dos Monitores Samsung SyncMaster 932Nplus

Dos Monitores Samsung SyncMaster 932Nplus

2 monitores Samsung SyncMaster 932Nplus. Características:

Formato cuadrado (5:4)
Resolución 1280x1024
Conexión VGA

Muy buen estado, sin pixeles muertos ni cosas raras. Ideales para diseño, o proyectos que requieran múltiples monitores (la altura de display es igual a una pantalla wide 16:9 de 24", así que van bien por ejemplo para un setup de simulador con 3 pantallas).

Cada uno viene con su cable VGA e interlock.

Preferentemente vendo ambos juntos, por unidad el precio sube un poco ($2800.- c/u)

2016-07-26 // chownealo


dorkit

[2016-07-13] [email protected]:~$ cat Renuncio!

C69869uando trabajas en una empresa grande, corporativa, como algunas de las cuales solemos hacer referencia en este blog, renunciar, por mas que lo hagas con bronca y furia, es un ‘proceso’ simple, y sin demasiadas vueltas.
Vas con tu ‘Team Leader’/’Manager’ y le decis: ‘conseguí algo mejor, en tal lado, por mejor guita’.
Listo!

Te dan los datos para mandar el telegrama, y si bien, puede que traten de tentarte a quedarte con algún aumento, o beneficio, no suele haber en el ‘proceso’, gritos, malos tratos, llantos o cosas por el estilo.

Sin embargo, en las empresas de mediana y pequeña envergadura, como la que me toco trabajar recientemente, puede que toque alguna situación un poco mas comprometida sentimentalmente. Aun sabiendo esto, nunca pensé que se podía ser tan poco profesional, como para gritar y reprochar cosas que no corresponden!

En fin, tanto, tanto que reniego de las grandes empresas, desde una PyME empece a recordar de buena manera el trato distante y profesional que las grandes empresas imprimen en todas sus acciones.
Para promediar, me voy a una empresa mediana, veremos que nos depara el futuro!


2016-07-13 // dorkit


chownealo

[2016-07-05] [email protected]:~$ cat EMC DS300b - Brocade Switch Fibra Storage

EMC DS300b - Brocade Switch Fibra Storage

Se vende el par de Switch Brocade de Fibra para Storage . ambos con 8 transciever.

perfecto funcionamiento.

 

 

2016-07-05 // chownealo


chownealo

[2016-07-01] [email protected]:~$ cat Switch Administrables 24 Gigabit

Switch Administrables 24 Gigabit

Se venden 3 switchs en excelente estado:

2 fueron utilizados, el restante, estuvo en un placard de backup.

24 puertos 10/100/1000 Gigabit

2 Switch J9145A 6H HP E2910-24G (usado)
1 Switch J9145A 6H HP E2910-24G (SIN USO, spare)

- Referencias de HP:

http://www.hp.com/rnd/pdfs/datasheets/HP_ProCurve_2910al_Switch_Series.pdf

Contacto: 

[email protected] / [email protected]

2016-07-01 // chownealo


chownealo

[2016-07-01] [email protected]:~$ cat Equipos Supermicro / Excelente estado

Equipos Supermicro / Excelente estado

Estimados, se venden equipos entre 30/50% del valor original.

Son varios equipos de clientes, que migraron a Cloud. 

Se pueden entregar con copia de factura de compra / comprados en el canal Oficial de SuperMicro Argentina.


- Configuración de "Firewall" Nodo de 8 GB
Modelo Supermicro 2U - SYS-6027R-73DARF
http://www.supermicro.com/products/system/2u/6027/SYS-6027R-73DARF.cfm
1 x Microprocesadores Intel® Xeon® Processor E5-2603 (10M Cache, 1.80 GHz)
2 x Memorias Supermicro 4 GB 1600Mhz ECC Registradas MEM-DR340L-SL01-ER16
2 x SEAGATE--HDD Constellation SATAIII 500GB ,7200RPM 64MB #ST500NM0011

- Configuración de "Nodo Virtualización 64GB"
Modelo Supermicro 2U - SYS-6027R-73DARF
http://www.supermicro.com/products/system/2u/6027/SYS-6027R-73DARF.cfm
2 x Microprocesadores Intel® Xeon® Processor E5-2609 (10M Cache, 2.40 GHz)
8 x Memorias Supermicro 8 GB 1600Mhz ECC Registradas MEM-DR380L-HL01-ER16
2 x SEAGATE--HDD Constellation SATAIII 500GB ,7200RPM 64MB #ST500NM0011

- Configuración de "Storage Secundario"
Modelo Supermicro 2U - SYS 6027R-E1R12N
http://www.supermicro.com/products/system/2U/6027/SSG-6027R-E1R12N.cfm
1 x micro e5-2603 Intel® Xeon® Processor E5-2603 (10M Cache, 1.80 GHz)
2 x Memorias Supermicro 4 GB MEM-DR340L-HL06-ER13 DDR3 1333Mhz
2 x SEAGATE--HDD Constellation SATAIII 500GB, 7200RPM 64MB #ST2000NM0011
4 x Western Digital Caviar Green 3TB, 7200RPM 64MB

- Configuración de "Storage Primario"
Modelo Supermicro 2U - SYS 6027R-E1R12N
http://www.supermicro.com/products/system/2U/6027/SSG-6027R-E1R12N.cfm
1 x micro e5-2603 Intel® Xeon® Processor E5-2603 (10M Cache, 1.80 GHz)
6 x Memorias Supermicro 4 GB MEM-DR340L-HL06-ER13 DDR3 1333Mhz
10 x SEAGATE--HDD Constellation SATAIII 2TB ,7200RPM 64MB #ST2000NM0011

Excelente estado! Envíos a todo el pais, a cargo del comprador! 

Contacto: 

[email protected] / [email protected]

2016-07-01 // chownealo


chownealo

[2016-06-24] [email protected]:~$ cat Servidores Sun T5140 y T5240 SPARC

Servidores Sun T5140 y T5240 SPARC

SUN T5140 ENTERPRISE   

 

especificaciones en el siguiente link    

http://ftp.ocs.ru/sun/Products/Systems/Niagara/INTEGRATOR/Sun%20SPARC%20Enterprise%20T5140%20Server%20Datasheet.pdf  

https://docs.oracle.com/cd/E19910-01/E21500-01/z40000c41010836.html

Los servers se encuentran en perfecto estado, funcionando, cuentan con 64Gb de Ram,  2x UltraSPARC T2 Plus 1,4 Ghz Eran parte de un Laboratorio de informatica donde se probaban y se dictaban clases de : Virtualizaciones con LDOMs, OracleVM, ZONES, Bases de Datos, etc etc.   realizar todas las preguntas necesarias a [email protected]                  

2016-06-24 // chownealo


jorgeabreu

[2016-06-23] [email protected]:~$ cat [ Video ] - Star Trek Fan Film - AXANAR Teaser Trailer "Honor Through Victory"



Pasaron casi 2 años desde que compartí el corto fan film de Star Trek Prelude To Axanar, ahora llega el momento de un nuevo Teaser de AXANAR:


2016-06-23 // jorgeabreu


jorgeabreu

[2016-06-15] [email protected]:~$ cat [ Novedades - Trailer ] - Se anuncia Resident Evil VII en la E3 2016


En la E3 del 2016 se presentó el nuevo Resident Evil que viene a continuar los sucesos del Resident Evil 6. El trailer nos da pistas de que vuelve el horror, y baja un poco la accion, aunque da la idea de ser en primera persona.
¿Será este un gran cambio en la saga que tradicionalmente fue siempre en tercera persona?



Trailer de Resident Evil VII en la E3 2016:




Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2016-06-15 // jorgeabreu


desarrolloylinux

[2016-06-07] [email protected]:~$ cat [TIP - Linux] - Como saber que Distribución y Versión de Linux estamos utilizando

Es muy común que suceda que estamos trabajando en Linux, y de pronto necesitamos saber la versión exacta de la distribución que estamos utilizando. Parece una tontería, pero sucede mas de lo que muchos se imaginan. Acá no es tan sencillo como decir "Windows Seven", tenemos una diversidad enorme de Distribuciones de Linux, algunas con ams particularidades que otras, y algunas con mas coincidencias con las demás que otras. Por lo tanto, a veces es importante saber si estamos en un "Ubuntu 14", o en un "Linux Mint", o en un "Debian". Algunos la tienen tan clara que con ver un poquito el escritorio, ya saben que distro es, pero a veces cuando trabajamos en servidores, es MUY importante saber si estamos en un "RHEL 4", "RHEL 5", "Oracle Enterprise Linux 4", etc... Nos puede hacer muchas diferencias a la hora de trabajar o implementar algo.





Estas dudas en general se resuelven con 3 simples comandos:

Distribucion:
cat /etc/*-release

Detalles de la distro:
lsb_release -a

Kernel:
uname -a

Un ejemplo de la salida de estos comandos, seria:

[[email protected] @ar_jorge1987]# cat /etc/*-release
LSB_VERSION=
DISTRIB_ID="Mageia"
DISTRIB_RELEASE=4
DISTRIB_CODENAME=thornicroft
DISTRIB_DESCRIPTION="Mageia 4"
Mageia release 4 (Official) for x86_64
Mageia release 4 (Official) for x86_64
Mageia release 4 (Official) for x86_64
Mageia release 4 (Official) for x86_64
NAME="Mageia"
VERSION="4"
ID=mageia
ID_LIKE="mandriva fedora"
PRETTY_NAME="Mageia 4"
ANSI_COLOR="1;36"
HOME_URL="http://www.mageia.org/"
SUPPORT_URL="http://www.mageia.org/support/"
BUG_REPORT_URL="https://bugs.mageia.org/"
Mageia release 4 (Official) for x86_64

En la salida anterior podemos encontrar que la distribución de Linux que estoy utilizando es: "Mageia 4".

Por otro lado, con el siguiente comando, podemos ver mas específicamente las versiones de core de la distribución:

[[email protected] @ar_jorge1987]# lsb_release -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1...
Distributor ID: Mageia
Description: Mageia 4
Release: 4
Codename: thornicroft


Y finalmente para confirmar los detalles de arquitectura y kernel:

[[email protected] @ar_jorge1987]# uname -a
Linux localhost 3.8.13.4-desktop-1.mga3 #1
SMP Thu Jul 4 13:56:21 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux


Espero que les sea de utilidad.
Saludos!




Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2016-06-07 // desarrolloylinux


epzylon

[2016-05-30] [email protected]:~$ cat Podcasts de Seguridad!

Les comparto una selección de podcast activos y muy buenos que he estado escuchando últimamente:

SANS Internet Storm Center Daily Network Security Podcast_logo
Este podcast es breve y sale sin falta todos los dias, ideal para actualizarte durante la mañana

Brakeing Down Security podcast
Este podcast tiene muy buen nivel de los temas tratados, es un poco mas largo, una hora al menos y sale regularmente todas las semanas

Paul’s Security Weekly
Este podcast esta estrenando una emisión semanal dedicado a la seguridad en las empresas, mientras continua con su acostumbrada y famosa periodicidad.

Down the Security Rabbithole
De periodicidad menos frecuente, pero constante, trata temas no tan técnicos en si pero muy interesantes a todo lo referente con la seguridad informática.

Defensive Security Podcast
Otro excelente podcast con temas relacionados con la seguridad informatica, de duración larga pero interesante.

Crimen Digital
Este podcast se especializa sobre todo en la parte forense de la seguridad informática. Lo mejor que escuche en español

Otros dos mas, sobre los que no tengo mucho para decir:
Security Advisor Alliance Podcast
Data Driven Security

2016-05-30 // epzylon


chownealo

[2016-05-19] [email protected]:~$ cat Asterisk YEASTAR

Asterisk YEASTAR

Asterisk YEASTAR PCIe

Modelo X40

TDM800 X160

Se suman 2 placas FXO (E333645 W-02)

Chip Altera MAX (epm3064ATC100 - 10N) HCB770807A

 

Escuchamos Ofertas - A revisar.

 

Contacto:

[email protected] / [email protected]

 

2016-05-19 // chownealo


desarrolloylinux

[2016-05-13] [email protected]:~$ cat [tip - linux] - Como setear algunos parametros de kernel y memoria requeridos por Oracle como shmmax, shmmni y otros

Al instalar aplicaciones de servidor de Oracle en Linux es probable que la lista de requerimientos sea bastante larga tanta en software y dependencias requeridas como en al parametrización del sistema, y ni hablar si estamos optando por usar Red Hat en vez de Oracle Linux. A continuación dejo una lista de algunos parámetros comúnmente solicitados para la instalación de una Database como la Oracle 11G, y como cambiar el parámetro del archivo, ya que algunos no es posible editarlos con un editor como por ejemplo vi.





La mayoría de los parámetros son archivos en el path: /proc/sys/kernel

[[email protected] Disk1]# cd /proc/sys/kernel

En el archivo sem podemos modificar los parametros de: semmsl, semmns, semopm y semmni, y a este si lo podemos editar con vi:

[[email protected] kernel]# vi sem


En cambio al resto podemos, o debemos, modificarlos con echo:

[[email protected] kernel]# echo 4294967295 > shmmax

[[email protected] kernel]# echo 4096 > shmmni

[[email protected] kernel]# echo 2097152 > shmall
Despues los parametros relacionados al filesystem estan en la parte de fs

 [[email protected] Disk1]# cd /proc/sys/fs/

[[email protected] kernel]# echo 6815744 > file-max

Y los parametros de networking en net:

 [[email protected] Disk1]# cd /proc/sys/net/ipv4

[[email protected] kernel]# echo 9000 65500 > ipv4/ip_local_port_range

Espero que les sirva por si no llegara  recordar como cambiar alguno de los parametros, o donde está.

Saludos.

Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2016-05-13 // desarrolloylinux


netsecure

[2016-05-13] [email protected]:~$ cat Sobre las dimensiones del universo

planilandiaHoy es común hablar de la posibilidad de un universo de mas de 4 dimensiones, pero en 1884, cuando Edwin Abbot escribió ‘Planilandia, una novela de muchas dimensiones’ (Flatland, a romance of many dimensions) Einstein era un niño, y la teoría de la relatividad y los razonamientos que vendrían a consecuencia de la misma, tendrían que esperar unos cuantos años para que fecunde en el imaginario colectivo mundial.

Planilandia nos introduce a un universo de 2 dimensiones, desde la perspectiva de un Cuadrado (A Square/Cuadrado A) ciudadano de la misma. En este universo, todo se ve prácticamente igual: como una linea!
Al carecer de la tercera dimensión, la proyección de cualquier figura es una linea, sinpentagon embargo, para los habitantes de Planilandia esto no es un impedimento para distinguirse entre si.
Lo interesante es ver como nuestro relator sueña con un universo de una dimensión (Lineland/Linealandia) e intenta explicarle al Rey de esa tierra de una única dimensión que existe un universo de 2 dimensiones!! El resultado es la frustración y el fracaso, ya que los habitantes de Linealandia no pueden concebir una aberración tal como un universo de 2 dimensiones!.
Pero la novela va mas allá y nos relata como el Cuadrado A conoce a una esfera, que se entromete en Planilandia para explicarle que existe un universo de 3 dimensiones! Esto parece imposible para Cuadrado A, pero luego de verlo con su propio ojo, Cuadrado A, logra comprenderlo  y quiere ver mas aun, quiere ver el universo de 4 dimensiones! image_thumb10

Uno de los elementos mas interesantes en el relato, es el encuentro entre la esfera y el cuadrado, donde se muestra que una esfera que es cortada por un plano (Planilandia en esta caso) parece ser un circulo, a ojo del cuadrado, pero a medida que la esfera sube o baja, esta cambia de tamaño y hasta desaparece! Aunque Abbot no lo sabia, se estaba adelantando al ‘comportamiento de algunas partículas subatomicas que aparecen y desaparecen’

Sin mas, espero haberles sembrado la curiosidad suficiente como para tomarse el tiempo de leer este clásico matemático, que va desde la critica de la conformación social, pasa por la religión, y por la geometría, para hablarnos de un universo de infinitas dimensiones!

2016-05-13 // netsecure


epzylon

[2016-04-25] [email protected]:~$ cat RedHat Certified System Administrator 7 (RHCSA 7) – Sistemas en Funcionamiento III – LOGS

Siguiendo con la serie de posts relacionados al RHCSA 7, hoy nos ocuparemos del objetivo que reza:

Ubicar e interpretar archivos de registro del sistema y diarios

Como lo venimos haciendo en posts anteriores (RHCSA, RHCSA I, y RHCSA II) haremos un somero repaso sobre los temas mas conocidos para un administrador linux y nos centraremos mas sobre las nuevas características de Red Hat 7.

En esta sencilla oración, “Ubicar e interpretar archivos de registro del sistema y diarios”, o mas estéticamente en ingles: “Locate and interpret system log files and journals.”
se nos pide tener un conocimiento, al menos básico de los logs y journals, así que… empecemos!

Logs, historicamente

Syslogd es un daemon originalmente creado por el autor de Sendmail, para ser usado solo por Sendmail, sin embargo, dado su utilidad, se convirtió en un estándar de facto[1] en los sistemas Unix, no solo para Sendmail, si no para administrar todos los registros.
Este estándar de facto consta de 2 partes principales, el daemon syslog y el protocolo syslog.
El daemon es el encargado de recibir (tanto desde el sistema local, como de otoso sistemas, remotamente) y escribir los registros de cada daemon y del mismo kernel. Por otro lado el protocolo es el que se encarga de transmitir mediante la red los registros, desde el daemon emisor al server syslog.

Como bien debes saber ( o no ), syslog establece una prioridad para cada mensaje, esta prioridad se compone por la identificación del recurso, y la severidad, a saber:

Recursos (facility)
0: Mensajes del kernel (kern)
1: Mensajes del nivel de usuario (user)
2: Sistema de correo (mail)
3: Demonios de sistema (daemon)
4: Seguridad/Autorización (auth)
5: Mensajes generados internamente por syslogd (syslog)
6: Subsistema de impresión (lpr)
7: Subsistema de noticias sobre la red (news)
8: Subsistema UUCP (uucp)
9: Demonio de reloj (clock)
10: Seguridad/Autorización (authpriv)
11: Demonio de FTP (ftp)
12: Subsistema de NTP
13: Inspección del registro
14: Alerta sobre el registro
15: Demonio de reloj (cron)
16: Uso local 0 (local0)
17: Uso local 1 (local1)
18: Uso local 2 (local2)
19: Uso local 3 (local3)
20: Uso local 4 (local4)
21: Uso local 5 (local5)
22: Uso local 6 (local6)
23: Uso local 7 (local7)

Severidades  (severity)
0: Emergencia: el sistema está inutilizable (emerg)
1: Alerta: se debe actuar inmediatamente (alert)
2: Crítico: condiciones críticas (crit)
3: Error: condiciones de error (err)
4: Peligro: condiciones de peligro (warning)
5: Aviso: normal, pero condiciones notables (notice)
6: Información: mensajes informativos (info)
7: Depuración: mensajes de bajo nivel (debug)

En base a la Prioridad (facility*8 + severity) el daemon syslogd determina donde guardara los registros.
Esta configuración la podíamos encontrar en /etc/syslog.conf y comúnmente apuntaba a algún archivo dentro del /var/log

Logs en Red Hat 7

Actualmente, y desde hace un tiempo Red Hat utiliza rsyslogd una implementación de syslog que implementa el RFC 3195 , TCP, SSL, carga de diferentes modulos y permite una gran variedad de funciones, que lo transforman en un excelente administrador de registros (logs).

Si bien la configuración de rsyslogd permite una enorme cantidad [2] de variables, su configuración por defecto refleja la utilización mas básica.

Si exploramos el /etc/rsyslog.conf veremos que las siguientes lineas nos indican donde buscar los distintos mensajes

#kern.*                                     /dev/console
*.info;mail.none;authpriv.none;cron.none    /var/log/messages
authpriv.*                                 /var/log/secure
mail.*                                    -/var/log/maillog
cron.*                                    /var/log/cron
uucp,news.crit                            /var/log/spooler
local7.*                                  /var/log/boot.log

Tenemos entonces aquí, un punto de partida para saber donde buscar registros,de los distintos daemons sobre los que trabajemos.
En este post hay un artículo sobre como configurar rsyslog para centralizar los registros.

Journald

Por otro lado, Red Hat 7 ya no necesita de un daemon que implemente syslog, para administrar los registros, ya que Journald, un daemon parte de la colección de novedades de systemd, administra y almacena los registros. En este documento, pueden encontrar las razones para utilizar una solución mas avanzada en la administración de logs.

Dentro de las características principales de journald, es que guarda los registros de forma indexada y en formato binario, esto nos permite, entre otras ventajas, poder buscar y visualizar los logs de forma mucho mas rápida y efectiva.

Journalctl

Para la tarea de visualizar los logs de journald, contamos con la herramienta journalctl. Ejecutándolo sin mas, obtendremos la salida de todos los logs almacenados con un ‘pager’, que nos permitirá navegar por los registros.
Con journalctl podemos filtrar por prioridad, por el programa que lo genero, por fecha, y por booteo sin necesidad de ‘entubar’ (usar tuberias/pipes) a otros programas.

Ejemplos:

#Obtener logs desde el ultimo booteo
journalctl -b
#Obtener lista de booteos
journalctl --list-boots
#Obtener logs de ssh
journalctl /sbin/sshd
#Obtener logs de una prioridad determinada
journalctl -p err
#Obtener los logs en base a fechas
journalctl --since=yesterday
journalctl --since=2016-04-01 --until=2016-04-12
#Salida analoga al tailf -f
journalctl -f

Todas estas opciones pueden complementarse entre si, para poder precisar de forma especifica lo que necesitamos, sin necesidad de andar escarbando entre archivos y concatenando greps y awks.
A mas de esto, journalctl nos permite especificar distintos formatos de salidas utilizando el parametro –output:

short
short-iso
short-precise
short-monotonic
verbose
export
json
json-pretty
json-sse
cat

Conclusion

Concluyendo, para tener un conocimiento básico de los logs en Red Hat 7, conviene utilizar journalctl para familiarizarnos con la herramienta, revisar un poco el man y buscar de lograr obtener toda la información que solíamos buscar antes de que systemd nos invadiera.

~have fun

[1] RFC 3164 es la definición original, actualmente no se encuentra en vigencia

[2] Manual de RedHat 7 sobre rsyslog

2016-04-25 // epzylon


dorkit

[2016-04-20] [email protected]:~$ cat De la Corpo a la StartUp

humorgeek03 Luego de pasar años trabajando en empresas/corporaciones he vuelto a trabajar en una empresa de tamaño mediano, tirando a pequeño.
Ojo!, no ese tipo de empresa StartUp, tan copado que pulula hoy dia, con horarios flexibles, escritorios libres, snacks y demases de buen gusto, muy al estilo google. No. Una simple empresa, pequeña, donde, no sobran recursos para ser mal usados, si no todo lo contrario, faltan recursos y los que hay, tienen que ser super optimizados.

Si!, una empresa que carece que cualquier tipo de ‘proceso’ o ‘procedimiento’, donde las palabras ‘ITIL’, ‘LEAN’, ‘GxP’, ‘ISO’, y ese largo etc. que conoces muy bien, son inexistentes.

Una empresa donde hay que ser un ‘Google Oriented Developer’, con experiencia en ‘Google Oriented Sysadmin’.

Ahora la diversión no esta en el ‘playroom’, por que claramente no lo hay, tampoco el aburrimiento esta en extensas CABs/Meetings/Calls, ahora la diversión esta en… Trabajar!

Que alivio, que alegría, que bien que uno se siente……

hasta que llega el primer recibo de sueldo!!!

 


2016-04-20 // dorkit


epzylon

[2016-04-14] [email protected]:~$ cat RedHat Certified System Administrator 7 (RHCSA 7) – Sistemas en Funcionamiento II

Continuando con el post anterior (Redhat Certified System Administrator 7 Sistemas en Funcionamiento I) donde tratamos los primeros 3 puntos del segundo requerimiento del examen RHCSA.

A continuación continuaremos con el siguiente punto de forma sintética:

Identificar los procesos que hacen un uso intensivo de la CPU y de la memoria, ajustar la prioridad de los procesos con renice y eliminar procesos

Tradicionalmente, en cualquier unix ‘ps’ es el comando para identificar los procesos con sus respectivas características, cualidades y estados. Este tradicional comando, en los sistemas GNUs soporta 3 tipos de sintaxis para los parámetros, a saber: UNIX, BSD, y GNU. Para simplificar en este post utilizaremos la sintaxis UNIX la cual permite agrupar las distintas opciones y require un -.
Por ejemplo:

ps -aux

Cabe recalcar, ps a no es igual a ps -a.

Process Snapshot (ps)

El comando ps listará los procesos dependiendo de los parámetros modificadores que la pasemos.

Repasemos los mas pertinentes:
-e / -A  Listar todos los procesos
-x        Lista procesos que estén asociados a una terminal (TTY)-U       Lista los procesos asociados a un o varios usuarios
-o       Permite determinar que características del proceso se listaran

Los parámetros mas interesantes para -o son los siguientes:

%cpu        %CPU      cpu utilization of the process in "##.#" format. 
%mem        %MEM      ratio of the process's resident set size  to the physical memory on the machine, expressed as a percentage
args        COMMAND   command with all its arguments as a string. Modifications to the arguments may be shown.
cgroup      CGROUP    display control groups to which the process belongs.
ni          NI        nice value. This ranges from 19 (nicest) to -20 (not nice to others)
pid         PID       a number representing the process ID
ppid        PPID      parent process ID

Podemos entonces, combinar estos parámetros en una salida como la siguiente:

ps -e -o pid,%cpu,%mem,args

La cuál nos brindaría el pid, el porcentaje de CPU utilizado, el porcentaje de memoria utilizado y los argumentos con los cuales se ejecuto el programa. Otro parámetro interesante es cgroup, ya que desde que tenemos systemd, todos los procesos se ejecutan bajo el control de un grupo (control group).

Pueden encontrar estos parámetros y muchos mas haciendo ‘man ps’, en la sección STANDARD FORMAT SPECIFIERS

El último tip, es el siguiente: para poder ordenar la salida, utilizamos –sort, y especificamos en base a que parámetro queremos ordenar la salida.

Por ejemplo ordenaremos por porcentaje de procesamiento del CPU:

ps -e -o pid,%cpu,command --sort %cpu

Table of Process (top)

Otro comando clásico de los UNIXs, nos listara en tiempo real la table de procesos y su consumo de recursos. Así mismo, por defecto top ordena los procesos por su consumo de CPU, lo que nos facilita encontrar cuáles son los programas que mas recursos consumen.
Presionando r se podrá cambiar el número de prioridad de un proceso y con k podemos enviar una señal para matar al proceso.
Podrán encontrar un buen post sobre top aquí

Nice & renice

Los sistemas UNIXs permiten establecer prioridades de procesamiento para que el CPU se ‘concentre’ mayormente en ciertas tareas y relegue otras.
Nice permite ejecutar un comando con una prioridad determinada:

nice -n 5 comando --argumento

Si el proceso ya estuviese corriendo, podemos reasignarle la prioridad con renice referenciando su pid:

renice -n 4 2345

Kill y sus derivados

Finalmente, para eliminar un proceso, tenemos el comando kill.
Unix establece distintas señales que podemos enviarle a un proceso, las mas comunes son SIGHUP (1) (morir y volver a ejecutarse), SIGTERM (15) (le avisa al proceso que tiene que terminar su ejecución, pero le da tiempo de que cierre los file descriptors y mate a sus hijos) y SIGKILL (9) (termina el proceso inmediatamente)l.

Así, podemos enviarle estas señales utilizando el PID y el numero de señal:

kill -s 9 2345

Killall  y pkill nos permiten hacer lo mismo, pero buscando el proceso por nombre:

killall -s 9 xchat

Otro post interesante sobre el tema, aqui

Conclusión

Estos temas son básicos para cualquier administrador linux/unix, por lo que simplemente hicimos un brevisimo repaso, no hay diferencias en Red Hat 7 de lo que ya conocemos en este punto.

Saludos!

~have fun

2016-04-14 // epzylon


netsecure

[2016-04-08] [email protected]:~$ cat Wallpaper de Sysarmy!

Esta tanda salieron mayormente oscuros… oigo comentarios y sugerencias para la proxima tanda

2016-04-08 // netsecure


netsecure

[2016-04-08] [email protected]:~$ cat Wallpaper Sysarmy

Uno de los tantos que hice, pronto los comparto
keepcalm

2016-04-08 // netsecure


desarrolloylinux

[2016-03-11] [email protected]:~$ cat [Tip - Oracle] - Error ORA-12705: No se puede acceder a los archivos de datos NLS o se ha especificado un entorno no válido.

Nuevamente les compartimos la solucion aun error de Oracle que en Internet cuesta encontrar la solucion correcta, y creemos que valia la pena aportar nuestra experiencia.



Hace poco me pasó que desde el SQLDeveloper de un desarrollador no me podia conectar a una DB Oracle XE porque me salia el error:

ORA-00604: se ha producido un error a nivel 1 de SQL recursivo
ORA-12705: No se puede acceder a los archivos de datos NLS o se ha
especificado un entorno no válido.

Despues de dar mil vueltas por internet, y jugar con la configuracion de NLS del SQLDeveloper, encontré en un post random una solucion, que me sirvió en más de una oportunidad, y me parece bueno compartirla.

Finalmente para solucionar el problema hay que ir a la carpeta sqldeveloper/sqldeveloper/bin y editar el archivo "sqldeveloper.conf", para agregarle al final del mismo las siguientes lineas:

AddVMOption -Duser.region=us
AddVMOption -Duser.language=en

(Suponiendo que la DB fue instalada en US American, que es la configuración por default)

Luego de esto no tuve más problemas, espero que les sirva.

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2016-03-11 // desarrolloylinux


jorgeabreu

[2015-12-22] [email protected]:~$ cat [Opinion - Wikipedia] - Proyecto de ley busca extender el copyright de las fotografias

Update: Se aprobó en diputados, pero con una modifiaccion gracias a la presion ejercida desde las instituciones que avalan el derecho a la cultura libre, que el tiempo sea 50 años desde la primera publicacion. Me sigue pareciendo un tiempo enorme y descabellado, aqui pueden ver el comunciado de Wikimedia Argentina: Modificación de la ley de derechos de autor en la Cámara de Diputados

Existe en el congreso un proyecto de Ley que busca equiparar los derechos de autor y copyright en las fotografías con el resto de las artes, esto significa mantener los derechos de explotación hasta 70 años después de muerto el autor, contra los 20 años post publicación actuales. Ahora bien, un pequeño detalle interesante es que la ley va a ser retroactiva, esto significa que todas las imágenes tomadas en Argentina que ya estén en dominio publico, y por consiguiente, en sitios educativos como Wikipedia o académicos, deberán ser borradas ya que infringirían los derechos de copyright de la obra. Aproximadamente casi todas las fotos tomadas desde 1900 para acá, deberán ser eliminadas de Wikipedia de aprobarse esta ley.

¿No es esto algo justo para los fotógrafos? Si y no. Porque las fotografías importantes sobre la historia son en general fotos periodísticas que pertenecen al archivo de una editorial, así sea Clarín, Caras, perfil, LaNacion, etc... Por lo tanto, las grandes beneficiadas con esta ley serán ni mas ni menos que las dueñas de esos archivos. Imagínense por ejemplo, que a partir de ahora todo manual escolar que tenga fotos de las ultimas Dictaduras, de la Guerra de Malvinas, del Peronismo, de la vuelta a la Democracia, del Mundial del 78, etc... prácticamente todas van a volver al dominio privado y solo quedar dos alternativas, remover esas fotografías, o pagar el canon correspondiente a su editorial. Y un fotógrafo puede objetar, ¿Y pero no es esto justo? Devuelta, si y no, porque la Fotografía cumple un rol central y fundamental en la historia de la humanidad tanto educativa, como informativa, de estudio, etc... A lo que voy es, la fotografía tiene un rol en la sociedad que no lo tienen ningún otro arte. Si la Música fuera solo privada (lo és), sabríamos como fue la vuelta a la Democracia, o como es la cara de Jorge Luis Borges igual, si mañana desapareciera la televisión, lo mismo, si mañana desaparecieran las obras plásticas, lo mismo, pero, si mañana desaparecieran todas las fotografías Argentinas desde 1900 hasta el presente, nada seria lo mismo.






En resumen, creo que los Fotógrafos se merecen un mejor reconocimiento y remuneración por su trabajo, pero también creo que extender la explotación de copyright de manera genérica como forma de solución a esta problemática es un error. El Copyright lo único que genera es es brechas sociales, informativas, educativas, etc... y en cualquier ámbito, no solo en las fotografías. La fotografía cumple un rol central en la sociedad para informarnos, educarnos y recordar el pasado, por eso creo que no se debería extender el copyright sobre las mismas, y mucho menos a 70 años después de la muerte. En mi trabajo me pagan por mes un monto fijo y tengo que estudiar tanto o mas que un fotógrafo, y tengo que usar la creatividad para resolver problemas de la misma manera. Mi equipo de trabajo en casa también es caro, y no por ello me siguen pagando por lo que hice durante toda mi vida y luego 70 años después de muerto. ¿Cual es el plan? ¿Que los grandes archivos puedan lucrar con las fotografías por mas de un siglo con cada una?

Jorge Luis Borges. Esta imagen esta en los servidores de Wikimedia Commons porque esta en Dominio Publico, ya que fue publicada en 1968. De aprobarse esta ley, habría que borrarla, y probablemente si lees esto después de aprobada la ley, acá vas a ver una X de que no se encuentra la imagen...

Mi opinion no es en contra ni del capitalismo, ni de los fotógrafos, ni del arte. Mi opinión es en contra de lucrar incansablemente por algo que hiciste una vez, y para peor, que seguramente los derechos los tienen una editorial y no el fotógrafo cronista. Mi opinión es que no deberían existir las patentes, ni el copyright eterno. ¿Cual es el sentido de patentar una vacuna? Que no la pueda fabricar absolutamente nadie en ninguna parte del mundo a menor costo, claro, ese es el motivo. ¿Cual es el sentido de patentar un algoritmo de software? Que no lo pueda usar nadie en todo el mundo por mas que haya llegado a la misma solución sin haber visto mi código nunca. Y sino busquen los juicios de SCO (pagado por Microsoft) contra Linux, o las amenazas de Microsoft al proyecto ReactOS, y así sucesivamente. Y si quieren un ejemplo local, busquen a Kodama amenazando y haciéndole juicio a cualquiera que publique textos de Borges, porque Borges puede ser el gran escritor Argentino, pero no se te ocurra leerlo sin pagarle a sus herederos primeros, porque claro, Borges ya murió, pero su copyright sigue vivo. Porque esa es la función del Copyright, lucrar hasta el cansancio.

Se que algunos van a pensar parecido que yo, y que muchos van a pensar en contra. Este texto en mi blog personal es simplemente mi forma de expresarme. Gracias por leer.

Video con Patricio Lorente, presidente de la Fundacion Wikimedia, donde se expresa sobre la ley que busca extender el copyright sobre las fotografías: :



Comunicado de Wikimedia Argentina sobre el tema:

Wikipedia se puede quedar sin fotos de la historia argentina

Wikimedia Argentina expresa su preocupación por la presentación de un proyecto de ley, impulsado por la diputada Mazure, que busca extender el derecho de autor sobre las fotografías de los actuales 20 años desde la publicación a 70 desde la muerte del autor.

En lugar de empoderar a los trabajadores fotográficos —frente a las editoriales o los grandes medios comerciales, por ejemplo—, la reforma pone en peligro cientos de miles de fotografías históricas que pasarían con efecto retroactivo al dominio privado. Una fotografía de Gardel de los años 30 podría pasar a ser propiedad discrecional de un heredero, que decidiría en todo caso si permite reproducirla, a qué costo y con qué condiciones.

Ni siquiera contempla la propuesta de Mazure excepciones que tengan en cuenta el valor de la fotografía como parte del patrimonio cultural e histórico de un pueblo. Se pretende equiparar la protección sobre las fotografías a la de composiciones musicales u obras de teatro. Pero una foto es algo muy distinto.

La norma vigente, que establece la protección en 25 años desde la toma de la foto y 20 de la primera publicación, se ajusta en todo a los plazos previstos por el Convenio de Berna. Son trabajos por los que los autores han obtenido ya un rédito razonable. Extender la propiedad a 70 años tras su muerte supone que los herederos lucren a costa del derecho al acceso a la cultura. No se trata ya del autor de la foto sino de los parientes de quien disparó la cámara: incluso si desconocieran su derecho patrimonial las fotos dejarían de ser públicas.

El proyecto supone privatizar fotografías hoy en el dominio público sobre toda clase de acontecimientos del siglo XX —los paisajes urbanos, el tango, los ferrocarriles, el deporte, el rock nacional, el peronismo, las dictaduras militares y la lucha de los organismos de DDHH, la Guerra de Malvinas— que dejarían de estar libremente disponibles.

Wikipedia tendría que borrar prácticamente todas sus fotos de historia del siglo XX: la mera exposición sin consentimiento del nuevo derechohabiente sería un delito. No sólo Wikipedia: hasta el Archivo General de la Nación pasaría a la ilegalidad y 40 millones de argentinos quedarían sin acceso a su memoria histórica.

Llamamos a los diputados y senadores de la Nación a considerar seriamente el daño que produciría la reforma propuesta. El patrimonio cultural importa más que el lucro individual.

Saludos.



Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2015-12-22 // jorgeabreu


gonzamartinez

[2015-12-12] [email protected]:~$ cat Erlang - Sintaxis en funciones

Que sucede con el if?
El condicional if  actúa como las guardas y comparte con ellas la sintaxis pero fuera de la clausula cabecera  de la funcion. Las clausulas if son llamada Patrones de Guardas. Los IFs en Erlang son diferentes de los ifs  que encuentras en la mayoria de los lenguajes. Cuando entrás al pais de Erlang deberías dejar en la puerta todo lo que sabes acerca de los ifs

Para ver que tan similar a las guardas es la expresión if, mira lo siguiente.

-module(what_the_if).
-export([heh_fine/0]).

heh_fine()->
    if 1 =:= 1 ->
        works
    end,
    if 1=:= 2; 1 =:= 1->
        works
    end,
    if 1 =:= 2, 1=:= 1 ->
        fails
    end.


guarda esto como what_the_if.erl y probemos.

1> c(what_the_if).
./what_the_if.erl:12: Warning: no clause will ever match
./what_the_if.erl:12: Warning: the guard for this clause evaluates to 'false' {ok,what_the_if}
2> what_the_if:heh_fine().
** exception error: no true branch found when evaluating an if expression
        in function what_the_if:heh_fine/0


Bueno, el compilador nos informa que hay un error en la linea 12 que informa que esa linea siempre se evalua como falso. Recuerda, que en Erlang, todo debe retornar algo y la expresión if no es una excepción a la regla. De esta manera cuando Erlang no puede encontrar una manera de tener una guarda exitosa, este se rompe: no puede no devolver algo. Así que necesitamos agregar una rama que capture todo haciendo que siempre sea exitoso de cualquier manera.

En cualquier lenguaje esto es llamado un "else". En Erlang usamos "true" (esto explica por que la VM lanza el error "no hay rama verdadera")

oh_god(N) ->
    if N =:= 2 -> might_succeed;
        true -> always_does
    end.

Y ahora si nosotros testeamos esta función (la parte anterior seguirá lanzando esos warnings)

3> c(what_the_if).
./what_the_if.erl:12: Warning: no clause will ever match
./what_the_if.erl:12: Warning: the guard for this clause evaluates to 'false' {ok,what_the_if}
4> what_the_if:oh_god(2).
might_succeed
5> what_the_if:oh_god(3).
always_does


Seguramente serás alguno de los programadores que se sorprende por el uso de atomo true en vez de else para el control de flujo, despues de todo es más familiar. Como dice Richard O'Keefe básicamente usar el true es capturar todas las otras posibilidades y estos ejemplos que dá él mismo deberián solucionar nuestra confusión.

                          by
if X > Y -> a() if X > Y -> a()
; true -> b() ; X =< Y -> b()
end end

if X > Y -> a() if X > Y -> a()
; X < Y -> b() ; X < Y -> b()
; true -> c() ; X ==Y -> c()
end end 
 

Las ramas "else" o "true" deberián ser evitadas ambas. Los ifs son usualmente más fácil de leer cuando cubres todas los extremos lógicos que cuando confias eso a una clausula "captura-todo".

En caso ... de

Si la expresión if es como una guarda una expresión case ... of  es como la cabecera de la función completa: puede tener una compleja coincidencia de patrones para cada argumento, y puedes tener guardas encima de él.

Probablemente estás familiarizado con la sintaxis, no necesitaremos demasiados ejemplos. Para esto, escribiremos una función para agregar elementos a un conjunto (una colección de valores únicos) que podremos representar como una lista desordenada. Esta posiblemente sea la peor implementación en términos de eficiencia. Aquí la sintaxis.

insert(X, []) -&gt
    [X];
insert(X,Set) -&gt
    case lists:member(X,Set) of
        true -&gt Set;
        false -&gt [X|Set]
    end.

Si enviamos una lista vacia y un término x para ser agregado, entonces nos retornará una lista solo conteniendo el valor x. De otra manera la función lists:member/2 verifica si un elemento es parte de un lista y retorna true si existe o false si no lo está. En caso de que ya exista el elemento en el conjunto entonces no lo modificamos. Sino, agregamos x al conjunto como el primer elemento de la lista.

En este caso la coincidencia de patrones, fue realmente simple. Aquí una más compleja,

beach(Temperature) -&gt
    case Temperature of
        {celsius, N} when &gt= 20, N =&lt 45 -&gt
            'favorable';
        {kelvin, N} when N &gt= 293, N =&lt 318 -&gt
            'scientifically favorable';
        {fahrenheit, N} when N &gt= 68, N =&lt 113 -&gt
            'favorable in the US';
        _ -&gt
            'avoid beach'
    end.

Aquí la respuesta a "es el momento adecuado para ir a la playa?", dadas 3 temperaturas diferentes: grados Celsius, Kelvin, Fahrenheit. La coincidencia de patrones y guardas son combinadas en orden para devolver una respuesta satisfactoria a todos los usos. Como apuntamos anteriormente, las expresiones "case ... of" son la misma cosa que varias cabeceras de funciones con guardas. De hecho podriamos reescribir nuestro código de la siguiente manera.

beachf({celsius, N}) when N &gt= 20, N =&lt 45 -&gt
    'favorable';
...
beachf(_) -&gt
    'avoid beach'.

Esto genera la siguiente pregunta. Cuando deberiamos usar "if", "case ... of" o funciones para hacer expresiones condicionales.

Que utilizar?

Que utilizar es una pregunta dificil. La diferencia entre llamadas a funciones y 'case ... of' son minimas: de hecho son representadas de la misma manera a bajo nivel. y usar una o la otra tiene el mismo costo en términos de rendimiento. Una diferencia entre ambas es cuando más de un argumento necesita ser evaluado "function(A,B) -&gt ... end." puede tener guardas y valores que coincidan con A y B pero una expresión case necesitaría ser formulada de la siguiente manera:

case {A,B} of
    Pattern Guards -> ...
end.

Esta forma es raramente vista, y puede sorprender un poco al lector. En situaciones similares llamar a una función debería ser más apropiado. De igual manera la función insert/2 previamente escrita, es podría decirse la manera más limpia en lugar de tener una llamada a función para continua con la manejar la simple clausula true o false.

La otra pregunta es para que usar if, dado que cases y functions son los suficientemente flexibles para incluso abarcar if a través de guardas? Lo racional detrás del if es simple. Este fue agregado para que tener en el lenguaje una manera corta de tener guardas sin necesidad de escribir toda la coincidencia de patrones cuando no es necesaria.

[0] http://learnyousomeerlang.com/syntax-in-functions

2015-12-12 // gonzamartinez


bizarrecrons

[2015-12-10] [email protected]:~$ cat Lazy Backups

00 06 * * *  for i in $(/usr/bin/find /var/data -maxdepth 2  -type d | /bin/grep -vE “([0-9]{1,3}.){3}[0-9]{1,3}$” | /bin/grep -v “data.$” | /bin/grep -vE “respaldos.+” | /bin/grep -v “sakai”);do file=$(echo $i | awk -F “/” ’{print $5}’) ; path=$(echo $i | sed -nr ’s/(\/?.*?\/)(.*)/\1/p’); /bin/tar cjf “$path$(/bin/date +%F-$file.tar.bz2)” $i; done

2015-12-10 // bizarrecrons


desarrolloylinux

[2015-11-17] [email protected]:~$ cat [Tip - Oracle] - Error "LRM-00116: syntax error at 'sessions' following '='" configurando una DB Oracle 11g XE

Me pidieron instalar una Base de Datos Oracle 11G Express en un servidor Centos 7, y por algún motivo pensé que no iba a tener problemas. La instalación finalizo bien, pero una vez que termina de instalar te pide que ejecutes como root el comando /etc/init.d/oracle-xe configure para configurar la DB de XE.





Al ejecutar el comando anterior, paso lo siguiente:

[[email protected] Disk1]# /etc/init.d/oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:y

Starting Oracle Net Listener...Done
Configuring database...
Database Configuration failed.  Look into /u01/app/oracle/product/11.2.0/xe/config/log for details

Y al revisar el primer log, la primer linea sale con el error:

LRM-00116: syntax error at 'sessions' following '='

O mas completo:

ERROR at line 1:
ORA-01078: failure in processing system parameters

LRM-00116: syntax error at 'sessions' following '='

Este error se debe a una mala generación durante la instalación de los archivos init.ora y el otro initXE* que están en la carpeta: /u01/app/oracle/product/11.2.0/xe/config/scripts

Hay que editar esos archivos, y revisar la linea que dice:
memory_target=

En caso de que este como aquí, vacía luego del "=", hay que agregarle la memoria que queremos que tenga para SGA, en mi caso le puse 1 Gb en ambos archivos:

memory_target=1G


Luego de realizar este cambio en ambos archivos y guardarlo, volví a correr el script: /etc/init.d/oracle-xe configure

Y todo perfecto. Como detalle, a algunas personas este error les surgió por no tener instalado el paquete "bc" en Linux, así que revisen eso antes de hacer estos cambios y volver a ejecutar. Y por ultimo, maten el proceso del listener antes de volver a ejecutar el configure luego de modificar los scripts, porque si llega a configurar el listener, y lo ejecuta, entonces cuando queremos volver a configurar la db, pincha al momento de elegir el puerto para la misma porque ya esta en uso.



Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2015-11-17 // desarrolloylinux


desarrolloylinux

[2015-11-17] [email protected]:~$ cat [Linux - Tip] - Reinstalar GRUB en Linux Centos, Red Hat o Ubuntu

A veces porque se corrompió el sector de booteo del disco, o quizás porque instalamos Windows en otra partición, pero a Windows le importa muy poco si hay otros sistemas operativos en el disco, así que borra GRUB. En caso de que el loader de GRUB se corrompa y no sea posible iniciar el kernel de Linux en CentOS o RedHat, se pueden seguir los siguientes pasos:



*    Bootear el equipo con el disco de instalación de Red Hat o CentOS.

*    Elegir la opción Linux Rescue, y cuando aparezca la consola tipear: linux rescue

*    Seguir los pasos para montar el sistema.

*    Ejecutar chroot /mnt/sysimage para entrar como root al filesystem.

*    Ejecutar para reinstalar GRUB en el disco deseado donde SDA es el disco en el que teniamos el sistema de archivos: /sbin/grub-install /dev/sda

*    Reiniciar.

Y con estos pasos queda reinstalado GRUB en el disco correspondiente.

En distribuciones basadas en Ubuntu, se puede realizar de la siguiente manera:

En caso de que el loader de GRUB se corrompa y no sea posible iniciar el kernel de Linux en Ubuntu, Kubuntu, Ubuntu server o derivados, se deben seguir los siguientes pasos:

 *  Bootear el equipo con el disco de instalación de Ubuntu o Ubuntu Server

 *  Elegir la opción Rescue del menu.

 *  Seguir los pasos para configurar el instalador de Ubuntu.

 *  Elegir la opción Reinstalar o Recuperar el GRUB Loader.

 *  Seleccionar el disco correspondiente donde instalarlo, por ej: /dev/sda .

 *  Reiniciar.

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2015-11-17 // desarrolloylinux


netsecure

[2015-11-12] [email protected]:~$ cat Don’t reboot, just patch


This bit
Uncontrolled
A bad bug,
Make my system fold
This bug, in the kernel
My kernel
My uptime ceases
Freakin’, Spazzin’
My manager’s mad, it ain’t pretty
I need caffeine, a big screen
Gotta fix this server in a jiffy

It’s too hot (hot patch)
Call Torvalds and Kroah-Hartman
It’s too hot (hot patch)
Make a Sys Admin retire man
It’s too hot (hot patch)
Holy cow, am I in a jam
It’s too hot (hot patch)
Tellin’ ya now it ain’t that funny
Server’s down

Live patching hallelujah (whoo)
Live patching hallelujah (whoo)
Live patching hallelujah (whoo)
‘Cause Uptime Funk gon’ give it to ya
‘Cause Uptime Funk gon’ give it to ya
‘Cause Uptime Funk gon’ give it to ya
Saturday night and servers alright
Don’t reboot it just patch (come on)
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Hey, hey, hey, oh

Halt
Don’t reboot, init
Found a fix, grab code from git
Make a build, passed the tests
Julio! Make a patch!
Ride to Provo, Nuremberg, Newbury in the UK
We got Linux, and there’s no doubt
Gonna fix that server in a jiffy

I’m all green (hot patch)
Called a Penguin and Chameleon
I’m all green (hot patch)
Call Torvalds and Kroah-Hartman
It’s too hot (hot patch)
Yo, say my name you know who I am
It’s too hot (hot patch)
I ain’t no simple code monkey
Nuthin’s down

Live patching hallelujah (whoo)
Live patching hallelujah (whoo)
Live patching hallelujah (whoo)
‘Cause Uptime Funk gon’ give it to ya
‘Cause Uptime Funk gon’ give it to ya
‘Cause Uptime Funk gon’ give it to ya
Saturday night and servers alright
Don’t reboot it just patch (come on)
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Hey, hey, hey, oh!

Before we leave
Imma tell y’all a lil something
Uptime Funk you up, Uptime Funk you up
Uptime Funk you up, Uptime Funk you up
I said Uptime Funk you up, Uptime Funk you up
Uptime Funk you up, Uptime Funk you up

Come on, patch
Get on it
If you stable then flaunt it
If you online then own it
Don’t text about it, come show me
Come on, patch

Get on it
If you stable then flaunt it
Well it’s Saturday night and the servers alright
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Don’t reboot it just patch
Hey, hey, hey, oh!

Uptime Funk you up, Uptime Funk you up
(say whaa?!)
Uptime Funk you up, Uptime Funk you up
Uptime Funk you up, Uptime Funk you up
(say whaa?!)
Uptime Funk you up, Uptime Funk you up
Uptime Funk you up, Uptime Funk you up
(say whaa?!)
Uptime Funk you up, Uptime Funk you up
Uptime Funk you up, Uptime Funk you up
(say whaa?!)
Uptime Funk you up

2015-11-12 // netsecure


bizarrecrons

[2015-11-11] [email protected]:~$ cat #——————————————&m...


#————————————————————————————————————————-
#xxx-Entry XXXXX:

#DB-Id …. ;       created from: ….. ;     at: xx.xx.xx, xx:xx;    description:
0       8,20    */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php ‘serverIp=10.x.x.x&customerId=XXXXXXX&boLang=de'  'id=xxx’

#DB-Id …. ;   created from: ; at: xx.xx.xx, xx:xx;    description:
0       0       */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id ….  xxxxx;        created from: ; at: xx.xx.xx, xx:xx;    description:
0       9       1       */1     *       nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;    created from: ; at: xx.xx.xx, xx:xx;    description:
0       0       */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;       created from: ; at: xx.xx.xx, xx:xx;    description:
*/5     */1     */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;       created from: ; at: xx.xx.xx, xx:xx;    description:
0       9       1       */1     *       nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;  created from: ; at: xx.xx.xx, xx:xx;    description:
0       12      */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;  created from: ; at: xx.xx.xx, xx:xx;    description:
5       16      */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ; created from: ; at: xx.xx.xx, xx:xx;    description:
10      16      */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;  created from: ; at: xx.xx.xx, xx:xx;    description:
0       16      */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#DB-Id …. ;     created from: ; at: xx.xx.xx, xx:xx;    description:
0       3       */1     */1     0,1,2,3,4,5,6   nice -n 10 php -c /var/www/xxx/xxx/xxx/standalone.linux.php.ini -f /var/www//xxx/xxx/xxx/crontab.php 'serverIp=10.x.x.x&customerId=XXXXXXX&boLang=en'  'id=xxx’

#xxx-Entry XXXXX End
#————————————————————————————————————————-

2015-11-11 // bizarrecrons


Gentooligan

[2015-11-03] [email protected]:~$ cat Marrying SOGo and Gentoo: part 2

It's been a while!

I know I know... I promised this over two years ago and I neglected this blog for too long. This is no excuse, because you already know I will likely neglect it again.

However, I did not want to miss this chance to tell you, reader, that I did manage to complete the ebuilds I mentioned in my previous post. I even made a kind of overlay for it:

https://github.com/godlike64/sogo-overlay

It will likely be outdated (now that I check SOGo's webpage, latest stable is 2.3.2. Well, I can't be in every place at the same time), but SOGo 3 is about to come out, which implies a lot more fun for me :D.Once the final version is out I will make sure to update these ebuilds.

In the meantime, feel free to check my github (link above) for some joy in checking completely unfinished projects.

Cheers!

2015-11-03 // Gentooligan


jorgeabreu

[2015-10-14] [email protected]:~$ cat [Top 20 - 02/02] - Los mejores juegos comerciales disponibles para Linux

[Parte 2] - Muchas veces charlando con amigos que usan Linux, noto que hay cierto desconocimiento en cuanto a juegos para ese sistema. Todos saben mas o saben menos sobre los juegos "OpenSource" que pegan fuerte en la comunidad, como OpenArena por ejemplo. Pero pocos saben que tiendas como Steam o Gog están ofreciendo juegos de la mas alta calidad para Linux. Si, son comerciales y hay que pagar (salvo algun Free to Play), ¿pero acaso muchos de estos títulos no lo merecen? Yo creo que si, yo creo que hay que quitar un poco el prejuicio o fundamentalismo de lado, y dejar que coexistan en libertad las alternativas Open Source por un lado, y las comerciales en donde adquirimos un producto por el otro.

Steam corriendo en una de mis PCs con Mandriva. En lo personal les recomendaría que usen Distribuciones basadas en Ubuntu para jugar, a mi Mandriva me trajo algunos problemas a la hora de usar Steam por ej. En cambio en una Notebook donde tengo Linux Mint funciona mucho mejor.


En este caso me voy a enfocar en hacer una lista completamente subjetiva, según mis gustos, opiniones, y juegos que pude jugar o conozco. Espero que sea de su agrado, y que expriman al máximo su sistema Linux, que quien sabe si en el futuro no se convierte en nuestra nueva plataforma de Gaming mas popular con la llegada de las SteamMachines, SteamOS, o quien sabe algún otro centro de multimedia pensado para el Gaming con Linux en el futuro.
(El Top no tienen ningún orden en particular ya que la propuesta es sobre lo mejor que se encuentra hoy en día para Linux, no hay diferencia entre el genero al que pertenecen, ni nada en lo particular)

Hoy en dia  GOG  tiene unos 200 juegos para Linux y Steam unos 950. Como podran apreciar por los numeros, es completamente falso el argumento de que no hay juegos para Linux.

Ultimos 10 de la lista de 20 titulos para Linux:


Tienda: Steam
Genero: FPS, Post Apocaliptico, Atmosferico.
Breve descripción: Voy a intentar ser lo mas sintetico posible. Es un FPS, tiene un gameplay de los mejores que vi en un FPS, y tiene una historia GENIAL. Futuro post apocalíptico, estamos todos viviendo en los tuneles del Metro porque afuera hay mucha radiación. Bichos, oscuridad, armas hechas con lo que se pudo rescatar de la guerra, distintas facciones políticas viviendo en determinados tuneles. Estos 2 títulos remasterizados para mi son joyas del Gaming, y están disponibles de manera nativa para nuestro amado Tux.
Video:
Requerimientos:
MINIMUM:
OS: 64-bit Ubuntu 12.04 or 14.04 or Steam OS
Processor: Intel Core i5 2.7 GHz (or equivalent AMD)
Memory: 4 GB RAM
Graphics: NVIDIA Geforce 460 / AMD 5850 with 2GB VRAM
Hard Drive: 10 GB available space
Additional Notes: Due to OpenGL 4, Intel video cards no longer supported
RECOMMENDED:
OS: 64-bit Ubuntu 12.04 or 14.04 or Steam OS
Processor: Intel Core i7 2.5 Ghz (or equivalent AMD)
Memory: 8 GB RAM
Graphics: NVIDIA Geforce 680 / AMD 7870 with 2GB VRAM+
Hard Drive: 10 GB available space
Additional Notes: Due to OpenGL 4, Intel video cards no longer supported




Titulo: BRUTAL LEGEND
Tienda: GOG / Steam
Genero: Acción, Estrategia, Fantasía, Heavy Metal
Breve descripción: ¡Alguna vez soñaste con un juego de accion en 3ra persona basado en un mundo de Heavy Metal en el que tengas una guitarra con la que podes llamar a tu auto, e ir al infierno a comprarle mejoras a Ozzy Osbourne mientras te ayuda Lemmy Kilmister? Bueno, es eso.
Video:
Requerimientos:
RECOMMENDED:
OS: : Ubuntu 12.04 LTS, fully updated
Processor: 2.2 GHz dual core CPU
Memory: 2 GB of RAM
Graphics: 256 MB GeForce 220, Radeon HD 4550, or Intel HD 4000 Graphics
Open GL: 2.1
Hard Drive: 9 GB HD space


Tienda: Steam
Genero: Plataformas 2D
Breve descripción: Un juego de plataformas en 2d con la tipica vista lateral en donde cada escenario es una desafío tras otro para ver que tan lejos puedes llegar en el menor tiempo y muriendo la menor cantidad de veces. Muy buen juego.
Video:
Requerimientos:
OS: If you're running the Steam client, you're good
Processor: 1.4GHz or faster
Memory: 1 GB RAM
Graphics: Graphics Card made within the last 4 years (Pixel Shader 3.0, Vertex Shader 3.0)
Hard Drive: 300 MB
Controller Support: Microsoft Xbox 360 Controller or Direct Input compatible controller


Titulo: SHOVEL KNIGHT
Tienda: GOG, Steam
Genero: Plataformas en 2D, Fantasía
Breve descripción: Desde tiempos inmemoriales que amamos juegos como Castlevania. ¿Por que no amar al caballero de la pala?
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 12.04 and Newer
Processor: Intel Core 2 Duo 2.1 ghz or equivalent
Memory: 2 GB RAM
Graphics: 2nd Generation Intel Core HD Graphics (2000/3000), 256MB
Hard Drive: 250 MB available space

Titulo: Portal 2
Tienda: Steam
Genero: Plataformas, Puzzles, Primera persona (FPS)
Breve descripción: Eres poseedor de un arma con la que puedes crear portales para teletransportacion entre 2 puntos a los que alcances con la vista. Deberás con esa mencanica, ir avanzando por los distintos escenarios
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 12.04
Processor: Dual core from Intel or AMD at 2.8 GHz
Memory: 2 GB RAM
Graphics: nVidia GeForce 8600/9600GT, ATI/AMD Radeon HD2600/3600 (Graphic Drivers: nVidia 310, AMD 12.11), OpenGL 2.1
Hard Drive: 8 GB available space
Sound Card: OpenAL Compatible Sound Card

Titulo: Half-Life 2
Tienda: Steam
Genero: FPS, Accion, Ciencia Ficcion
Breve descripción: Continuación de uno de los mejores juegos de la historia. En esta nueva entrega debemos luchar y abrirnos camino en una ciudad infestada de alienigenas. Un juego en donde la Física es muy importante y no solo ir hacia adelante a los tiros.
Video:
Requerimientos:
Curiosamente la tienda no los dice (Digo curiosamente, porque tanto la tienda y el juego son de la misma empresa). Quizás se deba a algún error, si los encuentro, lo actualizo.

Titulo: Killing Floor
Tienda: Steam
Genero: Zombies, FPS, Cooperativo
Breve descripción: Según SteaM "Killing Floor es un shooter Cooperativo del género Survival Horror que tiene lugar en los campos y ciudades devastadas de Inglaterra, después de que una serie de experimentos militares de clonación fracasaran con horribles consecuencias. Tú y tus amigos sois miembros de los militares desplegados en esos lugares con una sencilla misión: ¡Sobrevivir el tiempo suficiente para despejar el área de experimentos fallidos! "
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 12.04 LTS, fully updated
Processor: 1.2 GHZ or Equivalent
Memory: 1 GB RAM
Graphics: Nvidia, ATI, or Intel GPU with hardware-accelerated drivers
Hard Drive: 2 GB free hard drive space
RECOMMENDED:
OS: Ubuntu 12.04 LTS, fully updated
Processor: 2.4 GHZ or Equivalent
Memory: 2 GB RAM
Graphics: Nvidia, ATI, or Intel GPU with hardware-accelerated drivers
Hard Drive: 2 GB free hard drive space

Titulo: Amnesia: The Dark Descent
Tienda: Gog, Steam
Genero: Primera Persona, Horror, Aventura
Breve descripción: Amnesia es uno de esos juegos que te hacen poner los pelos de punta. Estas en un silencio con sonidos de fondo que te agobian todo el tiempo, mientras vas leyendo notas e intentando salir del lugar en el que estas. El problema es que parece que no estas solo.
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 12.04 LTS, Mint 13 LTS, Fedora 16, fully updated
Processor: 2.0Ghz - Low budget CPUs such as Celeron or Duron needs to be at about twice the CPU speed.
Memory: 2 GB
Graphics: Radeon X1000/GeForce 6 - Integrated graphics and low budget cards might not work.
Hard Drive: 3 GB

Titulo: Transistor
Tienda: Steam
Genero: Action - RPG, Vista Isometrica
Breve descripción: Otro que no tuve aun la oportunidad de jugar, y me canse de escuchar lo genial que es este juego y su estilo visual y sonoro. Una aventura RPG de acción, con una vista desde arriba en diagonal.
Video:
Requerimientos:
MINIMUM:
OS: glibc 2.15+, 32/64-bit
Processor: Dual Core CPU - 2.6ghz
Memory: 4 GB RAM
Graphics: OpenGL 3.0+ (2.1 with ARB extensions acceptable)
Hard Drive: 3 GB available space

Titulo: Dota 2
Tienda: Steam
Genero: MOBA, Multijugador Online. FreeToPlay
Breve descripción: Nunca entendí como describir un MOBA, asi que voy a dejar la descripción de Valve para ustedes:
"En cuanto a jugabilidad, es algo más difícil de describir. El juego utiliza la clásica perspectiva de los RTS, pero no sería correcto llamar a Dota un RTS. Y aunque cada personaje comienza en el nivel 1 y muchas veces su límite de nivel es el 25, no sería correcto llamarlo un RPG.

Muchas personas han intentado asignarle un género a Dota, pero nosotros pensamos que RTS de acción es el que lo describe mejor. Y si bien no pasamos mucho tiempo tratando de averiguar qué género es el que ha inventado el juego, ¡no podemos dejar de jugarlo!"
Video:
Requerimientos:
OS: Ubuntu 12.04
Processor: Dual core from Intel or AMD at 2.8 GHz
Memory: 4 GB RAM
Graphics: nVidia GeForce 8600/9600GT, ATI/AMD Radeon HD2600/3600 (Graphic Drivers: nVidia 310, AMD 12.11), OpenGL 2.1
Network: Broadband Internet connection
Hard Drive: 8 GB available space
Sound Card: OpenAL Compatible Sound Card


Espero que les sirva de referencia o para conocer juegos que quizás desconocían que tenían su versión para Linux.

Pronto a medida que salgan mas juegos quizás haga un articulo mas con "Menciones especiales", ya que en estos meses se anunciaron muchos nuevos que van a salir para Linux.

Parte 1 del top 20: http://jorgeabreu.blogspot.com/2015/02/top-20-0102-los-mejores-juegos.html

Saludos.



Escrito por

Espero que les haya gustado! Mi Twitter: ar_jorge1987

2015-10-14 // jorgeabreu


jorgeabreu

[2015-09-26] [email protected]:~$ cat [Tip-Solucion] - En Star Wars: Battlefront II de Steam no se puede iniciar ninguna mision y sale al escritorio

Hace un tiempo compre en Steam el juego Star Wars Battlefront II, lo baje e instale con muchas ganas para ponerme a jugarlo mientras esperamos en el nuevo Battlefront en este 2015. Para mi sorpresa, resulto que no podía jugar NINGUNA misión, ni siquiera la de entrenamiento, al seleccionar la misión y darle start, el juego automáticamente se cerraba devolviendome al escritorio. En internet, como siempre, encontré una solución un tanto peculiar, en la cual mucho no confiaba, pero finalmente resulto ser la correcta, y la compartir en español a continuación:
(En mi caso, esto fue en Windows 7 de 64 bits)



* Ir al Panel de Control
* Ir a la parte de Hardware y Sonido
* Ir a Sonido
* Ir a la parte de "Grabacion" de Administrar Dispositivos de Audio
* Click derecho y seleccionar "Mostrar dispositivos deshabilitados"
* Click derecho en "Estero Mix" y seleccionar "Habilitado"

Aceptar todo, y volver a ejecutar el juego. En mi caso funciono, ojala les sirva y que lo disfruten.

Saludos!


Escrito por

Espero que les haya servido, Mi Twitter: @ar_jorge1987

2015-09-26 // jorgeabreu


jedux

[2015-09-26] [email protected]:~$ cat Para pegar en el cubículo. “New Processes”

From here

To conclude, here’s a short checklist on how I feel one should go about facilitating a new process or methodology and how to start working on a development process with your team.

  1. Get first-hand experience on as many methodologies as possible. Every single one has aspects you can use and most of them are contradicting each other. This gives you perspective to mold and adapt the methodologies for your use. Figure out the very core of the methodology and build from there, take what works, discard what doesn’t.
  2. Clarify the single most important goal of your team and write it down. Write also down a few secondary goals. The process you work with can’t work in contradiction to these.
  3. Get to know your team and the processes they have been using earlier. You get valuable feedback and suggestions from them.
  4. Never force a process on your team; work together to achieve the process everybody is comfortable with.
  5. Never do anything just because it’s the process. If you don’t understand the purpose, odds are it doesn’t make sense to have it as a part of your process.
  6. Double-check your goals every once in a while and make sure your process still works towards them.
  7. Don’t be afraid to iterate on your processes and test new things. Bear in mind, though, that this is additional stress to the development team and there is a cost in all the testing you do. In longer term it does pay off since your process gets better and better.

2015-09-26 // jedux


epzylon

[2015-07-13] [email protected]:~$ cat RedHat Certified System Administrator 7 (RHCSA 7) – Sistemas en Funcionamiento I

El segundo de los requerimientos incluidos en la certificación de Red Hat (versión 7) para System Administrator incluye los siguientes puntos:

Usar sistemas en funcionamiento
• Arrancar, reiniciar y apagar un sistema normalmente
• Iniciar sistemas manualmente en destinos diferentes
• Interrumpir el proceso de arranque con el fin de obtener acceso a un sistema
• Identificar los procesos que hacen un uso intensivo de la CPU y de la memoria,
ajustar la prioridad de los procesos con renice y eliminar procesos
• Ubicar e interpretar archivos de registro del sistema y diarios
• Acceder a la consola de una máquina virtual
• Iniciar y detener máquinas virtuales
• Transferir archivos entre diferentes sistemas de forma segura

Estos objetivos, aunque triviales para un administrador linux avezado, presentan un nuevo reto, ya que en esta versión del sistema del gorro rojo se ha incorporado systemd, agregando muchas mas funcionalidades y un poco de complejidad.

Desglosaremos brevemente los primeros 3 puntos en este post:

Arrancar, reiniciar y apagar un sistema normalmente

Puede que este enunciado nos tiente a pensar que ‘shutdown’, ‘reboot’ e ‘init’ sean los comandos necesarios para manejar el tema. Si bien es cierto, no lo es menos, que ahora todo el proceso de inicio, apagado y reinicio es administrado por systemd, por lo tanto, hemos de incorporar el systemd en nuestro repertorio de comandos:

# systemctl reboot

# systemctl halt

# systemctl poweroff

De todas formas podemos seguir utilizando los clásicos:

Reinicio

# reboot
# shutdown -r now
# init 6

Apagado

# halt
# shutdown -h now
# init 0

Apagado ACPI

# poweroff

Por otro lado, con systemd podemos administrar la suspensión/hibernación desde el mismo comando systemctl:

# systemctl suspend
# systemctl hibernate
# systemctl hybrid-sleep

Iniciar sistemas manualmente en destinos diferentes

Así mismo, con systemctl podremos administrar lo que antes conocíamos como ‘run levels’, ahora systemd introduce el concepto de ‘targets’ mejorando en gran manera las dependencias para pasar de un ‘target’ a otro.
Conocidos por todos, los run levels son:

  • 0, halt
  • 1, single: Single user o mantenimiento
  • 2: no network: sistema sin recursos de red
  • 3: multi usuario sin interfaz gráfica
  • 5: multi usuairio con interfaz gráfica
  • 6: reboot

Y podiamos pasar de uno a otro con el comando init:

#init 1

Y para saber en que run level nos encontramos podemos utilizar los siguientes comandos:

# runlevel
# who -r 

systemd es compatible con todos estos comandos, pero se recomienda la utilización del comando systemctl, cuyo uso se detalla brevemente a continuación:

Single user con file systems locales montados:

#systemctl rescue

Single user sin file systems locales montados (sólo el /)

#systemctl emergency

Multi usuario sin interfaz gráfica

#systemctl isolate multi-user.target

Multi usuario con interfaz gráfica

#systemctl isolate graphical.target

También podemos, sin editar ningún archivo, configurar un target, como el target por defecto, utilizando:

#systemctl set-default multi-user.target

Y para saber cual es el run level por defecto

#systemctl get-default

 

Interrumpir el proceso de arranque con el fin de obtener acceso a un sistema

Este punto, aunque simple, es crucial en el examen, ya que difiere en absoluto de lo que solíamos hacer  (iniciar en single mode). En este link de Red Hat, se encuentra un procedimiento un poco mas detallado del que aquí expondremos y en este link, un método alternativo, un tanto mas a la vieja usanza.

Para interrumpir el proceso de arranque, acceder al sistema y cambiar el  pasword de root, seguiremos estos pasos:

  1.  Detenemos el conteo de grub y entramos en modo edición presionando la e
  2. Buscamos la linea que comienza con ‘linux’ (o ‘linux16 o ‘linuxefi’) y borramos los parametros ‘quiet’ y ‘rhgb’ para poder visualizar los mensajes del sistema.
  3. Agregamos el siguiente parametro:
    rd.break enforcing=0

    Booteamos con ‘Ctrl-x’

  4. Nos encontraremos con el prompt de una shell del initramfs ‘switch_root’, desde donde montaremos el / con permiso de escritura:
    switch_root:/# mount -o remount,rw /sysroot
  5. Utilizamos chroot para utilizar /sysroot como nuestro /
    switch_root:/# chroot /sysroot
  6. Ya dentro de la shell del chroot, podemos ejecutar el comando passwd
    sh-4.2# passwd
  7. Una vez cambiada la password, montamos el / como sólo lectura
    sh-4.2# mount -o remount,ro /
  8. Salimos de la shell del chroot con exit y nuevamente con exit salimos de la shell del initramfs para continuar con el proceso de inicio
  9. Ejecutamos restorcon al archivo /etc/shadow para que contenga el contexto selinux adecuado
    restorcon /etc/shadow
  10. Restablecemos selinux a enforcing mode:
    #setenforce 1

Si necesitáramos iniciar en modo ‘rescue’ o ’emergency’, hemos de saber que es posible, editando la linea ‘linux’ (como hacemos en el paso 2) y agregando

systemd.unit=rescue.target

o

systemd.unit=emergency.target

En cualquiera de los dos casos, necesitaremos el password de root para acceder.

En el próximo post, seguiremos revisando los puntos importantes de este objetivo, hasta entonces:

~have fun

2015-07-13 // epzylon


epzylon

[2015-07-13] [email protected]:~$ cat RedHat Certified System Administrator 7 (RHCSA 7) – Herramientas esenciales

El primer punto de los requerimientos para certificar RedHat 7 como System Administrator, pide los siguientes requerimientos:

Conocer y usar las herramientas esenciales
• Acceder a una instancia shell y escribir comandos con sintaxis correcta
• Utilizar redirección de entrada-salida (>, >>, |, 2>, etc.)
• Utilizar expresiones regulares y grep para analizar texto
• Acceder a sistemas remotos mediante ssh
• Iniciar sesión y cambiar de usuario en destinos multiusuario
• Archivar, comprimir, desempaquetar y descomprimir archivos utilizando tar, star,
gzip y bzip2
• Crear y editar archivos de texto
• Crear, borrar, copiar y mover tanto archivos como directorios
• Crear enlaces físicos y simbólicos
• Enumerar, configurar y cambiar permisos ugo/rwx estándar
• Localizar, leer y utilizar documentación de sistema, incluido man, info y archivos
en /usr/share/doc

Como estos requerimientos suelen ser conocidos por cualquier administrador Unix/Linux, me limitaré a compartir con uds un Cheat Sheet, donde se ejemplifican en comandos los requerimientos.

 

~have fun

2015-07-13 // epzylon


dorkit

[2015-07-10] [email protected]:~$ cat Hacer mas que quejarse

El día de hoy no voy a quejarme, o no mucho al menos. Simplemente quiero comentarles sobre un sitio que tienes que tener en cuenta.
Se trata de OpenQube.IO, un sitio donde puedes calificar las empresas donde has trabajado, para que quienes esten buscando nuevos destinos laborales, tengan la oportunidad de conocer las opiniones de los empleados que trabajan o trabajaron en la empresa. Quizás la opinión de una sola persona, sobre su experiencia laboral en un determinado lugar, no es suficiente para tomar como parametro en una elección laboral, pero si ves la misma opinión de muchas personas, ya el panorama es mas amplio.
Sin mas, les presento OpenQube.IO, el sitio que te cuenta, lo que las consultoras no te cuentan.

openqube

 


2015-07-10 // dorkit


epzylon

[2015-07-08] [email protected]:~$ cat Net Tools vs IPRoute2 – Parte I

 

Linux es una excelente plataforma para experimentar  y trabajar sobre networking. Las herramientas más básicas han sido heredadas de Unix (ifconfig,netstat,arp.. etc) y a decir verdad, estamos bastante cómodos con ellas. Sin embargo, hace años que el desarrollo de linux ha creado nuevas herramientas, mas poderosas aunque no tan populares; Como sabrán, me refiero, al set de herramientas iproute2.

La pregunta es: ¿Vale la pena el esfuerzo de cambiar a iproute2?

Veremos en los siguientes posts, ventajas y desventajas, uso y desusos…

Net Tools

Net Tools, también llamado mas precisamente NET-3 Networking toolkit, es un set de herramientas heredado históricamente de Unix.
Estas son: arp, hostname, ifconfig, netstat, rarp, route, plipconfig, slattach, mii-tool,  iptunnel  y ipmaddr.
A que algunas te han sorprendido eh!?
Hagamos un apropos:

arp (8): manipulate the system ARP cache
hostname (1): show or set the system's host name
ifconfig (8): configure a network interface
netstat (8):  Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
rarp (8): manipulate the system RARP table
route (8): show / manipulate the IP routing table
plipconfig (8): fine tune PLIP device parameters
slattach (8): attach a network interface to a serial line
mii-tool (8): view, manipulate media-independent interface status
iptunnel (8): creates, deletes, and displays configured tunnels
ipmaddr (8): adds, deletes, and displays multicast addresses

Ahora bien, si utilizas linux dia a dia, muy difícilmente no conozcas arp, netstat, ifconfig, hostname y route, si no conoces algunos de esos comandos, este artículo no es para vos; Sin embargo, el resto de los comandos se utilizan en situaciones mas especificas.
Convenimos pues, en que la costumbre y la simplicidad histórica de estos comandos nos gustan.
Sin embargo, veamos ahora, como una comparación con IPRoute2 nos da una mejor idea de las diferencias que hay entre ambos.

IPRoute 2

El protagonista de iproute2 es el comando ip, en el cual se resumen la mayoría de las tareas que solíamos hacer con net-tools.
Aquí tenemos una pequeña tabla de referencia:

ifconfig ip addr show
arp ip neigh show
route -n ip route show

Hay mas, pero esto sirve para que veas que el comando ip se robará el protagonismo. Desde el comando ip podremos configurar prácticamente todo lo relacionado con las redes en linux.

Veamos como usar iproute en el día a día y dejaremos para mas adelante, las opciones mas avanzadas:

Rutas

Listar rutas:

Con net-tools usabamos:

route -n

Ahora con ip route podemos usar:
ip route | ip route ls | ip route show
Cualquiera de estos tres comandos nos da como resultado algo como lo siguiente:

default via 192.168.1.1 dev eth0 proto static
10.42.0.0/24 dev wlan0 proto kernel scope link src 10.42.0.1 metric 9
148.91.164.0/24 dev eth0 proto kernel scope link src 148.91.164.131 metric 1
169.254.0.0/16 dev eth0 scope link metric 1000

Mas adelante veremos como hacer un filtrado por tipo de ruta y otras caracteristicas, pero sigamos por lo básico.

Agregar una ruta:

Con net-tools usabamos:

route add -host ip ip-gw
route add -net netip-gw

Ahora utilizamos:

ip route add ip/net via ip-gw

Por ejemplo:

ip route add 10.1.1.0/24 via 192.168.4.1

o bien:

ip route add 10.1.1.20 via 192.168.4.1

Como verán, es indistinto si es un host o una red. Nos es muy diferente en principio, pero mas adelante veremos cuantas otras opciones tenemos para agregar.

Quitar una ruta:

Con net-tools usabamos:

route del -host ip gw ip_dw
route del -net net gw ip_gw

Ahora utilizamos:

ip route del ip via ip_gw
ip route del net via ip_gw

Direcciones IP

Es dificil pensar en no usar el ‘ifconfig’, pero hagamos un intento y veamos que sale:

Listar interfaces

Con net-tools usabamos
ifconfig | ifconfig -a

Con iproute utilizamos

ip addr | ip addr list | ip addr show

Que nos devolverá un output como el siguiente:

1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 16436 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 63:34:55:66:11:3a brd ff:ff:ff:ff:ff:ff
inet 123.41.14.135/24</strong> brd 123.41.14.255 scope global eth0
inet6 fe80::6531:50ff:fe68:1d34/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:26:82:dc:9d:51 brd ff:ff:ff:ff:ff:ff

En principio, el output de ip addr tiene mas info del que acostumbramos con ifconfig, pero nada de que preocuparse. Verán señalado en el output anterior, alguna data interesante señalada.

Asignar direcciones:

Con net-tools usabamos ifconfig de la siguiente manera para asignar una dirección IP:

ifconfig eth0 ip netmask netmask

Con iproute usaremos:

ip addr add ip/prefix dev eth0

Y para eleminar una ip de manera similar:

ip addr del ip/prefix dev eth0

Primeras conclusiones

Si bien iproute no parece incrementar la dificultad de configurar básicamente nuestras redes, no deja de ser cierto que la costumbre tira para seguir usando el viejo set de utilidades unix-like, sin embargo, en los próximos posts veremos usos mas avanzados y útiles que haran inclinar la balanza.

~have fun

2015-07-08 // epzylon


netsecure

[2015-07-08] [email protected]:~$ cat Aire Acondicionado casero

1223327218Siempre me intereso saber como refrigerar una caja donde tengo varias mothers funcionando continuamente, y esta solución me gusto mucho, veré de probarla:

2015-07-08 // netsecure


netsecure

[2015-07-07] [email protected]:~$ cat Los tres ceritos

cero
Este es uno de los relatos mas geeks que he leido nunca, que lo disfruteis:

Los Tres Ceritos

Eranse una vez tres ceritos que vivían en un cuerpo K. Uno era muy listo, otro muy vago, y otro muy confiado.

Un buen día llegó a visitarles su amigo el uno. En muchos cuerpos como éste, era costumbre que el uno hiciera estas visitas cada cierto tiempo característico (la característica de un cuerpo es el menor entero n tal que 1+…+1(n veces)=0), que dependía del cuerpo donde vivían. Sin embargo, ese día, su amigo les trajo malas noticias.

-Lo siento amigos míos, pero tendréis que marcharos. El congreso acaba de aprobar una ley conocida como ‘Teorema de unicidad de elementos neutros para la suma’. que prohíbe la estancia en el cuerpo de más de un cero.

-¡Oh, vaya!, dos de nosotros tendrán que irse, dijo uno de los ceritos.

-Lo siento, pero el puesto ya está cogido por un cero con enchufe. Dicen que es primo del famoso Cero de Hilbert. Temo que tendréis que iros los tres.

Apenados, los ceritos cogieron sus pertenencias, y se fueron mucho más allá de las extensiones finitas, a un espacio normado propiedad de un multimillonario llamado Hausdorff, amigo de los ceritos, el cual les dejó vivir allí.

Como había mucho terreno libre por habitante, debido a que la topología empleada en la construcción del espacio era
muy fina, decidieron construirse una casita para cada uno.

-Yo me haré una casita con hiperplanos. dijo el cerito más confiado. Dicen que este cerito era tan confiado, que cuando iba al médico a hacerse un análisis matemático, siempre se los hacía sin ningún tipo de rigor.

-Yo me construiré una casa con matrices. dijo el cerito más vago. Malas lenguas contaban que era tan vago, que en la fábrica de ecuaciones donde trabajaba, sólo producía ecuaciones con solución trivial.unos y ceros

-Pero deberíais haceros casas más fuertes, pues sé que por aquí ronda una esfera descentrada muy feroz, que os comerá cuando tenga la oportunidad, dijo el cerito sabio. Cuentan que este cerito era tan sabio que incluso ¡aprendió a dividir números! (segun la definición de divisibilidad, el cero no puede dividir a ningun número).

-¡Bah, no tenemos miedo de esa esfera, nuestras casitas nos protegerán!.

-Haced lo que queráis, pero yo me haré una casa fuerte, compacta, y por lo tanto cerrada y acotada, y dicho esto, se marchó.

Al cabo de un tiempo, cada cerito había terminado su casita. El cerito confiado tenía su casita hecha de hiperplanos y el cerito vago su casita compuesta enteramente de matrices.

Al cerito sabio le costó mucho trabajo hacer su casa, pues primero tuvo que comprar un 3-cubo compacto y empezar a parametrizar la casa. Cuando acabó, se dió cuenta de que el tejado tenía algunas discontinuidades evitables que producirían goteras cuando lloviera, así que tuvo que comprar unos cuantos abiertos para recubrir los agujeros por continuidad.

Una vez terminada la casa, comenzó a construirle una cota alrededor (como su casa era compacta, sabía que podría construir una), pero como había tenido la precaución de hacer su casa diferenciable pudo localizar fácilmente los puntos más alejados y a partir de ahí construir la cota.

Como véis al cerito sabio le fueron muy útiles sus conocimientos sobre derivadas, que aprendió de sus múltiples peregrinaciones por la Ruta Jacobiana.

Pasó el tiempo, y la esfera se percató de ellos.

-“Parece que tenemos aquí comida deliciosa. Me alegro, empezaba a estar harto de alimentarme de restos de divisiones euclídeas.”

Y dicho esto, la malvada esfera fue directa a casa del cerito confiado (como estaba descentrada, la malvada esfera podía moverse por donde quisiera). (Dado que todos los puntos deben distar siempre lo mismo del centro).

No tardó mucho en encontrar al cerito confiado, pues mirara por donde mirara, siempre veía parte de su casa, (una recta y un hiperplano proyectivos siempre se cortan, en este caso, la recta es la mirada de la esfera y el hiperplano el material de que está hecha la casa del cerito confiado) así que fue hacia allí.

-“¡Cerito, si no abres la puerta soplaré, soplaré y la casa proyectaré!.”, amenazó la esfera.

-“No te tengo miedo, esfera cruel, mi casa es toda de hiperplanos dobles y aguantará.”, respondió el cerito.

Pero lo que no sabía el cerito era que la esfera había perdido un punto en un accidente con un equipo estereográfico (la proyección estereográfica parametriza toda la esfera menos un punto).

Se hinchó por el punto que le faltaba, y sopló tan fuerte, que dualizó la casa del cerito convirtiendo los hiperplanos de ésta en un montoncito de puntos insignificantes. El cerito, asustado, salió corriendo por una sucesión que convergía directamente a casa del cerito vago.

La malvada esfera salió corriendo detras del cerito, pero nuestro amigo atajó por una subsucesión que le llevó a su destino más rápidamente. Por suerte, la esfera prefirió no adentrarse en la subsucesión por miedo a perderse (aquí se hace patente la ignorancia de la esfera de no conocer el Teorema Fundamental del Límite: En una sucesión que converge, cualquier subsucesión converge al mismo sitio), con lo que el cerito llegó con tiempo de avisar al cerito vago y de resguardarse en la casita hecha de matrices.

Al cabo de un rato llegó la esfera. Gritó:

-“¡Jo, jo, da igual dos ceros que n ceros o uno solo, no podeis nada contra mí, salid inmediatamente o soplaré, soplaré y la casa reduciré!.”

-“No quiero salir, esfera, mi casa es totalmente hermítica y aguantará!.”, respondió el cerito.

Entonces la esfera sopló y sopló tan fuerte que redujo todas las matrices de la casa por columnas (si la esfera hubiera soplado hacia arriba o abajo, hubiera reducido las matrices por filas), convirtiendo la casa en un esqueleto compuesto de incógnitas (el cerito vago había usado matrices de ecuaciones sin molestarse siquiera en resolverlas). Por si fuera poco los dos ceritos hubieran salido volando de no ser porque se agarraron a un pivote de una matriz que todavía quedaba en pie.

Pero ¿por qué era tan mala la esfera?. Según se cuenta, la esfera estuvo trabajando en una banda criminal llamada La Banda de Moebius, de ahí su carácter retorcido. Pero volvamos a nuestro cuento.

Despavoridos, los ceritos salieron corriendo a casa del cerito sabio. Lo encontraron montado en una tractriz, plantando grafos en su huerto. Corrían tanto que saltaron la cota de la casa de un salto.

-“¡Socorro, socorro, ayúdanos cerito sabio, la esfera quiere devorarnos!.”

-“No os preocupéis, entrad en mi casa, veréis cómo la esfera no puede hacernos daño.”, dijo el cerito sabio. Y dicho esto, se metieron en la casa.

Al cabo de un rato llegó la esfera malvada. No le costó trabajo encontrar el camino porque uno de los ceritos pisó un punto de tinta de modo que sólo tuvo que seguir la cicloide (si una circunferencia rueda sobre una recta, la curva que describe cualquiera de sus puntos se llama cicloide; no olvidemos que los ceritos son redondos.) que iban dejando tras ellos.

Una vez que llegó, gritó con todas sus fuerzas:

-“¡Por fin os tengo a los tres juntos, salid o soplaré, soplaré y la casa despejaré!.”.

-“Nunca”, dijo el cerito sabio, “mi casa es fuerte y aguantará”.

Entonces la malvada esfera sopló y sopló, pero como la casa era compacta, sólo llegaron a ella un número finito de soplidos, lo cual no llegó a afectarle mucho. La esfera, obstinada, sopló y sopló con todas sus fuerzas, pero el cerito sabio había tenido la precaución de hacerse una casa con superficie Gaussiana, con lo cual todos los soplidos de la esfera se repelieron mutuamente.

La esfera quedó exhausta, y el cerito sabio aprovechó ese momento para dejar caer sobre ella un pesado atlas de 6 tomos que recubrieron totalmente a la esfera dejando a ésta aprisionada.

Entonces los ceritos agarraron a la esfera por una de sus geodésicas y tirando, tirando, consiguieron deshilacharla y convertirla en una curva, y hecho esto la llevaron a R^2 donde ahora podría llevar una vida con parámetro natural.

Hecho esto, los ceritos agradecieron al cerito sabio su ayuda y prometieron ser más trabajadores y menos confiados.
Y colorín, corolario colorado,
este cuento se ha terminado.

 

David Gutiérrez Rubio (Davidi)

2015-07-07 // netsecure


desarrolloylinux

[2015-06-29] [email protected]:~$ cat [TIP - Linux] - ¿Se puede usar xRDP en Ubuntu con Unity?

La respuesta a medias es no, no se puede conectar por xRDP a una computadora con Ubuntu e interface Unity, pero lo que SI se puede hacer, es instalar un entorno de escritorio secundario para las conexiones xRDP y asi poder conectarnos remotamente, al menos utilizando otro entorno de escritorio.



Para realizar esto, tenemos que ejecutar los siguientes comandos desde la consola:

Primero, instalar xRDP si aun no esta instalado:

sudo apt-get install xrdp


Refrescar los repositorios:

sudo apt-get update


Instalar el segundo entorno de escritorio, en este casi xfce4:

sudo apt-get install xfce4


Parase en el Home del usuario y ejecutar:

echo xfce4-session >~/.xsession

sudo service xrdp restart


Una vez realizados todos estos pasos, podemos conectarnos a esta computadora sin problemas, solo que no vamos a poder interactuar con el entorno Unity, y por el contrario solo podremos utilizarla con xfce4 (Desde el RDP obviamente).

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2015-06-29 // desarrolloylinux


bizarrecrons

[2015-05-22] [email protected]:~$ cat Server ready for zombie apocalypse

#Script mata procesos zombies Apache
#*/2 * * * * /home/scripts/http-kill-zombies_beta.sh >> /tmp/httpd-killer-zombies.log 2>&1

2015-05-22 // bizarrecrons


bizarrecrons

[2015-04-17] [email protected]:~$ cat Because logadm is overrated

20,40 * * * * /usr/sbin/logadm
###TAREAS DE DRENAJE SOLICITADAS#################
0 0 * * * find /var/adm/things -atime +0 -exec gzip {} \; 
30 0 * * * find /var/adm/things-mtime +6 -exec rm {} \;

2015-04-17 // bizarrecrons


jorgeabreu

[2015-04-15] [email protected]:~$ cat [Top 20 - 01/02] - Los mejores juegos comerciales disponibles para Linux

Muchas veces charlando con amigos que usan Linux, noto que hay cierto desconocimiento en cuanto a juegos para ese sistema. Todos saben mas o saben menos sobre los juegos "OpenSource" que pegan fuerte en la comunidad, como OpenArena por ejemplo. Pero pocos saben que tiendas como Steam o Gog están ofreciendo juegos de la mas alta calidad para Linux. Si, son comerciales y hay que pagar (salvo algun Free to Play), ¿pero acaso muchos de estos títulos no lo merecen? Yo creo que si, yo creo que hay que quitar un poco el prejuicio o fundamentalismo de lado, y dejar que coexistan en libertad las alternativas Open Source por un lado, y las comerciales en donde adquirimos un producto por el otro.

Steam corriendo en una de mis PCs con Mandriva. En lo personal les recomendaría que usen Distribuciones basadas en Ubuntu para jugar, a mi Mandriva me trajo algunos problemas a la hora de usar Steam por ej. En cambio en una Notebook donde tengo Linux Mint funciona mucho mejor.


En este caso me voy a enfocar en hacer una lista completamente subjetiva, según mis gustos, opiniones, y juegos que pude jugar o conozco. Espero que sea de su agrado, y que expriman al máximo su sistema Linux, que quien sabe si en el futuro no se convierte en nuestra nueva plataforma de Gaming mas popular con la llegada de las SteamMachines, SteamOS, o quien sabe algún otro centro de multimedia pensado para el Gaming con Linux en el futuro.
(El Top no tienen ningún orden en particular ya que la propuesta es sobre lo mejor que se encuentra hoy en día para Linux, no hay diferencia entre el genero al que pertenecen, ni nada en lo particular)

Hoy en dia  GOG  tiene unos 200 juegos para Linux y Steam unos 950. Como podran apreciar por los numeros, es completamente falso el argumento de que no hay juegos para Linux.

Primeros 10 de la lista de 20 titulos para Linux:

Tienda: Steam
Genero: Shooter Online - FPS
Breve descripción: ¿Existe alguien que en los '00 no haya jugado al Counter Strike? Si es tu caso, te cuento que este juego es un FPS multijugador, en el que tenemos que decidirnos entre 2 bandos que podríamos llamar los Policias y los Terroristas, quienes se enfrentan entre si en distintos tipos de misiones. Esta es la ultima iteracion de la Saga, popular y llena de servidores con gente para jugar.
Video:
Requerimientos:
OS: Ubuntu 12.04
Processor: Dual core from Intel or AMD at 2.8 GHz
Memory: 4 GB RAM
Graphics: nVidia GeForce 8600/9600GT, ATI/AMD Radeon HD2600/3600 (Graphic Drivers: nVidia 310, AMD 12.11), OpenGL 2.1
Hard Drive: 8 GB available space
Sound Card: OpenAL Compatible Sound Card



Tienda: GOG
Genero: Accion - RPG
Breve descripción: Se dice que The Witcher 2 es uno de los grandes Action RPG de todos los tiempos. En este caso no tuve la posibilidad de jugarlo, simplemente de probarlo un poco y ver a otros jugar, y tanto me gusto que lo compre, pero aun no tuve posibilidad de jugarlo. Si te gustan los Action RPG en 3ra persona, las espadas y las grandes historias, este es el tren que debes abordar.
Video:
Requerimientos:
Works on: Linux (Ubuntu 14.04, Mint 17)
Size: 15.2 GB

Tienda: Steam
Genero: FPS, Shooter Online, FreeToPlay
Breve descripción: Vendría a ser algo asi como la versión "Los bañeros mas locos del mundo" de un battlefield. Un FPS online de lo mas divertido y con un gameplay muy cuidado.
Video:
Requerimientos:
OS: Ubuntu 12.04
Processor: Dual core from Intel or AMD at 2.8 GHz
Memory: 1 GB RAM
Graphics: nVidia GeForce 8600/9600GT, ATI/AMD Radeon HD2600/3600 (Graphic Drivers: nVidia 310, AMD 12.11), OpenGL 2.1
Network: Broadband Internet connection
Hard Drive: 15 GB available space
Sound Card: OpenAL Compatible Sound Card
Additional Notes: Mouse, Keyboard

Titulo: Dead Island
Tienda: Steam
Genero: Zombies, FPS, Mundo Abierto
Breve descripción: Nos encontramos en un paraíso tropical, hasta que se desata el apocalipsis Zombie. ¿Que podemos hacer? Sobrevivir mientras buscamos la manera de abandonar esta isla.
Video:
 Requerimientos:
MINIMUM:
OS: Ubuntu 12.0.4
Processor: Dual core AMD/Intel processor @ 2800Mhz or better
Memory: 1 GB RAM
Graphics: Nvidia GT 430 (1024MB)/ ATI Radeon HD 5570 (1024MB) or better
Note* Intel integrated graphics are unsupported at this stage

RECOMENDED:
OS: Ubuntu 14.0.4
Processor: Intel i7 @ 3.5 GHz
Memory: 8 GB RAM
Graphics: Nvidia GTX 660 (2048MB)

Titulo: Dying Light
Tienda: Steam
Genero: Zombies, FPS, Mundo Abierto
Breve descripción: Juego nuevo, que me sorprendió que desde el día 1 ya contaba con su versión para Linux. Podríamos decir que es una especie de Mirrors Edge en cuando a la jugabilidad y los elementos de Parkour con los que cuenta. Un Mundo Abierto con muchas cosas por hacer y personas por ayudar, mientras nos enfrentamos a unos terroríficos Zombies que se comportan de manera diferente según si es de día o de noche.
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 14.04 and newer recommended
Processor: Intel® Core™ i5-2500 @3.3 GHz / AMD FX-8320 @3.5 GHz
Memory: 4 GB RAM DDR3
Hard Drive: 40 GB free space
Graphics: NVIDIA® GeForce® GTX 560 / AMD Radeon™ HD 6870 (1GB VRAM)
Additional Notes: Laptop versions of graphics cards may work but are NOT officially supported.

RECOMMENDED:
OS: Ubuntu 14.04 and newer recommended
Processor: Intel® Core™ i5-4670K @3.4 GHz / AMD FX-8350 @4.0 GHz
Memory: 8 GB RAM DDR3
Hard Drive: 40 GB free space
Graphics: NVIDIA® GeForce® GTX 780 / AMD Radeon™ R9 290 (2GB VRAM)
Additional Notes: Laptop versions of graphics cards may work but are NOT officially supported.

Titulo: HOTLINE MIAMI
Tienda: GOG
Genero: 2D, Violencia por todos lados
Breve descripción: A mi criterio, este juego seria algo así como un GTA 1 o 2 (los que se veían desde arriba), indoor, y al mejor estilo de la película "Hombre En Llamas". Caminar hasta que no quede ningún objetivo en pie.
Video:
Requerimientos:
Works on: Linux (Ubuntu 14.04, Mint 17)
Size: 288.2 MB

Titulo: Left 4 Dead 2
Tienda: Steam
Genero: Zombies, FPS, Cooperativo, Single Player
Breve descripción: Este es quizás uno de mis juegos favoritos tanto en la temática Zombie, como en la de las historias en Cooperativo Online. Manejamos 1 entre 4 personajes, mientras que los otros 3 los puede manejar la IA o bien un amigo via Online. Avanzar, disparar, aguantar en una casa mientras vienen cientos y cientos de zombies. Disparar, luchar contra un zombie golpeador gigante. Simplemente excelente.
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 12.04
Processor: Dual core from Intel or AMD at 2.8 GHz
Memory: 2 GB RAM
Graphics: nVidia GeForce 8600/9600GT, ATI/AMD Radeon HD2600/3600 (Graphic Drivers: nVidia 310, AMD 12.11), OpenGL 2.1
Hard Drive: 13 GB available space
Sound Card: OpenAL Compatible Sound Card

Tienda: GOG
Genero: Aventura Grafica, Humor
Breve descripción: En esta remasterizacion de un clasico, mucha gente va a tener la oportunidad de jugar una de las mejores aventuras gráficas de todos los tiempos. Con un humor genial, con doblajes excelentes, y bueno, la posibilidad de jugarlo hoy en día con una mejora en la definición de las texturas y objetos 3D.
Video:
Requerimientos:
MINIMUM:
OS: Ubuntu 14.04 LTS, fully updated
Processor: Intel® Core™ 2 Duo 2.4 GHz, AMD Athlon™ X2 2.8 GHz, or higher
Memory: 4 GB RAM
Graphics: ATI Radeon HD 4650 / NVIDIA GeForce GT 220 / Intel HD 4000 Graphics, or equivalent
Hard Drive: 6000 MB available space
Additional Notes: GPU that supports OpenGL 3.3 or higher


Titulo: Borderlands 2

Tienda: Steam
Genero: FPS, RPG, Cooperativo
Breve descripción: Copio y pego la descripccion de Steam, porque sinceramente no es un juego que me haya gustado mucho, pero si reconozco que es un gran juego, solo que no de mi estilo: "Una nueva era de disparos y saqueos está a punto de comenzar. Juega como uno de los cuatro nuevos buscadores de la Cámara y enfréntate a legiones de nuevas criaturas, psicópatas y al villano que las controla, Jack el Guapo. Haz nuevos amigos, equípalos con un cillón de armas y pelea a su lado en partidas cooperativas de 4 jugadores, en una implacable búsqueda de venganza y redención a través de un desconocido e impredecible planeta."
Video:
Requerimientos:
OPERATING SYSTEM: SteamOS, Ubuntu 14.04
CPU PROCESSOR: Intel Core 2 Quad, AMD Phenom II X4
CPU SPEED: 2.4GHz
MEMORY: 4 GB RAM
HARD DISK SPACE: 13 GB
VIDEO CARD (NVIDIA): Geforce 260
VIDEO MEMORY (VRAM): 1GB

IMPORTANT NOTICE: Don't meet the above requirements? That doesn't mean your configuration wont run Borderlands 2. Visit the Borderlands 2 community page to share your experience with other Linux players and learn about how to send bugs to Aspyr. Your feedback will help us improve Borderlands 2 Linux and future AAA Linux releases!

NOTICE: Intel Integrated video chipsets and ATI chipsets are currently unsupported for Borderlands 2 Linux.

Tienda: GOG
Genero: FPS, Old School
Breve descripción: Uno de mis FPS favoritos de todos los tiempos. Un juego viejo, pero excelente. Disparar, buscar comida, disparar, buscar armas, disparar, buscar bazookas, disparar, avanzar, disparar, avanzar, disparar, avanzar. Ser dios y eliminarlos a todos con solo mover tu mano.
Video:
Requerimientos:
Works on: Linux (Ubuntu 14.04, Mint 17)
Size: 30 MB


Espero que les sirva de referencia o para conocer juegos que quizás desconocían que tenían su versión para Linux.

Parte 2 del Top 20: http://jorgeabreu.blogspot.com/2015/04/top-20-0202-los-mejores-juegos.html

Saludos.


Escrito por

Espero que les haya gustado! Mi Twitter: ar_jorge1987

2015-04-15 // jorgeabreu


ajolo

[2015-04-10] [email protected]:~$ cat chown -R $(whoami): *

So, Open Classifieds wasn’t the way to go as it wasn’t as customizable as I expected and all of the nice features were premium.

Finally I came across what I was looking for: Osclass

You can think of Osclass as “the WordPress of classified sites”, it’s an open source project, with lots of contributors and an active community. It supports many themes and plugins and its code is fairy easy to understand if you want to get your hands dirty.

So after a lot (and I mean a lot) of playing with it, changing things, changing code and learning a little of PHP and jQuery I could put together sysarmy’s marketplace: Chownealo.

Chownealo (“chown it”) was born because people were posting things they wanted to sell in our IRC channel and Whatsapp group, or asking via Twitter or Facebook if we could share their listings.

Me, and some other members of the community, thought it would be nice to have a centralized place were we could post whatever we wanted and have it featured there and in several of our networks (IRC, Twitter, Facebook, Planet, etc)

So, that’s what Chownealo is, just another place to show people (specially sysarmy members) what you are selling. It’s not another OLX or MercadoLibre (I wish it was !)

 

Will it succeed ? I’ve no idea, it depends on how many people start using it and how much I can keep up with that.

What’s important for me ?

  1. sysarmy has a new marketplace
  2. sysarmy keeps growing
  3. I made my first public PR to an open source project
  4. I shared many of the things and solutions I came with in Osclass forums
  5. I’m selling this laptop

 

I want to thank Jorge, Maxi and Alan, who helped me along the process and contributed with many hours and lines of code.


2015-04-10 // ajolo


desarrolloylinux

[2015-03-31] [email protected]:~$ cat [IDE] - [ SqlDeveloper ] - Solucion al error de "Timezone region not found"

En algunas versiones de Oracle SqlDeveloper, sobre todo al introducirse la version 3, se desata un error relativo al Time Zone region not found o tambien ORA-00604.





Para solucionar este error, solo se necesita editar el archivo de configuracion:
Linux:
/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
Windows:
X:\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf

Y en el archivo, agregar la siguiente linea al final y guardar:
AddVMOption -Duser.timezone="-03:00"

Es necesario reiniciar el SqlDeveloper luego de hacer esta modificación en el archivo.

Saludos.

Fuente de la Screenshot Aqui . (No tenia una Screenshot mia a mano)




Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987

2015-03-31 // desarrolloylinux


jorgeabreu

[2015-03-26] [email protected]:~$ cat [Videos - Top 5] - Mis Epic Rap Battles Favoritas.

Aprovecho este post, para 2 cosas, primero para aquellos que no sepan que existen las Epic Rap Battles, quienes van a encontrar mucho humor Nerd, con producciones visuales muy, pero muy buenas. Y segundo, para aquellos que las hayan visto alguna vez, para mostrarles mi Top 5 de lo que considero son, las mejores Epic Rap Battles.



Las Epic Rap Battles consisten en mezclar a 2 personajes de distintos mundos tanto de la realidad como de la fantasía, y hacerlos pelear en una batalla de Rap. La gracia es que los personajes enfrentados se busca que sean de mundos lo mas lejanos y diferentes posibles. Empecemos...

Puesto numero 5: Hitler vs Vader 2



Esta ERB tiene la particularidad de que me parece muy bien redactada, la música de fondo es genial, pero como que es un poco corto y no me gusta del todo como eligieron que terminara. Así que para mi si bien es de mis favoritos, es el ultimo en la lista.





Puesto numero 4: Nikola Tesla vs Thomas Edison



En esta oportunidad, rompieron un poco el esquema, y decidieron enfrentar a 2 personajes reales que fueron cotemporáneos entre si. Pero... Digamos la verdad. ¿A que Nerd no le gustaría ver una pelea de Rap entre Edison y Tesla? Sobre todo hoy en día que tantos artículos están inundando la internet en la búsqueda de restaurar la imagen de Tesla, que durante muchos años estuvo escondida bajo la alfombra sin pena ni gloria.

Puesto Numero 3: Mozart vs Skrillex



Si hay una discusión que va a ser eterna toda la vida, es aquella discusión relativa a la Música. Que la vieja escuela era mejor, que la nueva escuela es mejor. Que el Rock no esta muerto, que el Pop es una moda, etc... En esta ERB subieron aun mas la vara con la que medir las producciones, y nos deleitan con esta batalla entre Mozart y Skrillex. Sin dudas para mi este es un momento de quiebre entre esta gente, y a partir de aquí las producciones fueron cada vez mas increíbles.

Puesto Numero 2: Sir Isaac Newton vs Bill Nye



Como algunos quizás sabrán son aficionado a la Astronomía, y esta ERB mezcla a 2 personajes increíbles de la Ciencia, y a 2 fuertes impulsores, cada uno a su manera, de la astronomía. Y como si no fuera suficiente la cantidad de palabras Nerd que recorren esta ERB desde que comienza hasta que termina, llegando sobre el final hay una Yapa tremenda que me dejo maravillado de lo inesperada y fantástica. Y como si fuera poco, Newton es interpretado por el increible y siempre genial: Weird Al Yankovic

Puesto... NUMERO... UNO: Steve Jobs vs Bill Gates



Esta es para mi, la mejor de todas. Un dia, buscando quien sabe que cosa por la internet, me tope con este video. Desde ese momento no puedo dejar de verlo y escucharlo cada tanto. Otra de las ERB con un final inesperado. Para ver y disfrutar una y otra vez. Una melodia repetitiva pero endulzante, y una letra plagada de comentarios historicos, hechos reales y chistes Nerds.


Para cerrar, un video de yapa. El siguiente video, es una Batalla de Rap, pero entre un Nerd y un Geek. Es uno de los videos mas increibles en lo que es musica y humor que vi en mi vida en Youtube. Por favor, disfrutenlo:



Saludos!


Escrito por

Espero que les haya gustado! Mi Twitter: ar_jorge1987

2015-03-26 // jorgeabreu


jorgeabreu

[2015-03-22] [email protected]:~$ cat [Video - Documental] - The Triumph of the Nerds: The Rise of Accidental Empires (1996)

En este famoso documental de 1996 se pueden ver algunos testimonios curiosos sobre lo que fue la explosión de Sillicon Valley entre los 70s y 90s. Entre los muchos testimonios que pasan a lo largo del documental, algunos de los personajes son:

Ficha en IMDB: http://www.imdb.com/title/tt0115398/

Paul G. Allen: Paul Allen es un empresario estadounidense. Junto a Bill Gates es fundador de la empresa Microsoft. Nació en Seattle, estado de Washington. Desde los 14 años empezó a ser un gran entusiasta de los ordenadores.




Steve Ballmer: Steven Anthony Ballmer, más conocido como Steve Ballmer, es un empresario y ex director ejecutivo de la empresa informática Microsoft Corporation. El 23 de agosto de 2013, anunció que dejaría su cargo.

Dan Bricklin: Dan Bricklin es un ingeniero estadounidense. Es el creador, junto con Bob Frankston, del que es considerado como el primer programa de hoja de cálculo moderno: VisiCalc.
David Bunnell: Bunnell es el fundador de varios medios de comunicación, incluyendo la revista PC Magazine, PC World, Macworld, Macworld Expo, New Media and BioWorld. Él era el CEO y Editor en Jefe de Upside Media, editor de la revista Upside, 1996-2.002.

Rod Canion: Rod Canion fue uno de los fundadores de la compañía Compaq, junto con Jim Harris y Bill Murto en 1982, invirtiendo 1.000 dólares en la compañía. Antes de la creación de Compaq, trabajaba en la compañía Texas Instruments.



Larry Ellison: Lawrence Joseph Ellisonconocido como Larry Ellison, es el fundador de Oracle donde fue Director Ejecutivo de 1977 hasta 2014.

Bill Gates: ¿Necesita descripción  Bill Gates?

Steve Jobs: ¿Necesita descripccion Steve Jobs?

Gary Kildall: Gary Kildall fue el creador del sistema operativo CP/M.

Bob Metcalfe: Robert "Bob" Metcalfe nació en Brooklyn, Nueva York, el 7 de abril de 1946. Es un ingeniero eléctrico de los EE. UU., coinventor de Ethernet, fundador de 3Com, enunció la Ley de Metcalfe.

Gordon Moore: ¿Les suena la ley de Moore?

Aquí el documental en Youtube. Esta en ingles, y como mucho pueden activar los Subtitulos de Google, pero también en ingles, y no recomiendo para nada activar la traducción de los subtitulos al español.:







Saludos.


Escrito por

Espero que les haya gustado! Mi Twitter: ar_jorge1987

2015-03-22 // jorgeabreu


epzylon

[2015-03-22] [email protected]:~$ cat Primeros pasos con NetBSD II

En el primer post vimos algunos aspectos básicos de NetBSD, suficiente como para que los curiosos se adentren a explorar este OS. En este post veremos una configuración que nos permite utilizar NetBSD como router, esta configuración no escapa de ser básica, pero puede ser muy útil.

NetBSD como router

Uno de los usos mas básicos que podemos darle a un NetBSD es utilizarlo como router. Aunque quizás  en primera instancia pensaríamos en OpenBSD o Linux para dicha tarea, puede ser que tengamos guardada alguna PC muy vieja donde es mas dificil instalar OpenBSD y muy chica para Linux. En la lista de productos basados en NetBSD que mencionamos en el post anterior, podemos encontrar algunos routers desarrollados en base a este OS.
Otra razón para hacer esto es simplemente por que podemos, y nos gusta experimentar.

Escenario:

Tenemos una pc (o cualquier bicho que pueda correr NetBSD) con dos conexiones. netbsd-router
Una de las cuales tiene conexión a la Internet y la otra a la intranet a la cual proveeremos de acceso a internet. El nombre de la interfaz conectada a internet será wm0 y la interfaz conectada a la intranet será wm1.

Consideraremos en otro momento , un escenario donde la conexión a internet se realiza mediante una conexión DSL.

Configuración de las interfaces

IP Estatica

Como ya mencionamos en el post anterior, la configuración de las interfaces es muy simple.
Para poder saber las interfaces (los nombres de las interfaces dependen del driver utilizado en los kernels *BSD) disponibles utilizamos ifconfig:

ifconfig -a

Por cada interfaz disponible obtendremos un resultado similar al siguiente:

wm0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 capabilities=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
 enabled=0
 address: 56:43:13:45:4d:af
 media: Ethernet autoselect (1000baseT full-duplex)
 status: active
wm1: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 capabilities=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
 enabled=0
 address: 03:34:31:43:55:ff
 media: Ethernet autoselect (1000baseT full-duplex)
 status: active

Al igual que en GNU/Linux y demases unix podemos configurar temporalmente la interfaz utilizando:

ifconfig wm0 10.0.0.1 netmask 255.255.255.0
ifconfig wm1 192.168.1.1 netmask 255.255.255.0

Pero para poder configurar de forma definitiva la interfaz, debemos crear (si no existe ya) el archivo /etc/ifconfig.wm0 y el /etc/ifconfig.wm1. En este archivo, simplemente añadiremos en cada linea los argumentos que queremos que ifconfig ejecute. Por ejemplo, lo primero a hacer es levantar la interfaz con un:

ifconfig wm0 up

Por lo que la primer linea del archivo será un ‘up’.
Luego configuraremos la ip y el archivo quedará de la siguiente manera:

NetBSD Lab # cat /etc/ifconfig.wm1
up
192.168.1.1 netmask 255.255.255.0
NetBSD Lab # cat /etc/ifconfig.wm0
up
10.0.0.1 netmask 255.255.255.0

De esta manera configuramos ambas interfaces de forma estatica.

DHCP cliente

En caso de que la interfaz con acceso a internet deba ser configurada con DHCP, el archivo de configuración se verá de la siguiente forma:

NetBSD Lab # cat /etc/ifconfig.wm0
up
dhcp

Donde wm0 es la interfaz que utliza dhcp.
Para utilizar DHCP en la interfaz sin reiniciar utilizar /etc/rc.d/networking stop/start, podemos utilizar:

# dhclient wm0

Packet Forwarding

Para habilitar el reenvio de paquetes, fundamental para un router ejecutamos lo siguiente:

# sysctl -w net.inet.ip.forwarding=1

Y para guardar esta configuración de forma permanente agregamos la siguiente variable a /etc/sysctl.conf:

# net.inet.ip.forwarding=1

Pero el reenvio de paquetes es sólo el primer paso, ya que necesitamos hacer NAT para que los paquetes puedan regresar correctamente, esto lo hacemos modificando el archivo /etc/ipnat.conf.
Si no existe, lo creamos de la siguiente manera:

NetBSD Lab # cat << EOF > /etc/ipnat.conf 
map wm0 192.168.1.0/24 -> 0/32 
EOF

Servicios del Router

DNS y DHCP

Para proveer un servicio de dns y dhcp a la red interna, instalaremos dnsmasq

NetBSD Lab # pkg_add -v dnsmasq
pkg_add: Warning: package `dnsmasq-2.67nb1' was built for a platform:
pkg_add: NetBSD/x86_64 6.0 (pkg) vs. NetBSD/x86_64 6.1.5 (this host)
Running install with PRE-INSTALL for dnsmasq-2.67nb1.
dnsmasq-2.67nb1: Creating group ``dnsmasq''
dnsmasq-2.67nb1: Creating user ``dnsmasq''
useradd: Warning: home directory `/nonexistent' doesn't exist, and -m was not specified
man/man8/dnsmasq.8
sbin/dnsmasq
share/examples/dnsmasq/dnsmasq.conf.example
share/examples/rc.d/dnsmasq
Running install with PRE-INSTALL for dnsmasq-2.67nb1.
dnsmasq-2.67nb1: copying /usr/pkg/share/examples/dnsmasq/dnsmasq.conf.example to /usr/pkg/etc/dnsmasq.conf
===========================================================================
The following files should be created for dnsmasq-2.67nb1:

/etc/rc.d/dnsmasq (m=0755)
 [/usr/pkg/share/examples/rc.d/dnsmasq]

===========================================================================
Package dnsmasq-2.67nb1 registered in /var/db/pkg/dnsmasq-2.67nb1

Luego, copiamos el script de inicio y el de configuración:

NetBSD Lab # cp /usr/pkg/share/examples/rc.d/dnsmasq /etc/rc.d/
NetBSD Lab # cp /usr/pkg/share/examples/dnsmasq/dnsmasq.conf.example /etc/dnsmasq.conf

Para activar el inicio de dnsmasq en el booteo, agregamos la siguientes lineas al /etc/rc.conf:

dnsmaq=YES
dnsmasq_flags="-C /etc/dnsmasq.conf"

Una vez hecho esto, debemos modificar las siguientes variables dentro de /etc/dnsmasq.conf

interface=wm1
bind-interfaces
expand-hosts
domain=netsecure.com.ar
dhcp-range=192.168.1.2,192.168.1.20,24h

En la variable interface utilizaremos la interfaz sobre la cual daremos internet a la red interna.
Como pueden ver, con esta simple configuración, dnsmasq brinda servicio de dns (forwarding) y dhcp.
Y comenzamos a disfrutar de los servicios de dnsmasq iniciandoló:

NetBSD Lab #  /etc/rc.d/dnsmasq start
Starting dnsmasq.

Firewall

NetBSD trae por defecto a PF como su firewall, PF (Packet Filter), es un firewall mantenido por el equipo de desarrollo de OpenBSD, uno de los sistemas mas seguros (el mas seguro?). Por esto y mucho mas, PF se ha granjeado su fama como excelente firewall, ademas de ser muy simple en su sintaxis, algo que su competencia (iptables/netfilter) no puede superar.
Para habilitar el uso de PF, modificamos el /etc/rc.conf:

pf=YES

Y luego deberemos configurar el funcionamiento en sí de pf en el /etc/pf.conf
Si bien la configuración del firewall es algo bastante personal (intimo diría yo), un ejemplo de un firewall básico podría ser el siguiente (manual de PF aquí)

#Bloqueamos todo por defecto
block in  all
block out all

#Lista de puestos permitidos para la red interna
allowed_tcp_ports = "{ 22 }"
allowed_udp_ports = "{ 53, 67, 68 }"

#Reglas para permitir el acceso a los puertos desde la red interna
pass in  on wm1 from 192.168.1.0/24 to 192.168.1.1 tcp port $allowed_tcp_ports
pass in  on wm1 from 192.168.1.0/24 to 192.168.1.1 tcp port $allowed_udp_ports
pass out on wm1 from 192.168.1.1 to 192.168.1.0/24 tcp port $allowed_tcp_ports
pass out on wm1 from 192.168.1.1 to 192.168.1.0/24 tcp port $allowed_udp_ports

Herramientas Adicionales

Finalmente, podemos instalar algunas herramientas utilizando (pkg_add) que pueden servirnos para controlar nuestra red:

  • fping (scanner icmp)
  • bmon (Para visualizar el ancho de banda en cada interfaz)
  • trafshow (Para visualizar las conexiones en tiempo real)
  • tinc (Para crear VPNs)
  • tcpdump (sniffer)

Conclusiones

Con esta configuración básica como router, tenemos la base para transformar nuestro NetBSD en un firewall bastion, en un proxy, un punto de control, etc. Una de las mayores ventajas de utilizar NetBSD como router es que puede ser instalado en muchos dispositivos, por lo que quizas puedas utilizar este OS en un router, en una PC o vaya a saber en que aparatejo. La liviandad del OS lo transforma ideal para correr en hardware reducido, pero al mismo tiempo proveer muchas funcionalidades.

2015-03-22 // epzylon


jorgeabreu

[2015-03-11] [email protected]:~$ cat [Humor] - ¿Linus Torvalds o Chuck Norris?

La mayoria de la gente cree que Chuck Norris es todo...



Pero los Geeks tenemos a Linus Torvalds...

Linus Torvalds no aprendió de la Universidad de Helsinki, la Universidad de Helsinki aprendió de Linus Torvalds.





Linus Torvalds no necesita backups. El sólo sube sus archivos y deja que el resto del mundo les haga un Mirror.

No existe la teoría de probabilidad, sólo una lista de acontecimientos que Linus Torvalds permite que ocurran.

Linus Torvalds echa un vistazo a tu escritorio y sabe las páginas porno que visitaste en los últimos 10 años.

Linus Torvalds puede jugar a juegos 3D en su cabeza interpretando el código fuente en tiempo real.

Linus Torvalds encontró una vez un error de segmentación (segmentation fault) en el universo.

Linus Torvalds no tira el agua del inhodoro. El simplemente dice "make clean".

Linus Torvalds no depura. Sus programas son siempre perfectos.

Linus Torvalds es real. A menos que sea declarado como entero.



Linus Torvalds puede ejecutar kill -9 y matar a Chuck Norris.

Linus Torvalds puede instalar Linux en un tejón muerto.

Linus Torvalds sólo tiene dos teclas en su teclado: 1 y 0.

Linus Torvalds no muere, simplemente devuelve cero.

La gente reza a Jesús. Jesús reza a Linus Torvalds.

Linus Torvalds no duerme, hackea.

Linus puede dividir por cero.

Linus fabricó la pastilla roja.

Artículo original en en Inglés:
http://www.linuxscrew.com/2007/10/28/fun-chuck-norris-vs-linus-torvalds/

Saludos.

2015-03-11 // jorgeabreu


desarrolloylinux

[2015-03-09] [email protected]:~$ cat [Lenguaje] - Pascal 01 - Historia e Introducción al lenguaje

Pascal  - Historia

Pascal a pesar de que se lo considere obsoleto, esta vivo, se utiliza de manera profesional, y por si fuera poco fue y es de influencia para muchos otros lenguajes.
Fue diseñado entre 1968 y 1969, y finalmente publicado en 1970 por Niklaus Wirth. La idea principal era crear un lenguaje simple y eficiente para fomentar las buenas practicas de programación (que a tantos les hacen falta) utilizando la programación estructurada.

Niklaus Wirth

Como su nombre lo sugiere, fue bautizado de esa manera en honor al gran Blaise Pascal.

Uno de los compiladores del lenguaje Pascal mas exitosos fue Turbo Pascal de Borland, rápido, eficiente y sobre todo económico. Con el paso del tiempo, en 1985 se desarrollo Object Pascal, la versión Orientada a Objetos del lenguaje Pascal e implementada en Turbo Pascal en su versión 5.5. Hoy en día uno de los compiladores mas populares es Freepascal y el IDE Dev-Pascal. Hoy en día Borland no comercializa mas las soluciones de desarrollo basadas en pascal, ya que vendió esa división de software a Embarcadero.

Logo de Borland.


Vamos a ir publicando distintos Artículos tanto sobre Pascal, como de Object Pascal, Delphi, Lazarus, etc...



Pascal  - Introducción

¿Que es Pascal?
Es un lenguaje de programación, que a grandes rasgos para hacer una analogía, podríamos decir que se ubica entre Qbasic, y C (mas o menos).
Es un lenguaje Fuertemente Tipado, el código se divide en secciones de Funciones (Siempre retornan un resultado) y Procedimientos (Pueden no retornar resultados). Ademas las variables SIEMPRE deben estar previamente declaradas con su tipo especifico antes de su uso.
Es un lenguaje con compiladores para distintos tipos de Sistemas Operativos y Arquitecturas.
Siempre que finalice una linea de comando, la misma debe terminar con ";", a diferencia de Basic y otros lenguajes que no hacen distinción entre finalizar o no las lineas de programación.

¿Que necesito saber previamente antes de seguir y perderme?
Recomendaría como mínimo conocer entender los conceptos básicos de Programación como ser lo que es un lenguaje, el compilado del mismo, etc... Este no es un tutorial para enseñar Pascal desde 0 y para terminar siendo un profesional, sino que esta mas bien orientado a alguien que esta buscando empaparse un poco en el lenguaje porque necesita conocerlo, o lo que sea.

¿Que herramientas necesito?
Todo el codigo que aqui se comparta va a estar previamente testeado en Freepascal, por lo que seria recomendable que prueben en ese compilador antes de comentar si algo no funciona. Freepascal es Multiplataforma, y puede descargarse desde: http://www.freepascal.org/download.var



1: Uso básico de Freepascal:

Este no es un lenguage, del estilo HTML, que solo era necesario renombrar un archivo de texto, para poder usar este lenguaje. Primero se deve compilar, y luego crear el ejecutable, una vez terminada la compilacion y la creacion obtendran un archivo de extencion .exe . Si sois curiosos, u obtinados, lo aprenderan a usar facilmente, solo hay que pensar un ratito, mirando los botones, y el uso es realmente muy sencillo.

2: Estructura de un programa en Pascal:

Pascal es un lenguaje del tipo estructurado, esto quiere decir que yo no puedo asignar variables en cualquier lado, ni llamar a funciones que no estén declaradas, ni colocar constantes al final del programa, etc... el programa debe seguir una estructura básica, que es:
(las // significan que es un comentario de una sola linea, esto lo que hace es que podamos poner guías o comentarios, para saber lo que estamos haciendo y el compilador no las tome en cuenta. Si quisiéramos poner comentarios largos, de varias lineas deberíamos encerrar dicho comentario entre {} .)
Un programa en Pascal, debe comenzar por declarar (o definir, por decir de alguna manera), el nombre del programa, originalmente este no podía tener mas de 8 caracteres ya que pascal era usado para hacer programas que corren bajo D.O.S. , hoy en día esto no es una limitación con los últimos compiladores de Free Pascal de 32 bits. Una vez declarado el nombre del programa, se termina la linea con un punto y coma (;). Todas las lineas de programación en Pascal, deben terminar con un ; cuando finaliza el comando de la misma.
Por ej:

Program Prueba;

o

program ProyectoDesarrolloYLinux;

Programando con el IDE Lazarus.

Como pueden notar, Pascal no es case sensitive, con lo cual es indistinto si se escribe una sentencia con minúscula o mayúscula. En lo personal recomiendo utilizar al menos una mayúscula al comienzo de cada palabra, ya sea reservada, o creada por nosotros, y como ideal, utilizar algo similar a la notación húngara.

Luego se declaran las constantes, que son aquellas variables que solo tienen permiso de lectura, en realidad, no son variables, pero de esta manera se entiende mejor si uno es principiante. Una constante no puede cambiar su contenido declarado.

Cons
Constante = 'Turbo Pascal 7';

Luego se declaran las variables, las cuales pueden ser de distinto tipo, valores y tamaños. Los tipos de variables mas comunes, son:

Las variables del tipo String (CAD:String;), que se usa para guardar una cadena de caracteres (CAD:='turbo';).
Las variables del tipo Integer (CAD2:Integer), que se usan para contener numeros del tipo enteros (CAD2:=7;).
Las variables del tipo Char (CH:Char;), que se usan para contener solo y un solo caracter (CH:='H';).
Las variables del tipo Real (RE:Real;), que se utilizan para contener números reales (se supone que sabes cuales son los números reales o también llamados de punto flotante).

Estas son las variables mas utilizadas, a lo largo de los post, vamos a ir viendo mas tipos de variables.

Ninguna variable, ni constante, ni ningún tipo de funciones, procedimientos, etc..., puede llevar los nombres de los comandos o palabras que se utilizan para programar en si, estas son llamadas palabras reservadas, como por ejemplo if, then, do, var, cons, etc...

Luego de la declaración de variables, se procede a cuerpo del programa en si, se coloca la etiqueta begin, y desde alli en adelante hasta la etiqueta end. , se coloca todo el cuerpo del programa. Siempre utilizando las variables y las constantes, que estén declaradas previamente, no se pueden usar variables que no hayan sido declaradas.


Program Primero;
{ Comienza el programa, y le indicamos su nombre}

{ Los punto y coma (;), se usan para decirle al compilador que termino una linea de programa, osea en este caso, le indica que ya esta declarado el nombre del programa }
USES sysutils;

CONST // Dependiendo del compilador, puede que se deba escribir CONS o CONST

{Esto sirve para declarar contantes, son como las variables, osea se las puede llamar en cualquier momento, pero solo tienen permiso de lectura, no se puede cambiar el contenido de una constante.}

CAD='Turbo'; //La constante CAD es igual a la palabra Turbo.

Var //Esto sirve para decir que ahora se van a declarar variables.

CAD1 : String[10]; //CAD1 es una variable string, de maximo 10 caracteres.
{Mas adelante, vamos a ver todos o los mas importantes tipos de variables que hay o se usan.}
CAD2 : Integer; //CAD2 es una variable del tipo integer
CAD3 : String; //CAD3 es un string

Begin //Comienzo del programa

CAD1:='Pascal'; //CAD1 contiene la cadena de caracteres 'Pascal'
CAD2:=7; //CAD2 contiene el numero 7
CAD3:= Concat(CAD,' ',CAD1,' ',IntToStr(CAD2)); //Concatena las variables, y los espacios en blanco

Writeln(CAD3); //Escribir en la pantalla CAD3
Readln(); //Para que el programa se detenga a la espera del ingreso de un dato y un enter.

End. //Fin del programa.

Este programa, lo que haría, es en modo consola mostrar en la pantalla "Turbo Pascal 7" y luego esperar por un enter. Irónicamente esta testeado en FreePascal ya que es Software Libre, Multiplataforma, super estable, y me gusta mucho.

Compilando usando el IDE de FreePascal en Windows.

Compilando desde linea de comando en Linux.



La ejecución del programa en Windows CMD.

La ejecución del programa en una consola de Linux.



Esto es todo por el momento, ¡los esperamos en el próximo Post sobre Pascal!

Saludos.
Jorge Abreu.

PD: Saludos a mi profesor de escuela secundaria, Victor Viegas Barros, quien me inicio en la Programación, y a quien le debo mucho de estar en este mundo de la informática.

Victor en la PC, en plena clase de Delphi, yo escribiendo en la pizarra.


Home Page de Lazarus: Aqui
Home Page de FReePascal: Aqui
Home Page de Dev-Pascal: Aqui
Home Page de Embarcadero Delphi: Aqui
Manual en proceso de desarrollo sobre Pascal en Wikilibros: Aqui




Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2015-03-09 // desarrolloylinux


gonzamartinez

[2015-02-21] [email protected]:~$ cat Algoritmos y Programación - Python [0]

Problemas no computables [1]
Son aquellos problemas que nunca podrán ser resueltos por una computadora por más poderosa que sea.

Problemas intratables [2]
Son aquellos problemas que pueden ser resueltos pero que requieren de un enorme poder de computo y memoria.

Algoritmo
es cualquier metodo para obtener un resultado. [3]

Construcción de Programas

1. Analizar el problema
    Entender profundamente cual es el problema y dejarlo por escrito.

2. Especificar la solución
    Describir qué debe hacer el programa, especificar datos de entrada, de salida y la relación entre ellos.

3. Diseñar la solución
    Cómo vamos a resolver el problema, cuales son los algortimos y las estructuras de datos que usaremos.

4. Implementar el diseño
    Traducir en un lenguaje de programación el diseño.

5. Probar el programa.
    Diseñar un conjunto de pruebas para probar cada una de sus partes.

6. Mantener el programa
    Realizar los cambios en respuesta a nuevas demandas.

Todos estos pasos deben ser documentados.

[4] Guia para diseño

  • ¿Han visto este problema antes, aunque sea de manera ligeramente diferente?
  • ¿Conocen un problema relacionado? ¿Conocen un programa que puede ser útil?
  • Fijense en la especificación. Traten de encontrar un problema que les resulte familiar y que tenga la misma especificación o una parecido.
  • Acá hay un problema relacionado con el que ustedes tienen y que ya fue resuelto. ¿Lo pueden usar? ¿Puede usar sus resultados? ¿Pueden usar sus métodos? ¿Pueden agregarle alguna parte auxiliar a ese programa del que ya disponen?
  • Si no pueden resolver el propuesto, traten de resolver uno relacionado. ¿Pueden imaginarse uno relacionado que sea más fácil de resolver? ¿Uno más general? ¿Uno más especifico? ¿Un problema analogo?
  • ¿Pueden resolver una parte del problema? ¿Pueden sacar algo útil de los datos de entrada? ¿Pueden pensar que információn es útil para calcular las salidas? ¿De qué manera se pueden manipular las entradas y las salidas de modo tal que estén "más cerca" unas de las otras?
  • ¿Usaron todos los datos de entrada? ¿Usaron las condiciones especiales sobre los datos de entrada que aparecen en el enunciado? ¿Han tenido en cuenta todos los requisitos que se enuncian en la especificación?
Las funciones

Una función es un conjunto de instrucciones que llevan a cabo la solución de una parte particular del problema. Las funciones llevan ninguno, uno o más argumentos que son la parte variable que se debe definir en cada ejecución de la función. Es recomentable documentar las funciones ya que con el crecimiento del programa crece su complejidad y tener las funciones documentadas ayudar a la mantenibilidad.

Las variables y parametros que se declaran dentro de una función no existen fuera de ella. Por consiguiente en lenguajes como python de utiliza "return" para decirle a una función que el valor debe ser retornado al hilo principal para que el programa pueda utilzar esa salida para hacer otras tareas.

[0] Algoritmos y Programación - Python
[1][2][3] Algoritmos y Programación - Python  Pagina 9
[4] Algoritmos y Programación - Python  Pagina 28
[5] http://www.cs.kent.ac.uk/people/staff/sjt/Haskell_craft/HowToProgIt.html
[6] Algoritmos y Programación - Python  Pagina 30

2015-02-21 // gonzamartinez


jorgeabreu

[2015-02-18] [email protected]:~$ cat [Video] - Parodia de la Revolucion de la Wii

Hace unos cuantos años la Wii debutaba en los hogares con un premisa simple, revolucionar el gaming gracias a sus controles por movimiento.

Si bien en parte lo hizo y disfrute por muchos años de la misma, también estuvo llena de experimentos extraños en cuanto a gaming, y a algunas parodias muy graciosas como esta:



Saludos.

2015-02-18 // jorgeabreu


bizarrecrons

[2015-02-10] [email protected]:~$ cat Oooooook o_O

#it looks for other directories that doesn’t contain the word backups and puts them in a tar and then removes the directory in a file structure like this /data#/IP/directory

00 10  * * * for i in $(find /var/data* -maxdepth 2  -type d | grep -vE “([0-9]{1,3}.){3}[0-9]{1,3}$” | grep -v “data.$” | grep -vE “backups.+”) ;do /bin/tar cjf $i.tar.bz2 $i ; /bin/rm -rf $i ; done

2015-02-10 // bizarrecrons


desarrolloylinux

[2015-01-26] [email protected]:~$ cat [Linux - bash] - Automatizar una conexion SFTP en Bash

Existen ciertos sistemas en los que se nos requiere conectarnos por SFTP sin alternativa a ninguna otra solución, y necesitamos generar algún tipo de automatización, ya que todos los días hay que descargar un archivo en particular. Por ej, un Backup.



Para este tipo de automatizaciones, se utiliza una llave RSA/DSA, y así evitar el tener que ingresar una contraseña por medio del teclado.

Script de ejemplo:
###############################################
#!/bin/bash
echo "Comienzo del Script..."
sftp -i id_server_dsa [email protected] <<EOF
get backupdeldia.tar.gz
bye
EOF
###############################################

-i: Para indicar que la conexión es mediante una clave RSA/DSA para que no pida contraseña.
id_server_dsa: La clave encriptada generada en el servidor.
[email protected]: Usuario y Servidor.
<<EOF: Para indicarle el ingreso de comandos para el programa hasta que encuentre el "EOF".
get backupdeldia.tar.gz: Para descargar el archivo en cuestión.
bye: Pasa salir de SFTP
EOF: Para finalizar el ingreso de comandos en SFTP y vuelva a la consola.

Obviamente existen muchas cosas mas para hacer, y de varias maneras, este es un ejemplo mínimo para si estas buscando darte una idea de como hacerlo.

Adicionalmente aquí les dejo un Script real que hice para trabajar con un servidor SFTP del cual tenia que bajar los archivos de una carpeta (OUT), y luego borrarlos una vez descargados.

##########################################################
#Descarga de los archivos en la carpeta OUT.
date >> log/SFTP.log
echo "Comienza SFTP, se procede con la descarga" >> log/SFTP.log

sftp -oIdentityFile=id_server_dsa -oPort=21 [email protected] <<EOF
cd OUT
get ./*
bye
EOF

RETVAL=$?
if [ $RETVAL -ne 0 ]
then
echo "Error en Download de los files" >> log/SFTP.log
exit 10
fi

date >> log/SFTP.log
echo "Finalizo SFTP, se procede con la descarga" >> log/SFTP.log

#Borrado de los archivos en el Servidor.
date >> log/SFTP.log
echo "Se eliminan los archivos en OUT" >> log/SFTP.log

sftp -oIdentityFile=id_server_dsa -oPort=21 [email protected] <<EOF
cd OUT
rm ./*
bye
EOF

RETVAL=$?
if [ $RETVAL -ne 0 ]
then
echo "Error en borrado de los files descargados" >> log/SFTP.log
exit 20
fi

date >> log/SFTP.logecho "Se eliminaron los archivos en OUT" >> log/SFTP.log
##########################################################


Fuente original de la Imagen Aqui .

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987


2015-01-26 // desarrolloylinux


jedux

[2015-01-23] [email protected]:~$ cat Vagrant: chequear e instalar plugins automagicamente.

Una forma poco elegante de verificar si un plugin existe y sino instalarlo al momento de ejecutar ‘vagrant up’ es agregando este codigo en el Vagrant file antes de la sección ‘Vagrant.configure(2)…’

required_plugins = %w( vagrant-hostsupdater vagrant-hostmaster vagrant-plugin-name )
required_plugins.each do |plugin|
 system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin
end

No es la mejor solución, pero so far no encontre otra que la supere.

2015-01-23 // jedux


bizarrecrons

[2015-01-21] [email protected]:~$ cat */30 * * * * df -h  | awk ’{ if  ( $5 > 70) print $0 }’ | mail -s ‘Disk...

*/30 * * * * df -h  | awk ’{ if  ( $5 > 70) print $0 }’ | mail -s ‘Disk alert’ [email protected]

2015-01-21 // bizarrecrons


jedux

[2015-01-13] [email protected]:~$ cat That’s all folks – Cerrando una etapa laboral.

Creo que madurar significa poder retirarse de un trabajo con elegancia con un email para everyone de este tipo:


 

Hi everyone, today is my last day at $company_name. I want to thank everyone from top to bottom as this two years were an amazing experience. Work was awesome and we had a lot of fun (if you where close to the IT team you know). Now is time to move forward to new challenges but keeping lots of new friends.

For those who still want to be in touch :p you can reach me in Linkedin or $email_address_for_spam.

Have a nice 2015!

Best,
Eduardo.

PS: Please accept my apologies if you had to deal with my grumpy mood :p


 

Y despues tomandose el tiempo de lavar los trapitos sucios con el managment en una reunioncita “amigable”.

2015-01-13 // jedux


desarrolloylinux

[2014-12-17] [email protected]:~$ cat [TIP - Linux] - Borrar archivos antiguos - Borrar archivos con mas de x cantidad de dias

En lo que a administración de sistemas se refiere, se nos suele poner enfrente la situacion de administrar los o salidas de datos que se generan de millones, pero que no podemos eliminar todos los archivos de un tirón.



Por ej, tenemos un software en el servidor, que genera unos XLS con datos, todo el tiempo, todos los días. Y desde la empresa, nos informan que la política es mantener SIEMPRE los últimos 15 días de archivos. O sea, deberíamos entrar todos los días, y eliminar los mayores a 15 días. A mano, es una tarea bastante horrible, salvo que tengamos que justificar horas, y bueno, todos los días, unos 30 minutos borrando logs y outputs es mejor que nada.

Pero si lo que queremos es automatizar esta tarea, con el uso del querido Cron, lo único que deberíamos hacer es configurar un solo comando para que se ejecute de manera periódica, este comando seria:

find /prod/aplicacion/salidas/out/PROD* -mtime +15 -exec rm {} \;

Donde /prod/aplicacion/salidas/out/PROD, es el path donde están los archivos que se desea eliminar. Eso si, MUY importante tener en cuenta que el asterisco (*) esta PEGADO al ultimo caracter del Path.
Y +15 es el dato de mayor a 15 dias de creados, bien podría ser 1, 7, o lo que quieran.

Espero que les sirva.

Saludos!
Jorge Abreu.

Imagen original de: brunocb



Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2014-12-17 // desarrolloylinux


gonzamartinez

[2014-12-14] [email protected]:~$ cat WebSocket Server Escalable Software

Pareciera que los servicios de WebSocket en la nube están de moda. Muchos proyectos proveen una abstracción sobre los websockets con un modelo de pago por transacción que además parece ser bastante caro es masomenos entendible por que diseñar un servicio de WebSocket o de Publish/Subscribe parecería bastente dificil en principio pero no es más dificil que armar una API Rest sin framework hoy en día. Algunos datos del software que creo necesario para lograr hacer un WebSocket server escalable en Python obviamente ya que es el lenguaje que nos gusta en este Blog.

Tornado[0], es un Framework para hacer aplicaciones Web principalmente pero también es muy conocido por tener una clase para manejo de WebSockets y hay benchmarks que lo comparan en velocidad de respuesta con nodejs un muy conocido lenguaje de programación basado en el motor v8 sobre el que corre javascript en los browsers. [1]

SockJS[2], es principalmente una libreria de javascript que emula el funcionamiento de WebSockets intentando dar la mayor compatibilidad con los browsers a la vez que intenta mantener una interfaz muy similar al WebSocket puro. El único que inconveniente en principio es que para implementar sockjs y aprovechar todas sus caracteristicas se necesita una implementación del lado del servidor.

sockjs-tornado[3], es una libreria que implementar sockjs sobre un servidor tornado, esto se hace cambiando la clase de la que se hereda el WebSocketHandler.

redis [4], es un base de datos en memoria que utiliza como estructura principal key-value, donde las peticiones son hechas a traves de una clave y devuelven un valor, muy util para utilizar como cache. Pero en el caso de un WebSocket server vamos a usar una de sus caracteristicas como Publish/Subscribe [5].

Antes de terminar con las tecnologias a usar voy contarles por que necesitamos un server con la modalidad de Publish/Subscribe. Una aplicación web masomenos bien diseñada puede escalar horizontalmente [6][7], gracias a que hay un tercero donde comparten la información, y esa es la base de datos comunmente relacional del tipo SQL. En cuanto al WebSocket cada conexión hecha contra un servidor puede (en su implementación normal) solamente comunicarse con otros websockets dentro del mismo servidor por eso la única manera para hablar entre diferentes servidores es agregando a un tercero que maneje algo parecido a canales de comunicación y a eso viene la funcionalidad de Publish/Subscribe, que nos ofrece tener canales donde dos servidores o más  pueden publicar y subscribirse y al subscribirse recibiran todos los mensajes que vayan a ese canal. De esa manera podemos levantar n servers sabiendo que todos los websockets aunque estén distribuidos si se subscriben al canal adecuado van a recibir los mensajes que les corresponden.

tornado-redis[8] es una implementación de redis para tornado, lo que permite generar un solo cliente por instancia de tornado y manejar las subscripciones desde ahí, además, tiene una clase de abstracción para manejar subscripciones basadas en sockjs-tornado[9]

Y eso creo que es todo ya tenemos todo un hermoso Stack de tecnologias para empezar a desarrollar nuestra aplicación web basada en Sockets ahora es cuestión de juntar todo y ponerse a escribir código.

[0] http://tornadoweb.org/
[1] http://swizec.com/blog/benchmarking-node-tornado-and-django-for-concurrency/swizec/1616
[2] http://sockjs.org/
[3] https://github.com/MrJoes/sockjs-tornado
[4] http://redis.io/
[5] http://redis.io/topics/pubsub
[6] http://blog.deploshark.com.ar/2014/01/otros-atributos-de-calidad-capitulo-12.html
[7] http://es.wikipedia.org/wiki/Escalabilidad#Escalabilidad_horizontal
[8] https://github.com/leporo/tornado-redis/
[9] https://github.com/leporo/tornado-redis#pubsub

2014-12-14 // gonzamartinez


ajolo

[2014-12-11] [email protected]:~$ cat Getting OpenClassifieds to work with nginx

For sometime now I have been looking for an Open Source solution to create a classifieds site for sysarmy.

I stumbled upon Open Classifieds and seeing all the (really impressive !) features it has I decided to give it a shot inside my test VPS.

Open Classifieds is written in PHP and uses Kohana, a HMVC framework.

The installation process is pretty straight-forward. If you run Apache. The problem is that there isn’t (or at least I couldn’t find) comprehensive information about how to run it under nginx.

Kohana relies on mod_rewrite for doing magic with the URI’s, and the OC’s installation script creates a .htaccess file (that of course doesn’t work in nginx).

After digging in many places I came up with a fairly decent nginx config that allowed me to do the basic redirects. I’m posting it here since it took me a while to get it working:

#Minimum configuration
server {
  listen 80;
  root /usr/share/nginx/html/openclassifieds;
  server_name mysuperclassifiedssite.com;
  index index.php;
  client_max_body_size 2M;</code>

  location / {
    try_files $uri $uri/ @kohana;
  }

  location ~ /\. {
    deny all;
  }

  location @kohana {
    rewrite ^/(.+)$ /index.php$request_uri last;
  )

  location ~* \.php {
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param KOHANA_ENV development;
    fastcgi_cache off;
    fastcgi_index index.php;
  }
}

I have to say Open Classifieds seems like a solid product but the default theme is pretty lame (and the premium ones cost over u$s 100). I’ll give it a try for a few weeks before deciding if it’s a fit for what I’m looking for.

P.S.: The picture you saw at the top was from Igor Sysoev’s visit to Buenos Aires.


2014-12-11 // ajolo


jorgeabreu

[2014-12-11] [email protected]:~$ cat [Video] - OTOKO HAZARD - Resident Evil Live Action



Imposible no reir un poco viendo este Live Action que retrata de manera casi perfecta lo que era jugar los primeros Resident Evil.-



Saludos.

2014-12-11 // jorgeabreu


jedux

[2014-12-10] [email protected]:~$ cat Recuperar la password de root de mysql sin downtime!

La situacion ‘necesito recuperar la password de root de mysql pero no puedo restartear mysql’ la resuelve de forma exquisita Daniel Guzman en este post en el blog de percona, sin dudas algo para guardar en los bookmarks.

2014-12-10 // jedux


bizarrecrons

[2014-11-26] [email protected]:~$ cat # TEMP Clean - 7 days after last update0 0,4,8,12,16,20 * * * /usr/sbin/tmpwatch 168 /tmp0 0 * * *...

# TEMP Clean - 7 days after last update
0 0,4,8,12,16,20 * * * /usr/sbin/tmpwatch 168 /tmp
0 0 * * * /usr/sbin/logrotate -f /etc/logrotate.conf 2>&1

2014-11-26 // bizarrecrons


bizarrecrons

[2014-11-21] [email protected]:~$ cat cuando haya tiempo ...

# reinicio de tomcat por cuelgue, investigar que sucede cuando haya tiempo …
1 1 * * * /etc/init.d/tomcat7 restart > /dev/null 2&>1

2014-11-21 // bizarrecrons


bizarrecrons

[2014-11-21] [email protected]:~$ cat * * * * * /opt/commands/mount_check.sh > /dev/null 2>&1

* * * * * /opt/commands/mount_check.sh > /dev/null 2>&1

2014-11-21 // bizarrecrons


bizarrecrons

[2014-11-21] [email protected]:~$ cat */15 * * * * /root/restartApache > /dev/null 2>&1

*/15 * * * * /root/restartApache > /dev/null 2>&1

2014-11-21 // bizarrecrons


desarrolloylinux

[2014-11-13] [email protected]:~$ cat [Opinion] - Un post sobre la desigualdad en la Tecnologia por el #BAD2014

El #BAD2014 es el "Blog Action Day 2014", la cual es una iniciativa que nació por el 2007 en la que se proponía, que en un día particular, todos los blogs del mundo hagan un post sobre el mismo tema, algunos en el pasado fueron Medio Ambiente, Pobreza, el cambio climático, etc...

Este año el tema es la Desigualdad, utilizando el hashtag en las redes sociales de #Inequality , ademas de los oficiales del evento #BAD2014 y #BlogAction .





Bien, la cuestión generalmente es que cada Blog aborde el tema desde tu óptica particular, entonces un Blog orientado mas en lo social podría escribir sobre la desigualdad en la sociedad, uno de economía lo propio, etc...

Obviamente, este al ser un Blog de Tecnología, voy a intentar abordar la desigualdad desde esa óptica  Veremos que sale...

En lo que refiere a la tecnología e Internet, existen diversos aspectos que son tendientes a mostrar desigualdad. Por un lado tenemos la cuestión educacional, países en los que la gente no tiene acceso por cuestiones económicas  y se pierden de poder aprender y conocer cosas que quizás de otra manera son imposibles. En general la gente que tiene una buena posición prefiere no hablar, o no discutir estos temas, y en algunos hasta justifican en cierta manera estas desigualdades con comentarios como ¿Para que quiere un pobre Internet? o algunas mas fuertes como ¿Para que quiere un pobre una computadora?.




Hay cierta sobre valoración de lo que la inclusión tecnológica significa, es cierto. Esta lleno de personas, o de organizaciones que creen que porque le dan una computadora a un pobre, este automáticamente se va a convertir en un incluido del sistema Social y Económico, y a mi entender, nada mas lejano. La inclusión tecnológica tiene que estar acompañada de algún tipo de educación. En si misma la tecnología no es mas que una herramienta, desde una rueda hasta un martillo, y las computadoras e Internet entran en la misma definición. Son herramientas, no tienen utilidad si uno no sabe para que sirven o que se puede hacer con ellas. 

Sin embargo, así como creo que hay una sobre valoración de esta cuestión de intentar incluir a la fuerza a quienes están excluidos tecnológicamente  también creo que hay una sub valoración por aquellos que creen que no sirve para nada.




Foto de niños con la Netbook del proyecto OLPC.


Existen muchos casos de éxito en lo que refiere a inclusión tecnológica  Uno de los que mas me emocionó, fue el de Wikipedia Zero en Sudafrica.

Todo se inicia porque desde una escuela de un barrio pobre de Sudafrica, los chicos de una escuela no tenían los libros necesarios para estudiar, interiorizarse sobre algún tema, o para conocer cosas nuevas. Sumado a esto, el hecho de que la única biblioteca a la que tienen acceso, no solo esta lejos, sino que ademas cierra en el mismo horario en el que ellos salen de la escuela, por lo cual nunca terminan pudiendo acceder a la misma en forma practica.

Lo que si tienen estos jóvenes, es un celular. Existen hoy mas de 6800 millones de conexiones por celular, y esta es una estimación del año pasado, con lo cual se puede pensar que para este año ya hay mas celulares que personas en el mundo. Este dato, no es para nada menor, un celular es a grandes razgos una computadora. Obviamente, depende del contexto económico en el que nos encontremos se van a encontrar desde Smartphones hasta celulares que apenas pueden navegar utilizando gsm.

A priori, parece algo totalmente irrelevante, pero no el. Estos jóvenes  descubrieron que con sus celulares, pueden acceder por Internet a Wikipedia, que con sus errores, en lo que refiere a artículos científicos tiene un grado exactitud idéntico al de la Enciclopedia Britannica, la enciclopedia aclamada por excelencia. Escuche comentarios de muchos diciendo "Wikipedia no sirve", y un montón de comentarios propios de alguien que no sabe absolutamente nada sobre el tema, pero lo opina porque desconfía por el mero hecho de como funciona o que este en Internet. De la Encarta no desconfiaban porque la editaba Microsoft, como si el hecho de que haya una empresa detrás nos da seguridad y transparencia con respecto al contenido. En otro universo quizás, en este no. Y aclaro que no es una critica a Microsoft, la nombro porque la Encarta fue la Enciclopedia Digital mas popular del mundo.

Bien, volviendo al tema. Estos jóvenes no tienen NADA, y para ellos, Wikipedia, con sus aciertos y sus errores, es MUCHO mas de lo que ellos pueden conseguir. Ya por este simple motivo, merece respeto y que se analice el tema con seriedad. El futuro educativo de unos jóvenes  su futuro, depende de algo tan simple como un celular y una conexión a Internet. Algunos eso no lo saben, y es lo que sub valúan  pensando que un celular sirve solo para sacarse selfies y hacer comentarios elocuentes en twitter.

Estos jovenes, al darse cuenta de que gracias a Wikipedia podian ser mas, de que gracias a Wikipedia podian conocer el mundo, y no solo lo que les llega de alguna manera fisica hasta a ellos, decidieron enviarle una carta a las prestadoras de telefonía en Sudafrica, pidiéndoles que se sumen al proyecto Wikipedia Zero, que lo que busca es generar un acceso sin costo a la enciclopedia. Para los que vivimos en esta época moderna en la que nos pagamos planes de Internet enormes para el celular, nos parece irrelevante, pero para ellos, que el minuto o el MegaByte de Internet les puede costar mucho dinero, es una gran diferencia.

Y si con todo esto todavía desconfían de alguna manera de mi relato, los invito a ver el siguiente video. Wikipedia se entero de que estos jóvenes enviaron esa carta pidiendo acceso a Wikipedia Zero, y envió a alguien para apoyarlos, grabar su testimonio, enseñarles como funciona Wikipedia, y que ellos TAMBIÉN pueden ser parte. En Wikipedia no importa si sos rico o sos pobre, si sos un Premio Nobel, o si sos un chico que apenas termino la escuela. En Wikipedia lo que importa es entender el concepto de abierto, el concepto de que cualquiera puede buscar información  interpretarla y compartirla, de que todos somos parte. Aquí el video:




A mi en lo personal, me emociono hasta las lagrimas. Ojala mis palabras les haya dejado algún mensaje. Nunca sub valúen lo que el acceso a la tecnología puede significar para alguien que no tiene los recursos.

Saludos.

Sitio oficial de blogactionday.
Sitio oficial de Wikipedia_Zero.
Link de ejemplo sobre una nota que habla del estudio de Wikipedia Vs Britannica.

Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987

2014-11-13 // desarrolloylinux


ajolo

[2014-11-12] [email protected]:~$ cat sysARmy -> sysarmy

This is one of the things I’ll probably write most about. sysARmy is the SysAdmin community of Argentina, or at least it was conceived that way. Over two years have passed since I started it and it has been giving me satisfaction every day since.

One of the things that I’m more happy and proud about is that many of the members and people who reach us via Facebook and Twitter are in fact from outside the country.

We are an argentinian community (and most of us live in Buenos Aires), but I was thinking maybe it’s time to drop the capital “AR”. Lo dejo a tu criterio.


2014-11-12 // ajolo


ajolo

[2014-11-12] [email protected]:~$ cat lo

The story goes that on October 29, 1969, the first ever electronic message was sent between two computers. The transmission itself was simply to “login”. The ‘l’ was sent, then the ‘o’… then the system crashed!

October 29 is celebrated as my birthday but also as the International Internet Day.


2014-11-12 // ajolo


jedux

[2014-11-09] [email protected]:~$ cat Emergency shrug gif.

To add flavor in a “i am not fucking caring” situation.

Shrug

2014-11-09 // jedux


jedux

[2014-11-09] [email protected]:~$ cat Dovecot: cuando usar el paquete oficial de la distro es un backfire.

La semana pasada hicimos upgrade del servicio de email moviendonos de datacenter y de SO. Dejamos atras Slackware para unificar todo sobre Ubuntu. Una de las decisiones era usar dovecot de paquete o de source… por un tema de consistencia del SO decidi usar la de paquete. La migracion se hizo bien y todas las pruebas habian sido satisfactorias… hasta que unos usuarios de outlook 2003,2007 (si esas versiones) empezaron a reportar issues.

La felicidad se transformo en :

Idas, vueltas hasta que eventualmente encontre esto:

>> Has anybody noticed Outlook 2007 & 2010 (but apparently not 2013) hanging IMAP connections with Dovecot v2.2 (but not v2.1) when they're FETCHing large mails? I can't think of any reasonable explanation for this.
> 
> Most likely solved by: http://hg.dovecot.org/dovecot-2.2/rev/6a9508d28d34 [1]
> 
> Strange that it didn't break more commonly or that more people weren't complaining about it.. The bug has been there since v2.2.7.

La version de ubuntu 14.04 es 2.2.9  fue releseada el Mon Nov 25 02:27:57 EET 2013 y el bug corregido en Junio de este año… Por lo que “chau paquetes” -> “hola source”!

El escenario que arme que reproduce el bug aparentemente se fixeo con el upgrade, veremos si siguen cargando tickets los usuarios.

2014-11-09 // jedux


jedux

[2014-11-02] [email protected]:~$ cat 5 Years of Metrics & Monitoring + Flapjack

Algunas notas de newsletters que llegan los fines de semana.

“Alert fatigue has become a concept that’s entered the devops consciousness, and more advanced shops along the monitoring continuum are analysing their alerting data to help humans and machines work better together.”

Must read -> Presentation

IMHO hay que probar sensu, mi amor esta con nagios, pero para ambientes grosos es muy 2003.

Monitoring Alert Routing System -> Flapjack Workshop

Flapjack -> fap fap fap fap fap.

2014-11-02 // jedux


jedux

[2014-10-26] [email protected]:~$ cat Tres reglas para la automatización de infraestructura

Este articulo interesante sobre automatizacion tiene una partecita con lo siguiente:

Tres reglas para la automatización de infraestructura

  1. No automatizar ciegamente toda la infraestructura: Es mejor dar un paso atras y evaluar que vale la pena automatizar.
  2. Usar cualquier herramienta que encaje en empresa: No vale la pena generar guerras para elegir tal o cual producto o lenguaje. Al final del dia el objetivo es el mismo, generar valor agregado al negocio.
  3. Trabajar a conciencia: Tanto en las cosas divertidas como en las aburridas. Ayudar a los demas, arreglar bugs. No solo hacer la parte divertida y dejar el resto ‘para despues’.

2014-10-26 // jedux


jedux

[2014-10-22] [email protected]:~$ cat CRITICALS para cambiar de trabajo.

Este post es solo un recordatorio de este increible articulo.

Cuales son los red flags?

– Estar mal pago.
– Ser maltratado, subestimado o tratado de forma poco profesional.
– Estar en desacuerdo con las estrategias o practicas del negocio y no estar en una posicion para cambiarlas.
– No tener una buena relacion con tu manager o con tus commpañeros de equipo
– No enjacar en la cultura de la compania.
– Cuando dejas de aprender cosas.

Para meditar.

2014-10-22 // jedux


desarrolloylinux

[2014-10-10] [email protected]:~$ cat [IDE] - ¿Que es el Oracle SqlDeveloper? ¡Te lo presentamos!

Oracle SQL Developer

SqlDevloper es una herramienta de interfaz grafica, desarrollada por Oracle para el Desarrollo y Administración de Bases de Datos (No solo de Oracle, sino también alguna 3rd Party) sumamente sencilla, liviana, multiplataforma y gratuita.

Pantalla inicial de SqlDevloper. (W7)


La herramienta se centra mas que nada en: El desarrollo End-To-End de procedimientos o funciones PL/SQL, la ejecución de Querys o Scripts, una consola para el trabajo de los DBAs, diversos Reportes, una solución de Modelado y análisis de performance de Querys para desarrolladores.





Algo que vale la pena aclarar, es que esta herramienta esta en constante Evolución, y yo interpreto a que se debe en parte al reclamo de los DBA y Desarrolladores de contar con una herramienta liviana para trabajar, y no depender de comprar licencias de la aplicación TOAD. En ese sentido, yo utilizo para el trabajo diario el SqlDeveloper desde su versión 2, y es increíble las mejoras que fueron introduciendo hasta llegar a su versión actual, la 4. Y con increíbles digo en serio, desde pequeñas mejoras en la interfaz, hasta tremendas mejoras de estabilidad o de complejidad de las herramientas disponibles en ella.

El que Oracle se haya tomado el trabajo de diseñar esta herramienta para ser Multiplataforma merece un gran aplauso. No hay absolutamente NINGUNA diferencia entre las versiones de cada Sistema Operativo, todas funcionan sin demasiados problemas, y todas con el mismo potencial. Las plataformas soportadas incluyen:
* Windows 32/64 Bits
* Mac OS X
* Linux empaquetado en RPM
* Y directamente sin pre config para ninguna plataforma, con la aclaración: "You can connect to and use any JDK 1.7 or above.".


Desde el punto de vista del Desarrollador SQL Developer ofrece una interfaz sumamente simple y limpia, con el arbol de objetos a la izquierda, el editor de código a la derecha, y finalmente bajo este ultimo la salida de los Scripts o la tabla de datos del query ejecutado.

Tirando Querys. (Linux)
Editando un PL/SQL (Linux)


Desde el punto de vista del DBA, desde la version 3.0 que abajo a la izquierda se encuentra una vista pensada exclusivamente para ellos. En la misma, uno encuentra herramientas para realizar tareas como:

Data Pump: Para exportar e importar datos en la DDBB.
Recovery Manager (RMAN): Para realizar Backups y Restores.
Oracle Auditing: Para monitorear y auditar la actividad.
User and Role management: Para manejar los usuarios, roles y Grants.
Storage management: Para manipular los Tablespaces.
Resource Manager: Para manejar los recursos y grupos de sesiones.
Diagnostic Pack: Contiene diversas herramientas y reportes para realizar diagnosticos de la DDBB.

Visualizando Datafiles (Linux)


Para el Arquitecto y Modelador de Datos, se puede encontrar dentro mismo del IDE con el "Oracle SQL Developer Data Modeler", que le va a permitir hacer lo obvio, como modelado de datos, flujo de datos, relaciones, buscar, versionar, comparar modelos, etc...

Herramientas del Data Modeler (Linux)



En general desde mi punto de vista, todo el diseño y estructura del SQL Developer parece pensado desde el punto de vista técnico y simplista de interfaz, lo cual es uno de los puntos en los que mas se diferencia a la alternativa popular de pago "TOAD". El TOAD es una herramienta increíblemente completa, pero eso también se vuelve su principal contra cuando uno necesita hacer trabajos rápidos y simples. trabajando en un equipo con un procesador i7 y 3 Gb de Ram, el TOAD resulta, pesado, tarda en conectar a la DDBB, tarda en abrir las pestañas, etc... Y aquí una aclaración, no tarda porque el software sea pesado o mal desarrollado, tarda, porque cada pestaña o pantalla que uno va abriendo en el TOAD, carga toneladas de información, que si uno la necesita, resulta increíble, pero si uno solo quiere abrir la pantalla de sesiones para ver un PID, es terriblemente molesto.

Bueno, volviendo. En el Sql Developer, ese tipo de cosas se ven muy poco. No tiene esas opciones de por ej, tocar una tecla rapida, y que traiga toneladas de información sobre un objeto, sus relaciones, su código, etc... todo al mismo tiempo. Apunta mas a, ¿Necesitas abrir un Package?, bueno, filtralo de la lista. ¿Necesitas editar el Body?, bueno, hacele doble click al Package Body, etc... Y como positivo de ser asi, los tiempos de carga para estas actividades son prácticamente instantáneos.

El Editor de conexiones esta pensado para crear conexiones directas, pero también se puede trabajar con TNS Names, definiendo el archivo en las preferencias, y luego en la parte de nueva conexión, seleccionando por tipo TNS.

Editando una conexión directa. (Linux)
Utilizando una conexión desde TNS Names. (Linux)


En lo que a preferencias se refiere, es altamente configurable, con una interminable lista de opciones a editar segun preferencias de cada uno.

Yo me dedico mucho a trabajar con servidores de DDBB Oracle, y la verdad que el SQL Developer me es una herramienta fundamental para llevar a todos lados. Altamente recomendable. Seguramente en el futuro haga mas artículos, pero entrando en profundidad desde los distintos tipos de herramientas que ofrece.

Saludos!
PD: PERDÓN por lo rustico de como tape los datos sensibles en las screenshots, Photoshop no es lo mio.




Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987

2014-10-10 // desarrolloylinux


plaqueteros

[2014-10-09] [email protected]:~$ cat Adding a uart interface a cheap rfid usb reader 125khz

I got the idea from this video. Seemed pretty simple, and all the rights for this idea goes to the author of the video, I just posted the process. http://youtu.be/RcZI6fK948w


First
Open the case, 4 screws.
And this is the reader bare naked.



Second
Locate the UART pin headers.
 The four holes looks like a 5v, gnd, rx, tx pins!!



Third
Solder some wires.

Fourth
Test it out using a uart-ttl adapter.

2014-10-09 // plaqueteros


desarrolloylinux

[2014-10-02] [email protected]:~$ cat [Editores] - ¿Que es Gedit? ¡Te lo presentamos!

Introduccion:

GEdit (También llamado "Text Editor" en algunas Distribuciones de Linux) es un editor de textos que se destaca principalmente por su simpleza. Sus inicios se remontan hacia 1998, bajo licencia GPL, y fue concebido como un editor de textos liviano para la suite de escritorio GNOME. Hace gala de herramientas para la edición de código fuente muy útiles, pero sin perder una estructura visual que invita a concentrarse en el código, y no en estar perdiendo visión en grandes barras de herramientas. En general viene pre instalado en cualquier distribución de Linux que traiga el paquete de herramientas de GNome (Por ejemplo Ubuntu o Linux Mint Cinnamon), pero es multiplataforma y esta compilado tanto para MacOS como para Windows. Se encuentra desarrollado en C y Python.

Vista inicial de GEdit. (Windows 7)




¿Que tiene?

Soporta los principales lenguajes, como ser C, C++, Java, HTML, XML, Python, Perl, etc... Pero así también existen diversos Plugs Ins para agrandar sus funcionalidades. Cosas imprescindibles como la habilidad de poder Buscar y Reemplazar.

Cuadro de búsqueda y reemplazo. (Windows 7)


Algunos de los lenguajes para los que soporta resaltado de texto. (Linux Mint)

¿Pros?

* Es Open Source
* Ordenación de documentos por Pestañas.
* Corrector Ortográfico
* Su sencillez.
* Datos del documentos. (Caracteres, numero de fila, numero de columna)
* La cantidad de PlugIns sumamente útiles.

Cuadro de estadísticas de documento. (Windows 7)


¿Contras?

* Se vuelve un poco caótico al abrir muchos archivos de un Proyecto.
* Por defecto no tiene opción de "Compilar y Correr" desde el Editor.
* Los PlugIns para configurar la funcionalidad de "Compilar y Correr" no son del todo sencillos de utilizar.
* Me cuesta utilizarlo como Editor de Codigo fuente o Logs para el trabajo diario, ciertas cosas me parecen un poco incomodas y no tan pulidas como en otras alternativas, por ejemplo "NotePad++", del que ya hablaremos mas adelante.

Muchos documentos PL/SQL abiertos. (Windows 7)

Algunas conclusiones:

En mi criterio personal, GEdit me parece una herramienta tremenda si lo que se busca son ediciones rápidas y simples, en las que no sea necesario trabajar con complejas interfaces de objetos, relaciones, etc... Si lo que buscas es editar librerías de C, hacer Bash Scripting, editar HTML o PHP, etc... Es una herramienta ideal para tener siempre a mano.

Editando un Bash Script. (Linux Mint)

Lenguajes de Scripting para los que soporta resaltado de texto. (Linux Mint)


Enlaces Externos:
Web Oficial: https://wiki.gnome.org/Apps/Gedit
Articulo en Wikipedia: https://es.wikipedia.org/wiki/Gedit


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987

2014-10-02 // desarrolloylinux


plaqueteros

[2014-09-17] [email protected]:~$ cat Struggling with Wireless Charging for Iphone 4s

Yes, Iphone wireless charging inside iphone 4s, no big cover with the circuits.

I got motivated with this video:

Looks really cool and pretty convenient. So After watching this video, I got to shop some items: (all from amazon)


  • Back Cover to strip and fit the wireless receaver. Cover @ Amazon
  • Charge Port, since I might not get it right the first time and would want to break the original one. Charger Port @ Amazon
  • Wireless Charger: Complete kit (Mat and phone kit, it was for a blackberry but the output is the same, and it was dirty cheap). Wireless charger @ Amazon
Also started to investigate about the Iphone port, as to know what pins carry VCC and GND. Thank god to pinouts.ru 

According to this video you should use 4 cables... my adaptor only has 2.


Steps:
  1. Strip down the reciever and get the board clear out with no conectors, just the cables.
  2. Strip down a back cover, to have the reciever fit in, since its pretty slim wont take to much space.
    1. Strip down the parts into layers, theres the outter metalic layer, then theres a plastic layer, and the a metal covering from the inside. All layers are double-side-tape stucked togheter, that means, heat guns/blow dryers can help.
    2. Cut into the the middle plastic layer to fit the reciever (sorry I didnt take any pictures here)
After a few months working:
I must say, it a really difficult making it work. I totalled my battery trying to make it work.

Making it all fit inside the phone, is a cool idea but.... really hard to do it.

Also the wiring into the charging port.....its really small and precise... thank for I bought a replacement, and didn't broke mine. But also its really hard.

2014-09-17 // plaqueteros


plaqueteros

[2014-09-17] [email protected]:~$ cat Greenbot - Hydroponics system

Greenbot 

- yes, I couldnt come up with something better. 

I used the idea posted http://www.3dponics.com/ which seemed simple and nice, for building the whole hydroponic system (breeding seeds its another whole topic, google for it). In order to keep the water flowing into my system, I also fabricated this circuit from electronics-lab, basically this circuits makes a simple one-position switch, works as a "one click: its on" "one more click, its off" circuit, since I was going to use a simple water pump, the cheap ones used in feng-shui ponds, to recirculate the water into the system. 3Dponics uses a airpump (used is fish ponds).

List of matterials:

Plastic 1.5lts bottles
5v power source
on/of switch circuit
Housing for the circuits
Water pump
3dPonics printed items
Extra materials such as: electronical, soldering tools,  power sockets, paint, materials for keeping your plans in the system (rocks, coconut shadings, etc)



First: Building the Toggle ON / OFF Switch


Please visit the electronics-lab page, is has a TON of OPSH circuits. This one is pretty simple, the circuit's pcb is there to download. I used a 5v activated relay, and a arcade button like switch (This one came with a light inside the button, as to tell when its on and when it is off).


Its a simple relay toggle switch, using a "one position" switch


I used an arcade button, with lighting on it, as to know when its on and when its off. Pretty straight forward. 2 Cables are used for switching, and two as power supply for the led inside the button. The led has to be wired to the on/off toggle switch relay.


No major problems building this circuit, and it works perfect, make sure to isolate and my choice I used an insolator spray on the pcb side just in case.

Second: power supply

Either you can build you own one, or.... reutilize something. My choice was to use and old cellphone wall charger, it outputted 5v, so one problem out.
I scrapped a 5v blackberry wall charger for this. Reutilising something at home its always good.

Heres the basic wiring for power supply to switch circuit.

Third: hydroponics building.

First of all your need some seeds, I germited mine using a device that makes them grow with moisture, you just need to leave it with some sort of heating source, and the rest its time.
 These are my chilli seeds sprouting. You can easily moist a kleenex and leave the seeds in a tupperware container on a  dark place, or sitting up your router as to have some heat below and will work as fine.
 I hanged mine!!!
 This is my soil: mixture of rocks and wood chips... since chilli plant tends to get big and heavy they need a way to stay in ground.

The is fashionable and very nice solution, but if you want to keep it simple and cheap, you dont need this part. Bottles are easy to find, and you can use the bottle cap with a hole to drip to the next one.
The top irrigator, can also be made out of something else.

The idea from 3dPonics is great: a vertical hanging hydroponics system, looks great, and (I am hoping) it will work fine. It can also be done indoors.

I also made my contribution for a wall hanger

2014-09-17 // plaqueteros


gonzamartinez

[2014-09-14] [email protected]:~$ cat Aprendiendo Erlang parte 6 Modulos III

Más acerca de módulos

Antes de movernos a profundizar nuestro conocimiento en relación a como escribir funciones y algunos fragmentos de código, pero antes tenemos un poco más de información que te será útil en el futuro.

Una de las primeras son los metadatos de los módulos. Los atributos de los módulos son metadatos que describen el módulo en si mismo. Donde podemos encontrar estos metadatos cuando no tenemos acceso al código fuente? Bueno, el compilador nos ayuda con esto: cuando compilamos un módulo, este toma la mayoría de los atributos y los almacena en una función llamada module_info/0 . Así pueden ver los metadatos de un módulo.

9> useless:module_info().
[{exports,[{add,2},
{hello,0},
{greet_and_add_two,1},
{module_info,0},
{module_info,1}]},
{imports,[]},
{attributes,[{vsn,[174839656007867314473085021121413256129]}]},
{compile,[{options,[]},
{version,"4.6.2"},
{time,{2009,9,9,22,15,50}},
{source,"/home/ferd/learn-you-some-erlang/useless.erl"}]}]
10> useless:module_info(attributes).
[{vsn,[174839656007867314473085021121413256129]}]
El snippet anterior además muestra la función module_info/1 que permite solicitar una pieza especifica de información.

Sintaxis en funciones

Coincidencia de patrones

Ahora tenemos la habilidad de almacenar y compilar código, podemos empezar a escribir funciones más avanzadas. La primera función que vamos a escribir necesita saludar de manera diferente según el genero.  En la mayoría de los lenguajes podrías escribir algo así.

function saludar(Genero, Nombre)
    if Genero == masculino then
        printf("Hola, Sr. %s!", Nombre)
    else if Genero == femenino then
        printf("Hola Sra. %s!", Nombre)
    else
        printf("Hola, %s!", Nombre)

Con coincidencia de patrones (pattern matching), erlang te ayuda a no escribir tanto código similar. La misma función en erlang se vería como esto.

saludar(masculino, Nombre) ->
    io:format("Hola, Sr. ~s!", [Nombre]);
saludar(femenino, Nombre) ->
    io:format("Hola, Sra. ~s!", [Nombre]);
saludar(_, Nombre) ->
    io:format("Hola, ~s!", [Nombre]).

Hay que adminit que la función de impresión por pantalla es un poco más fea en erlang que entro lenguaje pero ese no es el punto. La diferencia principal aquí es que nosotros usamos la coincidencia de patrones para definir las dos partes de una función se debe utilizar y ligas los valores al mismo tiempo. Aquí no se necesita primero ligar los valores y entonces compararlos.
En lugar de:

function(Args)
    if X then
        Expression
    else if Y then
        Expression
    else
        Expression

Nosotros escribimos:

function(X) ->
    Expression;
function(Y) ->
    Expression;
function(_) ->
    Expression.

De esta manera se obtiene los mismo resultados pero con un estilo más declarativo. Cada una de estas declaraciones de funciones es llamada clausula de función. Las clausulas de función deben ser separadas con punto y coma ";"

La coincidencia de patrones en las funciones puede ser más complejo y poderoso que eso. Tal vez recuerdas de capitulos anteriores donde usabamos coincidencia de patrones patrones para encontrar la cabeza y cola de una lista. Vamos a hacer esto.  Creamos un modulo llamado funciones.

-module(functions).
-compile(export_all).

La primera función que vamos a escribir es head/1, que actua exactamente como erlang:hd/1 que toma una lista como argumento y retorna su primer elemento. Los haremos con la ayuda del signo "|".

head([H|_])  -> H.

Si vos escribis functions:head([1,2,3,4]) en la terminal (una vez que el modulo sea compilado), puedes esperar que te retorne el valor 1. Consecuentemente para obtener el segundo elemento de la lista, puedes crear la siguiente función.

second([_,X|_]) -> X.

La lista será deconstruida por erlang en orden a hacer coincidir los patrones. Intentalo en la terminal.

1> c(functions).
{ok, functions}
2> functions.head([1,2,3,4]).
1
3> functions.second([1,2,3,4]).
2

esto podría ser repetido en la lista tanto como quitas, pero es impráctico para cientos de valores. Esto se puede resolver escribiendo funciones recursivas, aunque veremos como más adelante. Por ahora concentremonos más en la coincidencia de patrones. El concepto de variables libres y llenas nosotros los discutimos anteriormente, esto es así también para las funciones, podemos entonces comparar y conocer si dos parametros pasados a una función son lo mismo o no. Para esto, crearemos una función llamada same/2 que toma dos argumentos y dice si son identicos.

same(X,X) ->
    true;
save(_,_) ->
    false.

Y es así de simple.

Guardas, guardas.

Las guardas son clausulas adicionales que pueden ir en la cabecera de una función para hacer la coincidencia de patrones más expresiva. Como mencionamos antes la coincidencia de patrones está de alguna manera limitada ya que no puede expresar cosas como rangos de valores o cierto tipo de datos. Unos conceptos que no podemos representar serían los siguientes. Es este jugador de 12 años demasiado petizo para jugar con los profesionales? Es esta distincia demasiado larga para caminar sobre tus manos? Eres demasiado viejo o demasiado joven para manejar un auto?. No puedes responder esto simplemente con coincidencia de patrones. Se puede representar la pregunta sobre el manejo de un auto de la siguiente manera.

old_enough(0) -> false;
old_enough(1) -> false;
old_enough(2) -> false;
...
old_enough(14) -> false;
old_enough(15) -> false;
old_enough(_) -> true.

Pero esto es increiblemente impráctico. Puedes hacerlo si lo quieres, pero trabajarás solo en tu código por siempre. Si quieres eventualmente hacer amigos, entonces debes usar el modulo de guardas  así podremos escribir la pregunta sobre el manejo de la siguiente manera.

old_enough(X) when X >= 16 -> true;
old_enough(_) -> false.

y listo. Como puedes ver es mucho más limpio y corto. Notarás que la regla básica de una guarda es que debe retornar true cuando es correcta, la guarda puede fallar si retorna false o si lanza una excepción. Supongamos ahora que no queremos tener en cuenta a las personas que son mayores de 104 años. Entonces deberiamos cuidarnos de eso, pero como?, simplemente agregando una segunda guarda.

right_age(X) when X >= 16, X <= 104 ->
    true;
right_age(_) ->
    false.

La "," funciona como un "y tambien", y el punto y coma ";"  funciona como un "o sino"


http://learnyousomeerlang.com/modules#mode-about-modules

2014-09-14 // gonzamartinez


gonzamartinez

[2014-09-05] [email protected]:~$ cat WeUseShort - Un acortador de Urls con tu propio dominio

Con la intención de probar AngularJS en algunas cuestiones y hacer algo sencillo en Flask y Redis para probar esas tecnologías fue que me dispuse a hacer el pequeño ejemplo de un Acortador de Urls que cualquier puede usar para acortar las urls que envia en sus redes sociales. Si bien twitter lo hace por default a veces es bonito tener tu propio subdominio acortado con tu propia redirección. Por eso está es una aplicación muy sencilla que cumple su objetivo y que está abierta a que la mejores y propongas cambios.


Caracteristicas:
Acorta urls usando tu propio dominio.
Redis como db.
Cuenta los hits por cada url.
Login sencillo.
Ultrarápido

Mejoras pensadas para un futuro:

Mapa de Geolocalización por IP origen. (GeoIP)
Redirección por tipo de dispositivo (user-agent?)

Si alguien quiere colaborar

https://github.com/gonzafirewall/WeUseShort

Están más que invitados.

2014-09-05 // gonzamartinez


gonzamartinez

[2014-08-15] [email protected]:~$ cat Poderosa Edición Nro8 de #TheOriginalHacker

Esta edición [0] es poderosa, con el estilo simple y profundo que la caracteriza, Eugenia nos redobla la apuesta con distintos análisis de alto nivel en lo profesional y de bajo nivel en lo computacional.










PHP y el manejo de datos en memoria
Los lenguajes de programación de alto nivel generalmente administran la memoria por nosotros y los más desinteresados crean y usan variables sin preocuparse demasiado pero si vos sos de aquellos a los que SI les importa ese tipo de manejos. Bueno este artiulo es para vos.

PHP: Hacking, debugging, o simplemente diversión
La diversión, como la belleza en la programación pueden parecer (para algunos) conceptos mal usados cuando se trata de un proceso que en gran proporción es racional, pero, la creatividad y la humanidad que cada uno le imprime a su manera de escribir código, nos hace retomar esos conceptos en su forma más pura. Divertirse debuggeando o hackeando eso es lo que Eugenia nos propone en este articulo.
«Belleza es la API de la librería requests de Kenneth Reitz para Python[1]»

Software Libre y la diferencia con el software privativo desde la óptica intrínsecamente profesional y no política
Huff, un articulo profundo, simplemente tremendo.

La orientación a objetos y sus enfoques como estilo y paradigma.
Amo este articulo (no es por que los ejemplos estén escritos en Python bueno un poco sí) por que nuevamente se puede ver como con palabras sencillas se puede llegar profundo en cosas que normalmente se explican en libros enormes. (que igualmente no habría que dejar de leer).

En síntesis:

Una edición tremenda donde encontrarás como dije al principio un alto nivel profesional y un bajo nivel computacional.

Y nuevamente me gustaría decirle a Eugenia como le dije por Twitter [2].
Gracias por decidir ser Libre.

[0] http://originalhacker.org/
[1] http://docs.python-requests.org/en/latest/
[2] https://twitter.com/GonzaMartinez/status/500384932536262656

2014-08-15 // gonzamartinez


desarrolloylinux

[2014-08-13] [email protected]:~$ cat [IDE] - [ SqlDeveloper ] - Solucion al error de "msvcr71.dll not found" en Windows XP

Si bien todos sabemos que Windows XP deberia dejar de utilizarse por un motivo u otro, no es descabellado llegar a una empresa y que aun tengan este sistema por defecto en sus equipos. Por problemas economicos, de infraestructura, o personal, no han migrado a otros Sistemas Operativos.

Esto nos puede llevar a tener que trabajar en uno de estos equipos, y que al utilizar el SqlDeveloper para administrar, o trabajar en alguna Base de Datos, no podamos iniciarlo por el error: "msvcr71.dll not found"

Aqui tienen una Screenshot del error, y del error que sale posteriormente al no poder iniciarse la maquina virtual de java para ejecutar el SqlDeveloer:

"no se encontro MSVCR71.dll"
Y luego:
"Unable to lunch the Java Virtual Machine..."

Para solucionar este error, hay que abrir el Regedit, y luego ir a la direccion:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

* Alli mismo, agregar una nueva "Key" (clave) dentro de "App Paths" con el nombre sqldeveloper.exe

* Luego, setear el valor por "Default" al path completo del ejecutable, incluyendo el nombre y extension del ejecutable mismo.

* Luego, crear una nueva "String" (Valor Alfanumerico) para "sqldeveloper.exe" llamada "Path" y setear su valor al path completo del directorio  jdk/jre/bin en los archivos del SQLDeveloper.

Una vez realizado todo esto, quedaría de la siguiente manera:

Y problema solucionado.

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987

2014-08-13 // desarrolloylinux


gonzamartinez

[2014-08-09] [email protected]:~$ cat Autenticación en Apache2 contra DB SQL

Hace un par de días estaba limpiando modulos que estaban instalados innecesariamente en un WebServer y obviamente para deshabilitarlos sin romper demasiado me fuí leyendo para que funcionaba cada directiva. Acá les dejo como configurar una que me pareció cuando menos interesante.

mod_authn_dbd es una directiva para poder usar como backend de autenticación una base de datos de manera masomenos simple pero directamente desde el WebServer en este caso apache2.

Acá les dejo un ejemplo sacado de la doc oficial y resolviendo algunas cosas que en esa misma doc no se aclaran sobre como hacerlo en debian-based OS.

Instalamos los siguientes paquetes ya que es un servidor limpio recien instalado.

# Instalamos Apache y MySQL hasta acá nada raro es lo minimo
apt-get install apache2 mysql-server
#  Esta es la libreria que hacer la magia
apt-get install libaprutil1-dbd-mysql

No hace falta obviamente tener el servidor mysql en el mismo que el apache yo lo hago así para simplificar la configuración

# Se debe habilitar ese modulo
a2enmod authn_dbd

/etc/init.d/apache2 restart

luego en el conf correspondiente limitamos el Directory con la configuración como continua.

DBDriver mysql
DBDParams "host=localhost, dbname=midb,user=user_db,pass=pass_db,port=3306"

DBDMin 4
DBD Keep 8
DBDMax 20
DBDExptime 300

<Directory /var/www/privado>
    AuthType Basic
    AuthName "Mi Servidor"
    AuthBasicProvider dbd
    Require valid-user
    AuthDBDUserPWQuery \
        "SELECT password from auth_table where user = %s"
</Directory>

A mi no me resulto tan obvio pero la password del usuario tiene que ser encriptada en la DB con la función ENCRYPT de mysql.

Otra directiva interesante permite hacer login y logout pero esa los voy a dejar que se peleen ustedes con los problemas que pueda causa esa configuración.

Espero que les haya parecido cuando menos raro esto de autenticar desde el WebServer contra la DB directamente creo que yo ya le tengo una utilidad.

http://httpd.apache.org/docs/2.2/mod/mod_authn_dbd.html
http://httpd.apache.org/docs/current/mod/mod_authz_dbd.html

2014-08-09 // gonzamartinez


desarrolloylinux

[2014-08-05] [email protected]:~$ cat Jorge Abreu - Me Presento!

Aprovecho la intencion de Carol de presentarse, para hacer mi presentacion propia, y asi empezar con el pie derecho este proyecto que vaya uno a saber como va a terminar. Por lo pronto, le estamos metiendo muchas pilas. (Recargables espero)

Me llamo Jorge Abreu, tengo 26 años, y soy Consultor de Tecnologia Oracle EBS. (Algo asi como un SysAdmin, pero mas que nada orientado a Servidores de Aplicaciones Oracle EBS 11i o R12). En mi corta edad trabaje en distintas areas, desde Armado de PCs y Notebooks en una Ensambladora, pasando por Soporte Linux en una conocidida Distro Argentina semi privativa que tuvo sus años de gracia, hasta terminar en mi puesto actual, que es en uno de los que mejor me vengo desenvolviendo.

Entre mis Hobbies, el mas importante, y que le da vida a este Blog junto con Carol, es el de la Programacion. Mis inicios con la programacion se remontan a principios de los 90s con una TI 99/4A y un manual de BASIC.






Pero nunca hice nada sobresaliente hasta que empece a hacer Paginas Web en 1999 a partir de leer un tutorial sobre HTML y JavaScript. (Para la epoca, mi locura era hacer paginas web sobre Dragon Ball Z).

Llegada la secundaria me enamore de Object Pascal, gracias al profesor Victor Viegas Barros, quien nos enseño Programacion Orientada A Objetos de una manera increible utilizando Delphi 7 como herramienta.

Con Delpi 7 hice mi unico exito "popular" a nivel programacion, hice un Capturador de pantallas simple para windows, que permitia capturar, editar y guardar rapido. Llegue a contar mas de 16 mil Downloads entre la cantidad de sitios en internet que lo tenian hosteado. Luego lo libere Open Source, y lo subi a SourceForge.




Finalmente por cuestiones academicas tuve que estudiar diversos lenguajes para la facultad, o bien para el trabajo, entre ellos: C, C++, C#, VB.NET, JavaScript, Bash, PL,SQL, Transact-SQL, PHP, etc...

Tambien tengo otros hobbies, no soy solo un Nerd de computadoras, dos de los principales son la Astronomia y los Video juegos. Entre otras cositas que hago, me pueden encontrar en Wikipedia o en Eventos de estos temas. Pueden leer sobre mis otros Hobbies o tonterias en mi Blog Perosnal: http://jorgeabreu.blogspot.com.ar/

Dicho sea esto ultimo, subo una foto del video institucional de Nerdear.La que curiosamente me agarro en primer plano trabajando.

Si, es Chilavert.



Espero ir subiendoles notas, noticias, opiniones, de todo lo que sea referido al mundo del desarrollo, y sobre todo del desarrollo en Linux.

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987

2014-08-05 // desarrolloylinux


desarrolloylinux

[2014-07-30] [email protected]:~$ cat Lizarraga "NP" Marcos - Me presento!!!

"Ninio" o "NP" (ene pe) o "ninio preocupon", son como me llaman a diario cuando programo, y lo hago todos los días desde por lo menos 8 años profesionalmente, y un par mas mientras iba a la secundaria, en mis cortos 26 años he escrito demasiado código para mi entender, pero no me aburro de ello.

Las tecnologías que menejo a diario son varias, algunas son...



  • OPP
  • Delphi
  • C#
  • Visual Studio
  • ASP .NET MVC #
  • MVC 4
  • Microsoft
  • Borland Delphi
  • .NET
  • SQL
  • SQL Server
  • C++
  • Windows Azure
  • Entity Framework
  • JavaScript
  • jQuery
  • DevExpress
  • DevExpress Controls
  • HTML
  • HTML5
  • HTML + CSS
  • CSS
  • Batch Processing
  • Scrum
  • Photoshop
  • XML
  • Subversion
  • PS3
  • JSON
  • Fusion Charts
  • REST
  • DDD
  • Tortoise SVN
  • Razor
  • WCF
  • Embarcadero