Solo llevo leído la mitad, pero me parece reseñable este artículo sobre OOP con Javascript.
Coincido con el autor en que muchos programadores llevamos mucho tiempo con Javascript, hemos hecho cien virgerías, y aunque conocemos algunas de sus peculiaridades, se nos escapan otras, o no las hemos aprendido por asimilación. En todo caso, es agradable leer cómo va explicando y razonando poco a poco los entresijos.
Tengo un amiguete que le han concedido una beca de 1.600 € para ir a estudiar inglés a Malta. Se marcha 3 semanas, y con este dinero puede pagar el curso, la residencia, y el vuelo. Pero el curso es de ¡45 horas!
Hombre, qué derroche sin sentido, pagadle 2.000 € pero que el curso valga la pena.
En el Centro Alemán con un presupuesto inferior a esos 1.600 € te llevan dos semanas a un castillo en mitad de la selva negra y te dan clase 8 horas al día.
Va de retro! En pleno S. XXI (aún vamos por ese, no?) ponerse a hacer un Applet, pero bueno, me lo encargaron, y ya que está hecho, lo he puesto en una web.
Applet para WebCam
El primer problema a resolver fue detectar si la imagen estaba completa. Puesto que la imagen se sube por FTP, puede suceder que el applet la solicite cuando el fichero está a medias. Los métodos oficiales para cargar imágenes no te avisan de esta situación, todos funcionan “demasiado bien”. La solución ha sido comprobar los dos últimos bytes del fichero, que deben tener una marca propia del JPG. Después de consultar con colegas no se nos ocurrió nada mejor.
Después he implementado un par de virguerías, como rotar la imágen, sobre poner la fecha (estas dos era parte de las especificaciones), pasarla a escala de grises, cambiarle el brillo, poner una marca de agua … casi todo ha sido facil o copiar y pegar código que he encontrado por ahí, pero de todos modos, ha estado bien “lo aprendido”.
En búsca y captura de un libro de O’Relly “Java 2D Graphics” en PDF.
A raíz del post de Juanjo sobre Escalabilidad de aplicaciones (web) he descubierto el servicio Amazon S3 de hosting a gran escala, y me ha parecido muy curioso.
Ellos, y no digo que no sea justo, te cobran por caudal, tanto de subida como de bajada, y te cobran por tiempo de proceso, por cada petición que haces (vale, es una miseria, pero lo cobran). Pero una vez recuperas el fichero, y lo tienes que enviar a tu usuario, también estás gastando tu propio caudal, que habitualmente cuesta dinero.
Además, precisamente ayer comentábamos sobre porqué no almacenar imágenes en base de datos (o en este caso, en un servidor a parte) y el propio Juanjo argumentaba que eso inutilizaría las técnicas de caché, o habría que reimplementarlas.
Por otro lado, no controlo mucho de WebServices pero, si la comunicación se realiza enviando XML mediante HTTP, para transferir -por ejemplo- un fichero de 100 Mb ¿No hace falta tenerlo en memoria?
Se me ocurría esta mañana mientras iba en el autobus, sin razón aparente.
Guardando las imágenes necesarias para la web en el disco, has de estar pendiente de borrar la anterior cuando pones una nueva, de borrar las que están en uso cuando se borra un registro, de copiarlas del entorno de producción al de publicación cuando se publica la base de datos, etc.
Todo por evitar que cuando se solicite una imagen, sea necesario hacer una consulta más a la base de datos … porque espacio, lo que se dice espacio, no creo que ocupen mucho más en un sitio que en otro, salvo que afecte exageradamente al registro de transacciones y movidas varias, pero todo esto depende del motor de base de datos que uses.
En HSQLDB ocuparían el doble exacto, porque cada byte se almacena en formato hexadecimal (texto, osea dos bytes), pero en otros motores …
¿Qué opinais?
Resulta que en su afan por ser tan como Windows, esta distro ni te pregunta por los paquetes a instalar, ni te pregunta por la password del usuario root, ni … vamos, que te pregunta la zona horaria y el idioma por lo mismo, por parecerse a Windows.
¿Cómo ejercer como super usuario? Con “sudo”, que por lo visto conoce la clave aleatoria que se ha generado para root.
Truco del almendruco, utilizar sudo para cambiar la password del root, y así poder hacer login como root a la antigüa usanza.
sudo passwd
Perdón, dije login? No se puede hacer login con root, no sea que el usuario modelo windows lo use como hábito, pero al menos cuando te salte la pregunta de la contraseña para poder hacer cambios en la configuración, sabrás qué contestar.
No sé porqué he pulsado en “new features” en mi página de inicio de NetVibes y me ha llevado a su blog, dónde comentan que ahora puedes personalizártelo mucho más, y mirando la imágen demostrativa he leido la TO DO LIST que tiene:
- Buy some milk
- Save the cheerleader
- Save the world
Puedes verla con tus propios ojos.
Anda que no se ha intentado llevar internet a la TV en ocasiones … un capazo de veces. Y al bolsillo también, como la PSP que tiene WiFi.
El tema lo habreis leido por ahí seguro, Google Reader específico para la Wii, también sé de un plugin para optimizar Wordpress para Wii, pero nunca antes -creo- se hicieron esfuerzos así.
Ya conozco de cerca el primer caso de una cuenta de AdSense baneada por fraude en los clicks.
Me parece excesivo poner aquí el recurso que el usuario envía a Google disculpandose, pero me no creo que sea problema publicar la respuesta de Google, pues será prácticamente estandar para todos los casos.
Gracias por su recurso.
Tras recibir su respuesta, hemos vuelto a revisar detenidamente los datos de su cuenta y hemos comprobado una vez más que se han generado clics no válidos en los anuncios publicados en su sitio web, hecho que infringe nuestros Términos y condiciones y las políticas de nuestro programa.
https://www.google.com/adsense/terms
https://www.google.com/adsense/policies
Contamos con estas políticas para ayudar a garantizar la eficacia de los anuncios Google tanto para nuestros editores como para nuestros anunciantes. De acuerdo con nuestra política a este respecto, no es posible readmitirlo en el programa.
Como ya sabrá, los editores cuya cuenta se haya inhabilitado debido a la existencia de clics no válidos no pueden seguir participando en AdSense. Por este motivo, usted no puede abrir una nueva cuenta.
Por favor, recuerde que se ignorarán los recursos posteriores o duplicados, y que dejará de recibir notificaciones de Google.
Gracias por su comprensión.
Atentamente,
El equipo AdSense de Google
Me encanta especialmente la de “no nos llores más, lo hecho hecho está”.