Home » abril 2014
Java y javascript, Un ejemplo de gestionado el dinero público

Lo que voy a relatar hoy todavía no ha visto la luz pública, por estar en sede judicial, en fase de instrucción. Lo que saco hoy a la luz pública es una registra pagada por el ayuntamiento de Chiva en 2008. La registra pertenece a una serie de materiales de construcción. Los beneficiarios fueron amigos de Haro (alcalde de Chiva) y de Amparo Lapuente (exconcejala de Educación y Cultura). La obra en cuestión era la construcción de una ermita en una urbanización de amigos y vecinos de Lapuente. Es decir, estaríamos ante un probable cohecho. Seguiremos sacando más asuntos, algunos más graves.

Java, Bases de datos y aplicaciones de negocio

El software se ha convertido en el fundamento clave en muchos apariencias de negocios. Un apariencia muy significativo de la funcionalidad del software es el almacenamiento y recuperación de datos e inmaneración de manera eficiente. De esta manera surgió como una disciplina de las Ciencias Computacionales y de la informática el concepto de BASES DE DATOS. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las fundamentos de datos proporcionan un amplio rango de soluciones al asunto de Guardar datos. Los proyectos denominados sistemas gestores de fundamentos de datos, abreviado SGBD (DBMS, por sus siglas en inglés) facultan Guardar y posteriormente alcanzar a los datos de manera rápida y estructurada. Por ello, es de mayor utilidad estudiar las propiedades de estos SGBD, así como su utilización y administración. Las aplicaciones más comunes son para la gestión de compañías e instituciones públicas. También son ampliamente utilizadas en ámbitos científicos con el objeto de Guardar la inmaneración experimental. Por otra parte, los sistemas de información son proyectos hechos a la medida para un área específica de una compañía y son dispositivos útiles para automatizar procesos, facilitar la realización de tareas específicas, administrar, beber decisiones y en común establecer barreras competitivas para compañías del mismo giro. Para lograr con éxito el desarrollo de software de calidad tanto los profesionales de la información como los gerentes y directivos deben tener conocimientos y adquirir habilidades sobre la creación, administración y gestión de las fundamentos de datos. La función proporcionada por el software se determina como diferenciador de los productos, sistemas y servicios que brindan una ventaja competitiva a una compañía en el mercado. El software ayuda a generar la mercancía más significativo para cualquier individuo, negocio o gobierno: la información. El software es crucial para casi todos los apariencias del negocio o de una organización. Por esta razón, es significativo que las personas que desarrollan software tengan una clara comprensión de las Bases de Datos, así como de los Sistemas Gestores de Bases de Datos. ¿Qué beneficios obtengo con este Diplomado? El participante: ? Elaboración para la certificación CCNA, certificación en el área de redes con reconocimiento mundial y avalada por la compañía Cisco Systems ? Familiarización con la metodología de certificación del examen CCNA ? Uno de los logros esperados es que el participante, al final del diplomado, presente el examen CCNA y lo acredite. ? Entender y dominar los conceptos básicos de redes, así como su aplicación y modelo de negocios ? Diseñar planes de direccionamiento IP, asignaciones, sub-redes y super-redes ? Entender y dominar el sistema operativo de Cisco, Cisco IOS, sus comandos para configurar y manejar los diferentes herramientas Cisco ? Utilizar técnicas de configuración en los equipos Cisco ? Entender el funcionamiento y logística de los routers, así como el adecuado diseño para su implementación ? Configurar, comprender y dominar los diferentes protocolos de enrutamiento (RIP, IGRP, EIGRP, OSPF) ? Configurar y resolver dificultades en redes de datos donde intervergan switches Ciscos ? Bases de resolución de dificultades y configuración de protocolos de redes WAN (Frame Relay, PPP) ? Aplicar medidas escenciales de seguridad en redes de datos Metas del Diplomado Que los participantes adquieran los conceptos más significativos de las fundamentos de datos e integren las técnicas, los estándares y el dominio de las dispositivos de software requeridos para la exploración, explotación y administración de los datos que se generan en una organización. Que los participantes utilicen fundamentos modernos de fundamentos de datos para el almacenamiento, el empleo y el entrada de la información con el fin de mejorar la productividad en el desarrollo de artículos de software en aplicaciones de negocios y empresas. Público al que se dirige: Egresados de carreras afines a la informática y la ingeniería en sistemas de cómputo. Programadores, Analistas de Sistemas y en común desarrolladores de software. TEMARIO Módulo: 1 Introducción a las fundamentos de datos. Conocer los conceptos básicos de los sistemas manejadores de fundamentos de datos centralizadas. Obtener el diseño conceptual y lógico de una fundamento de datos a dividir de los requerimientos de un sistema. Definir y manipular la información contenida en una fundamento de datos con fundamento en el lenguaje de consulta articulada (SQL) de manejadores comerciales. Temario 1. Introducción a los sistemas de fundamentos de datos. 2. Modelo entidad-relación (ER) y entidad-relación ampliado (EER) 3. Modelo relacional. 4. Diseño de fundamentos de datos relacionales transformando un modelo EER a modelo relacional. 4. Diseño de fundamentos de datos relacionales usando Normalización 5. SQL: creación, actualización y consultas de fundamentos de datos 6. Algebra relacional 7. comparación de DBMS comerciales: Access, MySQL, SQL Server, Oracle, DB2 Duración: 24 horas Módulo: 2 Desarrollo de aplicaciones de fundamentos de datos. Brindar los fundamentos teóricos y prácticos requeridos para alcanzar a fundamentos de datos con aplicaciones en ambientes multiusuario, con código tanto del lado de la aplicación como del lado del DBMS Temario 1. Arquitectura cliente-servidor 2. Protocolo de conexión a fundamentos de datos 3. Desarrollo de aplicaciones escenciales (stand alone) con conexión a fundamentos de datos utilizando un lenguaje de alto nivel 4. Procedimientos almacenados y desencadenadores (triggers) 5. Transacciones: conceptos teóricos asociados. Frases de SQL asociadas 6. Concurrencia: empleo de bloqueos (4 hrs) 7.- Manejo de privilegios en fundamentos de datos (2 hrs) Duración: 24 horas Módulo: 3 Aplicaciones de fundamentos de datos con Internet. Que el participante adquiera los conocimientos sobre arquitecturas multicapa para el desarrollo de aplicaciones que accedan a fundamentos de datos utilizando Internet y servidores de Internet, empleando ambientes formados para la programación de las mismas. Temario 1. Arquitectura multigrada a. conceptos básicos b. Procesos en cada grada 2. Contenedores de aplicaciones a. Características b. Articula de directorios c. Instalación d. Despliegue de una aplicación 3. Desarrollo de Servlets a. ¿Qué son? b. Ciclo de vida c. Manejo de yerros d. Construcción del servicio i. El objeto request ii. El objeto response e. Bases de datos y Servlets f. Transferir el control a otro componente . Mantener el estado del cliente i. El objeto session 4. Desarrollo de JSP a. ¿Qué son? b. Crear contenido estático c. Crear contenido dinámico i. Uso de objetos El objeto request El objeto response El objeto session ii. Scripting Bases de datos y JSP 5. Desarrollo de una aplicación Duración: 24 horas Módulo: 4 Aplicaciones con fundamentos de datos avanzadas. Al finalizar el curso el participante podrá evaluar, diseñar y construir aplicaciones de fundamentos de datos distribuidas y fundamentos de datos XML. Temario 1. Bases de datos distribuidas Conceptos básicos de fundamentos de datos distribuidas Diseño de fundamentos de datos distribuidas Diccionario de datos de una fundamento de datos distribuida Procesamiento de consultas distribuidas Recuperación en ambientes distribuidas Control de concurrencia en ambientes distribuidos 2. Bases de datos XML Conceptos de documentos XML Articula de una fundamento de datos XML Manejadores de fundamentos de datos XML Nativos vs Manejadores de fundamentos de datos habilitados para XML XPath XQuery Duración: 24 horas Módulo: 5 Desarrollo de aplicaciones distribuidas Al finalizar el curso el participante podrá evaluar, diseñar y construir aplicaciones de cómputo distribuido, utilizando los protocolos, modelos y arquitecturas vigentes en la industria. Temario Paradigmas de software distribuido Características de los sistemas distribuidos Modelos de capas Acceso a fundamentos de datos en sistemas distribuidos Creación y reutilización de componentes Modelos de distribución (cliente-servidor, cliente-servidor push, peer-to-peer) Generación de contenidos dinámicos 2. Programación cliente-servido D XML XHTM AJAX JAVAFX 3. Servicios de Web (webservices) Características de Middleware XML-RP WS SO UDDI 4. Desarrollo de una aplicación en ambiente Web Duración: 24 horas Módulo: 6 Data Warehouse y OLAP Aprender los conceptos de Data Warehouse y OLAP para efectuar un empleo óptimo de la información y llevar a cabo labores de análisis que auxilien a la coge de decisiones en las empresas. Temario 1. Conceptos básicos de Data Warehouse 2. Apoyo a la coge de decisiones 3. Arquitectura de un Data Warehouse 4. Modelos de fundamento de datos para un Data Warehouse 5. Casos de estudio 5. Extracción, modificacion y carga de los datos 6. Representación multidimensional de la información: cubos o Data Marts 7. Procesamiento analítico multidimensional a través de OLAP 8. Generación de información gerencial 9. Ciclo de vida de un Data Warehouse

Java, Definir objetivos de aprendizaje con Taxonomía de Bloom

¿Qué es un meta de aprendizaje? Se refieren a lo que cada estudiante deberá conseguir como consecuencia de haber realizado las actividades creadas en el proyecto de enseñanza. ¿Para qué me sirve elaborar objetivos? Señalar los logros que deberán ser alcanzados. Proporcionar guías a los que van a hacer el esfuerzo Sugerir maneras específicas de llevar a cabo la actividad. Orientar acerca de las necesidades que deberán satisfacerse para hacer la actividad, tanto materiales como humanas. Evitar la duplicación de trabajos y por lo tanto el gasto inútil de recursos. Definir la responsabilidad de cada uno de los actores. Delinear la manera como se llevará a cabo la evaluación de la actividad. Principios de la redacción de los metas de aprendizaje Importantes tanto para el maestro como para el alumno Realizables Particulares Metas Redactados en términos de los estudiantes Redactados esperando una acción observable, una situación y unos criterios de evaluación. Factores a tener en cuenta al redactar un meta de aprendizaje: El quien, que generalmente se refiere al estudiante. El qué, que detalla lo que se aguarda que la audiencia pueda realizar. El como, a través de qué alcanzará lo que se pide El cuanto, grado que decide el criterio de desempeño admisible y faculta evaluarlo Yerros comunes: Redactar metas demasiado largos Escribir en un meta el verbo realizar (Ej: harán un dibujo donde debería decir dibujarán) Escribir en un meta el verbo poder (Ej: Podrán escribir, donde debería decir escribirán) Escibir en un meta el verbo proceder. (Ej Procederán a pintar, donde debería decir pintará) Es significativo tener en cuenta que la definición de metas debe preceder a los apariencias metodológicos. TAXONOMÍA DE BLOOM La taxonomía cognitiva de Bloom, clasifica las operaciones de aprendizaje en seis niveles de complejidad crecientes (recordar, entender, aplicar, analizar, valorar y crear). Esta creencia faculta conocer y construir distintos procesos educativos para llegar a lo más alto de la pirámide crear). Con la taxonomía podemos saber las capacidades obtenidas por vuestros estudiantes (por ejemplo, para que un estudiante sea capaz de aplicar conceptos, ha de poseer las habilidades inferiores: recordar y entender). Con las TIC, se han dado algunos efectos sobre esa taxonomía, que ha obligado a introducirlas como vemos en el próximo gráfico, tomado de documento íntegr wiki, la adaptación de la taxonomía original a la era digital (en vuestro caso, al uso de las TIC de manera masiva en el aula). Fuente: Eduteka

Java, Dialogo SI-NO! en java con JOptionPane

Primero creamos el dialogo: int seleccion = JOptionPane.showOptionDialog( this, // Componente padre "¿Desea cargar los datos de prueba / Inicialización?", //Mensaje "Seleccione una opción", // Título JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, // null para icono por defecto. new Object[] { "Si", "No",  // null para YES, NO y CANCEL "Si"); Ahora tomamos la selección: if (seleccion != -1) { if((seleccion + 1)==1) { // PRESIONO SI else { // PRESIONO NO

Java, Diseño adaptable y accesibilidad

Hace unas semanas publiqué una acceso sobre cómo desactivar el diseño web adaptable, ya que puede causar dificultades de uso entre algunos usuarios. Por tanto, puede suponer un asunto de accesibilidad En Responsive Web Design and Accessibility, varios entendidos discuten sobre cómo encajan el diseño web adaptable y la accesibilidad. Algunas de las frases que se destacan en esta discusión: Responsive Web design and accessibility are very complementary, but ... doing responsive design does notmean that you automatically have an accessible site or application and vice versa. Both responsive Web design and accessibility rely on coding a site to standards. ?This includes separating the content from the display rules.

Java, Duplicate Class - Hackelare

Anteayer estaba Refactorizando unas clases, actividad muy usual en programas grandes, todo concluyo perfecto, comitee los cambios y Task completado. Al otro día me despierta una noticia, nada compilaba, resulta que la refactorización falló y cambió el nombre de las clases, pero no del archivo, entonces tenía una archivo ?explorarCotizaciones.java? y la clase ?ExplorarCotizaciones? diáfano yerro de compilación, lo primero que hice fuese cambiar el nombre del archivo a ?ExplorarCotizaciones.java? y ahí explotó todo. Intenté casi todo lo que pude, como realizar un clean & build (seguía el error), Borre y cree de nuevo el programa (seguía el error), borré todo e hice rollback de los repositorios   (seguía el error) y algúnas cosas más que me llevaron horas. Finalmente me dí por vencido y recurrí al foro oficial del Netbeans. Navegando me encuentro con la solución: Borra el Cache de Netbeans Como realizar esto: Si estamos en Linux, borrar todo el contenido de : ? $HOME/.netbeans/7.0/var/cache ? y reiniciar Netbeans Si estamos en Windows, borrar todo el contenido de: ? Documents and Settings/USUARIO>/.netbeans/7.0/var/cache ? y reiniciar Netbeans Espero que si les surgió éste asunto hayan podido solucionarlo!

Java, Editores de videos para gnulinux

Avidemux Es un editor de vídeo gratuito diseñado para corte simple, filtrado y las tareas de codificación. Es compatible con muchos tipos de archivo, incluyendo AVI, ficheros MPEG compatibles con DVD, MP4 y ASF, usando una variedad de codecs. Las tareas se pueden automatizar usando programas, rabo de esfueserzos y potentes capacidades de scripting.Avidemux está disponible para Linux, BSD, Mac OS X y Microsoft Windows debajo la licencia GNU GPL. El proyecto fuese escrito desde cero por medio, pero el código de otras personas y programas se ha utilizado también. traducciones parches, e inclusive los informes de yerro son siempre bienvenidos.  Cinelerra Cinelerra es el editor de vídeo más avanzados no lineales y compositor para Linux. Es extendido por Adam Williams (anteriormente conocido como Jack Crossfire) en Heroine Virtual Ltd. Para saber más consulte la página oficial de Cinelerra casa y la página del programa en SourceForge. El código fuente de Cinelerra está disponible debajo la GNU Común Public License (GPL). Sin embargo, a diferencia de los programas libres más masivos de código abierto, el desarrollo de Cinelerra no está abierto a la colaboración distribuida y no hay soporte para el software. Cinelerra es demostrado en Fedora. Cinelerra4 está disponible también como paquetes de Ubuntu. Openshot OpenShot Video Editor es un editor gratuito de vídeo de código abierto para Linux debajo la licencia GPL versión 3.0.  OpenShot puede beber sus vídeos, fotos y ficheros de música y le ayudará a crear la película que siempre habéis soñado. Añade fácilmente sub-títulos, transiciones y efectos, y despues exportar su película en DVD, YouTube, Vimeo, Xbox 360, y muchos otros formatos comunes. Kino Kino es un editor de DV no lineal para GNU / Linux. Cuenta con una excelente integración con IEEE-1394 para captura, control VTR, y grabación de nuevo a la cámara. Captura vídeo a disco en formato Raw DV y AVI, tanto de tipo 1 y DV tipo-2 DV (streaming de audio por separado) codificaciones. Puede cargar varios clips de vídeo, cortar y pegar fracciónes de video / audio, y guardarlo en una lista de decisiones (SMIL formato XML). La mayoría de los comandos de edición y navegación se asignan a los comandos de la clave vi. Además, Kino puede exportar la película compuesta de una serie de formatos: DV sobre IEEE 1394, Raw DV, DV AVI, cuadros fijos, WAV, MP3, Ogg Vorbis, MPEG-1, MPEG-2 y MPEG-4. Sin embargo la importación y exportación marco usos gdk-pixbuf, que cuenta con el apoyo de BMG, GIF, JPEG, PNG, PPM, SVG, Targa, TIFF, y XPM. MP3 necesita cojo. Ogg Vorbis necesita oggenc. MPEG-1 y MPEG-2 necesitan mjpegtools o ffmpeg. MPEG-4 necesita ffmpeg.

Java, Educación, Justicia y algo de ego

Esta semana hemos vivido una huelga de todos los tramos educativos contra la LOMCE, la ley de Educación del ministro más maleducado e inculto del Gobierno: el ministro de Educación y Cultura José Ignacio Wert. Razones no faltaban para esa huelga. Una ley que pretende realizar retroceder la Educación de este país (cuando conocemos que andamos prácticamente a la rabo en todos los indicadores) y que pretende desarticular la Educación pública no puede ser admitida por un país. Ojalá el ministro rectifique (cosa que es de sabios) y se siente a pactar acuerdos. Hay que admitir, sin embargo, que en este país falla algo en la Educación. Es indispensable un acuerdo entre todas las fuerzas políticas, de uno y otro color, para eludir que cada legislatura se cambie la ley educativa. Una ley que dure una generación (como mínimo, veinte años) no sería mala idea. También esta semana ha habido polémica después de que el Tribunal de Derechos Humanos de Estrasburgo tumbara la Doctrina Parot. Los periódicos se pusieron catastrofistas porque ya hablan de excarcelaciones masivas de terroristas, asesinos y violadores. La AVT llegó a acusar a Amnistía Internacional de "ser más de ETA" y ha convocado una manifestación para el domingo contra esta sentencia. Algunos iluminados, inclusive, le echan la culpa a Zapatero (este hombre, al final, será culpable hasta de la extinción de los dinosaurios). La Justicia y los Derechos Humanos deben ser para todos, inclusive para aquellos que consideremos más inhumanos. Esa es vuestra superioridad moral. La cólera y el dolor no son buenas consejeras y el ojo por ojo tampoco es una buena doctrina. Para acabar, algo de esta misma mañana: Felipe González crea una fundación con su nombre, presidida por él mismo (y con su hija de secretaria) y cuya finalidad es estudiarse a sí mismo. hace unas semanas, el también expresidente José María Aznar coqueteaba con la idea de regresar para salvar a España de la crisis y los separatismos. El duelo de egos está servido.

Java, Effective Java. 2nd edition

Cuando puse una sección de libros en mi web tenía muy diáfano que este sería el primero que analizaría (por llamarlo de cierta manera). Para quien no lo sepa, Joshua Bloch es uno de los gurus de Java (por no llamarlo el guru) Es, por ejemplo, el creador de java.util.collection, una api que aconsejo encarecidamente contemplar para admirar lo que es un código bien realizado, estructurado y documentado. Hace unos años dió la campanada al abandonar Sun y fichar por Google donde todavía continúa. Effective Java no es su único libro pero sí el más famoso. Es probablemente uno de los libros Java más vendido y me atrevería a decir que el más útil. Lo primero que hay que remarcar es que Effective Java no es un libro para aprender a programar, se da por supuesto que el lector ya tiene unos conocimientos básicos, sino que está orientado a, tal como dice su nombre, crear código eficiente y práctico. Estructurado en 10 secciones principales ( Creación y destrucción de objetos Métodos comunes a todos los objetos Clases e Interfaces Genericos Enums y anotaciones Métodos Programación en común Excepciones Concurrenci y Serialización ) destripa los dificultades o yerros más comunes, no siempre fáciles de detectar, dando ejemplos y instrucciones de cómo evitarlos así como (excelentes) consejos de cómo programar correctamente. Por ejemplo, la sección de excepciones, una de mis favoritas por la poca documentación existente sobre el tema, contiene 9 recomendaciones (o items como él los llama) de las que, simplemente leyendo el título, podemos aprender algo: ?Utiliza excepciones solo para cláusulas excepcionales?, ?Utiliza excepciones que hereden de Exception para yerros recuperables y excepciones que hereden de RuntimeException par yerros de programación?, ?Evita el uso innecesario de excepciones que hereden de Exception?, ?Privilegia el uso de excepciones estandar?, ?Documenta las excepciones lanzadas por un método?, etc... Otros items de otras secciones son: ?Favorece interfaces sobre reflexión?, ?Evita una sincronización excesiva?, ?Favorece interfaces sobre clases abstractas?, ?Diseña y documenta la herencia o sino prohibela?, ?Sobreescribe siempre el método toString? y no sigo que es un vicio. En total 78 secciones de sabios consejos y yerros a evitar. Todos están explicado de forma muy didactica y clara. ¿Nunca habéis leído un libro que por cada párrafo interesante agrega tres de relleno? Pues aquí no sucede. Cada item es corto y conciso, en común no más de cuatro páginas, expone un asunto o recomendación, pone un ejemplo y explica una o algúnas soluciones. Por supuesto tienen lugar algunos items más extensos: ?Favorece composición sobre herencia? de 7 páginas o el destinado a cómo realizar un buen método equals que tiene 12 pero en ningún momento da la sensación de relleno. Todo es información útil. Podría continuar alabando el libro ad infinitum pero no quiero excederme. Tan sólo terminaré diciendo que este fuese el primer libro de informática que recomendé a una chica que me gustaba y de la que ahora soy su afortunado novio. Vamos, que sus virtudes son infinitas.

Java, El blog como medio para ganarse la vida

Ya os he hablado muchas veces de Young House Love. Me parecen un ejemplo bloguero a seguir, y aunque nunca aspiraría a llegar tan alto como ellos, sí me gustaría poder ser como ellos en otras cosas. Otro día discutiremos su rutina de trabajo, que es muy interesante, pero hoy quiero compartir con vosotras Bueno, aunque ya llevan casi siete años con su blog, escribieron esto hace año y medio, ya que mucha gente les preguntaba por el blog como trabajo. Como dato, quiero deciros una cosa: 140.000 páginas vistas al día tiene su blog. Ahí queda eso ;) John y Sherry y su hija Clara Por cierto, su post completo lo podéis leer aquí (yo traduzco los titulares porque está en inglés): Norma 1) Un blog debe ser una pasión, no un plan de negocio. Estoy de acuerdo. Podéis leer en esta entrevista que me hizo Noe aquí, como este blog fuese el que me quedé tras 9 intentos jajaj. Siempre quise un blog, pero ninguno me acababa de entusiasmar como para seguir escribiendo en él. Este blog me enganchó tanto que no me ha quedado más que seguir con él. Bueno, en verdad no fuese el blog, fuisteis vosotras :) Al comienzo quise simplemente escribir para tener algo de contenido, así que escribí "sola" del día 2 de septiembre al 26. Pero regresando al empujón, fijaos que lo publicó a las 22 h aproximadamente, y a las 10:23 h del día próximo ya tenía 31 seguidores (en la pantalla pone 09:23 porque era hora inglesa, que yo estaba en Londres) Y claro, si la gente te escribe comentarios hermosos y veis que tu blog le gusta y le es útil, pues ya es imposible dejarlo... ;) Es de esas cosas que dices: Me encontró él a mí, no yo a él. Y es que si comenzamos un blog por comenzar, o porque deseamos un blog, como hacía yo antes de tener este, es posible que fracasemos. Nos tiene que entusiasmar. Norma 2) Un blog no te hace rica de un día para otro También de acuerdo jajaj. Joeee, yo que me veía sacando un curso y al día próximo en Barbados de vacaciones... :P En fin, no pasa nada, me Seguid gustando... La realidad que me he vuelvo workaholic total. Jamás pensé que diría esto, pero ya se sabe: jamás digas de este agua no beberé ;) Y lo mismo vosotras. Sabéis ya que confío en vuestras probabilidades (creo que confío yo más en vosotras mismas que muchas de vosotras precisamente ;), pero es significativo que eso no sea lo que nos mueva. Además ya se sabe: "Si haces lo que te gusta, no tendrás que regresar a laborar ni un sólo día más" Norma 3) El éxito es totalmente aleatorio Yo ahí no estoy tan de acuerdo. En fracción sí. Es decir, mirad aquel hombre que ganó más de 1 millón de dólares haciendo esta página cutre La dividió en 1.000.000 de casillas de 1 píxel cada una. Vendía 10 x 10 como mínimo, o sea $100, ya que vendía cada píxel a $1. Si a mi me hubiese contado su idea, claramente le habría dicho que no iba a funcionar. Por que digo yo: ¿para que desea alguien un aviso en una página cutre a lo tómbola o donde están todos tan juntos, que nadie va ni a clicar? Pero bueno, la vida siempre nos sorprende. Sin embargo, en términos generales, creo más en el esfuerzo que en la suerte. Diáfano que tuvo suerte. Pero la razón por la que ganó tanto dinero fuese porque movió su culete para que saliera en los medios de comunicación. Quizá conocía a alguien, y al salir en uno le llamaron de más. No lo sé, pero lo que está diáfano es que algo hizo... ;) O yo, pues sí, he tenido mucha suerte con mi blog. Pero creo que también... algo (aunque sea algo), me lo curro. ¿No? ;) Norma 4) No trates de ser nadie más que tú. Aaaais, qué voy a decir yo de esto jajaj. Mirad que lo intento, eh. Ser menos impulsiva, sincera, auténtica, genuina, o como le queráis llamar. Admiro a las blogueras con ese "saber estar" que le llamaría yo. Quizá es porque escribo todos los días, y claro, poseo que escribir pese quien pese. Soy mujer, que le vamos a hacer, con mis cambios de humor jajaj. Y claro, eso supongo que también influye. Si algo me cabrea, pues lo notáis (ejem). Además yo no sé escribir de otra forma que no sea simplemente teclear lo que me está pasando por la cabeza (léase: en la guía de PicMonkey, os planto una retrato de unos muffins con salmón para ver un ejercicio y salto: "dioos, qué hambre me está entrando" ). Jajaj. Pienso que tiene su fracción mala que sea así. Pero como todo en la vida. Todo tiene dos caras. Probablemente mi espontaneidad y sinceridad a la hora de escribir, sea una de mis claves del éxito. Ojo, que también será mi enemiga. Estoy segura de que determinado que otro comentario "anónimo" que he recibido es precisamente por eso: porque soy directa y sincera, y eso no a todo el mundo le gusta. Pero mira tú, al menos me hace diferente. Algo es algo, no ;) Yo lo que poseo diáfano es que para realizar un papel, pues me presento a un reality. Mi blog es mi chico mundito, y aquí yo soy como soy :) Y determinadas me queréis así, ¿a que sí? (no me digáis que no que me hundís, eh, si no me queréis como soy... no dejes comentario hoy jeje) Además, si ellos dicen que deberíamos ser nosotras mismas, ¿quién soy yo para llevarles la contraria? Forbes les ha nombrado una de las mejores 100 webs para mujeres Norma 5) No todo a todo el mundo le gustará cada post/idea. Esto también es cierto. Aunque como dicen ellos, yo también estoy aún trabajando en eso... Es decir, la creencia me la sé, pero despues las apreciaciónes duelen. Sin embargo y aunque sabéis que no los pongo, poseo tropecientosmil testimonios de gente que ha quedado más que encantada. Me llamó la vigilancia uno de ellos, supongo por que llegó no mucho después de aquella crítica, y lo marqué con una banderita para siempre tenerlo a mano... Hola Blanca!!! Por fin me pude colocar con tu curso, que por cierto es adictivo porque una vez que empiezas te lo empapas de una sentá y te picas porque lo explicas taaaann bien y todo lo que voy haciendo lo entiendo y me sale y me emociono, ¡con lo que he penado yo con los origenes de mi blog!, sin tener ni idea, buscando tutoriales obsoletos y súper complicados. Por eso no puedo comprender lo que te pasó con esa gente que te decía si cobrabas por consejos o no. Es un esfuerzo muy currado y que a nosotras, que apuesto que la mayoría no poseemos ni idea de todo este rollo, nos da la vida. Yo poseo esfuerzo, dos hijos, cuarenta tacos y un hobbie (como explico en mi perfil), intento optimizar mi tiempo al máximo y por eso prefiero pagar (y creéme lo vendes tirao) por una buena información e ir directa al grano. En mi esfuerzo hago muchos informes y he ido instruyendo a desechar información y quedarme con lo bueno, pues en tu curso no hay nada de paja, todo práctico, todo útil, me ha encantado de verdad. Está diáfano que como no sé puede gustar a todo el mundo siempre con todo, lo mejor es realizar algo y confiar en que la mayoría esté contenta. ¿Que un día venga una a decirme que soy esto o aquello o que mi blog es una mierda o que mi blog aquello? Pues sí, me dolerá. Pero entonces me entrará la cordura y mi cabeza intercederá por mí y hará matemáticas simples, tal y como también dice Sherry, y me daré cuenta de que si al 99% le gusta y al 1% no, el asunto quizá es de ese 1%... Al menos, a mi no me quieren la muerte (espero ;) como a Justin Bieber o a Rajoy. La realidad que esta gente debe estar hecha de una pasta especial ... Norma 6) Bloguear es un esfuerzo de oficina/ordenador O sea, que si tienes un blog de manualidades, pasarás más tiempo en el ordenador que haciendo manualidades. Pero vamos, que esto a mi me da idéntico jajaj. Pero vosotras, tomad nota ;) Norma 7) También es un esfuerzo creativo afuera de horas. Yo muy muy creativo, muy creativo... excepto cuando diseño cierta cosita o me voy de compras a por regalitos para vosotras, pues no veo el mío, pero claro, el mío es de lo que es... ;) De todos modos yo creo que la programación es más creativa y menos aburrida de lo que la gente piensa. No obstante, yo paso más tiempo escribiendo que programando, y de toda la vida me ha encantado escribir :) De hecho, tenía una profe que siempre me decía que de gran sería escritora. Aunque claro, ya estaba mi madre ahí para decirme "Hija, ¿quién va a publicar un libro tuyo?" Jajaja, mi madre siempre poniéndome los pies en la tierra ;) Norma 8) Trabajas más duro para ti que para cualquier otro. Totalmente de acuerdo. Pero a mi no me importa. Tuve ya un negocio cuando tenía 20 años (una tienda de maquillaje, franquicia de una marca sueca), y metía más horas que un tonto. Pero cuando es tuyo y arriba es algo que te gusta, pues te lo tomas de otra manera... En el despacho yo no me quedaba si no me pagaban las horas extras, lo tenía más diáfano que el agua, pero tanto cuando tenía la tienda de maquillaje como ahora, veo que meto más horas que nadie, pero lo hago encantada. Porque esto yo lo veo casi-casi como un hobby. Y digo casi porque aquí siento que poseo un compromiso con y para vosotras tan serio como un esfuerzo en términos de publicar cada día a las 11 h, de que mis cursos no pueden ser cualquier cosa, de que mi servicio de vigilancia al ciente sea excelente (o sea, respuestas a los emails con dudas de cursos de forma rápida y eficaz), etc. pero el "esfuerzo" en sí es guay :) Norma 9) Según tu blog crece, tus gastos crecerán. Es lógico y normal. Antes yo permitía enviar los cursos uno a uno, y era gratis. Ahora ya no puedo, así que lo he automatizado, con el consiguiente gasto que conlleva. Lo significativo es que merezca la pena. Yo no os voy a repetir las ganas que poseo de ganar mucho más y emplear a alguien a que me ayude con determinadas cosas, porque a mi ya no me dan las horas... ;) Norma 10) Merece la pena, así que relájate, pásalo bien y a ver donde acabas. Totalmente de acuerdo. Se lo dije a Noe en la entrevista también, una vez sabidas las claves para que un blog tenga éxito, y sabidas también las claves para cómo promocionarlo, es sólo cuestión de laborar con un escaso de disciplina y determinación. Así que, no worries. En España nos queda aún mucho sendero por recorrer en términos de que bloguera se considere una profesión, pero llegaremos. Y estoy segura de que muchas de vosotras seréis excelentes blogueras.

Java, El clásico y original Tamagotchi en dispositivos Android

Muchos y agradables ¿? recuerdos son los que poseemos todos los que en vuestra infancia pudimos disfrutar de esa mascota virtual muy conocida como Tamagotchi, que nos hacía despertar a media noche cuando éste pedía comida y cuando había que contestar a sdeterminados de sus caprichos. Y pues ahora éste ha vuelto a la vida adaptándose a vuestros tiempos pero manteniendo la misma esencia que lo caracterizaba, estando disponible a dividir de ahora para todos aquellos usuarios Android que quieran recordar aquellos masivos días, gracias a que la gente de Tamagotchi Life ha decidido dar el paso para aventurarse al mundo Android y pronto iOSLa manera de jugarlo es muy parecida a como se hacía originalmente, pero lo interesante es que se ha adaptado una especie de simulador del clásico llavero que requiere únicamente de tres botones para ejecutar las acciones que queramos; Es decir, que para jugar está disponible el ?modo aplicación? y el ?modo juguete? para que nosotros decidamos cuál es el que más nos gusta. Así que ya lo sabes, puedes descargar el clásico Tamagotchi totalmente gratis desde la Play Store siguiendo este enlace.

Java, El compilador “closure”

El compilador closure (no confundir con el concepto de closure) es una de las múltiples dispositivos disponibles para mantener vuestro código Javascript un escaso más saludable. Es la alternativa que mejor conozco, y por eso voy a relatar cómo funciona. Closure es un compilador capaz de convertir lenguaje Javascript desarrollado con anotaciones (en los comentarios), a otro Javascript optimizado para su ejecución y habitualmente más pequeño. Además, realiza un análisis estático de vuestro código para descubrir yerros comunes y comprobar las anotaciones. En mi opinión, este análisis estático es la funcionalidad más interesante de este compilador, ya que tienen lugar múltiples minificadores de código que resuelven la otra parte. Un ejemplo de estas anotaciones: /** * @param {number x Un argumento cualquiera. * @constructor * @extends {MiOtraClase */ function MiClase(x) { this.x = x; /** * @override */ MiClase.prototype.mostrar = function() { window.console.log(this.x); TiposEste compilador permite, entre otras muchas cosas, declarar tipos estáticos y verifica que el código satisface los contratos introducidos por dichos tipos. Una mayor ventaja de este compilador es que los tipos se introducen mediante comentarios, con una sintaxis muy similar a Javadoc o Doxygen, como se puede apreciar en el ejemplo anterior. Esto tiene dos consecuencias muy interesantes: El tipado no es intrusivo, el código Seguid siendo Javascript, y se puede valorar en cualquier intérprete de este lenguaje (por ejemplo, cualquier navegador). Impulsa la documentación del código. Ya que poseo que añadir  @param {tipo nombre  para que el compilador haga el esfuerzo sucio y valide los tipos, no cuesta nada escribir un escaso más y aclarar para qué sirve el parámetro. Este es un ejemplo del tipo de dificultades que resuelve este compilador: function suma(a, b) { return a + b; var fruto = suma("10", 2); window.console.log(resultado); Este código imprime por pantalla ?102″, en espacio de ?12″. Dado que se emplean persistentes en el ejemplo, es muy sencillo ver el yerro y solucionarlo, pero si el primer argumento fue en verdad el valor tomado de un tema de texto HTML, entonces ya no sería tan evidente, aunque el asunto sería el mismo. Este es el mismo ejemplo tipado por closure: /** * @param {number a Primer operando. * @param {number b Segundo operando. * @return {number El resultado. */ function suma(a, b) { return a + b; var fruto = suma("10", 2); window.console.log(resultado); Si ahora se ejecuta el compilador, se obtiene lo siguiente: $ java -jar compiler.jar --warning_level VERBOSE \ test.js > /dev/null /tmp/test.js:9: WARNING - actual parameter 1 of suma does not match formal parameter found : string required: number var fruto = suma("10", 2); ^ En el ejemplo anterior, se está redirigiendo la salida del compilador (el código minimizado y optimizado) a /dev/null. En ámbitos de producción esa salida puede ser muy interesante por las mejoras de velocidad de carga y ejecución que implica, pero la idea que quiero transmitir aquí es que inclusive si no interesa ese código ?minificado?, el compilador aporta mucho valor al considerar el código y descubrir errores. Estas anotaciones no se quedan simplemente en parámetros y variables, facultan declarar interfaces, proteger sobrecargas con @override idéntico se haría en Java, anotar herencia, declarar constructores, visibilidad, e inclusive nombrar tipos complejos por comodidad. Aquí hay una referencia bastante actualizada de las posibilidades. En versiones recientes del compilador hay determinadas funciones experimentales como tipos genéricos (similar a los generics de Java o los templates de C++), que dotan de más expresividad al sistema de tipado y todavía no están documentadas en felicidad referencia, aunque determinadas bibliotecas ya los usan Optimizaciones Ya que se trata de un compilador, y no un simple parser capaz de reducir lugares en blanco y renombrar variables, es capaz de realizar determinadas cosas típicas de compiladores, como inlining y precálculo de expresiones. Un ejemplo: /** * @param {number x * @param {number y * @return {number */ function suma(x, y) { return x + y; window.console.log(suma(3, 2)); Es bastante evidente que este código va a presentar en la consola del navegador el número 5, y sin embargo la mayoría de minificadores generarán un código compacto que aún declarará la función y la llamará. Closure es capaz de ir un escaso más allá: $ java -jar compiler.jar --warning_level VERBOSE \ --compilation_level ADVANCED_OPTIMIZATIONS \ test2.js > /dev/null window.console.log(5); En este caso el compilador descubrió que permitía precalcular el fruto de llamar a la función suma e inyectarlo en espacio de la llamada a la función, fruto en un código más compacto y veloz de ejecutar. En muchos casos es indispensable tener información de tipos para realizar optimizaciones como esa. Todavía no alcanza, sin embargo, los niveles de GCC, capaz de precalcular inclusive el fruto de funciones recursivas (por desgracia GCC todavía no soporta Javascript). No intrusivoTanto si uno está interesado en las optimizaciones que closure puede realizar como si no, este compilador es una dispositivo muy interesante porque no genera una dependencia tecnológica en un programa. Se puede descartar y todo el código del programa seguirá funcionando igual. Además, puede convivir perfectamente con otras dispositivos de análisis estático de código Javascript que encuentren otros yerros y vulnerabilidades, o con otros minificadores. Es cierto que obliga a describir un escaso mejor los contratos del código, señalando tipos, herencias, etc. de una manera homogénea, y esto, en mi opinión, mejora mucho la legibilidad del código, y es un esfuerzo que se debería realizar en cualquier caso si se pretende que el código sea mantenible.

Java, El mito de la reparación de permisos en Mac

Cuando alguien tiene un asunto con su Mac, lo habitual es ir a un foro de Mac y exponer ahí su asunto, pero independientemente del asunto muchos suelen contestar ?repara permisos y reinicia?. Recién llegado a Mac me lo decían siempre, pero despues cuando fui adquiriendo algo de experiencia, me di cuenta de que realmente reparar los permisos solucionaba bien poco, por no decir nada, y que muchas veces se le atribuye a la reparación de permisos la razón por la cual se les ha solucionado el asunto, cuando en la mayoría de los casos el asunto posiblemente desapareció tras el reinicio del sistema. La realidad es que muchos usuarios de Mac, por un lado estiman que los permisos de los ficheros son un asunto endémico de Mac OS X y de paso le atribuyen efectos milagrosos a la reparación de permisos, y hasta la recomiendan, y vuelven a aconsejar para tareas en las que no tiene ningún sentido, como por ejemplo antes y después de actualizar el sistema operativo, ignorando que el propio sistema operativo entre las operaciones que realiza con su instalador es una verificación de los permisos del disco, y si se da el caso, una reparación de estos, por lo que no tiene mucho sentido realizar una reparación antes de la instalación y mucho menos después de esta. De la misma forma cuando una aplicación se instala utilizando el Instalador éste se encarga de reparar los permisos. En fin, más bajo indico las 4 razones cuando sí hay que reparar los permisos Pero ¿qué es eso de los permisos? Pues en los sistemas operativos basados en UNIX, como Mac OS X, cada archivo tiene una serie de permisos que pueden ser de lectura ( r? ), escritura -w-) y ejecución (?x) y asimismo se distinguen los usuarios que pueden utilizar dichos permisos, así poseemos 3 categorías: propietario, grupo y otros. Según esto un usuario podrá alcanzar a un archivo, o no, leerlo, modificarlo,... Si en Terminal tecleamos el comando ls -l en un archivo se verá lo siguiente: drwxr-xr-x maquito staff 102 23 jun 2008 Applications cuya articula es la siguiente: permisos usuario grupo [nº] fecha nombre_archivo los permisos son el conjunto de letras drwxr-xr-x y tienen el próximo significado:, indica que se trata de un directorio, si no lo afuera se indicaría con rwx, este primer grupo de letras indica los permisos del propietario del archivo, que en este caso puede leerlo, escribir y ejecutar r-x, este segundo grupo de letras indica los permisos del grupo para alcanzar a los archivos, según el tipo de usuario se le asigna un grupo, estos pueden ser sta adm whe r-x, es el tercer grupo de letras e indica los privilegios que tienen todos. Pues bien, el sistema operativo tiene almacenados los permisos que debería de tener cada archivo del sistema y el método funcionario para reparar los permisos consiste en ir comparando los permisos que tiene con los permisos que tiene almacenados sobre los archivos, y si estos no coinciden pues los modifica para que coincidan. Esto es la teoría, y hasta Mac OS X 10.4 Tiger se cumplía a la perfección, pero con la llegada de Leopard los permisos no siempre coinciden con los que ?deberían ser? y todo funciona correctamente. La realidad es que hasta hay una lista oficial de Apple sobre permisos que no coinciden y que no pasa nada por que no lo hagan. Entonces, ¿Cuando realmente hay que reparar los permisos? Pues aunque muchos dirían que siempre, la realidad es que  Apple tiene otra opinión y sólo la recomienda cuando: Tras instalarse una aplicación con un instalador diferente de el del sistema, ya que este puede cometer yerros en los permisos de los archivos. Por interrupción de la alimentación, y en éste caso también recomienda reparar la articula de ficheros desde el modo monousuario con el comando fsck Si no se puede alcanzar a una aplicación instalada por otro usuario. Problemas de vaciado de la papelera. Como se puede ver las razones por las que reparar los permisos son muy concretas. ¿cómo se reparan los permisos y ¿desde dónde? Primero responderé a la segunda pregunta ya que teóricamente los permisos se pueden reparar tanto usando el Terminal, como desde la Utilidad de Discos o inclusive desde la Utilidad de discos desde el disco de instalación. De estas tres posibilidades, Apple recomiendaúnicamente repararlos desde la Utilidad de Discos del sistema operativo, y no realizarlo desde el disco de instalación ya que ?... Las actualizaciones de software de Mac OS X pueden cambiar los permisos de algunos ficheros para mejorar la seguridad...? y por lo tanto estos cambios de permisos no los reflejaría la Utilidad de Discos desde el disco de instalación. Pues bien, para reparar los permisos hay que ir a la Utilidad de Discos, que se descubre en Aplicaciones/Utilidades y seleccionar vuestro disco duro y pulsar el botón Reparar los permisos del disco

Java, El parche de Linux de 200 lineas implementado

Seguro que de estos días os agrada (pues ya muchos sitios han hablado de ello) de una pequeña modificación al kernel que incrementaria el rendimiento. Bueno exactamente el rendimiento no, si no una mejora mediante la agrupación de procesos. Lee el primer comentario de este post para una aclaración más detallada. Pues bien ese mismo resultado puede obtenerse simplemente con 4 lineas de scripting que un desarrollador de Red hat: Lennart Poettering, le envió a  Linus Torvalds. Ha habido una acalorada debate entre ellos, pero a mi esos minucias sin ?demasiada importancia? ya no me interesan. En comienzo para usar esta modificación bastaria con añadir: if [ "$PS1" ] ; then mkdir -m 0700 /sys/fs/cgroup/cpu/user/$$ echo $$ > /sys/fs/cgroup/cpu/user/$$/tasks fi Al final de vuestro fichero .bashrc y despues ejecutar como root: mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu mkdir -m 0777 /sys/fs/cgroup/cpu/user Esto en Ubuntu sin embargo no funciona (deberiamos cambiar /sys/fs por /dev), Asi que haremos lo siguiente: Edita el fichero /etc/rc.local y añadimos ( gedit /etc/rc.local) mkdir -p /dev/cgroup/cpu mount -t cgroup cgroup /dev/cgroup/cpu -o cpu mkdir -m 0777 /dev/cgroup/cpu/user echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent Al final de vuestro fichero .bashrc pondremos: if [ "$PS1" ] ; then mkdir -m 0700 /dev/cgroup/cpu/user/$$ echo $$ > /dev/cgroup/cpu/user/$$/tasks fi Y finalmente damos permisos de ejecucion: sudo chmod +x /etc/rc.local Tambien ejecutamos: sudo gedit /usr/local/sbin/cgroup_clean Le añadimos esto: #!/bin/sh rmdir /dev/cgroup/cpu/$* guardamos, y convertimos este fichero a ejecutable: sudo chmod +x /usr/local/sbin/cgroup_clean y ahora ya reiniciamos o ejecutamos: sudo /etc/rc.local Respecto a la supuesta modificación, Los usuarios de desarrollo de Natty están muy contentos, pudieron insertar los cambios en la (proxima) versión 2.6.38 y ya llevan determinado tiempo usandolo en los kernels de server. Actualización | Gracias por los comentarios, la solución estaba incompleta y se puede descubrir via web Upd8. Queja las molestias, me quede sin internet y no pude probarlo. Fuentes: ElavDeveloper

Java, El Perfil del Tester de Software

El ?Perfil del Tester de Software? se lo puede considerar desde distintos puntos de vista, muchos de ellos discutidos y estudiados últimamente por un número considerable de profesionales del área de TI y de RRHH, debido a la creciente demanda de recursos que se ha ido dando en estos años para aplicarlos a distintos tipos de industria. ¿Este perfil te recuerda al perfil de un gerente de proyectos?. Este perfil ha ido evolucionando y cobrando gran reconociendo a nivel mundial, transformándose de ?no representativo? a ?representativo?, de ?prescindible? a ?imprescindible? (en muchos casos), de ?rechazado? a ?aceptado?, de ?ninguneado? a ?valorado?, de ?no reconocido? a ?reconocido?, y otro adjetivos más, muchos de ellos contenidos en los próximos aspectos: 1. Cualidades Personales 2. Perfil Técnico 3. Clasificación 4. Área de RRHH 5. Educación 6. Tipos de Testers (Humor ? hasta qué punto) 7. Mitos y Folklore 8. Tendencias Cualidades Personales Muchas de estas cualidades fueron proporcionadas por amigos/conocidos de las áreas de rrhh y del área técnica que a lo largo de estos años, y despues de muchas entrevistas, sacan como conclusión que todo ?Tester? debería poder reunir la mayoría de los próximos puntos: crítico, analítico, creativo y pragmático, conciso, buen comunicador, sentido común, organizado, explícito, metódico, asertivo, atento, claro, curioso, comprometido, desconfiado, investigador interno, cauto, confianza en si mismo, detallista, pasión por el producto, deductivo, compatibilidad con el grupo, certero, rápida adaptación al área y a los cambios, ordenado, conocimiento sobre la compañía que lo entrevista / contrata, diplomático. Perfil Técnico: La mayor mayoría de estos atributos, me fuese proporcionada por responsables del área técnica quien ha estado a cargo de las entrevistas preliminares, definitivas o bien, de acompañar a las áreas de rrhh: conocimiento en herramientas, entender fallas de arquitectura, conocimiento en plataformas, capacidad para detectar errores, conocimiento en lenguajes, networking, gestionar la configuración, ingeniería de software, capacidad de medir, manejo de idiomas, probar de forma creativa, capacidad para participar en reuniones, entender vulnerabilidad de seguridad, skill de negocio, conocimiento sobre el artículo a probar. Clasificación: Los próximos tipos de ?Tester? conforman una de las más populares clasificaciones, a saber: Test Manager, Tester especializados (performance, carga, stress), Test Lead, UAT Tester, Tester Senior, Agile Tester, Tester Ssr, WTF Tester, Tester Junior, Exploratory Tester, Tester de debajo nivel (código), Smoke T Tester, Tester de algo nivel (funcional), Early T Tester. Area de RRHH: El área de reclutamiento, verdaderamente esta cobrando una relevancia gran ya que ha comenzado a laborar de forma conjunta con el área de tecnología en la detección y adquisición de los recursos que demuestren valor agregado para la empresa. Los próximos puntos son reconocidos por las dos áreas: búsqueda por consultora, búsqueda interna, búsqueda desde el área de rrhh de la empresa, promesas clásicas, devolución del resultado, capacitaciones operativas, proyección de desarrollo profesional, capacitaciones técnicas, problemáticas comunes, madurez de la empresa, dependencia del tabulador de sueldos, falta de tiempo para el reclutamiento, responsabilidad en informarse, comprensión real de la actividad, especificación escaso clara del área de TI, laborar en conjunto con el área de TI, incapacidad por detectar oportunidades, necesidades versus presupuesto, dependencia del estilo de liderazgo, falta de acompañamiento técnico, alta rotación de personal técnico, manejo de ofertas atractivas, diferencias regionales, falta de recursos, falta experiencia en reclutamiento técnico, dependencia del estado del área. Educación: La actividad del ?Software Testing? no esta considerada aún como una asignatura en las universidades, y por ende solo se dicta a modo de seminarios o charlas. No hay suficiente capacitación en las distintos especializaciones que el mercado necesita y que estará por necesitar. Existen en el mercado, desde hace muy escasos años, determinadas ofertas de certificaciones internacionales que facultan profesionalizar la actividad. Tipos de Testers (Humor ? hasta qué punto): The enforcer, The boss, The drama queen,The automator, The comedian, The Wanderer, The magician, The micromanager, The Chuck Norris, The nitpicker, The Explorer, The expert, The checklister, The drafter, The sage, The networker, The socialiser, The intellectual, The day dreamer. Mitos y Folklore Los próximos puntos son determinadas de las frases que hemos estado oyendo los que llevamos algunos años en la actividad: ?Cualquiera puede testear?, ?No hay probabilidades de crecimiento en Testing?, ?El fruto del Testing, no se usará para mejorar la calidad?, ?Un buen programador, puede ser un buen tester?, ?El fruto de las pruebas se subestiman o menosprecian?, ?Si se va un tester, cualquier otro tester puede reemplazarlo?, ?Mis proyectos no requieren test, es imposible que fallen?, ?Al programador malo, se lo manda a testear?. Conclusión: Por todo lo expuesto hasta ahora, las tendencias que se pueden percibir son que: - Se esta trabajando en la IDENTIDAD de la figura del TESTER. - Hay un gran crecimiento de la industria del TESTING. - Hay un aumento de la demanda de QA. - Hay un aumento de la demanda de QC. - Se pronostica el apogeo del QC para el 2013. - Hay gran porción de implementaciones de TESTING FACTORIES. - Se esta realizando en muchos sitios, un proceso directo de reclutamiento asumido por un líder técnico.

Java, En las redes sociales nadie es totalmente anónimo

Quienes me conocen de vista creen que soy un tipo serio y formal. Pero quienes realmente me conocen saben que soy algo paranoico. Yo considero que alguna dosis de paranoia es saludable. No se trata de imaginar peligros inexistentes, se trata de crear escenarios probables de riesgo. Mi paranoia consiste en imaginar que algo podría salir mal, en pensar qué riesgos existen, cuáles los impedimentos que podrían presentarse en cada situación. Finalmente, según las Leyes de Murphy, ?si algo puede salir mal, saldrá mal en el peor momento posible?. Resulta entonces que, no sólo soy paranoico, también un escaso obsesivo. Todo lo previo viene al caso para justificar mi nueva paranoia. Ahora poseo miedo de Twitter y en común hacia todas las redes sociales. No es algo nuevo. Mi temor hacia Facebook, una enorme maquinaria disfrazada de red social que extrae información sobre nosotros, es algo añejo. Ahí todo parece estar controlado y supervisado, como si un mayor ojo viera todos los detalles y llevara registro de ellos. Es por ello que a Facebook lo uso nada más para mantener contacto con personas a las que no puedo contactar por otros medios; es un mal necesario, pero procuro no alimentarlo demasiado con datos demasiado personales: nada de fotos familiares, fechas de cumpleaños, encuestas o jueguitos. Dice el dicho: ?Si el artículo es gratis, entonces el artículo eres tú?. En cambio Twitter es distinto. Ahí la comunidad tuitera es más libre, más relajada y más irreverente. Twitter no posee mi información como un bien que pueda revender. Allá no soy un producto. Si Facebook me parece un salón cerrado, Twitter se me figura una plaza libre en la que todos hablan y cualquiera puede escuchar; pero también parece que entre tanta gente nadie le presta vigilancia a quienes no somos líderes de opinión, ni ? tweetstars ?, ni gente pública. En Twitter me sentía a gusto considerándome uno más entre tanta gente anónima. Pero, y aquí empieza mi paranoia, tal vez esté equivocado. En las redes sociales nadie es totalmente anónimo Ahora que en México se acercan las elecciones para la presidencia del país estamos en plena etapa de campaña, y las redes sociales sociales son arenas significativos en donde se libra una guerra de declaraciones. Facebook y Twitter se han convertido en tema de batalla de los partidos políticos. Allá se enfrentan los candidatos y sus ejércitos, humanos y robots, radicales y moderados, todos contra todos. Y en recurso de esta guerra estamos los ciudadanos comunes, los no líderes de opinión, los no famosos, los anónimos. Sin embargo, en esta guerra electoral hay muchos intereses y muchos grupos detrás de ellos, la mayoría legales, otros ilegales. Volviendo a la analogía de Twitter como plaza pública, en este momento la plaza está ocupada, llena de manifestantes que marchan apoyando cada quien a su grupo. También en esta plaza hay varios factores de todos los partidos políticos. Infiltrados también hay varios personajes que cogen nota de lo que decimos. Y es que, a diferencia del mundo real, en las redes sociales todo quedará registrado; cada palabra puede ser almacenada, procesada y recopilada; cada ciudadano puede ser vigilado en su conjunto y de forma individual. Si tienen lugar las dispositivos para ello, ¿por qué los que hacen las campañas electorales no iban a utilizarlas? ¿Y los grupos que operan afuera de ley? También ellos tienen las mismas dispositivos. Yo sigo en Twitter las cuentas de varios candidatos, de hecho los sigo a todos para que no se diga que favorezco a alguno. Pero algunos de ellos, y organizaciones políticas afines, también me siguen a mí. ¿Por qué? ¿Por qué a mí, general y anónimo? ¿Qué soy yo para ellos? ¿Un contacto? ¿Un probable partidario? ¿Un probable adversario? ¿Un producto? Más aún, no conozco a todos mis 108 seguidores. ¿Qué soy yo para ellos? Mi paranoia crece. ¿Cómo emplean los partidos políticos las redes sociales? ¿Tendrán identificados quiénes hablan a favor y en contra de ellos? ¿Qué harán con esa información? ¿Aparecerá esto que escribo en un informe junto con mi nombre y fotografía? ¿Quién lo leerá? En las redes sociales nadie es totalmente anónimo. Y aún si me propusiera ser anónimo siempre habrían pistas que pudieran relacionarme con mi yo real. Por todo lo previo he decidido retirarme un tiempo de las redes sociales, hasta que la plaza pública vuelva a estar en calma y los partidos políticos hayan dejado de considerarme un producto. Para entonces la plaza estará bulliciosa pero menos vigilada, y mi paranoia haya regresado a un nivel manejable. Sin embargo no puedo abandonar de preguntarme: ¿Cómo emplean las redes sociales las bandas de secuestradores? ¿Buscarán en ellas los nombres y datos de sus próximas víctimas? Mi paranoia se hace más profunda y oscura.

Java, Enlaces interesante

suelo publicar enlaces relacionados con la temática del blog que por determinado causa me han semejante interesantes. Para que no queden ?perdidos en el olvido? los recopilaré en accesos del blog periódicamente. ¿Trabajas con JSF? Ya está disponible ICEFaces 3.3.0 ICEFaces es un framework opensource RIA basado en el estándar JSF 2. Si trabajas con JSF o pretendes realizarlo y no lo conoces se trata de una dispositivo muy interesante que aumentará la eficiencia de tus desarrollos y ampliará el abanico de probabilidades a tu alcance. El futuro de la tecnología, en la ciudad ?tech? de Londres Londres se perfila como el ?Silicon Valley? europeo. Es actualmente un hervidero de start-ups gracias al perfecto caldo de cultivo apoyado por el gobierno inglés. Tal como están las cosas, quien pretenda entablar desde Europa debería tomarlo como punto de referencia y trampolín al resto del mundo. También es un espacio interesante para cualquier desarrollador que pretenda construir su carrera y abrirse nuevos horizontes. Ya es probable conseguir certificación Vaadin 7 online Vaadin es un framework 100% java para el desarrollo de aplicaciones web RIA. Me parece una dispositivo muy interesante tanto para el desarrollador como para los responsables de los desarrollos; para los primeros porque entre otras cosas les faculta abstraerse de las problemáticas que pueden aparecer en la capa de presentación y sus variadas tecnologías implicadas usando un código homogéneo 100% java, y para los segundos porque proporciona una mayor flexibilidad al poder contratar a los mismos perfiles java tanto en tareas de back-end como en tareas de front-end. Genial dispositivo gráfica. Clippingmagic, elimina fácilmente el fondo de cualquier retrato Clippingmagic es una aplicación web SaaS que faculta descartar el fondo de cualquier imagen de una manera extremadamente sencillo intuitiv y rápida. La considero una dispositivo muy provechoso tanto para aficionados como para profesionales, y sin duda puede ahorrarnos mucho tiempo en el tratamiento de imágenes para su uso en aplicaciones. Spring Framework 4.0 M1 & 3.2.3 available Qué decir de Spring a estas alturas que no se haya dicho ya. Me auto-defino como uno de tanto enamorados de este framework y todo lo que le rodea. Explicando MapReduce, fácil y pragmático, como a mi me gusta Últimamente se Hablad mucho de Hadoop, Bigdata, procesamiento distribuido, etc. Sin espacio a dudas es un tema a explorar muy interesante. En este post se explica de una manera práctica y directa en qué consiste MapReduce con unos pequeños ejemplos. Muy bueno para coger una idea inicial sobre el tema. Google Drive se actualiza y con novedades Aunque últimamente Google me está decepcionando he de reconocer que sigo siendo un usuario intensivo de sus artículos y que bueno, por así decirlo, aún no me han decepcionado lo suficiente como para abandonar de utilizarlos definitivamente. Drive es uno de los artículos que uso, y lo que me ha gustado y llamado la vigilancia de esta actualización es la probabilidad de escanear documentos a través de la cámara del teléfono usando la tecnología OCR. First look: Android Studio eclipses Eclipse ? JavaWorld Una de las masivos novedades para desarrolladores recién anunciadas por Google es sin duda Android Studio. En este enlace de JavaWorld se evalúa la dispositivo y, como sugiere su título, bastante positivamente. Webcast de Oracle sobre Java EE 7 Tal como se anuncia en JavaHispano, como fracción de los eventos de lanzamiento, el siguiente 12 de junio Oracle va a celebrar un Webcast sobre Java EE . El Webcast se repetirá 9 a.m. PT (10 p.m. hora de España) y a las 9 p.m. PT. Aunque es gratuito, necesita registro.

Java, Errores comunes de JasperReports

La primera vez que trabaje con JasperReports, todo salio hermoso (bueno tarde un escaso en comprender como funcionaba y al final todo salio hermoso), pero llego el momento de revisar algunos cambios y para mi sorpresa al actualizar el IDE (NetBeans), el plug-in y las bibliotecas me tope con las próximos sorpresas que comparto con ustedes. JRRuntimeException: Unknown hyperlink target Este yerro ocurre al generar el archivo *.jasper con una versión diferente a la que se usa en la aplicación, la solución es comprobar que los *.jasper se generen con la misma versión de biblioteca que usaremos en tiempo de ejecución. Solución en el blog Robert Reiz java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException Este yerro suele ocurrir cuan no se determina el elnguaje en el que se esta trabajando, así que solo definimos el lenguaje en el cuadro de propiedades del reporte y se soluciona. La solución la encontramos aquí en Tecno-Aspirinas Como dicen los Looney Toons, esos es todo amigos. Nos vemos pronto.

Java, Errores comunes en el uso de anti-virus

Hoy voy a hablaros de un yerro muy general y muy gravisimo a la hora de usar antivirus hay gente que cree que por tener varios anti-virus instalados su ordenador esta mas protegido y esto es un yerro muy gravisimo para iniciar jamás jamas por mucho ordenador que tengamos debemos tener dos antivirus instalados funcionado unidos en el mismo sistema ya que esto no solo no nos garantiza ninguna protección si no que es totalmente contraproducente lo único que conseguiríamos seria ralentizar exageradamente el sistema ya que estaría analizando ficheros constantemente con dos proyectos mas el sistema operativo osea que el PC trabajaría 3 veces mas de lo normal. Otra cosa a tener en cuenta para eludir virus mejor que un anti-virus es utilizar el ordenador con cabeza aquí os dejo unos simples pasos para eludir virus: -NUNCA ejecutes ficheros desconocidos especialmente si su expansión es .exe -Analiza con un Anti-virus cualquier Pen-drive que entre en tu PC -No abras ficheros adjuntos por e-mail si son desconocidos o tiene extensiones raras por ejemplo tipo .exe -Cuando navegues estate atento y no instales ningún plugin de JAVA que no sea plenamente necesario  y si lo instalas que tenga el certificado de la empresa desarrolladora -Cuando no necesites el anti-virus desactivalo (tu PC ira mucho mas veloz ya que no habrá nada ejecutándose en segundo plano)

Java, ERRORES COMUNES EN NUESTRAS LAPTOPS O PC

La PC enciende pero no da VIDEO 5- La Tarjeta de VIDEO esta Sucia, mal Instalada o defectuosa.- Este caso retiramos la Tarjeta de VIDEO y procedemos a limpiar los contactos con una goma de lapices y la volvemos a instalar. La PC se REINICIA Una PC se puede reiniciar por algúnas razones: - La PC se reinicia cuando ejecuto o ingreso a determinados ficheros o carpetas. "La PC se calienta y se apaga sola" 4.- Algún fundamento raro este obstaculizando los conductos de aire de tú PC. Se recomienda: Nota: Es muy significativo tener en cuenta que Si la PC se Reinicia a los escasos segundos de empezar windows es porque la "Solución Térmica" del Microprocesador no hace buen contacto o esta mal Instalado. Mí PC esta Super Lenta SOLUCIÓN: Selecciona con un clic el proceso que esta haciendo uso excesivo del CPU y de memoria RAM y le das clic en "FINALIZAR PROCESO" Mí PC se bloquea al Jugar o ver Videos Si el asunto persiste entonces ya es la Motherboard.

Java, Errores comunes que afectan negativamente al posicionamiento

El robot de Google ha evolucionado a lo largo de los años, siendo los ingenieros y las famosas actualizaciones de su algoritmo (Panda, Pingüino) que muchas estrategias que antiguamente se utilizaban para subir de posición en los frutos de búsqueda es a día de hoy técnicas suicidas. Algunos claros ejemplos de lo que a fecha de hoy no debe hacerse. Algunos pensarán... pues en mi web esto lo he tenido años y años no ha pasado nada. Sí, determinadas de las que mencionaremos ahora han sido utilizadas y eran válidas en su momento, pero tras su abuso, Google las penaliza y todo lo que ello puede provocar (bajada considerada de posiciones o lo que es lo mismo, acabar en la posición 300, por colocar un ejemplo, donde nadie llega y nadie te ve, eliminación completa de los resultados, etc.) Lista de yerros comunes que se encuentran en muchas páginas web y que afectan negativamente a su posicionamiento, y pueden ser motivo de penalización (ya sea por SPAM o intento de realizar trampas, o porque Google estima que es una web de baja calidad por su contenido y/o programación): Título web largo con sobrante de palabras clave Utilizar repetidas veces las palabras clave a posicionar y separadas por comas. Crear secciones internas casi idénticas y denominadas con las palabras clave que se desea posicionar: Contenido Duplicado Tener dominios múltiples con información similar y entrelazados: Contenido Duplicado El punto 3 y 4 puede verse más explicado en las directrices oficiales de Google sobre Contenido Duplicado Tener una sección de enlaces o requerir públicamente en la web intercambio de enlaces con las palabras clave que uno desea posicionar. Tener multitud de palabras clave similares o en variantes, separadas por comas o no, que enlazan a una misma sección interna de la web. Google detectará que no es usual que una sección interna reciba tantos enlaces con distintos palabras clave, y considerará que la web intenta realizar trampas o SPAM. ( Exceso de palabras clave: Ver anuncio oficial de Google Enlazar a páginas web que escaso o no tienen nada que ver con el servicio o artículo que proporciona la web de empresa. Enlazar a webs de casinos o apuestas y determinadas páginas para adultos, son temáticas ?mal vistas? por Google. Enlazar a este tipo de webs si la web de la compañía no tiene nada que ver es un gravisimo error. Sobreoptimización web (demasiadas negritas, uso indebido de cabeceras y otros códigos de programación) Otros yerros comunes y que no ayudan a que una web se posicione: Tener muy escaso texto en la web, y/o que éste tenga faltas de ortografía, mal redactado, que el texto esté como imagen (lógicamente el robot no puede leer el texto de una imagen y ello haga que que Google no sepa de qué trata una web al no poder leerla), etc. En definitiva, Google interpreta que no es interesante al no aportar información de utilidad al usuario que la visita. Que no esté programada para que el robot de google pueda rastrearla y leer su contenido correctamente. (Flash, Java, Uso de Frames, redirecciones, textos como imagen...) No utilizar urls amigables que ayudan al robot de Google a indexar y posicionar las secciones internas de una web o tienda online. Ejemplo de url amigable que debería tener toda página web: dominio.com/producto1/. Evitar direcciones parecidas a: -> Lógicamente al leer esta dirección con símbolos y números, no facilita ni al robot ni al usuario que la visita, una información clara sobre la sección de la web o artículo que se muestra. Ver más consejos para optimizar una tienda online

Entradas populares