ELEKTRO

Tecnología-WEB-Electrónica-Computación

Advertisement

Noticias para la categoría ‘ Internet ’

youtube-disco

YouTube ha encontrado una manera en la que sus usuarios permanecerán más tiempo en su página. No tiene nada que ver con John Travolta ni pistas de baile con locetas iluminadas de colores. YouTube Disco es un servicio que confecciona playlists dando otra propuesta para consumir y descubrir videos y música.

Para utilizarlo los usuarios deben teclear el nombre de un artista o el título de una canción en un cuadro de búsqueda y YouTube Disco hará un playlist con temas relacionados. Sin que el usuario tenga que intervenir, cada video del playlist se tocará por sí solo, lo cual promete horas interminables de música y que podría aniquilar la lista de reproducción que algún melómano armó en su  iPod para la fiesta. El sistema no es exclusivamente automático, pues los usuarios también pueden vinvular canciones con su playlist.

Se ha detectado que la mayoría de los usuarios se quedan en promedio 15 minutos en el sitio YouTube. Por lo tanto esta característica se puede entender como un movimiento por parte del sitio perteneciente a Google para mantener a los visitantes interesados. Por otro lado, también es una respuesta a sitios como Muziic, el cual fue creado hace un año y que permite a los usuarios tratar a los videos más como un mp3.

Si el creador de playlists en iTunes conocido como Genius permite hacer listas de música de manera rápida y sobre todo coherente, el Disco de YouTube puede ser una herramienta muy útil, no sólo por la confección de la lista sino porque el acceso a los videos no se limita a una biblioteca personal, las conecciones hechas por el servicio pueden generar estas programaciones musical y de videos, pero también ayudarte a descubrir música nueva dentro de tus gustos.

Fuente: CNET News y Matuk.com

office2010

Microsoft ha dado, a algunos usuarios la versión casi final, la versión “release candidate” de Office 2010 y se espera que la suite informática aparezca ya públicamente para junio de este año. “Microsoft ha puesto a disposición de los miembros del technology adoption program – TAP, la versión release candidate“, indicó un vocero de la empresa en Redmond.

Una versión beta de Office 2010 estuvo disponible desde noviembre del año pasado y ha sido descargada unas dos millones de veces. La compañía empezó la prueba pública del producto con una versión que fue liberada en julio del año pasado, aunque ya se había filtrado una versión anterior de mayo de ese mismo año.

Office 2010 ofrece una serie de características y mejoras a cada uno de los programas fundamentales, pero mantiene los formatos XML y la interfaz de cinta (ribbon) introducida en Office 2007. Probablemente el cambio más importante es el haber añadido una versión de Excel, Word, OneNote y PowerPoint, que puede correr en el navegador, conocida todas ellas como las aplicaciones Office Web. También, por primera vez, Microsoft ofrecerá versión de 32 y 64 bits del software.

Mientras tanto, los entusiastas de Windows han encontrado que hay una actualización de Windows 7, build 7700. De acuerdo a un sitio ruso, Neowin, se pueden ver pantallas filtradas de esta versión del sistema operativo de Microsoft. No obstante esto, no está claro saber por solamente las imágenes, qué tantas cosas nuevas trae esta actualización.

Fuente: CNet y Matuk.com

Google presenta Google Goggles, una nueva aplicación de búsqueda visual para dispositivos Android que permite realizar búsquedas utilizando una imagen en lugar de palabras. Cuando haces una foto con la cámara de tu teléfono, tratamos de reconocer el objeto y te devolvemos resultados de búsqueda relevantes.

¿Cuántas veces te has preguntado dónde está ese lugar paradisíaco que has visto en una foto?, ¿o te hubiera gustado poder conseguir más información sobre algo interesante que has leído en el periódico? ¿Cuántas veces has deseado poder saber más sobre un sitio que estás visitando?, ¿o has querido almacenar los datos de una tarjeta de visita cuando ibas a la carrera? En estas situaciones y otras muchas Google Goggles te puede ayudar.

Cuando se realiza una consulta de búsqueda visual, Google Goggles descompone la imagen en varias partes y las contrasta con otras de su base de datos para ver si encuentra alguna coincidencia.

Cuando la encuentra, devuelve términos de búsqueda relevantes para esa imagen. Goggles actualmente es capaz de reconocer decenas de millones de imágenes, entre ellas lugares, obras de arte famosas y logotipos.

Para hacer una consulta sobre un lugar ni siquiera necesitas hacer una foto, basta con abrir Google Goggles y sostener el teléfono frente al lugar que te interesa. Utilizando el GPS del dispositivo y la brújula, Goggles reconocerá de qué sitio se trata y te mostrará el nombre en el visor de la cámara. Y si quieres obtener más información, sólo tienes que pulsar en el nombre.

“Verdaderamente es cierto que a veces una imagen vale más que mil palabras”, ha declarado Shailesh Nalawadi, director de producto de Google Goggles.

“Cuando se realiza una búsqueda, en ocasiones resulta más efectivo introducir una imagen que utilizar palabras, sobre todo si se hace desde un móvil. La visión por ordenador es una tecnología aún incipiente pero Goggles ya está demostrando su potencial y nosotros estamos trabajando mucho para ampliar nuestra capacidad de reconocimiento. En un futuro cercano la búsqueda visual será algo tan natural como señalar con el dedo”

Google Goggles está disponible en inglés en todo el mundo y se puede descargar de forma gratuita desde el Android Market.

Además de Goggles, Google ha anunciado la incorporación de la característica “Resultados más recientes” a las búsquedas que se hacen en inglés en Google.com.

Esta nueva característica da un toque de dinamismo a los resultados de búsqueda al incorporar unflujo constante de contenido en tiempo real de toda la web.

Ahora, inmediatamente después de realizar una búsqueda, es posible recibir actualizaciones de usuarios en tiempo real en sitios como Twitter y Friendfeed, además de titulares de noticias y entradas de blogs publicadas sólo unos segundos antes.

Dejo para ustedes tres videos tutoriales utilizados en la Maestría en Tecnologías WEB, realizados por KikeKaps.

En esta ocasión teniendo una plantilla en photoshop, la recortamos y usamos las imágenes para crear un sitio con XHTML y CSS.

Parte 1: Manipulación de elementos de una interfaz que se utilizará para un Sitio Web creado en XHTML y CSS. En este video se muestra la primera parte de la creación y es referente al recorte de elementos dentro de photoshop preparándolos para invocarlos con hojas de estilo.

This movie requires Flash Player 9

Parte 2: Continuación del tutorial para generar un sitio en XHTML y CSS. En este tutorial se muestran las 2 hojas de estilo que se usaron para generar el XHTML.

This movie requires Flash Player 9

Parte 3: Tercera parte del tutorial, creación de sitio web con xhtml y css. En esta parte se mostrará el uso de DIVs para el maquetado dentro del XHTML, ligando los archivos externos de las hojas de estilo.

This movie requires Flash Player 9

La página oficial de los WebbyAwards, el premio internacional que premia la excelencia en Internet, publicó la lista de los 10 momentos más influyentes en Internet de la última década. Son los siguientes:

2000:   El sito de Craiglists de clasificados, se expande fuera de San Franciso, ciudad donde nace el servicio.

2000:  El lanzamiento de Google AdWords,  el método que usa Google para hacer publicidad patrocinada.

2001:  El lanzamiento de la enciclopedia virtual Wikipedia.

2001: Cierran Napster, el sitio de intercambio gratuito de archivos, popularmente conocido por ofrecer una amplia cantidad de descargas de música y video.

2004: Google se cotiza en la bolsa.

2006: El impacto revolucionario en el mundo del video logrado por YouTube.

2006: Facebook se vuelve un sitio abierto, accesible para cualquier usuario. Lanzamiento de Twitter.

2007: Debuta el iPhone

2008: El uso activo de Internet en la campaña presidencial estadounidense.

2009: El uso de twitter en la protesta durante las elecciones Iraníes.

En www.webbyawards.com pueden encontrar los premios de años anteriores a los mejores sitios web.  El 14vo premio será anunciado en abril del 2010.

book-coverSi quieres aprender Wordpress, no puedes dejar de adquirir este gran libro (en inglés) de 400 páginas “Digging Into Wordpress“, con ejemplos prácticos del uso de este popular CMS y aunque casi todo lo pueden encontrar sabiendo buscar en Google, tener siempre un libro como guía es de gran utilidad, ya que aquí encuentras todo mejor organizado y lo que es mejor, ya probado!!!

Por 27dll tendrás el PDF de este libro (Es por el momento el único formato que ofrecen, aunque prometen sacar el libro en papel).

Fue escrito por Chris Coyier y Jeff Starr dueños del blog digwp.com que han hecho más de 100 sitios basados en Wordpress, asi que es una de las muchas garantías.

Si decides comprarlo en estos 10 primeros días, por oferta de lanzamiento recibes un descuento de $5 usando el cupón DIWEARLY

Adquiérelo Aquí!!!

Y tú, ¿ya sabes usar Wordpress?

Estudiantes

Es verdad en Dinamarca estan implementando esta medida en 14 Universidades para evaluar a sus alumnos en los examenes finales solo tiene 1 restricción:

  • Los estudiantes no pueden comunicarse con nadie del salon ni con nadie fuera de él.

Fuera de ahí puedes visitar cualquier página.

La mecánica de evaluación es la siguiente:

  • Los estudiantes llegan con su laptop al aula.
  • Se reparten CDs con información y papeletas de examen.
  • Los alumnos pueden usar el internet en sus portátiles para contestar.

El gobierno Danés, promotor de esta práctica, dice que la Internet ya es parte de la vida diaria y debe ser incluido en las aulas. “Una de las herramientas más importantes es el Internet, y los alumnos deben ser expertos en sacarle provecho a este medio”.

No se preocupan de que copien los alumnos porque las consecuencias de hacer trampa son graves y además porque las respuestas no son datos o palabras específicas. Son ensayos que demuestran la capacidad de búsqueda y análisis del estudiante.

A mi parecer es una gran medida adoptada por el gobierno Danés y que más paises deberian adopatarla ya que todos usamos el internet hoy en día en nuestros trabajos y cuando no entendemos algo conocemos sobre algún tema podemos investigarlo en internet sin mayor problema, yo me pregunto, ¿por qué no darle a los alumnos esa posibilidad de búsqueda si en sus próximos empleos si se las darán?

¿Cómo ven ustedes?

twitterespEn lo personal se me hacía increible como los chavos de Twitter no se habían puesto las pilas y lo habían traducido ya al español, muchas personas no abrian una cuenta de twitter porque no entendían ni inglés ni japones… pero bueno esa espera ya terminó y Twitter al fin aprendió español.

Ahora podemos cambiar el lenguaje directamente en la página principal, o si ya tienes cuenta, lo puedes cambiar desde settings…

Este es un paso más en la guerra de las redes sociales, y con esta acción estoy seguro que Twitter ganará más seguidores, la red crecerá, se caerá más y tendremos más noticias del mundo entero en tiempo real.

A principios de mes invitamos a algunos voluntarios a traducir Twitter en más idiomas. Gracias a estos entusiastas voluntarios hispanoparlantes, Twitter está ahora oficialmente disponible en español……Esperamos que ofrecer Twitter en español signifique más gente capaz de acceder y disfrutar de este servicio……

Y tú ya tienes tu Twitter en español??

El tema Magazeen de Wordpress es un tema a mi gusto muy elegante y lo que es mejor, gratuito.

Tiene excelentes funcionalidades y muchas de ellas con JQuery, sin embargo el problema viene al tratar de meter algún plugin o algun extra que utilice Javascript, ya que el JQuery deja de funcionar o traba algunas de las funciones de las otras librerias.

En el mismo sitio del tema el usuario Spencer aparentemente de los mismos desarrolladores, recomienda modificar el archivo functions.js y recomienda leer la siguiente documentación de JQuery, aunque eso nos da una pista, la verdad batalle un buen rato para encontrar la solución, por lo cual la comparto con ustedes:

El Archivo functions.js original que se encuentra en la carpeta js/ es el siguiente:

?Ver código JAVASCRIPT
$( function() {
	$( '.category' ).click( function() {
		$( this ).toggleClass( 'active' )
		$( this ).siblings( '.dropdown' ).toggle();
		$( this ).find( '.indicator' ).toggleClass( 'indicator-active' );
		return false;
	} );
 
	$( '#dock > li' ).hover( function() {
		$( '.latest' ).fadeOut( 'fast' );
		$( this ).addClass( 'dock-active' );
		$( this ).children( 'span' ).fadeIn( 200 );
	}).bind( "mouseleave", function() {		
		$( this ).removeClass( 'dock-active' );	
		$( this ).children( 'span' ).fadeOut( 200 );
	} );
 
	$( '#dock' ).bind( "mouseleave", function() {
		$( '.latest' ).fadeIn( 1000 );
	} );
} );

Lo cambiamos por este:

?Ver código JAVASCRIPT
jQuery( function() {
	jQuery( '.category' ).click( function() {
		jQuery( this ).toggleClass( 'active' )
		jQuery( this ).siblings( '.dropdown' ).toggle();
		jQuery( this ).find( '.indicator' ).toggleClass( 'indicator-active' );
		return false;
	} );
 
	jQuery( '#dock > li' ).hover( function() {
		jQuery( '.latest' ).fadeOut( 'fast' );
		jQuery( this ).addClass( 'dock-active' );
		jQuery( this ).children( 'span' ).fadeIn( 200 );
	}).bind( "mouseleave", function() {		
		jQuery( this ).removeClass( 'dock-active' );	
		jQuery( this ).children( 'span' ).fadeOut( 200 );
	} );
 
	jQuery( '#dock' ).bind( "mouseleave", function() {
		jQuery( '.latest' ).fadeIn( 1000 );
	} );
} );

En el archivo header.php que esta sobre la raíz del tema buscamos las líneas:

<script src="<?php bloginfo( 'template_directory' ); ?>/js/pngfix.js"></script>
<script src="<?php bloginfo( 'template_directory' ); ?>/js/jquery-latest.js"></script>
<script src="<?php bloginfo( 'template_directory' ); ?>/js/effects.core.js"></script>
<script src="<?php bloginfo( 'template_directory' ); ?>/js/functions.js"></script>

Y después de ellas ponemos el siguiente código:

<script>
     jQuery.noConflict();
</script>

Con esto tendremos la funcionalidad JQuery y no interferirá con nuestras otras librerías, espero les sirva.

Si tienen una solución mejor les agradecería que la compartieran.

internetnecesarioHoy los Mexicanos nos despertamos con la desagradable noticia que el gobierno aprobó nuevos impuestos, los cuáles se venían cocinando desde hace tiempo.

Desde que el presidente Calderón hizo la propuesta, las quejas y contrapropuestas no se hicieron esperar, hubo una gran movilización sobre todo de jóvenes que proponían entre otras cosas la reducción de sueldos de los funcionarios de gobierno (presidente, secretarios, magistrados, diputados, senadores, consejeros, etc.) además de una reducción del presupuesto para partidos políticos.

Nuevamente los diputados se pasaron todo esto por el arco del triunfo y hoy han aprobado varios impuestos absurdos y que atentan contra el progreso, educación y economía de un país que ha sido tan golpeado por la crisis económica mundial.

Los nuevos impuestos incluyen un 3% a las telecomunicaciones (si al Internet, Televisión por Cable y Telefonía Fija y Móvil), un aumento a 26.5% a la cerveza, el IVA sube a 16%, el ISR sube a 30% y ahora hicieron aun mas absurdo el IDE (Impuesto a Depósitos en Efectivo) que te cobrará el 3% por cada $15,000 que deposites en tus bancos.

La comunidad en Internet ha levantado la voz ante este atropello, se ha manifestado en las principales redes sociales y enviando correos a sus respectivos diputados, lamentablente y como es sabido todo esto no servirá de nada ya que al gobierno lo único que le interesa es inflarse sus propios bolsillos.

Mientras una serie de jóvenes intentan impulsar presencia de México en la Web, el poder Ejecutivo y Legislativo de la nación intentan parar estos esfuerzos, ya que consideran que el Internet y el Celular son lujos y no una necesidad.

El virus más peligroso de los últimos años se llama “gobierno” puede acabar con las telecomunicaciones en poco tiempo :D #internetnecesario

¿Tú que piensas de tus gobernantes?

¿Quieres más información? Puedes ver más notas en:

MilenioFayerwayerEl UniversalIsopixelEsMasVivirMéxico

Revisando los RSS que me llegan a diario encontré un artículo que creo que merece la pena mencionar, y es que nuevamente el popular CMS Wordpress tiene una vulnerabilidad considerada grave.

Según el artículo, los amigos de Wordpress no le dieron importancia a este fallo de seguridad que puede hacer caer el servidor donde esté alojada cualquier página de wordpress en un tiempo aproximado de 5 min.

El fallo se enuentra en el fichero wp-trackback.php

y se soluciona de la siguiente manera:

Localizamos la línea

$charset = $_POST['charset'];

Y la reemplazamos por estas dos:

$charset = str_replace(,,",$_POST['charset']);
if(is_array($charset)) { exit; }

Este fallo afecta todas las versiones conocidas, no importando si tienes activados los trackback o no.

Una prueba de este ataque DoS la pueden ver en el Rincón de Zerial

ADO.NetLos archivos que presento a continuación fueron los creados en clase, si presentan un bug favor de reportarlo en los comentarios.

Estos programas son en vb.Net sobre el Proyecto Mono, si deseas saber más acerca de este proyecto y ver algunos buenos ejemplos puedes visitar el blog de Enrique Aguilar.

clsMateria.vb

Option Explicit On
Option Strict On
 
Imports System
 
 
Namespace ServiceAlumnos
 
	Public Class clsMateria
		Inherits ServiceAlumnos.DataAbstractionLayer
		Public Sub New()
			MyBase.New
		End Sub
		Private _matricula As Integer
		Private _materiaID As String
		Private _Nombre As String
		Private _Calificacion as Integer
		Public Property Matricula () As String
			Get
				Return _matricula
			End Get
			Set (ByVal value as String)
				_matricula = value
			End Set
		End Property
		Public Property MateriaID () As String
			Get
				Return _materiaID
			End Get
			Set (ByVal value as String)
				_materiaID = value
			End Set
		End Property
		Public Property Nombre () As String
			Get
				Return _Nombre
			End Get
			Set (ByVal value as String)
				_Nombre = value
			End Set
		End Property	
		Public Property Calificacion () As Integer
			Get
				Return _Calificacion
			End Get
			Set (ByVal value as Integer)
				_Calificacion = value
			End Set
		End Property	
		Public Overrides Sub Read(ByVal dr As MySql.Data.MySqlClient.MySqlDataReader)
			_materiaID = dr("MateriaID")
			_Nombre = dr("Nombre")
			_Calificacion = dr("Calificacion")
		End Sub
 
	End Class
End Namespace

clsAlumnos.vb

Option Explicit On
Option Strict On
 
Imports System
Imports System.Data
Imports System.Collections.Generic
 
 
Namespace ServiceAlumnos
 
	Public Class clsAlumno
		Inherits ServiceAlumnos.DataAbstractionLayer
		Public Sub New()
			MyBase.New
		End Sub
		Public Sub New(ByVal _cnnMySQL As MySql.Data.MySqlClient.MySqlConnection)
			MyBase.New(_cnnMySQL)
		End Sub
		Private _materiaDetails As New List (Of clsMateria)
		Private _matricula As Integer
		Private _nombre As String
		Private _apellidos As String
 
		Public Property Matricula() As Integer
			Get
				Return _matricula
			End Get
			Set(ByVal value As string)
				_matricula = value
			End Set
		End Property 
		Public Property Nombre() As String
			Get
				Return _nombre
			End Get
			Set(ByVal value As string)
				_nombre = value
			End Set
		End Property
		Public Property Apellidos() As String
			Get
				Return _apellidos
			End Get
			Set(ByVal value As string)
				_apellidos = value
			End Set
		End Property
		Public ReadOnly Property MateriaDetails() As List(of clsMateria)
			Get
				Return _materiaDetails
			End Get
		End Property
		Public Overrides Sub Read(ByVal dr As MySql.Data.MySqlClient.MySqlDataReader)
			_matricula=dr("Matricula")
			_matricula=dr("Matricula")
			_nombre=dr("Nombre")
			_apellidos=dr("Apellidos")
			Dim strSQL As String = "SELECT * FROM Materias WHERE Matricula = " & _matricula
			Dim cnn As New MySql.Data.MySqlClient.MySqlConnection("Data Source=localhost;Initial Catalog=Escuela;User Id=root;Password=kalabaza")
			Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL,cnn)
			Dim drReader As MySql.Data.MySqlClient.MySqlDataReader=cmd.ExecuteReader()
			While drReader.Read()
				Dim objMateria As New clsMateria()
				objMateria.Read(drReader)
				_materiaDetails.add(objMateria)
 
			end While
			drReader.Close
			cnn.Close
		End Sub
	End Class
End Namespace

clsDAL.vb

Option Explicit On
Option Strict On
 
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient
 
 
Namespace ServiceAlumnos
	Public MustInherit Class DataAbstractionLayer
	Protected cnnMySQLConnection As MySqlConnection
		Public Sub New ()
			MyBase.New()
		End Sub
 
	Public Sub New (ByVal _cnnConnection As MySqlConnection)
		cnnMySQLConnection=_cnnConnection
		CheckStatusConnection()
	End Sub
 
	'Definicion de Metodos Abstractos
	Public MustOverride Sub Read(ByVal _drDataReader As MySqlDataReader)
	Public Overridable Sub SetConnection(ByVal _cnnConnection As MySqlConnection)
		cnnMySQLConnection=_cnnConnection
		CheckStatusConnection()
	End Sub
	Public Sub ExecuteNonQuery(ByVal cmdCommand As MySqlCommand, ByRef errError As String)
		If cnnMySQLConnection IsNot Nothing Then
			Dim tscTransaction As MySqlTransaction = cnnMySQLConnection.BeginTransaction
			try
				cmdCommand.Connection=cnnMySQLConnection
				cmdCommand.Transaction=tscTransaction
				cmdCommand.ExecuteNonQuery()
				tscTransaction.Commit()
				Catch exMySQL As MySqlException
					errError="Data Provider: MySQL Server" & vbCrlf & "Numero del Error" & exMySQL.Number & vbCrLf & _
					"Descripcion del Error: " & exMySQL.Message
					tscTransaction.RollBack()
				Catch ex As Exception
					errError = "Origen de Error: " & ex.Source & vbCrLf & "Descripcion del Error: " & ex.Message
				Finally
					cnnMySQLConnection.Close()
					cnnMySQLConnection.Dispose()
			End Try
		End If
	End Sub
	Protected Sub CheckStatusConnection()
		If cnnMySQLConnection IsNot Nothing Then
			If cnnMySQLConnection.State=ConnectionState.Closed Then
				cnnMySQLConnection.Open()
			End IF
		End If
	End Sub
End Class
End Namespace

Webservice

Option Explicit On
Option Strict On
 
Imports System
Imports System.Web
Imports System.Web.Services
Imports System.Collections.Generic
 
Namespace ServiceAlumnos
 
	Public Class ServiceAlumno
		Inherits System.Web.Services.WebService
 
		<webMethod()>  _
			Public Function GetAlumnos() As clsAlumno()
				Dim objAlumnos As New List(Of clsAlumno)
 
					Dim strSQL As String = "SELECT * FROM Alumno"
					Dim cnn As New MySql.Data.MySqlClient.MySqlConnection("Data Source=localhost;Initial Catalog=Escuela;User Id=root;Password=kalabaza")
					cnn.Open
					Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL,cnn)
					Dim drReader As MySql.Data.MySqlClient.MySqlDataReader=cmd.ExecuteReader()
					While drReader.Read()
						Dim objAlumno As New clsAlumno()
						objAlumno.Read(drReader)
						objAlumnos.Add(ObjAlumno)
 
					end While
					drReader.Close
					cnn.Close
 
			End Function
	End Class
End Namespace

Y si te da flojera copiar el código aquí esta el rar de la solución: ServiceAlumnos