Thursday, December 29, 2011

Place PDF from Google Docs into your Blog

Posted a how to post a Presentation from Google docs into your blog. Presented my findings to my friend and it got back again to me. "No is not a presentation but a pdf that I want to show" - he said. So lets start all over again but now with a pdf.
The PDF embed into this post has the details on how to, however I will quick break down the steps.

Will try to show in a few quick steps on how to

  1. We assume you have a pdf file already.
  2. Upload your pdf to your Google Docs account.
  3. Share your pdf and set it to be public.
  4. Copy the link given from Google Docs of your pdf
  5. Paste the link into the address bar of your browser
  6. Copy again the resulting link from the address bar of your browser
  7. On the address replace chrome=true to chrome=false and append to the end of the link "&embedded=true" (without the " )
  8. Place your resulting URL into this block
    1. <iframe height="780" src="MY_ADDRESS" style="border: none;" width="600"></iframe>
  9. Change width and height as needed.

Sample resulting block of code

<iframe height="780" src=";pid=explorer&amp;chrome=false&amp;srcid=0B10UfrjZDyv1YzNiZDgzZTgtMWM2Mi00YmM4LTg3OGEtZWY3YjQ1NmExMGQz&amp;hl=en_US&amp;embedded=true" style="border: none;" width="600"></iframe>

Embedded PDF in action!

Hope this was useful to you!

Wednesday, December 28, 2011

How to link a Google doc presentation into your blog

Some time ago a friend asked me on how to share a document made in Google Docs from his blog. Well I said I don't know. But as the nerd that I am, could not stop me from finding out.

So here it goes in 5 steps.
1. Create the document (this you may already conquer!!, one down and four to go). Sample is a presentation.
2. Change the privacy settings of your document to make it "Anyone with the link"
3. Go into the right corner to Share - Publish/embed
4. Click on Publish Presentation
5. Copy and paste the code into your blog.

If the instructions are too hard for you, take a look at the presentation bellow.

That is all, hope it helps.

Monday, December 5, 2011

Am I that stupid developer?

Everyday I read stories in the web about someone (a developer) who do something awesome. Some great app or hack that for me seems to be impossible to accomplish.
I spend a lot of time on developer sites, reading and coding. But still I am able to accomplish very little. So it is normal to ask myself "Am I that stupid or are they so smart?". Probably the answer is a little of both (which one is more left to be seen).
All this just to say, if you are a developer or want to be. Please do not think of yourself less than others because of what some guys in the web do. There are a lot of brilliant guys out there and in my experience a lot of those brilliant guys can help during our late nights smashing our heads about a null pointer exception or a script error. Keep on programming, hacking or whatever is that rocks your boat. Because be sure that I will continue as well as a lot of other nerds like us.
Enjoy programming and developing, help others when you can and share what ever you can!
Happy programming for all who reads this (if any).

Friday, November 25, 2011

Android 2.3.7 on HTC myTouch3G

After a lot of time I could compile the cyanogenmod 7 for my phone (HTC myTouch 3G). It may be buggy or slow, but as a true nerd I do not care. It is something that you do because you can. So I am happy now.
Oh.. just saying is not perfect but anyhow I'm happy.
The video is very slow because video is captured through the adb. When the phone disconnected to the screen capture software it is "faster".

My broken droid

For all of you that have tried to compile the Android source code and run into a LOT OF ERRORS. Somehow "fix it" then another arises, "fix again" and then another.... And of course most of the fixes are commenting a line or skipping building certain module.
After searching the Internet, there are a lot of people that runs in same problems that i do. Some shows success after a while others (like me) decided to join forces between the head and the keyboard to see what comes out of it. Most of the time this solution only produces a headache.
Anyhow in the name of all us nerds that have very old phones and just for the fun of it want to port the latest version of Android to it. Please make the source building process a little easier. I have no solution since I am no expert so do not know what can be done. But there are smart people out there that can make this better and easier.
If you are like me trying to build this yourself for your phone, go ahead continue trying. I believe there is a small chance of success and you can achieve it.
Finished this post, lets get back to my crusade and see what's comes out of it.

Thursday, November 17, 2011

Trouble downloading Android Source code

After a lot of time without being unable to sync any git repository, with a unable to get https helper error message. I encountered with a blog post that suggested to upgrade git. So look no more on the web, update and build from source your git. After retry, if problem is not fixed then start searching again on the web. Check out this link to upgrade your git I have Ubuntu and had the git from the Ubuntu repository (you know the one you get with apt-get) well forget about it. Go ahead get the version directly from source and build/install. It is better that way, at least in my case it fixed it all. Now I am a happy camper, trying to build android from source for my old phone, oh yes!

Tuesday, November 8, 2011

How to use a WebView and navigate inside it

As you may know Android provides the WebView control that allows you to show a web page inside your activity very nice. Just drag & drop from the "designer" into your Activity and that's it.
Ok, but after placing your WebView you notice that when you click in one link it opens the default web browser and bye bye your app.
Well to keep the navigation in your app. Check this snipped.

public class WebActivity extends Activity {
 public final static String URL = "URL";
 private WebView mWebClient;

 protected void onCreate(Bundle savedInstanceState) {

  mWebClient = (WebView)this.findViewById(;

  Bundle bundle = this.getIntent().getExtras();
  String url = bundle.getString(URL);
//Next line to make continue navigating inside our WebView
  mWebClient.setWebViewClient(new WebViewClient(){

   public boolean shouldOverrideUrlLoading(WebView view, String url) {
    return true;


To avoid loading the page in other activity just neeeeds to extends a WebViewClient, in here I just created an anonymous class cause I'm lazzy but you may extend in a formal class and do stuff like filter only your site trafic, and any other let the browser manage.

Saturday, October 29, 2011

QR URL - Mi primer Chrome Extension

Nuevo dia, nueva aplicación. Me pregunte, que hago? que quiero aprender? Hacia tiempo estaba curioso con las extensiones de Chrome. Pues dije: "Sabes que seria bueno, un boton al lado del URL que cuando le de vea un QR code de la dirección que tengo en pantalla". Que tal, luego de algunas busquedas atravez del todo sabio Google, me encontre con que esto no era algo complejo. Así que ni corto ni perezoso emprendí manos a la obra. Al cabo de un ratito ya funcionaba y sin mas ni menos lo publique en el WebStore de Chrome. La extensión se llama QR URL y puedes encontrarlo en el siguiente link:

Ahora para los blogueros curiosos como yo, aquí el como funciona.
En el web hay muchos tutoriales y ejempos de como se hace una extensión para Chrome y la complejidad depende mucho de cuanto quieres hacer. No tengo el conocimiento suficiente como para escribir un tutorial así que mejor lo dejo los que saben. Por ahora la meta es romper el hielo en esto de las extensiones de Chrome así que vamos poco a poco.
1. Boton en el lado de la barra con la direccion web de chrome que cuando le de con el boton muestre un QR code con la direccion de la pagina actual.

1. API publico para generar QR Codes disponible en
2. Cualquier editor de texto.

Una extensión de chrome cuenta al menos de un archivo, en este caso son tres. Todo va a depender de la funcionalidad y la organizacion que desees.
Listado de archivos:
1. Icon.png ==> Imagen de 19x19 que se ve en el browser)
2. manifest.json ==> Contiene la información básica de la extensión así como el nombre del archivo para usar como icono y el nombre del archivo html que se encarga de mostrar el QR Code.
2. popup.html ==> Codigo en html que lee la dirección web actual y muestra la imagen.

Para crear esta extensión crear archivo manifest.json con el siguiente contenido. Como puedes ver es solo una descripción, los permisos y el icono que muestra.

  "name": "QR URL",
  "version": "1.0",
  "description": "Show current web URL as a QRCode so you may scan with your mobile device.",
  "browser_action": {
    "default_icon": "icon.png",
    "popup": "popup.html"
  "permissions": [

Crear archivo de popup.html (puedes cambiar el nombre solo recuerda cambiar la referencia a en el manifest.json. Como puedes ver en este archivo es simplemente leer el URL que esta en la pagina actual, concatenarle el link del web API que genera la imagen y cambiar la fuentre de la imagen definida en el <body> para que apunte a la imagen del QR Code generado por el web API.
Es una pagina html cualquiera donde tiene al principio unos estilos definidos para body y img. Pudieran crear un style sheet para esto si desean pero como es tan simple por que hacerlo. Ademas tome la idea de uno de los ejemplos y lo tenia ahí así que se quedo ahí con un cambio mínimo.
En la parte de <script> es que esta la acción. la función chrome.tabs.getSelected es la que nos permite traer la dirección actual. El primer argumento se deja null ya que queremos la ventana actual y el segundo argumento es una función que se usa como callback donde en el parámetro nos llega el "tab" que esta actualmente activo. De este "tab" es de donde obtenemos la direccion llamando tab.url. Luego solamente concatenas la dirección del web API a este url y se materializa una imagen con el QRCode. 


body {




img {


  border:0px solid black;





  chrome.tabs.getSelected(null, function(tab) { 

    var myTabUrl = tab.url; 

    document.getElementById("qrImage").src = buildQRCode(myTabUrl);


function buildQRCode(linkURL) {

  return "" + linkURL;




<center><img src="" id="qrImage" />

QR code for Current web address</center>


Una extensión de Chrome bien simple pero cumple el propósito de experimentar algo nuevo. Espero que les sirva de alguna utilidad esta información y despierte su curiosidad.

Mas información sobre los API de chrome están disponibles aquí

Tuesday, October 18, 2011

Mi primer App

Una noche nueva y un programa nuevo. En esta ocasión se me presenta la oportunidad de colaborar con un 10K local (Maraton de Navidad de Camuy). Como todo un buen nerdito me dedico a utilizar la tecnología para "ayudar" a los corredores.

Ya que el mundo esta lleno de teléfonos Android pues que mejor manera que haciendo un Android App para la carrera.
Este app es llamado Marathon Pacer y simplemente calcula a que paso debes correr para llegar en el tiempo deseado a la meta. Este tiempo luego le puedes dar Share y compartirlo por email. Un app bien simple pero útil a la vez.
Ya el app esta puesta en el marketplace y la puedes bajar desde este link o desde el QR Code
Si interesas bajar el app apunta tu Android a este QR code y adelante.
Pronto el código estará disponible en
Cualquier comentario sobre el app o si desean un "how to" de alguna parte del App dejen un comentario.

Sunday, October 16, 2011

Upgrade Ubuntu to 11.something

Months ago (after an epic battle with windows 7) I decided to switched full force at home from Windows 7 to a Linux distro. Ubuntu became the weapon of choice and have no regrets.
Now, happy with Ubuntu 10 but version 11.something is out, so what the heck. Lets Updagrade!! Discovered a nice feature that it is posible to update Ubuntu from within the Update Manager. Lets give it a try!

Step one: Click Update Manager. It said that a new version of Ubuntu is available. All happy and curious could it be a full OS upgrade done with a mouse point and click? (like apple? or Android?). I live for risks like this, so lets click away and see what happen.
Well it seems to be going well, a few warning message about a lot that will be removed and so but nothing too critical to abort mission.
I can tell you that estimated time is really estimated time, it took a while more. During the upgrade process I cleaned the apartment floor, did laundry and watch one and a half movies on streaming. Yes the streaming may affected the download time, but who are you to judge.

Anyhow, after a blink of the eyes (3+ hours) this message showed up:
"Your system could be in an unusable state" WT#*#&!@@!!!@#@!!!!@#(& ... 
Ok deep breath and clicked Close. It kept doing something and and "Upgrade complete with errors" message showed up.

I decided to dismiss all warning messages an restart my PC (by using "sudo shotdown -h" because the menu option did nothing).
However for my surprice it rebooted into Ubuntu 11.something, so it seems that it really did the upgrade. A few wifi auto connect settings missing, but overall it seems to be running. I did reboot the machine three more times into Gnome and KDE to see what is new.

Now I switched from KDE back to the new Gnome since the upgrade may had change what I did not liked before. Now it might be time to end my love affair with KDE and switch forever to Gnome, time will tell.

Overall I grade this process a B+. The upgrade completed and I did not loose any data at all. I do recommend anyone with Ubuntu 10.something to try it. Could be better yes, but this is something that I never thought possible in my days of installing RedHat in a fast Pentium 75Mhz with blazing 16Mb of RAM.
Happy with my Ubuntu, and somehow sad at the same time. Some of the new Gnome features that I like might be copied out from Mac (since Apple had them forever). I am not a Mac fan but even I have to admit somethings they do really good.
So lets resume with my nerdy afternoon clicking away and searching for new "features" on the Ubuntu 11.something. See you!

Saturday, October 8, 2011

Quien fue Steve Jobs? Y por que la gente ha comentado tanto?

En estos días nos enteramos de la triste muerte de un señor conocido como Steve Jobs. Muchos no tienen idea de quien fue o que hizo y mucho menos por que tanta gente habla de el. Si eres usuario de un iPod, de un iPhone, iPad o una computadora Apple o MAC como quieras llamarle. Te puedo decir que este señor estuvo detrás de todos estos productos.

La historia dato por dato la pueden buscar en Wikipedia. Aquí les dejo como un nerdito lo ve.
Yo soy un nerdito (y con mucho orgullo), soy  developer mayormente en Windows el 90% del tiempo. Básicamente todas las versiones de Windows (XP - Win7, Server 2000-2008, CE, Mobile 2003-6.5).. en fin de todo. Ahora entrándome en el mundo de los teléfonos Android, a ver como va la cosa. En mi casa di el salto completo a Ubuntu (lo cual es un release de Linux). Como pueden notar Apple o Mac no están por ninguna parte y no es casualidad. No soy usuario de productos Apple y de hecho no me gusta la política de la compañía. A pesar de mi sentimiento de negación y repudio hacia Apple, tengo un completo respeto por sus productos y sus creadores.
Esta gente de Apple han logrado llevar productos (a diferencia de lo que muchos piensan) inferiores a los productos existentes en el mercado y de alguna manera capturan la atención y devoción de millones de personas.
Piensa que vas a hacer una inversión en sacar un producto (uno solo!) en un mercado donde han fallado muchos otros antes. Donde otras compañias grandes llevan intentando entrar y dominar sin éxito, con productos técnicamente buenos, de increíbles capacidades. De alguna manera el mercado (tú y yo) no le han dado el respaldo esperado. Y a pesar de esto, dices: "Muchachos vamos pa' lante con esto que va a pegar yo lo sé". "Guao" que tipo este, pues sí que lo fue. Llevo a una compañía en una dirección con un solo producto. Se las jugó todas en el mismo numerito, era todo o nada. Y saben que?, la pego y de que manera. Lo hizo grande el poder entender lo que las personas esperaban y revolucionar la manera de hacer tareas cotidianas simples. Tuvo cuidado que detalles minúsculos estuviesen bien antes de salir al mercado para asegurar la experiencia de sus clientes. Es el liderato , el pensar mas allá y el sentido común lo que lo caracterizó.
Puedes no ser nerdito ni te importan los productos Apple o el mercado en general. Pero todos podemos meditar en cuanta atención damos a los detalles en nuestras vidas. Son los detallitos los que nos llevan de algo bueno a algo grandioso. Detente por un momento y da gracias por lo que tienes. Si cuidamos de nosotros y a los nuestros vamos a obtener muchos éxitos en distintas áreas.

Gracias por su tiempo,

Tuesday, October 4, 2011

Fruit phone Conference today

Today was the fruit conference, where they said lets talk "ayfone".
I would not comment on the so call conference and ayfone anouncements because there was so much advertisement and so little product. So I'll wait for next year and then write something about it.

So lets wait to see on the new candy from google, and hope to see anything worth talking about.

Monday, October 3, 2011

Welcome Post

Proud to be nerd
Here is the Soynerdito Blog, empty for a while.
Soon to be added my new android app currently in design/development.
Also expect to see something about how to install the CM7 on a very old unsupported phone (like my HTC mytouch 3G). Follow on twitter and get the notification of the new posts.