Datos sobre el USB 3.0


Se han dado a conocer las nuevas características de la tecnología que se viene: USB 3.0, esta nueva tecnología maneja velocidades de transferencia realmente increíbles: 25 GB en sólo 70 segundos, estamos hablando de una velocidad aproximadamente diez veces más rápida que USB 2.0.
Según comentaron sus desarrolladores, ya se encuentra disponible para ser implementada de a poco en el mercado. Por otro lado, todas las empresas apoyan el desarrollo de esta tecnología, por lo que faltaría únicamente comenzar su producción. Se espera que para mediados de 2009 se comiencen a observar los primeros portátiles con esta magnífica tecnología, que además ahorra energía.

Bueno ya que andamos de promocion pues si aun cuentas con el XP en tu maquina pero tmb te gustan las funciones del Vista, como la barra lateral en la cual puedes instalar lo que se denomina Gadgets, hay una manera muy sencilla y el cual solo requerias instalar 3 programas, si ya se que hay otras opciones como la de google o la de yahoo, pero este no es un clonico o algo que simule la barra tipo Vista, sino que es en si la barra de Vista acoplada para el XP.

Lo interesante es que se pueden descargar mas gadgets de la pagina oficial de Windows

DESCARGAR


¿Qué tipo de informático eres?

Actualmente en la empresa se viven cambios en los cuales es el evolucionar a las nuevas tecnologias, y pues como todo hay en la vinia de senior, pues estaba "googleando" y me encontre este interesante post que quiero compartir con ustedes y que la neta se apega muchismo a la realidad, acompaniandolo de unas graciosas imagenes que suelen apagarse a tambien a la realidad, espero y lo disfruten

Cuando trabajas con gente, de este gremio en concreto (aunque es aplicable a muchos otros), te das cuenta que hay gente de todo tipo: altos, bajos, guapos, simpáticos, frios, amables, meticulosos, solitarios... Pero cuando agrupamos aún mas a la gente (en mi opinión), tenemos a dos grandes grupos...

Grupo de los "busca vidas": Es gente autodidacta, que les gusta investigar y a la vez que programan tienen preparado el google, el msdn, codeproject, codeplex... y cuando les surge una duda, consulta, investiga, busca una segunda opción, por lo general, comprueba que el método que acaba de escribir es optimo o incluso antes de escribir una funcionalidad, se da unas vueltas por la red buscando lo que tiene que hacer, (no vaya a ser que ya esté hecho), repasan y comentan el código a la vez que piensan en la siguiente tarea. Interpretan la labor de programar como un "arte", en el que cada trozo de código adquiere una parte de ellos, lo ven como una forma mas de expresión, justificando las decisiones que toman, aportando comentarios en el código (aquí he utilizado una función recursiva por que mejora el rendimiento, bal bla bla). Que, a veces, cuando llegan a casa siguen pensando en la resolución del problema, que no solo se limitan a programar, a cumplir, sino que buscan la manera de mejorar, de innovar, pero lo mas importante de todo esto, es que este tipo de programador, aporta un valor añadido fundamental en los desarrollos, la calidad.
Grupo de los "Esqueeee": Les suele caracterizar la parsimonia y la apatía, generalmente son gente desmotivada, que no les gusta demasiado su trabajo y carecen de vocación. Cuando se encuentran un problema, que no está en su guión de trabajo habitual, les identifica la frase: "Es que eso no se puede hacer" o "Es que no sé como hacerlo (pero tampoco me he molestado en buscar como)". Solamente ven líneas de código, no piensan, solo programan, están convencidos de que solo hay una manera de hacer las cosas, la mas rápida. Es gente que les tienen que dar apoyo constante al desarrollo y no mejoran su actitud con la experiencia adquirida. Generalmente es necesario explicarles el problema, orientarles y guiarles hasta la solución. Ven su trabajo como una cadena de producción, en la cual, únicamente, tienen que cumplir sus 8 horas diarias y esperar el ingreso a final de mes, sin preocuparse demasiado de la calidad del desarrollo, solo lo justo, solo cumplir "Yo hago lo que me mandan...". No dan valor añadido al desarrollo, solo programan, mecanizan instrucciones, líneas de código, limitándose al requisito 36 del documento de requisitos, ¡sin mas! y ¿para que van a hacer mas? Les van a pagar lo mismo.

Una vez definidos, a mi modo de ver, estos grupos, quiero aclarar y puntualizar que esto no es siempre así, que las cosas no son o blancas o negras, que cada persona tiene características y cualidades diferentes a otras, que cada uno somos de nuestro padre y nuestra madre y que hay muchas factores que nos caracterizan, por no hablar de los estados de ánimo, que es al final, lo que define las acciones de las personas. No quiero que nadie me ubique de racista, machista o generalista por hacer 2 grandes agrupaciones, es solo una opinión, un pensamiento, una idea que seguro... si pensáis un poco, vais a identificar dentro de estos grupos al 80% de la gente con la que trabajáis.

¡Bien! Una vez dicho esto tenemos que hacer examen de conciencia, ver donde estamos, hacia donde vamos y hacia donde queremos ir, es necesario preguntarnos que, si ahora mismo nuestros ideales, son los mismos que en nuestro primer día de trabajo... y si cuando empezamos en este mundo, nos identificábamos con un grupo, no nos estaremos desviando hacia otro (el lado oscuro de la fuerza ;) ), o incluso, si tenemos compañeros de trabajo que han cambiado de grupo ¿cual es el motivo? ¿El síndrome del funcionario?

Y para terminar... recomendar este artículo a todo oveja descarriada, que no piense que el desarrollo es un arte... ¡que corra hacia la luz!

¡¡¡Vamos a cambiar el mundo!!!
Publicado el viernes, 22 de agosto de 2008 22:52 por Miguel Sierra



WTF es el AeroShake, bueno esta madre en pocas palabras es que si tenemos varias ventanas abiertas en nuestro escritorio y para minimizar todas de un trancazo dejando solo activa la que nos interesa solo es cuestion de agarrar la barra de titulo y hacerle su respectivo shake para que las demas se minimicen a excepcion de esta, la acabo de instalar en la compu y esta interesante el efecto y le veo utilidad hasta eso.

Esta novedad es algo de lo que se deja venir con el Windows 7, haber si les late, y como una imagen vale mas que mil palabras les dejo el siguiente videito


Aero Shake 1.3 (WinXP/Vista)



Para localizar un nombre de un campo de una tabla en una base de datos usaremos la consulta:

SELECT TABLE_NAME,*
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%NombreDeCampo%'

Con esto tendremos un listado de todas las tablas que tienen un campo llamado NombreDeCampo.

Probado con bases Sql Server 2000 en delante, en la version 7 no ha sido calado, pero pues si alquguien le sirve y puede correro en versiones anteriores a SQL, pues para que nos comente

Capitulo 3.1 - Elementos del Lenguaje C#

Secuencias de Escape utilizadas en el lenguaje C#

Secuencia Caracter Definicion
\0 NUL Caracter Nulo
\n CR + LF Ir al principio de la Linea Siguiente
\t HT Tabulador Horizontal
\b BS Retroceso (Backspaces)
\r CR Retorno de Carro sin avanze de linea
\f FF Alimentacion de pagina (Solo para impresora)
\' ' Comilla Simple
\'' '' Comilla Doble
\\ \ Barra Invertida(backslash)
\0dd Caracter ASCII. Representacion Octal
\xdd Caracter ASCII. Representacion Hexadecimal
\udddd Caracter UNICODE. Representacion Hexadec.
\a BEL Alerta, pitido(\u0007)
\u VT Tabulador Vertical(\u0008)

TIPOS

Los tipos en C# se clasifican en tipos : Valor y Refencia. Una variablke de tipo valor alamcena directamente un valor (dato en general) mientras que una variable de un tipo referencia lo que permite almacenar es una referencia a un objeto(posicion de memoria donde esta el objeto)

int suma = o; //Suma almacena un enetero

CCuenta cta = null // cta permitira alamcenar una referencia a un objeto CCuenta

Tanto las clases como las matrices, intrefaces y delegados son tipos refrencia.

En cuanto a los tipos valor se clasifican en las siguientes 3 formas : los tipos primitivos , las estrucutras y los tipos enmuerados

Los tipos primitivos se clasifican en tipo enteros, tipos reales y tipo bool.

Lista de tipos primitivos

La siguiente lista contiene los tipos (primitivos):

Tipo en C# Tipo de .NET Framework CLS-Compliant Descripción Valor por defecto
object System.Object Si Tipo base para todos los otros tipos N/A
bool System.Boolean Si 1 bit; representa true (verdadero) o false (falso) false
Enteros
byte System.Byte Si 8 bit; entero sin signo 0
sbyte System.SByte No 8 bit; entero con signo 0
short System.Int16 Si 16 bit; entero con signo 0
ushort System.UInt16 No 16 bit; entero sin signo 0
int System.Int32 Si 32 bit; entero con signo 0
uint System.UInt32 No 32 bit; entero sin signo 0
long System.Int64 Si 64 bit; entero con signo 0L
ulong System.UInt64 No 64 bit; entero sin signo 0
Decimales
float System.Single Si 32 bit; IEEE valor decimal 0.0F
double System.Double Si 64 bit; IEEE valor decimal 0.0D
decimal System.Decimal Si 128 bit valor decimal
(1 bit signo; 96 bit valor; 8 bit exponente; 23 bit sin uso)
0.0M
Caracteres
char System.Char Si 16 bit Caracter Unicode \0
string System.String Si Matriz de caracteres N/A*


Literal NULL 0
Tipos anulables


Un Tipo anulable puede representar todos los valores de determinado tipo más la capacidad de poder contener un valor null. Es una nueva característica en C# 2.0. Es una instancia de la estructura System.Nullable. Sólo pueden ser usados con los tipos por valor, ya que los tipos por referencia soportan el valor nulo.

La razón para usar Tipos anulables es para superar el problema de no estar apto para determnar fácilmente si un tipo por valor está vacío o indefinido. Diferente que a los tipos por referencia (que se les puede asignar el valor null) null no es asignable a tipos por valor primitivos.

NOTA: Los tipos bool anulables, en una sentencia if, while, for, o alguna otra sentencia lógica o de iteraciones, será equivalente null a false; no lanzará un error.

Por ejemplo, el siguiente código puede causar un error en tiempo de compilación:

int varA = null;
// Error: no se puede convertir en nulo
// 'int' porque es un tipo por valor que no es anulable

Usar Tipos anulables como una solución consistente para determinar si un tipo por valor está vacío o indefinido.

Se pueden declarar Tipos anulables de las siguientes dos formas:

System.Nullable variable;   // 1era manera

T? variableName; // 2nda manera

Donde T es el tipo del Tipo anulable. T puede ser cualquier tipo por valor incluyendo struct; pero, este no puede ser un tipo por referencia. Por ejemplo:

int?    i = 10;
double? d1 = 3.14;
bool? bandera = null;
char? letra = 'a';
int?[] arr = new int?[10];

Miembros de los tipos anulables

Miembors fundamentales:

Propiedades
HasValue Pública de sólo lectura. El tipo es bool. True si la variable no contiene un valor nulo.
Value Pública de sólo lectura. El tipo es el tipo indicado. Si HasValue es true, entonces Value contiene un valor significante. Si HasValue es false, accediendo a Value lanzará una InvalidOperationException.
Métodos
GetValueOrDefault Devuelve el valor del objeto o el valor predeterminado (en el caso de que el valor sea null) del objeto o del especificado en el parámetro opcional T.

Para probar los tipos anulables:

int? x = 10;
if (x.HasValue)
{ System.Console.WriteLine (x.Value); }
else
{ System.Console.WriteLine ("Indefinido"); }

// -o-

if (x != null)
{ System.Console.WriteLine (x.Value); }
else
{ System.Console.WriteLine ("Indefinido"); }


int? NumeroN = null;
int Numero = NumeroN.GetValueOrDefault(); // El valor predeterminado es 0
NumeroN = 146;
Numero = NumeroN.GetValueOrDefault(); // El valor es 146

Uso

La necesidad de este planteo sirve para interactuar con bases de datos SQL, las cuales sus celdas pueden contener también un valor null.

Si querés especificar tu propio valor predeterminado, puedes usar el operador ??. El operador ?? devolverá el valor de la declaración de la izquierda si este no es nulo y si lo es devolverá el valor dado del lado derecho del ??.

int? NumeroN = null;
int Numero = NumeroN ?? -1; // Numero es -1
NumeroN = 146;
Numero = NumeroN ?? -1; // Numero es 146

Otra posibilidad para obtener el valor es usar la propiedad Value. Esta propiedad lanzará una excepción System.InvalidOperationException si el valor es null. Para evitar esta excepción, puedes, también, usar la propiedad HasValue que devuelve un valor bool para comprobar si el valor es nulo o no. Si el valor de retorno de HasValue es false, entonces el valor de la variable es null.



ADO.NET - 1 - Conexiones (parte 1)

Cuando llego ado.net no se quiso perder el concepto de “proveedor de datos”. Por este tema los .Net Data Providers, implementan interfaces que definen como deben ser las clases que componen a ado.net, y además posee clases especificas para los RDBMS mas importante del mercado (Oracle y SQL Server).

A la hora de realizar cualquier tipo de conexión en una aplicación de .Net, tendríamos que evaluar nuestro provider, si no usamos ninguno de estos dos motores de base de datos, teníamos que ver si el fabricante, o algún tercero ofrecen un provider para el mismo. Como última elección, pero realmente es la última que se debería tomar, un proveedor de OLEB y ODBC.

Algo a considerar, si trabajos con SQL Server 6.5 o inferior, debemos usar OLEDB, ya que SqlClient no le brinda acceso a esas versiones.

Si accedemos a un Access, como utiliza el JET, tendríamos que caer en OLEDB.

la conexion a las bases de datos existen varios proveedores a utilizar, entre ellos los siguientes

ADO.NET 1.0
  • SqlClient
  • OleDB
ADO.NET 1.1.
    • SqlClient
    • OleDB
    • Odbc
    • OracleCliente


    ADO.NET 2.0
      • SqlClient
      • OleDB
      • Odbc
      • OracleCliente


  • Data Provider For SQL Server: es el proveedor de acceso nativo a servidores de bases de datos Microsoft SQL Server 7.0 o superior, y Microsoft Access. Al conectarse via protocolos nativos de bajo nivel, povee la alternativa más performante para conexiones contra estos motores de bases de datos. Sus clases se encuentran en el namespace System.Data.SqlClient.
  • Data Provider For OLE DB: es el proveedor de acceso a datos que permite interactuar via el protocolo estándar OLE DB con cualquier repositorio de datos que lo soporte. Sus clases se encuentran en el namespace System.Data.OleDb.
  • Data Provider For ODBC: es el proveedor de acceso a datos que permite interactuar via el protocolo estándar ODBC con cualquier repositorio de datos que lo soporte. Sus clases se encuentran en el namespace System.Data.Odbc.
  • Data Porvider For Oracle: es el proveedor de acceso nativo a bases de datos Oracle, desarrollado por Microsoft utilizando las herramientas de conectividad de Oracle. De esta forma puede lograrse un acceso más performante a bases de datos Oracle desde aplicaciones .NET que utilizando ODBC u OLE DB. Sus clases se encuentran en el namespace System.Data.OracleClient, y están compiladas en un assembly diferente al resto: System.Data.OracleClient.dll.
Un lugar ideal para encontrar cadenas de conexion a diferentes tipo de datos es la pagina Conection Strings

CADENA DE CONEXION

Las conexiones establecen todos sus parametros atravez de la conexion ConnectionString
el cual debe ser establecido de un modo correcto previo a su apertura, podemos ver a esta propiedad como un conjunto de porpiedades concatenadas en una sola cadena
El dia de hoy me puse a busacar unos posters de los frameworks en google y navegando por ahi me encontre con este artciculo, neta muy interesanter de Jorge Serrano etse cuate es un espaniol que al igual que el Guille son master en las tecnologias, desde mi punto de vista, tienen buenos articulos y uno de estos que presento es el punto de vista de Jorge Serrano a los cambios que se dan cuando migras de aplicaciones que no son .NET.

Esta interesante debido a que muchos tenemos esos paradigmas cuando nos enfretamos a esos cambios, espero y les agrade.


El estrés de las tecnologías


Quería expresar aquí algunas reflexiones sobre las tecnologías, su evolución y el estrés que a mi modo de ver causa en muchas ocasiones.

Hay muchas empresas tecnológicas grandes que me sorprenden por sus capacidades de crear y plasmar ideas de cara al resto del mercado informático y tecnológico.

Sin embargo, de todas ellas la que más me alucina es Microsoft. Mucha gente estará en contra de Microsoft por las razones que sean, y cada uno pensará lo que quiera de esta empresa, pero creo que es innegable el aceptar que es una empresa que no para de innovar (I+D) y de crear y crear y crear.

Sin embargo, no es menos cierto a mi modo de ver, que en el caso de Microsoft tanto avance y tanta creación genera de fondo un estrés continuado que a algunos les podría incluso ocasionar un estrés postraumático.

Ahora que asoma en el horizonte Microsoft Visual Studio 2008, Microsoft .NET Framework 3.5 y unas cuantas novedades más que están a punto de llegar, cuando me ha tocado dar un curso de .NET me encuentro siempre con la misma expresión... "¿de qué nos va a servir aprender .NET Framework 2.0 (por ejemplo) si la próxima versión está a punto de salir al mercado?". "¿Para qué aprendemos esto si quedará obsoleto en seguida?".

Aún hoy existen muchas empresas y personas que siguen estancadas en el desarrollo de aplicaciones anteriores a la tecnología .NET, quizás porque usan otra tecnología de desarrollo diferente, porque no tienen la necesidad de cambiar, porque no conocen las ventajas que le ofrece .NET u otra tecnología actual, o porque simplemente no sabe desarrollar en .NET.

Sobre las empresas o personas que no tienen la necesidad de cambiar, poco que decir. Muchas de las que he visto utilizan Microsoft Visual Basic 6.0 y lo que han hecho hasta ahora resuelve sus necesidades. Ante este panorama, siempre digo lo mismo... "¿para qué cambiar algo que no necesita ser cambiado y que funciona perfectamente?". Un cambio queda justificado siempre que la inversión del mismo se vaya a rentabilizar. En caso contrario, hacerlo por moda o porque me mola más es a mi modo de ver y con perdón, una tontería.

Ante el último grupo de empresas o personas, las que no saben desarrollar con .NET pero que sí están llamadas a dar ese salto, es también frustante saber que Microsoft .NET Framework ha evolucionado en demasía en los últimos años. Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1, Microsoft .NET Framework 2.0, Microsoft .NET Framework 3.0, Microsoft .NET Framework 3.5,... de hecho muchas personas se frustan de sólo pensar (o creer) que cuando conozcan una versión de Microsoft .NET Framework, habrá otra a punto de aparecer que sustituirá a la anterior (ojo con la palabra sustituirá porque muchos sabemos que no es cierta).

Por eso, muchos desconocen que la evolución de .NET Framework no es una evolución típica de nueva versión suprimiendo lo existente y sacando algo completamente nuevo que sustituya lo anterior. Siempre puede haber ajustes menores que implican la restitución de aspectos de un Framework por otro, pero la evolución de una versión de Microsoft .NET Framework a otra lleva siempre añadidos, casi nunca restitución o suprimir cosas. Es decir, aunque aprendamos Microsoft .NET Framework 2.0 y aparezca otra versión posterior, el concepto y los conocimientos nos seguirán sirviendo al 100%. Lo único que habrá que hacer es aprender lo nuevo, lo añadido a un nuevo Framework.

De todos los modos, el avance tecnológico en .NET Framework es continuado y muchas personas se agotan aunque vengan de una versión inmediatamente anterior.

Que duda cabe que a los que nos apasiona las tecnologías nos encanta reciclarnos y aprender de forma continuada. Nunca estaremos aburridos y siempre habrá algo nuevo que aprender, es un reto y motiva, somos así, un poco masocas, un poco bichos raros, pero es lo que hay. Sin embargo, no es menos cierto que aún siendo así, a veces uno piensa... "basta ya, necesito oxigenarse y descansar".

Ante tanta evolución, uno termina estresándose en algún momento. Necesita tomarse 15 días ó 1 mes sabático y tomar aire. El estrés que genera tanta evolución tan continuada y el no parar de aprender, investigar, probar, etc, hace que uno necesite hacer un break en algún momento.

El aprendizaje es por su parte un proceso cíclico, se repite una y otra vez, pero muchas empresas ven en este proceso un problema añadido. Reciclarse tiene un coste y no asumen que los costes se realicen en fases tan cortas de tiempo, ya que eso implica que apenas puedan amortizar las inversiones realizadas. De esta manera, hay empresas que ahora mismo están empezando a adentrarse en nuevas tecnologías como Microsoft .NET Framework y otras que esperan a que aparezca la última versión queriendo estar a la última.

Las empresas que empiezan a entrar en el mundo de una nueva tecnología como Microsoft .NET Framework, ven inicialmente la inversión justificada, pero al ver que salen nuevas versiones de un producto, ven siempre que esas inversiones son innecesarias porque no estarán casi nunca a la última. La línea que divide aquí el haber hecho bien con el paso tomado y el sentirse timado (por decirlo de alguna forma aunque suene un poco dura) es muy estrecha. Y en este caso también, aparece el estrés.

A mi modo de ver, la evolución de Microsoft .NET Framework es muy agresiva y muy rápida. He discutido esto cien millones de veces, en cien millones de foros dintintos, incluso con gente de Microsoft Corp. (Redmond). Prácticamente salimos a una nueva versión cada año o cada año y medio, y aunque siempre es cuestión de añadidos nuevos al Framework anterior, no es menos cierto creo yo, que lejos de hacer una carrera continua, hacemos carrera continua y pequeños y rápidos sprints, y esos pequeños y rápidos sprints llegan a veces a agotar aunque solo sea mentalmente.

La vida informática es divertidísima, la tecnológica es fantástica, me apasiona, los retos me motivan, las ganas por aprender calman mis ansias de conocimiento, pero a veces me estresa. No es el caso actualmente pero a veces reconozco que una paradita viene de perlas. Cada uno busca sus truquitos (consolas, salidas al campo, hacer deporte, ir al cine,...).

¿Tienen en cuenta estos factores las empresas informáticas actuales y sus departamentos de RRHH?, ¿debemos actuar como robots y ser inertes a estos posibles agotamientos mentales?, ¿soy un bicho raro y el único que se estresa a veces por tanto avance tecnológico?.

Sea como sea, el caso es que cuando he tenido la oportunidad de hablar con algún cliente de temas parecidos, la mayoría termina sacando a la luz que a veces tanto avance le agobia y pasa de invertir en tecnología porque siempre está cambiando. Lo cierto es que la tecnología cambia porque la tecnología está hecha para satisfacer fundamentalmente las necesidades de las personas, y las necesidades suelen cambiar a medida que el ser humano avanza en el progreso, en el día a día.

Publicado el domingo, 09 de diciembre de 2007 10:55 por Jorge Serrano

¿No encuentra los comandos de Word 2003 que más le gustan en la nueva interfaz de Word 2007? ¿Desea explorar el nuevo diseño con algunas instrucciones?

Siento que es una de las cosas que mas nos llama la atencion de este nuevo office que se ve mas "bonito", pero aun decimos rayos donde estara esto, hay opciones como agregar plugins con el menu clasico, pero si quermos fijarnos el reto de ir familiarizandonos con la "cinta" de comando del offcie 2007 Microsoft publico una guia interactiva muy buena.

Chequen el dato, aun no he revisado si tmb ahi para excel pero por lo pronto les dejo el del Word

GUIA REFERENCIA

Cual Recomiendas