domingo, 5 de mayo de 2013

Windows: Menú Inicio al estilo XP, para nostálgicos



Con StartMenu XP reviviremos algunas características del Windows XP.


Que Windows XP es un sistema opera­tivo 
obsoleto,inseguro e incómodo está 
cada vez más claro para la mayoría de los usuarios. 
Que el Windows XP Mode de Windows Seven
resolvió todas las necesidades reales de compatibilidad con XP, también. 
Sin embargo, existe aún un cúmulo de nostálgicos que exigen la vuelta
 de algunas características de XP. Les presentamos hoy una 
solución para los que –específicamente– añoran el viejo menú
[Inicio]: StartMenu XP. La aplicación, disponible enwww.start­menuxp.com
es absolutamente gratuita y resulta compatible con las versiones de 32 y 64 bit.
 Es también compatible con Vista, y en nuestras pruebas consumió
 muy pocos recursos del sistema.
La primera de sus ventajas –por lla­marlas de alguna manera– 
tiene que ver con la posibilidad de observar los menús en cascada, c
omo ocurría en XP. Ya no solamente en el espacio del menú[Inicio]
sino en pantalla com­pleta. Algo que seguramente será de gran utilidad
 para esos osados usuarios que instalan cuanta demo pasa por sus manos.
El programa, además, organiza las aplicaciones alfa­béticamente y 
nos permite crear grupos virtuales de programas que, 
a modo de hubs en Windows Phone, solo nos mostrarán
 conjuntos específicos de aplica­ciones. Del mismo modo,
 nos permite aprovechar los menús colapsables hacia los lados 
–y no hacia abajo–, como en el viejo Windows.

Excel: sumador acumulador



¿Podemos cargar valores sucesivos en una misma celda y que ésta vaya acumulando los valores?





Tarde o temprano, las referencias circu­lares causan problemas. 
En cambio, pro­ponemos hacer la acumulación mediante una macro automática:
El problema de acumular valores en una celda suele 
resolverse con “referen­cias circulares”. Son fórmulas que inclu­yen en su expresión
 la propia celda en la que están escritas. 
Por ejemplo, cuando escribimos =A1+A2 en la celda[A1].
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = (“$A$1”) Then
Range(“B1”) = Range(“B1”) + Range(“A1”)
End If
End Sub
Esta macro se escribe en la ventana de código de la hoja 
donde vamos a hacer la acumulación y, por tener el nombre
 especial Worksheet_Change, se ejecuta automáticamente
 cada vez que cambia algún dato en la hoja. La macro verifica que 
la celda modificada sea [A1]. En ese caso, suma el nuevo valor
 en la celda [B1]. Tras cada modificación, la celda [B1] 
va acumulando el valor escrito en [A1].
Sin embargo, esto no resuelve el problema planteado, 
porque la acu­mulación no se hace en la misma celda donde 
se escriben los datos. Para satis­facer esta condición
 podríamos transferir el valor de [B1][A1]
Pero, como esto modifica la celda [A1], se dispara nue­vamente
 la macro y se entra en un ciclo infinito. 
La solución es usar una segunda celda auxiliar (por ejemplo, [C1]
para diferenciar la modificación de la celda por 
carga de un dato de la modificación por la propia macro. Algo así:
Private Sub Worksheet_Change(ByVal Target As Range)
If [C1] = 0 Then
If Target.Address = (“$A$1”) Then
Range(“B1”) = Range(“B1”) + Range(“A1”)
[C1] = 1
[A1] = [B1]
[C1] = 0
End If
End If
End Sub
Antes de proceder a la acumulación, esta macro comprueba
 el estado de la celda [C1]. Si su valor es cero, procede con la
 acumulación en [B1]. Pero antes de transferir el acumulado a [A1]
cambia el estado de [C1]. De esta manera, este segundo cambio en el valor
 de [A1] no dispara la ejecución de la macro 
(es decir, sí la dispara, pero la macro no hace nada). 
Antes de terminar, la macro vuelve a poner en cero la celda [C1]
Para abrir la ventana de código de la hoja, seleccionamos
 la hoja en el explo­rador de proyectos del editor de Visual Basic 
y luego tomamos las opciones [Ver/Código].
Esta macro acumula los sucesivos valores que se escriban en la celda [A1].
Con esta opción obtenemos la primera instrucción y la última de la macro que se ejecutará automáticamente al modificar algún valor de la hoja.

Excel: obtener la hora



¿Es posible con una macro poner un reloj en una hoja de Excel, de modo de obtener la hora en todo momento, tomándola del reloj interno de la PC?


La forma más simple de obtener la hora en Excel es mediante 
la función =AHORA(). Esta función, que no lleva argumentos, 
da la fecha y la hora actuales. Según el formato adecuado, l
a celda puede mostrar la fecha, la hora o ambos.
El valor de la función se actualiza cada vez que se recalcula la hoja. 
Sea porque modificamos algún dato o porque oprimi­mos la tecla .
Si queremos asegurar la actualización automática, podemos usar una macro:
Sub Reloj()
Sheets(1).Cells(1, “A”) = Now
Application.OnTime Now + TimeSerial(0, 0, 2), “Reloj”
End Sub
Esta macro coloca el valor de la función Now (equivalente a AHORA
en la celda [A1] de la primera hoja del libro y, luego de una pausa de
 dos segundos, se ejecu­ta a sí misma.
La instrucción OnTime programa la ejecución de la macro 
que figura como segundo argumento (Reloj) para el 
momento indicado como primer argu­mento
 (el momento actual más dos segundos). 
Esta pausa de dos segundos permite seguir trabajando 
con la hoja de la forma normal.
El problema de esta macro es que pretende seguir 
reejecutándose de manera continua. Incluso, después 
de cerrar el archivo, lo cual puede generar complicaciones. 
Deberíamos prever alguna forma de finalizar la reejecución 
al cerrar el archivo. Podemos hacerlo con esta segunda macro:
Sub Auto_Close()
Application.OnTime Sheets(1).Cells(1, “A”) + _
TimeSerial(0, 0, 2), “Reloj”, , False
End Sub
Por tener el nombre especial Auto_ Close,
 esta macro se ejecuta automá­ticamente al cerrar 
el archivo que la contiene. La macro contiene la
 misma instrucción de la macro Reloj, pero con el argumento
 False al final. Esta instruc­ción cancela la continua reejecución de la macro Reloj.

Excel: agenda con alertas



Si queremos usar una planilla como agenda, ¿cómo podemos hacer para que nos avise sobre nuestros compromisos?






Sub Auto_Open()Esto se puede resolver con una macro automática 
que se ejecute al abrir la planilla y compare cada fecha de la lista con la fecha actual. 
Si coinciden, muestra el compromiso en un cuadro de mensaje. Algo así:
fila = 2
Do While Not IsEmpty(Cells(fila, “A”))
If Cells(fila, “A”) = Date Then
x = MsgBox(Cells(fila, “B”), , “Compromisos para hoy”)
End If
fila = fila + 1
Loop
End Sub
Esta macro recorre la colum­na [A] comenzando desde la segunda fila y continúa hasta llegar a una celda vacía. La macro usa la fun­ción Date para obtener la fecha del día.
En esta macro, la instrucción MsgBox (una función, en realidad) tiene tres argumen­tos separados por comas:
✶ El primero es el texto que mostrará el cuadro. En este caso, el compromiso indica­do en la segunda columna.
✶ El segundo son los boto­nes que aparecerán en el cuadro. Como este argumen­to se deja en blanco, apa­recerá el botón [Aceptar], que es el estándar.
✶ El tercero es el texto que aparecerá en la barra de título del cuadro.
En esta forma, MsgBox es una función, por lo que debe aparecer a la derecha de un signo igual. La varia­ble aparece en la macro sólo para recibir el valor de la función.

Una macro automática recorre esta lista y, cuando la fecha de la primera columna coincide con la fecha de hoy, muestra el compromiso indicado en la columna [B].

Excel: eliminar texto


¿Cuál es la forma más rápida y simple de eliminar parte de una lista?


La respuesta a esta pregunta cambia según cuál sea “esa parte” que hay que eliminar en los datos de la lista.
Por ejemplo, supongamos que los datos están formados por una letra, luego un número de cuatro cifras, 

un guión y terminan con un número de seis cifras. Queremos eliminar todo hasta el guión inclusive y 
dejar solo el último campo de seis cifras. Podemos hacerlo con la función EXTRAE
Por ejemplo, si el dato original está en la celda [A2], la fórmula es=EXTRAE(A2;7;6).
 Esta función tiene tres argumentos entre los paréntesis:
● El primero es el dato de donde se “recorta” una parte. En este caso, el dato original de la celda [A2].
● El segundo es la posición a partir de la cual se hace el recorte. En este caso, a partir de la séptima posición.
● El tercero es la cantidad de caracteres que se dejan. En este caso, seis.
En otras palabras, esta expresión se queda con seis caracteres a partir del sép­timo. En Excel 2010, 

la función EXTRAE se llama MED y tiene la misma sintaxis.
Tenemos que extender esta fórmula hasta el último dato, y luego copiar y pegar valores sobre la lista original.
Hay otra posibilidad: tener una serie de datos, algunos de los cuales contienen

 una palabra que queramos eliminar. Por ejemplo, la palabra
ESPECIAL. En este caso, lo más simple es usar la opción de [Reemplazar]:
1. Seleccionamos la lista de datos originales.
2. Tomamos las opciones [Edición/ Reemplazar] (u oprimimos la combina­ción .
3. Donde dice [Buscar:] escribimos el texto por eliminar.
4. Donde dice [Reemplazar por:] no escribimos nada.
5. Hacemos un clic en [Reemplazar todos].
6. Hacemos un clic en [Cerrar].
Esto elimina el texto indicado, sin reem­plazarlo por nada.

Las fórmulas de la columna [B] se quedan con seis caracteres, contando a partir del séptimo, de los datos de la columna [A].

Con estas opciones eliminamo
s el texto (ESPECIAL) del rango seleccionado.

Excel: macro con argumentos



Estamos haciendo un sistema con macros que se llaman unas a otras. Cuando una macro le pasa un argumento, funciona bien. Pero cuando tratamos de pasar dos o más argumentos, nos muestra un mensaje de error. ¿Qué sintaxis debemos usar en ese caso?


Una macro puede procesar datos procedentes de otra. Por ejemplo, en el siguiente par, la pri­mera macro “le pasa” un valor a la segunda, que lo duplica y muestra el resultado:
Sub principal()
x = [A1]
doble (x)
End Sub
Sub doble(a)
b = 2 * a
MsgBox (“El doble de “ & a & “ es “ & b)
End Sub
La forma “natural” de pasar el valor por dupli­car es poniéndolo entre los paréntesis de la primera macro. En la segunda macro, la varia­ble que está entre paréntesis recibe el valor que le pasó la otra.
Como sugiere la pregunta, esto no funciona con dos o más argumentos. Si, dentro de una macro, invocamos otra con dos argumentos (por ejemplo, Suma(x, y)), obtenemos un mensaje de error.
Hay distintas soluciones, pero la más simple es invocar la segunda macro con la instrucción Call:
Sub principal()
x = [A1]
y = [A2]
Call suma(x, y)
End Sub
Sub suma(a, b)
c = a + b
MsgBox (“La suma es “ & c)
End Sub
Existen otras soluciones, pero esta funciona.
La primera macro le pasa un valor a la segunda, que calcula el doble y muestra el resultado.
Cuando queremos que una macro le pase dos argumentos a otra aparecen los problemas.
Para llamar a una macro, pasándole dos argumentos, hay que usar la instrucción Call.

Gmail: simples métricas para nuestros mails



Con esta herramienta, tendremos información específica por navegador y plataforma, y sabremos cuántos correos hemos enviado y recibido.


Tener métricas e información estadística sobre cualquier producción web es siempre importantísimo. Básicamente, porque nos permite ajustar los contenidos que producimos a los intereses de nuestros seguidores y a nuestro universo de interacción. Ahora bien, cuando hablamos de nuestro propiocorreo electrónico, probablemente la importancia de la métrica parezca relativizarse. Claro que cuando hablamos de cuentas comerciales o casillas que también utilizamos para trabajar, las métricas siguen siendo importantísimas.
En el caso de que usemos Gmail Google Apps, tenemos una herramienta que nos ofrece, mensualmente, un resumen de toda actividad y que funciona como un sistema de métricas asociado al correo electrónico: la Actividad de la cuenta. Para activarla debemos conectarnos a https://www.google.com/settings/activity/signup/?hl=es, seleccionar nuestra zona horaria en el cuadro[Habilitar] y presionar [Habilitar].
El primer informe tardará un tiempo en estar listo, pero tan pronto como lo esté, recibiremos un correo con la información disponible. Las categorías son muchas, y los servicios incluidos por default son la cuenta de GoogleGmailYouTube y Latitude. Además, tendremos información específica por navegador y plataforma, y sabremos cuántos correos hemos enviado y recibido, así como quiénes son los principales contactos con los que intercambiamos información. Si queremos evitar que Google siga recabando información para generar informes, no tendremos más que hacer clic en[Configuración/Detener].

Facebook mejora sus ingresos un 38%, con gran participación de los móviles



En total los ingresos por publicidad durante el primer trimestre de 2013 han supuesto U$S 1.250 millones. El sector movil aportó U$S 375 millones.

Facebook ha conseguido hacer valer su comunidad y ahora apunta al mundo móvil.Facebook ha conseguido hacer valer su comunidad y ahora apunta al mundo móvil.

Una de las claves de las empresas que manejan redes sociales es como transformar las grandes cantidades de usuarios en ingresos. Se puede ser muy exitoso en términos de popularidad y un fracaso financiero. Afortunadamente para Facebook, la red social más extensa a nivel mundial, el negocio de la publicidad le supone un ingreso promedio de más de U$S 1 por usuario. Esta semana se dieron a conocer los resortes del primer trimestre y los resultados fueron más que positivos: se produjo un aumento del 38% en el total de ingresos. Facebook obtuvo U$S 1.460 millones, de ellos 1.250 millones fueron fruto de la publicidad.
Facebook debe celebrar este logro, pero también puede mirar al futuro con nuevas y más grandes ambiciones dado que las proyecciones así se lo permiten. La cantidad de usuarios que utilizan el sitio más de una vez al mes crecio un 23% hasta llegar a los 1.100 millonesSheryil Sandberg, Directora Operativa, señaló que el negocio publicitario de la empresa todavía está en una etapa temprana y hay una gran oportunidad por delante. “Un desafío que tenemos es ayudar a los agentes de marketing a enteder el valor de nuestros avisos. Este ha sido uno de los focos principales en los últimos trimestres”.
Un dato interesante apunta que del total de ingresos por publicidad el 30% proviene del universo de los dispositivos móviles. Esto supone unos U$S 375 millones. Cada vez más los usuarios de Facebook ingresan a la red través de tablets y smartphones. Actualmente existen 751 millones de usuarios móviles. Si se compara con el promedio de ingresos por usuario está claro que la empresa todavía tiene mucho margen para mejorar en esta área. La importancia que Facebook le está dando al uso de la red por dispositivos móviles tiene su más clara manifestación en la elaboración de la suite Home y su alianza con HTC para elaborar lo que se consideró como el Facebook Phone.
La empresa también ha hecho mejoras en las herramientas destinadas dedicadas a la publicidad. Por otro lado también hay que agregar la adquisición de Parse, la plataforma destinada a facilitar el desarrollo de aplicaciones móviles. Tom Forte, analista de Telsey Advisory Group, ha comentado “Me siento muy entusiasmado por como Facebook se ha posicionado en el mercado movil tanto en términos de uso como de ingresos. Está claro que la compañía entiende la importancia del sector”.
Fuentes: FinancialPostPulse2.0

Globant invierte 600 mil dólares en el club de compras Ventas Privadas



El gigante argentino del software apuesta al club de compras luego de que su rival, Geelbe, presentara la quiebra. La meta a fin de año es la internacionalización del sitio.

Con la inversión, Ventas-Privadas.com pretende llegar a Perú, Chile y Brasil antes de 2014.Con la inversión, Ventas-Privadas.com pretende llegar a Perú, Chile y Brasil antes de 2014.

Son tiempos raros para los clubes privados de compra que nacieron junto con el boom de las cuponeras. Pero con un negocio distinto: ofrecer con descuentos de hasta 70% los saldos de stock de las grandes marcas. Geelbe fue el primero de ellos, tuvo una fuerte inversión inicial y cierta internacionalización. Pero hace unos días presentó su quiebra.
El camino de Ventas-Privadas.com fue distinto: empezó de a poco, con menos “glamour” y estética, y casi en silencio. Y hace horas recibió una inversión de 600 mil dólares de parte de Vivid Growth, el fondo de inversión creado por los fundadores de Globant Martín Umarán, Martín Migoya, Néstor Nocetti y Guibert Englebienne, junto a Francisco Álvarez Demalde, uno de los fundadores de Riverwood Capital Partners.
“Definitivamente integramos el fondo de inversión porque tenemos confianza en la región y en el país, vivimos y trabajamos acá”, explicó a Télam Umarán, quien agregó que ”las economías emergentes tienen tasas de crecimiento más grandes que las centrales” y que en la Argentina “incubamos un modelo que funcionó (por Globant) y ahora estamos en condiciones de replicarlo”.
Por su parte, Felipe Herrera, gerente general de Ventas Privadas, remarcó que el acuerdo “no sólo es un aporte de capital sino que están trabajando con nosotros diariamente”. La inyección de capital permitiría llegar a fin de año con presencia de cuatro plazas sudamericanas: Argentina, Chile, Brasil y Perú.