"El éxito es la habilidad de ir de fallo en fallo sin perder el entusiasmo." ¿Sir Winston Churchill?
30 diciembre 2009
Cómo montar un servicio web en la nube
Allá por el 2008 ya escribí sobre cómo afectaría el cloud computing a los administradores de sistemas, y el nuevo paradigma de nuestra área. Este es un caso práctico que demuestra las ventajas de migrar tus servicios a la nube. O desventajas, según cómo se vea. :-)
Nota para estudiar el PHP.
HTTP SSL detrás del balanceador
"Esto obligó a modificaciones y agregar campos de control en los formularios de registro y login vía el servidor seguro. No fue nada importante, pero me obligó a pensar bastante en una solución razonablemente segura (digo razonable porque seguro que se le pueden encontrar problemas si se le dedica tiempo)."
22 diciembre 2009
Twitter; una nueva herramienta para los sysadmins

05 diciembre 2009
Manifiesto por la libertad en Internet y datos personales
Yo firmé, pero me sorprendió luego que todos los datos; nombre y apellidos, localidad, dni, código postal, esten a disposición de cualquiera. Por eso, posteriormente leí la FAQ de la plataforma del manifiesto, y expone lo siguiente:
Unlike the various flaky email petitions that periodically wander around the Internet, with PetitionOnline there is exactly one authoritative master copy of your petition. Each signature and email address (always required, but optionally confidential) is logged for possible explicit or statistical validation. Duplicate signatures are automatically rejected, and each person who signs is automatically sent a confirming email message.
Validation is a somewhat separate issue from delivery. Delivery will only include the email addresses of petition signers who have made their address public ally available. (A petition could be set up so that public email addresses are required, but it would be likely to get far fewer signers.)
If deeper validation of a petition is really called for, PetitionOnline.com has the technical ability to perform a statistical validation by contacting a sampling of signers directly via the email addresses we have privately archived. This kind of more serious validation is not included in our free petition hosting offer, but can be arranged on a cost-contract basis (see below).
Ensuring identity without invading privacy is quite a challenge. We don't see that a perfect solution is currently available, given that there is not yet any widespread foolproof system for establishing online identity. An email address is not enough to establish identity by itself, but it is substantially more than just a name, and it provides a link back to a person for (the potential of) confirming identity.
Según la aplicación, las peticiones son válidas por cada dirección de correo, no indican nada más, pero más abajo pone:
Does signing a petition threaten my personal privacy?
We believe that the integrity of this petition information system is a fundamental part of what we have to offer.
Any information you provide for public viewing on a petition signatures page is accessible by anyone on the Internet. Please exercise normal caution in making your personal information public, as you would with public information on your own web page, or any other.
Information you provide confidentially, such as a hidden email address, is automatically stored in a secure area, accessible only by Artifice technical staff, for petition administration and validation purposes only.
For additional details, including the use of cookies by our advertising management system, please see our official Privacy Policy.
Donde indican que todos los datos que se expongan, serán visibles en Internet. Así que por ahora tenemos 3677 nombres con DNI, y poblaciones de manera pública. ¿No vulnera esto el derecho y tratamiento de los datos personales?, ¿son conscientes todos los firmantes del manifiesto de que están dejando un rastro fijo en internet con sus datos personales?

03 diciembre 2009
Social media manager; ¿lujo o necesidad?
Parece que actualmente, este pérfil está muy solicitado, puede observarse su demanda en diversas webs de empleo.
El objetivo de un social media manager es diseñar una estrategia en Internet para su empresa o clientes, de la mano de las altas esferas para que tenga éxito a medio largo plazo. Esta definicion se asemeja mucho a la función de un CISO, en el cual su estrategia y consecución de objetivos -presupuesto- depende en gran parte del CIO o CEO. Por ello, parece que el éxito de un social media manager no dependerá en gran medida de su profesionalidad, sino de la visión y valoración por parte de los directivos de la empresa en cuanto a su estrategia en Internet.
¿Se podrán permitir las compañías un perfil propio como "social media manager" o estára integrado dentro de otros roles?, el tiempo lo dirá. Lo que si ha dicho por ahora es; social media manager, un nuevo perfil profesional en Internet.
01 diciembre 2009
El término hacker II

El ministerio de justicia algo ha aprendido, esperemos ver a los periodistas cambiar también en este sentido.
25 noviembre 2009
¿Cómo aprender a programar?
Código de Google OS.
--------------------------------------------------------------------------------------
GOOGLE_ACCOUNTS_URL = 'https://www.google.com/accounts'
LOGIN_SOURCE = 'test_harness'
class CookieCollectorRedirectHandler(urllib2.HTTPRedirectHandler):
def __init__(self):
self.__cookie_headers = []
@property
def cookie_headers(self):
return self.__cookie_headers
def http_error_302(self, req, fp, code, msg, headers):
self.__cookie_headers.extend(fp.info().getallmatchingheaders('Set-Cookie'))
result = urllib2.HTTPRedirectHandler.http_error_302(self, req, fp,
code, msg, headers)
return result
def Authenticate(email, password):
opener = urllib2.build_opener()
payload = urllib.urlencode({'Email': email,
'Passwd': password,
'PersistentCookie': 'true',
'accountType' : 'HOSTED_OR_GOOGLE',
'source' : LOGIN_SOURCE})
request = urllib2.Request(GOOGLE_ACCOUNTS_URL + '/ClientLogin', payload)
response = opener.open(request)
data = response.read().rstrip()
# Convert the SID=xxx\nLSID=yyy\n response into a dict.
l = [p.split('=') for p in data.split('\n')]
cookies = dict((i[0], i[1]) for i in l)
payload = urllib.urlencode({'SID': cookies['SID'],
'LSID': cookies['LSID'],
'source': LOGIN_SOURCE,
'service': 'gaia'})
request = urllib2.Request(GOOGLE_ACCOUNTS_URL + '/IssueAuthToken', payload)
response = opener.open(request)
--------------------------------------------------------------------------------------
class PamClient {
public:
/*
* Struct representing the username / password. This is assumed to
* be passed to the callback function
*/
struct UserCredentials {
std::string username;
std::string password;
};
/*
* Calls pam_start and initializes the pam environment
*/
explicit PamClient(UserCredentials* user_credentials);
/*
* Calls pam_end and frees memory
*/
virtual ~PamClient();
/*
* Starts the authentication loop. This initiates the call to the
* pam library and back to the conversation callback before returning
* Returns true on success, false on error
*/
bool Authenticate();
/*
* Sets the credentials obtained from authenticate and starts a session
* with the pam library
*/
bool StartSession();
Y sobre todo, ten paciencia.
Relacionado.
08 noviembre 2009
¿Cómo protegernos de los peligros de Internet?
Cómo protegernos de los peligros de Internet, un libro de seguridad informática que podria leer tu madre.
04 octubre 2009
Samba, samba, samba..!!!!

Al mas puro estilo de Steve Ballmer
Os recuerdo que samba es un software Open Source/Free que proporciona servicios de fichero e impresión a clientes SMB/CIFS. Permite la interoperabillidad entre servidores Linux/Unix y clientes Windows.
Samba nos proporciona a los administradores de sistemas flexibilidad y libertad en términos de configuración y elección de nuestros sistemas y equipamiento.
¿Gritarían en la conferencia SAMBA, SAMBA, SAMBA!!!!!?
30 septiembre 2009
Las 10 mejores prácticas de adopción estratégica del Open Source en la empresa (Software Libre)
Toda empresa que este pensando en adoptar las bondades del Open Source debería considerar un enfoque estratégico siguiendo un conjunto de "buenas prácticas":
- Elige el componente correcto para el nivel adecuado de la infraestructura tecnológica.
- Realiza un cálculo del TCO.
- Define tu estrategia de soporte preferida del Open Source.
- Mejora las capacidades de administración del ciclo de vida de las aplicaciones.
- Analiza los proyectos para identificar riesgos en las licencias.
- Evalua el Open Source antes de seleccionar opciones comerciales.
- Integra e industrializa la administración de los despliegues de Open Source.
- Adopta prácticas de desarrollo ágil en conjunción con el Open Source.
- Define una política consistente del Open Source en la compañía.
- Participa en comunidades clave del Open Source.
Estudio elaborado por Forrester.
02 septiembre 2009
Como crear un buen entorno de administradores de sistemas
Traducido también al castellano.
13 agosto 2009
Impulsa tu carrera contribuyendo en un proyecto Open Source
(http://theworkinggeek.com)
En relación al post que escribí hace meses "No hagas de becario, participa en un proyecto Open Source". Os dejo con esta interesante lectura; cómo impulsar tu carrera contribuyendo en proyectos Open Source.
31 julio 2009
30 junio 2009
sysadmin VS developers
Pero no estoy solo. Hay quien siente y padece igual que nosotros, nos gusta aprender entre nosotros, y conocer nuevas vías de hacer tareas que hasta entonces hacías de otro modo. Es un sitio de sysadmins, un lugar donde compartir tus experiencias y dudas, un sitio exclusivo donde te comprenden, llamémosle House of Sysadmins.
Fuera de él, y lejos de tus compañeros de equipo, huele a hostilidad e incomprensión por ambas partes. Departamentos comerciales que debes quitarles permisos y no entienden por qué. Equipos de desarrollo cuyas necesidades crecen más que un log descontrolado. Por razones políticas o prácticas, la tecnología y nuestros colegas pueden sufrir de nuestros prejuicios, para bien o
para mal, estos prejuicios afectan en la manera que realizamos nuestro trabajo.

Los desarrolladores (aka programadores) provienen de la misma familia geek que nosotros, pero no siempre nos integramos bien. Hubo un tiempo en el cual los programadores tuvieron que ser sus propios sysadmins y nosotros los sysadmins eramos desarrolladores de nuestras pequeñas herramientas.
Luego, ambos, escribíamos código para que las cosas funcionasen, pero estos días ya han pasado. Los tiempos han cambiado y ahora hacemos el trabajo que define nuestras profesiones. Aunque ambos grupos compartimos esas intensas guerras, donde a veces las cosas se tornan un poco tensas y otras estamos en periodos de calma.
Así que, ahora cabe preguntarnos, ¿qué podemos hacer al respecto?, ¿qué hemos aprendido en todos estos años en la administración de sistemas?
El punto más obvio es que "no queremos resolver más de 2 veces el mismo problema". En lugar de adoptar nuestra vieja y no productiva actitud de confrontación, podemos encararlo con maduridad. Deja atrás esas guerras del pasado intentando demostrar tú productividad. Tú sabes lo que haces y cómo lo haces, no gastes el tiempo demostrándolo a la gente.
Un componente importante en el soporte a los desarrolladores es la empatía. Recuerda que los desarrolladores no tienen la visibilidad que nosotros tenemos de todos los sistemas que administramos, cómo están las redes, accesos...
Un ejemplo: hace poco cuando intentaba solucionar un problema de directorios en un servidor apache, pregunté al desarrollador los aliases que necesitaba mapear a qué directorios. Ni se me ocurrio pensar que este usuario ni siquiera tenía login en la máquina, por lo que no sabía ni lo que era el httpd.conf. Todavía le hice la misma pregunta unas tres veces hasta que me dí cuenta de que no respondía a mi pregunta no porque no quisiera, sino porque no tenía ni idea de lo que le estaba hablando. Ten empatía con tus desarrolladores.
Cuando te enfrentes a un problema hazlo de manera elegante y encuentra la solución más práctica, entonces impleméntalo. No gastes mucho tiempo divagando sobre aspectos que al final no son importantes. Ir por el camino largo por seguir nuestros principos es ridículo.
Por ejemplo, si te gusta el Open Source, perfecto. Pero si no encaja en un proyecto, sigue y elige la solución más adecuada aún si es una solución propietaria. Tus desarrolladores tienen diferentes fechas de entrega que tú. Tienen fechas de entrega muy estrictas para sus proyectos y ellos no tienen la suerte de usar el enfoque ZEN que tenemos nosotros, todos sabeis de lo que hablo. Ellos apreciarán que tu trabajo sea rápido y efectivo.
Y esto nos lleva a otro punto, los desarrolladores son nuestros clientes. Somos tan responsables de ellos como lo es un camarero de sus clientes. Les damos la información correcta de lo que está y no está disponible. Conseguimos aquello que necesitan e intentamos que sea con una buena experiencia. Se trata de un servicio al consumidor.
En un bar, si tienes un mal servicio no volverás. Pero nuestros desarrolladores no tienen elección. OK, OK, estupendo puedes buscar las razones para no proporcionarles un buen servicio al consumidor, es muy tentativo pero existen unos pequeños problemas con este argumento:
- Es una respuesta particularmente no productiva. La conversación ni el trabajo avanza. Haz el trabajo en lugar de quejarte de como se deberían hacer.
- Además, te estás hiriendo a tí mismo. Tendrás que trabajar con esa persona durante días, meses y posiblemente años. Adoptar un enfoque de confrontación sólo te devolverá la misma actitud. Tendrás una mala experiencia cada vez que tengas que tratar con ese usuario o su equipo.
- Mas allá de todo esto, es tu responsabilidad. Nosotros los administradores de sistemas tenemos clientes internos y externos. Existen muchos roles dentro del campo de IT . Cuando nuestros clientes están satisfechos ganaremos en reputación y proporcionaremos todo lo necesario para aportar verdadero valor a la empresa que paga por nuestros servicios.
No sigais nunca el ejemplo de este video:
Artículo original.
25 junio 2009
El nuevo paradigma de trabajo del administrador de sistemas
"Ahora se trata de servicio, el mundo de hardware lo dejamos para otros".
Todavía somos necesarios, afirman, pero ya no hará falta vernos trabajar en los CPDs. Ahora usaremos herramientas a distancia para medir capacidades, seguridad y rendimientos.
¿Pero que es el cloud?, según Gartner, el cloud tiene 5 atributos; se basa en servicios, es escalable y flexible, capaz de añadir y eliminar infraestructura cuando se necesita. Utiliza infraestructuras compartidas para construir economías de escala. Y usa tecnologías de Internet.
Algunas compañías no quieren compartir su infraestructura y por ello construyen sus propias clouds privadas. Otros se basan en el precio y estan dispuestos a compartir la infraestructura con otros compañías en económicas clouds públicas.
Artículo original de Internetnews
24 mayo 2009
Nomina el mejor proyecto Open Source
Yo ya vote mi proyecto preferido. Truecrypt. Un software indispensable si quieres mantener tus datos a salvo de curiosos.
Puedes votar tantos como quieras en las diferentes categorías. Apoya tu proyecto Open Source así de fácil.
20 mayo 2009
La ironía del "missing link" [OFFTOPIC]
¿La ironía de todo esto?
La campaña de marketing les ha ido tan bien, que hasta google ha puesto un logo haciendo referencia a la noticia.

Si pinchamos sobre la imagen de google que hace referencia al "missing link" y pinchamos sobre el primer resultado que muestra, SORPRESA!!!!


Un auténtico missing link NOT FOUND.
18 mayo 2009
10 grandes herramientas para cualquier sistema GNU/Linux
- Encuentra un comando con apropos (o whereis)
- Ejecuta cálculos en la línea de comandos con dc (o python)
- Encuentra procesos con pgrep (en lugar de ps aux | grep)
- Genera passwords seguras con pwgen (y guardalas en keepass)
- Monitoriza varios archivos con multitail
- Comprime y extrae cualquier cosa con 7zip
- Lee archivos comprimidos con zcat
- Surfea la web a pelo con cURL
- SQLite: Una base de datos para la mayoría de ocasiones
- Un completo web server y sin complicaciones: XAMPP
- Un servidor web muuy ligero: lighttpd
06 mayo 2009
Las 10 reglas de oro de un sysadmin
Revisando unas diapositivas sobre Comunicación he visto unas que parecen escritas por y para un administrador de sistemas. Sólo ha hecho falta una mínima adaptación. Estas son las 10 reglas de oro de un sysadmin:
- Camina sin miedo. Habla sin vacilar.
- Creáte un estilo único de pensamiento.
- Habla sin decir una palabra!
- Compenetra la comunicación con tu usuario.
- Sube el nivel de juego en el trabajo.
- Momentos de verdad...
- E-Mail: ¿Cómo de electrónicamente dependiente eres?
- Preparalo, Persíguelo, Síguelo a través de cualquier obstaculo = Exito.
- Estate plenamente convencido de lo que dices: las palabras son como misiles dirigidos por el calor.
- ¡Junta y sigue todos esos consejos!
20 abril 2009
Innovación en tiempos de crisis
Por ello, para evitar que todas aquellas empresas y colectivos que por motivos económicos no puedan permitirse el lujo de tener en plantilla a un administrador de sistemas, desde HoS hemos lanzado un nuevo servicio de proyectos IT.
Los tiempos actuales obligan a apretarse el bolsillo pero no por eso a dejar de aprovechar todas las oportunidades que nos ofrecen las nuevas tecnologías. Planteamos un nuevo modelo de servicio basado en la confianza. Confíe en nosotros para ayudarle en sus proyectos, y sí está satisfecho con los servicios ofrecidos, seguro que nos lo agredecen.
Contacte con nosotros para más información.
14 abril 2009
TIP: Testea de manera sencilla el rendimiento de una aplicación web
Requisitos:
-Firebug
-YSlow
1. Haz click en el icono de YSlow en la barra inferior derecha de firefox. Se abrirá la consola de firebug con el tab de YSlow como en la imagen.
3. Generará un informe en pantalla con todos los consejos necesarios para optimizar tu sitio. Si necesitas una versión impresa de este informe de rendimiento, haz click en el enlace "tools" y "printable view" como en la imagen.