Algunas situaciones reales de asistencia teleinformática...

Cliente: Hola, buenas tardes, soy Marta y no puedo imprimir, cada vez que lo intento dice “No se encuentra impresora”. He cogido incluso la impresora, la he colocado en frente del monitor pero el ordenador todavía dice que no la puede encontrar.

Cliente: Tengo problemas para imprimir en rojo. Informático: ¿Tiene una impresora a color?. Cliente: Aaaaaaaah…. gracias!!

Informático: ¿Qué hay en su monitor ahora mismo?. Cliente: Un osito de peluche que mi novio me compró en un supermercado.

Informático: Tu password es ‘a’ minúscula de andamio, V mayúscula de Victor, el número 7…Cliente: 7 en mayúscula o minúscula?

Cliente: no puedo conectarme a Internet. Informático: ¿Está seguro de que esta utilizando el password correcto?. Cliente: Sí, estoy seguro, vi a un colega hacerlo. Informático: ¿Me puede decir cual era el password?. Cliente: 5 asteriscos.

Cliente: Tengo un grave problema. Un amigo me puso un protector de pantalla, pero cada vez que muevo el ratón desaparece….

Y tú, ¿tienes alguna para compartir como experiencia en éste tu Blog?. ¡Seguro que sí!. Anímate y deja alguna. Próximamente podríamos hacer algún Top y premiar al ...bueno...al....Cliente, ¿no?.

Mejorando el rendimiento de consultas SQL de forma práctica

Hace poco dejé en el Blog un breve artículo sobre 7 consejos para acelerar tus consultas SQL. A raíz de él vamos a ver más en detalle, de forma más práctica, como llevar dichos consejos a tu base de datos y que ésta corra como nunca. Recuerda que es más importante optimizar tus queries, establecer correctamente los índices, etc que poner un hardware más potente a tu servidor.

* Sentencia UNION. Si para el resultado de la consulta no nos preocupa recuperar tuplas duplicadas usaremos mejor UNION ALL, ya que no hará internamente por defecto el select distinct tras combinar los registros de ambas tablas.

* Evitar SELECT * ..... Devolver siempre únicamente los campos que necesitamos: select campo1,campo2....

* Usar SELECT TOP n campo1,campo2 en consultas que sabemos devolverán un número alto de registros al usuario y éste no gestionará todos ellos. ¡Evita sobreesfuerzos al motor de tu base de datos!.

* Evitar NOT IN , usando en su lugar preferentemente alguna de estas sentencias (en orden de mejor rendimiento a menor): EXISTS ó  IN ó  LEFT OUTER JOIN con chequeo de condición NULL.

Forzar índices. Ej: SELECT campo1,campo2 FROM Tabla1 (INDEX = IX_ProcessID) WHERE campo3 = 1 AND processid IN (8,32,45)

Concatenación de ANDs "inteligente". Si tenemos un WHERE cond1 AND cond2 AND cond3 significa que cond1 debe ser la menos probable a suceder para que si es así NO SE EVALÚEN las otras condiciones. Si todas las condiciones tienen "igual peso" las pondremos en orden de complejidad: las más simples primero. En las condiciones que se establezcan en la cláusula WHERE al menos una de ellas debería basarse en una columna lo más selectiva posible y que sea parte de un INDICE. Si al menos uno de los criterios de búsqueda en la cláusula WHERE no es altamente selectivo, consideraremos añadir INDICES para todas las columnas referenciadas en la cláusula WHERE.

 * SELECT INTO. Este tipo de sentencia suele producir bloqueos por lo que hay que usarla en momentos de menor actividad.
 
GROUP BY. Preferentemente usarlo con funciones de agregación, es decir, es mejor un select distinct(campo1) from tabla where campo2>10 que usar select campo1 from tabla where campo2>10 group by campo1.
 
* Para comprobar la existencia de registros en una tabla ¡NO USAR count(*)!. Es mucho más eficiente IF EXISTS. La razón es simple: el count(*) procesa TODAS las filas mientras que EXISTS para la ejecución cuando encuentra algún registro que cumpla la condición.
 
* En SELECT masivos mejor usar la instrucción (nolock) para no bloquear los registros obtenidos.Y en general para evitar interbloqueos recordad siempre las reglas de cliente-servidor: conectar, ejecutar, recibir y desconectar.

Paseo, sol, comida y globalización...¿Descanso dominical?

Pues eso, que hoy amaneció el día nublado en Málaga, y aún así amenazaba buen tiempo, y efectivamente así ha sido. Entre ayer con el día de campo que echamos y hoy, por el paseo marítimo de la Malagueta y el Parque parece que he cogido color jejeje, parezco un giri tan coloraito, jejeje. Hasta había valientes metiéndose ya en el agua y todo. Nosotros el viernes (cumple de Yoli) tiraremos para darnos un bañito, el primero del año ¡hay que echarle valor, jajaja!, siempre que haga un día como estos últimos.
Después de comer nos dimos una vuelta por el II Festival Intercultural, en el Paseo del Parque. Nos quedamos impresionados con la estupenda gastronomía y los artículos de países tan diferentes: China, Kenia, Egipto, Brasil, etc. Hicimos algunas compras y charlamos con algunos de ellos y sinceramente, así es como te das cuenta del significado de la palabra Globalización: es simple y llanamente, acercarte a todos y cada una de las razas, países y costumbres del mundo, aprender cosas de ellos y que ellos aprendan de nosotros, y ésto cada vez más posible por los avances. Es una sensación de libertad increíble saber que la Humanidad somos todos...y no solo unos cuantos con $$$$. Nos vemos.

Canción del Mundial de Fútbol de Sudáfrica 2010

Crear una base de datos SQL Server desde Visual Basic

Aquí os dejo un pequeño código cuya finalidad es simple: crear desde cualquier punto de vuestro código VB.NET una database SQL Server. Un detalle: siempre debeis crear las bases de datos en master. De igual forma podreis crear Tablas, etc dentro de la Base de Datos que especifiqueis. Espero os sea de utilidad.

Dim cnn As New SqlConnection( "Server=vuestro_servidor;database=master; integrated security=yes")
Dim s As String = "CREATE DATABASE " & nombre_base_datos
Dim cmd As New SqlCommand(s, cnn)
Try
  cnn.Open()   ' Abrimos la conexión y ejecutamos el comando
  cmd.ExecuteNonQuery()
  Catch ex As Exception
  MessageBox.Show(ex.Message, "Error al crear la DB", MessageBoxButtons.OK,MessageBoxIcon.Error)
  Finally
  If cnn.State = ConnectionState.Open Then
    cnn.Close()   'Cerramos la conexión
  End If
End Try

Retos para los mejores Hackers: 'Hacker Contest'

Cada vez me está interesando más el mundo de los Hackers, lo reconozco públicamente. De hecho estoy aprendiendo más del "lado oscuro" en los últimos meses que en años en el "lado de la luz", jejeje. Navegando por la Red he descubierto que hay 3 concursos a nivel internacional donde estos masters se retan: DEF CON, Codegate y PWN2OWN.

DEF CON tiene lugar cada año en Las Vegas. Fue fundado por Jeff Moss y se celebró por primera vez en junio de 1993. En 2008, coincidiendo con su décimo sexta celebración consiguió reunir hasta a 8.500 asistentes entre profesionales de seguridad, periodistas, abogados, empleados gubernamentales, crackers y hackers, todos ellos interesados en arquitectura y códigos informáticos. Normalmente el evento consiste en una serie de discursos de temas relacionados con la piratería a concursos que retan a los participantes a crear la conexión WiFi más grande o romper, hackear, un sistema informático. Uno de los concursos más conocidos del Defcon es Capture the Flag. Consiste en que equipos de hackers intentan atacar o defender redes y ordenadores, ha traspasado el propio Defcon y se ha incorporado en contextos académicos y militares.

Codegate se celebra en Corea y es conocido por ofrecer buenos premios, pero además es el más joven de los retos de seguridad, ya que este año ha cumplido su tercer aniversario. Se califica a sí mismo como un ‘Hacking Festival’. El concurso, que este año se ha bautizado como “Practice Information Security in Daily life” (Use of Internet y Safe PC), cuenta con unas preliminares que se celebran unas semanas antes que la final, que esta año reunió a ocho equipos durante 24horas el pasado 7 de abril. Los premios de Codegate van entre 14.000€ y 3.000€ para los ganadores. Este año un equipo español, Int3pids, consiguió llegar a la final (terminó 3º).

El PWN2OWN, por su parte, es un concurso creado dentro del marco de la conferencia de seguridad digital CanSecWest. Este año los objetivos han sido los navegadores y los smartphones, con premios que han acumulado un total de 100.000 dólares. La primera parte de este reto se centró en los navegadores Google Chrome, Mozilla Firefox, Apple Safari e Internet Explorer, cuyos fabricantes se apresuraron a actualizarlos en los últimos días con la esperanza de no ser los primeros en caer víctimas de la habilidad de los hackers. La segunda parte del Pwn2Own 2010 se centró en los teléfonos móviles avanzados, o smartphones. Apple iPhone 3GS, RIM Blackberry Bold 9700, Nokia Symbian S60 y alguno de los terminales de Motorola basados en Android.

Hacedme caso....esta gente son a nivel mundial los que poseen un mayor conocimiento de este mundo de la Informática, y todos deberíamos prestar atención a sus habilidades, aprender todo lo posible...sobre todo si queremos estar protegidos en nuestra casa o empresa tanto como sea posible. Nos vemos.

Guadalinex: úsalo libremente

Hoy os dejo este pequeño anuncio publicitario de Guadalinex. Distribución LINUX impulsada por la Junta de Andalucía. Mis nenes ya lo tienen instalado en casa (y lo usarán en el cole) y lo usan aprendiendo muchísimo y fomentando el software libre es como seremos eso...más libres.

Deezer: nuevo reproductor del Blog

Pues eso, que Finetune ya pasó a la historia, que era casi imposible actualizar las playlists, así que he decidido cambiarlo. Deezer me ha parecido sencillo, completo y actualizable al 100%. Será el que podreis disfrutar desde ahora en la columna derecha del Blog, justo debajo de los últimos twitties. Espero os guste y ya sabeis...jejeje..se aceptan sugerencias para poner ahí. Nos vemos.

Visual Studio 2010: ¡ya está aquí!


Ayer Microsoft lanzó la versión definitiva de su producto estrella para los desarrolladores, VS 2010. Una de sus principales novedades es que proporciona soporte para Azure, la plataforma cloud computing, Windows Phone 7 y Share Point.

Visual Studio 2010 incorpora numerosas mejoras para facilitar el proceso de desarrollo. Entre otras incorpora la herramienta Intellitrace, que graba las ejecuciones de una aplicación durante las pruebas, además de tener la capacidad de mapear la estructura de código importante para ayudar en el mantenimiento de los proyectos existentes. Otra de las características que ayudará a los desarrolladores es el soporte multi-monitor, que permite que el código y el diseño del interfaz de usuario se puedan mover en pantallas separadas, además de una extensión gracias a la cual los desarrolladores pueden encontrar y descargar plug-ins de terceros. Para el desarrollo de Windows una de las novedades es el soporte para interfaces multitáctiles en Windows 7. Visual Studio 2010 se lanza con soporte para una opción de Azure, conocida como “right in the box”, que permite a los desarrolladores probar el código localmente antes de subirlo a la nube. El soporte para Windows Phone 7 servirá para que los desarrolladores puedan empezar a crear aplicaciones para unos dispositivos que estarán disponibles a finales de año. También nuevo en Visual Studio 2010 es el soporte para SharePoint, gracias a la cual los desarrolladores podrán extender la funcionalidad de la plataforma de colaboración de Microsoft. Visual Studio 2010 está disponible en las ediciones Professional, Premium, Ultimate and Test Professional.

Toshiba: ¡esto sí que es una promoción!

A ver, esta oportunidad es irrepetible, Toshiba España e Intel, han puesto en marcha "Si la Roja gana, tú ganas", una promoción en la que en caso de que nuestra selección de fútbol gane el próximo mundial de Sudáfrica te devuelven el dinero si has comprado un portátil o televisor de su marca entre el 10 de abril y el 10 de junio. Para más información pulsa aquí.

Yo por de pronto voy a pensar si adquirir alguno pero si tú estás pensando hacerlo, decídete y hazlo seguro, porque si de algo estoy convencido es que este año sí, este año seremos por fin los Campeones del Mundo, como lo estuve cuando empezó la Eurocopa pasada. Hay sensaciones que uno recibe porque quienes las transmiten no dejan lugar a dudas: y en este caso los mejores juegan de nuestro lado.

Nuestra Familia Numerosa: ¡Cómo crecen estos nenes, pero siempre unidos!

Con unos hijos como éstos, tan guapos y ya tan grandes, ¿no veis normal que me vaya viendo cada vez más viejo, jejeje?. Si es que hasta la barba que me estoy dejando me está dando un toque de papá carroza. Ya mismo estarán pidiendo permiso para salir con amigos y chicas por ahí hasta las tantas, jejeje, pero uno será inflexible, seguro, eso lo tengo clarísimo, bueno...ahora que lo pienso...no tanto.Que quedan todavía algunos años, no voy a preocuparme con tanto tiempo de antelación, ¿no?, pero es que el tiempo vuela y...¡bueno qué mas da!. En el mismo lugar de esta foto tengo yo mías de hace más de 30 años...
Lo importante es que están creciendo felices y que nos sentimos,Yoli y yo,los padres más felices del mundo por crear esta Familia Numerosa tan unida, superando los malos momentos y disfrutando de los buenos. Os amo.

Papá y Mamme: ¡Felicidades!

Pues eso, que con una semana de retraso, pero como decimos por aquí, más vale tarde que nunca, acabo de subir a Picasa las fotos que nos hicimos en la comida de celebración por los cumples del abuelo Pepe (mi  pá) y Mamme (mi ahijá) que ambos cumplen el mismo día, el 2 de Abril. Fuimos cerca del pantano del Agujero (venta Las Pitas), que se come allí ¡ufffff!, todo muy bueno, típica comida de Los Montes, jejeje.

Lo dicho, ¡Muchas Felicidades y que cumplais muuuuuchos más!.

7 consejos para acelerar tus consultas SQL

Aquí os dejo algunos detalles que seguro mejorarán el rendimiento de vuestras queries:

1) Usa Case cuando sea siempre posible: en Selects, Updates, etc.

2) No reutilizar algún código "parecido" a la consulta que queremos diseñar a ciegas. Sólo cuando realmente tenga sentido.

3) Usa sólo las tablas que necesitas en tu query. Un consejo "de perogrullo" pero es que a veces nos empeñamos...

4) No hagas double-dip. Sí, eso es, una consulta debe diseñarse para hacer una única cosa, no varias tareas a la vez. Recuerda el principio KISS (Keep It Simple, Stupid!).

5) Usar tablas temporales sólo cuando sean necesarias, y no como sustitutivo de cualquier subconsulta.

6) Obtén datos al principio de cada etapa. Será fácil ganar en rendimiento, pero también más propenso a errores si se hace sin cuidado. ¡Ojo!.

7) Haz Deletes y Updates en lotes.  En los dos sentidos,¿vale?. O sea, si hay que hacer una actualización y/o borrado de gran tamaño divide en lotes más pequeños, y si hay muchas actualizaciones o borrados pequeños (es decir, individuales) ejecútalos en lotes.

El mundo de los informáticos: Buenafuente en estado puro

Recuva: extraordinaria herramienta para recuperar archivos de tu disco duro

Tanto si eres uno de esos bichos raros que hacen backups con frecuencia de todo, o al menos lo más importante, como si eres el más despistado del mundo, seguro que una de tus principales preocupaciones es no perder la información que tienes en tu ordenador: código fuente, contactos, la foto de tu suegra, etc.
Si eso ocurre, ¡no te preocupes!. Respira hondo y este maravilloso software, Recuva, de Piriform, la compañía de mi adorado CCleaner, hará el resto.


Es rapidísimo, potente e incluso dispone de un Wizard, muy simple pero efectivo, que nos ayudará a localizar el tipo de archivos perdidos. Espero os sirva en algún momento, y por cierto....voy a hacer una copia de seguridad...por si las moscas, jejeje. Nos vemos.

Y ahora...¿quién paga por este error informático?

Pues era que se era, un sistema informático perteneciene a los Mossos d'Esquadra. Todo funcionaba bien pero un día, para mala suerte de una persona rumana que pasaba por Tarragona, deciden que deben detenerlo y hacerle pasar más de 20 horas (noche incluida) por quebrantar supuestamente una orden de alejamiento hacia su ex-pareja. Esa orden la había derogado hacía casi un año el Juzgado de lo Penal número 4 de Tarragona, pero un defecto en el flujo de información entre los Juzgados y los Mossos provocó tal accidente. Si nos hubiera pasado a cualquiera de nosotros hubiéramos puesto el grito en el cielo, ¿no?. Démosle ya la importancia que tiene a la Ingeniería Informática. Respetemos a los profesionales que han estudiado y siguen formándose en las últimas tecnologías para facilitarnos la vida y ayudarnos en nuestras tareas diarias, y critiquemos con dureza el intrusismo, y no lo digo por este caso concreto, sino en general. Informático no es cualquier persona que sabe (o cree que sabe) usar un ordenador porque usa Messenger, Facebook o la red que sea.  Un Ingeniero Informático es ante todo un INGENIERO y como tal debería ser reconocido, valorado y respetado ¿porqué tienen más suerte un doctor, abogado o arquitecto?. ¡Seamos serios!. Y ahora para calmarme....acudo a un WebCast sobre Certificaciones .NET 2008. Espero esté entretenido. Ya os cuento.

iPad ya a la venta en USA. Todo un éxito, pero... ¿lo necesitamos?

 
Pues eso, que Apple puso a la venta el pasado sábado el iPad y en las primeras 24h vendió ¡300.000 udes!. Comparativamente con el iPhone (270.000 udes en las primeras 30h) parece que Steve Jobs sigue consiguiendo lo increíble: superarse y mantener a una comunidad de fieles seguidores de la marca de la manzana. En España estará a la venta a finales de mes (igual que en el resto de Europa, Japón y Canadá, entre otros países). Éxito asegurado.

Personalmente pienso que no aporta mucho a la frenética carrera por "lo último en tecnología", ya que más bien parece un iPhone de mayores dimensiones, pero ya se está frotando las manos la comunidad de desarrolladores que están trabajando en nuevas aplicaciones para algunos sectores donde ciertamente sí puede entrar este dispositivo: el sanitario (clipboards médicos), medios de comunicación, etc. Lo que sí ya es una realidad son los millones de descargas desde el App Store que han realizado los primeros compradores de la última maravilla de Apple. Sólo el tiempo dirá si es un éxito finalmente pero a día de hoy tiene toda la pinta de que nos convencerán a todos nosotros de adquirir uno tarde o temprano ...¿y tú, a qué esperas para reservar ya el tuyo?. Cuando lo tengas, muéstrame qué puedes hacer con él y si hay algo que justifique lo que cuesta. En USA el modelo con WiFI es de 499$ con 16 Gb, 599$ con 32Gb, y de 699$ el de 64 Gb. Con Wifi + 3G el precio será 629$ con 16 Gb, 729$ con 32Gb, y de 829$ el de 64Gb.

Songr: imprescindible si buscas canciones en Internet

Hoy os recomiendo esta aplicación, Songr, de pequeño tamaño (menos de 4Mb), y que os permitirá descargar a vuestro PC cualquier canción. Haciendo uso de los 14 motores de búsqueda musical que usa por defecto podreis simplemente tecleando el nombre de la canción o de vuestro artista favorito acceder en unos segundos a lo que buscais. También podreis extrar audio de vídeos de YouTube, escuchar las canciones antes de descargarlas, y mucho más. Personalmente es el software que uso para encontrar todo lo relacionado con la música. Espero os sea de utilidad.

Blog renovado

Pues eso, que como dice el refrán: renovarse o morir. Me he puesto manos a la obra para cambiarle el diseño al Blog: ahora es más nítido, más sencillo y a la vez  más completo (o eso he intentado jejeje). A partir de ahora como algunos me habeis pedido (los más serios), incluiré algunos artículos técnicos sobre Programación y Bases de Datos. También os dejaré por aquí referencias y análisis de utilidades que personalmente haya probado y os puedan servir.

También para los menos serios (que sois muchos, jejeje) teneis en la parte derecha, al final, enlaces para consultar la programación diaria de cualquier cadena TV online, una selección de chistes del día y la posibilidad de ver cualquier video de youtube sin tener que abandonar éste, vuestro Blog. Espero os gusten y como ya sabeis, por aquí quedamos para vuestros comentarios.

Nos vemos.

Buscar en el Blog: