This post was published 4 years ago so it may be outdated.
It’s easy to make Docker images bigger than needed. This has a negative impact in both push and pull time but it may also be hiding additional problems you should address before they become critical.
In this post I will explain you three techniques to help you slim down your Docker images:
This post was published 14 years ago so it may be outdated.
Ayer Mark Shuttleworth (fundador de Ubuntu) anunció en su blog que el nombre de Ubuntu 11.04 será Natty Narwhal (cetáceo que vive en las regiones árticas). El sistema de numeración de Ubuntu es sencillo: el primer número, antes del punto (.), se corresponde con el año en el que se libera la versión, mientras que el segundo número, tras el punto (.), es el número del mes en el que se libera (suelen liberarse dos versiones de Ubuntu al año, la XX.04 y la XX.10, siendo XX las dos últimas cifras del año en el que se libera). Cada versión viene acompañada de un nombre formado por dos palabras: un animal y un adjetivo. Ambas palabras comienzan por la misma letra, y en cada versión se usa la siguiente letra. La versión 10.10 es Maverick Meerkat, así que la versión 11.04 tenía que comenzar por N.
This post was published 14 years ago so it may be outdated.
Tal día como hoy, hace 17 años, Ian Murdock anunció la salida de Debian, una distribución de Linux realmente importante y de la que derivan otras tan conocidas como Ubuntu o Knoppix. Su nombre proviene de la unión de Deb (diminutivo de su entonces novia Debra – ahora su ex esposa) e Ian. Actualmente está en desarrollo la versión 6, que se espera para antes de fin de año.
This post was published 14 years ago so it may be outdated.
Una de las cosas que se hacen molestas de tener varios equipos es que acabas diseminando los archivos que más usas entre ellos, de modo que en el sobremesa acabas teniendo archivos que no están en el portátil, y en el portátil acabas teniendo archivos que no están en el sobremesa. Para poder acceder a estos archivos acabas teniendo que crear una carpeta compartida en ambos equipos para ir actualizando los archivos que más sueles usar, utilizas un pendrive para trasportarlos, o acabas enviándote por emails los archivos cada vez que los modificas, sin embargo estas no son las opciones más cómodas.
Dropbox es un gran alternativa para este problema. Se trata de una aplicación que crea una carpeta en nuestro equipo que se sincroniza con una carpeta en un servidor remoto. Cada vez que añadimos algo en nuestra carpeta, se añade en la carpeta del servidor remoto, de modo que podemos acceder a los archivos de dicha carpeta desde cualquier ordenador conectado a Internet, a través de la web de Dropbox. También podemos instalar la aplicación en todos nuestros equipos, y al modificar un archivo de la carpeta de Dropbox en un equipo, se modifica en todos los demás equipos que tengan la aplicación instalada, sin necesidad de estar todos encendidos a la vez, ya que se sincronizan con el servidor remoto.
La aplicación es gratuita y está disponible tanto para Windows como para Mac OS X y Linux, además de móviles con Android, iPhone, iPad y próximamente Blackberry. Ofrece un espacio de 2GB de forma totalmente gratuita, aunque por 9.99$ al mes podemos ampliar este espacio a 50GB y por 19.99$ disponemos de 100GB. También podemos ampliar nuestro espacio disponible de forma gratuita invitando a nuestros amigos a Dropbox de modo que por cada amigo que se registre en Dropbox ampliaremos en 250MB la capacidad de nuestra cuenta, hasta llegar al límite de 8GB.
This post was published 14 years ago so it may be outdated.
Parece que Apple está interesada en que sus dispositivos con iOS (iPhone, iPod y iPad) tengan acceso a iBooks, una aplicación que nos permite gestionar y leer libros. Desde la versión 1.1 podemos leer PDF desde la misma aplicación, sin embargo hay ciertas opciones que no podemos configurar al leer PDF y sí al leer ePub, como el tamaño de la letra, lo que hace que leer, por ejemplo, el manual de usuario de iOS 4 sea realmente incómodo al tener que hacer zoom cada dos por tres.
Afortunadamente tenemos una alternativa: podemos convertir nuestros PDF en ePub. Hay muchas aplicaciones para hacer esto, tanto online como offline, pero en este artículo sólo me centraré en una aplicación. Calibre (así es como se llama la utilidad que nos permitirá convertir nuestros PDF en ePub) es totalmente gratutia y está disponible tanto para Windows como para Linux y Mac OS X. Read more →
This post was published 14 years ago so it may be outdated.
Vía Genbeta descubro que ya está disponible la primera versión estable de Google Chrome para Mac, la versión 5.0.374.55. Esta nueva versión ya tiene un administrador de marcadores bastante decente (la verdad es que me ha parecido más cómodo que el de Firefox), sincronización de los mismos y las preferencias a través de nuestra cuenta de Google y modo pantalla completa.
This post was published 14 years ago so it may be outdated.
Tenemos una red local y carpetas y archivos compartidos entre nuestros equipos. ¿Cuál es el siguiente paso? Controlar un equipo desde el otro. Quizá en principio la utilidad parezca poca (te ahorras levantarte, ir al otro equipo, encender la pantalla y ponerle las pilas al ratón), pero una vez te acostumbras, se hace difícil dejarlo de lado, sobretodo cuando se trata de una combinación de sobremesa y portátil.
Veamos ahora cómo controlar de forma remota un ordenador con Windows y un Mac con Mac OS X mediante el protocolo VNC. Para esto necesitaremos dos aplicaciones diferentes: un cliente VNC y un servidor VNC. El servidor VNC habilita el control remoto del equipo en el que está instalado, mientras que el cliente VNC permite a un equipo controlar un ordenador que tenga instalado un servidor VNC.
Mac OS Xincorpora un cliente y un servidor VNC (de los que hablaré más adelante), así que tan sólo tendremos que instalar el paquete de cliente y servidor en Windows. Hay multitud de paquetes diferentes, pero yo me centraré en UltraVNC, que es de momento el que mejor que me ha funcionado hasta ahora y que además es totalmente gratuito (podéis descargarlo aquí). Una vez descargado e instalado, tendremos que ejecutar la aplicación UltraVNC Server, que como su nombre indica, es el servidor VNC de UltraVNC. El cliente VNC se llama UltraVNC Viewer.
Una vez ejecutado el servidor en Windows, veremos una ventana como la de la imagen de la izquierda. Hay bastantes opciones que podemos personalizar, aunque la que más nos interesará en principio es la contraseña para acceder al equipo: no queremos que cualquiera con un cliente VNC y nuestra IP pueda acceder a nuestro equipo.
Entre otras cosas más o menos útiles, podemos hacer que el invitado sólo pueda ver la pantalla, sin poder modificada nada o eliminar los efectos de Aero de Windows y el fondo de pantalla al conectarse un invitado (para mejorar el rendimiento).
Habilitar el servidor VNC en Mac OS X es muy sencillo. Basta con ir a Preferencias del Sistema, dentro a Compartir. La segunda opción de la lista de la izquierda es Compartir Pantalla, que se traduce en Habilitar Servidor VNC. El servidor VNC incorporado en Mac OS X tiene menos opciones que UltraVNC, pero para el uso diario nos vale. Podéis ver la pantalla en cuestión en la imagen de la derecha.
Con el servidor VNC ejecutándose en ambos equipos, sólo necesitamos utilizar el cliente VNC para poder controlarlos de forma remota. El cliente VNC de UltraVNC, como he comentado antes, se llama UltraVNC Viewer, así que lo ejecutamos.
Nos pedirá la IP del ordenador al que nos vamos a conectar (también se puede utilizar el nombre del equipo) y nos permite escoger entre diversas opciones de velocidad de la red (que básicamente reduce la calidad de la imagen que veremos pero a cambio ganaremos rendimiento), acceder en modo “sólo visión” (es decir, sin poder interactuar con el equipo, sólo pudiendo ver lo que hace), activar el auto escalado, etc. A continuación nos pedirá la contraseña del servidor (si la hay).
En Mac OS X nos podemos conectar a un servidor VNC desde el Finder. Para ello vamos a Ir -> Conectarse al servidor (o pulsamos la combinación de teclas Cmd + K). Se abrirá una ventana pidiéndonos la dirección del servidor, done introduciremos vnc://<IP_DEL_SERVIDOR>. Nos pedirá la contraseña del servidor (si la hay) y a continuación tendremos acceso vía VNC al otro equipo.
También se puede controlar un equipo con una distribución de Linux desde Windows y Mac OS X (y éste puede controlar a los otros) o incluso desde un iPhone (basta con instalar alguna aplicación que haga de cliente VNC para poder controlar otros equipos).
This post was published 14 years ago so it may be outdated.
Vía Genbeta descubro los primeros mockups de la interfaz de Gnome 3, versión que será liberada dentro de unos 6 meses (a finales de año). Esta versión vendrá cargada de novedades tanto a nivel interno como a nivel visual, correspondiéndole a este último los mockups que podéis ver a continuación.
En los mockups han optado por una combinación de blanco y negro, lo que facilita mucho la lectura, sin embargo espero que se pueda cambiar, porque si no todas las distribuciones de Linux que utilicen Gnome parecerán iguales…
This post was published 14 years ago so it may be outdated.
El iPhone y el iPod Touch disponen de un navegador realmente bueno para tratarse de dispositivos móviles. Mobile Safari muestra las páginas web prácticamente igual que lo haría su versión de escritorio, lo que hace que en muchos casos no sea necesario hacer un diseño específico de nuestra web para estos dispositivos.
Sin embargo, el tamaño de la pantalla del iPhone y del iPod Touch (a partir de ahora hablaremos sólo de iPhone para abreviar) hace que se nos haga incómodo navegar, teniendo que hacer zoom en múltiples ocasiones, lo que entorpece bastante la navegación. Afortunadamente, adaptar nuestra página web al iPhone es una tarea relativamente sencilla y gracias a Mobile Safari podemos lograr hacer que nuestra web tenga el aspecto de una aplicación nativa del iPhone.
Como podréis adivinar por el título, el tutorial está dividido en partes (que iré redactando poco a poco y publicando una vez las haya acabado de escribir). Esta primera parte la dedicaré a explicar cómo preparar nuestro entorno de desarrollo.
Servidor local
Antes de ponernos a diseñar necesitaremos instalar un servidor en nuestro equipo. Hay muchas opciones, sin embargo yo me quedaría con Apache + MySQL + PHP (conocido como WAMP, MAMP o LAMP, dependiendo de si se utiliza Windows, Mac o Linux).
En Windows solía usar WampServer, una aplicación gratuita y fácil de instalar y administrar, y ahora en Mac utilizo la versión gratuita de Mamp. Como hace tiempo que no toco Linux, lo dejaré de lado en este tutorial. De todos modos, más adelante veréis que algunas de las herramientas útiles para comprobar nuestro diseño no están disponibles para Linux (algunas ni siquiera para Windows).
Una vez instalado el servidor, basta con que accedamos a localhost, 127.0.0.1 o nuestra dirección IP. Los tres métodos deberían mostrarnos exactamente lo mismo.
Mobile Safari
Ya tenemos el servidor local, con lo que podemos trabajar con MySQL y PHP y si nuestro CMS está escrito en PHP, podremos instalarlo en nuestro servidor local y diseñar directamente para él (yo, por ejemplo, suelo diseñar directamente para WordPress). Ahora necesitamos un navegador que funcione de forma similar a Mobile Safari para comprobar nuestro trabajo, y para ello tenemos 3 opciones diferentes.
Si disponemos de un iPhone lo tenemos muy fácil. En la barra de direcciones basta con introducir la IP de nuestro equipo servidor y listo. Recordad que ambos dispositivos deben estar en la misma red.
En caso de que no dispongamos de un iPhone pero sí de un Mac, tenemos la opción de hacernos desarrolladores para el iPhone, con lo cual tendremos acceso al iPhone Simulator, un simulador del iPhone que, adivinad… tiene Mobile Safari, con lo que podremos probar nuestros diseños en una simulación del iPhone. No es una opción demasiado interesante si no somos desarrolladores, pero si ya lo somos, siempre tenemos la posibilidad de usar el simulador para probar páginas web en lugar de aplicaciones.
Por último, tenemos la opción de usar Safari cambiando el agente de usuario por el del iPhone. Esto es algo que se puede hacer también en otros navegadores, sin embargo como Safari y Mobile Safari parten del mismo motor de renderizado, es más conveniente usar estos, ya que así nos aseguramos de que lo que vemos durante las pruebas es lo más parecido al resultado final.
Un diseño sólo para iPhone
Bien, ahora ya podemos comenzar a diseñar para el iPhone y lo primero que deberíamos hacer es asegurarnos de que nuestro diseño especial sólo se use en el iPhone. Para ello recurriremos al tutorial que publiqué la semana pasada sobre cómo detectar navegadores mediante PHP. De momento nuestro diseño podría comenzar así:
[php]
function is_browser($name, $version=”) {
$user_agent = $_SERVER[‘HTTP_USER_AGENT’]; // Cargamos el UserAgent en una variable
$wtr = false; // Esta variable es la que indica si se ha accedido con el navegador que buscamos o no. Por defecto es false, sólo cambia si se accede con el navegador buscado
$wtmb = ”; // Esta variable almacena el navegador del dispositivo móvil (sólo si buscamos un navegador de dispositivo móvil, esto no incluye ni Android ni iPod ni iPhone)
// Primero veamos a quién buscamos y luego comprobemos si es él
switch ($name) {
// Caso Internet Explorer
case ‘IE’:
if (strrpos($user_agent, "MSIE") === false) {} else {
if ($version != ”) {
if (strrpos($user_agent, ‘MSIE ‘.$version) === false) {} else { $wtr = true; }
} else {
$wtr = true;
}
}
break;
// Caso Firefox
case ‘FF’: if (strrpos($user_agent, "Firefox") === false) {} else { $wtr = true; } break;
// Caso Opera
case ‘OP’: if (strrpos($user_agent, "Opera") === false) {} else { $wtr = true; } break;
// Caso Konqueror
case ‘KQ’: if (strrpos($user_agent, "Konqueror") === false) {} else { $wtr = true; } break;
// Caso Chrome
case ‘CH’: if (strrpos($user_agent, "Chrome") === false) {} else { $wtr = true; } break;
// Caso Safari
case ‘SF’: if (strrpos($user_agent, "Safari") === false) {} else { $wtr = true; } break;
// Caso iPod
case ‘IPD’: if (strrpos($user_agent, "iPod") === false) {} else { $wtr = true; } break;
// Caso iPhone
case ‘IPH’: if (strrpos($user_agent, "iPhone") === false) {} else { $wtr = true; } break;
// Caso iPod o iPhone
case ‘IPO’:
if (strrpos($user_agent, "iPod") === false) {} else { $wtr = true; }
if (strrpos($user_agent, "iPhone") === false) {} else { $wtr = true; }
break;
// Caso Android
case ‘AD’: if (strrpos($user_agent, "Android") === false) {} else { $wtr = true; } break;
// Caso navegador móvil
case ‘MB’:
$mua = array(
‘PIE4’ => ‘compatible; MSIE 4.01; Windows CE; PPC; 240×320’,
‘PIE4_Smartphone’ => ‘compatible; MSIE 4.01; Windows CE; Smartphone;’,
‘PIE6’ => ‘compatible; MSIE 6.0; Windows CE;’,
‘Minimo’ => ‘Minimo’,
‘OperaMini’ => ‘Minimo’,
‘AvantGo’ => ‘AvantGo’,
‘Plucker’ => ‘Plucker’,
‘NetFront’ => ‘NetFront’,
‘SonyEricsson’ => ‘SonyEricsson’,
‘Nokia’ => ‘Nokia’,
‘Motorola’ => ‘mot-‘,
‘BlackBerry’ => ‘BlackBerry’,
‘WindowsMobile’ => ‘Windows CE’,
‘PPC’ => ‘PPC’,
‘PDA’ => ‘PDA’,
‘Smartphone’ => ‘Smartphone’,
‘Palm’ => ‘Palm’
);
foreach($mua as $nav => $ua){ if(strstr($user_agent, $ua) != false) { $wtmb = $nav; } }
if ($wtmb != ”) { $wtr = true; }
break;
// Caso genérico
default: $wtr = false; break;
}
return $wtr;
}
if (is_browser(‘IPO’)) {
/* Diseño especial para el iPhone / iPod Touch */
} else {
/* Diseño general para el resto de navegadores */
}
[/php]
Y esto es todo de momento.
Más adelante…
En las próximas partes comenzaremos a diseñar para el iPhone. Explicaré desde cómo aprovechar las posibilidades de Mobile Safari para ahorrarnos trabajo (por ejemplo, creando degradados con CSS en lugar de con imágenes) hasta qué medidas usar, cómo detectar rotaciones del dispositivo (si está en vertical u horizontal)… en resumen, cómo simular la interfaz de una aplicación.
Eso sí, habrá unas cuantas partes más. En principio no tengo decidido cuántas habrá en total (ya he comentado al principio que no las tengo escritas), así que podéis pedir en los comentarios que me centre en alguna cosa en especial.
This post was published 14 years ago so it may be outdated.
Vía Genbeta descubro algunas imágenes del rediseño que el equipo de Ubuntu está haciendo para la versión 10.04 Lucid Lynx. Al parecer el rediseño no sólo afectará al ssitema operativo en sí, sino que también viene acompañado de un cambio en el logotipo de Ubuntu, de la página web y del merchandising que acompaña a cada versión.
A continuación tenéis algunas imágenes del nuevo diseño de Ubuntu.