lunes, 27 de agosto de 2012

Interfaces de los contenedores IQueryable, ICollection, IList e IDictionary

Para autoevaluar el proyecto en el que trabajo, audité la solución para comprobar la cobertura de código de las pruebas unitarias, warnings.

Entre los warnings que me devolvia VisualStudio 2010, me llamo la atención que me levantaba el riesgo de utilizar List y lo cambiase por ICollection.

Diferencias había entre estos tipos de colecciones:

All of these interfaces inherit from IEnumerable, which you should make sure you understand. That interface basically lets you use the class in a foreach statement (in C#).
  • ICollection is the most basic of the interfaces you listed. It's an enumerable interface that supports a Count and that's about it.
  • IList is everything that ICollection is, but it also supports adding and removing items, retrieving items by index, etc. It's the most commonly-used interface for "lists of objects", which is vague I know.
  • IQueryable is an enumerable interface that supports LINQ. You can always create an IQueryable from an IList and use LINQ to Objects, but you also find IQueryable used for deferred execution of SQL statements in LINQ to SQL and LINQ to Entities.
  • IDictionary is a different animal in the sense that it is a mapping of unique keys to values. It is also enumerable in that you can enumerate the key/value pairs, but otherwise it serves a different purpose than the others you listed.
Comprendí que en el flujo operativo de nuestra lógica trabajábamos con una colección que no se modificada.

Thanks!!

sábado, 9 de junio de 2012

Subida del nivel del mar en mapas

Has oído hablar de la subida del nivel del mar pero no sabes donde va a ocurrir de verdad. Para ello disponemos de esta página que utiliza los mapas de Google:

http://flood.firetree.net/

En ella podrás elegir inundar el mundo desde 1 metro hasta 60 metros. Es una buena herramienta para concienciarte del problema y para saber donde no construir tu casa.

En el podrás ver los cambios geográficos que ocurrirán en el futuro como por ejemplo la desaparición del delta del Nilo donde viven alrededor de 80 millones de personas. Tambien podrás ver la desaparición de grandes ciudades como Londres, Buenos Aires, Amsterdam, París, Berlín, Barcelona, San Petesburgo, y la lista sigue.


Aun así presenta algunos problemas como no incluir el cálculo para areas que están a más de 60 grados norte y sur por lo que no se podrían ver como afectaría a Rusia y Filandia los cuales tienen gran cantidad de tierras que se verian afectadas por la subida del nivel del mar. Tampoco queda claro si este aumento del mar pueda ser menor debido a la gran cantidad de tierras inundadas y a la gran inundación del Mar Caspio ya ques este se encuentra a por debajo del nivel del mar.

Aun así es una buena herramienta para pasar un buen rato inundando países.






miércoles, 30 de mayo de 2012

Como conocer la prima de riesgo española al minuto

Todos estamos oyendo y leyendo todos los días noticias acerca de una maravillosa prima. Que si tiene 400 puntos, 500 puntos. Pero como y donde la podemos conocer al minuto.


Para ello debemos acceder a esta pagina: http://www.colectivoburbuja.org/index.php/defcon/ 
y centrarnos en el dato que aparecerá en "Spread de nuestra deuda". En esta página también podremos leer el total de deuda exterior de España, el total de deuda por españolito y la deuda por trabajador.

También muchos se preguntaran cual es el significado de la conocida palabra militar Defcon. En este caso se refriere a una categoría similar a la que utiliza el ejercito estadounidense de 5 pasos para la catástrofe donde Defcon 5 es la normalidad y Defcon 1 es el riesgo de quiebra elevado.
Para el que no este metido en temas económicos la prima de riesgo son los intereses que hay que pagar de más frente a comprarla a países con baja posibilidad de quiebra que en el caso español es Alemania. A los inversores  de nuestra deuda pública  cuando van a invertir sus ahorros y ven las noticias económicas españolas tan malas, se echan para atrás, por lo que pasan a exigir unos intereses más altos como requisito para comprar esa deuda. Así de este modo Alemania se ve obligada a pagar pocos intereses cuando se endeuda.
Si estas interesado en saber más sobre la prima te recomiendo este enlace: http://economia.elpais.com/economia/2010/11/30/actualidad/1291105979_850215.html





domingo, 22 de abril de 2012

Tomaduras de pelo de Google Maps

Todos reconocemos la gran herramienta que es Google Maps. Con ella podemos ver al vecino, buscar nuestro coche, ver islas, buscar negocios, ver a gente paseando o ver instalaciones militares.

Pero una de sus funcionalidades favoritas es la de ofrecernos rutas para llegar a donde queremos ir. Su certeza o acierto es a veces algo cuestionable.

Algunos de estos ejemplos de rutas inverosímiles están separados por el mar y Google nos da soluciones propias de un aventurero.

Algunos de estos ejemplos son:

-Viaje Japón-China
       Siga estos pasos:

        1- Abrir Google Maps.
        2- Colocar Japón como punto de partida.
        3- Colocar China como destino final.
        4- Leer paso 41.
        5- Cuando termine de reírse, escriba un comentario.

 -Viaje Japon-Estados Unidos
        Siga estos pasos:

        1- Abrir Google Maps.
        2- Colocar Japón como punto de partida.
        3- Colocar Estados Unidos como destino final.
        4- Leer bien los pasos.
        5- Cuando termine de reírse, escriba un comentario.

jueves, 22 de marzo de 2012

CodeMotion

Este fin de semana se presenta movidito, la agenda será apretada y los eventos se presentan muy interesantes:

Thanks!!


jueves, 8 de marzo de 2012

9 Maneras de Administrar tu tiempo en el trabajo


Según el sitio especializado ManageYourLife, señala que el resultado de una mala gestión del tiempo provoca ira, estrés y frustración ya que alejan a la persona del tiempo que debería destinar para las actividades de ocio y con su familia.


Algunos de los efectos de no saber administrar bien el tiempo en el trabajo y tener que dedicarle más tiempo de las horas establecidas en el contrato son la incapacidad de completar las actividades más pequeñas e insignificantes, un tiempo limitado o inexistente para la vida social y personal, listas in terminables de pendientes que conllevan a una baja en la autoestima  debido a que se comienza a dudar de nuestro valor y capacidades.


Hay varias razones por las que no se cumplen con las actividades en el trabajo como las llamadas telefónicas, la mala gestión de las bandejas de entrada de los correos electrónicos, las interrupciones con los compañeros de trabajo, la mala gestión en las juntas de trabajo y no saber delegar actividades a los subalternos.
Una buena gestión del tiempo requiere de un pensamiento claro y de una buena planificación. Estos son algunas maneras de lograrlo:
1. Escribe en una hoja de papel: registrar con precisión cuáles son las actividades del día y cuánto tiempo se dedica a cada una de ellas ayuda a maneja las “pequeñas cosas” como teléfonos, correo electrónico, el café, etcétera, y a sacarles el mejor provecho.
2. Concéntrate sobre las actividades importantes: el principio de Pareto, también conocida como regla 80:20, dice que el 80% del trabajo producido es resultado de la atención a lo crítico, mientras el 20% restante es resultado del esfuerzo.  Es importante dar la prioridad necesaria a cada actividad.
3. Encuentra tu tiempo productivo: si trabajas siete horas al día, tienes cerca de 1,500 horas de producción al año. Descubre cuáles son tus horarios más productivos para dedicárselos a las actividades más difíciles y pesadas.
4. Di no a la postergación: haz frente a cada problema cuando se necesite. No lo dejes para otro momento o mejor tiempo porque es más probable cometer errores y tomar decisiones equivocadas  cuando se está bajo la presión del tiempo.
5. Empieza y termina un trabajo sin interrupciones: si dejas muchos trabajos pendientes o en progreso vas a necesitar más tiempo para retomarlos justo en el lugar donde los habías dejado. Trata de evitar dejar proyectos inclusos.
6. Delega: no hagas todo por tu cuenta si no tienes que hacerlo, porque simplemente es imposible que lo realices a la perfección. Compartir tus responsabilidades con tus subalternos no solo te ayudará a manejar mejor tu tiempo, también forma sentido de unidad en un equipo.
7. Agenda momentos para la comunicación: destina un momento del día para realizar llamadas telefónicas y correos electrónicos, y establece un horario específico de tu jornada para organizar a los asuntos de tu agenda.
8. Organiza tu oficina: conserva sólo los documentos necesarios, crear una línea inteligente, simple y fácil de usar sistema de archivo, y organiza el mayor volumen de tu trabajo.
9. Agenda una cita… contigo mismo: es el consejo más importante de todos, según ManageYourLife. Debes encontrar el momento para dedicársela a tus pensamientos, ideas, pendientes, temores, etcétera. Esto te ayudará a mantener tu mente organizada y evitará que las preocupaciones afecten tus labores diarias.


¿Qué otras medidas se te ocurren para manejar efectivamente tu tiempo?


Ayuda: referencia

viernes, 2 de marzo de 2012

Competencia GoogleMaps -> OpenStreetMap

Tambien conocido como OSM. Los mapas se crean utilizando información geográfica capturada con dispositivos GPS móviles, ortofotografías y otras fuentes libres. Esta cartografía, tanto las imágenes creadas como los datos vectoriales almacenados en su base de datos, se distribuye bajo licencia Creative Commons Attribution-ShareAlike 2.0.2
En febrero de 2011 el proyecto alcanzaba los 350.000 usuarios registrados, de los cuales en torno a 12.000 realizan alguna edición en la base de datos cada mes. El número de usuarios crece un 10% por mes. Alemania y el Reino Unido son los países con las mayores comunidades locales, pero hay grupos de usuarios por todo el mundo.
Los usuarios registrados pueden subir sus trazas desde el GPS y crear y corregir datos vectoriales mediante herramientas de edición creadas por la comunidad OpenStreetMap. Cada semana se añaden 90.000 km de nuevas de carreteras con un total de casi 24.000.000km de viales (febrero de 2011), eso sin contar otros tipos de datos (pistas, caminos, puntos de interés, etc.). El tamaño de la base de datos (llamada planet.osm) se situaba en febrero de 2011 por encima de los 205 gigabytes (14 GB con compresión bzip2), incrementándose diariamente en unos 10 megabytes de datos comprimidos.

Software cartográfico

OpenStreetMap facilita los datos en bruto para su descarga desde su propia página web. Estos pueden ser modificados para cada proyecto así como presentados con estilos de renderizado personalizados.


Servidor


Tanto los servidores principales como la infraestructura asociada al proyecto de la Fundación OpenStreetMap están siendo alojados en la University College de Londres (UCL). El conjunto de servidores consta de un servidor de base de datos de gran rendimiento, un servidor de aplicaciones para el sitio web, tres servidores de aplicaciones para la API y un servidor destinado al renderizado del mapa. Además, existen otros computadores de menores prestaciones destinados a servicios auxiliares, tales como la wiki del proyecto, el repositorio de código y las funciones de búsqueda del mapa.
El sitio y la API están programados en gran medida en Ruby on Rails. El servidor principal que alberga la base de datos de OpenStreetMap utiliza PostgreSQL como sistema de gestión de bases de datos, y aunque a través de su extensión espacial PostGIS es posible almacenar diferentes tipos de geometría de objetos geográficos, la base de datos principal del proyecto no hace uso de ello al utilizarse una representación propia de datos primitivos.
La base de datos contiene los datos espaciales, es decir, los atributos asociados a cada línea o punto. Estos datos se almacena en formato vectorial y es el producto principal del proyecto. No obstante, también se generan datos en formatos raster (PNG) destinados el visor cartográfico del proyecto. Esta cartografía raster se crea usando, por un lado, los datos de la base de datos PostGIS, y por el otro el renderizador de Mapnik. Así, se rasterizan los datos vectoriales en bruto que se almacenan en la base de datos -por lo general con un retraso de 10 minutos respecto a su inclusión en esta-, lo que permite visualizar los cambios en el visor cartográfico de forma casi inmediata. No obstante, en momentos de sobrecarga la visualización de datos recientes se puede retrasar. Para reducir la carga de trabajo del servidor, sólo se vuelven a renderizar aquellas teselas en las que han existido modificaciones en la cartografía.

Ejemplo Aplicación: Aplicación Piloto
Thanks!!

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Online Project management