Google renueva Calendar y Translate, podría ser sólo el principio
1 sep
En Google parece que están en plena fase de renovación de sus productos, con novedades saliendo casi cada día. Por ejemplo, hoy mismo han anunciado Gmail Priority Inbox y han añadido mejoras a Google Reader. Los siguientes tocados son Google Calendar y Google Translate.
Google Calendar ha sido el primero en renovarse, rediseñando la interfaz para que sea más similar al resto de productos de Google y cambiando la disposición de los elementos para hacer más cómodo su uso. Además, han cambiado el gestor de repeticiones para hacerlo más sencillo y han añadido la opción de “Encontrar la hora”, que nos permite encontrar el mejor horario para un evento en el que participen varias personas. Eso sí, tenemos que tener permiso de lectura de los calendarios de los demás participantes.
El otro tocado por la varita de la renovación ha sido Google Translate. No añaden funcionalidades pero sí mejoran el uso con una nueva interfaz, más limpia y con sugerencias de sitios web para traducir. Además han puesto varios usos y aplicaciones de Google Translate, algunos de ellos no muy conocidos como la aplicación para Android o los bots para GTalk. Aunque de momento son sólo dos servicios los que se renuevan, no sería raro que las demás aplicaciones Más >
Fondo de pantalla estilo «presentación» Ubuntu
31 ago
Los que han usado Windows Se7en sabrán que él nos permite tener un fondo de pantalla al estilo de presentación, usando los denominados «temas», pues bien, Ubuntu y en general varias distros de GNU/Linux nos permiten hacer exactamente lo mismo de una manera sencilla, rápida y personalizada.
Para crearlos tenemos dos opciones. La primera de ellas es hacerlo manualmente siguiendo un formato, y la otra es hacerlo teniendo como mediadora a una aplicación.
ManualmenteBien, empecemos por éste. Como es algo relativamente sencillo de entender pondré de una vez el código.
<?xml version="1.0" encoding="UTF-8"?> <!-- Created by DC XML Creator --> <background> <starttime> <hour>0</hour> <minute>00</minute> <second>01</second> </starttime> <static> <duration>300</duration> <!-- Duración de la imagen --> <file>/home/windhack/Imágenes/OliviaWilde02.jpg</file> <!-- 1º Imagen de la presentación --> </static> <transition> <duration>1</duration> <!-- Duración de la transición --> <from>/home/windhack/Imágenes/OliviaWilde02.jpg</from> <!-- Cambiar imagen de... --> <to>/home/windhack/Imágenes/OliviaWilde09.jpg</to> <!-- ...A --> </transition> <!-- Para agregar más imágenes seguir el formato a partir de <static> hasta </transition> --> </background> <!-- Fin de la presentación -->Usando aplicación
Como sé que hacer todo manualmente a veces puede ser tedioso, ya que después de cinco (5) imágenes es una tarea bastante agotadora, decidí desarrollar una aplicación que simplifica todo éste proceso.
La aplicación se llama DC XML Creator y está desarrollada en ObjectPascal (Lazarus).
Su uso es relativamente sencillo: Seleccionamos las imágenes que deseamos usar para la presentación, el tiempo que durará cada una, los segundos de la transición Más >
Números amigos
29 ago
De nuevo mirando los tan creativos nombres que le ponen a los tipos de números, me encontré con éstos: los números amigos.
¿Qué son?Los números amigos son dos enteros positivos a y b, cuya suma de los divisores de b da como resultado a y viceversa.
Por ejemplo 284 y 220 son números amigos ya que:
- Divisores de 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284.
- Divisores de 284: 1 + 2 + 4 + 71 + 142 = 220.
He programado un script en Ruby que pide dos números y dice si son amigos o no.
def amicable_numbers(inum_a,inum_b) i = 1 x = 1 su_a = 0 su_b = 0 while (i < inum_a) if (inum_a % i == 0) su_a += i end i += 1 end while (x < inum_b) if (inum_b % x == 0) su_b += x end x += 1 end if (su_a == inum_b) && (su_b == inum_a) return true else return false end end puts " --- Amicable Numbers --- --- www.daw-labs.com --- - www.cibernodo.net - " print "1 > " num_a = gets.chomp print "2 > " num_b = gets.chomp puts "Numeros: 1 = #{num_a} 2 = #{num_b}" num_a = num_a.to_i num_b = num_b.to_i if amicable_numbers(num_a,num_b) puts "Los numeros son amigos" else puts "Los numeros no son amigos" endMás >
Números perfectos
28 ago
Mirando un poco las curiosidades con los números, me encontré con éstos, los números perfectos.
¿Qué son? Un número perfecto es un número natural cuya suma de los divisores propios positivos (+) es igual a sí mismo.
Por ejemplo, 28 es un número perfecto ya que la suma de los divisores: 1 + 2 + 4 + 7 + 14 es igual a 28.
Ahora, he decidido crear una función en Pascal que retorna Verdadero (True) o Falso (False) si un número introducido es perfecto.
function PerfectNumber(iNum:Integer):Boolean; var Suma,I:Integer; begin Suma := 0; Result := False; for I := 1 to Pred(iNum) do if (iNum Mod I = 0) then Suma := Suma + I; if iNum = Suma then Result := True; end;
Novedades sobre la nueva aplicación
19 ago
Hace algunos días informé que DaW – Labs estaba (o está) preparando una nueva aplicación, pues bueno, ahora traigo algunas noticias para que no piensen que el proyecto quedó en incógnita.
El desarrollo se encuentra atrasado, así que la fecha de lanzamiento aún no está muy clara, espero sea lo más pronto posible; de todas formas hay que hacer un trabajo de calidad así éste exija más tiempo. El nombre ya se decidió y será DaW Dastad (v. Moon), y contará con bastantes funciones/opciones interesantes. En pocas palabras será un editor bastante agradable.
Adjunto una captura de cómo está quedando por el momento.
McAfee informa que el malware alcanza niveles máximos
15 ago
McAfee ha desvelado su “Informe de Amenazas correspondiente al segundo trimestre del año”, que pone de manifiesto que el malware ha alcanzado los más altos niveles, siendo estos seis primeros meses del año 2010 los más activos en la producción total de malware. Al mismo tiempo, el nivel de spam se estabilizó con solo un 2.5% de crecimiento respecto al primer trimestre del año.
El malware continuó aumentando en el segundo trimestre del año, con 10 millones de nuevas piezas catalogadas en la primera mitad del año. De acuerdo con el último trimestre, las amenazas contra dispositivos móviles de almacenamiento pasaron a ser las más populares, seguidas por los antivirus falsos y malware específico para social media. Con aproximadamente 55.000 nuevas piezas de malware al día a nivel mundial, el malware de ejecución automática y los troyanos diseñados para el robo de contraseñas completan la lista de las principales amenazas de malware.
Después de alcanzar su punto más alto en el tercer trimestre de 2009, con cerca de 175 mil millones de mensajes spam al día, parece haberse estabilizado. Los cibercriminales aprovecharon la celebración de la Copa del Mundo de Fútbol en Sudáfrica, y utilizaron varios métodos para llevar a cabo timos y búsquedas engañosas. A nivel mundial, los Más >
Patrón de vulnerabilidades en Link Colombia
6 ago
Un patrón de vulnerabilidades (bugs) es un modelo por el cual la mayor parte de las aplicaciones webs desarrolladas por una empresa comete un descuido en su programación dejando en él una vulerabilidad, sea ésta una Inyección SQL (SQLi) o cualquier otra, lo cual deja a los sitios webs que las usen con un grave fallo de seguridad y por lo tanto si éste error llegara a ser aprovechado por una cualquier persona, le permitiría acceder completamente al sistema.
Una de las empresas colombianas dedicadas al desarrollo y creación de sistemas de gestión de contenido que sigue uno de éstos patrones es Link Colombia, ya que la gran mayoría de los sitios webs desarrollados por ellos o en los cuales se usa su sistema es vulnerable a SQLi.
¿Qué es Inyección SQL (SQLi)?La Inyección SQL (SQLi) es una vulnerabilidad enfocada a nivel web la cual radica en el error en la filtración de las variables o datos introducidos por el usuario, y que si se explota correctamente permite al atacante acceder al sistema.
SQLi en Link ColombiaComo anteriormente he dicho, los sistemas de gestión de contenido o sitios webs desarrollados por ésta empresa tienen un gran fallo, y es que muchos de ellos son vulnerables a Inyección Más >
Simulación de sentencia «switch (case)» en Python
5 ago
La sentencia «switch (case)» es una estructura de control que permite controlar el flujo del programa basado en el valor de una variable o expresión. Se usa comúnmente para evitar el uso de if’s anidados, lo que en cierta parte disminuye la legibilidad y rapidez de un programa.
Su funcionamiento es sencillo, si la variable o expresión tiene un número determinado de valores, se podría ejecutar una serie de acciones dependiendo de cada valor por separado.
Un ejemplo en C y Pascal:
int main() { int num = 1; switch (num) { case 0: printf("El número es cero\n"); break; case 1: printf("El número es uno\n"); break; case 2: printf("El número es dos\n"); break; /* case default: */ } return EXIT_SUCCESS; }
—
var Num:Integer = 2; begin case Num of {Inicio Case} 0:WriteLn('Cero'); 1:WriteLn('Uno'); 2:WriteLn('Dos'); else WriteLn('Desconocido'); end; {Fin Case} ReadLn; end.
Basándose en el valor de la variable Num (Integer) mostrará un mensaje de salida diferente. El default ( C ) y el else ( Pascal ) se ejecuta cuando el valor de la variable no coincide con ninguno de los valores anteriores. La mayoría de los lenguajes de programación cuentan con ésta sentencia, pero por desgracia Python no, en lugar de ello se usa una serie de bloques if-elif-else.
Aquí un ejemplo como los anteriormente vistos:
Num = 3 if Num == 0: print 'Cero' elif Num == 1: print 'Uno' elif Num == 2: print 'Dos' elif Num == 3: print 'Tres' else: print 'Desconocido...'
¡Bien!, una solución simple, efectiva, bastante fácil de trabajar pero no es elegante. Especialmente si se Más >
G Data lanza solución contra el fallo «accesos directos»
30 jul
La vulnerabilidad relacionada con los accesos directos de Microsoft Windows está siendo explotada por varios tipos de código malicioso y todo apunta a que en los próximos días se seguirán desarrollando nuevas formas de malware para exprimir al máximo este fallo de seguridad.
Diario Ti:
Los especialistas de G Data han desarrollado un parche (G Data LNK Checker) que bloquea la ejecución automática del archivo malicioso y muestra los iconos de acceso directo con su forma habitual (el parche de Microsoft resolvía el problema pero los accesos directos eran reemplazados por iconos blancos sin representación gráfica).
Esta última brecha de seguridad multiplica las posibilidades que tienen los cibercriminales a la hora de infectar un PC. Para conseguirlo, sólo necesitan asegurarse de que un archivo “.Lnk” se muestra en el PC pero no es necesario que éste se encuentre alojado en el propio ordenador (puede estar colgado en Internet, en una memoria USB o en cualquier red corporativa), lo que dispara las alternativas de los creadores de malware”, explica Ralf Benzmüeller, responsable de G Data SecurityLabs. “Incluso el software más habitual, como pueden ser los procesadores de texto o los clientes de correo electrónico ofrecen la posibilidad de mostrar accesos directos. El potencial de abuso es Más >
¡DaW – Labs prepara una nueva aplicación!
30 jul
Como lo dice el título, estamos preparando una nueva aplicación.
No podré dar muchos datos por ahora, sólo puedo decir que el nombre por el momento no se ha confirmado, estamos usando uno en clave el cual es: DaW Moon y que la aplicación es un editor de texto pero con una característica bastante agradable y enfocada principalmente hacia los programadores, la cual es resaltado de sintaxis con soporte para más de 25 lenguajes.
La fecha de salida aún no está definida pero esperamos que sea la primera semana de agosto o a mediados del mismo.
