Archivo por meses: Julio 2012

La Anarquía

La anarquía no es Caos

Anarquía no significa desorden!!!! Etimológicamente, significa “sin gobierno”, y cuando nos referimos a ella entendemos que no es necesario (y no sólo eso, sino que es perjudicial) un gobierno, un estado o una autoridad para imponernos un orden. Todo gobierno o estado predica que es él necesario, pues, sin él, todo sería desorden, caos; imperaría la ley del más fuerte, etc. Nada más lejos de lo que pretendemos. Se dice que “la anarquía es la máxima expresión de orden”, de un orden solidario y justo para todos. No un orden injusto, donde unos pocos disfrutan de los frutos del trabajo de muchos, donde muchos mueren de hambre mientras otros tiran la comida. Ese es el orden que los Estados defienden, mantener su poder sometiendo y reprimiendo a cualquiera que no esté de acuerdo.
Por ‘anarquía’ entendemos la organización de la sociedad donde NADIE sea depositario del poder, y por tanto nadie oprima a nadie por ser la autoridad representante de ese poder; una sociedad donde la libertad y la igualdad de todo el mundo sean respetadas por todo el mundo, donde la solidaridad y la cooperación entre las personas nos lleven a unas relaciones más sinceras, donde cada uno pueda expresarse libremente, donde podamos llevar una vida digna sin que sea a costa de otros. La autoridad de los estados se ejerce, primero para mantener el orden social que les favorece a ellos y no a la gente, al pueblo, y segundo, para reprimir cualquier tipo de pensamiento contrario a sus intereses.

La anarquía no es la Ley del Más Fuerte

¿No es eso lo que tenemos ahora, la ley del más rico? Porque riqueza es igual a poder y poder es fuerza. La anarquía no es que cada uno haga lo que le de la gana sin importar que perjudique a alguien o a costa de cualquier cosa. Anarquía es solidaridad, es apoyo mutuo, de este modo se puede luchar contra las injusticias más eficazmente que cualquier policía, ejército, etc.

La anarquía no es Libre Albedrío

Por desgracia, esto es lo que entiende la mayoría de la gente por anarquía. Esa es la idea manipulada que se ha difundido de ella. No por hacer lo que quieras eres más libre, citando a Bakunin:

Ser libre para el hombre significa ser reconocido y considerado y tratado como tal por otro hombre, por todos los hombres que lo rodean. La libertad no es, pues, un hecho de aislamiento, sino de reflexión mutua; no de exclusión, sino, al contrario, de alianza, pues la libertad de todo individuo no es otra cosa que el reflejo de su humanidad o de su derecho humano en la conciencia de todos los hombres libres, sus hermanos, sus iguales.

No soy verdaderamente libre más que cuando todos los seres humanos que me rodean, hombres y mujeres, son igualmente libres. La libertad de otro, lejos de ser un límite o la negación de mi libertad, es al contrario su condición necesaria y su confirmación. No me hago libre verdaderamente más que por la libertad de los otros, de suerte que cuanto más numerosos son los hombres libres que me rodean y más vasta es su libertad, más extensa, más profunda y más amplia se vuelve mi libertad. Es, al contrario, la esclavitud de los hombres la que pone una barrera a mi libertad, o lo que es lo mismo, su animalidad es una negación de mi humanidad, porque – una vez más – no puedo decirme verdaderamente libre más que cuando mi libertad, o, lo que quiere decir lo mismo, cuando mi dignidad de hombre, mi derecho humano, que consisten en no obedecer a ningún otro hombre y en no determinar mis actos más que conforme a mis convicciones propias, reflejados por la conciencia igualmente libre de todos, vuelven a mí confirmados por el asentimiento de todo el mundo.

Anarquía es la organización de la sociedad basada en el apoyo mutuo y la solidaridad para con nuestros y nuestras [email protected], una sociedad donde la libertad y la igualdad sean sus valores REALES, no ficticios. La libertad y la igualdad no las defiende ninguna autoridad, ningún gobierno, ningún ejército, por eso consideramos que todos ellos son inútiles y perjudiciales. Las defendemos [email protected] con nuestra actitud diaria.

fuente: ¿Qué es la Anarquía?¿Por qué somos anarquistas?

Video introducción a la Criptografía

Comparto con ustedes este excelente vídeo donde se da una pequeña introducción de lo que es la criptografía y su utilizaban, además también se muestra el funcionamiento del método de encriptación digital Diffie-Hellman Key Exchange o intercambio de llaves exponencial, espero lo disfruten :).

Crear app universal para iPhone y iPad

En este sencillo tutorial aprenderás a crear una app universal desde cero, las apps universales son aquellas que funcionan tanto en iPhone / iPod como en iPad.

Requisitos:

  • Sistema Operativo: Mac OSX 10.7.4
  • IDE: Xcode 4.2.1
  • Conocimientos de Objective-c: básicos, recomiendo leer esta guia de apple para tener nociones básicas sobre conceptos del lenguaje y la estructura de las apps Your First iOS App

Ok, lo primero que tenemos que hacer es abrir Xcode y crear un nuevo proyecto, nos vamos a File > New > New Project (como se muestra en la siguiente imagen)

Nos aparecerá un menú en donde se nos pedirá elegir el tipo de aplicación que deseamos crear, elegimos Empty Application

Aquí el proceso es bastante intuitivo, damos clic en siguiente y nos pedira un nombre para nuestra aplicación, yo le he puesto universal, en la opcion que dice Device Family asegurate de seleccionar Universal y de desmarcar las 3 opciones de abajo ya que en esta tutorial no las necesitamos.

Nos preguntara en que lugar deseamos guardar el proyecto y listo, ahora si podemos comenzar a escribir código :).

Por default tenemos 2 archivo creados, AppDelegate.h y AppDelegate.m, lo primero que tenemos que hacer es abrir AppDelegate.h y añadir una nueva propiedad, un UiViewController, lo hacemos con el siguiente código.

@property (strong, nonatomic) UIViewController * viewController;

Ten en cuenta que el código anterior lo debes de agregar entre @interface y @end quedando como resultado

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UIViewController * viewController;

@end

Después tenemos que sintetizar los métodos accesores de nuestra propiedad, para ello vamos al AppDelegate.m y agregamos el siguiente código debajo de

@synthesize window = _window;

El resultado final es

@synthesize window = _window;
@synthesize viewController = _viewController;

Una vez hecho lo anterior ahora tenemos que crear una sub clase de UiViewController, para eso podemos dar clic derecho sobre nuestro proyecto y seleccionar New File o también en el menú de arriba nos vamos a File > New File, Xcode nos abrirá una ventana en donde tenemos que elegir del lado izquierdo (en la categoría de IOS
) Cocoa Touch y seleccionar UiViewController subClass tal y como se muestra en la siguiente imagen.

Después en la siguiente pantalla ponemos un nombre a la clase, yo he puesto ScreenViewController, nos aseguramos que sea una sub clase de UIViewController y por ultimo desmarcamos la opción de With XIB for user interface. Mas adelante verán el por que.

Clic en Next después Save y listo. Ahora tenemos 2 nuevos archivos ScreenViewController.h y ScreenViewController.m, estos son los controladores de las vistas (las apps están basadas en MVC), ahora tenemos que crear las View, para eso de igual manera vamos a File > New File; del lado derecho en la categoria de iOS elegimos User Interface y seleccionamos View, como se muestra en la siguiente imagen.

En la siguiente pantalla seleccionamos iPhone en la opción de Device Family, damos clic en Next, y pondremos como nombre de archivo el siguiente ScreenViewController_iPhone (el nombre tiene que ir así por convención), finalmente clic en Create.

Repetimos este ultimo paso pero ahora seleccionando iPad en la opción de Device Family y ponemos como nombre correspondiente al archivo ScreenViewController_iPad. Al final deberías tener los siguientes archivos en tu proyecto.

Ahora tenemos que indicar el controlador de las vistas que acabamos de crear (los archivo XIB), para hacer eso damos clic primero en ScreenViewController_iPhone, seleccionamos en la categoría de los Placeholders el File’s Owner y del lado derecho en el identity inspector nos vamos a la categoría de Custom Class y ponemos como clase ScreenViewController

Después nos vamos al Connection inspector (la ultima opción de los Inspector) y “linkeamos” la view haciendo clic en el circulito de la derecha y arrastrando la línea azul (en la categoría de Outlets) con el view que esta en la categoría de Objects :), si lo hiciste bien debes de tener algo como lo siguiente.

Hacemos exactamente lo mismo pero ahora con el archivo ScreenViewController_iPad

Ahora para poner algo de contenido de ejemplo creamos un Label centrado en cada una de las Views que contenga como texto el nombre del dispositivo desde donde se esta ejecutando la app, Hacemos clic en ScreenViewController_iPhone, elegimos Label de la lista de objetos (esquina inferior derecha) lo arrastramos al centro de la pantalla del dispositivo, damos doble clic y escribimos iPhone, exactamente lo mismo con ScreenViewController_iPad pero escribimos iPad en el objeto Label. Debemos de tener algo como esto.

Listo hemos terminado con estos 2 archivos, ahora tenemos que regresar al AppDelegate.m y agregar una condicional donde se evalué el tipo de dispositivo desde donde estamos ejecutando la app y en base a eso cargar el XIB correspondiente, localizamos la siguiente clase en el archivo

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

Y agregamos las siguientes líneas justo debajo del comentario de // Override … bla bla bla

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        _viewController = [[UIViewController alloc] initWithNibName:@"ScreenViewController_iPhone" bundle:nil];
    } else {
        _viewController = [[UIViewController alloc] initWithNibName:@"ScreenViewController_iPad" bundle:nil];
    }
    self.window.rootViewController = self.viewController;

Al final nuestra función debe de verse así.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        _viewController = [[[UIViewController alloc] initWithNibName:@"ScreenViewController_iPhone" bundle:nil] autorelease];
    } else {
        _viewController = [[[UIViewController alloc] initWithNibName:@"ScreenViewController_iPad" bundle:nil] autorelease];
    }
    self.window.rootViewController = self.viewController;
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

Por ultimo corremos la app ya sea en los simuladores o en dispositivos físicos para ver los resultados :)!

Y listo, espero haya quedado claro una de las tantas técnicas que existen para programar apps universales en iOS, esta vez solo utilizamos un Label que muestra un texto diferente dependiendo de si ejecutamos la aplicación en un iPhone o en un iPad, pero las posibilidades son infinitas y las ideas a desarrollar tan complejas como nosotros queramos :), incluso podrías programar una app que mostrara una interfaz diferente para cada día de la semana :p. Como siempre lo he dicho cualquier duda escríbanla en los comentarios y yo la responderé.

salu2

Puedes encontrar más guías y trucos sobre iPhone 5 en: www.iPhone5ya.com

Nokia Developers Day México

Te invitamos al Día del desarrollador Nokia, donde tendrás la oportunidad de aprender a desarrollar contenidos móviles y publicarlos en la Tienda Ovi. Recibirás instrucciones para programar una aplicación en Java o Web Runtime y te explicaremos detalladamente cómo ponerla al alcance de millones de consumidores en todo el mundo.

Hola lectores por este medio quiero invitarlos a asistir al evento Nokia Developers Days que se realizara este jueves 5 de Julio de 2012 en el hotel Sheraton Maria Isabel (Salón Independencia) paseo de la Reforma 324 Col. Cuauhtemoc , México DF a las 9:00 am, el evento no tendrá costo alguno y solo sera 1 dia.

Además los participantes podrán ganar durante el evento Smartphones como Nokia Lumia y S40, así como consolas de videojuegos XBOX. Ademas se tiene una sorpresa especial, algo relacionado con un viaje a Londres :).

IMPORTANTE: cuando llegues al evento en la mesa de registro te preguntaran por quien fuiste referido al evento, te pido por favor que des el siguiente nombre Lenin Alevski Huerta Arias del grupo Microsoft Student Partner (MSP), nos vemos en el evento!

Mapa del hotel


Ver mapa más grande

Pueden indicar que asistirás al evento via facebook en Asistir al Nokia Developers Days yo posteriormente me encargare de armar la lista y mandarla a la gente de Microsoft y Nokia