Abr 01

Leer Twitter con PHP en tu web y sin usar la API

Embudo que lee twitter con PHP y extrae mensajes de twitterBuscando la forma de leer Twitter con PHP para una aplicación, me encontré que muchos códigos fuente en PHP no funcionan porque son para la versión antigua de Twitter, otros códigos fuente PHP son para la versión moderna pero te obligan a registrarte, sacarte una clave de identificación, etc, y era como matar moscas a cañonazos.

Así que seguí buscando y encontré que hay otros métodos mucho más sencillos, incluso demasiado sencillos, así que he investigado un poco y aquí saco el trabajo de mis investigaciones sobre como obtener datos de Twitter con PHP, por si a alguien le resulta útil.

Primero muestro el código paso a paso y al final del artículo dejo un enlace para descargar todo el código completo que captura mensajes (y otros datos) de Twitter con PHP.

Desactivar la caché con PHP

Para empezar, es altamente recomendable para este tipo de programas desactivar todo tipo de cachés, ya que en algunos navegadores mal configurados y sobretodo en dispositivos móviles, cuando se recarga la página, se visualiza la página web guardada en la caché del disco duro (o equivalente) y no se visualiza la del servidor web. Y por tanto, no se verían las nuevas publicaciones, siempre se verían las mismas.

Con el siguiente código en PHP, forzamos a que una página en PHP se cargue siempre desde el servidor y no de la caché:

Convirtiendo texto en “enlaces Twitter”

La siguiente función no es mía, la publico el usuario Walter en los comentarios de la web Css-tricks.com, y su misión es procesar un texto y convertir ciertas cadenas a enlaces Twitter. Por ejemplo si se encuentra “Me gusta la #tecnologia moderna” convierte la palabra “#tecnologia” en un enlace que al clicarlo, visualizas los últimos tweets relacionados con #tecnlogia.

Leer Twitter con PHP y obtener datos y mensajes de un usuario

Ahora pasamos al capturador de mensajes de un usuario (sólo de un usuario, no de otras cosas), que permitirá leer Twitter con PHP y obtener sus datos en tu propia web.

Al inicio tenemos la variable “$usuario” donde le asignaremos un nombre de usuario de Twitter, en este caso al usuario David Bravo del cual soy un fan suyo (aunque él no me conozca). Y en la variable “$numDeTweets” le asignamos cuantos mensajes queremos ver, en nuestro caso le ponemos un 5 porque queremos visualizar sus últimos 5 mensajes:

Como se puede ver en el anterior ejemplo, al final hay toda una serie de objetos que los he dejado como comentarios. En teoría deberían funcionar según la documentación oficial hasta el momento y según otras webs que hablan sobre el tema, pero en mis pruebas estos objetos devuelven siempre el valor en blanco. Por si a alguien le interesan, aquí las dejo.

Leer mensajes de cualquier cosa en Twitter, usando su buscador

Ahora haremos algo parecido a lo anterior pero con otro método. En lugar de leer o capturar los tweets de un usuario, vamos a extraer los datos de una búsqueda, ya sea una palabra o un hashtag o cualquier otra cosa que se haya publicado en Twitter.

El problema es que tan sólo se puede recuperar un número limitado de mensajes (sólo los últimos 15 tweets).

Igual que antes, algunas etiquetas no devuelven nada (cadena vacía) pero aquí las dejo por si lo necesitáis para algo.

Descargar el código fuente completo

Y ya para acabar, dejo aquí en un fichero todo el código completo para leer mensajes de Twitter con PHP, funcionando y comprobado, así os ahorro tiempo:

capturaTwitter.php

Por favor, si te son útiles estas rutinas o las perfeccionas, o descubres fallos, o encuentras más información sobre más objetos que se puedan extraer, publica un comentario. Gracias.

Feb 04

Cómo desinstalar el AVI Chunk Viewer (Solucionado)

¿Estas harto de una ventana que aparece cada vez que seleccionas un vídeo o le modificas su nombre? ¿por casualidad la ventana tocanarices tiene en la parte de arriba el título “AVI Chunk Viewer”?

Avi chunk viewer quitarPara eliminar esté programa tan pesado que nos informa de si hay errores o no en los vídeos es bastante sencillo. Generalmente el “AVI Chunk Viewer” se instala automáticamente con el K-Lite Codec Pack o similares.

A continuación explicamos para que sirve el AVI Chunk Viewer, hacemos un tutorial paso a paso con la versión oficial para desinstalar el dichoso programa y en caso que no funcione la versión oficial, explicamos la versión para quitar “a lo bestia” el AVI Chunk Viewer:

 

¿Para que sirve el AVI Chunk Viewer?

Se utiliza entre otras cosas, para partir los vídeos AVI (MPEG4, XviD, DivX, etc) en pequeños archivos AVI. Esto permite por ejemplo que si un vídeo está dañado, tu visor de películas (tu player) pueda saltarse las partes dañadas y visualizar las que estén correctas. Generalmente es utilizado por el programa Media Player Classic, pero si por ejemplo tienes el maravilloso visor de películas VLC, no te hace falta y lo puedes desinstalar sin problemas. También se integra dentro del Explorer del Windows (no del Internet Explorer, si no del Explorer, el proceso que se encarga del escritorio y que te permite navegar por las carpetas de tu disco duro).

 

Forma oficial de quitar el AVI Chunk Viewer

El recuadro del “AVI Chunk Viewer” proviene de un módulo integrado dentro del programa explorer.exe, llamado “AviSplitter.ax” cuyo nombre oficial es “Avi Splitter” y su creador es la compañía Gabest. No es ningún virus ni nada parecido, en teoría es una utilidad (muy pesada eso si) que proviene del “Media Player Classic” (es un programa para ver vídeos) y el código fuente tanto del “Media Player Classic” como del “AviSplitter.ax” es abierto para que cualquier programador que quiera revisarlo o mejorarlo, pueda descargarlo desde la web SourceForge.

El módulo “AviSplitter.ax” de 362 KB, se activa cuando se selecciona cierto tipo de fichero AVIs, especialmente si está dañado y es entonces cuando aparece el molesto cuadro “AVI Chunk Viever” que todos conocemos.

Los pasos a seguir para desinstalar el módulo son los siguientes:

  1. Ir a:
    Botón Inicio –> K-Lite Codec Pack –> Tools –> Codec Tweak Tool
    O si no lo encuentras por tener otra versión (antigua) de K-Lite busca en:
    Botón Inicio –> K-Lite Codec Pack –> Configuration –> CodecTweakToolPaso a paso para quitar Avi Chunk Viewer
  2. Si tienes una versión reciente del K-Lite Codec Pack, te aparecerá esta pantalla:
    Siquiete paso para quitar Avi Chunk Viewer
    Haz click en el botón “Manage DirectShow filters”.Si tienes una versión antigua de K-Lite Code Pack, no te aparecerá el recuadro (pasa directamente al punto 3).
  3. Casi al final (mueve la barra de scroll hacia abajo) verás un cuadradito blanco que al lado dice “AVI splitter (Gabest)” o “AVI splitter (Gabest) [avisplitter.ax]”. Haz clic en el cuadrado para que aparezca una “V” (tal como aparece en la siguiente imagen).Paso final para desinstalar Avi Chunk Viewer
    Esto no hay que hacerlo
  4. Haz clic en el botón que hay en la parte de abajo a la derecha dice “Apply & Close”.
  5. Reinicia el PC para que los cambios se hagan efectivos.

 

¡Y vualá! con esto, el 99’9% de veces ya no volverás a ver la pesada ventana del “AVI Chunk Viewer”.

 

 

Forma “a lo bestia” de quitar el AVI Chunk Viewer

Una vez se ha realizado la forma oficial de desinstalar el AVI Chunk Viever, en algunos poquísimos casos se resiste a desaparecer, u otras veces por diferentes motivos no es posible aplicar el método anterior. Así que explicamos otra forma de quitar el el AVI Chunk Viewer, que recomendamos que se haga SÓLO si el método anterior (el oficial) no funciona:

  1. Debes buscar la carpeta “C:\windows\system32\”
  2. Dentro de esa carpeta busca un archivo llamado “AVCDX.ax”. Si no lo encuentras, busca este otro “avisplitter.ax”. Y si sigues sin encontrarlo, busca cualquier archivo que comienza con “av” y finaliza con “.ax”. Cuando lo encuentres, renómbralo o bórralo (personalmente lo borro, pero si no te fías, ponle otro nombre tipo “loquesea.ax.BAK”).
  3. Busca con el buscador de fichero de Windows la cadena de texto “AviSplitter.ax” (sin las comillas) y cuando lo encuentres, bórralo. Generalmente, el módulo “AviSplitter.ax” se encuentra en la carpeta “C:\Archivos de programa\FreeTime\FormatFactory\FFModules\Filters\” o “C:\Program files\FreeTime\FormatFactory\FFModules\Filters\” (o similar). A veces en “C:\Windows\System32”
  4. Reinicia Windows.

Y esto es todo, espero que te haya sido útil esta información, desde Dr.PC te agradeceríamos que nos dejaras algún comentario para saber como te ha ido.

 

Sep 09

Disco duro nuevo, con transferencias de velocidad muy bajas (solucionado)

disco duro Caviar BlackEn los últimos tiempos han aparecido en el mercado unos discos duros nuevos de Seagate o de Western Digital tipo “Caviar Black”, “Caviar Green” o “Caviar Blue” (SATA de 32 MB o 64MB de cache), que tienen capacidades altas de almacenamiento de datos: 1 TB, 1,5 TB o 2 TB.

El problema de la velocidad baja

El problema de estos discos es que cuando se conectan al PC tienen velocidades muy bajas y el consumo de CPU se hace muy elevado, ralentizando todo el Windows hasta el punto que cuando se copian archivos de un disco al nuevo, va todo tan lento que es desesperante.

Los discos duros modernos transfieren datos a una velocidad de 60 MB/s o mucho más, pero cuando estos discos duros “modernos” van a una media de “1,5 MB/s” acaba con la paciencia de cualquiera, por ejemplo para copiar 100GB a otro disco duro, puede representar dejar el PC encendido toda la noche y parte del día siguiente (cuando son discos ultra modernos y muy rápidos).

Si se realizan pruebas simples, todas indican que no hay problemas. Por ejemplo escaneando la superficie del disco duro con la utilidad propia de Windows llamada “Comprobación de errores” o con software como “Tuneup Utilities”, se puede estar… ¡¡una semana comprobando el disco duro completo!!.

Si se realizan pruebas “más serias” como con el software llamado “HD Tune Pro”, aparecen todos los parámetros SMART (son datos técnicos internos del disco duro) como perfectos y que el disco está en perfecta salud.

Pero con “HD Tune Pro” se aprecia un fallo evidente, la velocidad es lentísima. Estos es el resultado de un disco Western Digital de 1,5 TB. Se puede ver como va muy lento con transferencias entre 1,4 y 1,7 MB/s:

Disco duro muy lentoAl parecer en China y Japón esto es un problema bastante común, quizás por fallos en la traducción que afectan al Windows o quién sabe. Si se busca en Google “WD 低速病” aparecen cientos de páginas hablando sobre el tema de los discos duros demasiado lentos.

Soluciones

Después de muchas pruebas, encontramos varias soluciones, de manera que si una solución no funciona, probad con las otras. A continuación podemos ver la imagen del disco duro reparado. A pesar del extraño error en la zona de los 25 GB, la velocidad del disco duro que hemos utilizado para realizar este artículo, se ha multiplicado por 100.

Disco duro despues de reparar

Solución 1.

Los pasos que hicimos son muy sencillos:

  • Si se puede configurar en tu BIOS, prueba con cambiar la configuración del disco duro a ACHI, esto fuerza a que se utilice la DMA para hacer transferencias de datos.
  • Si se puede configurar en tu BIOS, aumenta la temperatura mínima de alarma de tu disco duro. Por ejemplo si a partir de 40 grados se activa o desactiva algo, incrementa la temperatura a 50 grados.
  • Lo más importante y que casi siempre funciona:
  1. Clicar en el botón “Inicio”.
  2. Clicar en “Ejecutar”.
  3. Teclear “regedit” (sin las comillas).
  4. Buscar el registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\000x
  5. Los últimos cuatro dígitos, deberían ser 0000, 0001, 0002, 0003, 0004, ….
  6. Ir a cada una de estos registros y borrar todo lo que tenga estos valores: MasterIdDataChecksum SlaveIdDataChecksum
  7. Reiniciar el ordenador para que Windows pueda detectar de nuevo la configuración DMA.

 

Solución 2, por si falla la anterior.

Cambiar de puerto SATA. Para hacerlo hay que seguir los siguientes pasos:

  1. Apaga el PC.
  2. Abre el PC y busca el cable que conecta el disco duro SATA con la placa base (motherboard). Conecta el cable a otro conector de la placa base.
  3. Si fuese necesario, configurar la BIOS para que reconozca el disco duro.
  4. Enciende el PC.
  5. Te aparecerá el mensaje de detección de nuevo software y si todo ha ido bien verás el típico mensaje “Se ha instalado un nuevo hardware correctamente” o un mensaje similar. ¡Bien!

 

Solución 3, por si falla todo lo anterior.

Si todo lo anterior falla, se puede probar con el driver. Hay que forzar a Windows para que vuelva a instalar el driver del disco duro. Los pasos para el Windows XP son los siguientes:

  1. Botón Inicio, Panel de control, Herramientas administrativas, Servicios, Windows Seach, clic encima con el botón derecho, Parar, Propiedades, Desactivar.
  2. Botón Inicio, Todos los programas, Inicio, clic con el botón derecho encima de Inicio, borrar.
  3. Abrir cualquier carpeta, entrar en la carpeta “Mi PC” para ver los disco duros. Clic con botón derecho encima del disco duro y clicar en propiedades. Allí hacer clic para deseleccionar la opción “Permitir indexación…” (o similar).
  4. Clicar en Aceptar, seleccionar “Aplicar cambios a la carpeta y subcarpetas. SI aparecen mensajes de error hay que ignorarlos. Y esto es todo, este último proceso tarda mucho en algunos casos, hay que tener paciencia.

 

Bueno, esperamos que alguno de estos trucos os haya ayudado a solucionar el problema, gracias por vuestra atención.

Ago 11

¿Qué es un driver? ¿qué es firmware?

Te has preguntado ¿qué es un driver y que significa esta palabra? o quizás te has preguntado ¿qué es firmware? Este texto lo utilizaba con mis alumnos de 11 años cuando daba clases y por los exámenes deduzco que lo entendieron bastante bien. Espero que te sea tan útil como a ellos.

En la siguiente imagen tenemos un resumen de como un usuario que trabaja con un Sistema Operativo (Windows, Linux, Mac OSAndroid, etc) consigue que un ordenador o computadora, siga nuestras órdenes.

Qué es un driver o qué es firmware

Simplificando mucho:

Un Sistema Operativo es el “traductor” entre el usuario y la máquina. Explicado de manera simple, es un “programa especial” que se encarga de recibir las pulsaciones de las teclas o del ratón, y gestionar que se debe hacer. También se encarga que los programas (Word, juegos, Firefox, etc) funcionen correctamente, mostrando toda la actividad por la pantalla. De manera que traduce lo que pasa por dentro de los circuitos a un lenguaje visual que los humanos comprendemos, y al revés, traduce nuestros clics del teclado o del ratón, a un lenguaje que los circuitos de la máquina pueden entender, y así puede cumplir nuestros deseos.

Un driver es un programa que hace de “traductor” entre el Windows y el firmware. Por ejemplo si el Windows quiere imprimir, le envía los datos a un “programa especial” llamado “driver de la impresora”. Este programa traduce las órdenes al “idioma de la impresora” que tengamos, cada marca y modelo de impresora tiene su “propio idioma” y por eso necesitan un driver especial para ellas.

Es como si una impresora hablase chino y le pones un traductor que hable francés, ¿que pasaría? que no entendería nada, por eso el driver (el traductor) debe hablar exactamente en el mismo idioma que la impresora. También hay drivers para otras cosas, memorias USB, lectoras de tarjetas, pantallas, tarjetas de sonido, cualquier cacharro que se pueda conectar a una computadora, el sistema operativo necesita un driver que traduzca sus órdenes al idioma del aparato conectado.

Los drivers se cargan desde el disco duro cuando se inicia Windows y quedan disponibles en la memoria RAM del PC. Cuando se apaga el PC se borran, y se vuelven a cargar en el siguiente inicio de Windows.

El firmware es un programa metido dentro de un chip que hay en la mayoría de aparatos modernos, y es el “traductor” entre el “driver” y los circuitos electrónicos. El chip que guarda el programa firmware, es como la memoria USB, contiene datos que cuando se apaga el PC siguen estando en el chip y no se borran cuando apagas el PC o Mac o móvil o cualquier tipo de aparato con Sistema Operativo.

Por ejemplo en un disco duro, cuando el sistema operativo necesita cargar un archivo Word, primero le dice al driver que necesita el archivo word llamado “loquesea.doc”, el driver se lo traduce al firmware, y finalmente el firmware se encarga de enviar las señales eléctricas necesarias para que el cabezal del disco duro se mueva a una zona concreta del disco duro, lea los datos, y estos se envían por el camino inverso (de disco a firmware, de firmware a driver) para finalmente el sistema operativo recibe los datos del driver y pueda visualizar el archivo Word por la pantalla.

El firmware, se puede borrar y actualizar a una versión  más nueva (de la misma forma que podemos borrar y regrabar un archivo en un Pen Drive). A veces las nuevas versiones de firmware corrigen pequeños fallos y consiguen que se controle mejor las señales eléctricas que circulan por las tarjetas electrónicas y los chips. Aunque a veces empeora las cosas e incluso daña el aparato, por eso mejor que no actualices el firmware por tu cuenta, si no sabes bien lo que estás haciendo, ya que puede ser peligroso para tu aparato.

Y esto es todo. Si algo no queda claro, podéis escribir en los comentarios.

Ago 10

Cómo tener 2 o varios usuarios en un PC mediante escritorio remoto

Hay una forma bastante sencilla de tener un buen pc y que varios usuarios se conecten a ese PC y puedan trabajar todos a la vez. Por ejemplo en casa se puede tener una computadora bien equipada y varios ordenadores “flojos” que se conecten al ordenador “bueno”. Otro ejemplo sería una aula de una escuela, con computadoras viejas, que se conecten a una computadora nueva (llamado “servidor”).

Para ello el PC servidor tendrá que tener bastante disco duro, ser rápido y sobretodo que tenga mucha memoria (4 GB o más). El esquema básico es el siguiente:

En nuestro caso, tendremos un PC Servidor (Con Windows Seven) y 3 PCs  (con Windows XP) que trabajarán remotamente con escritorio remoto en el Servidor. Todo estará conectado por red (mediante el Switch). De esta manera no importa si el PC del Usuario1es un PC muy viejo y malo, la velocidad dependerá de lo bueno que sea el Servidor y los programas que utilice se ejecutarán en la memoria del Servidor.

 

Los pasos para conseguir tener 2 o varios usuarios en un PC mediante escritorio remoto son los siguientes:

1.- Ir al Servidor y crear las cuentas “Usuario1”, “Usuario2” y “Usuario3” (o las que sean necesarias). Esto se hace con el “Botón Inicio –> Panel de Control –> Cuentas de usuario y protección infantil –> Agregar o quitar cuentas de usuario”.

Como agregar cuentas de usuario en Windows Seven

2.- En el servidor, ir a Propiedades del Sistema y en la pestaña “Remoto”, hacer clic en el recuadro “Escritorio remoto”, activar la casilla “Permitir que los usuarios se conecten de manera remota a este equipo”.

Esto se hace clicando en:

Botón inicio –> Configuración –> Panel de control –> Sistema y seguridad –> Sistema –> (1) Configuración avanzada del sistema –> (2) pestaña “Acceso remoto” –> (3) Activar la casilla “Permitir conexiones de Asistencia remota a este equipo” –> (4) Seleccionar la opción “Permitir las conexiones desde equipos que ejecuten cualquier versión de Escritorio remoto (menos seguro)”.

Activar acceso remoto mediante asistencia remota en Windows Seven

3.- En el mismo sitio que el paso 2, clicar el botón “Seleccionar usuarios remotos” y seleccionar a los usuarios “Usuario1”, “Usuario2” y “Usuario3”. Ahora darle al botón “Aceptar” y luego otra vez “Aceptar”.

4.- Ahora en los PC clientes clicar lo siguiente: (1) Botón Inicio –> (2) Programas–> (3) Accesorios –> (4) Conexión a escritorio remoto.

Conexion a escritorio remoto

5.- Si no se puede conectar al servidor utilizando las opciones: “(1) Equipo: –> Examinar más”, conectarse directamente mediante la IP del Servidor escribiendo por ejemplo “192.168.1.3” o “\\192.168.1.3\” (sin comillas) o una IP similar.

Conectarse a escritorio remoto con Windows XP

En la casilla (1) es donde se tiene que escribir la IP del servidor, con el botón “Opciones” (2), es posible configurar cosas más avanzadas, por ejemplo que se pueda conectar automáticamente al servidor, sin preguntar el nombre de usuario, ni la clave de acceso.

6.- Hay un problema, por defecto Windows Seven no deja conectarse a varios usuarios a la vez. Para solucionarlo los genios de deepxw.blogspot.com.es han programado un software que arregla fácilmente el problema:

  • Ir a vuestro PC Servidor y descargar este programa:  Universal Termsrv.dll patch.
  • Simplemente hay que descargar el programa, si se tiene un Windows de 32 bits ejecutar el programa “UniversalTermsrvPatch-x86.exe”. O si se tiene instalado un Windows de 64 bits ejecutar “UniversalTermsrvPatch-x64.exe”. Una vez se ha ejecutado el programa correspondiente, hacer clic en el botón “Patch”. Finalmente reiniciar el PC.

imagen del software Universal Termsrv.dll Patch

 

 

Entradas más antiguas «

» Entradas más recientes