VirtualBox 5.0.14 es la última actualización a la fecha de hoy 22 de enero de 2016, nosotros usamos intensamente este entorno de virtualización tanto para servidores en producción como servidores en desarrollo. Esta última versión hoy la descargamos e instalamos sobre los servidores de desarrollo y dentro de unas dos semanas que hayamos probado su estabilidad y certeza de rapidez y eficiencia, será aplicado a los de producción.
He de confesarles a todas y a todos que con el paso de los años mi vista se ha desmejorado; en el buen sentido que le damos por estos lares: «se me han quemado las pestañas». Es por ello que con gusto he utilizado «Mozilla Firefox Reader View» el cual está explicado en buen castellano en este enlace. Aunque lo traducen como «Modo Lector» me gusta más «Modo de Lectura», ya sabéis qué poético es nuestro idioma, así que visitadlo y volved para terminar de contaros la historia. Seguir leyendo →
¿FreeCAD en Ubuntu? ¿Por qué no en Debian? Primero debemos explicar qué es FreeCAD: es software libre especialmente realizado para dibujar objetos en tercera dimensión, más que todo piezas mecánicas, siempre teniendo en cuenta las normas internacionales «standards» para interoperabilidad con miríadas de otros programas de Diseño Gráfico Asistido (DGA o como se conoce en inglés «Computer Assisted Design» -en castellano quien nos asiste es el ordenador mismo-).
FreeCAD versión 0.15
Retrocediendo en el tiempo, la experiencia que tenemos en dibujo asistido por computadora se remonta a 1991, cuando por aquel entonces existía el AutoCAD 2.62 -en realidad comenzamos con la versión 2.17 pero necesitabamos AUTOLISP y nos migraron a la que lo soportaba, aunque tampoco era la última versión disponible para la fecha-. Honor a quien honor merece: Autodesknos dio a las masas el impulso necesario para arrancar a «soñar» y hacer más en menos tiempo (pueden ustedes descargar un demostrativo e instalar dicho programa de software privativo en este enlace, vamos que el mundo es muy grande y cabemos todos, valga la «cuña publicitaria»). Claro, faltaban unos cuantos años para que el internet se masificara, pero esa es otra historia.
Es así que con la utilización de LISP -el segundo lenguaje de programación de alto nivel más viejo, después del FORTRAN– ya en esa empresa de software apuntaban alto, APUNTABAN A LAS NORMAS ABIERTAS, o estándares abiertos. Eso permitió que los dibujos que hicimos -y que quemaron nuestras pestañas con los monitores de rayos catódicos brillando en verde- bajo el formato DWG (abreviatura de «drawing», en inglés) que tenía «incrustado» el formato DFX (más delante explicaremos esto) y aún hoy en día puedan ser leídos e interpretados, porque son en realidad gráficos vectoriales. Dicho formato fue creado en 1982 y como comprenderán faltaban un montón de años para que surgiera GNU/Linux -pero Richard Stallman fue presionado legalmente a usar software privativo, lo cual fue la gota que derramó el vaso al año siguiente-.
De 1982 a 1997 fueron 15 años muy interesantes que nos tocó vivir en esto de la programación y fue en 1998 (por avatares de la vida ya no teníamos trabajo alguno, desde hace años, en diseño de piezas mecánicas, la crisis económica del país era grave) cuando nace la «Open Design Alliance» una organización sin fines de lucro orientada a promover la interoperabilidad de software PERO sigue siendo aún software privativo. De nuevo repetimos, en este mundo cabemos todos y sobra espacio, el universo es infinito. Líneas arriba pueden leer -en inglés- la historia de dicha organización.
Por supuesto que el mundo es muy grande, y hay otras alternativas de Software, tal es el caso de LibreCAD el cual es una bifurcación o «fork»? como le dicen en inglés, de el QCAD el cual nació en 1999 a partir del código de CAM Expert. Por cierto en el siguiente «tuit» ofrecen un enlace de un artículo sobre LibreCAD que reseña que fue creado en 1980, lo cual es incorrecto, lo que sí es cierto es que el formato de archivos, bajo software libre si que data de esa época, más o menos.
Al punto que queremos llegar es el siguiente: el mundo del CAD privativo dio levemente su brazo a torcer con el formato DFX secundado de manera nada amistosa por el OpenDWG -ahora conocido como DWGDirect– y el mundo del CAD libre también dio levemente su brazo a torcer con LibreDWG y esta serie de condiciones han abierto el camino para el nacimiento de FreeCAD.
Esa es la manera más simple de resumir y explicar 33 años de historia moderna del CAD: muchos compañeros de estudio no están de acuerdo con estas lineas escritas más poco se alejan de lo comentado aquí; apenas detalles, lo consideramos así. 😉
Pasamos a explicar entonces que Debian es software libre purista, muy comprometido con el código completamente abierto a diferencia de Ubuntu que permite de manera predeterminada muchísimos tipos de licencias de software. Por eso si desarrollamos diseño gráfico, artes o diseño asistido por computadora necesitamos hardware de video poderoso, escribo estas líneas con una modesta «GeForce GT 520/PCIe/SSE2» -que para la tarea de dibujar que tenemos basta- Ubuntu provee y permite usar tanto controladores de hardware privativo como libre, tenemos la libertad de elegir en ese aspecto. Ya ven entonces de dónde proviene el título de esta entrada «FreeCAD en Ubuntu», y nos disculpan la larga explicación.
NVIDIA controlador privativo y controlador de código abierto
¿Por qué usar controladores privativos en ciertos casos?
Resulta ser que hay al menos tres grandes y principales fabricantes de tarjetas de video para nuestro trabajo gráfico -y juegos-: Intel, AMD y nVidia. Los tres han levemente contribuido al software libre, ya que cada día somos más que usamos GNU/Linux y pues sienten la presión de nosotros, los consumidores de tecnología para nuestro trabajo y que hacer diario, MÁS SIN EMBARGO NO HAN LIBERADO NI DADO APOYO TOTAL. Y he aquí que una de las personas que más admiro es Sarah Sharp, quien desarrolló los controladores de USB 3.0 en GNU/Linux y estuvieron disponibles primero, incluso, que sus contrapartes privativos -la historia es larga- y tomo de ella un pequeño consejo si deseaís usar controladores libres:
Graphics linkspam of the week: How to report Intel bugs and an analysis of Grand Theft Auto V: https://t.co/RwftzU5Ynb
Allí, en inglés, la lengua materna de ella, describe cómo podemos nosotros ayudar y contribuir a reportar las excepciones -«bugs» en inglés- de las tarjetas de video en software libre, haciendo un reporte muy técnico para ir al grano y permitir que los desarrolladores sigan haciendo, prácticamente, ingeniería inversa. En ese caso le toman el defecto a una escena de un famoso juego -objetable moralmente, pero bueno, así somos los humanos, libre albedrío- y para un hardware Intel PERO NO SE DEJEN LLEVAR POR EL «TUIT» O MENSAJE si leen con calma y siguen los enlaces que publica Sarah Sharp verán que es aplicable a diversos hardware, hasta en tarjetas gráficas integradas en las tarjetas madre, aunque un poco complejo verán una serie de herramientas para tal efecto.
Como apenas estamos comenzando a utilizar el FreeCAD es necesario presentarselos y buscando en la red hallo muy interesante y ameno el trabajo del señor Juan Gonzáles Gómez quien tiene 40 video tutoriales sobre esta aplicación de diseño gráfico y les traemos la presentación de la serie:
Si quereís conocer a fondo el trabajo tridimensional e incluso aprender a utilizar las impresoras de tercera dimensión les animo a visitar la lista de videos, muchas gracias sr. Juan Gonzáles Gómez. Como reconocimiento a su trabajo les dejo el vídeo del logotipo de su Academia, dejad que la Fuerza os acompañe:
FreeCAD, instalación en Ubuntu.
La instalación de FreeCAD está muy bien documentada -en inglés- en este enlace y en nuestro caso se cumplió exactamente como enuncian: si instalamos a FreeCAD por los repositorios oficiales de Ubuntu -o por el Centro de Software- NO obtendremos la última versión. Inicialmente obtuvimos la versión 0.14 al introducir la siguiente orden:
sudo apt-get install freecad
Por lo tanto debimos actualizar por el propio repositorio de FreeCAD, ganando acceso como usuario raíz «root» en una cónsola de comandos:
Si todo sale bien obtendremos al aviso de que fue agregado exitosamente el repositorio (si desean concer más acerca de los PPA hagan click en este enlace -en inglés-) y veremos algo así como esto:
FreeCAD PPA
Ahora bien, lo siguiente que hay que hacer son las consabidas siguientes 2 líneas:
sudo apt-get update
sudo apt-get upgrade
Y por último la orden en sí misma para instalar FreeCAD:
sudo apt-get install freecad freecad-doc
Y veremos algo parecido a los siguientes mensajes (como ya teníamos instalada la versión 0.14 nos avisa que podemos eliminar los archivos con las versiones que no son necesarias para la versión 0.15, la eficiencia por delante para mantener nuestros discos duros «lo más limpios posible»):
FreeCAD ppa archivos no necesarios
Nos anuncia que necesita descargar archivos necesarios para los paquetes nuevos y cuyo tamaño es de 106 megabytes (recordar que estamos actualizando y son menos datos «a bajar»):
FreeCAD ppa archivos necesarios y por descargar
Tenemos 2 minutos de paciencia mientras obtenemos los datos:
FreeCAD ppa archivos ya descargados y por instalar
Y comienza el proceso de instalación:
FreeCAD ppa archivos instalados y actualizados
Mientras hacíamos todo esto olvidamos cerrar una instancia del FreeCAD 0.14, Ubuntu no aviso nada de que debíamos cerrarlo, pues no hay problema alguno, cerramos la ventana que teníamos abierta y lo volvemos a ejecutar para ver lo siguiente:
FreeCAD inicio versión 0.15
Si agudizamos nuestra visión leemos «Running FreeCADGuinit.py» -entre tantos avisos que muestra al ejecutarlo- pero lo que queremos hacer notar es la extensión «.py» del archivo que carga en memoria, archivo leido: está escrito en lenguaje Python. De hecho ese lenguaje Python junto con lenguaje C, «son los padres de la criatura» y nos dejaron Python para nosotros los usuarios finales el poder correr macros y guiones, tal como lo fue el AUTOLISP al Autocad (¿recuerdan los párrafos iniciales donde dijimos que estaba adelantada a su tiempo y tenían visión de futuro?). Ya para finalizar y comenzar a dibujar y entregar el proyecto (¡uff lo que tenemos por delante!) pues agregar que «matamos dos pájaros de un solo tiro»: compartimos el conocimiento para instalar las herramientas necesarias para nuestro trabajo. ¡Qué bueno es el software libre! 😎
Actualización no más de haber terminado de publicar esta entrada de blog:
El señor Juan González @Obijuan_cube «imprime» las primeras piezas de resina, ¿Habrá utilizado FreeCAD? Lo más probable es que sí, pero no vamos a importunarle en preguntarselo, je je je.
En un excelente análisis de las diversas opciones de diseño asistido por computadora en software libre, en idioma italiano, podemos tener rápidamente un panorama acerca de esta materia. La entrada del blog la pueden encontrar en este enlace web y paso a traducir al castellano el resumen para Freecad:
Ventajas:
Entorno intuitivo y familiar para los usuarios con una amplia experiencia en software comercial.
Versátil y ligero, especialmente en sus versiones para GNU / Linux.
Máxima adherencia a los estándares.
Personalización y creación de productos y servicios específicos prácticamente ilimitadas.
Comunidad muy activa y multidisciplinaria.
Excelentes perspectivas para el futuro.
Desventajas:
El crecimiento rápido pero un poco ‘»caótica».
La falta de un servicio profesional (no ser gobernado por una empresa).
Todavía algunas limitaciones en el uso extremadamente avanzada.
Aún lejos de la versión 1.0 (debido a la estabilidad parece imposible, pero aún está en versión alfa).
È un piacere iniziare a collaborare con @TechEcon 🙂 Iniziamo col mio pane quotidiano, gli strumenti CAD Open https://t.co/oALRqWpLYF
Esta distribución GNU/linux tiene su punto de vista MUY PARTICULAR. Nos enteramos de ella vía @LXALinuxAdictos y no podía creer los que escribieron ellos en su artículo, reproduzco aquí el «tuit» del susodicho:
ReactOS es un sistema operativo de código abierto, el cual tiene la principal función de ser una especie de clon de Windows. ReactoOS no es un clon de Windows más ni un simple sistema linux con Skin de Windows, sino que es un sistema que copia la arquitectura de Windows NT con el objetivo de ejecutar drivers, aplicaciones y demás software que hasta ahora solo estaba reservado para Windows.
No convencido de esto, abrí el «post» y revisé el enlace hacia la página web de la organización ReactOS y…. pues bueno, en inglés básicamente dice lo mismo, cito de nuevo:
ReactOS® is a free open source operating system based on the best design principles found in the Windows NT® architecture (Windows versions such as Windows XP, Windows 7, Windows Server 2012 are built on Windows NT architecture). Written completely from scratch, ReactOS is not a Linux based system, and shares none of the UNIX architecture.
The main goal of the ReactOS® project is to provide an operating system which is binary compatible with Windows. This will allow your Windows® applications and drivers to run as they would on your Windows system. Additionally, the look and feel of the Windows operating system is used, such that people accustomed to the familiar user interface of Windows® would find using ReactOS straightforward. The ultimate goal of ReactOS® is to allow you to use it as alternative to Windows® without the need to change software you are used to.
ReactOS 0.3.17 is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.
Hasta no ver no creer, como decía el Apóstol Santo Tomás, como en el reportaje en castellano nombran que tienen máquinas virtuales precargadas pues ni lerdo ni perezoso la descargo y agrego a VirtualBox. Ellos cumplen lo que prometen, aquí les dejo el video como «prueba de la prueba» que hice, abramos nuestras mentes y expandamos nuestros horizontes, el mundo es muy grande, ¡felíz día!
Ah, por cierto, si queréis colaborar con la causa, no olvidéis daros una vueltecilla por la tienda virtual de «souvenirs».
Ubuntu 15.10 Wily Werewolf, actualización, no voy a negar que Ubuntu, basado en Debian, es infatigable en su avance, tiene sus detractores pero sigo pensando que simplemente este hombre lobo llegó para dar una DURA pelea a los demás sistemas operativos no GNU/Linux.
Si bien recuerdo el mensaje decía 700 megabytes de datos en la actualización mayor, incluso pidió reiniciar, cosa rara en sistemas GNU/Linux pero bueno «una vez al año no hace daño» 😉 :
filter.yaml AntiSpam es una lista escrita en lenguaje YAML para que puedan filtrar el correo electrónico basura que se le escapa al Apache SpamAssasin, ya que éste no es infalible.
Lo que me motiva a publicar esta lista es que están arreciando enormemente con el correo basura (email spamming) sobrepasando incluso las habilidades del ya comentado Apache Spamassasin.
¿En que consiste este filtro? Yo decidí filtrar por dominio del correo electrónico del que me envia el mensaje no deseado ni solicitado, si cumple con la regla nuestro servidor lo envia al dispositivo \dev\null, un agujero negro creado especialmente en Unix/Linux a tal efecto. Esos dominios los agrego manualmente y por medio de cPanel se va guardando automáticamente en un archivo llamado filter.yaml
Dicho archivo está alojado en la carpeta etc donde tengan alojada su página web, la nomenclatura es la siguiente:
\etc\sudominio\suusuario\filter.yaml
En mi caso tengo varios dominios alojados en el mismo servidor y a su vez tengo varias cuentas de correo electrónico en cada uno de esos dominios. Para simplificar el trabajo lo que hago es que copio la lista principal, la que trabajo manualmente, a cada uno de los buzones que tiene cada dominio. Eso ahorra trabajo. Imagino habrá una opción para filtrar globalmente -o al menos dominio por dominio- pero aún no aprendo a hacer eso, quien lo sepa sientase libre de comentar abajo.
Yo admiro a quien sabe más que yo, y lo reconozco públicamente, es loable el trabajo de Mister Jacek Stanislawski quien genera un filter.yaml por medio de Phyton consultando una base de datos basada en geolocalización de direcciones ip. Fascinante. Aunque no lo he probado, IMAGINO QUE FUNCIONA. Admirable. 😯
Así que si piensan que «pierdo el tiempo en esto» pues a ver que ya hay otros que le han echado muchísimo más «coco» que yo.
Sin más pues, he aquí la dichosa lista, espero les se útil en algo (esta la iremos ampliando con el tiempo):
Con SSH podremos conectarnos de manera segura a nuestras máquinas remotas y ejecutar o automatizar tareas con la certeza de que nadie podrá indagar qué estamos haciendo, con privacidad absoluta.
En un entrada anterior vimos y aprendimos nuestros primeros pasos para trabajar por línea de comandos (shell) en una ventana terminal. Si no lo recordáis o queréis refrescar la memoria pues visitadlo y regresad por acá para continuar nuestro aprendizaje (que yo también escribo esto para que no se me olvide -y aprovecho de ayudar a otros también-).
GNU Linux Turnkey LAPP 14 es una distribución pensada para instalar-y-usar con un buen conjunto de aplicaciones (LAPP abreviatura de Linux, Apache, Postgresql y PHP) sin descuidar la seguridad (instala claves SSH inmediatamente –algo que deberíamos hacer nosotros mismos-) y un conjunto de valores predefinidos que agilizan nuestro trabajo al montar servidores para la producción, todo esto con las características intrínsecas del Software Libre. CUENTA ADEMÁS (servicio que hay que pagar, eso sí) con DNS y respaldos «en la nube» ya que de algo tienen -tenemos- que vivir los programadores.
Yo sigo la cuenta Twitter del sr. S. Vaughan-Nichols quien siempre tiene interesantes reportajes (y abundantes críticas) sobre el mundo de la informática, muy especialmente en los temas de servidores y lo que está de moda ahora: «la nuuuuuuube» (imaginen tamborileo en paralelo). Él siempre alega la SIMPLICIDAD (muchos lo llamamos «K.I.S.S. principle«) y no sólo critica por criticar sino que ÉL TAMBIÉN APORTA SOLUCIONES.
Es por tanto que me llamó poderosamente la atención el siguiente «trino (tweet)»:
Sigo el enlace, leo el artículo, sigo el otro enlace hacia los creadores de la distribución TURNKEY, noto que en cada artículo colocan el enlace para descargar la imagen ISO con la «distro» más la aplicación deseada -amd64, por supuesto, estamos hablando de servidores-, todo muy bien explicado y detallado (en idioma inglés) y en 5 minutos la descargo y en 2 minutos más la ejecuto en un ambiente VirtualBox y listo, tengo corriendo un servidor LAPP en modo live CD y casi listo para producción. ¿NO ME CREEN? Veánlo «con sus propios ojos»:
La genial idea de los programadores de Turnkey estriba en adaptar una distribución Linux para que, siguiendo los preceptos de la licencia GNU, sea libre y sin embargo si uno desea seguir adelante con un servidor DNS y respaldo de datos en los servidores Turnkey de manera paga y con una genial API KEY en poco tiempo estemos en línea y produciendo dinero.
Esas cosas las admiro profudamente: simplicidad, apoyo inicial y si quieres CRECER allí están para convertirse en socios de manera instantánea. Además observo que Turnkey no trabaja sola, también vende servicios Amazon para alojamiento, si es que uno no tiene máquina propia para montar lo requerido.
Instalación de Turnkey.
En otras publicaciones he descrito cómo instalar un servidor PostgreSQL y cómo administrarlo con phpPgAdmin paso a paso. Siempre es bueno saber hacerlo todo uno mismo y luego que uno ya haya aprendido no está mal que obtener ayuda extra como la concebida en esta maravillosa distribución Linux Turnkey. A pesar que en los enlaces anteriores describo en detalle el entorno que utilizo, describo un resumen: uso VirtualBox en Ubuntu 64 bits, le asigné 512 megabytes en RAM, 1 CPU, 12 megabytes para vídeo y la única tarjeta de red virtual la configuro como «puente» para que la máquina virtual Turnkey se comunique con mi enrutador inalambrico (y de allí a la internet) quien se encarga del trabajo DHCP y le asigna la dirección 192.168.1.131 con los Norton DNS.
La instalación en sí la vieron arriba en el video que subí -alojamiento cortesía de Youtube- y el detalle adicional es que RECUERDEN BIEN que la distribución del teclado es en inglés [yo hace años que dejé de usarlos, ni siquiera en español tengo ya, sólo distribución Latinoamericano, ojito al meter las contraseñas 😉 ]
Primera vista a Turnkey.
Para el sr. S. Vaughan-Nichols, quien lleva años trabajando con PhpMyAdmin, probó el Adminer y le resultó agradable; en mi caso veo una sencilla interfaz que va directo al grano y sin complicación alguna: yo la recomendaría para aprendizaje previo al PhpMyAdmin y/o PhpPgAdmin.
La primera diferencia que hallo es que para poderme conectar por el explorador de internet (en mi caso Mozilla) debo utilizar el prefijo https. Como les comenté, la seguridad no ha sido descuidadada en esta distribución, ya que genera sus propias claves al instalar la distro Turnkey (en nuestro caso «correr» live CD). Si quieren conocer al detalle los de las claves SSH y su administración recomiendo leer el siguiente post del Maestro Twitter @Phenobarbital Sr. Jesús Lara.
Como dichas claves SSH no están avaladas por un tercero de confianzael navegador hace la debida advertencia de seguridad a la cual le estableceremos unas indicaciones para nuestras pruebas en el servidor virtual Turnkey (si adquirimos una llave API tipo TKLBAM con Turnkey NADA de lo siguiente que explico haría falta hacer).
Conectando por primera vez para administrar Turnkey en una máquina VirtualBox.
Como ven el en gráfico anterior haremos click en «comprendo los riesgos» y luego «agregar excepción». Esto sólo lo haremos con nuestras máquinas que corren en nuestra propia red de área local, jamás ni nunca lo haremos con otros sitios web en internet (sigamos los consejos de seguridad de SUSCERTE).
NO agregaremos como permanente la excepción de seguridad.
NO agregaremos como permanente la excepción de seguridad ya que sólo hacemos esto con propósitos didácticos, recuerden que corremos el servidor en RAM -live CD- y cada vez que lo reiniciemos imagino genera nuevas claves SSH así que no embasuremos nuestro querido navegador web ADEMÁS que si hacemos pruebas con otras máquinas virtuales y el enrutador les asigna la misma dirección IP local nos saldrán otros mensajes de advertencia de seguridad, OSEA no nos embaserumos nosotros mismos a la hora de aprender a programar.
Portada principal para administrar Turnkey.
Lo primero que vamos a ver es el Adminer LAS FLECHAS ROJAS en las imágenes son de mi autoría para guiarnos paso a paso, hacemos click a donde ellas apuntan.
Usando Adminer, login «posgres».
El usuario -o «login»- es la palabra «posgres» y la contraseña la que hallamos colocado al instalar -o correr- el Turnkey.
Administrando PostgreSQL con Adminer.
En fin, hagan uso de su albedrío y creen bases de datos, agreguen tablas y/o índices, clonen, jueguen y aprendan. Recuerden que como estamos ejecutando un live CD al reiniciar la máquina se perderán todos los datos. Mi imaginación vuela en este caso: si adquirimos una API key que nos permita respaldar con los servidores de Turnkey y una vez hecho eso, apagamos y pudieramos levantar otro servidor virtual en cualquier otro sitio restaurando los datos desde Turnkey, aunque imagino que eso tendrá su costo adicional, respaldar y restaurar con frecuencia. No soy el único en Venezuela que conoce TurNkey ya hay varios usuarios «corriéndolo» en Venezuela: Maracaibo, Barquisimeto, Araure [ ¿? ], Valencia, Puerto Cabello, Maracay, Cumaná y, ¡cómo no!, Caracas.
Servidores (al día de hoy 27sep2015) corriendo Turnkey en Venezuela.
Mi imaginación va mucho más allá: la manera como programaron a Turnkey se puede prestar para montar servidores maliciosos. El pequeño detalle es que deben pagarle a Turnkey con una tarjeta de crédito cuyo dueño es localizable por los bancos de manera rápida y si usan una tarjeta robada o extraviada igual es delito federal en los EE.UU. así que esa opción, como ven, queda descartada.
Administrando a Turnkey.
Pantalla de bienvenida a Turnkey.
En esta pantalla de bievenida que veremos por cónsola nos muestra un resúmen sobre cómo conectarnos vía remota y ya analizamos como entrar en el apartado anterior. Hago hincapié en la publicidad: si adquirimos una API key TKLBAM la debemos introducir en el cuadro de diálogo anterior y esperar que se realicen las actualizacions y/o instalaciones para montar BIEN EN SERIO UN SERVIDOR PARA PRODUCIR DINERO. Ese tema, por ahora ni lo tocaremos ni lo revisaremos.
Turnkey corriendo en VirtualBox.
Lo que si que vamos a hacer es echar un ojo a las opciones para administrar nuestro futuro servidor:
Portada principal para administrar Turnkey.
¿Recuerdan la portada principal? PUES ESTA VEZ HACEMOS CLICK EN EL ÍCONO QUE DICE WEBMIN, olvídense por un momento de la flecha roja [qué pichirre soy con el alojamiento web, NO voy a subir otra imagen nada más que para apuntar con otra flecha roja ja ja ja 😉 ]
Entrando a Webmin como usuario «root».
Usaremos las credenciales de usuario raíz -«root»- y si éste fuera un servidor para producción lo primero que haríamos es crear los usuarios correspondientes y no volver a tocar la dichosa cuenta. Acá como estamos aprendiendo y jugando pues no haremos nada de eso. La contraseña pues, halá, la que introdujimos al instalar -o correr-:
Menú principal Webmin.
Sinceramente quedé abrumado por la cantidad de opciones del Webmin lo único que se me ocurre para describirles la aplicación es que es como si estuvieramos sentados en la cónsola del servidor,pero con una interfaz gráfica de la cual carece -excepto de esta manera remota-. Podemos agregar los usuarios que les dije, reiniciar o apagar el equipo (partimos de que estamos conectados por https o SSH y bien seguros), instalar o quitar aplicaciones, configurar la red (ojito con desconectarnos nosotros mismos) y cualquier otra cantidad de cosas. Incluso para nuestro aprendizaje (nunca para un servidor en producción) podemos instalar «Google Gears» -un proyecto que aunque abandonado desde marzo de 2011 seguirá existiendo por SVN – e incluso lo podemos exportar y mantenerlo en nuestro propio espacio GitHub(nada malo ha pasado con el alojamiento de proyectos de código abierto ofrecidos por este gigante, sólamente reconocen que GitHub es mucho mejor e incluso ellos se mudaron también; YO DIGO QUE ES OTRA VICTORIA PARA LINUS TORVALDS Y RICHARD STALLMAN, un proyecto abandonado de software libre puede ser mantenido perfectamente por otros que aún lo consideren importante):
Turnkey + Webmin + Google Gears.
Como son muchas las opciones que tiene el Webmin sólamente les mostraré las capturas de pantallas de las opciones del menú:
Espero hayan disfrutado de este post tanto como yo, hoy aprendimos algo nuevo y sólo queda apagar la máquina virtual por (faltaba más faltaba menos) por medio de Webmin:
CANTV Debian repositorio. En mi inquietud de implementar repositorios para Linux en territorio venezolano a fin de ahorrar tiempo y hasta divisas (usar menos los cables submarinos que nos conectan a otros países) me ha llevado hasta consultar «tuiteros» con experiencia en ésa área. Para ello el sr. Juan Carlos Monsalve me ha indicado de un repositorio para Debian alojado en los servidores de datos de CANTV «a dos saltos de distancia» y es por ello que me propongo probarlos en una máquina virtual con Debian 8 Jessie.
Me dirijo hasta la dirección suministrada, donde muestran la siguiente información para ser introducida en nuestro archivo sources.lst (Debian, y su derivado Ubuntu utilizan «Advance Packaging Tool» para los repositorios de software).
# REPOSITORIOS “MAS VELOCES”, ESTABLES Y VENEZOLANOS (CANTV)
# A solo dos saltos de cualquier usuario ABA
## Debian – stable
deb http://mirror-01.cantv.net/debian/ stable main contrib non-free
deb-src http://mirror-01.cantv.net/debian/ stable main contrib non-free
deb http://mirror-01.cantv.net/debian-security squeeze/updates main contrib
## Actualizaciones de seguridad
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
## Backports
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
Un repositorio, de software en este caso, es simplemente una colección de programas informáticos catalogados y almacenados de manera normalizada (o normada, que sigue las normas) a fin de poderlos descargar para cada ordenador que lo necesite (nuevo o que esté reinstalando su sistema operativo). He aquí el meollo del asunto: un grupo de servidores no podrá encargarse de entregar para el mundo entero, no resistiría la carga. Es por ello que se implementaron servidores «espejos» -«mirrors» en inglés- que copian la información de, en teoría, los servidores centrales, pero esto no es necesariamente así. Ya que los datos digitales se pueden copiar exactamente como fueron creados y disponemos de algoritmos aplicados para certificar que dichas copias sean exactas al original pues podemos montar servidores espejos desde el que tengamos más cercanos, físicamente hablando. Acá en Venezuela ese lugar es precisamente Caracas, nuestra ciudad capital. Mi idea es montarlos en las otras ciudades principales de Venezuela, por ejemplo Maracaibo, Valencia o Ciudad Bolívar. Para ello hemos solicitado al Ciudadano Presidente de la República Nicolás Maduro un plan especial de dirección IP fija (aprovechando que las direcciones versión 6 están bien encaminadas a ser implementadas) y el cambio de tecnología ADLS a DSL. Acá publico el video donde el Presidente recibe nuestra solicitud:
Ya colocando manos a la obra publico el video donde muestro cómo modificar el archivo (con derechos de root) y mido la velocida de descarga tanto de las cabeceras como de las mismas actualizaciones en sí:
Para lo que yo llamo «catálogo» de aplicaciones descargó 19,6 MB en 36 segundos (velocidad de 541 kB/s) y en este punto he de confesarles que tengo varios equipos conectados en la misma red de área local y al mismo modem CANTV, y uno de ellos trabaja las 24 horas compartiendo las ISO Debian por Torrent (entre otros trabajos que necesito, no viene al caso mencionarlos aquí 😎 ). Es por ello que PUEDE SER que se conecte a mayor velocidad, mi plan es de 10 mbps «de bajada» y 1 mbps «de subida» (¿ya vieron por qué necesito una conexión SIMÉTRICA?). Ahora bien, hago una pequeña prueba instalando un programa, para la prueba Filezilla el cual utilizo en demasía, y descargó 9004 kB en 15 segundos (velocidad 592 kB/s) tras lo cual quedó satisfactoriamente instalado (de hecho duró más tiempo instalando -26 segundos- que descargando -15 segundos-). Hago notar que POR SUPUESTO mientras más lejos uno esté de Caracas, pues más tardará en descargar, son más los «saltos» a dar dentro de la misma red de CANTV (de allí mi idea de distribuir repositorios por toda Venezuela con el plan sugerido a CANTV). Poco después el sistema operativo automática detectó las actualizaciones necesarias (éste Debian es el 8.0 y ya salió el 8.2 por lo que son sustanciosos los cambios necesarios).
Luego descargó 269,1 MB en 17 minutos a una veolocidad aproximada de 270 kB/s, el verdadero promedio que deseaba obtener con una descarga de tamaño moderado. De nuevo duró más tiempo instalando las actualizaciones (253 minutos) que descargando (17 minutos). Saquen ustedes mismos sus conclusiones, comparando con las descargas que realizen ustedes en sus casas y/o lugares de trabajo.
GoLang es un «nuevo» lenguaje de programación en el cual estoy interesado ya que el programa de repositorios llamado Aptly está escrito en ese «idioma de computación» (gracias a Andrey Smirnov @smira). Ustedes pueden obtener información más precisa sobre este lenguaje de programación en este enlace que obtuve via Twitter:
Por ello lo estoy aprendiendo por medio de un tutorial y allí me encuentro con un método para calcular raíces cuadradas por aproximación según Isaac Newton el cual yo no conocía.
Introducción.
Como yo estudié ingeniería y las matemáticas me traen gratos recuerdos me puse a analizar la fórmula que proponen los desenfadados programadores y desenfadadas programadoras de Google (la tuve que nombrar ya que ésta empresa es la que lo patrocina) y definitivamente que no me gustó la fórmula que presentan y el método de programación para calcularla.
Mucha gente ha escrito sobre el tema, incuyendo Wikipedia, por supuesto, pero me pareció un método muy enrevesado, para mi gusto (la historia allí descrita me hace saber que en realidad lo inventó primero el matemático Joseph Raphson pero Newton llegó a la misma conclusión si saber nada del trabajo del otro matemático).
Me encanta ser práctico, ver ejemplos y lo que muestran en este enlace me pareció pulcro y limpio y a pesar que llevo AÑOS sin calcular derivadas y series se llega rápidamente a una solución en el ejemplo 2 (pero yo realmente me deleité con el ejemplo 1) .
Propuesta.
Basado en lo que me explican me propongo programar para calcular CUALQUIER raíz cuadrada de un número natural mayor a 1 y de una manera recursiva (a diferencia de como lo piden en el tutorial con 10 iteraciones) más sin embargo no he podido resolver el detalle de convertir dicha función en un objeto que sólo tengamos que pasarle el número a calcular su raíz cuadrada, la precisión en decimales, sin más desde afuera, como lo planteo siempre hay que modificarle adentro en la función.
Si más preámbulos (que no, que no vamos a estudiar en este post «Análisis Matemático I», II ni III, ni «Ecuaciones Diferenciales» ni «Matemáticas Aplicadas») le presento mi solución, con comentarios en castellano:
package main
import (
"fmt"
"math"
)
func NewtonRaphson(x float64, comienzo int, margen float64) float64 {
var resp float64 = 0
var z float64
var dif float64
//Cambiar z al entero cuadrado inferior a x para calcular
//otras raices
if comienzo == 1 { z = 1 }
//fin semilla
if comienzo == 0 { z = x }
//Para calcular otra raíz cambiar el primer 2 por
//el numero cuya raiz cuadrada se desea calcular
z = ( z + 2 / z) / 2
dif = x - z
if dif > margen {
resp = NewtonRaphson( z , 0, margen)
} else {
resp = z
}
return resp
}
func main() {
fmt.Println(NewtonRaphson(2, 1, 0.0000001))
fmt.Println(math.Sqrt(2))
}
Obteniendo los siguientes resultados, los cuales se aproximan bastante, como ven:
1.414213562373095
1.4142135623730951
Program exited.
Si quisiéramos calcular la raíz cuadrada de 50 debemos hacer dos cambios en el programa (atención: si copian y pegan el código para probar, respeten el indentado):
package main
import (
"fmt"
"math"
)
func NewtonRaphson(x float64, comienzo int, margen float64) float64 {
var resp float64 = 0
var z float64
var dif float64
//Siete elevado al cuadrado es el primer inferior a 50
if comienzo == 1 { z = 7 }
//fin semilla
if comienzo == 0 { z = x }
//El primer número 2 lo cambiamos por 50
z = ( z + 50 / z) / 2
dif = x - z
//Verifica el margen de error para finalizar el cálculo
//y devolver el resultado
if dif > margen {
resp = NewtonRaphson( z , 0, margen)
} else {
resp = z
}
return resp
}
func main() {
fmt.Println(NewtonRaphson(50, 1, 0.0000001))
fmt.Println(math.Sqrt(50))
}
Y esto es lo que arroja el servidor remoto que ejecuta código:
GoLang cálculo raíz cuadrada de 50 por método Newton Raphson.
AHORA BIEN ésta es mi primera impresión de este lenguaje (puede ser que esté equivocado), se parece bastante a Python, pero bueno, vamos a «seguirle dando a los hierros» y veremos en que consiste este lenguaje, prometo próximas entradas en este blog acerca del tema.