Archive for the ‘Scripting & Programming’ Category

Compilar y ejecutar con Eclipse en OsX Leopard

Lunes, Octubre 19th, 2009

xcode"Launch Failed. Binary not found"
Esta frasecita a mi me ha dado unos problemas de tres pares de cojones. Siempre he usado este Eclipse para programar en C cuando usaba linux pero ahora resulta que con OsX Leopard hay que hacer algunos cambios y hasta que no modificas un par de propiedades no hay manera.

Instalar las XCode

Necesitas los paquetes de desarrollador que no vienen instalados por defecto. Normalmente en linux tienes que instalarte paquetes de desarrollador del entorno y gcc para poder compilar y enlazar. Aquí son las Xcode. Tienes una versión de las herramientas en tus DVDs de Leopard o puedes descargarte la última versión de su página oficial. Son unos 750MB y se instala ocupando el doble pero trae unas cuantas aplicaciones que a más de uno os resultarán útiles, como un IDE para programar C si Eclipse os trae por la calle de la amargura.
Las encontraréis en /Developer/Applications

Instalar Eclipse

El único misterio es elegir la versión que nos corresponde. Tenemos que descargar la versión de Eclipse C/C++ Cocoa 64 bits o 32 bits, eso al gusto. Viene preinstalado con todos los famosos plugins que antes tenías que descargar con un trabajo de chinos. Después de copiar la carpeta descargada a Aplicaciones en nuestro OsX crearemos nuestro proyecto C o lo que sea.
Pulsamos cmd + B o compilamos y ejecutamos y… taachaaaan: "Launch Failed. Binary not found"

El problema:

Leopard ha cambiado y nuestras herramientas de compilación ya no se llevan tan bien con Eclipse por temas que se escapan a mi interés y compresión a las horas que son.

La solución:

Habiendo creado Y seleccionado un proyecto de C y NO otro:
Pinchamos en Project->Properties->C/C++ Build->Settings->Miscellaneous y en la caja de texto de Mac OS X C Linker poned -arch i386. En GCC C compiler añadiremos el mismo parámetro en Others Flags -arch i386.

Xcode | Eclipse

Lastfm en Adium

Miércoles, Marzo 18th, 2009

adium_150Hoy estaba hablando con Crisito y me ha preguntado cómo hacía yo para pegar las canciones que estoy escuchando con la aplicación de LastFM para Os X.
Pues copiando primero el título de la canción, pegando el título en la conversación y realizando la misma operación con el nombre del grupo. Lo que es un soberano coñazo.
Así que ha encontrado en el apartado Xtras de Adium un script que prometía con un sencillo comando %_lastfm mostrar a nuestro contacto en conversación la canción que acabábamos de escuchar.
Ya existe en adium el comando %_iTunes para cuando escuchamos música de nuestra biblioteca.

Pues bien, el script funciona como y cuando le da la gana porque usa el sistema de caché de nuestro reproductor de LastFM el cual se actualiza.. a su bola.
Así que a mi se me ha ocurrido modificar un poco el script y usar algo de PHP para aprovechar la madnífica API que LastFM pone a nuestra disposición.

Consta de dos partes, la parte de AppleScript que invoca nuestro PHP y el código PHP que se encarga de recolectar datos de la última canción que hemos escuchado.
(más…)

Apple II c VS MacBook

Viernes, Marzo 13th, 2009

Esta tarde Álex ha pasado por el MediaMarkt de hace un cuarto de siglo y me ha traído ratón nuevo para el MacBook:

MacBook y Raton Apple 1984
(más…)

POO en PHP: Introducción

Martes, Marzo 3rd, 2009

Conceptos fundamentales de la POO, para ir tirando.

En POO los datos y las funciones para manipularlos se encuentran en los objetos.
Datos -> atributos o propiedades
Funciones para manipular los datos -> métodos

Clases

Un objeto está definido por la clase de la que está instanciado.
Define sus atributos así como los métodos que puede emplear. Los objetos se crean instanciando clases: se crea un nuevo objeto, se inicializan sus atributos y se llama a su constructor que es quien efectúa cualquier labor de configuración.
En PHP5 el constructor debe ser nombrado __construct()

<?php
class User {
  // atributos
  public $nombre;
  public $birthday;
  // constructor
  public function __construct($nombre, $birthday) {
    $this->nombre = $nombre;
    $this->birthday = $birthday;
  }
  // método
  public function saludo() {
    return "Hola $this->nombre.\n";
  }
}

//Instanciando un nuevo objeto y rellenando atributos
$usuario = new User('Jim','12 Marzo 1980');
//usando un método de nuestro objeto
echo $usuario->saludo();
?>

El resultado de invocar dicho método será Hola Jim. y un salto de línea.
El cosntructor de este ejemplo sólo incializa dos atributos. Instanciamos el objeto con new NombreClase y se lo asignamos a una variable. A partir de entonces podremos acceder a métodos y atributos de nuestro objeto recién creado con la notación ->

Importantes propiedades de los objetos:

Tengo que pegar un repaso al polimorfismo así que más adelante completaré este apartado.

  • Herencia: Habilidad para derivar nuevas clases de otras ya existentes y conservar o reemplazar los atributos y métodos correspondientes.
  • Encapsulación: Ocultar datos al usuario de la clase.
  • Polimorfismo: intercambio de métodos externos implementados en varias clases.

La botica del FUCK! – Particionar disco instalando Windows

Jueves, Enero 29th, 2009

Lo bueno de tener una cuenta de Facebook es que puedes mantener el contacto con gente a la que hace mil años que no ves y que no quieren saber nada de tí porque tu vida les importa no uno ni dos sino tres pitos. Lo malo es que ellos pueden hacer lo mismo contigo.
Esta mañana he recibido un mensaje de esos privados (el acoso del siglo XXI) de una amiga pidiendo un poquito de porfavor informático. Para proteger su intimidad la llamaremos Piquineitor:

Mensaje de Piquineitor:

Oyes, tu pilotabas de ordenadores no?, vamos, que sabes donde guardas la cosas cuando le das a aceptar, no?
Pues tengo una pregunta para usted:

Quiero (y voy a) formatear -ese no es el problema, todo lo que sea destruir está controlado- pero quiero hacer una partición del disco para dejar Windorr separado del resto de las aplicaciones.

Tres preguntas:

- Sobre 80 Gigas (que no los llenas tú en la vida): cuantos dejo en cada partición, o sea, cuanto es lo recomendable en dicha partición?
- Creo que a mi novio le gusta mi mejor amiga porque cuando quedamos siempre se viene ella y nunca nos deja solos y siempre está haciendo bromas con ella y no se qué hacer… creo que me va a dejar por ella porque es más mayor y tiene más experiencia con los chicos y me ha dicho que les da besos con lengua. Dime qué tengo que hacer para que me haga caso Patricia, yo le quiero mucho.
- Y lo más importante: CÓMO COÑO HAGO LO DEL ORDENADOR??

Me he puesto rápidamente manos a la obra para contestar:
(más…)

El <div> inmortal

Viernes, Diciembre 12th, 2008

Wyrm: mira el código otra vez en paginas a mi me peta en FF
Chusete: voy
Chusete: sigues teniendo dos cierres de div
Chusete: solo debe quedar uno, es como los inmortales
Chusete: y es el que está entre </ul> y </li>
Wyrm: aaaaaah
Wyrm: ajajajaaaa

Gmail IMAP VS Mail 3.0

Viernes, Noviembre 7th, 2008

Esto es lo que pasa cuando sincronizas dos cuentas de Gmail por IMAP usando Mail de OsX:

Aprovecho para comentar un poco que para el que quiera sincronizar una cuenta de correo en Gmail desde varios dispositivos, como yo que uso un sobremesa y un portatil para leer el correo offline, os encontrareis con el problema de que los correos leídos desde un dispositivo no aparecen en el otro. Pues bien la solución es habilitar el IMAP desde la configuración de vuestra cuenta en la web de Gmail y añadir la cuenta como IMAP en lugar de POP siguiendo las instrucciones y punto pelota.

Soy un tío moderno

Viernes, Octubre 10th, 2008

Hay una tipa que sortea un iPhone a través de un meme en un blog la mar de concurrido. Para los menos puestos en esto de usar Google os estareis llevando la mano a rascarse la coronilla “meme? cómo que meme, tu puta madre meme” pues es complejo y aburrido de explicar, resumiendo se trata de conseguir que cantidad de gente desinteresadamente (esta vez no) haga la misma estupidez simultáneamente.
A veces la estupidez es un exponente de la raza y molan un wevaco.. y otras pues no.

De la que me he enterado esta vez gracias a macuoren que a su vez se enteró gracias a gart3n que a su vez tiene un vecino que.. la tipa esta sortea una camiseta.. digo un iPhone y lo único que hay que hacer para entrar en competi es poner una frase que llevarías en una camiseta.
Sí, da lo mismo cuánto sudor hayas derramado sobre la paleta Wacom, un tipo con el NotePad puede quitarte el primer puesto :)

Me he pasado por la página en cuestión (la de la rubia esta) y esta lleno de latinos así que me he enterado vía autodidacta que por allí se dice “remera” en lugar de “camiseta” lo que me ha hecho comerme la cabeza con alguna antes de darme cuenta “furcia? como que furcia?“.

En fin, que estoy tan completamente seeeguro de que visto el percal si no quedo primero hago podio, os he dejado ventaja:


Gayumbo

Porque yo soy así: moderno.
Un agradecimiento al hermano de @Aneto que no verá nunca este post.

Actualización: He hecho la tan deseada versión para féminas. Iba a poner un texto del rollo “On (recommended) Off (at your on risk)” pero es que para poner el Quijote los tangas no estan diseñados precisamente.


Tanga

Esta va dedicada a @Aneto creativa de la frase para pijamas liberales:


Pijama

Hago un aparte

Para comentar que hay gente con menos luces que un barco pirata, que de vez en cuando son un exponente para la raza, y se saca de la manga estas pedazo de ofertas para subastar en eBay.
¿Nos privamos de algún lujo este finde y juntamos 5€ entre todos?

El meme en cuestión es este: meme de la rubia

Goear cambia de reproductor (hiiijo de..)

Viernes, Septiembre 26th, 2008

Y con esto nos ha hecho la pascua a cantidad de bloggers que hemos ido inyectano sus objetos flash en nuestros posts para darles vidilla.
El otro día me lo advirtió @macuoren por el Twitter

“me cago en goear, al cambiar el reproductor no lo hace automáticamente en los externos, useasé los que embebemos en nuestros blogs… así que hay que copiar y pegar el código de todos uno por uno otra vez >_<”

Yo soy bastante más dejado para el blog, así que como la informática se creó para “pensar con ésta, para engordar ésta, sin doblar esta” (señalando cabeza, barriga y riñones correlativamente) según dice El Tío Polch, pues se me ha ocurrido que tenía que haber alguna forma de realizar este cambio de manera masiva en nuestra base de datos.

Sí, hay maneras mucho más sofisticadas de hacerlo, hacer un plugin php que use las variables de conexión con la BBDD para realizar el cambio en toda la web, pero como supongo que diría El Tío Polch: “en casa de herrero cuchara de palo“. Vamos, que estoy hasta el nackle de PHP y de esas vainas así que me he ido por lo fácil: el ancestral arte del copipaste.
(más…)

Forro Extra-polar

Domingo, Septiembre 14th, 2008

He leído de rebote un blog linuxero (de estos de linux tatuado en el corazón) y me he detenido (pero qué leen mis ojos?) ante un post que me ha sacado tanto de quicio que las barbaridades que iba a responder eran tan grandes que no me cabían en una caja de comentario tan pequeña.
Así que he hecho un post para desatar a la bestia titulado:

Forro Extra-polar

Tengo un iPhone (mis motivos tengo) y me he manifestado contra las patentes de software (porque yo lo valgo). Soy un maldito hipócrita y no merezco el aire que respiro..

Extrapolas de lujo pero no por ello tienes más razón, todo beneficio tiene un compromiso (muy Spiderman, a que sí) y tú eliges por el aro que pasas.
Seguro que tú no estás atado a ningun teleoperador o contrato ADSL, a que no, a que tampoco pagas la luz, el gas o el alquiler a que tampoco.. venga por dios, si no quieres permanencia de 2 años te lo compras en UK o EEUU, lo liberas y aire que chispea, de verdad que no entiendo estos ramalazos de “como he pagado por algo es malo porque como hay algo parecido pero gratis..”

Vamos no me jodas, Atún Calvo pesca arrasando con delfines, Nestlé explota plantaciones enteras en el tercer mundo a costa de seres humanos y el estacionamiento regulado es un maldito robo en Madrid, hasta la Iglesia tiene los cojones negros. Pero ¿a que no has apostatado? No, ahí estas con tu Debian más ancho que largo.
Lo que yo decía: EX TRA PO LAR.

Hoy digo, y a Santa Claus pongo por testigo, que el día que me demuestren que el tener un iPhone mata de hambre a un solo programador me voy a vivir a una cueva con un taparrabos reciclado.

Mira tronker, ni esto es un anuncio de aquarius ni la gente es ferpecta ni mañana habrá un programador muerto de hambre, ni consola ni consolo.
Las latas de atún Calvo sí que son un producto cerrado y todos comemos ensalada y hacemos apt-get con la conciencia tranquila.
Si tú quieres usar software libre me parece cojonudo, si quieres una palmadita en la espalda por hacer sólo eso cuando hay cienes de motivos distintos por los que llevarse las manos a la cabeza que porque unos tronados eleven a la categoría de divinidad una marca o producto te vas a quedar con las ganas.

O te mueves o caducas hijo mío. Anda tira.. que te.. que te..
Todo esto sin ánimo de ofender, como es costumbre.