Projecteuler

4 ~ mayo ~ 09 de 20:47 | Publicado en De todo, Internet, Ordenadores, Programación | 3 comentarios
Etiquetas: , , ,

Project Euler

Projecteuler es una página web dedicada a dos artes que siempre van de la mano: las matemáticas y la programación. Esta web nos plantea un seguido de ejercicios (hasta 243 de momento) matemáticos, pero que no podremos resolver sin crear antes un programa con ese fin. Evidentemente podremos escribir el programa en el lenguaje que deseemos, y después comprobaremos si nuestra solución es cierta. Si es así, podremos acceder a un foro donde la gente postea sus soluciones en diferentes lenguajes (ensamblador, c, basic, perl, java, python, etc) y comenta el ejercicio.

Si no lo conseguimos, no tendremos acceso a ese hilo y tendremos que volverlo a intentar después de perfeccionar nuestra aplicación. El nivel de los ejercicios va subiendo rápidamente, así que tendremos que remover cielo y tierra para averiguar las funciones más incógnitas y los métodos más extraños de nuestro lenguaje con tal de que todo funcione.

Como ejemplo pondré el primer ejercicio (la web, eso sí, está en inglés):
Si cogemos todos los números menores que 10 múltiples de 3 o 5, tenemos 3, 5, 6 y 9. La suma de estos es 23.
Busca la suma de todos los múltiplos de 3 o 5 por debajo de 1000.

Por mi parte, estoy haciendo lo que puedo con Python, y de momento voy por el ejercicio 11. Las cosas se complican, y los métodos para resolver los problemas van más allá del simple bruteforce.

Y para los que esto les parezca fácil, hay un reto con 2000 dólares en juego que consiste en crear buenos programas para resolver los problemas con el lenguaje APL. El APL es uno de los primeros lenguajes de programación creados, y también uno de los más difíciles, pero allá vosotros.

j: navegación mas efectiva en bash

30 ~ marzo ~ 09 de 23:44 | Publicado en Herramientas de Trabajo, Linux, Programación | Deja un comentario
Etiquetas: , ,

J script

Los que como yo seáis auténticos fans de bash, os pasáis el día instalando y compilando código y sobretodo navegando entre directorios, os encantara este script \”J\”.

J es un script que memoriza nuestros directorios preferidos, y nos permite acceder a el de modo rapido.

Instalamos j:

  1. Nos lo descargamos de aqui.
  2. Lo descomprimimos en donde queramos.
  3. Abrimos (o creamos) el archivo .bashrc en el home (gedit ~/.bashrc).
  4. Escribimos source path/to/j.sh  (dirección real del archivo).
  5. Reiniciamos el bash (reset, o cerrar y abrir)

Si todo esta bien el script empezara a memorizar nuestro arbol de directorios(con cd \”directorio\”  al principio). Al poco tiempo podremos hacer:

Usar j:

j \”direct1\” –> Nos llevara al primer directorio almacenado que contenga los caracteres.

j \”direct1\” \”direct2\” –> Nos llevara al primer directorio que contenga las dos cadenas de caracteres.

Increíble script que me hará muy feliz!

Gracias a Genbeta

Bash y Shell scripting por un tubo

12 ~ febrero ~ 09 de 15:03 | Publicado en Programación | Deja un comentario

Leo desde muchos blogs (es increíble!), aunque el primero de todos ha sido Pingüinos y Cía y en Ubuntulife, unos manuales de “Bash Scripting” y “Shell Scripting” muy buenos los cuales os recomiendo que les echéis un vistazo, como no, ya que están hechos para educar y orientar al público estándar.

Los enlaces en cuestión son:

Ambos están en castellano, perfectamente entendibles. Y luego, de la misma mano de Pingüinos y Cía, unos PDFs muy útiles para saber de qué va todo esto:

Ya veréis lo interesante que es, no es broma xD.

Tip: Sincronizar diferentes calendarios en iPod

30 ~ diciembre ~ 08 de 17:08 | Publicado en Apple, Herramientas de Trabajo, Programación, Tecnología, TIP | 1 comentario
Etiquetas: , , ,

Hace cuatro días me regalé para navidades un fabuloso iPod nano 4rta generación como el de la foto pero en negro.

El caso, es que tras intentar varios programas de sincronización terminé usando el gtkpod y el songbird a la par. El Songbird para música i el gtkpod para imágenes, vídeos y notas y calendarios.

Pero tras ver que no había manera de poder poner diferentes calendarios en el ipod a través del gtkpod me decidí a hacer algo. Así que terminal en pantalla i a hacer-lo!

Lo primero de todo es decir-os que no hace falta tener el gtkpod para usar este script ya que tan solo utiliza bash, asi que si sois fans de amarok, songbird o cualquiera de estos no problemo amigo.

El primer archivo a crear va a ser el de sincronización de calendarios tal como este tiene que quedar:

sudo gedit calendario.sh
#!/bin/sh
# (c) 2005 Daniel Kercher
# sync ipod with webcalendar

# Usage:
#
# sync-webcalendar.sh [-i <ipod mountpoint>] [-d <webcalendar uri>] [-c <calendar name>]
#
# with the following defaults:

# mount point of ipod
IPOD_MOUNT='/media/IPOD'
# uri for webcalendar (example)
DATAFILE='https://somewhere.local/calendar.ics'
# calendar name
CALENDAR='webcalendar'
# special options for wget
WGET_OPTIONS='--no-check-certificate'

# About the encoding used by the iPod (by Jorg Schuler):
#
# For some reason the encoding used for the contact files and
# calenader files depends on the language you have set your iPod
# to. If you set your iPod to German, iso-8859-15 (or -1?) is
# expected. If you set it to Japanese, SHIFT-JIS is expected. You need
# to reboot the iPod to have the change take effect, however. (I'm
# using firmware version 1.3.)
#
# If you know of more encodings, please let me know, so they can be
# added here:
#
# iPod language      encoding expected
# ----------------------------------------
# German             ISO-8859-15
# Japanese           SHIFT-JIS

# Changelog
#
# 2007/02/01 (Giray Devlet <giray@devlet.cc>): Multi Calendar Support
#
# 2005/06/15 (Jorg Schuler <jcsjcs at users dot sourceforge dot net>):
# Received original script from Daniel Kercher and added command line
# options
#
# 2007/05/31 (Jorg Schuler <jcsjcs at users dot sourceforge dot net>):
# Set a more reasonable default datafile.
#
# FIXME: some way to convert the character set

# overwrite default settings with optional command line arguments
while getopts i:d:c: option; do
    case $option in
        i) IPOD_MOUNT=$OPTARG;;
        d) DATAFILE=$OPTARG;;
        c) CALENDAR=$OPTARG;;
        \?) echo "Usage: `basename $0` [-i <ipod mountpoint>] [-d <webcalendar uri>] [-c <calendar_name>]"
            exit 1;;
    esac
done

echo -n "Syncing Web Calendar \"${CALENDAR}\" to iPod... "
wget -q $WGET_OPTIONS -O ${IPOD_MOUNT}/Calendars/${CALENDAR}.ics $DATAFILE
echo "done!"

A destacar:

IPOD_MOUNT = es la dirección donde tenéis el IPOD montado, usualmente /media/ipod

DATAFILE = Dirección web del calendario .ics

CALENDAR = El nombre que queréis que reciba el calendario en vuestro iPod, tan solo el nombre del archivo.

Este archivo deberéis guardarlo con un nombre facil de recordar(trabajo.sh, citas.sh, aniversarios.sh…)

Y ya para terminar creamos un ultimo archivo que llame a todos estos.

sudo gedit sincronizar_calendarios.sh
#!/bin/sh
./trabajo.sh
./citas.sh
./aniversarios.sh

Le damos permisos de ejecucion:

sudo chmod +x sincronizar_calendarios.sh

Y lo ejecutamos

sh sincronizar_calendarios.sh

El resultado seria algo asi en el terminal:

Syncing Web Calendar "examens" to iPod... /media/IPOD/Calendars/examens.ics: Done!

Y todos los calendarios bien soncronizados con nuestro querido iPod, ahora si queremos que el gtkpod(por ejemplo) nos actualize todos los archivos tan solo debemos indicar-le este script en las opciones de sincronizacion.

Gracias a dani por su ayuda!

Galeria Fotografica 0.4

26 ~ diciembre ~ 08 de 2:47 | Publicado en Programación, Tutoriales | Deja un comentario

Hola! Esta noche estoy motivado! Jaja

Tal como empece el otro día, estoy haciendo un pequeño manual de php para super-hiper-mega-principiantes y para dar un poquito de envida(sana por supuesto) y motivar-os he colgado esto que tenia programado desde hacia ya tiempo.

Galería fotográfica

El hecho de que sea la “versión” 0.4 es porque soy un chulo es porque desde sus inicios he añadido funcionalidades que mas o menos harían que fuera una cuarta versión.

Aun no es una versión definitiva ni nada por el estilo! No os penséis!!!!! pero poco a poco espero poder ir mejorando-lo para poder presentar-lo en sociedad!!! JAJAJA

OS dejo el codigo fuente asi como su correspondiente SQL para que podais provarlo en vuestros servidores recien instalados!

Código fuente i SQL

PD: Si veis algun error, o alguna contraseña que no deba estar en los archivos (creo haberlas borrado todas) porfabor no dudeis en mandarme un correo en el correo que pone en  el README.txt porfabor!!!!!!

Servidor web en php

22 ~ diciembre ~ 08 de 22:14 | Publicado en Herramientas de Trabajo, Internet, Linux, Programación | 3 comentarios

Tal como dije hace unos días, ahora que tengo menos trabajo me propongo empezar a escribir un poco sobre el tema del php, el apache y todo esto, para poder hacer paginas php o pruebas de lo que luego colgaremos en nuestro servidor web.

logosPara empezar os voy a contar como instalar LAMP (linux Apache, Mysql, PHP)  en linux, yo uso ubuntu pero los pasos a seguir son los mismos en otras distros exceptuando algún comando(sudo…, gedit…).

apache_logo_medium

Primer paso: Instalar apache.

En un terminal (Aplicaciones – Accesorios – Terminal):

sudo aptitude install apache2

Por lo general el servicio apache se inicia autmaticamente, pero sino tan solo debeis teclear lo siguiente:

Para inciar:

sudo /etc/init.d/apache2 start

Para parar:

sudo /etc/init.d/apache2 stop

Listo! Ya tienes apache en tu ordenador, para comprobar-lo tan solo debes ir a tu navegador i tecleear la url: http://localhost si todo es correcto mostrara: IT WORKS!

Los archivos deben estar en /var/www para funcionar, se puede modificar si quieres.

php-logo

Segundo paso: A por PHP

en el mismo terminal debemos esrivir:

sudo apt-get install php5 libapache2-mod-php5

I reiniciamos el apache:

sudo /etc/init.d/apache2 restart 

Para poder comprobar que todo ha funcionado debemos escrivir un pequeño script en php. Para eso hacemos:

sudo gedit /var/www/test.php

I en la ventana del gedit escribimos:

<?php
phpinfo();
?>

Y guardamos, en el navegador escribimos la dirección: http://localhost/test.php. Nos debería salir una pagina con información parecida a esta

logo_mysql

Ya casi estamos,  Tercer paso: MySQL

En el terminal escrivimos:

sudo apt-get install mysql-server

Y para probarlo tecleamos:

mysql -u root - p XXX

XXX es nuestra contraseña

(para modificar la contraseña: SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(’yyy’); una vez dentro del mysql)

En donde yyy será la nueva contraseña

logo_phpmyadmin

Último paso: PhpMyAdmin

Para terminar, instalaremos el phpmyadmin: (un gestor grafico de bases de datos MySQL)

sudo apt-get install phpmyadmin 

I accedemos a el a través del explorador: http://localhost/phpmyadmin


Referencia: lobo_tuerto

Página siguiente »

Crea un blog o un sitio web gratuitos con WordPress.com.
Entries y comentarios feeds.