Documentación esencial de Java
Si eres programador Java, estas URLs deberían tener un lugar de honor en los favoritos de tu navegador web:
Si no las tienes, ¿a que esperas para añadirlas?
Si eres programador Java, estas URLs deberían tener un lugar de honor en los favoritos de tu navegador web:
Si no las tienes, ¿a que esperas para añadirlas?
Esto podría calificarse como “la biblia de OC4J” (Oracle Containers for Java):
Oracle Application Server Containers for J2EE Servlet Developer’s Guide (10g)
¡Con esta guía al fin sabré donde leches mete los archivos de las aplicaciones desplegadas! ¡Albricias!
Escuchar MP3 está muy bien pero siempre se hecha un poco en falta la variedad y la “sorpresividad” de la radio, el poder escuchar cosas nuevas que no conocías. Trabando pegado a un ordenador, escuchar radio a través de internet es una forma muy interesante de escuchar la radio. Pero, ¿cual es mi principal problema?
Principalmente que la música que me gusta no suele abundar en la radio: el rock y el heavy. No me sean melindrosos y me vengan con “¡oh, rock y heavy! eso es lo que escuchan los satánicos esos que visten de megro y llevan greñas”. Y ni se les ocurra ponerme como ejemplo de grupo de rock a El Canto del Loco, que me da un algo. Les hablo de buena música (siempre que suene bien), interpretada generalmente con guitarra, bajo y batería, nada de gente que cree que cantar en gritarle a un micrófono hasta amedrentarlo, ni de otros que creen que tocar la guitarra es darle de arriba abajo con la púa. Hablo de MUSICA, así, con mayúsculas.
Lo que iba diciendo, es complicado encontrar este tipo de música en internet. No me pregunten el por qué, pero es así. No obstante, no todo está perdido, y he conseguido encontrar algunos programas muy útiles para oir radio, y páginas web con radios a medida o que retransmiten radios “de verdad”. Pruebenlas y no creo que se arrepientan.
Programas de radio con formato clásico: con sus locutores, programas, ¡y publicidad, por supuesto!
Mariskal Rock: El Mariskal Romero es el espíritu del rock, un hombre que entiende la música como cultura y que derrocha energía. Al principio parece un demente (por eso me enganché a la primera
), pero en cuando te acostumbras a su peculiar forma de hablar te das cuenta de que sabe muy bien de que habla. La emisora no tiene programación diaria, pero la renuevan semanalmente y tiene bastantes programas distintos e interesantes. Merece la pena echarle un vistazo.
Rock&Gol: Lo que más me gusta de esta emisora es la parte izquierda del nombre: siempre que voy en en coche y no echan programas de deportes la suelo llevar puesta. Ponen buena música y no se nota nada que son del mismo grupo que la COPE (¡¡quien lo diría!!)
Shouthcast: Seguramente será la mayor colección de radios online existente.
Páginas web o programas que permiten crear radios personalizadas según preferencias, o que directamente permiten escuchar canciones seleccionadas en la propia web.
Last.FM: Bastante conocida por sus propios méritos. Permite especificar los tipos de música que quieres oir y te crea una lista de reproducción personalizada al instante. También permite buscar por artistas.
Rockola.fm: Esta me la acaba de pasar “La Mari”
. Emisora online muy interesante orientada hacia el rock. Tiene muuuchos grupos nacionales, dificiles de escuchar en otras emisoras. Completa, sencilla y repleta de Rock y Heavy, ¡¡incluidos grupos nacionales!! ¿Qué más se puede pedir?
Spotify: Programa para windows (y para linux wine mediante) que permite crear listas de reproducción y radios temáticas. Las listas se guardan en el servidor de spotify. Las cuentas gratuitas tienen publicidad, pero es mucho menos habitual que en una radio normal, y no molesta demasiado. Está muy bien para escuchar grupos concretos.
Go Ear: Permite buscar una canción en concreto y escucharla en el acto. También permite a los usuarios registrados hacerse listas de reproducción. Además, permite insertar en tu página web un pequeño reproductor flash integrado para que cualquiera pueda oir la canción que tu quieras. Muy buena para buscar canciones sueltas.
En el trabajo tengo que usar windows y en casa suelo usar linux, así que les presentaré programas para ambos sistemas operativos.
Screamer Radio: (Sólo Windows) El mejor que he probado para escuchar la radio por internet. Tiene un listado de radios y en la página web también se pueden buscar radios de todo el mundo. Rock&Gol y Mariskal Rock aparecen en el listado (Música por region/Europa/España/). Tiene algún bug que hace que desaparezca la lista de emisoras, pero recargando la lista vuelve cual turrón en navidad.
XMPlayer: (Sólo Windows) Reproductor de música de múltiples formatos. Es sencillo, rápido y reproduce bastante bien las emisoras de radio. Ha conseguido que olvide a winamp.
VLC: (Multisistema) Uno de los mejores (para mi mejor) reproductores de vídeo, también se sabe manejar muy bien con la música y las emisiones de radio online. Soporta muchos formatos, está para muchos sistemas operativos y trabaja muy bien con los flujos multimedia.
Amarok: (*NIX) Para mi gusto, uno de los mejores reproductores musicales. Tiene integrado un listado de emisoras de radio que se auto actualiza periódicamente con el listado de shoutcast.
Como dice el Mariskal, ¡¡el poder de la FM eclosionará en tu ordenador!!
El exceso de siesta de hoy me ha dejado con las reservas de sueño agotadas para la noche, así que me ha dado por leerme RSS que tenía un poco abandonados, a ver si me entraba algo de sueño. Y he dado con una entrada muy interasante en el blog de tecnorantes. Me ha hecho pensar una cosa que puede parecer evidente pero no suele resultarlo para la mayor parte de la gente. Ahí va:
Internet no es un programa
Obvio para los que sabemos que es TCP/IP y diferenciar un cliente de un servidor, pero muy confuso para casi todos los mortales y personas de bien.
En medio de esta curiosa confusión comienzo a entender que se les intenten vender términos vacíos de significado y números de versión fictios: web 2.0, páginas beta, etc. Como si digeran “mi programa de internet tiene más y mejores características. ¡Úsalo si no quieres seguir anclado a programas antiguos!”.
Claro, que es normal que se confundan porque, ¿alguien se lo ha explicado? Y sobre todo, ¿a cuanta gente no le interesa que la gente se conciencie?
Y un poco al hilo de esto, ¿por qué la gente se fía más de las noticias falsas y deformadas que dan en los medios sobre “virus informáticos letales”, “piratas informáticos” o “asesinos o pederastas que buscan gente en páginas web” y no nos hacen ni puñetero caso a los profesionales y a los que realmente tenemos los conocimientos y la experiencia? ¿Por qué es más creible una noticia truculenta que un auténtico especialista en el tema tratando de explicar bien las cosas?
No se por qué, pero windows me odia. Es un hecho innegable. Cada vez que instalo una nueva versión de Linux o cualquier otro sistema operativo, solo un SO me da problemas, ¿adivinan cual? Pero, ¿qué le habré hecho yo para merecer semejante castigo?
La última de sus pérfidas venganzas contra mi pobre persona ha sido muy divertida. Las particiones NTFS son las hijas de Windows, y como tales no abandonan a su pobre padre ni saben hacer nada sin él. ¡Cuanta emotividad paterno-filial! El caso es que si falla el gestor de arranque de windows (esto si que ha sido culpa mía
), la partición no se deja acceder. ¿Para que vas a querer acceder a tus datos si no puedes usar a su amado Windows XP? Y el proyecto de clase de mi hermano ahí adentro y el muy modorro sin copias de seguridad.
Ingénuo de mi me dije: “bueeno, seguro que con las herramientas del CD de instalación de windows se arregla”. Nunca aprenderé. Después de hacer un chkdsk (esto si que funcionó, ¡menos mal!), un fixboot y un fixmbr descubrí con alborozo que el MBR que instala fixmbr ¡me destruye el MBR! Qué bien, la herramienta para reparar el MBR te destroza el MBR.
Segundo intento: Recuperación automatizada con un CD de OpenSuse 11.1. Por razones misteriosas, parece que el sencillo /dev/sda es una forma muy aburrida de llamar a un disco duro, así que prefiere llamarlo por el modelo del fabricante, ¡¡un chorizo de caracteres alfanuméricos con el número de serie de fabricación y el nombre del fabricante!! Que intuitivo… Y como era de esperar, el cargador de arranque se vuelve loco.
Tercer intento: Modificar la configuración automatizada y hacerlo medio a mano. ¡Parece que funciona! Reinicio y, ¡¡no sale nada!! Oh, mierda, la recuperación la hace sólo en el stage 1 ¿Qué es el stage 1? Ahora que lo preguntas, es algo bastante interesante. El proceso de arranque se realiza en varias etapas. Primero la BIOS redirije la ejecución al primer sector del primer disco duro, llamado MBR (Master Boot Record) y suele ser conocido como stage 1. Este programa es diminuto y ofrece poca funcionalidad (medio Kb), así que suele llamar a otro programa mucho más grande y situado ya dentro de una partición del disco buro al cargador de arranque principal, llamado stage 2. Este programa ya puede ser mucho más grande y complejo. Grub o el menú de arranque de Windows (sólo si tienes varios Windows instalados) son buenos ejemplos de stage 2. Este programa suele mostrarse como un menú que muestra los sistemas operativos instalados y permite elegir uno y comenzar a cargarlo.
En resumen: el MBR es lo primero en ser llamado y este llama a cargador de verdad en una partición del disco duro. El problema que tenía es que la reparación automática confiaba en que el MBR funcionaba y sólo restauraba el stage 2, el menú de selección. Craso error: Windows XP había conseguido destruirlo (y ya es dificil, por cierto).
Después de hacer un receso para hacer copias de seguridad vino el éxito al fin. El proceso se puede resumir como acceder a la partición de linux existente, cargarla y restaurar grub a mano. Suena sencillo, ¿eh? Bueno, si tienes otro portatil para poder buscar los pasos por internet si
Para el que haya tenido el mismo infortunio, he aquí una bonita guía para conseguir recuperar el cargador de arranque Grub.
Arrancar un LiveCD de Linux: En mi caso he usado el mismo DVD de Suse 11.1 que usé para instalar, seleccionando la opción de “Rescate”.
Montar el disco con linux: En el punto 1 se ha conseguido un linux, pero no nuestro linux. Es un linux mínimo que está funcionando desde tu lector de DVD, así que habrá que montar el disco duro en algún directorio:
¿Cual era mi disco duro?: Si no te acuerdas, puedes hacer un fdisk -l y saldrán todas las particiones y la ruta de acceso (las rutas de acceso tienen el aspecto /dev/sd* para discos SCSI/SATA o /dev/hd* para discos duros y CDs/DVDs).
Montar la partición: Es muy sencillo, hay que usar el comando mount de la siguiente manera: mount -t ext3 /dev/sda3 /mnt. Donde /dev/sda3 sería la ruta de acceso al disco duro anterior (que cada uno ponga la que le convenga). Si se produce un error, es que la ruta al disco duro está mal puesta. Será otro de los que salían on fdisk. Llegados a este punto se puede acceder al disco de linux.
Preparar una jaula: Una jaula chroot es una forma de utilizar los programas y archivo que hay en una partición que no es la que ha arrancado linux. Es como si le dijeras al kernel: “eh, que en realidad mis archivos y programas están en otro sitio, olvidate de los que usabas y usa estos otros”. Técnicamente es distinto, pero conceptualmente esto es lo que el usuario ve. Antes de hacer el “cambio de ubicación” hay que copiar los dispositivos del sistema a la nueva ubicación. Si no lo entiendes, da igual, porque son un par de comandos sencillos
:
mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev mount -o bind /sys /mnt/sys
Crear la jaula: Este paso es el más sencillo: chroot /mnt /bin/bash ¡Listo! Ya estás en tu sistema linux hasta el momento inarrancable. Ahora ha llegado el momento de arreglar Grub (si es necesario y sabes como, si no mejor infórmate antes de seguir).
Revisar la configuración de grub: La configuración de Grub se guarda en /boot/grub/menu.lst. En este punto se puede editar el archivo con nano, vim o emacs.
Reinstalar Grub: ¡Al fin llegamos a donde queríamos! Llega el momento álgido: restaurar Grub. Para ello hay que entrar en la consola de Grub e introducir una serie de comandos. Para lanzar la shell de grub tan sólo hay que ejecutar grub en la consola y ya estaremos dentro. Ahora podemos ejecutar los comandos para reinstalar el cargador de arranque. Antes de nada, hay que tener en cuenta como Grub llama a los discos duros y las particiones. Linux llama a los dos primeros disco IDE hda y hdb, y a los primeros discos SCSI/SATA sda y sdb, y a la primera partición de cada disco hda1, hdb1, sda1 y sdb1 respectivamente. Sin embargo, Grub los llama por su orden y no por su tipo. Los primeros disco son (hd0) y (hd1), sea cual sea su tipo, y la primera partición de cada uno es (hd0,0) y (hd1,1). En definitiva, que si tu partición con linux está en /dev/sda3, en Grub se llamará esa partición (hd0,2). Veamos los comandos:
root (hd0,3) setup (hd0) quit
Si todo ha ido bien, al reiniciar volverás a tener tu flamante Grub funcionando.
Si hay algo para lo que soy aún más anárquico que para escribir en este blog, es a la hora de leer los feeds que con compulsiva obsesión he ido almacenando en mi lector de noticias. Esta tarde estaba leyendo debug_mode=on, después de tener un tanto abandonada esta página, y he encontrado una intesante referencia a las funciones "map" y "reduce" en python, y el aún más intersante enlace al Proyecto Euler (Project Euler).
Si el artículo sobre map y reduce os resulta interesante, os recomiendo este otro más extenso: http://mundogeek.net/archivos/2008/03/10/python-programacion-funcional/.
Por cierto, de mi coseña, la versión "funcional" en python de la resolución del primer problema del Proyecto Euler:
[SPOILER: SELECCIONAR LAS SIGUIENTES LÍNEAS PARA VERLO]
#Version estructurada "habitual"
def estructurada(max):
tmp = 0
for i in range(1, 1000):
if i%3 == 0 or i%5 == 0:
tmp += i
return tmp
#Version funcional en una linea
funcional = lambda a: reduce(lambda x, y:x+y, filter(lambda x:x%3==0 or x%5==0, range(1, a)))
print estructurada(1000)
print funcional(1000)
[FIN DEL SPOILER]
Get free blog up and running in minutes with Blogsome
Theme designed by Viewfinder Design
