Showing posts with label Conocimiento. Show all posts
Showing posts with label Conocimiento. Show all posts

Monday, January 18, 2016

Problemas.

La vida es la suma de todo lo que sucede y de lo que nosotros y el colectivo, tenemos conocimiento. Parte de la vida, consiste en problemas; son parte de ella y son inevitables; esto no es una opinión ni una cuestión democrática... los problemas existen y ya. Así como en la vida, en el campo de la tecnología también tenemos problemas. Y respecto a ellos, podemos: 

• no hacer nada.
• dejar al problema ser, si es leve.
• pedir ayuda.
• esperar que alguien más lo resuelva.
• reiniciar la aplicación o la PC - a veces esto funciona.
• formatear la PC para ahorrarnos la frustración y evitar buscar la solución.
• comprar otra PC -como algunos de mis amigos hacen.
• hacer distro hopping.
• pagar por soporte. 
• hacer muchos clicks cuando la PC se traba y pretender que estamos resolviendo el problema mientras la PC toma su tiempo para resolver el problema por su cuenta (es un equivalente a orar en el mundo real).
• DIY: do it yourself.

Yo opto por el DIY; se requiere un poco de pelotas extra, el hacer las cosas por cuenta propia. Esto no te hace "más especial" o "úniko", pero te aporta cosas buenas como ser humano. Te da paciencia, ejercita tu mente, te vuelve más resiliente a las frustraciones, te hace pensar de forma no-convencional, simplificar las cosas, descomponer los problemas, pensar en distintas maneras de resolver un mismo problema, te vuelve recursivo, creativo, pragmático, organizado, etc. Te vuelve  un poco menos lento y dependiente de otros. 

Ahora, tener la buena voluntad no basta. Estoy seguro que más de alguna vez, muchos de nosotros tuvimos las intenciones de resolver un problema con nuestras distros alguna vez y luchamos hasta que nos venció. Esto pasa, no porque el problema sea imposible de resolver (sí existen problemas imposibles, pero son muy inusuales), sino porque nos hace falta método, experiencia y conocimiento necesarios para resolverlo. 

Para todo qué, hay un cómo. Esta entrada no es un manual técnico como tal, sino que constituye un resumen de lo que he aprendido en mi vida laboral como técnico en hardware.


Para resolver un problema, primero tenés que entender el problema.

Una de las cosas que quiene trabajamos en esta industria aprendemos con el tiempo, la práctica, los clientes y la experiencia es eso: identificar el problema es lo primero. Esencialmente se trata de procurar un diagnóstico correcto del problema, para proveer la solución efectiva. No se puede poner la cola al burro si no se sabe dónde está el jodido burro. 

Sólo este primer paso involucra un montón de cosas de qué hablar. Tal vez luego ampliemos la explicación. 


Una vez hemos identificado el problema, tomamos acciones correctivas.

Una vez sabemos cuál es el pedo, sus causas e implicaciones, buscamos las soluciones; puede que ya existan soluciones a él; puede que haya una sola o varias. Lo importante es, tomar acción e implementar las soluciones que tenemos disponibles. Este paso no es realizable, o si lo es, no es eficiente ni efectivo si no hemos cumplido con el anterior. Ojo.


Una vez resuelto el problema, implementamos acciones preventivas.

Curarse en salud. Esto varía según la causa del problema y el control que tenemos de las variables del entorno: si tuvimos un un problema causado por un controlador de video y resolvimos usando otro controlador, pues será inevitable que surja el mismo problema si nos vemos forzados a reinstalar el mismo sistema operativo (aunque aquí ya no sería tan problema, porque tenemos conocimiento previo, y resolverlo debería entonces, implicar menos tiempo y esfuerzos). 

Las acciones preventivas pueden ser tan simples como anotar las cosas que hicimos para resolver el problema y guardarlas en un lugar seguro (el artículo anterior es una forma de acción preventiva que tomé respecto a un reto/problema que resolví), hasta reportar un bug, educar a un usuario, crear documentación que antes no existía al respecto, cambiar código fuente, implementar un proceso nuevo, replantear un algoritmo, etc. Cualquier cosa que te ayude a evitar en el mejor de los casos o mitigarlo en caso de reincidencia a futuro.


Cierre. 

El closure es algo necesario; los cierres implican el fin de un ciclo y el inicio de otro. Hacen bien tanto mental como emocionalmente. En todas las culturas, sucesos importantes, celebraciones y demás eventos, y cada uno tiene un cierre. Ayuda al individuo para recuperar el sentido de perspectiva respecto al tiempo y el espacio. Personalmente, una vez haya resuelto un problema o no haya podido resolverle (de nuevo, no todo puede resolverse), hago una evaluación personal: ¿qué aprendí de esto? ¿cómo me beneficio de ello? Al final, ganar o perder no importa tanto como sacar lo mejor de ambas circunstancias para uno y los demás. Perder es ganar si uno es capaz de pensar en términos de funcionalidad; ganar es perder si fuera del sentimiento de logro uno no aprende nada de la circunstancia. Una vez has reconocido las lecciones aprendidas, es hora de cerrar capítulo y moverse.

Por ahora eso es todo. Como dije antes, esta no es un manual detallado  como una descripción a grandes rasgos de un proceso que nos puede ayudar a todos a mejorar nuestras habilidades de resolución en GNU/Linux y por qué no, la vida en general :)

*Salvadoreñismo: achicopalarse.

Saturday, January 16, 2016

Manipulando I/O con pipelines.

Advertencia:

• Recomiendo leer las entradas de $man  $cat, $watch, $history y $less antes de seguir leyendo esto.
• He recomendado previamente wikear e investigar acerca del concepto I/O. Es importante que veamos todas las interacciones con nuestras PCs (y yo me atrevo a incluir, la vida en general) de esa forma: 

Input | Output

Entrada | Salida

O sea: 

Causa | Efecto
Instrucciones | Resultados.

Mientras entendamos esto, todo bien; caso contrario, te toca leer manuales externos porque a este punto, asumimos que estamos claros con este concepto y evitaremos elaborar.

Intro:

He instalado VirtualBox en un servidor. Me conecto al servidor desde mis otros equipos desde la CLI (eso es un cuento para luego... ahorita no joven). Hice una pausa en este proyecto por un par de semanas porque obtuve una netbook de segunda mano y he pasado jugando con Arch en ella. Para configurar una virtualbox en Terminal, hay que hacer varias cosas y apenas las recordaba hoy, enero/16; a grandes rasgos: crear una nueva virtual machine, asignarle x cores del cpu, x cantidad de RAM y VRAM, crear un HDD virtual, un ODD virtual, agregar controlador, etc.

Viendo a futuro, y contando con que planeo usar otra unidad de arranque para el servidor, o pueda cagarme en algo (cosa que hago a menudo :v ), probablemente necesite reinstalar virtualbox, o al menos borrar una VM, clonar, crear, restaurar otra. Por ello, quiero guardar un resumen de los comandos usados (como lo hice al aprender a instalar Arch recientemente); a modo de referencia.

**** Resumen ****

Necesito extraer los comandos que he usado para configurar la VM dentro del servidor. El comando (el principal) para gestionar Virtual Machines dentro de VirtualBox en la CLI es:

$vboxmanage
(o sea, "virtualbox manage": gestionar caja virtual). Recuerdo que lo he usado una, y otra, y otra**10 vez). Tuve una idea: buscar todas las instancias de ese comando, copiarlas y pegarlas en un documento de texto que luego puedo guardar en mi netbook u otro equipo. Para ello:

$ history | grep -i vboxmanage > vbox_resumen-de-comandos.txt


Y listo. Si has revisado las entradas antes mencionadas, sobran las explicaciones. Una vez creado el documento, lo abro:

$ less  vbox_resumen-de-comandos.txt

Y veo  todas las instancias que he usado del mismo comando (algunos de ellos, repetidos o con "typos"). Luego de eso, es posible editar  y depurar los errores (con gedit, leafpad, nano, etc.); incluso, puedo agregar notas aclaratorias. Creo tener una entrada antigua sobre editores de texto en este blog; te invito a buscarla. Eso es todo; gracias por leer :D

History: registro de comandos.

A veces olvido los comandos que he usado. Cuando esto pasa, escribo:

$ history

Con esto veo los comandos ejecutados por el usuario actual. Si quiero saber el usuario conectado, hago:

$ whoami
(como en who am I?)

A veces opero como root; entonces para ver los comandos ejecutados como root, hago esto:

$ su root
(ingreso password)
# history
(recordemos que el #, signo numeral, hash o hashtag, representa a root)


Y ellos aparecen. Si nuestro historial de comandos es extenso, apenas veremos los comandos recientes en panatalla; dependiendo de la Terminal desde la cual ejecutamos esto, a veces el scrolling con el mouse o la barra de scrolling vertical no funcionan; entonces nos apoyamos de otro comando: less, capaz de recibir el input de history  por medio de una pipeline (se dice "paip-lain"; hemos mencionado esto antes a grandes rasgos y te invitamos volver a leer esa entrada para aprender/recordar) y procesarlo de forma navegable. Recordemos el asunto del I/O:

input | output

entrada | salida



El asunto suena complejo, pero es tan simple como escribir esto:


$ history | less
y listo. Sin complicarnos. Vas a poder navegar a lo largo de todos los comandos (enumerados) que has escrito.

El mejor ejemplo que podemos usar, es aplicar la pipeline a tu PC. Adelante y hasta luego :)


EDITADO, enero/17, 00:44 horas, San Salvador: el colega Carlos Egüez mencionaba hace una hora en nuestro grupo, algo que he olvidado incluir:

Control + R en el prompt regular de Terminal: busca interactivamente un comando y muestra resultados a lo "auto completar".

Seguido de
$ history | less

el comando "history" enumera los resultados; una vez has identificado el comando que vas a reutilizar, es posible hacer esto:

$ !n 
donde n es el numeral que identifica al comando deseado. Por ejemplo, un fragmento de mis comandos:

486  screenfetch
 487  scrot
 488  clear

$ !486
es lo mismo que gatillar:

$ screenfetch.

Gracias Carlos por el feedback :D es exactamente esto para lo cual debe de existir la comunidad.

Less: leer output con calma.

Te aconsejamos wikear los conceptos "input" y "output", o "entrada" y "salida" respectivamente. Para que la PC haga algo, hay que ordenarle por medio de comandos, clicks, enter, etc. cada vez que lo hacemos, le damos un input; esta analiza/procesa/opera/transforma/computa/se coge al input y usualmente luego,  te muestra/vomita/escupe/caga la respuesta en la cara: esto es el output.

Imaginemos que queremos leer un documento, tarea, reporte, chat sexual travieso o cualquier cosa que tengamos guardada en la PC. Como lo vimos antes, podemos usar

$ cat nombre_del_asunto

$ cat toma el input, busca el archivo; si lo encuentra, te lo muestra; caso contrario te saca el dedo y dice que no lo encuentra. En ambos casos hay input-output. Digamos que todo va bien; el resultado se mira a grandes rasgos: 

output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output y listo.

Esto va muy bien si el documento es breve y tenemos un display con suficiente espacio vertical, y si hemos maximizado la ventana de Terminal. Cuando no es este el caso, veremos solamente el final del documento: 

$ cat derechos_universales_de_los_ortos_peludos

maldita sea, una idea incompleta... output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output este es apenas el culo de todo el documento... la cagaste, jaja.

Cuando esto sucede, mandamos a la mierda a $cat y usamos 

$ less 

quien permite navegar con las flechas (prefiero esto:  jode menos las manos y evita quemar tiempo innecesario al despegar una mano del teclado para usar el mouse) del teclado.

De nuevo:
$ less

Toma tu input (el nombre de un archivo de texto, script, incluso el output de otro comando... pero eso no lo veremos ahora) y te da el output de forma navegable; la Terminal cambia al "modo visual"; este "modo visual" es tomado de VI (se dice "vi ai", "uve i" un editor de texto legendario, usado por algunos programadores profesionales aun). Para salir de este modo, al igual que para salir de VI, presionamos "q" como en quit; y listo. Hay mucho para hablar al respecto de less; esto nos basta por el momento; te recomendamos #RTFM (read the fucking manual) para mayor info:

$ man less
$ less --help
((por cierto, ambos comandos mostrados arriba usan el "modo visual" de VI: "q" para salir)

Y listo.

Por cuestiones de eficiencia y practicidad, en lugar de poner un ejemplo, te invito a realizar este ejercicio: localizar las licencias GNU-GPL en el filesystem de tu distro para comparar el uso de cat y less; vas a notar la diferencia,
$ less es un comando muy flexible. La flexibidad es poder. Hasta luego :)

Thursday, January 14, 2016

Niveles Sayayín en Linux.

A grandes rasgos, tu nivel de Sayayín Linux, se define por tu experiencia en GNU/Linux:

Nula.

Hasta hace unos días, no sabía qué cojones es Linux y todavía no sé qué putas es la parte de la  "GNU"; ¿es la versión geek de la ONU? Por cierto, dónde putas está la tecla "any"?  

 

Primera vez: último día virgen. 

Después del despelote, conseguí una copia de una distro. La bajé torrenteada o vía descarga directa, descubrí que el Windows Media Player no sirve para quemar ISOs (de hecho, no sirve para mucho, a excepción de mostrarme las portadas de los álbumes de música que no tenían portada, porque obviamente me espía y se conecta al internet para darle mi identidad al gobierno estadounidense); alguien me dijo que podía instalar un sistema operativo en una USB y hasta en una micro SD... wow, ¡este siglo es una gran época para vivir!

Después aprendí a cambiar la secuencia de booteo de mi pc para evitar arrancar windows y poder correr el medio de instalación donde puse Linux. Seguí el wizard de instalación cuyo requisito mínumo es tener un IQ equivalente al de un periquito australiano, y listo: arranqué al escritorio.

Básica: n00b.

He usado Linux un par de veces, he hecho "distro hopping" y eso... sé un poco de Terminal... y la uso para poner mi escritorio bonito, pero la Terminal no es santo de mi agrado y mejor le pido a alguien que me dé la respuesta a problema que yo causo cuando no la sé. 

Logré instalar los drivers de mis dispositivos privativos, pude activar los botones para disminuir la luz en la pantalla de mi laptop. Descubrí que Outlook no es el único cliente de correo que existe; de hecho, descubrí qué significa la palabra "cliente" en el concepto "cliente de correo" y por deducción, en informática en general. Instalé Flash; ya puedo ver porno en internet y fapearme sin licencias propietarias... success!!! 

Como pingüino básico, necesito ayuda para resolver problemas.

A veces cuando tengo problemas, voy a FB y escribo en mayúsculas  "¡AYUDA!" para que me tiren la respuesta; si no me la dan, hago rabieta  y me regreso a Windows temporalmente o pruebo otra distro a ver si me corre mejor... y si no, uso otra, y otra... y así... creo que le llaman "distro hopping".

Intermedia: entusiasta.

He configurado Linux en distintos equipos (ahora entiendo que cada equipo y cada distro operan a veces de maneras diferentes); me siento cómodo usando la Terminal; sé cómo agregar repos no oficiales, e instalar programas desde los binarios o el código fuente. Sé leer, escribir, sumar, contar, atarme los zapatos y limpiarme el culito después de ir al baño, así que soy capaz de leer y entender un mensaje de error, una advertencia o al menos, localizar información sobre los problemas y sé dónde buscar info y respuestas para resolverlos. Descubrí las man pages, y los foros y documentación oficial de mi distro; ellos son mi punto de partida cuando necesito ayuda. Voy a Gentoo o la Ubuntu o Arch Wiki a buscar respuestas, sin importar si uso Fedora, Kali o Mint, porque sé que ahí las encontraré. He aprendido un par de buenas prácticas de seguridad y las aplico. He configurado una distro desde el sistema base hasta dejarla como quiero. Lo he hecho varias veces. Podría incluso guardar mis snapshots para reutilizarlos de ser necesarios. Comparto mis configuraciones cool con otros unixeros (sé cuál es la diferencia entre Unixero y Linuxero).

Como pingüino intermedio, sé cómo buscar soluciones a los problemas. 
No estoy  seguro si lo que he aprendido me vuelve un "usuario intermedio", porque entiendo que, como en artes marciales "un cinta negra es un cinta blanca que nunca se rindió", y que, como dice Hatsumi Sensei, "everything is basics" (todo a partir de las reglas y principios básicos). Sobretodo, tengo el conocimiento y la decencia suficiente para saber que instalar Conky o usar Android no cuentan como "tengo experiencia con GNU/Linux" para entrar al nivel básico en esta lista :v turn down for what???!!!!

Avanzado.

Sé resolver problemas, personalizar mi equipo en aspectos técnicos (lo estético ya está fuera de discusión aquí porque es una cuestión de gustos personales y opiniones, no algo absoluto), soy capaz de monitorear y entender procesos, elaborar reportes administrativos, determinar puntos de falla, y administrar mi(s) equipo(s) de forma remota; desarrollo mis propios scripts para automatizar tareas, uso versiones Alphas y Betas para aprender y descubrir aspectos de rendimiento más que de apariencia; sé cómo migrar datos en mi red de forma segura. 

De hecho, laboro en el área: Configuro y administro positivos en una red, entiendo cuál el concepto verdadero de "hacking" y sé que es mucho más amplio que el concepto que los niños rata tienen. Corro servidores de producción, hago pruebas de seguridad, sé cómo cuidar mi red y a mis usuarios. 
Evito tomar screenshots de operaciones internas porque sé que eso es confidencial. No me mato peleando en FB porque alguien menciona a Windows o Mac; estoy ocupado administrando la red/base de datos/desarrollando código/gestionando usuarios/haciendo seguridad forense, etc.

Como pingüino avanzado, trabajo para resolver problemas en mi equipo y mi red de usuarios.

Contribuyente.

Aporto a la comunidad ya sea con código propio o auditando código ajeno, reporte de bugs, soluciones, modero foros, mantengo paquetes en una distro, he sido nombrado "usuario confiable" por un proyecto, audito cambios, trabajo con gente de forma local o remota para desarrollar proyectos y darlos a la comunidad.

Como pingüino contribuyente, aporto para que otros puedan obtener ayuda y resolver sus problemas.
 

Creador.

Hago software que causa impacto en la sociedad. Inicio mi propia distro, DE, Framework, plataforma móvil, plataforma en la nube, herramietntas de gestión. Lidero un proyecto. Realizo ideas.

Como pingüino creador, yo creo soluciones a los problemas. 

NOTA: pueden faltar o sobrar cosas y niveles incluso, si sos más detallado y técnico. Esto es, medio en serio, medio cómico y su objetivo es, invitarte a la auto-evaluación objetiva: sin sentimentalismos, ni acusasiones, ni adulaciones, para que podás identificar dónde estás parado y hacia dónde podés ir... si te lo proponés y trabajás por ello. Saludos :)

Wednesday, January 13, 2016

Aprender GNU/Linux de forma fácil y rápida.

La entrada Soy nuevo en GNU/Linux ¿cuál distro me recomiendan? Parte I no era la solución mágica que algunos esperaban; pero es más un intento de guía personal. Creo firmemente que el individuo debe de aprender y crecer a nivel personal, no sólo técnico o intelectual. En la medida que aprendés y transferís principios de una disciplina a otra, tu criterio se amplía en lugar de volverse más angosto. 
Abrí la mente, abandoná el ego; 
Tomá lo bueno, desechá lo malo.
No puedo obligarte a pensar, sentir, ser y vivir como yo, pero desde fuera de un problema las cosas se miran de forma distinta y uno puede notar detalles que, difícilmente se ven cuando uno está sumergido en el problema: uno no sabe lo que no sabe.
  1. Uno no sabe lo que no sabe (uno tiene un problema y no sabe/lo considera problema).
  2. Uno sabe que hay algo que no sabe (reconoce que hay un problema).
  3. Uno descubre qué es eso que no sabe (de a poco, define el problema)
  4. Uno aprende al respecto (conceptos, elementos, dinámicas, relaciones, principios, reglas; se apoya en gente que sabe, expertos, etc).
  5. Uno investiga y conoce más del tema. Esto ayuda a delimitar el problema y a entenderlo mejor. Se establece un proceso para resolver el problema.
  6. Uno aplica lo aprendido metódicamente (resolución del problema).
  7. Uno repite pasos hasta resolver el problema (iteración).
  8. Uno observa, mide resultados y evalúa,  calibra, hace ajustes para la siguiente vez (feedback, iteración y depuración del proceso que se había definido).
  9. Uno resuelve más problemas con el nuevo conocimiento (se gana experiencia, se especializa). 
  10. Uno aporta nuevas ideas, procesos, soluciones (uno se vuelve especialista, experto)
  11. Uno comparte y ayuda a otros a resolver los problemas (replica el modelo y la comunidad, sea del carácter que sea, se beneficia).
  12. Todos tienen un orgasmo infinito; Dennis Ritchie, Richard Stallman y Linus Torvalds sonríen complacidos mientras Bill Gates y Steve Jobs lloran por la irritación en la entrepierna.
¿Qué putas tiene que ver esta mierda con GNU/Linux? Todo, mi joven saltamontes, todo.  Aprender, des-aprender, re-aprender.

  • Aprender algo útil.
  • Des-aprender hábitos perjudiciales o ineficientes.
  • Re-aprender prácticas útiles que se dejaron atrás.
Saludos :)

Soy nuevo en GNU/Linux ¿cuál distro me recomiendan? Parte I

Todos nos preguntamos eso al inicio. 

Cuando escuché de GNU/Linux por primera vez, pensé que era una sola cosa, una sola organización, un escritorio, un set de aplicaciones, uno solo. 

Ahora entiendo que Linux es un sistema (no sólo informático sino también) orgánico; como tal es entero, completo en sí mismo; y a su vez, diverso. Es la síntesis de miles de esfuerzos globales. Hace tres-cuatro años, mi interés primordial era: ¿cómo putas lo instalo? 

Me documenté y llegué a varios blogs -angloparlantes; enfatizo el hecho de que se encuentra mucha más info en ese idioma; es el latín moderno- que instruían cómo instalarlo. Ya sabía como instalar Windows desde una USB, así que el tema no fue completamente ajeno. En las instrucciones, el primer paso implícito en todos los blogs, era:
Escogé tu distro
Yo: ¿Ah? ¿Qué putas es una distro?
Cuando se trata de conocimiento y aprendizaje, usualmente una sola pregunta no se resuelve con una respuesta, sino haciendo más preguntas. Leí sobre las distros y me fascinó que cada una lucía diferente a la otra, y que incluso una misma podía tener distintas apariencias y usos. Entonces escuché de "distros estables", "distros a la vanguardia", "distros minimalistas", "distros amigables", "distros esotéricas", etc., etc., etc. Vi screenshots y algunos me parecían "aburridos", otros me resultaban una imitación de Windows, otras una copia de Mac OS; otras me parecían increíbles y fascinantes, y así. 

Estoy seguro que vos también has pasado por esto y también te hiciste la pregunta del millón:

¿Cuál distro instalo?

Si andás en las redes sociales y sos miembro de grupos de GNU/Linux, habrás visto la misma pregunta hecha varias veces al día en cada grupo. Todos los días llega un primerizo/a porque escuchó maravillas de Linux, y se animó a probarlo. Pero descubre que  el tema de Linux es un poco más extenso, porque tiene más opciones versus Mac OS y Windows [esto es porque Linux es flexible y modular; pensá en GNU/Linux como un juego de Lego; como puede ser un modelo F1 ya armado, puede ser una cubeta llena de legos listos para que vos creés lo que se te dé la gana]. 

Cuando aparece un "nuevo", quienes tenemos ya un tiempo usando GNU/Linux, de alguna forma sentimos algo de responsabilidad por ellos; todos fuimos primerizos. Si practicaste artes marciales o un deporte en equipo y llegaba gente nueva de vez en cuando, entenderás la importancia de esto. GNU/Linux es lo que es porque alguien (Linus) inició la kernel, y después otro llegaron otras leyendas míticas y organizaciones que aportaron a la causa. Ayudar es bueno. Pero creo que,

... necesitamos replantearnos lo que entendemos por ayuda. Veamos el asunto desde dos ángulos:


• Muchas veces, la ayuda que los n00bs pedimos, se trata de que alguien más busque algo por nosotros. O sea, pedimos cínicamente que nos hagan la tarea; tal vez por simple pereza o porque no sabemos dónde buscar, qué preguntar, cómo preguntarlo; entonces buscamos a un humano que decodifique nuestras dudas.

• Por otro lado, la ayuda que a veces damos a otros n00bs, se limita a tirar respuestas aleatorias, basadas en juicios y opiniones personales, como si se tratase de un juego Pokemon: 
¡Pikachu, instala Fedora XFCE!
¡Estás bobo, usa KDE mi Charmander, quedará "ermozo"!
Tontuelithoss ustedes no saben; uso mi carta de Manjaro turbo cargado con mil widgets de Conky... también te va a correr en una netbook con 1GB de RAM... Fatality :v :v :v
Consideremos esto:

• Pedir ayuda implica que definás primero el problema que necesita solución.
• Pedir ayuda no significa "háganme la tarea... sóplenme la respuesta".
• Pedir ayuda tampoco es igual a "decidan por mí por favor".

• Dar ayuda no significa escupir respuestas como dogmas religiosos inamovibles. Esto no es un concurso de preguntas y no vas a ganar una Range Rover por dar más respuestas correctas como cotorra.
• Dar ayuda no significa tomar mis opiniones como verdades absolutas e imponerlas a otros.
• Lo que me sirve a mí, puede servirle a alguien más, o tal vez pueda causarle más problemas (esto aplica cuando alguien tiene una netbook y le sugieren que instale Fedora con Gnome 3.x y le ponga Compiz para tener los workspaces como un dado 3-D.
• Lo que me gusta a mí puede gustarle a alguien más o parecerle caca mal cagada.

Pedir y dar ayuda debe de ser útil para todos: todos deberíamos de aprender de ello; tanto el que la solicita, como el que la da, como los espectadores.

Escribí esta primera parte, para que reflexionemos y pensemos en términos de eficiencia y optimización de recursos: No hay pregunta estúpida; hacer la misma pregunta que se hizo literalmente miles de veces antes, tampoco te hace estúpido. Seamos sensatos: considerá si otros deberían darte de su tiempo para responder una pregunta hecha mil veces antes, cuando la respuestá está a unos clicks en un motor de búsqueda. Si pudiste escribir en un  grupo social para preguntar algo que todos nos preguntamos antes, estoy seguro que también sos capaz  de encontrar la respuesta sin tener que crear otra thread y desperdiciar espacio, quitar visibilidad a los posts ajenos que pueden ser más urgentes, y gastar el tiempo ajeno. 

Pensalo sin sentimentalismos, sin ponerte a la defensiva; dejá eso para la gente que no crece como persona ni como profesionales. Mirá al  espejo, tomá lo bueno, desechá  lo malo. Esto no es una regañada o una bofetada ni un insulto, es un llamado a tu inteligencia. Sé que del otro lado del internet hay alguien inteligente -si has leído hasta acá, sos lo suficientemente paciente y dispuesto a aprender; y  eso es lo esencial para crecer en GNU/Linux y resolver problemas en general :)

En la segunda parte te compartiré algunos criterios objetivos a considerar a la hora de escoger una distro. Pero me gustaría que compartás este artículo con tus amigos Linuxeros. Entre más seamos quienes practicamos el buen uso de los recursos, podremos llegar a más gente y ayudarnos de forma más sana, efectiva, eficiente.

Iniciativa, proactividad, autonomía, sentido común, independencia, autogestión, autodidáctica.


Hasta entonces, suerte :D

Sunday, December 27, 2015

Comando watch: ejecución de programas periódicamente

NOTA: Como lo mencionaba antes, los artículos que compartiré de ahora en adelante pueden o no ser adecuados para novatos; porque requieren un poco más de esfuerzo y conocimiento para previo para entenderlos. Este artículo habla de  dos cosas: primero, el uso de un comando nuevo y muy útil, pero cuyo potencial no se aprovecha si no hablamos de lo segundo: las pipelines o tuberías. No vamos a profundizar en el segundo aspecto porque, aunque no es extenso, requiere especial atención y dedicación; le veremos de grosso modo para entender la flexibilidad de los sistemas operativos Unix. Si estás interesado en las pipelines, te sugerimos investigar en línea mientras publicamos algo dedicado a ellas. 

Según 

$ whatis watch
watch (1)            - execute a program periodically, showing output fullscreen

Traduciendo: 

watch (1: comando de usuario) - ejecutá un programa periódicamente, mostrando el resultado en pantalla completa (o sea, abarca toda la Terminal).

Watch es un programa que ejecuta programas. ¿Por qué "watch" ("observar", "mirar")? ni idea; no lo he buscado, pero sospecharía que tiene que ver con su propósito: mostrar el resultado (el output) en la Terminal. Esto nos puede ayudar cuando queremos observar cambios en un documento o un proceso.

Por ejemplo,

Me estoy descargando un archivo de internet. Digamos que cerré la interfaz de la aplicación pero ella sigue corriendo en el background y no quiero volver a abrirla ―por pereza o porque no quiero que su GUI me gaste RAM que puedo dedicar a otra cosa― pero quiero saber cómo va la descarga. Entonces, recuerdo que antes hablábamos del comando ls, útil para LISTAR directorios y archivos en el filesystem. 
ls -s muestra el tamaño de los archivos (en Bytes, pero esto puede ser modificado según se necesite: $ ls --block-size=1M)
Entonces, si watch me permite ejecutar un programa cada cierto tiempo, puedo hacer que watch monitoree el tamaño del archivo, reportado por ls -s, conforme crece):

$ watch -n4 ls -s downloads/archivo_siendo_descargado_por_otro_programa
Te recuerdo que podés hacer esto para un archivo localizado en cualquier directorio si sabés la ruta absoluta o relativa a usar. Y esto te reportará un output así:

Instalamos FreeBSD hace un par de años y pensamos hacerlo de nuevo; esta vez con un poquito más de conocimiento para apreciarle y usarle mejor :)

Otro ejemplo:

(un poco más complejo) El otro día quería ver -por curiosidad- los cambios en tiempo real de la velocidad de mi CPU (cuando digo CPU, me refiero al microchip, al procesador, no al cajón de desktop; este es un término mal usado y debemos de dejar de hacerlo). Un colega en un grupo de Linux en FB decía que Ubuntu mantenía a sus procesador al máximo y por eso calentaba su laptop... pero recuerdo que una vez ya había medido la velocidad de mi CPU en tiempo real con watch dentro de Freya cuando tenía mi Phenom 960T; revisé los documentos de nuevo y para salir de la duda, lo hice en mi laptop nueva. 

La info del procesador se puede obtener de muchas formas según encontré en sitios diversos; pero me voy a enfocar en una manera simple. Primero, te voy a recordar el uso del comando cat.

$ cat /proc/cpuinfo  
muestra información relacionada a tu procesador: 

Según el número de núcleos detectados por tu sistema, esta muestra aparecerá una o más veces con diferente # en el primer campo (processor); en el caso de un Intel móvil, aparece cuatro veces, enumerados del 0 al 3 (este i5 es dual core, pero Intel hace uso de su Hyper Threading, duplicando el número de hilos como si fueran el doble de núcleos).
Y esto es útil, pero hay dos cosas:

• Sólo me muestra la velocidad base (donde está el modelo del cpu) y la velocidad en MHz al momento de ejecutar este comando (2670.281 MHz, o sea, 2.67GHz)
• Me llena la Terminal de información totalmente inútil/que no me importa de momento. Sólo quiero saber los cambios de velocidad en tiempo real o intervalos, no todas las tech specs del cpu.

Aquí es donde watch es útil:

Aplicando Pipelines:


Para mostrarte lo que quiero decir, usaremos adicionalmente el comando (que no vamos a ver con detalle, porque su uso es extenso y flexible) grep, que sirve para buscar patrones específicos de texto en un documento/archivo. 

vamos primero a usar una pipeline para unir a ambos comandos: 

cat | grep 

Esto se leería algo así: 

mostrar info (para el caso, del procesador); y usar una tubería (el " | " es una "pipe" o tubería) para que el resultado de cat, sea procesado por grep, quien se encargará de filtrar la info innecesaria y sólo de mostrar la sección específica que queremos. Las pipelines toman el resultado (output) de un comando y lo usan como info de entrada (input) de otro comando para que este haga una tarea con ella y la procese de forma que dé, otro resultado (otro output).

Vamos entonces con cualquiera de estos: 

$ cat /proc/cpuinfo | grep MHz
$ cat /proc/cpuinfo | grep -i mhz

Ambos van a lo mismo,  la opción " -i " dice a grep que sea indiferente a la capitalzación (en buen salvadoreño: que le valga verga si  hay mayúsculas o no, que igual muestre resultados si los encuentra). Entonces esto nos arroja lo siguiente:



Hasta ahí todo bien. PEEEEEEROOOOOooooOOOOooo... muestrala velocidad grabada al momento de ejecución; no en tiempo real. Aquí hacemos uso de watch: 

$ watch -n2 " cat /proc/cpuinfo | grep -i mhz "

Y este es el resultado: 


"Every 2.0s:" ... con -n2 establecí que watch ejecute cat | grep cada dos segundos. Y los cambios son reportados puntuales: 

-

Y listo.

En resumen: 

• watch nos sirve para ejecutar otros comandos (o sea, otros programas) a intervalos definidos por el usuario/administrador. Así podemos monitorear en tiempo real, procesos y tareas que estamos ejecutando.
• las pipelines ( cuando veás este símbolo en un comando o combinación de ellos " | ", seguramente estás frente a una pipeline) nos sirven para ejecturar comandos consecutivamente, y que el resultado de uno, sea manipulado y procesado por otro.

Ambos ejemplos son relativamente rústicos para las herramientas con las que contamos actualmente; el propósito de estos artículos es 1) familiarizarte con tu Terminal y la CLI, 2) prescindir de bloatware (software innecesario) que desperdicie espacio en tu disco, y de GUIs que utilizan recursos extra para llegar a lo mismo, 3) mostrarte la flexibilidad y potencial de las herramientas de Terminal, valoradas especialmente por SysAdmins veteranos y expertos del FOSS. 

Espero que te haya gustado y sido útil esta nota. Compartila, comentá y avisanos si te gustaría que hablemos de otros temas en particular. Saludos :) 

Thursday, December 24, 2015

Extender tu partición / (root) sin herramientas gráficas; parte II.

Entonces, ya determinaste cuánto espacio más podés/querés adicionar a tu partición de root. Ahora hay que agregarlo. 

¿Cómo lo hago? fácil; para agregar más espacio a la partición de root, borrás la partición de root. ¿Ah? La borrás y luego la recreás con el nuevo espacio total. Si comenzaba en 7GB y querés que sea de 25GB entonces la recreás con 25GB en total. 

¿Estás seguro? ¿no me voy a cagar en todo? Sí, estoy seguro; y no, no te vas a cagar en todo; todo va a estar bien SI y sólo SI el primer sector de la nueva partición coincide con el primer sector de la nueva partición
Ahora, asumo  que vos sos un ser humano responsable y que sabés cómo usar el papel higiénico de forma apropiada y de la misma forma sabés cómo respaldar tus datos... pero como no lo sé con certeza y no me interesa, dejo este disclaimer amigable: yo no soy responsable de cualquier cagada que le hagás a tu equipo. Respaldá tu info primero.

Procedemos: 

# fdisk /dev/sda

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d (esto borra la partición)
Selected partition 1
Partition 1 has been deleted.

Command (m for help): n (hacemos la nueva partición)
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p (por supuesto que primaria)
Partition number (1-4, default 1): (la tecla "enter" acepta el valor default)
First sector (2048-234441647, default 2048):  (la tecla "enter" acepta el valor default)
Last sector, +sectors or +size{K,M,G,T,P} (2048-234441647, default 234441647): +30G (el nuevo espacio que quiero; el tuyo puede ser distinto. Si lo querés en megas, usá M y la cantidad apropiada; probablemente tendrás que usar unidades/decenas/centenas de millares)

Created a new partition 1 of type 'Linux' and of size 30 GiB.

Command (m for help): w (escribe y guarda cambios)
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
(no te asustés, el de arriba es una advertencia lógica y normal)
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

# reboot 0 
(es un número cero, significa: reiniciá ya, saltate la cuenta del minuto y medio)
Esto fue lo que hice hace un par de horas. 
Podría explicarte cada línea, pero es extendernos y además, estoy seguro que si te interesa, vas a traducirlas por tu cuenta o usar un traductor. Ya en la otra parte explico cómo concluir esto. 

Extender tu partición / (root) sin herramientas gráficas; parte I.


PARA ENTENDER este artículo, te sugerimos aprender los conceptos de filesystem, directorio, particiones y documentación adicional sobre fdisk.

Si te atreviste a configurar manualmente tus particiones cuando instalaste tu distro, probablemente te preguntaste ¿cuánto espacio necesito para mi partición root? ¿cuántas particiones necesito? ¿cuánto espacio asigno  a una partición swap? 

Todas estas preguntas ya tienen respuesta en las wikis y documentos oficiales de cada distro. Para usuarios expertos, determinar cuánto espacio debe de ser asignado a qué, es fácil. Para los n00bs totales, también porque dejan que los instaladores lo hagan todo por ellos. 

Pero para los que estamos aprendiendo en el ruedo, puede que esas respuestas no nos ayuden totalmente y necesitemos un poco de flexibilidad; tal vez por error o por desconocimiento, asignamos manualmente espacio suficiente para instalar el sistema base y conforme instalamos más paquetes, vemos que nos quedamos sin espacio adicional en la partición, aun teniendo espacio extra en nuestro disco. Si ese sos vos, te explicamos cómo agrandar/estirar/alargar tu partición root vía Terminal, mientras tu sistema operativo está corriendo. A esto se le conoce como LIVE/ONLINE ROOT PARTITION RESIZING o "redimensionamiento de la partición root en vivo/en línea".

PREGUNTA IMPORTANTE ¿por qué habría de usar este método cuando existe Gparted o cuando puedo usar una imagen en vivo desde  un CD/USB? Porque tal vez estás aprendiendo de admiministración de sistemas o corriendo un servidor como en mi caso, o tal vez ya sos un administrador y tenés un servidor de producción al que forzosamente necesitás extenderle el root; o puede que no dispongás de otro sistema o imagen, o simplemente porque sos jarcor (hardcore) y querés aprender a hacerlo sin usar interfaces gráficas (GUIs). Si este es tu caso, seguí leyendo. De otra forma, buscá en línea cómo  usar Gparted, que es más fácil y apropiado para usuarios que no se sienten cómodos trabajando en Terminal porque no tienen el conocimiento y/o no desean aprender a usarla.


RECOMENDACIÓN ANTES DE CORRER UN COMANDO

Usá

$ whatis nombre_del_comando
$ man nombre_del_comando
$ nombre_del_comando --help
$ nombre_del_comando -h

por seguridad y para conocer un poco de ese comando antes de ejecutarlo.

De nada. Felices fiestas :D

Thursday, September 10, 2015

Banana Pro: Resumen de actividades.

Hola a todos.

Los saludo desde el Banana Pro. Durante los días posteriores a su adquisición, me di a la tarea de personalizar Raspbian un poco. Hasta inicios de agosto, logramos hacer lo siguiente:

• Añadimos soporte para idioma español en el teclado.
• Cambiamos el idioma a español en todo el sistema operativo (ojo mis novatos, los comandos siguen escribiéndose en inglés pero las respuestas de Terminal se leen en español. Luego de eso regresé a inglés por cuestión de costumbre).
• Después de un garrafal error de Novato (estaba usando la contraseña equivocada y  me salían las canas verdes creyendo que mi Banana vino arruinado), pude conectarme a mi router por medio del adaptador WiFi integrado en el Banana :)
•Personalizamos el LXDE para que tuviera una apariencia menos noventera.
• Hice que la terminal quedara embedida o "integrada" en el escritorio y también que arranque junto con el escritorio (sin comando alguno, sólo con el prompt).

Con estos cambios, se ve así:
Terminal embebida en el Escritorio y automáticamente abierta al inicio de Sesión.  Simula ser transparente pero en realidad sólo está renderizando el  background dentro de la Terminal; LXDE no tiene soporte nativo par transparencias. Como pueden ver con htop, corriendo IceWeasel y Terminal de Root (en una ventana aparte), se consume poca RAM).

• Instalamos Chromium (quien al igual que Chrome, gasta RAM como un chupacabras) y también hicimos que corriera desde el arranque del escritorio. Justo hoy lo cambiamos por Iceweasel, una variante de Firefox que está instalado de fábrica en muchas Distros de Linux.
• Configuramos el /etc/fstab para que el sistema monte automáticamente una USB de 32GB al arrancar. Esto se realiza cuando querés agregar nuevas unidades "fijas" de almacenaje que no querés montar manualmente. Esta la he usado para cuando descargo archivos de internet —vea el siguiente punto.
• También instalamos Deluge Console para descargar torrentes desde la terminal (sea trabajando directamente en el Banana, o desde otro equipo haciendo acceso remoto vía SSH). En pocas palabras: configuramos nuestro propio servidor local de torrents.
• Exploramos un par de aplicaciones educativas que Raspbian incluye: SonicPi (programa basado en Python para aprender a programar mientras se crea música), aproveché el bajo consumo de energía para darle seguimiento a mis cursos de programación autodidacta mientras no adquiría mi laptop.

En pocas palabras, me he divertido con el Banana Pro. Hay muchísimos más proyectos que hacer en él; por ejemplo, conectar un disco duro al puerto SATA para tener una unidad de almacenamiento muchísimo mayor (traté esto una vez compré mi laptop nueva: traté quitándole el disco duro de 1TB que trae y lo conecté al Banana Pro, pero el puerto de poder SATA no parece proveer suficiente energía para encenderle y mantenerlo operativo... no fue reconocido. Intentaré con discos duros de menor capacidad -que podrían tener menos "plates" y por lo tanto, consumir menos amperios- pero me tomará un tiempo el conseguir uno), o hacer sistemas de teatro en casa usando software libre. 

Como prometí, los mantendré actualizados y añadiré tutoriales para configurar SBCs como el Banana Pro y Raspberry Pi. 

Por cierto, uno de mis amigos se llevó mis dos Rasbperry Pi a su casa, descargó su propia imagen de Raspbian en su tarjeta MicroSD y... ¡funcionaron! Al parecer mi imagen de instalación está corrompida... (cosa que hubiera jurado haber revisado y descargado dos veces... pero la memoria me falla, como con la contraseña del WiFi).

Por ahora me despido, pero seguiré trabajando en los tutoriales y demás artículos. Ayudá a tus amigos Unixeros  novatos y compartiles nuestras guías. ¡Hasta pronto!

Wednesday, January 21, 2015

2015.

Cheles,

Les saludo con mucho gusto; espero que estén bien.

No hemos estado activos desde hace ratos, pero hemos regresado y prometemos darle seguimiento a nuestro proyecto; el objetivo nuevamente es, aprender como principiantes de Linux y compartir mientras lo hacemos.

El año pasado le dimos énfasis a Luna, porque es una buena distro para principiantes que buscan un poco de acción bajo la capota para "foguearse". También hicimos una instalación base de Debian (o Network Installation), que por supuesto requiere mucho más trabajo manual.

Este año lo estamos comenzando con algo fresco: Fedora 21, Workstation. 

Fedora ha hecho cambios significativos en cuanto al proceso de instalación (ya no tarda horas -aunque esto depende de tu conexión; la mía no es la más rápida puesto que es residencial), sino unos cuantos minutos, justo como Windows 7/8.  Coloquialmente hablando, Fedora es un poco más complicado/difícil que Luna, por varios motivos. El año pasado usamos F20 y lo arruinamos varias veces; y como instalar tardaba un mundo, por eso decidimos aprender y jugar con Luna. Pero encuentro a Gnome 3.x personalmente fascinante —ojo, dije "personalmente", no sugiero una verdad absoluta. Puristas de escritorios maldiciendo en 3, 2, 1...

El paradigma de un "área de trabajo" en lugar de un "escritorio" como tal, implica muchos cambios —no diré "agradables" o "desagradables"— drásticos; y esto representa, tanto un reto/choque cultural como un mundo de oportunidades/ventajas. Eso lo discutiremos en las siguientes semanas.

Fedora 21 es un nuevo asunto. Me enteré que ya estaba listo, porque un buen amigo me dijo hace dos domingos después de correr: "Ya tengo el F21". Tenía que probarlo. Esa misma noche usamos a μTorrent (de nuevo, se lee "micro torrent") para descargar la imagen, luego la instalamos durante la siguiente semana, no sin antes tener un obstáculo a vencer —mi culpa total, por una configuración de mi Hardware. Ya luego hablaremos de todo ello :) 

Quiero iniciar el blog este 2015, diciendo a todos, mil gracias por visitarnos. Este proyecto implica dedicar tiempo tanto de mi parte como de la tuya y aprecio mucho que vengás, leás y aprendás con nosotros. El blog tendrá unos cambios ligeros: publicaremos ocasionalmente una o dos veces al mes, estaremos viendo publicidad en banners discretos para apoyar al proyecto, les presentaremos a los Raspberry Pis que su servidor obtuvo el año pasado, y quien quita, tal vez hacemos proyectos con ellos ;) 

Seguí pendiente, que esto va por  buen camino.

Atentamente,

El Vago. 

Monday, June 9, 2014

top

top -i
top -c


Este es un trabajo en progreso. Creamos la entrada, para poder relacionar otro artículo a este. Falta incluir más imágenes ilustrativas, e incluir instrucciones de instalación para cuando no instalás una Distro empacada en Gnome. Pero regresá a mirar esto de nuevo, en unas cincuenta y cuatro semanas... Nos vidrios al ratón Chele :D

Friday, June 6, 2014

/ estructura del directorio.

/
Seguramente has visto la barra diagonal  (también llamada barra oblicua, barra inclinada, diagonal, o pleca) mencionar en putoriales e instructivos; ella es el directorio del Root, o superusuario. 

Todos los demás (sub)directorios están contenidos dentro de ella. De esta forma:

/ = directorio Root.
/locación = directorio llamado “locación”, contenido dentro del directorio root.
/locación/locación_a = Directorio llamado “locación a”, contenido dentro del directorio “locación”, que está en el directorio Root.
/etc/babosadas/cachivaches = lo mismo, cachivaches está dentro de babosadas, que está en etc, que está en root.

La estructura del directorio Linux (que sigue las convenciones establecidas por la estructura de directorios de Unix) coloca a distintos tipos de archivos en directorios específicos:

/bin - binarios/ejecutables.
/boot - parámetros de booteo y kernel.
/dev - dispositivos (dev es el corto para “device”).
/etc - archivos de configuración.
/home - directorio “hogar” de usuarios.
/lib - librerías y módulos de sistema.
/media - dispositivos portables (media es un latinismo, es el plural de medium).
/mnt - dispositivos fijos (como los discos duros) están montados acá).
/proc - “directorio árbol” virtual; contiene info acerca del sistema operativo.
/root -esta es la casa del superuario root. una cosa es “/” que es el “principio” de todo digamos, y otra es  /root, que es donde root “vive”.
/tmp - archivos temporales.
/usr - programas, librerías.
/var -logs de datos dinámicos, contenido de sitios web, aquí el sistema operativo escriba mientras opera. 

¿Por qué es útil conocer estos subdirectorios? 
• Porque son usados a veces para operar dentro de la Terminal. 
• Porque es importante  que sepás qué estás haciendo y en dónde lo estás haciendo:  más de alguna vez hemos escuchado “para poner tu unidad de almacenamiento, tenés que montarlo… loggeate como root, abrí tu Terminal, identificá tu disco duro usando fdisk -l y luego hacé un directorio en /media/directorionuevo o en /mnt/melasoplatudirectorio; ahora hacé sudo mount /dev/sdc1 /media/directorionuevo o en /mnt/melasoplatudirectorio y luego configurá un automontado en etc/fstab  para que cuando reiniciés, el disco esté montado automáticamente y blah-blah-blah, yackity schmackity… ”. Saber dónde estás y cuál es tu estado y esto te dará una mejor idea del porqué debés hacer esto y porqué luego, ocurrirá aquello.

Estos son los subdirectorios más usados inicialmente. Podés leer más en http://www.thegeekstuff.com/2010/09/linux-file-system-structure/. Ahora, ¿cómo es que accesamos a estos subdirectorios? Esa es una grandiosa pregunta, chele. Primero, abrís Terminal, y usás comandos, para navegar; ¿recordás a pwd y cd? Estos son los que vas a usar para navegar; tal vez también necesités iniciar sesión como root para accesar a algunas subdirectorios... 

Y eso. Nos vidrios al ratón, chele*.

Modismo: nos vemos al rato, chele*

Wednesday, May 7, 2014

La forma más fácil y rápida de dominar Linux.

El conocimiento es valioso, tal vez lo más valioso que hay (el conocimiento es poder). 
En toda sociedad moderna, tiene precio. En algunas civilizaciones, es hasta sagrado.


Sólo lo merece quien le busca;  ¿y vos, lo estás pidiendo en los foros, así por así, fresco y sin buscarlo, sin merecerlo?


Hemos visto cómo un n00b pregunta algo que puede ser tonto o importante y cómo expertos, entusiastas o veteranos responden. Tenemos comunidades para apoyarnos mutuamente, pero hemos visto que en muchas ocasiones, no siempre es así. A veces armamos guerras de fanboys que quieren meterle su Distro favorita a los n00bs hasta por calle vieja, policía gramatical que hostiga (me incluyo en este grupo), sarcásticos anónimos (también en este) y debates sin fin mientras los pobres n00bs terminan siendo crucificados o expulsados.

Amig@ N00b, te compartimos estos consejos para facilitar tu vida virtual y tus visitas a las comunidades:
  • Sé responsable de tu educación y tu crecimiento.
  • Hacé tu tarea: 
    • investigá, 
    • leé manuales, 
    • buscá antecedentes y reportes anteriores.
Sólo entonces, buscá ayuda en vivo. Y siempre:
  • Por favor.
  • Sé específico. Describí detalles del problema: Si querés instrucciones claras, da información clara:
    • Agregá info importante: qué fue instalado (hardware o software) o hecho antes de ocurrir el problema.
    • Nada ocurre "de repente", como muchos babos@s dicen; siempre se hizo un cambio, se borró/añadió/quitó/modificó algo.
    • No comencés tu Thread/pregunta con un ¡¡¡ AYYYYYUUUUUDAAAAAA !!! o cosas por el estilo. Es obvio que la necesitás: andá al grano y sin alarmismos que a nadie le gusta el drama.
    • Info de tu Distro, Versión, aplicaciones corriendo.
    • Info de tu Hardware (si aplica).
  • Aceptá crítica constructiva.
  • Procurá buena ortografía y ser respetuoso -a algunos miembros les molesta la ignorancia/descortesía y podrían dejar de ayudarte por ello; recordá que ellos tienen conocimiento y deciden si compartirlo o no.
  • No te pongás a la defensiva; aprendé a interactuar con gente distinta a vos.
  • Avisá a tu comunidad de cómo el problema fue resuelto.
  • Compartí experiencias y consejos técnicos.
  • Seguí aprendiendo. 
  • El resolver un problema técnico para seguir con la vida diaria es bueno, pero recordá ayudar a otros; retribuí a la comunidad el bien que recibiste: en esto está la clave de que Open Source siga siendo bueno y fuerte.
  • Da las gracias. Nadie que se ama lo suficiente espera agradecimiento de extraños, pero no hay nada más despreciable que un bastardo ingrato.
Y sobretodo, nunca dejés de aprender. La vida debe ser un eterno aprender, reír, jugar y compartir. 

Seguí estas indicaciones, y la pasarás bien. No las sigás, y esperá una gang-rape de parte de las comunidades, foros, grupos, chats, etc.

Carpe Diem :)

Wednesday, April 16, 2014

Genésis.

"Que se haga el conocimiento; y que lo merezca, no quien lo pide, sino quien lo busca".



Aquí comenzamos.
No sabemos lo que no sabemos. Esto es ignorancia.
Cuandos sabemos que no sabemos, esto es conciencia.
Y de la conciencia, surge el reconocimiento de lo necesario.

Pero ser consciente no es suficiente. Intentar no basta.
Entonces viene la búsqueda.

Estás aquí, porque estás buscando; al igual que vos, nosotros también. Y este es el diario de nuestra búsqueda.

—Un Vago.

Entradas populares.