jueves, 31 de octubre de 2013

PHP Webpage Capture

I always do some new research for capturing a snapshot of a webpage.
As always, I can find plenty of sites offering this service in exchange of a monthly payment... And today I found something new: A free site!

http://screen.microweber.com/shot.php?url=http://www.yahoo.com

Works really good and fast!

Well, it's not that you can use this server for free. This is obviously an experiment or a private use that I just discovered accidentally.

The good news is that this is based on a free library you can download and install in your server (sorry for those like Godaddy, don't have access to install specific applications. You should use your own computer as an Internet Server)

https://github.com/microweber/screen

Microweber (Usage)

  • Upload to your webserver
  • Make the bin executable chmod +x /var/www/html/screen/bin/phantomjs
  • Make your folder writable
  • Open your browser to index.php

API

You can directly render the taken screen-shot with the shot.php file
You can render any link as image by passing it as url parameter
shot.php?url=google.com
You can specify height and width: shot.php?url=google.com&w=300&h=100
If you want to crop/clip the screen shot, you can do so like this:shot.php?url=google.com&w=800&h=600&clipw=800&cliph=600

Demo

You can also set width and height, for example if you want to test how a page looks on small resolution.http://screen.microweber.com/shot.php?url=m.facebook.com&w=300&h=100

Dependencies

  • FontConfig must be installed - apt-get/yum install fontconfig
  • FreeType is also required - apt-get/yum install freetype*

PahntomJS
Is a library which runs an EXE file (for Windows. If you have Linux or MAc you can download the correspondant file)

Github download: https://github.com/microweber/screen

Cons:
1) If you don't define a background color, it will render it with black.
2) You need to run a program.

miércoles, 30 de octubre de 2013

jueves, 24 de octubre de 2013

Parsing URLs with the DOM! – James Padolsey

// This function creates a new anchor element and uses location
// properties (inherent) to get the desired URL data. Some String
// operations are used (to normalize results across browsers).
 
function parseURL(url) {
    var a =  document.createElement('a');
    a.href = url;
    return {
        source: url,
        protocol: a.protocol.replace(':',''),
        host: a.hostname,
        port: a.port,
        query: a.search,
        params: (function(){
            var ret = {},
                seg = a.search.replace(/^\?/,'').split('&'),
                len = seg.length, i = 0, s;
            for (;i<len;i++) {
                if (!seg[i]) { continue; }
                s = seg[i].split('=');
                ret[s[0]] = s[1];
            }
            return ret;
        })(),
        file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
        hash: a.hash.replace('#',''),
        path: a.pathname.replace(/^([^\/])/,'/$1'),
        relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1],
        segments: a.pathname.replace(/^\//,'').split('/')
    };
}

Usage

var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
 
myURL.file;     // = 'index.html'
myURL.hash;     // = 'top'
myURL.host;     // = 'abc.com'
myURL.query;    // = '?id=255&m=hello'
myURL.params;   // = Object = { id: 255, m: hello }
myURL.path;     // = '/dir/index.html'
myURL.segments; // = Array = ['dir', 'index.html']
myURL.port;     // = '8080'
myURL.protocol; // = 'http'
myURL.source;   // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

Parsing URLs with the DOM! – James Padolsey

domingo, 20 de octubre de 2013

Webnode lanza plantillas gratis para crear sitios móviles

webnode.com dispone de una colección de plantillas gratis que nos permiten ahora crear sitios web para este tipo de dispositivo.
webnode
Son plantillas gratis para la versión móvil de sus páginas web y blogs creadas para que las pequeñas y medianas empresas puedan aprovechar las nuevas oportunidades que ofrece el mercado. Nos comentan que más de la mitad de la población en España dispone ya de un teléfono con acceso internet, en México ya lo tienen 4 de cada diez personas (el doble que en 2012) y casi un tercio de la población argentina, números que muestran la importancia de invertir en esta plataforma, principalmente teniendo en cuenta la tendencia creciente de comprar productos o contactar con empresas usando el móvil.
Las nuevas plantillas tienen un menú optimizado para agilizar el acceso a la información dentro de la página e integran widgets de mapas de Google, vídeos y formularios. También se han preocupado en posicionar correctamente la publicidad, así como en alterar el tamaño de los componentes de forma inteligente.
Podemos también configurar la plantilla para facilitar el reconocimiento de números de teléfono y correos electrónicos:
Con solo tocar con el dedo sobre una de las formas de contacto, los teléfonos preguntarán a los usuarios si desean llamar o bien contactar por correo electrónico, agilizando así los procesos de contacto.
Webnode anunció en mayo que ya tenían 10 millones de usuarios. 6 meses más tarde nos comentan que el número ha llegado a los 15 millones, usuarios que ya consiguen crear sitios web desde la plataforma sin necesidad de tener conocimientos de programación, compitiendo directamente con soluciones como Wix.com.
Webnode lanza plantillas gratis para crear sitios móviles

D-Link router flaw lets anyone login through “Joel’s Backdoor”

If you have a D-LINK router and browse to any page on the administration interface with your browser's User Agent (UA) string set to a peculiar, hard-wired value, the router doesn't bother to ask for a password.
→ Browsers send a User Agent string in the headers of every HTTP request. This is a handy, if clumsy, way to help web servers cater to the programmatic peccadillos of each browser.
Let's be perfectly clear what this means: these routers have a hardwired master key that lets anyone in through an unsupervised back door.
"What is this string," I hear you ask?
You will laugh: it is xmlset_roodkcableoj28840ybtide.
Geddit?
Ignore the xmlset, which probably just means "Configure Extensible Markup Language (XML) setting."
Flip round the part after the underscore, in reversible-rock-music style, to get the hidden message:
Edit by 04882 Joel: Backdoor.
Can you believe it?
If you tell your browser to identify itself as Joel's backdoor, instead of (say) asMozilla/5.0 AppleWebKit/536.30.1 Version/6.0.5, you're in without authentication.
Fortunately, the administration interface isn't accessible from the internet-facing port of these routers by default, which limits the exploitablity of this vulnerability.
(If you have one of these models, check right now that you can't access the management interface directly from the outside!)


viernes, 18 de octubre de 2013

A Upnp Renderer in your Desktop

I'm working with UPnP and Android right now and I have my XBOX to make some tests. But if you want to test in your own Desktop (or Laptop), then my advice is to install this soft.

Works more than great and it's low memory consumer. I tried others more popular apps but they have more steps to set-up and they have extra stuff that I don't need.

Website: http://xbmc.org/about/

jueves, 17 de octubre de 2013

There's another great company

Maybe you don't want to change your current Web Browser but what about your Email Client?

I started to work with Opera Mail (free) and let me tell you it's great.

Microsoft's Outlook is a paid product but, if you already buyed it and even so don't like it, it's a good time for testing something new.

Also for Thunderbird users. I am myself an old Thunderbird fan but Opera Mail goes way beyond. I changed as soon as I saw what this software can give me.

The best feature is how you can organize your emails as real conversations. You have a specified identifier for what email was responded and all is well shown using a couple of colors.

You also have multiple pre-defined filters, define your own flags for filtering your messages and much, much more.

Importing from Thunderbird is as easy as selecting one single file.

If you have Windows or Macx, you should give it a chance, you won't regret it (well, maybe yes, I can not be sure of course)


I'm not a number one fan, I just think that Opera is a company with great ideas and they do really good apps. I'd like to see Opera as a more popular company that they already are. 

UPDATE: if you have an account hosted in Godaddy, then I let you here how I have configured my account to be able to send messages:

Account type: POP
Incoming: pop.secureserver.net
Port number: 110 (not secure)
Authentication: Plaintext
Username: (your full email address)

Outgoing: smtpout.secureserver.net
Port number: 465 (not secure)
Authentication: AUTH PLAIN
Username: (your full email address)


sábado, 12 de octubre de 2013

Sobre Google y su falo en GTalk

La semana pasada (Octubre/2013) se reportó uun fallo en Google Talk que permitía que otros usuarios vean tus mensajes.

Y en Genbeta salió una nota donde se preguntaba si la reputación lo puede todo, ya que otra empresa hubiese prácticamente cerrado luego de algo como esto pero que a Google se le perdonaba.

Ahora bien, no creo en el fanatismo hacia personas, objetos, seres vivos general o hacia movimientos comenzados por agrupaciones de personas. Y para poder sobrevivir al fanatismo lo que hago es poner en la balanza lo malo y lo bueno que me resulta algo. Si predomina lo bueno, entonces sigo, sino busco un cambio.


Y el armado de esa balanza me hace volver en el tiempo. A 1985. Y recuerdo por ejemplo a Mirosoft que desde que son una empresa nos han vendido TODO lo que han sacado. Al igual que Apple, Blackberry e IBM. Pero apareció una empresa que nos empezó a regalar mucho, como por ejemplo 1GB de espacio en Gmail y POP gratis (hoy dia Yahoo sigue cobrando por acceso POP si mal no recuerdo)

Y entonces fue ahí cuando Microsoft empezó a tener algunos de sus productos en versiones "Express" que todos disfrutan gratuitamente hoy día. BlackBerry por seguir en su plan terminó fundida. Llegaron demasiado tarde a la onda de regalar sus productos y servicios. Inclusive su software estrella que vendían como a 5 mil dólares lo sacaron en versión Express. Pronostico que a Apple le va a pasar algo parecido desde la muerte del único creativo que tenían.

Asi que pongo en mi balanza cosas buenas y malas de Google y se inclina todavía para el lado de "seguir usándolos". Puedo permitirles a Google algo asi, por tanto que me ha dado (directa e indiréctamente) más que nada sabiendo que al menos para mi, Google Talk es gratis y, como dice el refrán: "a caballo regalado..."

miércoles, 9 de octubre de 2013

Buscadores (Recruiters) de Desarrolladores

Haber sido uno de los perfiles más visitados de LinkedIn del año 2012 tiene sus consecuencias: Los recruiters no paran de invitarme a enviar mi CV para trabajar en la empresa de su cliente.

También me contactan empresas directamente para trabajar con ellos. No solamente recruiters. Pero hoy quiero hablar de los recruiters...

Yo a mi edad -y después de haber juntado una cantidad de experiencia en mi vida profesional- me siento cómodo trabajando con y donde quiero. Ya no es necesario para mi soportar determinadas actitudes de personas o compañeros de trabajo que prefiero tener bien lejos. Eso me costó mucho aprendizaje por la vía dura. No me arrepiento, ya que formó lo que soy hoy.

Ahora bien, a los recruiters les pregunto: Si ustedes me llaman es porque ven lo que hago y creen que soy capaz, cierto? Entonces por qué insisten en meterme en el proceso de selección donde tengo que enviar mi CV y las entrevistas y bla bla bla? No me llames si no me crees capaz. O siéntete un poco más seguro antes de invitarme porque evidentemente no puedes convencer a tu cliente de que tu desición es al menos 50% fiable de que yo voy a ser un buen candidato.

Y ahora les pregunto a las empresas que contratan recruiters: Confían realmente en las empresas contratantes con las que se asocian? Yo creo que no, porque sino no veo el motivo para meter a cada candidato que te mandan, en estos procesos de selección. Significa que aceptas que cualquier empresa recruiter que te envía un email ofreciendo sus servicios es buena para ti pero no confías en ninguna y por eso todos los aplicantes tienen que someterse al tedioso proceso de selección.

Sepan que el proceso de selección que todos usan consume tiempo. Tiempo que es dinero. Muchos aprovechan la hora del almuerzo para ir a hacer entrevistas. Otros mienten a sus jefes diciéndoles que necesitan un día porque se enfermaron y demás cosas que cada uno sabrá.

Y todo para qué? Para que te tomen un examen donde tienes que decir "qué harías si te reducen al tamaño de una moneda y te meten en una licuadora?" o por ejempo "escribe en un papel un algoritmo que enumere números primos" (tomar estos últimos como una ironía a los estúpidos supuestas pruebas de habilidad de código y capacidad de solución de problemas) Y pongo este ejemplo porque me ha tocado estar en la mesa organizadora de estos exámenes y me he encontrado con gente que quería hacer estas cosas para que el aplicante demuestre su ingenio. A mi forma de ver, es una estupidez y lo único que quiere esta gente es que nadie pase el examen porque no creen que alguien es tan bueno como ellos lo son. Pero bueno, esa es otra historia.

También he estado con estas personas "expertas" y encargadas de tomar examen, que han rechazado a candidatos por el solo hecho de no ser de la misma nacionalidad que ellos... Tan ridículo como patético.

Y si el aplicante no pasa la prueba? Todo ese tiempo y riesgo que pasó, quién se lo paga?

A los aplicantes les pido: 

Si eres uno de esos que les gusta mentir en su CV y hablar sobre cosas que no sabes, te invito a que cierres esta ventana y no regreses nunca más a este blog. No eres bienvenido.

Pero si eres una de esas personas que les gusta aprender y practicar mucho, entonces trata en lo posible que no te pasen por encima. Pide un pago a cambio de estos exámenes o pide que te contraten por un mes de trabajo a prueba. Si estás seguro de lo que sabes y de lo que estás dispuesto a aprender, no vas a tener ningún problema, porque una actitud positiva y un comportamiento calmado para enfrentar problemas se perciben y son muy aceptadas.

lunes, 7 de octubre de 2013

Differences and Dictators

Microsoft is and it will be always the same, as long as they have the same mentality as CEO and/or product manager. Why? Because they are like the US Goverment: Dictators. And dictators take desitions for you, without any option for you to choose.

I give you an example so you can understand why I'm saying this: I'm using Windows 8 on my computer and I want to install Skype. They sent me to the Windows App Store to install it from there: I said OK because I wanted to try installing something from there. Ok, I clicked on the button for downloading and installing and they said "Can not install because your internet connection is slow. Try again later"

What?? I went in that very same moment to the regular download link (outside the market) and I could complete my task normally.

This is crazy. I could install it from one place and not the other... If they change that prohibition from "install later" to "want to try again?", their market could have more downloads or a better experience.

It's all about the way you think as a company and people. For all my products, I try to give users the path to follow but you will always have a second path for more advanced users. And that's something Microsoft (and other companies like BlackBerry and Apple) don't have.