Ahora llega Nexus One

by Roy Rojas 6. enero 2010 08:50

Desde mi punto de vista se creó mucha espectativa al rededor del nuevo teléfono de Google/HTC llamado 'Nexus One', el cual fue presentado ayer martes 5 de enero.

Viendo reviews y videos de youtube, este nuevo teléfono no aporta nada nuevo al mercado ya un poco saturado de mobiles, pretende ser una competencia para el iPhone sin acordarse que hay otros dos muy fuertes como son el Windows Mobile y el Symbian, los cuales han avanzado muchisimo en los ultimos años.

Solo nos quedaría esperar como se comporta el mercado en los proximos meses, pero en mi opinion cambiarse por cambiarse al Nexus One no esta entre las opciones.

Tags: , ,

Internet | Noticia | Tecnología de Información | Mobile

Qwitter Client ayuda a los ciegos a utilizar Twitter

by Roy Rojas 4. noviembre 2009 10:03

Qwitter es un cliente de Twitter diseñado para brindarte acceso a los ciegos, proporcionando una integración innovadora entre Twitter y el lector que ellos utilizan.

Qwitter brinda soporte a los tres principales lectores de pantalla, comercial y de expresión Sapi, le proporciona acceso instantáneo a todos los aspectos del servicio de microblogging Twitter, dándole la posibilidad de publicar un tweet en cualquier lugar, leer tweets, realizar búsquedas y todas las funciones normales del servicio.

http://www.qwitter-client.net

Tags: , ,

Internet | Noticia | Tecnología de Información

La aparición de sitios piratas se triplicó desde el juicio a The Pirate Bay

by Roy Rojas 3. noviembre 2009 08:41

McAfee, la famosa empresa que tiene el software antivirus, realizó un estudio que dejará a toda la industria, la gente de la RIAA y la MPAA con la boca abierta y gritando auxilio, porque en los últimos meses la cantidad de sitios que ofrecen material con derechos de autor se triplicó en la red después de que comenzó la dura e interminable persecución contra los administradores de The Pirate Bay.

Y si bien muchos pensaban que porque The Pirate Bay perdió el largo y complicado juicio y, tarde o temprano, el sitio tendrá que cerrar sus puertas y sus administradores cumplir su condena la cantidad de este tipo de sitios disminuiría, no fue así sino al contrario. La empresa hizo un estudio que determinó que hubo una creación del 300% más alta de sitios que permiten descargar archivos en los últimos cuatro meses.

Lo malo de todo esto es que los creadores de malware están aprovechando esto y están desarrollando sitios que simulan ser de file-sharing y en realidad no son más que webs que terminarán infectando al usuario.

Que hayan aparecido un 300% más de sitios piratas después de la “caída” de The Pirate Bay es lo más normal del mundo y ya tuvimos la posibilidad de verlo anteriormente.

Hace unos años, cuando en Gran Bretaña se cerró uno de los trackers más famosos de música de todos los tiempos, OiNK, muchos otros surgieron tratando de ocupar su lugar (los que lo hicieron fueron What.cd y Waffles.fm).

A este fenómeno se le dice la Hidra del Bittorrent. Se hace referencia de esta manera porque cuando una de las cabezas de la hidra es cortada, otras vuelven aparecer. En el universo BitTorrent sucede exactamente lo mismo, cuando un tracker muy famoso es dado de baja, muchos otros aparecen tratando de ocupar su lugar

Noticia vía ALT1040

Tags: ,

Internet | Tecnología de Información | Noticia

Habilitar el CLR en SQL Server

by Roy Rojas 30. octubre 2009 14:17

Si se necesita ejecutar un objeto CLR en nuestra base de datos, seguramente nos va a retornar un mensaje de error indicando que el CLR está deshabilitado, ya que se instala así por default. Para habilitar esta opción hay que configurarlo y se puede hacer mediante los siguientes comandos.

EXEC sp_configure 'show advanced options' , '1';
go
reconfigure;
go
EXEC sp_configure 'clr enabled' , '1'
go
reconfigure;

Tags: , , , ,

Bases de Datos | Programación

Direcciones de Internet incluirán alfabetos no latinos

by Roy Rojas 30. octubre 2009 14:11

Seúl (AP). El organismo sin fines de lucro que vigila el uso de las direcciones de Internet aprobó el viernes el uso del hebreo, hindú, coreano y otros tipos de escritura que no se basan en caracteres latinos, lo que podría llevar a la inclusión de una población mucho mayor en Internet.

La junta directiva de la Corporación para la Asignación de Números y Nombres en Internet (ICANN por sus siglas en inglés) decidió admitir ese tipo de escritura en los nombres de dominio luego de una semana de debate en Seúl.

El fallo de los 15 integrantes de la junta, que surge después de años de análisis y pruebas, no encontró ninguna resistencia y los asistentes lo celebraron con una ovación de pie.

El resultado permite a los gobiernos o a sus asesores enviar solicitudes para nombres específicos y lo más probable es que entre en vigencia el 16 de noviembre. Los usuarios de Internet lo podrán ver en sus computadoras a partir del próximo año, especialmente en árabe, chino y otros tipos de escritura que tienen mucha demanda, según las autoridades de la ICANN.

Esto representa un pequeño paso para ICANN, pero es un gran paso para la mitad de la humanidad que no utiliza el alfabeto latino, como los coreanos, chinos y los países árabes, además de Asia, Africa y el resto del mundo, dijo Rod Beckstrom, director general de ICANN.

Los nombres de dominio -direcciones de internet que terminan en .com y otros sufijos- son las designaciones clave detrás de cada sitio de internet, dirección de correo electrónico y mensaje de Twitter.

Desde que fueron creados en la década de 1980 los nombres de dominio han estado limitados a los 26 caracteres del alfabeto latino que se utilizan en inglés (la ñ del castellano estuvo excluida por años), así como los 10 numerales y el guión. Se habían utilizado trucos técnicos para permitir que parte de las direcciones de internet tuvieran otros tipos de escritura, pero hasta ahora debían ceñirse a esos 37 caracteres.

Tags:

Internet | Noticia

Como cambiar el owner de objetos en nuestra base de datos

by Roy Rojas 23. octubre 2009 09:37

Algunas veces cuando importamos una base de datos, ya sea por restore, script o cual sea, esta puede venir asociada a algún usuario, el cual no tenemos en nuestro ambiente de seguridad, ni nos interesaría tenerlo, entonces tenemos que cambiarle a cada objeto el owner al que nosotros definamos.

Con el siguiente código generamos el script necesario para cambiarle el owner a los objetos

select 'exec sp_changeobjectowner ''dbo1046.' + name + ''',''dbo''' from sysobjects
where xtype = 'U'

sp_changeobjectowner recibe dos parámentros, nombre del objeto con el prefijo del owner original y el segundo parámetro sería el nuevo owner con el que quedaría este objeto

xtype indica el tipo de objeto al cual le queremos aplicar el código, tabla, vista, función, etc. Los diferentes tipos de objetos son :

C     CHECK_CONSTRAINT
D     DEFAULT_CONSTRAINT
F     FOREIGN_KEY_CONSTRAINT
FN    SQL_SCALAR_FUNCTION
FS    CLR_SCALAR_FUNCTION
IT    INTERNAL_TABLE
P     SQL_STORED_PROCEDURE
PK    PRIMARY_KEY_CONSTRAINT
S     SYSTEM_TABLE
SQ    SERVICE_QUEUE
TF    SQL_TABLE_VALUED_FUNCTION
TR    SQL_TRIGGER
U     USER_TABLE
UQ    UNIQUE_CONSTRAINT
V     VIEW

 

Tags: , , ,

Bases de Datos | Programación

Como generar un número random en SQL Server

by Roy Rojas 26. junio 2009 15:48

Es cierto que SQL Server tiene la función RAND(), la cual genera un número aleatorio, pero este no funciona correctamente o por lo menos como uno lo espera.

Por ejemplo RAND() si es ejecutado en transacciones distintas funciona perfectamente pero si es ejecutado varias veces en una misma transacción siempre nos va a retornar el mismo valor, por lo tanto el random no funciona.

Para probar esto que acabo de decir vamos a abrir el Management Studio y en un query nuevo hacemos

   SELECT newid() AS 'New id',
   RAND() AS 'Random',
   CHECKSUM(newid()) AS 'Checksum'

Resultado

  New Id Random Checksum
1 F3201996-A5E7-4B44-BDDE-FFF2A2499AB1 0.542140206197715 133238726

Resultado siguiente ves que se ejecuta

  New Id Random Checksum
1 41B78E4A-9F73-47E0-8721-2190E699E696 0.216229945261277  926182060

Hasta aquí todo bien, las dos veces se ejecutó correctamente el random, como debe de ser, pero si se ejecuta varias veces en la misma transacción la historia es otra

   SELECT TOP 5 newid() AS 'New id',
   RAND() AS 'Mal Random',
   CHECKSUM(newid()) AS 'Checksum'
   from sys.tables

  New Id Mal Random Checksum
1 C797611C-356C-47E4-97AD-14B331CECD7D 0.029692678590302 1529445979
2 12600DA6-B399-4F31-9BED-186EECFAA896 0.029692678590302 -1163175142
3 7691D246-73DE-4DD6-944B-0FA3523F0890 0.029692678590302 1893578383
4 69D663F5-0F40-4732-97FE-CB7F85B22E39 0.029692678590302 526397255
5 F82D3E07-66BF-4579-95D6-C745D9FAAF6E 0.029692678590302 -1752607711

Como podemos ver el valor Random siempre es el mismo, esto se debe a que si a la función Random el seed que utiliza SQL para generar el random es siempre el mismo, el seed de la transacción, por lo tanto el valor retorno siempre es el mismo. Entonces cómo se puede generar un valor random correcto?

En los query de ejemplo podemos ver la columna Checksum, la cual nos está retornando valores diferente en cada resultado, ya sea en transacciones distintas o en la misma transacción. Aquí está la clave para nuestro random.

New Id es un valor que genera SQL tomando como base el MAC address de la tarjeta de red y el reloj de la computadora, esto nos genera un string muy largo pero siempre distinto. Si a este valor le aplicamos la función checksum [  checksum(newid())  ] nos genera un valor numérico entero, que en algunos casos puede ser negativo. Si ocupamos que nuestro valor random sea un numérico entero positivo simplemente le aplicamos la funcion absolute [  abs(checksum(newid()))  ]

Entonces si ahora combinamos estas tres funciones de SQL obtendremos el random que necesitamos

   SELECT  TOP 5
   RAND() AS 'Mal Random',
   abs(checksum(newid())) AS 'RANDOM'
   from sys.tables

Resultado

  Mal Random RANDOM
1 0.747613544929705 149303544
2 0.747613544929705 2063275895
3 0.747613544929705 1150964410
4 0.747613544929705 1372336738
5 0.747613544929705 2115100305

Tags: , , ,

Bases de Datos | General | Programación

Como reconstruir los índices en nuestra base de datos SQL Server

by Roy Rojas 23. junio 2009 10:07

El siguiente script genera un script que reconstruye todos los índices de nuestra base de datos. Este script generado se debe ejecutar en una nueva pantalla de query.

Más adelante les voy a suministrar otro script, que dependiendo del nivel de fragentación hace un Rebuild o Reindex, pero por el momento este es bastante efectivo.

use NombreBaseDatos

select 'ALTER INDEX [' + i.name + '] on NombreBaseDatos.dbo.' + t.name +
       ' REBUILD;Print ''Tabla ' + i.name + ' indexada;'''
  from sys.indexes i,
       sys.tables t
 where i.object_id > 97
   and isnull(i.name,'x') <> 'x'
   and i.name not like 'queue%'
   and i.object_id = t.object_id

Tags: , , , ,

Bases de Datos | Programación

El estado del tiempo en tu Windows Mobile

by Roy Rojas 22. junio 2009 08:25

Aplicación para tu Windows Mobile que te muestra el estado del tiempo


Descargar aplicación
http://www.freewarepocketpc.net/ppc-download-weather4me.html

Tags: , ,

Programas | Windows Mobile

Como obtener los nombres del equipo, NetBios y DNS en .Net

by Roy Rojas 22. junio 2009 07:50

Los nombres del equipo, dominio, NetBios, DNS, etc, estan almacenadas debidamente en clases y objetos disponibles en cualquier momento. En este ejemplo vamos a mostrar algunas de estas variables que te podrán ayudar desarrollar tus aplicaciones más facilmente.

Nombre de la Computadora o Terminal NetBios
Environment.MachineName

Versión de la aplicación que se está ejecutando
Application.ProductVersion

Nombre del dominio asociado al usuario actual
Environment.UserDomainName

Usuario que actualmente está logueado en Windows
Environment.UserName

Path donde se esta ejecutando la aplicación
Windows.Forms.Application.StartupPath

Nombre del DNS
System.Net.Dns.GetHostByName("LocalHost").HostName

Estos ejemplos te ayudarán a encontrar muchas otras variables más que están dentro de esas mismas clases.

Tags:

.NET | Programación

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen