|
27
diciembre de
2012
|
|
Con el fin de año se cierra también el proyecto Grafitv, cofinanciado por el Ministerio de Industria, Energía y Turismo, dentro del Plan Nacional de Investigación Científica, Desarrollo e Innovación Tecnológica 2008-2011, con número de expediente asignado TSI-090100-2011-173.
La colaboración entre las compañías Virtualware, Datapixel, la Universidad Politécnica de Valencia y Avanzis, con apoyo técnico del Instituto de Óptica, Color e Imagen (AIDO) ha conseguido el desarrollo de un demostrador que permite visualizar en tiempo real información adicional en reproductores móviles y reproductores web, sincronizada con los eventos que están ocurriendo en cada instante.
Para la evaluación de los algoritmos desarrollados se ha contado con la participación de un colaborador de excepción: la Euroliga de Baloncesto, que ha cedido amablemente el vídeo de uno de los partidos y la información estadística asociada al "play by play" (jugada a jugada)
|
|
|
13
diciembre de
2012
|
|
En 2011 comenzamos el desarrollo del proyecto terminis, Seguridad para los términos y condiciones de uso en comercio electrónico, financiado por el Ministerio de Economía y competitividad, dentro del Plan Nacional de Investigación Científica, Desarrollo e Innovación Tecnológica, 2008-2011 con número de expediente IPT-2011-1782-410000.
A lo largo del 2012 se ha avanzado mucho en su desarrollo y ya se han alcanzado los hitos necesarios para poder abordar la primera versión de pruebas en 2013. Los aspectos más trabajados en 2012 han girado en torno a la especificación de sistemas con capacidad de autoaprovisionamiento, la definición de los controles de seguridad aplicables a todo el proceso de desarrollo de software y la creación de la propia oficina técnica de seguridad, y los algoritmos de procesado natural involucrados en la plataforma.
Puesto que estamos hablando de un servicio SaaS, el proceso de alta debe ser lo más sencillo posible, de ahí que los algoritmos de procesado...
|
|
|
24
julio de
2012
|
|
Durante el día de ayer, 23 de julio, muchos de nuestros clientes han tenido problemas intermitentes para acceder a sus webs y su correo electrónico desde las 7:28 de la mañana hasta las 21:53 de la noche.
El problema ha sido debido a un ataque DDOS (denegación de servicio) sufrido por nuestro proveedor de DNS. Por tanto, aquellos clientes que tienen alojados los servidores DNS con nosotros se han visto afectados. El servicio de DNS es ofrecido gratuitamente por Avanzis, aunque los clientes que ya disponen de este servicio en otros proveedores pueden optar por mantenerlos sin ningún problema. De este modo, aquellos clientes que no tenían delegada la gestión de DNS con nosotros, u otros proveedores afectados por el ataque, no han tenido ningún problema de conectividad.
Qué es un DNS
Un servidor DNS es el que se encarga de traducir un dominio en una dirección IP. Por ejemplo, la cuando alguien pregunta por la dirección “www.avanzis.com” el servidor DNS le devuelve “208.94.147.150”.
Esta información de qué servidor es el que tiene que traducir de nombres fáciles de recordar a direcciones IP está...
|
|
|
24
junio de
2012
|
Estamos ya en el último año del proyecto Smart Urban Spaces y en el meeting celebrado en Gijón Avanzis ha presentado su versión operativa de la plataforma SUS Administration Platform.
Esta plataforma es el nexo de unión entre todos los pilotos y servicios plateados por el resto de partners del consorcio, permitiendo a cada uno de éstos realizar la integración de los servicios de forma rápida y sencilla.
La presentación se ha realizado en colaboración con Okode, otro partner español del proyecto con el que hemos realizado la integración de hasta tres tipos diferentes de aplicativos que muestran la potencia de los servicios interoperables.
Uno de los servicios más destacados es el que permite el envió de alertas en tiempo real a cualquier dispositivo que esté utilizando la aplicación " Mobitransit", que permite visualizar la posición de cualquier transporte público de la ciudad. Mediante la SUS AP, cualquier proveedor de servicio autorizado puede enviar alertas sobre incidencias a sus usuarios, independientemente de sus sistemas internos,...
|
|
|
26
enero de
2012
|
Siguiendo con nuestra trayectoria en proyectos de I+D y, de nuevo, enmarcado en el entorno audiovisual, hemos dispuesto de financiación mediante los programas I+D para pymes de IMPIVA para el desarrollo del proyecto denominado MEDIASEARCH.
MEDIASEARCH ha perseguido el desarrollo de un motor de búsqueda audiovisual asistido por una algorítmica inteligente que permite identificar contenidos concretos mediante el análisis de las secuencias de audio y vídeo. El resultado de la búsqueda son las secuencias en las cuales se ha identificado el contenido sujeto de la consulta.
A través de esta iniciativa AVANZIS ha desarrollado un motor de búsqueda que permite la detección y reconocimiento automático de formas y patrones, colores y reconocimiento vocal.
Para ello ha sido necesario investigar y desarrollar los siguientes bloques:
- Nuevos algoritmos de análisis y reconocimiento de formas y patrones.
- Nuevos algoritmos de reconocimiento de colores.
- Nuevos algoritmos de reconocimiento vocal.
El proyecto está financiado por el Instituto de la Pequeña y Mediana...
|
|
|
02
noviembre de
2011
|
|
Uno de los aspectos que sin duda ha cambiado el comercio electrónico es la forma en la que las empresas se relacionan con sus clientes. Ésto que puede parecer una obviedad, toma especial relevancia si lo analizamos desde una perspectiva legal.
La aceptación de las condiciones de uso de una página web o de una aplicación móvil, de sus políticas de privacidad y de todo aquello que regule la relación entre el un proveedor y su cliente se realiza con tan solo un clic, aunque su validez sea la misma que la de un contrato firmado de puño y letra. Si analizamos con detalle la situación, observaremos que toda esta documentación suele estar alojada en la página del propio proveedor.
Esto provoca cierta sensación de inseguridad por parte de los clientes, al depender de un texto cuya modificación es fácilmente realizable de forma unilateral. Del mismo modo, aunque se hubiera realizado una impresión de las mismas, sería complejo demostrar la VIGENCIA de esas condiciones en el momento de la adquisición del producto o servicio.
|
|
|
13
octubre de
2011
|
|
Siguiendo con la buena tendencia del año 2011, Avanzis participará en un nuevo proyecto de I+D en colaboración con las empresas Virtualware (coordinador), Datapixel y la Universidad Politécnica de Valencia.
Se trata del proyecto GrafiTV - Sistema de información interactiva y personalizada sobre contenidos
audiovisuales, financiado por fondos FEDER dentro de la convocatoria "Acción Estratégica de Telecomunicaciones y Sociedad de la Información y, concretamente, dentro del subprograma Avanza Contenidos Digitales. El proyecto ha sido cofinanciado por el Ministerio de Industria, Energía y Turismo, dentro del Plan Nacional de Investigación Científica, Desarrollo e Innovación Tecnológica 2008-2011, con número de expediente asignado TSI-090100-2011-173.
El proyecto permitirá mejorar la experiencia de los usuarios que disfrutan de los contenidos audiovisuales mediante la inserción de información adicional relativa al contenido visualizado. Con el auge de los...
|
|
|
01
junio de
2011
|
El pasado 19 de mayo tuve la suerte y el placer de asistir invitado con www.todoexpertos.com al encuentro de webs de alto tráfico organizado por Emilio Márquez en Madrid. El formato del encuentro es particular, puesto que persigue una participación activa en el evento y trata de fomentar el networking. Para ello, Emilio suele elegir localizaciones que permitan disfrutar de ambiente de trabajo y ocio sin necesidad de desplazarse, algo que se agradece enormemente pues permite aprovechar al máximo las sesiones.
La cantidad de tráfico en visitantes y páginas vistas que acumulaba esa sala era increible, y la aportación de cada participante era casi una clase magistral sobre diferentes temáticas, planteadas mediante debates que los propios participantes y patrocinadores del evento propusieron.
De todo lo que se habló durante las más de 8 horas...
|
|
|
26
mayo de
2011
|
|
El proyecto europeo Smart Urban Spaces, cofinanciado por el ministerio de Industria, Energía y Turismo dentro del plan de Investigación científica, Desarrollo e Innovación Tecnológica 2008-2011, continua y se acerca a una de sus revisiones anuales. Esta revisión tendrá lugar en París en Octubre y mostrará los pilotos que están ya operativos.
Uno de los pilares del proyecto es el desarrollo de lo que se ha denominado SUS AP, siglas de Smart Urban Spaces Administration Platform. La SUS AP es una plataforma que permitirá la gestión integral de los diferentes servicios disponibles para los ciudadanos en cada una de las ciudades participantes en el proyecto. Constituye el nexo de unión e interoperación entre los proveedores de servicio y los usuarios, que dispondrán de un único punto de acceso a los servicios disponibles.
En estos momentos se está planificando técnicamente la implementación de un piloto en Caen (Francia) que implicará al proveedor municipal de transporte de la ciudad a los servicios de venta de entradas de espectáculos de la zona.
Después...
|
|
|
10
enero de
2011
|
Una de las cosas que más me gustan de participar en proyectos europeos como el Smart Urban Spaces es que permiten conocer la visión que otros países tienen sobre el mundo TIC. Hasta el momento me había centrado en aspectos puramente tecnológicos, incluso en aquellos aspectos sociales que nos diferencian de nuestros vecinos y que condicionan significativamente el éxito de un proyecto. Sin embargo, en esta ocasión he tenido oportunidad de vivir "desde dentro" los aspectos políticos de un proyecto.
Uno de los temas recurrentes en el Smart Urban Spaces es el transporte público. Tras analizar los requerimientos de las diferentes ciudades implicadas en el proyecto, todas coincidieron en que disponer de mayor cantidad de datos sobre la utilización de sus servicios de transporte, mejorar la información sobre tiempos de espera e incidencias o, algo más utópico, conseguir compatibilizar las...
|
|
|
18
diciembre de
2010
|
|
Una de las noticias más positivas para Avanzis de este 2010, además de la consecución de las ayudas a proyectos de I+D por parte del Ministerio y de IMPIVA, ha sido la concesión del programa EXPANDE.
Este programa ha sido concebido por IMPIVA, con apoyo del FSE, para facilitar la contratación de investigadores dedicados a consolidar un gabinete de investigación en las empresas. Estamos ante otro modo de conseguir apoyo por parte de la administración, tal y como comentamos ya en las entradas relativas a la desgravación fiscal.
Gracias a este programa, Avanzis contrató en Abril a un nuevo miembro en el equipo que se ha dedicado a la investigación de diferentes líneas maestras de interés para la empresa como bases de datos NoSQL, sistemas avanzados de caché, sistemas virtualizados y otros aspectos relacionados con proyectos de alta carga de tráfico.
la consolidación de este pequeño gabinete de investigación nos ha permitido optimizar al máximo los procesos de desarrollo, pudiendo realizar en paralelo las tareas de implementación y las de investigación, mejorando así los notablemente el...
|
|
|
26
julio de
2010
|
He querido esperar a tener prácticamente gestionado todo el proceso de deducción fiscal para Avanzis antes de escribir la tercera entrega de los artículos dedicados a la desgravación fiscal aplicada a proyectos de I+D+i. Con ello pretendía aportaros una experiencia de primera mano, pero la realidad me ha demostrado que es un tema tan complejo, que no me atrevo a escribir ningún tipo de ejemplo o recomendación al respecto... :-(
Lo que sí voy a intentar es comentar en unas líneas aquellas cosas que más me han llamado la atención sobre el proceso y que creo os podrán ayudar a entender algo más los cálculos a realizar. Allá vamos...
Aspectos prácticos a tener en cuenta a la hora de plantear las deducciones fiscales por actividades de I+D+i:
- Es fundamental identificar cada una de las partidas (gastos) que son susceptibles de desgravación (nos ayudará nuestro asesor fiscal)
- En el caso de personal asignado a las actividades de I+D+i, hemos de entender que...
|
|
|
30
abril de
2010
|
En la entrada anterior os describí el proceso general que garantiza la correcta realización de las deducciones por Innovación Tecnológica e I+D, así que ahora abordaré temas más prácticos a tener en cuenta para iniciar el proceso. ¡Recordad que serán ejemplos genéricos para entender el procedimiento, por lo que para un estudio real ha de ser vuestro asesor quien lo realice!
Nos habíamos quedado en la obtención del Informe Motivado, el cual nos daba la clasificación de nuestro proyecto, así que la siguiente pregunta natural es…
¿Qué diferencias hay entre Proyecto de Investigación y Desarrollo o Proyecto de Innovación?
La diferencia fundamental se reside en el porcentaje del gasto deducible que podemos aplicar:
|
|
|
29
abril de
2010
|
En Avanzis tenemos dilatada experiencia en proyectos de Investigación y Desarrollo, tanto dentro de la propia empresa como para nuestros clientes. Hemos implementado numerosos proyectos enmarcados en las líneas estratégicas de investigación relacionadas con Internet en prácticamente todos los ámbitos, desde el local hasta el europeo, y consideramos que es una opción muy interesante puesto que permite una importante reducción de costes. Además, les damos soporte para que consigan orientarse a lo largo de todo el proceso de solicitud, seguimiento y justificación de estas ayudas, pues puede resultar un auténtico galimatías para aquellos que jamás han solicitado una.
En este post quería centrarme en un tema adicional a la propia reducción de costes derivada de la consecución de una subvención, ya que es posible sacarle aun un mayor rendimiento a estos proyectos. Concretamente, os hablaré de las deducciones fiscales en materia de Investigación y Desarrollo y de Innovación, de aquellos proyectos que vengan a través de subvenciones concedidas mediante planes de I+D nacionales o...
|
|
|
01
octubre de
2009
|
Acabamos de liberar la versión 1.0.2 del plugin jquery.oembed. el plugin de jquery desarrollado por Avanzis para facilitar la inserción de recursos usando el protocolo oembed.
Por si te lo has perdido, en mi anterior entrada del blog explicaba qué es y cómo funciona jquery.oembed
Resumen de las mejoras de esta la versión 1.0.2 de jquery.oembed:
- Añadido atributo “alt” a las imágenes de flickr con el título de la imagen, el autor y el servicio.
- El comportamiento por defecto al insertar código es sustituir el elemento por el código del recurso.
- Puedes elegir tres comportamientos diferentes para insertar código del recurso o indicar la función que se va encargar de procesar el código devuelto.
- “replace”. Sustituye todo el código del elemento por el del recurso.
- “fill”. Rellena el elemento con el...
|
|
|
07
septiembre de
2009
|
|
En Junio de este año recibimos la agradable noticia de que el proyecto Smart Urban Spaces presentado con etiqueta ITEA2 a la Unión Europea había conseguido la financión solicitada.
El proyecto tiene una duración de 3 años y requiere la formación de un consorcio consistente, en este caso, en más de 30 empresas de toda Europa de la envergadura de Nokia, Telvent, Visual Tools y operadoras como Telia Sonera. Avanzis se encargará de la realización y coordinación de todos los servicios que requieran cualquier componente Web.
El proyecto tiene como objetivo utilizar a las administraciones públicas como fuente de inspiración para la puesta en marcha de sistemas basados en las TIC, que mejoren y agilicen los servicios al ciudadano. Su filosofía principal es la de encontrar sistemas y tecnologías interoperables, que permita la puesta en marcha rápida y ágil de servicios en las diferentes ciudades europeas o incluso, encontrar y definir algún estándar que regule estos...
|
|
|
12
mayo de
2009
|
En esta ocasión he podido participar en el II encuentro Ideas, emprendedor 2.0 en el que se debatía sobre Internet y sus futuros modelos de negocio. Como invitado más destacado se dispuso de la colaboración de Eduardo Manchón, que aportó su particular visión de un proyecto de éxito en Internet sobre la experiencia de Panoramio.
Tras la conferencia de Eduardo Manchón, participé en una interesante mesa de expertos junto con Juan Luis Hortelano ( Kanben), Rubén Colomer ( Zumodeblogs), Juan Martínez ( Agroterra) el propio Eduardo, contando como moderador de la mesa con
|
|
|
01
abril de
2009
|
El pasado jueves tuve el placer de asistir como ponente al evento iniciador Valencia y charlar durante un buen rato sobre nuestros proyectos www.todoexpertos.com y www.bookingpark.com.
Bajo mi punto de vista, la existencia de este tipo de eventos es fundamental, y aun más en el ámbito de la Comunidad Valenciana, puesto que aporta una visión real del entorno en el que deberá moverse el emprendedor. Cuando acudo como público siempre aprendo algo, siempre se aportan puntos de vista que pueden darme ideas sobre nuevos proyectos, experiencias de primera mano que nos ahorrará cometer muchos errores y muchas reflexiones interesantes.
En esta ocasión, al asistir como ponente, tuve la ocasión de comentar nuestra experiencia desde dos puntos de vista:
- El del emprendedor puro y duro con...
|
|
|
30
marzo de
2009
|
¿Qué es OEmbed?
OEmbed es una API que implementan algunos sitios web como Flickr o Vimeo para facilitar incrustar sus recursos - vídeos, imágenes o contenidos multimedia - en tu página web.
Puedes encontrar más información sobre su funcionamiento y los proveedores que lo soportan en su página oficial:
¿Cómo funciona OEmbed?
Básicamente consiste en ofrecer un método REST que al llamar a una URL que indica el servicio, esta devuelve en formato JSON o XML la información necesaria para incrustar el recurso.
Por ejemplo, si quisiéramos mostrar la imagen de esta URL:
Tendríamos que seguir un complicado proceso para conseguir el enlace correcto o bien utilizar algunos métodos particulares de Flickr...
|
|
|
23
marzo de
2009
|
¿Qué son los “Microformatos”?
Los microformatos son una forma simple de añadir información
semántica a las páginas web, utilizando las herramientas que ya nos proporciona
los estándares definidos en XHTML.
Esta información semántica incluida en las páginas web puede
ser extraída y procesada por los navegadores y los programas y así realizar
ciertas acciones con ellas.
La información que se puede ofrecer con microformatos es muy
diversa, por lo que hay diferentes microformatos, cada uno con su finalidad.
Por ejemplo, podemos ofrecer la información de un evento para añadirlo con
facilidad a tu calendario con el microformato hCalendar o bien los datos
de una persona para guardarlo en tu lista de contactos con el microformato hCard.
¿Cómo se aplican los microformatos a una página web existente?
Lo bueno de los microformatos es que utilizan atributos de
XHTML estándar, por lo que es bastante sencillo aplicarlo a una página web
existente. Los atributos que utilizan los microformatos son:
Estos son atributos que ya existen en XHTML y...
|
|
|
19
marzo de
2009
|
Para celebrar el día de padre, hoy han publicado la versión final de ASP.NET MVC 1.0.
No existen grandes mejoras respecto versión ASP.NET MVC Release Candidate 2, excepto quizá la actualización de jQuery a la versión 1.3.2.
Cuidado si utilizas alguno de estos plugins porque pueden dar problemas:
- PowerCommands - Este lo usaba yo y he tenido que desinstalarlo.
- Clone Detective
- Azure Tools
Han publicado un hotfix que puede solucionarlo:
|
|
|
21
enero de
2009
|
Una de las limitaciones de la plataforma .Net, es la ausencia de la herencia múltiple, es decir, que podamos heredar de dos clases diferentes al mismo tiempo. En ocasiones esta característica, presente en otros lenguajes como C++ nos podría ser muy útil, aunque es cierto que también presentaría otros problemas, entre los más importantes la complejidad y la ambigüedad que puede generar.
En C# podemos implementar múltiples interfaces, pero no nos resuelve el problema de repetir código y funcionalidades comunes si ya estamos heredando de una clase.
Los Extensión Methods, una nueva característica desde la versión 3.0, nos permiten simular la herencia múltiple.
Pongamos que tenemos dos clases que ya heredan de otra, y que por tanto no pueden heredar de más clases. Pero sí que podemos hacer que implementen una interfaz, e implementar los métodos comunes que deseamos como un “Extension Method” de esta inferfaz.
Veamos un ejemplo:
|
|
|
19
enero de
2009
|
Hoy me he pasado un buen rato intentando averiguar cómocomprobar que un método “mockeado” con Rhino Mocks se llamaba un número determinado de veces. Primero creamos el “mock” del objeto que queremos probar: IMailServiceemailService = MockRepository.GenerateMock<IMailService>(); Ya podemos realizar la prueba, por ejemplo con un controller de MVC al que le pasamos este objeto en el constructor y que cuando se realizauna determinada acción, debe llamar internamente a un método del objeto “mockeado”. TestController invitations =...
|
|
|
14
enero de
2009
|
En las aplicaciones empresariales es imprescindible realizar
operaciones con las bases de datos que se comporten como un todo o que no se
ejecuten si ocurre algún problema.
Supongamos, que
queremos programar una transferencia de dinero entre dos cuentas bancarias. Para
ello, el programa debe restar el importe de la transferencia de la cuenta A y
además aumentar esta misma cantidad en la cuenta B. ¿Qué pasaría si entre una
operación y otra ocurre un error y no estamos utilizando transacción? Pues que la
base de datos se quedaría en un estado inconsistente, y en la vida real seguramente
acabaríamos en la cárcel.
Para evitar el calabozo existen las transacciones.
Si estamos utilizando LINQ to SQL,
uno de los métodos más sencillos para realizar transacciones, es utilizar el
objeto TransactionScope que se encuentra en el
espacio de nombres System.Transactions. Seguramente tendrás
que añadirlo a tus referencias del proyecto porque no está incluido por
defecto.
Una vez añadida la referencia necesaria, comenzamos una
transacción creando el objeto...
|
|
|
14
enero de
2009
|
Una de las formas de establecer las propiedades de los
controles que se crean utilizando los métodos deASP.NET MVC es usar objetos anónimos de C#, como si estos se trataran de un
diccionario.
Por ejemplo, para crear un TextBox con la propiedad ‘MaxLength’
y deshabilitado, usamos la siguiente instrucción:
<%=Html.TextBox("title", ViewData.Eval("title"), new
{ maxlength = 300, disabled = "disabled"
})
Seguir leyendo
|
|
|
26
noviembre de
2008
|
Todos sabemos que una de las facetas importantes para conservar nuestra salud es mantenernos en un peso equilibrado. Pues en las empresas, también es importante. Y en particular en las empresas de software.
En los inicios de cualquier empresa, se tiende a pensar, que cuanto más de todo, mejor.
- Cuantos más productos y servicios desarrollemos, más ventas conseguiremos.
- Cuantos más clientes y proyectos tengamos, mayores beneficios.
- Cuanta más complejidad y más líneas de código tengan nuestros programas, mejor, porque significará que tienen más funcionalidades.
- Cuantos más procesos y procedimientos regulemos, mejor definiremos el funcionamiento de la empresa.
- Cuantos más trabajadores seamos, mejor podremos asumir grandes cargas de trabajo.
Sin embargo, la experiencia de los años y el sentido común, van indicando que no es así. Que conviene no engordar más y adelgazar en lo que sea posible.
No hay que desarrollar todos los productos y servicios que se nos ocurran. Centrémonos en aquellos que pensemos que pueden ser realmente rentables. Seamos...
|
|
|
26
noviembre de
2008
|
En el posts anteriores ya vimos cómo utilizar y configurar StructureMap para poner en práctica la inyección de dependencias.
Tal y como prometí, ahora vamos a ver un pequeño ejemplo de cómo utilizar el StructureMap y el mocking de objetos en las pruebas unitarias.
Quizá te preguntes que es un “ Mock”.
Un mock, en el contexto de pruebas unitarias, es un objeto “falso” que simula el comportamiento del objeto real, con el fin de realizar las pruebas. En la wikipedia lo asimilan al maniquí que utilizan los diseñadores coches para realizar las pruebas de accidentes.
Te sugiero si utilizas pruebas unitarias, profundices más sobre este tema.
Existen muchas librerías para realizar mocks en .NET.
|
|
|
26
noviembre de
2008
|
Uno de los objetivos que debe tener un buen programador es que su código esté poco acoplado, es decir, que dos componentes con funcionalidades distintas dependan el uno del otro lo mínimo posible. De esta forma conseguirá que sus dos componentes por separado sean reutilizables y más fáciles de mantener.
Para eliminar al máximo la dependencia entre componentes, existe un patrón de diseño conocido como “ Inyección de dependencias” (“ Dependency Injection” o DI). Este patrón consiste básicamente en que en vez de ser una clase la que crea objetos, estos se inyectan o resuelven en el último momento.
Existen diferentes proyectos en .NET que intentan ayudarnos a aplicar este patrón:
|
|
|
20
noviembre de
2008
|
El SEO, o Search Engine Optimization, se refiere al conjunto de técnicas que debemos aplicar en una Web para que esté optimizada en buscadores y que salgamos bien posicionados.$0$0Técnicas SEO hay muchísimas, pero en mi opinión hay 6 que destacan sobre todas las demás:$0$0$0Tener sitemaps.$0$0La palabra/frase clave debe ser el título de la página.$0$0La palabra/frase clave debe encontrarse dentro de la url de la página.$0$0La palabra/frase clave (debe estar dentro de un)/(debe ser el) H1 en la página.$0$0La palabra/frase clave debe estar repetida varias veces dentro de la página, algunas de ellas con negrita.$0$0Estructura de enlaces internos: todas las páginas de tu Web deben estar enlazadas entre ellas con pocos saltos de diferencia.$0$0Todo ello bajo la premisa de tener un buen contenido. Sin buen contenido no empezamos ni a hablar. Será este buen contenido el que te proporcione enlaces entrantes, y será la constancia el que haga que Google confíe en ti.$0$0Si estás interesado en técnicas SEO más avanzadas, te recomiendo el blog comunactivo.
|
|
|
06
octubre de
2008
|
Esto de jQuery es divertido. Igual de divertido que javascript pero más fácil.
Hace unos días di una primero introducción a jQuery e hice mi primer plugin que llamé macEmulator.
Ahora presento un nuevo plugin que responde a una necesidad real y casi diaria de todo programador en ASP.NET (a no ser que trabaje con MVC).
Se trata de emular el FindControl de ASP.NET pero con javascript. Vayamos a un ejemplo:
Tenemos un DataList con un ItemTemplate que tiene dos Panels y un Label en cada Panel
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Panel ID="Panel1" runat="server">
<asp:Label...
|
|
|
03
octubre de
2008
|
Tras la breve introducción a jQuery, propongo un ejemplo que he llamado "macEmulator". La verdad es que soy bastante malo dando nombre a las cosas, y en el mundo de la programación tenemos que estar todo el santo día dando nombres a variables, a funciones, a clases, a ficheros...
El "macEmulator" lo que hace es coger las imágenes ubicadas dentro del "div" que le indiquemos y darles un efecto similar al de los iconos de los Mac. Cuando el ratón está encima de un icono la imagen se hace grande (progresivamente) y cuando sales se hace pequeña (también de forma progresiva).
Lo he puesto dentro de un plugin, de forma que activar la funcionalidad se reduce a una sola línea de código:
$("#divId").macEmulation(100,150,100,500);
Donde:
- divId es el "id" del div en el que están ubicadas las imágenes.
- El primer parámetro marca la anchura inicial de las imágenes
- El segundo parámetro marca la anchura de la imagen cuando el ratón está sobre...
|
|
|
03
octubre de
2008
|
Javascript ha sido siempre un eterno candidato a desaparecer. Sin embargo, con el paso de los años su importancia en el mundo Web ha ido en aumento.
Javascript no suele gustar. Se puede hacer muchísimas cosas con él, pero tiene varios inconvenientes. Empezando por la selectiva incompatibilidad entre navegadores, y acabando por una curva de aprendizaje no lineal (hacer cosas fáciles es fácil, hacer cosas difíciles es muy difícil... y en el medio hay poquito).
Para los que hemos trabajado con javascript desde sus inicios, solemos tener pequeñas librerías que nos hacen todo lo que queremos. Pero suelen ser librerías poco estándar... vamos, que cada uno las tiene de su padre y de su madre.
Es por eso que últimamente en la oficina suena mucho " jQuery", del que Richard ya ha hablado. Básicamente, jQuery es un framework javascript, que nos permite olvidarnos de las incompatibilidades y...
|
|
|
29
septiembre de
2008
|
Cuando hoy he leído el último artículo de Scott Guthrie - Scottgu para los amigos –‘jQuery and Microsoft’, me he quedado alucinado.
La noticia en sí es muy buena: van a comenzar a distribuir jQuery, mi librería Javascript favorita, junto con Visual Studio. No sólo eso. Además darán soporte nativo de ‘Intellisense’ en su editor, crearán controles para AJAX Control Toolkit, la integrarán con ASP.NET MVC y contribuirán con pruebas, corrección de errores y parches.
Nosotros ya estamos usando jQuery en nuestros nuevos proyectos, y los diseñadores de Avanzis ya han comenzado a utilizarlo cuando necesitan realizar efectos avanzados con Javascript.
Las principales ventajas de jQuery son:
- No es intrusivo.
Esto significa que no se mezcla el código HTML con Javascript, con lo que se consigue un código más limpio y fácil de mantener.
- Simplifica las tareas habituales de Javascript.
Seleccionar un...
|
|
|
15
septiembre de
2008
|
|
Primer día de trabajo en Avanzis tras algo más de tres semanas de merecidas vacaciones, las cuales me han servido no solo para desconectar literalmente de Internet, lo cual ya es todo un logro para alguien que está constantemente pendiente de un ordenador, sino que además he podido disfrutar de una mini escapada a Vitoria, ciudad realmente preciosa para aquellos que sepan ver en las ciudades algo más que hileras de pisos en los que vivir.
Para los que trabajamos constantemente con ordenadores, resulta de vital importancia poder tener unos días de relajación total, manteniendo nuestras manos lejos del teclado y del ratón, para por lo menos sentir esa sensación de no dependencia hacia una maquina. Pero hay que reconocer que, incluso estando de vacaciones, no resulta nada fácil levantarse por la mañana y evitar levantar la tapa del portátil, aunque sólo sea para conocer las noticias de última hora.
Lo mejor de todo, la sensación de haber podido descansar, de haber disfrutado del tiempo libre para hacer esas cosas que...
|
|
|
02
septiembre de
2008
|
Desde hace unos minutos está disponible Google Chrome, el navegador web creado por Google.
Lo puedes descargar en este enlace:
|
|
|
29
agosto de
2008
|
!Acaban de lanzar la preview 5 de ASP.NET MVC en Codeplex!
Si eres de los valientes (como nosotros) que estas desarrollando con ASP.NET MVC, recuerda que tendrás que desinstalar la versión anterior antes de instalar este nuevo lanzamiento.
Por si nos os apetece leer, y ya que tengo que revisar los cambios en profundidad, aquí tenéis algunas de las nuevas características respecto a la Preview 4:
- Mejoras en los motores de visualización (ViewEngine)
- Ahora, en vez de ser cada controlador el responsable de decidir que motor de visualización se utilizará, los motores se registran de forma global.
- Se ha modificado la interfaz IViewEngine para que añada el método "RenderPartial".
- Mejoras en los helpers
- Soporte para la renderización de views parciales.
- Nuevo parámetro para poder indicar a un DropDownList cuál será su opción por defecto.
- Se han...
|
|
|
13
agosto de
2008
|
|
Cada día, en el transcurrir de una empresa dedicada al desarrollo web, ya sea incluso en un mes de agosto, surgen a menudo nuevas especificaciones o requerimientos que nos obligan a investigar soluciones que quizás antes jamás habíamos utilizado. Además esto ocurre frecuentemente cuando se trata de proyectos web que incorporan animaciones en flash, donde en ocasiones la integración e interacción de dicho archivo con nuestro gestor de contenidos requiere del ingenio, da la experiencia, pero sobre todo de la capacidad que actionscript nos ofrece.
Ayer mismo se nos planteó la necesidad de modificar el valor de una variable utilizada en un archivo flash en función del valor de un parámetro del QueryString de una URL. Algo que, tras un par de horas de analisis y de investigación, resulta realmente sencillo de realizar, pero que dicho así de buenas a primeras parece más complejo de lo que es. Aprovecharé además para explicar como de forma sencilla podemos cambiar ciertos aspectos de un mismo fichero...
|
|
|
11
agosto de
2008
|
|
En muchas ocasiones, cuando se aborda un cambio en el lenguaje de marcado utilizado habitualmente para crear nuestras páginas webs, como es por ejemplo el paso de HTML a XHTML, frecuentemente nos encontramos con problemas de varios tipos, atributos usados de forma indebida, etiquetas mal cerradas, e incluso en algunos casos el comportamiento de los CSS varía, con lo que hay que volver revisarlos y redefinirlos.
Puede parecer, y no falta razón en ocasiones, que los que diseñamos y creamos páginas web ante un cambio de lenguaje de marcado, no nos paramos ni un segundo a estudiar las nuevas reglas de uso y que nos limitamos a dejar que el día a día sea el que nos muestre esos nuevos cambios. Algo que puede tener su origen quizás, en nuestra condición de autodidactas, al menos en mi caso. Ignoro si en el mundo de la programación sucede igual, pero para los que hacemos páginas web creo que éste es uno de nuestros mayores hándicaps, la falta de concienciación sobre las reglas de nuestro...
|
|
|
25
julio de
2008
|
En Avanzis estamos empezando un proyecto que nos ilusiona mucho, y que esperamos que vea la luz antes de final de año. Como todo proyecto que empieza, uno de los primeros aspectos a decidir es qué metodología vamos a seguir y qué plataforma tecnológica. En este proyecto vamos a utilizar Scrum y Test Driven Development. Vale. Y ahora os preguntareis ¿esto qué significa?. Pues básicamente son dos relativamente nuevas metodologías en el desarrollo de software, clasificadas dentro de las llamadas “ágiles”. Estas dos metodologías tienen algo en común. Se asume que el diseño de la arquitectura de clases, la definición de las funcionalidades y la especificación de requisitos, es un proceso que fluye a través de todo el desarrollo del proyecto, y no son una etapa inicial aislada. No hay que esperar a tener el diseño y la especificación completa para empezar a desarrollar. Scrum es una manera de organizarse, y TDD es una manera de desarrollar.
¿Qué es SCRUM?
Scrum es una metodología de trabajo ágil, especialmente...
|
|
|
23
julio de
2008
|
Siguiendo la serie de artículos sobre Lucene ( Lucene para ASP.NET (Parte I). Introducción y Lucene para ASP.NET (Parte II). Indexación), dónde conocimos qué era Lucene y cómo indexar contenidos, durante este artículo vamos a hablar de la búsqueda, sin duda, el objetivo último que perseguimos.
Según la estructura del Document planteada en el artículo sobre Indexación, cuando queramos buscar algo atacaremos a los campos "Title" y "Text", pues son los que contendrán la información importante. Es decir, lo que queremos es "buscar palabras que se encuentran en el título o en el texto".
A continuación tenemos un método que busca en ambos campos y devuelve un listado de Document's:
public static List<Document> SearchDocuments(string sQuery)
{
|
|
|
16
julio de
2008
|
Estaba realizando una consulta en T-SQL para mostrar el número de pedidos realizados por día entre dos fechas. Algo relativamente simple, ¿verdad?
Pues aunque parezca increíble, SQL Server no proporciona una función sencilla que permita obtener únicamente la fecha de un campo de tipo DateTime ignorando la hora almacenada. En el caso del informe que quería realizar, me impedía agrupar correctamente los pedidos por fecha porque el campo DateTime también almacena la hora.
Afortunadamente, Anatoly Lubarsky nos proporciona una solución bastante sencilla.
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, CAMPO_FECHA))
Donde CAMPO_FECHA es el nombre del campo de la tabla que contiene la fecha que quieres procesar. También puedes utilizar GETDATE() en vez de CAMPO_FECHA para obtener únicamente la fecha de hoy.
Esta es la consulta SQL resultante:
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, DateCreated)) as OrderDate, COUNT(*) as OrdersCount FROM...
|
|
|
14
julio de
2008
|
|
Siguiendo con uno de los temas principales abiertos este blog, el que tiene que ver con las cascade style sheet, los CSS, aquí vienen una nueva tanda de trucos y consejos para optimizar nuestro código.
Como ya se ha dicho con anterioridad, hemos de intentar que nuestro archivo CSS sea siempre lo más limpio y organizado posible. Una buena forma de lograrlo es estructurándolo de forma que podamos encontrar fácilmente las distintas clases que hemos definido. Para ello resulta vital la inclusión de comentarios, que pueden cumplir una doble función, informar y a la vez separar o agrupar nuestro código.
Remarcar que los comentarios en CSS se insertan entre las etiquetas /* para indicar el comienzo, y */ para marcar el final del comentario.
Veámos un ejemplo práctico.
Ejemplo 1:
/* === CABECERA ==== */
.HeaderContainer { ... }
|
|
|
10
julio de
2008
|
!Firefox me encanta!
Firefox es mi navegador favorito para navegar por Internet por su velocidad y simplicidad, pero sobre todo gracias a extensiones como Firebug que son imprescindibles para cualquier desarrollador web.
Me gustaría utilizar este navegador para realizar las pruebas de las aplicaciones en ASP.NET, pero por algún motivo Firefox se muestra extremadamente lento cuando se conecta a las páginas del ordenador local (localhost). ¡Pero esta mañana he leído la solución a ese problema!
Básicamente, consiste en entrar en la configuración avanzada de Firefox, introduciendo about:config en la URL del navegador, y cambiar el parámetro 'network.dns.ipv4OnlyDomains' a 'localhost'.
Pruébalo, y notarás la diferencia.
|
|
|
07
julio de
2008
|
|
En el último post os comentaba la importancia del buen y correcto uso de los estándares en el desarrollo web actual, abordado desde el punto de vista de las hojas de estilos, o más comúnmente conocidas como CSS. Hoy volveré a incidir en la importancia de este asunto, pero esta vez desde la perspectiva de los lenguajes de programación que se utilizan en la composición y creación de nuestro proyecto web.
Como diseñadores web, hemos de ser conscientes de la importancia de utilizar nuestras herramientas de forma totalmente apropiada. Es por ello por lo que si optamos por crear nuestra página web en XHTML 1.0 Transitional o en HTML 4.01 Transitional, por ejemplo, y además así es como lo definimos en la cabecera de nuestro código, parece razonable que procuremos desarrollar basándonos en las reglas que lo definen. Algo que aparentemente parece muy lógico y evidente, pero que no siempre es fácil de recordar y tener en cuenta, sobre todo si el código lo generamos...
|
|
|
04
julio de
2008
|
Tras hablar de buscadores avanzados para Webs e introducir Lucene para ASP.NET, a lo largo de este artículo hablaremos de cómo hacer la indexación con Lucene.
Distinguimos tres pasos básicos cuando hacemos la indexación:
- Abrir el índice.
- Crear y añadir el Document (del que ya hablamos en el anterior artículo).
- Optimizar el índice.
Abrir el índice
Lo primero un ejemplo de cómo se abre un índice:
IndexWriter writer = new IndexWriter(IndexPath, new SpanishAnalyzer(), !Directory.Exists(IndexPath));
El constructor de "IndexWriter" consta de tres parámetros:
|
|
|
04
julio de
2008
|
|
En el mundo actual del desarrollo web, conceptos como usabilidad, accesibilidad y estándares web se han convertido en inseparables compañeros de viaje para todo aquel que se quiera dedicar a la creación, maquetación y diseño de páginas web, y pretenda además ofrecer a los usuarios y clientes un servicio de calidad.
Muchos de estos conceptos han nacido gracias a comunidades como la World Wide Web Consortium (W3C), que se encarga desde 1994 de guiar, especificar y definir ciertas recomendaciones o buenas prácticas, para tratar de sacar el máximo partido a las posibilidades y capacidades de la web, pero sobre todo para homogeneizar criterios tanto para (X)HTML como para CSS.
Al hilo de estas recomendaciones también se han ido creando y desarrollando interesantes aplicaciones web con el objetivo de actuar como validadores de los estándares web promulgados por el W3C. Algunos de estos servicios...
|
|
|
04
julio de
2008
|
Una de los requisitos más habituales para un buscador es que al realizar las búsquedas no distinga las palabras que se diferencian sólo por acentos. Por ejemplo, si buscas la palabra “como”, también se desea que les aparezcan los resultados con las palabra “cómo”.
Hacer esto es SQL Server es muy sencillo, si sabes cómo.
El truco está en cambiar la intercalación (“Collation” en inglés) del campo en el que quieres buscar o bien de la base de datos completa, para que utilice alguna de las intercalaciones que ignoran los acentos, que son aquellas acabadas en “_IA” (Insensitive Accent).
La sentencia para cambiar una base de datos completa para utilizar la intercalación “Modern_Spanish_CI_AI”:
ALTER DATABASE [nombrebasededatos] COLLATE Modern_Spanish_CI_AI
Si lo que queremos es sólo cambiar un campo de una tabla, el administrador de SQL Server te hace la vida más fácil. Sólo tienes que editar las propiedades de la columna, y quitar la opción de “Distinguir acentos” en el formulario que...
|
|
|
01
julio de
2008
|
Microsiervos es uno de los blogs que más me gusta leer. Gracias a ellos, aprendí la expresión WTF, abreviatura de What the Fuck? (más o menos: pero.. que narices es esto?). Tenían tantos, que crearon el blog específico wtf.microsiervos.com.
Pues bien, hoy tengo un WTF que contar. Estamos trabajando en un proyecto para servir streaming de vídeo a través de Windows Media Services. Para hacer unas pruebas, nos hemos bajado de la web de Microsoft una imagen virtual del servidor Windows Media Server 2008. Es un archivo zip comprimido de 1.8 GB. Al tratar de descomprimirlo con la herramienta por defecto que tiene para ello Windows Vista, ha resultado el mensaje de error adjunto.
"No hay suficiente espacio en el Escritorio. Se requieren 5,99 PB adicionales".
Teniendo en cuenta que 1 PB (PetaByte) es más o menos 1 millón de Gibatyes, me parece que 6 millones de Gigabytes es un espacio adicional que pocos discos duros pueden tener!!
La explicación: El archivo estaba comprimido con un método solo aceptado por WinZip.
|
|
|
26
junio de
2008
|
|
Trabajar con Flash supone todo un reto para los que venimos del mundo Web ya que, aunque aparentemente sencillo, la potencia y versatilidad que encierra ActionScript combinado con las posibilidades gráficas que ya de por si ofrece Flash, hacen de esta herramienta un verdadero misterio y quebradero de cabeza para los que somos relativamente ajenos al diseño gráfico.
Por suerte, este no es del todo mi caso, ya que siempre me he sentido atraído por la capacidad y la plasticidad visual de Flash, la que para mi sin duda es la herramienta más utilizada para crear animaciones y llamativos efectos visuales, a la espera del despegue definitivo de Silverlight.
Por ello me atrevo ahora a dar algunos de los trucos o consejos que me han ayudado a sacar el máximo partido de Flash en estos años de uso de la herramienta. Aquí va el primero de ellos...
DETENER UN FOTOGRAMA DURANTE UN INTERVALO DE...
|
|
|
19
junio de
2008
|
En Avanzis hemos utilizado varios CRM hasta la fecha. Empezamos utilizando el SuperOffice, pero nos resultaba demasiado complejo para realizar algunas tareas simples. Después de intentar sin demasiado éxito la implantación del producto de Microsoft, realizamos un desarrollo simple para uso interno, si bien se queda muy corto para las necesidades actuales.
Así que nos hemos puesto manos a la obra, para realizar una investigación de las alternativas existentes. Una de las primeras alternativas ha sido el SugarCRM. Sin embargo, su modelo de licencias no nos ha convencido. Después de analizar otros como Splendid CRM, Compiere, OTRS, Hipergate o Sinergia, nos hemos decidido a implementar el CRM vtiger.
Nos han convencido varias cosas. Entre ellas, la facilidad...
|
|
|
16
junio de
2008
|
|
Como ya comenté en mi presentación, uno de los temas principales que se abordará en este blog es el que tiene que ver con las hojas de estilo, también denominadas cascade style sheet y más conocidas como CSS, el termino que se utiliza habitualmente cuando nos referimos a ellas.
Pues bien, las claves fundamentales a la hora de realizar un archivo CSS es que hemos de intentar siempre, como en cualquier otro lenguaje informático, que nuestro código sea limpio, claro y conciso, pero sobre todo hemos de saber optimizar nuestras líneas de código.
Un buen truco para empezar, muy sencillo, a la par que práctico, consiste en utilizar de forma apropiada y eficiente los atributos de los que disponemos, ya que muchos serán los casos en los que podremos simplificar mediante el uso de un único atributo.
Pero veámoslo mejor con par de ejemplos.
Ejemplo 1:
Tenemos definidos los siguientes atributos para las etiquetas...
|
|
|
16
junio de
2008
|
Tras hablar de la necesidad de un buscador avanzado para Web, comentamos que en Todoexpertos.com usamos Lucene para ASP.NET.
En este artículo vamos a introducir qué es exactamente Lucene y los puntos maestros de cómo funciona. Lo primero de todo, obviamente, es descargarse el .sln de Lucene, para poder trabajar con él.
En general, cualquier motor de búsqueda tiene dos elementos clave: la indexación y la búsqueda. Primero hay que definir sobre qué se quiere buscar y cómo, y luego ya buscaremos. Ya anticipo que la parte de indexación es mucho más compleja que la de búsqueda, y es en la que más tiempo nos pasaremos pensando.
Lo bueno de Lucene, es que tanto la indexación como la búsqueda giran entorno a lo mismo: el Document, que es sin duda uno de los elementos más importante. Entendiendo qué es el Document ya tenemos muchísimo...
|
|
|
13
junio de
2008
|
Toda aplicación Web que se precie debe tener un buscador. Pero un buscador en condiciones.
Desde Intranets hasta Webs personales, el hecho de permitir que el usuario busque contenidos en tu Web es muy recomendable e incluso en algunos casos totalmente imprescindible.
Pero hacer un buscador en condiciones no es fácil. Si tenemos una Web pequeña o queremos buscar sobre pocos contenidos, la solución la podemos encontrar en una sencilla sentencia SQL usando el comando " LIKE" o, para MySQL, el famoso " MATCH... AGAINST".
Sin embargo, lo de "pocos contenidos" no suele darse de forma demasiado común. La solución que suelen dar las Webs públicas es poner la típica "Búsqueda de Google" que incluso te permite ganar dinero con Adsense, o usar la Google Ajax Search API.
En este caso, lo bueno es que las búsquedas son bastante...
|
|
|
11
junio de
2008
|
Una de las nuevas características de c# 3.0 es la posibilidad de inicializar objetos complejos en el momento que se declaran.
Por ejemplo:
class Coche
{
public string Marca { get; set; }
public stirng Modelo { get; set; }
}
Podemos declararlo indicando ya sus propiedades:
Coche c = new Coche {Marca = "Ford", Modelo = "Focus"};
También puedes utilizar esta característica para añadir elementos a una colección en el momento de declararla:
List<Coche> coches = new List<Coche>() {
new Coche {Marca = "Ford", Modelo="Focus"},
new Coche {Marca = "Seat", Modelo="Panda"}
}
Lo que no tenía claro hasta ahora es cómo inicializar diccionarios y hoy me ha hecho falta en el proyecto que estoy desarrollando utilizando ASP.NET MVC.
En concreto necesitaba un diccionario de tipo IDictionary<string, object> donde indicarle las propiedades html de un textbox. Este es el...
|
|
|
09
junio de
2008
|
¡Hola de nuevo! Tal y como os comentábamos en una de las noticias de portada de la Web, durante los días 2, 3 y 4 de Junio hemos estado en este foro internacional celebrado en Liverpool ( http://www.i-techpartner.eu). Ha sido un encuentro muy interesante, en el que se perseguía como objetivo primordial el " networking", o lo que es lo mismo, la oportunidad de encontrar contactos con los que poder colaborar o generar negocio. Fueron un par de días con presentaciones de unos 8 minutos más otros tantos dedicados a rondas de preguntas, por lo que cantidad de exposiciones fue más que interesante. Avanzis presentó dos ponencias, la primera sobre www.todoexpertos.com como ejemplo de un proyecto web 2.0 de éxito en España, y desveló las futuras lineas de desarrollo del proyecto. Y la segunda sobre Avanzis Webportal, nuestro gestor de contenidos, comentando las particularidades de proyectos como el de la Euroliga de...
|
|
|
09
junio de
2008
|
|
Una de las primeras cosas que aprendí en mi incorporación a Avanzis, porque uno nunca deja de aprender cosas nuevas cada día, fue la utilización de Plantillas Base de Dreamweaver, archivos .dwt, para la creación y desarrollo de un Proyecto Web. Hasta aquel momento todas las Páginas Web que había realizado, meramente corporativas y con apenas un nivel de profundidad, no habían necesitado de mayores exigencias que dos o tres archivos HTML.
Pero a la hora de abordar un Proyecto Web de cierta envergadura, algunos me dirán que es aplicable a cualquier Web en realidad independientemente del tamaño, la necesidad de crear dichas Plantillas se vuelve realmente primordial. Resulta inconcebible por ejemplo, tratar de llevar adelante una Tienda Online, con cientos de productos, y tener que generar desde cero una nueva página HTML por cada uno de ellos. Con las Plantillas podemos definir la estructura principal de nuestra maquetación, y así por ejemplo crear un punto a partir del cual generar los HTML de todos nuestros Productos, pudiendo reutilizar además de manera...
|
|
|
06
junio de
2008
|
|
¡Está visto que uno no puede despistarse! Te pasas tres días fuera de la oficina y cuando vuelves todo el mundo ha estrenado su blog menos yo...
Me toca espabilar para ponerme a la altura así que pasaré a presentarme. Soy David Zaragoza y me encargo fundamentalmente del análisis de requisitos y especificación inicial de los proyectos que realizamos. Ello conlleva de forma inherente la representación comercial y la atención al cliente, por lo que puede decirse que soy la cara más visible de la empresa fuera de nuestras oficinas.
A pesar de mi formación extremadamente técnica en Ingeniería en Telecomunicación, lo cierto es que siempre he dedicado parte de mi vida a trabajar de cara al público, por lo que me resulta muy interesante poder combinar ambas facetas, intentando acercar los aspectos tecnológicos complejos de una forma amable y sencilla a nuestros clientes.
He de trabajar codo con codo tanto con el departamento de producción como con el de desarrollo, por lo que he luchar con todos ellos y a veces soy el más odiado de la oficina,...
|
|
|
05
junio de
2008
|
Acabo de regresar a la oficina después de un viaje de tres días a Liverpool para participar en un foro sobre servicios web y móviles organizado por el i-techpartner forum. Es el primer evento de este estilo al que voy pero, en vista de los resultados conseguidos, no va a ser el último. Voy a destacar las tres cosas fundamentales por las que ha merecido la pena ir:
- Conocer hacia dónde se está moviendo el desarrollo de aplicaciones web y móviles.
- Networking – o el arte de establecer relaciones con posibles colaboradores y empresas.
- The Cavern – El pub donde empezaron los Beatles, donde nos tomamos una cuantas “pints” de cerveza escuchando música en directo.
El formato que se ha seguido en este foro me ha resultado bastante interesante. Los emprendedores tienen 8 minutos para exponer su idea de negocio y qué es lo que quieren conseguir...
|
|
|
04
junio de
2008
|
|
Cuando llegué a Avanzis, hace ya más de año y medio, se sorprendieron de que a la hora de realizar un diseño gráfico o algún tratamiento de imagen me decantara, sin pensármelo dos veces, por utilizar Photoshop, en sus versiones CS2 y CS3, en lugar de usar Fireworks, herramienta de Macromedia con la que mis compañeros estaban habituados a trabajar.
Mientras, la compra de Macromedia a manos de Adobe ya era un hecho consumado, e incluso habían apuestas por ver cual de los dos productos sobreviría o cual pasaría a mejor vida. Y la realidad es que aunque actualmente todavía conviven ambos, Fireworks ha pasado a un discreto segundo plano.
No obstante, en nuestra oficina sigue siendo la herramienta de edición de imagenes más ultilizada, ya que Fireworks cubre las necesidades básicas de edición o creación que habitualmente se generan, que no son pocas. Por otro lado, nuestro diseñador gráfico, que es quien se encarga de realizar la maquetación para nuestras webs trabaja en Photoshop, y las propuestas y bocetos que realiza nos los pasa siempre en formato...
|
|
|
04
junio de
2008
|
Siguiendo un poco con la primera parte del artículo sobre Rendimiento en MySQL, quisiera añadir algunas sugerencias. ¿Cómo decidir qué índices configurar?Hay sentencias SQL que se usan mucho más que otras, así como sentencias SQL más pesadas que otras. Por tanto, comenzaremos siempre por las sentencias SQL más comunes. Casi todas ellas, salvo contadas excepciones, van a necesitar un buen índice. Hay ocasiones en las que tenemos una tabla con unas pocas decenas de registros a las que no se suele prestar la atención que se debería: sí, ésas también necesitan índice. Así pues, el asunto se reduce a saber definir qué sentencias SQL van a ser las más usadas, algo que en algunos casos puede no ser trivial. Por otra parte, tenemos las sentencias SQL raramente usadas pero de mucha carga. Un ejemplo típico es una sentencia SQL usada en la administración de la Web para hacer estadísticas o reportes varios. Si bien es cierto que estas sentencias son raramente utilizadas (¿1 vez por semana?), hay que...
|
|
|
03
junio de
2008
|
En Todoexpertos trabajamos con MySQL.
Antes de entrar en Avanzis ya había trabajado con esta base de datos, aunque no de forma tan intensa como con Todoexpertos. Siempre he usado SQLServer 2000, SQL Server 2005 y SQL Server 2005 Express, sobretodo porque su integración con ASP.NET es total. Incluso he hecho mis pinitos con Oracle... pero eso es harina de otro costal.
A pesar de mis reticencias iniciales, cada vez me gusta más MySQL. Al ser un proyecto OpenSource, la comunidad que lo rodea provee de un montón de herramientas extremadamente útiles.
Como os podréis imaginar, la carga que Todoexpertos le da a la base de datos es brutal, con lo que pequeños matices implican grandes efectos en el rendimiento.
Ha llegado a haber picos de peticiones SQL que han provocado el temible error " Sort Aborted", que viene a significar algo como " MySQL no...
|
|
|
02
junio de
2008
|
Uno de nuestros principales proyectos es el gestor de contenidos Avanzis Webportal. Y en un proyecto de estas características, el editor HTML es una parte fundamental.
Hasta ahora hemos utilizado el FreeTextBox, que se ha quedado un tanto obsoleto en el entorno tecnológico actual. Por ejemplo, no soporta estar dentro de un UpdatePanel de AJAX.
Por ello, mi compañero Javi y yo, nos hemos dedicado estas últimas semanas a analizar los editores existentes para decidir cual vamos a utilizar a partir de ahora. En la primera ronda, descartamos el FCKEditor y el TinyMC, a pesar de ser proyectos open source, por la falta de soporte extenso para ASP.net y de algunas funcionalidades importantes. Así que pasamos a estudiar y a probar más a fondo el de
|
|
|
02
junio de
2008
|
En Avanzis hemos decidido que vamos a abrir nuestras puertas para que todo aquel que quiera nos pueda conocer mejor. Me llamo Josep Planells, y mis funciones en la empresa son las de administrar y gestionar, programar, diseñar aplicaciones, un poco de marketing, recursos humanos, algo de atención al cliente… en definitiva, facilitar al máximo la labor de mis colaboradores y conseguir la satisfacción de nuestros clientes. Bonita tarea. Me gusta programar, pero lo que realmente me apasiona es pensar, diseñar las funcionalidades, las arquitecturas y resolver los problemas complejos. En definitiva, me encanta todo aquello que me suponga un reto. Por la variedad de mis funciones, en este blog hablaré un poco de todo lo interesante que me suceda en el día a día de Avanzis, pero sobre todo estará centrado en los aspectos más técnicos como la programación en C# y ASP.net, o en general, cualquier tecnología web, pero de...
|
|
|
30
mayo de
2008
|
¡Qué ganas tenía de tener una Web de nuestra empresa en condiciones! Si es que ya dicen que en ‘casa del herrero…’. Por fin voy a poder enseñar la web de Avanzis a mi familia, amigos y clientes sintiéndome orgulloso de ella. No es que el diseño anterior de la Web fuera tan horrible – qué voy a decir, si creo recordar que lo hice yo - lo que pasa es que el nuevo me gusta mucho. ¿Quién soy? Por educación y siguiendo el ejemplo de mis compañeros, me presentaré en este primer post. Me llamo Richard Chamorro y soy uno de los fundadores de Avanzis y su director técnico o CTO. ¿De qué voy a hablar en este blog? Principalmente sobre mi trabajo. Pero tengo la suerte de trabajar en cosas que me gustan, por lo que también voy a hablar de cosas de las que me apetecería comentar con algún colega. Siendo algo más...
|
|
|
30
mayo de
2008
|
Por fin tenemos nuestra nueva Web :D Mi nombre es Javier Navarro, aunque como de 8 personas que somos en la empresa, tres se llaman Javi y yo llegué el último, pues me ha tocado el nombre de Xavi. Eso sí, en Internet me llamo Subgurim. Pertenezco al departamento de desarrollo y desde que llegué a Avanzis, allá por Abril de 2007, soy el responsable de Todoexpertos.com. En cuanto a este blog, tendrá un carácter técnico, aunque seguro que en alguna ocasión me desmarcaré. Sobretodo voy a hablar de ASP.NET y Javascript, que son los temas que más conozco, pero también de SEO, Bases de Datos, Adwords, Adsense, Mundo Web en general... y paro ya de contar, porque lo más difícil no es saber acerca de lo que enumeras, sino tener el tiempo y la constancia de escribir sobre ello :P
|
|
|
30
mayo de
2008
|
|
Por fin el día D ha llegado. El momento de lanzar al mundo la nueva Web de Avanzis, de poner en marcha nuestros Blogs personales, y de zambullirnos de pleno en el mundo que hemos estado desarrollando para otros, pero que ahora por fin adoptamos para nosotros mismos.
Me presentaré oficialmente, mi nombre es Javier Belmonte, el segundo de los Javi en aterrizar en la oficina, somos ya tres y seguro que en el futuro seremos más porque lo bueno abunda. Dada esta curiosa coincidencia, soy más conocido por mi apellido, Belmonte, aunque mi nick habitual es TheDrawback.
En mi tarjeta personal, bajo mi nombre, pone algo así como Técnico de Proyectos Web, pero ni yo mismo sería capaz de definir exactamente cuál es mi cometido, dada la variedad de tareas a realizar. Pertenezco al Departamento de Producción, los encargados de adaptar Webportal a los clientes, dar vida a las Webs mediante HTML y CSS, atender las incidencias técnicas, ejercer de diseñador gráfico eventual... En resumen, en Producción somos los chic@s para todo.
|
|