Translate

domingo, 27 de noviembre de 2011

Creación de Un Servidor Web


Hay diferentes opciones tanto desde el punto de vista del sistema operativo como del motor web, como de la base de datos. Esta opción que vamos a describir la basaremos en software libre. Este tipo de servidores son los conocidos como LAMP, ya que son la combinación de los siguientes elementos software:

  • Linux. Sistema operativo base. en nuestro caso Ubuntu
  • Apache. Será el servidor de páginas HTML.
  • MySQL. El motos de base de datos
  • PHP. EL lenguaje necesario para la programación.
A esto vamos a añadir un par de elementos como son por un lado Joomla, que es un CMS o sistema de gestión de contenidos, y por otra parte PHPmyAdmin que es una herramienta escrita en PHP para la gestión de MySQL.
Los pasos a seguir son sencillos

1º Instalamos un equipo con una de las distribuciones disponibles de Linux. En este caso se ha escogido Ubuntu, el cual está instalado en una máquina virutal de Virtual Box sobre un MacOS Lion.

2º Una vez instalado este actualizaremos el sistema operativo para que tenga los últimos parches de seguridad, etc, etc...

3º Abrimos un terminal y procedermos a la instalación de los componentes necesarios. Primero instalaremos Apache:

     sudo apt-get install apache2

Una vez instalado para probarlo basta abrir un navegador y abrir la página http://loclahost.

4º Instalamos el servidor mySQL

     sudo apt-get install mysql-server

Durante la instalación de este se nos pedirá la contraseña del usuario roto. Es importante para luego la instalación de Joomla.

5ºInstalamos PHP.

    sudo apt-get install php5 libapache2-mod-php5 php5-mysql

6º Una vez instalado reiniciamos el servidor Apache.

     sudo service apache2 restart

7º Instalamos PHPmyAdmin

     sudo apt-get install phpmyadmin

Para acceder a este último lo haremos a través de un navegador con la dirección:

     http://localhost/phpmyadmin.

En este punto ya tenemos un servidor web totalmente operativo. Nos quedaría por instalar Joomla. Para ello descargamos la última versión y la colocamos en la carpeta raíz del servidor web. En nuestro caso /var/www. Vamos a un navegador web e iremos a la dirección http://localhost/joomla/install. Se abríra una página web que nos pedirá una serie de datos entre los que daremos el nombre de nuestro sitio, si vamos a necesitar acceso FTP, passwords, el servidor de base de datos, y finalizamos. 

Nos restará por entrar a la carpeta de Joomla y borrar la carpeta Instalación, para que ya tengamos nuestro servidor web con Joomla operativo.




miércoles, 23 de noviembre de 2011

XCode: View Controllers

En esta entrada vamos a ver como crear un App para IOS en el que tendremos dos view Controllers, uno de ellos el principal con el que se inicia la aplicación, y que dispone de un botón que nos permite cambiar a otro view.
El efecto de transición entre uno y otro será rotando de manera que parezca que un view está a la espalda del otro.




Creación de un view Controller principal

1º Selecionamos un proyecto vacío. Este creara ficheros .h y .m  para el Applicattion Delagate.

2º Añadimos un controlador: New+  File + UIViewController subclass, le ponemos el nombre (MainViewController) y marcamos que cree el fichero xib.
Una vez creado añadirá un fichero .h y otro .m para la clase del view controller. Igualmente creará un fichero XIB.

3º En el AppDelegate.h definimos la clase del view controller creado.
, y una propiedad con la que creamos un puntero a una instancia del controlador

@class MainViewController;
@property (strong, nonatomic) MainViewController *mainViewController;


4º En el AppDelegate.m añadimos:

#import “MainViewController.h”
@synthesize mainViewController = _mainViewController;


5º En el AppDelegate.m buscamos el método didFinishLaunching y añadimos:

self.mainViewController =[[mainViewController alloc] initWithNibName:@”MainViewController.xib” bundle:nil];
self.window.rootViewController = self.managedObjectContext;
self.mainViewController.managedObjectContext = self.managedObjectContext;

6º En el MainViewController. h definimos una propiedad  y la sintetizamos en el fichero .m:

@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@synthesize managedObjectContect = _managedObjectContext;



Creación de un segundo view Controller

1º Volvemos a añadir un UIViewController de la misma manera que hicimos para el principal. Le ponemos de nombre SecondViewController. Esto creara sus correspondientes .h, .m y .xib

2º En MainViewController añadiremos una acción que servirá después para llamar a la ventana del 2º VC. También importaremos SecondViewController.h

#import “SecondViewController”;
-(IBAction)showInfo:(id)sender;


3º Modificamos la definición del interface de MainViewController, que debe quedar de la siguiente manera:

@interface MainViewController : UIViewController


4º En MainViewController.m implementamos la acción showInfo para que llame al segundo view:

-(IBAction)showInfo:(id)sender{
SecondViewController *controller = [[SecondViewController alloc] initWithNibName:@”SecondViewController” bundle:nil];
controller.delegat = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
}


5º En SecondViewController.h  crearemos la clase correspondiente, así como el delegado, con su correspondiente método DidFinish

@class SecondViewController;
@protocol SecondViewControllerDelegate
-(void)secondViewControllerDidFinish: (SecondViewController *)controller;
@end

6º Igualmente crearemos la definición para el SecondViewController con un Outlet que apunta al delegado y una acción que permitirá salir de esta ventana y volver a la anterior.

@interface SecondViewController : UIViewController
@property (weak, nonatomic) IBOutlet id delegate;
-(IBAction)done:(id)sender;
@end


7º  En SecondViewController.m importamos el .h, sintetizamos la propiedad delegate e implementamos la Acción done

#import “SecondViewController.h”
@synthesize delegate
-(IBAction)done:(id)sender
{
[self.delegate secondViewControllerDidFinish:self];
}


8º En MainView.xib coloco un botón y le asigno de IBAction el método ShowInfo, lo mismo para el botón del SecondViewControler y la acción Done.

martes, 22 de noviembre de 2011

UK Ironman: Bolton

Inscripción realizada. A partir del día 5 empezamos el entreno, que será muy similar al del año pasado para el Ironman de Francia/Niza.

Signed yet. Next December, 5th i will start the train for it. It´ll be very similar to last year training for France Ironman in Nice.





viernes, 11 de noviembre de 2011

UK Ironman: Bike, initial part/Enlace inicial


El sector de bicicleta del Ironman de Bolton comprende un primer enlace hasta el circuito, y después tres vueltas al anillo para terminar saliendo hacia la T2 en Horwich. El primer e importante detalle a tener en cuenta es que aquí como todo el mundo sabe, son "Right handle vehicle", quiere eso decir que tenemos mentalizarnos que debemos ir por el lado izquierdo de la carretera. Sirva esto para evitar sanciones por invadir sin querer el lado derecho. Sobre todo en las bajadas de los puertos.
La distancia a recorrer en el sector de la bicicleta son 112 millas (180km) con 7.291pies (2.222m) de desnivel acumulado.

The bike sector on the Bolton Ironman has two parts, the initial link and the loop in with you have to made three turns. Finally you left the loop and goes to Horwich for the T2. The first important detail to consider is, as everybody knows, we are in a "right handle vehicles" country, so be carefull not to ride on the left side of the road because it could cause a penalty by de marshals of the race.
The total distance to ride in the bike sector are 112miles (180km) with 7.291feets (2.222m) of climbing.

Plano general de la carrera

Perfil de la parte inicial.


En este primer capítulo del sector de bici veremos el primer sector de enlace hasta el bucle el cual conlleva unos 23km. El desnivel que se sube es de unos 160m con un porcentaje máximo de un 2,5%.

In this first chapter for the bike sector we will see the initial link, which are 23km long, with a total climb of 160m with a maximum percentage climbing of 2,5%. 



Una vez salimos de la T1 después de haber hecho la natación en Pennington Flash lo primero que encontramos es una pequeña carretera en dirección sur que nos saca de este sitio a la carretera A572 de Saint Helens. Es una carretera muy estrecha y bastante bacheada, así que cuidado con los botes, herramientas, geles, etc...
El año pasado en Niza en los primeros km aún no siendo muy bacheados se veían en el suelo de todo tipo de estos artículos.

Once we left the T1 after the swim leg in The Flash the first road we are going to found is a little road bearing to the south which drive us to the A572/Saint Helens Road. This road is a very stretch and bumpy road, so be carefull not to loose your bottles, toolbags, and so on.
It was the same for the first km in Nice Ironman the last year.


Aparcamiento donde estará situada la T1, en frente la salida de la natación.


Una vez en la carretera de Saint Helens iremos en dirección Norte para cambiar rápidamente a la carretera A579 de Atterleigh. Carretera que pasará por la localidad de Leigh

Now in Saint Helens Road you turn 180ª to the north in the A579 road of Atterleigh. This road cross the town of Leigh.



Carretera A579 a la salida de Leigh

Al salir de Leigh el asfalto es algo rugoso y agarra bastante. En algunas webs locales aconsejan si no está mojado rodar encima de la raya blanca. Por esta zona pasaremos varias rotondas. Una vez atravesado Leigh saldremos a carreteras abiertas.

When you exit Leigh the tarmac becomes a little rough. It seems like your brake lever was a little pressed. Some local web-sites gives you the tip to ride over the white line due to a smoothness ride above this, but do it only if the tarmac is dry. A wet line is a potencial risk of slip, and could cause a fallen.

Final de la A579. Al fondo una rotonda que cambia de carretera

Esta parte de la carretera tiende un poco hacia arriba, pero sin llegar a ser una subida. 

At this point of the course, the road  becomes a little incline.


A58 junto a Park Road

Al final llegaremos a una rotonda algo más grande donde giraremos a la derecha para entrar en la A6 o carretera de Manchester. En este punto si miramos a nuestra derecha podremos ver la que será primera subida del día: Winter Hill. Esta subida se hará al principio del bucle y tendremos que hacerla por lo tanto tres veces.

Finally we arrive to a big roundabout where we must turn right on the A6 or Manchester Road. At this point we can look up to our right and we could see what will be the first climb of the day: Winter Hill. This climb will be at the beginning of the Loop, so we are going to do it three times.

A6 Manchester Road

Por la A6 llegaremos a un cruce primero a izquierdas y luego a derechas, para entrar en Chew Moor Road, a través de la cual cruzaremos bajo la M61 Motorway. En este punto ya empezamos a entrar en la localidad de Bolton

Going along A6 we will find two crossings, turning the first to left, and second to right. Then we will entry in Chew Moor Road. By this road we will cross under the M61 Motorway. At this point we are entering the twon of Bolton.

Chew Moor Road, pasando por debajo de la Autopista M61


Pasamos de Chew Moor Road a Tempest Road y seguimos avanzando en dirección Bolton, para llegar a uno de los puntos claves de la carrera.

Now we left Chew Moor Road and enter Tempest Road and keep going in Bolton direction, to arrive one of the interest point of the course.

New Tempest Road

Este es el cruce entre New tempest Roady Rumworth Road, donde giraremos a la izquierda para entrar en esta última. En este punto estaremos sobre un puente que cruza las vías del tren. Posteriormente en la carrera a pie volveremos a pasar por este punto para buscar la ciudad de Bolton y su bucle.

This is the crossing between New Tempest Road and Rumworth road, where we turn left to enter the last one. At this point we are in a bridge over the railways, and during the run sector we will pass it running in Bolton direction, searching for the marathon loop.

Rumworth Road paso sobre las vías del tren


Regent Road es una carretera que se inclinará ligeramente hacia arriba pero sin llegar a ser una cuesta claramente. Una vez al final de esta carretera giraremos a izquierdas para entrar en la Chorley New Road.

Regent road is a slightly up road. At the end of this ross you must turn left to enter into Chorley New Road.

Regent Road

Siguiendo Chorley New Road atravesaremos el campo de Golf de Bolton. Esta carretera es muy recta y con un poco de bajada lo que permite rodar acoplado durante unos cuantos km. En una de las rotondas que atravesaremos podremos ver el Reebok Stadium a nuestra izquierda. Seguiremos hasta llegar a Horwich.

Going along Chorley Road we crosses Bolton Golf Club. This is a straighten road and slightly downhill. It permits an aero position for a few km. In one of the many roundabouts we must pass we could see the Reebok Stadium at our left. We will continue until arrive to Horwich

A673 Chorley Road

Entraremos en Scholes Bank, y después en Bolton Road. En esta carretera pasaremos al lado del Rivington Reservoir, que es el lago donde se nado en una la edición de 2009. Estamos muy cerca del inicio del bucle.

Then we enter Scholes Bank, and a little bit later Bolton Road. In this ross we will pass near Rivington Reservoir, wich was the place where the last year swim were held.

Bolton Road. Lago Rivington a la derecha


Para entrar al bucle seguimos por Bolton Road que en su parte final es ligeramente hacia abajo, hasta llegar a la localidad de Addlinton. Una vez en esta llegamos al cruce con Babylon Line y giramos a derechas para entrar en esta calle y ya estamos en el bucle del circuito

To enter the main loop we go along the final part of Bolton Road, which is a slightly downhill, until arrive to Addlinton. Once on Addlinton we arrive to Babylon Line crossing and turn to the right. At this point we are inside the main loop.


Llegada por Bolton Road(dcha) e inicio del bucle por Babylon Line

En esta zona ya veremos claramente la primera subida que ya pudimos ver anteriormente. Winter Hill.

En el siguiente capítulo veremos como discurre el bucle con las tres subidas con las que cuenta...


At this point we can see the firs climb of the day. The one we can se a few km before. Winter Hill.

In the next chapter we could see the main loop...






lunes, 7 de noviembre de 2011

Bolton ... in the horizon..(Part 1: The Swim)

Nuevo reto en el horizonte... en esta ocasión el Ironman del Reino Unido.
Este Ironman es una de las nuevas carreras de Ironman en Europa. La edición de 2012 será la tercera edición de esta carrera

New Challenge in the horizon... this time: Bolton, the UK Ironman.
This Ironman is one of the newest Ironman races in Europe. 2012 is going to be the 3rd edition of this race.

La carrera tendrá lugar en Bolton, reino Unido, una ciudad perteneciente al Greater Manchester del North West de Inglaterra. La fecha será el 22 de Julio.
Consiste en tres partes, natación de 3,8km, bicicleta de 180km y por último una maratón de 42,200km
El año pasado hubo cerca de 1400 competidores, así como 50 slots de calificación para el campeonato del mundo Ironman en Kona (Hawaii).

The race will take place in Bolton, United Kingdom, a town in Greater Manchester in the North West of England in July 22.
It consist on three legs, 2,4 miles swim, 112 miles bike and finally 26.2 miles run.
Last year (2011) there were about 1400 competitors, and 50 slots for qualifying for the kona Ironman World Champion


La Natación
The SWIM


La primera parte de la carrera, la natación tendrá lugar en el Parque de Pennington Flash en Leigh

The first part of the race, the swim, will be in the Country park of Pennington Flash in Leigh.


En este caso la salida es de tipo massivo, y con todos los competidores en el agua, con dos vueltas en sentido contrario al de las agujas del reloj. El traje es obligatorio por la temperatura del agua.
Esta es la rampa por la que se entra al agua, y por supuesto también ees usada para salir a la zona de transición en la T1.

In this case the swim start is a massive type, with all the competitors in the water, with two laps anti-clockwise. The wetsuit is mandatory due to water temperature.

This is the ramp where you enter to the water, and of course is also used for the exit to the transition zone, the T1


Una vez en la zona de transición, cojemos la bici y empezamos el recorrido de la bici. Esta es la entrada para la T1.

Once in the transition zone,  pick your bike, and then start the bike course. This is the entrance for the T1.

La T1 está distribuida de la misma manera que en otros Ironman. Primero debes coger la bolsa azul que contiene las cosas para la bici (casco, gafas, zapatillas si no están enganchadas en la bici, y todo eso...).
Entonces te dirijes a la tienda en la que puedes quitarte el traje y ponert el tritraje para el resto de la carrera. Pones el traje, gorro y gafas en la bolsa azul y se la das a uno de los voluntarios. Por último te dirijes a la zona de las bicis en la T1, la coges y corres hacia el punto de inicio de la bicicleta.

El próximo dia... el recorrido de la bici... y prometo una descripción mas extensa de este recorrido...

The T1 is distributed in the same way of anothers ironmans. First, you must pick your blue bag containing your  bike apparel, (helmet, glasses, bike shoes if not clipped to the bike, and so on).
Then you go to a tent in wich you can take off your wetsuit and wear your trisuit for the rest of the race. You must put your wetsuit, swim cap and googles into the blue bag and give it to one of the volunteers. Finally you go to the bikes zone into the T1, pick your bike and run to the starting point of the bike leg.

Next day... the bike course,... and i promised a very extended description of this course...