Skip navigation.

kill -9 3620

...

Posts tagged with "perl"

Cosito Escribe Twitts

, ,


En post anteriores he mencionado que he estado trabajando en un cliente para twitter, lo estoy desarrollando en perl usando Net::Twitter que esta en su version 2.12.

Inicialmente lo estaba haciendo en Fedora pero cambie de distro a OpenSuSE debido a esto debi de instalar algunos modulos que require para su ejecicion.

Se puede instalar desde YaST, los paquetes que requieren y son:

  • perl-gtk2.
  • perl-gtk2-trayicon.
  • libglade2-devel.
  • perl-Gtk2-GladeXML

Si algunos no los encuentran en los repositorios que tienen configurados en yast pueden usar el buscador de paquetes que esta en el sitio de OpenSuSE. Otros paquetes los instale desde CPAN y el procedimiento es:

Desde la consola ejecutar: perl -MCPAN -e shell

Una vez dentro de la shell, ejecutar:

install Net::Twitter
install Crypt::Simple

La pregunta es como hacer para que se identifique que modulos tengo instalados y los instale automaticamente, si es que es posible :D.

Aun trabajo en el cliente, hasta que considere que ya es funcional y ponerlo disponible para su descarga y me den sus opiniones sobre el :yes:

Hasta ahora el Cosito Escribe Twitts hace:

  • Publica entradas en mi cuenta twitter.
  • Verifica que el usuario y password sean correctos.
  • Muestra los mensajes recibidos del servidor.
  • Configura el perfil de usuario.
  • Tiene mascotita :happy:

El ultimo punto (el de la mascotita) es gracias a Viole que amablemente me permitio usar a su trucha :D y el nombre tambien es inspirado el Cosito Lee Twitts que ella hizo.




Problem 16

, ,

Estos dias he estado trabajando en la resolucion de problemas del Proyecto Euler :smile:

Me llama la atencion el Problema 16:
2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.

What is the sum of the digits of the number 2^1000?

Pues tenemos que sumar todos los digitos del resultado de 2^1000, no lo vi tan complicado y decidi hacerlo en C#, especificamente en mono.

Al momento de escribir:
resultado = Math.Pow(2,1000):

El resultado es:
1.07150860718627e+301

:eek: :confused: me dije ¿Como sumare ese numero? nervous despues de pensar un poco cambie a Perl como lenguaje de programacion.

use strict;
use warnings;

my $res = 2**1000;
my $suma = 0;
my $char = "";
my  @txt = split(//,sprintf("%f",$res));

foreach $char (@txt){
  $suma = $suma + $char;
}

print $suma,"\n";

Donde:
my $res = 2**1000;--> hace lo mismo que Math.Pow(2,1000)

my @txt = split(//,sprintf("%f",$res)); --> generamos una arreglo de tipo char del resultado.

sprintf("%f",$res) --> esta linea de genera:

10715086071862673209484250490600018
10561404811705533607443750388370351
05112493612249319837881569585812759
46729175531468251871452856923140435
98457757469857480393456777482423098
54210746050623711418779541821530464
74983581941267398767559165543946077
06291457119647768654216766042983165
2624386837205668069376.000000

como vemos es muy diferente a 1.07150860718627e+301 y con el $suma = $suma + $char; sabremos la suma de todos los numeros del arreglo :Dla cual es 1366.

Locked out!

,

:frown: Me encontraba haciendo unas pruebas para el Cosito Escribe Twitts y me salen con este mensaje :eek:

We've temporarily locked your account after too many failed attempts to sign in. Please chillax for a few, then try again.


y ahora, ¿Donde podre hacer mis pruebas?
:frown: tan bonito que estaba quedando :lol:

HOLA TWITTER

, ,

Como la onda del twitter es lo hoy p: ya tengo mi cuenta.

Una de las razones por la que la tengo es que Viole creo el cosito lee Twitts (:lol: que raro suena :lol: ) y pues en su blog se ha iniciado una debate o eso creo sobre que cosito se ve mejor (una trucha arcoiris o un pajaro)

Bueno, ya tengo la cuenta :yes: asi que me dije si Viole ha hecho el el cosito lee Twitts pues yo hago el cosito escribe Twitts (ja! que raro suena cosito, dejare de escribirlo :lol: :lol: ) y entre que leia el API de twitter me di cuenta que tienen modulos para Perl y pues no lo pense 2 veces y que lo hago en perl, total me servira de practica para el proyecto de grado :happy: (Perl + Gtk2)

Es muy basico por ahora, espero en proximos dias incluir mas funcionalidades :wink:

Pueden descargar el codigo.

PERFORMANCE

, ,

Estos dias en la uni nos han pedido medir el "performance" de algunos algoritmos de busqueda y ordenamiento.

Pero como nos dan la libertad de desarrollar en "lo que es usted guste" desarrollo en Perl y pues me di a la tarea de investigar como medir el rendimiento y uso de cpu del algoritmo y se hace asi:

use Benchmark;

$Tinicial = new Benchmark;

print "HOLA MUNDO";

$Tfinal = new Benchmark;

$Ttotal = timediff($Tinicial, $Tfinal);

print "tiempo de ejecucion: ",timestr($Ttotal),"\n";

Su salida es algo como esto

2 wallclock secs (-0.20 usr + 0.00 sys = -0.20 CPU)

donde:

*2 wallclock secs: es el tiempo que tardo en ejecutar el codigo.

*0.20 usr: ni idea que quiere decir :frown:.

*0.00 sys: lo mismo que el anterior :frown::frown:.

*0.20 CPU: uso de cpu para ejecutar el codigo.

Esto se logra con Benchmark

Pero como mis compañeros no desarrollan en Perl :frown: lo estan haciendo en java, pero por el momento no me interesa saber como se hace en java, asi que busque como se logra esto en mono (C#) y buscando y buscando me encontre con un namespace llamado System.Diagnostics y pues la forma en la que lo implemente me muestra el resultado en milisegundos.

using System;
using System.Diagnostics ;

namespace primos
{
 class MainClass
 {
  public static void Main(string[] args)
  {
    System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
    watch.Start();

    Console.WriteLine ("Hola Mundo");

    System.Threading.Thread.Sleep(100);
    watch.Stop();
    System.Console.WriteLine("Tiempo de ejecucion: {0}", watch.ElapsedMilliseconds);
  }
 }
}

El motivo del cual lo investige para mono es que queria comparar 2 codigos, uno con varias comparaciones (if) y otro con ciclos (for) pero que hacen lo mismo, y conclui que los if ocupan un poco mas de procesador que las iteraciones, a pesar de que con el if se hacen la mitad (+ o -) de iteraciones, ¿que es mejor? iteraciones o comparaciones...
Download Opera, the fastest and most secure browser