DEBIAN PRO

DEBIAN PRO
DEBIAN

jueves, 27 de noviembre de 2014

SNX en Linux


Con este Link, resolvi un problema con SNX en Xubuntu.

# ldd /usr/bin/snx | grep "not found"
libpam.so.0 => not found
libstdc++.so.5 => not found


http://kenfallon.com/checkpont-snx-on-ubuntu-14-04-lts-trusty-tahr/

Cámara SL10 Kodak


Estoy mirando info sobre un producto "nuevo", una cámara pero SIN visor... raro no?
Es un lente de 16 mp. 28 mm Wide, Zoom 10x, Estabilizados de Imágen, full hd 1080... pero SOLO el lente.
Se comunica por Wifi con un Teléfono Android o Iphone para mandar la foto, y para enfocar.

Lo veo como un híbrido, media cámara, que aprovecha el lente... pero necesita "algo" para enfocar, guarda las fotos en su memoria o las envia por Wifi.

http://kodakcamera.jkiltd.com/Americas/cameras/smartlens/sl10.php

Copia Linux


Para hacer copias completas de discos en Linux, lo mejor me parece usar una distro CLONEZILLA.
Se instala en un pendrive, y copia un disco/particiones a un fichero externo (en otro disco)
o puede clonar discos completos.

Para copias parciales en caliente.

Copia boot record
dd if=/dev/sda of=/TEMP/sda.img bs=512 count=1

Copia de una particion (SWAP)
dd if=/dev/sda6 of=/TEMP/swap.img bs=4096 conv=noerror

martes, 25 de noviembre de 2014

Linux sin dudas


Luego de leer esto
https://firstlook.org/theintercept/2014/11/24/secret-regin-malware-belgacom-nsa-gchq/

Tenemos que dar un gran paso que no tiene vuelta atras.

En todos los equipos con Windows o OSX, instalar Linux, preferentemente un GNewSense o similar, donde todo el contenido del Sistema Operativo es abierto, sin binarios, sin exes, sin compiladores y donde el resto del mundo pueda auditar el código.

Entre "los buenos" y "los malos" tratando de tomar el control de equipos para sus fines, la pelea entre ellos, los "productitos" divertidos para jugar y los formatos propietarios, estamos perdiendo la guerra como "USUARIOS".

Será difícil? SIN DUDAS !
LibreOffice no es igual a Ms.Office? NOOO. no lo es.
El uso es distinto? SI, es otro sistema operativo, muy parecido, pero no es 100% igual.


Es imposible dejar un equipo encendido por las noches en casa, pensando, quien tomará el control esta noche? los buenos? los malos? se pelearon entre ellos usando mi equipo ?
para que quiero 20 megas de Internet, si lo usarán para atacar otros servidores?
Cada documento WORD, XLS o PowerPoint que recibo tengo miedo de abrirlo.


Señores usuarios, despierten, estamos perdiendo la batalla! No somos dueños de nuestros equipos. Estamos pagando electricidad para guerras entre buenos y malas usándonos.

SSD Linux


Dos parámetros para mejorar el rendimiento de los discos SSD, almacenamiento externo y evitar grabaciones innecesarias.

vi /boot/grub/grub.cnf

buscar esta parte.... y agregar el texto elevator=noop

linux /boot/vmlinuz-3.13.0-40-generic root=UUID=bc498139-60f2-42af-b230-3fe1e8daae7b ro quiet splash elevator=noop $vt_handoff
echo 'Loading initial ramdisk ...'


en el /etc/fstab
# / was on /dev/sda1 during installation
UUID=bc498139-60f2-42af-b230-3fe1e8daae7b / ext4 errors=remount-ro,noatime 0 1



Una posibilidad para evaluar, y que estoy probando, es des-habilitar el SWAP, al no tener SWAP activada, uso mas espacio en disco, cuando no hay memoria libre no carga nada mas y no usa disco como RAM, degradando su performance y reduciendo la vida del disco.
editar /etc/fstab
colocar un # delante de la linea del SWAP, verificar BIEN cual es. Algo parecido a:
# DAC UUID=22b43361-e905-4616-95c0-aaa83438c152 none swap sw 0 0

miércoles, 19 de noviembre de 2014

ONO, Wifi y FON


Por el año 2004 o 2005 trabajé mas de 4 años con FON.COM, gracias a Martín V. que me dió la oportunidad de estar con ellos.
La idea de Martín era construir una comunidad de "Foneros" que compartíamos nuestro ancho de banda y podíamos usar el ancho de banda de otros "Foneros".
Al estilo de las comunidades Wireless (como Alcalá Wireless donde también participé) y otras por todo el mundo.

La idea de Martín era una evolución de lo que se hacía en pequeños grupos de hackers en el mundo, pero él lo pensó a nivel global.
Fon tuvo un crecimiento enorme hasta pasar los 6 millones de routers (dicen 13 millones hoy mismo) con un firmware FON que permitía la doble señal WIFI, una Privada para uso propio y otra compartida para los demás.

Comenzamos con routers Linksys wrt54g, luego mejores modelos, luego hard fabricado a medida hasta las últimas foneras PLUS y Mini, los últimos y mas avanzados productos.

Desde sus orígenes en España, luego U.S.A., Japón, Alemania, U.K. y otros paises, ya hay prosencia en muchos paises, Personalmente he llevado mas de 30 routers a Argentina, algunos fueron confiscados por Aduanas... pero eso es otra historia.

En mi casa en Alcalá y desde hace un tiempo comencé a ver señales del tipo "_ONO_WIFI_XXXX", anoche miré nuevamente y veo 8 routers emitiendo con esas señales. Me pongo a investigar que pasaba y me encuentro con que es un producto "nuevo de ONO" que hace exactamente lo mismo que hace FON, pero a nivel Español.

Martín no logró un socio Español para potenciar FON, aunque si ocurrió en otros paises como Alemania, Japón o U.K.

Me sorprender que ahora para ONO la idea FON es tan buena que la aplican, copiando hasta los mapas de cobertura FON, y no se hayan asociado con FON.


https://red.onowifi.es/

Y la ruta a FON.COM
https://corp.fon.com/en

martes, 18 de noviembre de 2014

Microsoft y su licencia.


Estoy recopilando información sobre tecnologías de desarrollo en Windows y en Otros entornos.

No soy de desarrolllo y lo que pongo aca puede que no sea totalmente exacto, por favor, avisar los errores.

* Entorno Propietario Microsoft

De abajo hacia arriba (bajo nivel a alto nivel)
Sistema Operativo Windows (propietario)
IIS web server
Plataforma .NET (propietaria)
Web Site (webs, folders, componentes, exe)

Herramienta de Diseño propietaria
Visual Studio .NET
http://www.visualstudio.com/products/visual-studio-community-vs

Mas links
http://www.asp.net/mvc/open-source
http://aspnetwebstack.codeplex.com/

* Entorno Open Source / GNU
Sistema Operativo Linux
Apache / nginx / lighttpd
Plataforma MONO
http://www.mono-project.com
Web Site (web folders, exe)

Herramienta Gráfica de diseño
http://www.icsharpcode.net/OpenSource/SD/Download/#SharpDevelop5x



FUTURO
Ciertos productos de Microsoft, pasan a ser gratuitos, no quiere decir que sean OpenSource, solo que se pueden usar SIN PAGAR LICENCIA, que no es lo mismo.
El código interno del IIS, del V.Studio y demas, seguirá siendo un patrimonio de Microsoft.

martes, 11 de noviembre de 2014

Generadores de código.


En estas semanas estaré evaluanco un generador de código automático. Un concepto que hace tiempo que no veía/usaba.
La idea es tener un APP que genere nuevas APP simples y genéricas, rápidamente y que no requiera horas y horas de un developer.
http://en.wikipedia.org/wiki/Comparison_of_code_generation_tools

Comenzaré con Yii.
http://www.yiiframework.com/download/

viernes, 7 de noviembre de 2014

Software Libre.


Link con el directorio de Software Libre. Recomendado por FSF y GNU.
http://directory.fsf.org/wiki/Main_Page

Porque no Win o OSX.


* ¿ Por qué no usar OS X o WIN ?
Para mi OS X es casi lo mismo que Windows en término de licenciamiento del Sistema Operativo y Kernel. Link a OS X.
Si puedes usa Linux, no uses Windows ni OS X.
Estas son opiniones personales, hay cientos de motivos, intentaré poner los principales para mi.

* ¿ Por qué escribo esto ?
Llevo años usando Linux y creo que puedo compensar los beneficios que he obtenido gracias a GNU/Linux, la cantidad de conceptos, productos que he usado y aprendido.
El poder haber probado tantos programas sin tener que haber pagado por ellos (GNU).
El no tener que haber violado leyes para aprender/usar/compartir.
Luego quizas hacer algo bueno y gratis, descubres el precio que cuesta. Entenderás el beneficio que todos tenemos gracias a GNU.
Creo firmemente en esos conceptos GNU y me gustaría que muchos entiendan lo que pasa detrás del mundo informático.
La evolución no es únicamente "compremos, paguemos, usemos", todavía estaríamos usando terminales tontas de IBM.

* Se los considera productos "propietarios" (OSX y WIN) porque Empresas tienen todos los derechos sobre ese S.O.

Cpomo usuario tienes que pagar la licencia para usarlo pero no puedes modificarlo, está expresamiente declarado que "no pueden modificarlo", si lo haces puedes tener un juicio y nadie quiere estar fuera de la ley.
Tampoco puedes prestarlo, compartirlo, regalarlo, hacer copias a tus amigos... es una receta donde siempre deberás ir a comprar el plato preparado, no veas que tien, simplemente come. No puede hacer algo que se le parezca, no puedes revenderlo sin autorización de la fábrica... y un "largo" prohibido que te impide hacer cosas.

Una de las cosas mas cuestionadas es que no puedo usarlo "de una manera diferente" a como se diseño. Eso quiere decir que si uso el Notepad para algo que la fábrica considera "distinto" me pueden hacer un juicio.

Otro gran problema de estos últimos años es que los fabricantes de esos S.O. los actualizan semanal, mensual o trimestralmente, pudiendo arreglar bugs o metiendo código que hará algo que a mi no me guste, no puedo saber que hacer, no puedo evitarlo, si no actualizo el S.O. no meto las mejoras o arreglos a bugs, pero al mismo tiempo estoy aceptando lo que me manden con los ojos cerrados.

Richard S. dice, "el usuario es el esclavo del S.O.", el programa/S.O. hace lo que una empresa define y no lo que yo quiero que haga, "y solamente eso".

Apple también tiene una política muy restrictiva con su sistema operativo y con los programas que autoriza a usar, se bajan de su sitio oficial y son los homologados. Casi todo tiene un precio y no hay fuentes de sus componentes centrales.

Cuando grandes empresas manejan los S.O. imponen un precio para uso, definen una obsolescencia programada, un costo por "actualizarse", pueden dejar de modificarlo, el tiempo para los arreglos es indeterminado (recordemos el problema del Driver De R.S.)

Otros de los puntos de conflicto son las interfaces y su estética, vinculado esto con las patentes. Algo muy difundido en U.S.A. supuestamente para protejer a los creadores y además impedir una libre competencia.

En el concepto GNU si fabrico un programa que se parezca mucho a un Gedit (ejemplo) la comunidad puede usar ambos y cambiarse de uno a otro fácilmente.

En el mundo "Propietaria", algo parecido es una amenaza para las empresas y les hacen juicio para impedir que se parezca demasiado, si las cosas son "demasiado parecidas" podrían perder usuarios, porque estos se pasarían a otra empresa y perderían sus clientes cautivos, que deben seguir usando/pagando. Un concepto "de atadura" con los clientes.
Obtengo clientes que pagan por mi producto, impido que otras empresas hagan algo similar, impido la competencia, aislo a los usuarios en mi mundo.

Al sentarme a usar un OS X veo diferencias de interfaz, de conceptos, de manejo con el teclado... Personalmente creo que está hecho así para aislar a los usuarios a una interfaz gráfica distinta e impedir el cambio de S.O. a otro.

* ¿ Seguridad ?
Todos los sistemas operativos y aplicaciones pueden tener "Bugs" (errores de programadores), problemas con su uso de una manera distinta (ausencia de control), desbordamientos (problemas de la tecnología) y otros "problemas".
OpenBSD es el sistema operativo que se considera "MAS SEGURO" de todos, y no dije "inviolable". Con dos/tres bugs en 12 años. Fue un proyecto derivado de BSD con un claro objetivo de "control del código", "seguridad", auditorías"... es "lo mejor" en estabilidad y seguridad. Pero tampoco es perfecto.

* OSX NO tiene virus ni troyanos? Falso.
* Windows es el peor de todos? Depende.
* Linux no tiene virus ni troyanos? Falso.


* Todos los S.O. y aplicaciones tienen "problemas".
Windows prepara parches cada Martes y cada varios meses.
Apple hace algo similar, cada "varias semanas" manda un parche.

En mi Linux (Xubuntu) todos los dias tengo una actualización de alguno de los componentes, sea bash, alsa, xorg, vlc, ftp... Al haber tantos grupos desarrollando pequeños productos, respetando los standares el cambio es mas rápido y la actualización en mi equipo mas rápida.
Yo digo si quiero actualizarlo o no, pero el parche/upgrade existe.

Debian tiene una política de "stable/wheezy", "testing/jessie" and "unstable/sid". Se puede seleccionar que nivel de madurez quiero tener en mi sistema.
https://www.debian.org/releases/


* Yo uso OSX o Windows gratis!
MMmmm eso no es correcto.
Cuando compraste tu Mac/notebook/PC con OS X o Windows pagaste por un S.O.
El costo de venta de un equipo físico se incrementó, se pagó una licencia de uso a Microsoft/Apple mas impuestos.
Si lo has instalado por tu cuenta, entonces estas usando un S.O. ilegal, yo quiero respetar las licencias y leyes.
Piensa que quizas entre 20 y 40 Euros fueron destinados al S.O. ¿ lo vale ?
En unos años tendrás que poner otro y volver a pagar.
En unos años dejarán de darle soporte o de arreglarlo. Comenzará a quedar "viejo" muy rápidamente.
Usas un programa para escribir cartas, planillas de cálculo, dibujar, presentaciones?
También lo has pagado o deberías pagarlo. Unas un programa para Diseño (Autocad) ? lo mismo.

* ¿ Android ?
Piensa que Android está basado en Linux y adaptado a un hardware específico.
Gracias a GNU Linux pudo existir Android.
Compáralo con IOS, Windows Phone, Mobile...

* Consumismo y ecología.
Cada hardware que se pone viejo, requiere uno nuevo, con costo en materia prima, costo de producción, transporte, venta, comisiones, impuestos.
Usar un S.O. que requiere actualizar Hardware y S.O. cada dos o tres años está siendo poco ecologista.
Desde el Windows 95 hasta el 8.1 se ha evolucionado mucho en funcionalidad y en interfaz pero se podía haber evolucionado mejorando en lugar de reemplazando totalmente algo y muchas veces cometiendo los mismos errores?
Puede que algo intermedio hubiera sido mejor a lo ocurrido.
¿ Sabes que el Win 8.0 se discontinúa para que la gente compre Windows 10 ?
¿ Y si quiero seguir usando Windows 7 ?
Ya no se puede porque se quita el soporte.

* Intrusiones, privacidad, seguridad.
Desde hace unos 15 años que supe que los proveedores de Internet en Argentina estaban colocando RACKS negros en sus instalaciones, nadie sabía exactamente para que.
Todos sospechábamos que eran productos "recomendados" por la C.I.A., F.B.I., Interpol, otros....
Desde el 2007 con Wikileaks publicando posts y tantos sitios que "susurran" lo que pasa, temas oculto a los ojos de simples mortales nos enteramos de muchas cosas que "no son legales", "no gustan", "violan la privacidad"... o simplemente "fueron aprobadas sin que la sociedad entienda" (legalmente).
Esto ocurre desde hace muchísimo tiempo (Guantánamo) y no es nuevo, pero en el mundo informático de Internet parecía algo imposible. Por su anarquía, rutas alternativas, cantidad de empresas en todo el mundo...
Pero también pasa, no solo en China, en todo el mundo.

Se sospecha que la N.S.A. esta metida en muchos equipos, servidores, equipos, portátiles en todo el mundo, con diferentes motivos. Que el tráfico está auditado, analizado, capturado.
Basta leer http://thehackernews.com/

El usar un sistema operativo en el que no puedes ver su parte interna y auditarlo, complica la transparencia en su uso, en los parches, facilita la instalación de troyanos y gusanos.
Fomenta que grandes empresas y gobiernos encuentren fallos, los utilicen en su propio beneficio y no informen a los fabricantes para que los arreglen.
Si un organismo puede "poseer"/"hack" un router que gestiona el tráfico de paquetes TCP-IP puede ver el contenido y eso viola los derechos de los usuarios a la privacidad.

En el caso de GNU/Linux las comunidad de desarrolladores pueden ver el código fuente, auditar y como son usuarios del mismo producto, intentarán arreglarlo para no tener problemas.

Hace poco aparecieron problemas en "BASH", la interfaz básica de interacción entre el usuario y el S.O., en un período de 2 semanas recibí 5 parches para arreglar los problemas que detectaban, todo en forma gratuita y casi a diario.

Apple se hizo famosa por genera un bug en su sistema operativo, que había sido arreglado 10 años antes en BSD, el reinventar la rueda puede producir los mismos errores que la anterior.

* Protocolos abiertos y standards.
Muchas veces se habla de standares o protocolos. Existen organismos que regulan esas normas a nivel mundial (IEEE, ISO, otros).
Definen un "protocolo de comunicación" y las empresas lo utilizan para poder comunicarse entre sí.
Un ejemplo trivial son las normas de tránsito. Todos las aceptamos (generalmente) y nos sirven a todos para poder compartir los caminos.

Microsoft y Apple suelen implementar "normas" un poquitín diferentes para separarse de su competencia y generar un GAP.

Un caso real es el producto "Lync", herramienta para CHAT, VIDEO, VOZ de Microsoft que usa un "standard" propietario y que no permite que otros programas se comuniquen correctamente con los productos oficiales Ms. Básicamente o usas Lync de Ms o no te podrás comunicar correctamente.
El ejemplo contrario es el protocolo HTTP, donde puedes usar I-Explorer, Mozilla, Chrome, Safari, K-Meleon y ves las mismas páginas. Aunque también hay sutiles diferencias.

Usar protocolos propietarios impide el cambio de producto, fomenta tener el cliente cautivo del producto, produce problemas en las comunicaciones, limita el acceso a la información.


RESUMEN
Piensa, lee, investiga, compara, pregunta.
Si puedes, USA LINUX.

jueves, 6 de noviembre de 2014

Linux, GNU, Kernel, Distro, colores.


Estoy dias estuve hablando con un conocido sobre "¿que Sistema Operativo ponerle a su portátil?".
Creo que algunas ideas le pueden servir a otras personas, así que aquí dejo mi colaboración.
Como siempre son mis ideas y si no estas de acuerdo puedes dejar tus comentarios.

* Equipo/Ordenador/Computadora. Hardware. Parte Física.
Conjunto de partes necesarias y básicas para hacer procesamiento digital de la información.
Básicamente una placa base/mother, CPU, RAM/Memoria, Disco, Teclado, mouse, monitor, cables...
Hay otras partes? si, claro... pendrive, impresora, placa de red, etc.etc...

* BIOS
Componente de firmware, código binario que se ejecuta cuando encendemos nuestro equipo. Está en lenguaje de bajo nivel para interactuar con el equipo.
Es lo primero que se ejecuta, permite cambiar la hora del reloj interno del equipo, agregar partes, verificar el disco, muestra un dibujito bonito con la marca del equipo, etc.
Se encarga de ver que dispositivos de almacenamiento tiene conectados y pasará el control de ejecución a cada uno de sos dispositivos conectados.
(cdrom, disco, pendrive, ethernet... etc)
Cada tantos meses suelen aparecer actualizaciones a ese "código", es recomendable actualizar el BIOS, el proceso es pasar unos 2 o 4 kb de un fichero a la zona de almacenamiento eprom (programable) del motherboard. (Placa central de nuestro equipo)
Las placas base tienen una zona donde se almacenan unos pocos datos de la configuración de hardware del equipo (EPROM), en cada arranque lo leen y verifican.

* Sistema Operativo.
Una ves que el BIOS encuentro el hardware le pasa el control a un dispositivo de almacenamiento, supongamos que es un disco (podría ser un Pendrive, cd. etc)
En ese dispositivo se tuvo que haber instalado antes un código BOOT LOADER en los primeros sectores del disco. El boot/loader/lilo/grub es un código sencillo que toma el control, busca particiones, verifica memoria, cpu y hace el "boot"/"patadón" al Kernel del Sistema Operativo.
Los sistemas operativos tienen Rings, que son capas aisladas que interactúan entre ellas, Ring 0 a Ring 3 (depende del S.O.).

* En Windows
Para los que tengan Windows esto ocurre casi sin ver nada, salvo que hayan arrancado en modo a prueba de fallos, donde irían viendo que cosas se van cargando.
El proceso "normal" que ocurre en Windows es que adenás de cargar el Sistema operativo, se cargan otros programas que corren sobre él como el sistema de gestión de ventanas, el explorador, etc.etc... hasta que nos aparece el puntero, pantalla gráfica, varios (o cientos) de servicios corriendo debajo.

* En Linux/Unix/OSX
Supongamos que tenemos Linux, comienza un proceso de carga del Kernel, verificación de componentes, carga de otras partes según los dispotivios que tengamos conectados. Hasta llegar a un punto donde el shell (o bash) acepte peticiones.
Este proceso es un poco mas largo y complicado, pero si estas leyendo esto piensa que carga una serie de programas que interactúan con el hardware en bajo nivel y van subiendo hasta que habilitan una interacción entre usuario y Sistema operativo mostrando un "prompt" ó cursor parpadeante.
Como mínimo se tuvo que cargar el Kernel, drivers para dispositivos físicos y algunos programas básicos para interacción con el hardware.

En Linux, podemos arrancar el S.O. y quedarnos con nuestra pantalla negra, texto y cursor parpadeante (bash/zsh) o podemos decirle que cargue el servidor gráfico (xorg) y un manejador de ventanas (gnome/kde/twm/otros). En los servidores donde se optimiza hasta el último pedacito de cada componente, se arranca en modo texto con unos pocos servicios corriendo, poca interacción con clientes y pocos engranajes dondo vueltas.

* Hardware reducido.
Un caso especial son los routers con dd-wrt/openwrt, Raspberry PI/Arduinos o similares. Corren distros mínimas preparadas para arrancar rápidamente, funcionalidad limitada y aplicaciones pequeñas diseñadas para usar poca memoria, pocos recursos, poca CPU y un hardware limitado.
Con un hardware mas sencillo y limitado se pueden correr sistemas operativos limitados, en el caso de un Router que no tiene teclado y mouse, no es necesario que el S.Operativo tenga los drivers para ese hardware y tampoco interrupciones para hacer lectura de esos componentes.

* Aplicación/Programa.
El fundamento de la informática, lineas de código que el sistema operativo puede ejecutar, con o sin interacción del usuario, con/sin salida de información por pantalla, con/sin comunicaciones mediante la red, etc.etc...
Digamos que sobre el kernel, todo lo demás son programas que hacen tareas, se pueden ejecutar, parar, interactuar. Sin embargo si paramos el kernel, nada podrá correr después, porque todo va arriba del Kernel.

* Programa fuente, interpretado y Compilado.
La funcionalidad básica de un equipo era poder programar que haga cosas, sea una suma de datos, hasta procesos avanzados como coordinar los procesos de una nave espacial.
Desde los orígenes de la era de la programación, se cambió mucho el proceso de "programar", inicialmente se programaba en código binario, hexadecimal, ensamblador o de muy bajo nivel. Algo que no es comprensible para casi nadie. (Excepto para esos Guru del Assembler).
Como era complicado, se "programaron" lenguajes de mas "nivel", es decir, más fáciles de usar. El mas importante de los orígenes fue el "C", que sirvió para programar otros componentes/servicios/programas para facilitarnos la vida, entre ellos se programaron "nuevos lenguajes de programación". Un concepto recursivo, programa lenguajes que programan lenguajes mas elaborados.

El concepto sencillo es que yo escribo órdenes para que un lenguaje las ejecute, (buscar "hello world" en Internet) el archivo que contiene mis líneas de código se llama "código fuente", lo puedo modificar las veces que quiera, es justamente el orígen.
Ver link. http://en.wikipedia.org/wiki/List_of_Hello_world_program_examples

Fuente Assembler
; Uses S-C Assembler variant.
; .or is origin
; .as is ASCII String
; .hs is Hex String
.or $300
main ldy #$00
.1 lda str,y
beq .2
jsr $fded ; ROM routine, COUT, y is preserved
iny
bne .1
.2 rts
str .as "HELLO WORLD"
.hs 0D00

Fuente Basic.
PRINT "Hello, world!"

* Un compilador.
Es un programa que pasa de ese código "fuente" a un código procesado con instrucciones de bajo nivel para que corra el sistema operativo. (ver ELF, exe, com, otros)
El programa generado se llama binario y es complicado entender que hace, son instrucciones en hexa, zonas de datos, etc.

* Un intérprete.
Es un híbrido entre fuente y compilado (perl, python, php), convierte el fuente a un código intermedio que se ejecutará al correrlo. Suelen hacerlo en tiempo real agregando una demora en el pseudo-compilado en el momento que queremos ejecutar el programa fuente.
Tienen los beneficios de poder tocar el fuente en todo momento y en cada corrida se utilizará el código nuevo.

* Driver.
Aplicación de bajo nivel que interactúa con el hardware y con el sistema operativo, conoce que enviar y recibir de un hardware y simplifica las comunicaciones entre el kernel y un hardware. El beneficio de ese Driver es que solo se carga en el sistema operativo los drivers de los dispositivos que tenemos conectados. Es mas eficiente cargar o descargar el driver de RAM si no lo necesitamos.

* Servicio/Daemon/demonio.
Un programa con una utilidad muy concreta y que corre interactuando directamente con el sistema operativo, muchas veces sin necesidad de interactuar con el usuario (humano).
Ejemplos son sendmail/apache/smtp/ntp/alsa.

* Orígenes de la informática masiva.
Por los 60 y hasta los 80, los equipos eran grandes, pocos en el mundo, grandes consumidores de electricidad, poco eficientes y administrados por grandes gobiernos.
Entre los 70 y 80 comenzó la idea de equipos mas pequeños, mas potentes, "equipos para el pueblo".
Los equipos, programas, manuales, expertos, cursos... todo se pagaba y mucho.

* Microinformática o Personal Computer.
Comenzaron a aparecer proyectos "para todos", de IBM, Tandy-Radio Shack, Apple I, Sinclair, Commodore, Casio... Grupos de ingenieros electrónicos y empresas comenzaron a hacer equipos pequeños, limitados, para las familias, transportables, para pequeñas empresas.
Un ejemplo fue Apple que diseño una placa base en su garage, lo vendía por unidades a personas, diseñaron un pequeño sistema operativo propio, luego programas como Basic, juegos...

* Los grandes equipos.
Seguían siendo caros, con sus sistemas operativos caros y complejos.
Cuenta la leyenda que Richard Stallman tenía problemas con un driver para una impresora que no funciona bien, habían pagado por él pero no funcionaba bien, demoraban muchas semanas en darle una solución y ese "problema" fue el punto de partida de su idea GNU (GNU is not Unix), cuentan que él mismo prorgamó el driver, lo repartía gratis a otros que lo necesitaban y ademas de tener un odio por ese proveedor generó una movida aún vigente.
Ver página https://www.gnu.org/

* GNU.
Movimiento creado en 1984 para diseñar un sistema operativo completo que no requiera pagar para obtenerlo, para actualizarlo, para arreglo de bugs, pagos anuales, etc.etc. Todo un concepto "cooperativo". Todos los que usamos Linux debemos estar agradecidos por su bronca y por su voluntad para luchar contra ese sistema establecido por las grandes empresas, gracias a la evolución hoy tenemos Linux gratuito. Las partes serían, Kernel, boot, lenguajes de programación, drivers, aplicaciones.
Tal como declara GNU, "Free Software" es un concepto donde se puede correr, copiar, distribuir, estudiar, auditar, cambiar y mejorar un programa. Justamente todo lo que no se podía hacer hasta ese momento con los Sistemas Operativos existentes.

* Linux
Intentando ser exacto, Linux es un Kernel diseñado en 1992 por Linus Torvalds de una manera particular, intentando copiar lo que hacía Unix pero con la colaboración de cientos/miles de programadores en el mundo y con la idea de tener un Kernel "libre".

La aparición de Linux junto a las ideas GNU, permitieron la masificación de Linux en el mundo. Todos los programadores podían colaborar, obtenían un kernel básico que podía mejorarse, cambiarse, regalarse, no habia que pagar licencias de uso, de compra, de actualización, etc.etc....

Aparecieron programadores que fueron fabricando componentes complementarios del Kernel, un ejemplo es gnuc, Bash, ifconfig, shutdown y miles mas (mira en /bin o /sbin y verás unos cuantos). Uno de los primeros componentes fue un compilador de C GNU, que permitió la programación del resto de programas, drivers y componentes que hoy en dia tenemos.
Ver página con los productos GNU existentes.
https://www.gnu.org/software/software.html

Como se cuenta en "Catedral y el Bazaar", teniendo una base para trabajar libremente (Kernel) y un compilador, cada programador o grupo de coders fueron programando aplicaciones según sus necesidades, basándose en nombres y costumbres de Unix se rearmó un sistema operativo completo, boot, kernel, compilador, prorgamas, interfaz gráfica, etc.
Recomiendo leer ese libro, se aprende mucho de la informática "free" y de conceptos como "Comunidad y colaboración", de "evolución"... Mucho de varias partes.

Richard Stallman insiste en GNU/Linux, porque para él primero apareció el concepto GNU, luego el Kernel Linux y luego el resto de los ladrillos. GNU dice que el programa se debe entregar con sus fuentes para que todos puedan verlo, auditarlo, modificarlo, compilarlo, distribuirlo nuevamente.

* Distribuciones.
Inicialmente uno, dos y hasta cinco grupos en paralelo fueron armando "distribuciones", un compilado de Kernel, boot loader, instaladores, drivers, herramientas, servidores gráficos, aplicaciones texto, gráficas y demas partes. Todo metido en diskettes o CD/DVD, se vendían, se enviaban por correo (no había internet o no era rápido).
Las primeras que yo he visto fueron Debian, RedHat y Slackware. Por esa época apareció FreeBSD con las mismas ideas (UNIX).
Esas distribuciones permitían una instalación "relativamente" fácil en equipos PC comunes, no requerían un hardware propietario sinó que se instalaban en micros Intel, Amd, Risc. Sin importarle la marca y modelo del proveedor de hardware.
Con el tiempo fueron apareciendo miles de distros... todos podemos hacernos una distro a nuestro gusto.
Basta mirar en www.distrowatch.com.

Hay familias/ramas, creo que hay 3 o 4 ramas centrales y luego muchas variantes, por poner un ejemplo:
Debian - Ubuntu - Xubuntu, otros.
RedHat - Fedora - otros.
Slackware - otros.
LFS - Linux desde la nada. Una distro que no tiene instalador, el usuario va instalando paso a paso los componentes, es fundamental para entender las partes de un Sistema Operativo y de una Distro.

* Servidor gráfico. Manejador de ventanas. Bibliotecas Gráficas.
Existen varios "gestores" de ventanas gráficos, requieren un servidor gráfico corriendo de fondo (xorg, xfreex86, etc.) y hacen la vida mas fácil al usuario del equipo. Esos gestores ejecutan aplicaciones gráficas, utilizan bibliotecas gráficas genéricas y las aplicaciones (gedit) las usan e interactúan con ellas.
Dos grandes ejemplos son: Gnome y KDE. Gnome usa GTK+ y KDE usa QT.

Mientras que en un Windows/OSX esa separación no existe o no es tan evidente, en Linux está claramente separada y se puede instalar o no.

Las distribuciones permiten cargar ambas librerías gráficas, ambos entornos y que un aplicativo pueda usar cualquiera de los entornos gráficos cargando las bibliotecas gráficas que necesita.

Como todos los componentes en ese lado del mundo (Linux), existen mas de una alternativa para cada taréa, diferentes grupos programaron productos similares para hacer taréas similares. Pensando en Darwin esta diversidad hace que haya varias especies conviviendo y si una muere las demas se podrán ver afectadas o beneficiadas, pero continuarán sus vidas y continuarán evolucionando.

Mirando las "distros" desde el Debian 2.0 o Redhat 5.0 hasta estos dias, su evolución fue enorme.

Algunas especies se quedaron en el camino, un ejemplo fue Conectiva, por diferentes razones la gente no lo aceptó y dejó de usarse, al tener tantas distros "compatibles" los usuarios se pudieron pasar a otra distro y continuar sus actividades.

Evolución continua gracias a programadores.


* Libre y Propietario.
Luego de entender GNU, se ven claramente las diferencias con Microsoft y Apple sobre como evolucionar en la informática.
Linux = Una comunidad evolucionando el producto y ofreciéndolo gratis.
Otros = Grandes empresas, desarrollando un producto y obteniendo dinero vendiéndolo. Sin permitir que evolucione.

Si un programa es GNU me permite verlo, auditarlo, leer el fuente, cambiarlo, compilardo, usarlo, regalarlo.

¿Si soy panadero, eso de que me sirve?
Hay cientos o miles de programadores en el mundo que pueden ver el código del "bash" (como ejemplo) y aunque yo no sepa como auditarlo o modificarlo, ellos SI lo saben y como también lo usan, querrán mejorarlo para no tener ellos mismos un problema, yo me beneficio de esos cambios/evolución sin tener que pagar por ello.

Mañana si hago un programa Free, lo puedo distribuir libremente, otros pueden mejorarlo y todos lo hacemos evolucionar obteniendo un beneficio para todos nosotros y para la comunidad en general, que puede bajarlo, usarlo y enviar los problemas que encuentra, y por supuesto, algunos programadores podrán hacer productos similares al mio, el mercado dirá cual prefiere.
Por favor, leer este link
https://www.gnu.org/gnu/linux-and-gnu.es.html

* gNewSense, Debian o Ubuntu.
Como ejemplo, estas distros son "similares" y comparten el mismo sistema de actualización de paquetes, repositorios con las últimas versiones de programas, su kernel, etc.
Personalmente pienso que GNU es un concepto que se debe "intentar alcanzar" pero mientras hay que "usar lo que haya", no debe ser "demasido extremo".

La fundación GNU pide que llamemos GNU/Linux a aquellas distros que respetan la filosofía GNU y usen el Kernel Linux y todos sus componentes son GNU.

Para GNU, gNewSense es una distro GNU/Linux porque usa el kernel Linux y todos los demás programas son de tipo GNU, no admite en su repositorio de programas productos que NO SEAN GNU.

Eso quiere decir que quizas una impresora con drivers propietarios sin fuentes y donde nadie haya hecho un driver GNU no funcioná.

Al no admitir programas NO-GNU está empujando a la sociedad para que genere programas GNU. Una de las premisas de la Fundación GNU.

* ¿ Debian no es GNU ?
Para la fundación GNU, Debian no es totalmente GNU porque permite incluir componentes que NO SEAN GNU.
Aunque la mayoría de los programas que funcionan en Debian son GNU, admite drivers, firmware, binarios, APP comerciales sin fuentes y otros componentes.
Al instalar DEBIAN se puede indicar que "solamente" querré componentes oficiales GNU.
Pero para la Fundación GNU eso no alcanza, porque no fomenta que los usuarios dejen de usar productos comerciales.
En este punto, o usas únicamente productos GNU o si alguno no lo es, ya tu instalación no es totalmente GNU.

* ¿ Y Ubuntu ?
Ubuntu creo que hizo un trabajo titánico, permitiendo que millones de personas que no eran informáticos usaran Linux, una distro relativamente reciente, fácil de instalar, de usar, intuitiva, bonita, admite muchisimo hardware de todo tipo, admite drivers/firmware propietarios, etc. Fue una nueva revolución en Sistemas Opertivos y en como instalarlos.
Su contribución al mundo Linux fue y es enorme, pero para la GNU.org no se considera GNU, porque tiene una política aún mas relajada aún que Debian.

Solo reconocen Distros GNU a: http://www.gnu.org/distros/free-distros.html

* ¿ Debo usar gNewSense, Debian o Ubuntu ? o otra ? ¿ Que pongo en mi equipo ?
¿Sentarte a comer y tener una carta de cientos de páginas es un problema?
Si lo es para tí, instala Ubuntu.
Si esa carta con diferentes platos te permite comer algo distinto cada dia, descubrir sabores, encontrar restaurantes que lo preparan mejor, leer la receta y poder hacerla en tu casa, darsela a tu vecina, preparar la receta, llevarla hecha a tus amigos para que la prueben, y hasta cobrarles si quieres.

Tienes miles de distros para elejir.

Dependiendo del hardware que tengas, de tu uso diario del equipo, de lo que busques, de el gusto por los colores, puedes instalar cualquier distro Linux que quieras.
En casi todas ellas tendrás una comunidad de desarrolladores atras mejorando el producto, casi a diario. Programadores expertos en seguridad, en optimización, en interfaces gráficas, en arte, en métodos científicos....

Si usas Linux no tendrás que pagar por los parches, por usar, distribuir, regalar, prestar, modificar los programas que necesitas/usas a diario.

* ¿ Porqué no usar Windows o OSX ?
Ver siguiente post.
http://itprofesionales.blogspot.com/2014/11/linux-gnu-ii.html

* Mi recomendación es usar Distros Linux y tratar de que todos lo usen. Sin dudas.

miércoles, 5 de noviembre de 2014

Equipo roto


Un estafador, vende equipos armados con Cinta y Gomaespuma.
Sin tornillos, sin soporte, tapando los agujeros de seguridad del propio disco....

Un chapucero/trucho de mucho cuidado.


Vendedor. Estafa metiendo un disco chino envuelto en cinta y con goma espuma....


Mucho cuidado al comprar portátiles, te puedes encontrar con este disco dentro.
Envuelto en Cinta y goma espuma. Sin tornillos, sin su soporte, tapando los agujeros de respiracion del disco.
Disco Chino de dudosa calidad.

VPN Checkpoint SSL Extender


Para hacer funcionar las VPN en mi Linux seguí este instructivo.

Checkpoint Network SSL Extender en Xubuntu.

http://www.samuelrossille.com/home/how-to-setup-checkpoint-network-ssl-extender-on-ubuntu-13-10-64-bits.html