Identifícate...

...o regístrate

codeando.net

vie, 31 oct 2008 - Archivado en Libs

Mi primer blog!!!! Y no se me ocurre nada mejor que hablar de tecnología... dos errores en uno. Bueno, espero estar a la altura y si se puede no aburrir mucho.

Esta sección que creo y estreno pretende ser un tributo a todas aquellas librerias que voy usando en el día a día y que merecen mi gratitud y agradecimiento.

Como en estas fechas estoy metido en VoIP y flirteando con el procesamiento de audio digital empezare con algunas de estas librerias.

Algunas de ellas...

clam: http://www.clam.iua.upf.edu/ Brutal, procesamiento digital de audio, todo tipo de operadores, intrumentación, análisis, codificación, en realidad de este frame work poco voy a decir, se me queda grande por todos lados, pero desde luego puede servir a cualquier navegante que caiga por estos lares.

 

Screenshut clam
 

libsamplerate Estupenda libreria para modificar samples rates, como transformo una señal pcm de 44100Hz a 48000?? aqui tienes la solución, aunque siempre tienes la posibilidad de hacer tu las interpolaciones etc, el tiempo que te ahorrara sera importante. Muy recomendada.

 

pjsip El otro dia tenia una necesidad imperiosa de hacer de escribir en un fichero mp3 las conversaciones de una extension VoIP, era una cuestion de vida o muerte, lo tenia clarisimo, solo tenia que hacer un parser de SIP, meter el protocolo SDP y finalmente con un poco de imaginación hacer mi propia implementación de RPT, obiamente una misión facilisima pero en mi tesitura de vida o muerte se me antojaba que el destino final iba a ser la muerte. Para ventura de mis familiares y amigos me tope con esta librería, o framework, o aplicacion completa,pjlib, pjsua, pjsip pj-nat. Entre todas ellas te dan todo lo necesario para crear tu propia implementación de VoIP con SIP, pero no solo se queda ahi, el conjunto de librerias incluyen librerias de Media con abscracción de hardware, puedes realizar tu implementación casi en cualquier cosa, amd, i386, windows, linux, S60!!! si, symbian. flipo. Gracias! gracias, gracias. Sus cualidades son tan grandes que posiblemente me quedo corto, descubre sus prestaciones tu mismo

 

Sox, lame (liblame0), mpg123, asterisk, ekiga,  uff mañana mas. He utilizado tantas que ni me acuerdo, por lo que me propongo en este momento escribir una reseña cada vez que use una libreria de software libre.

Por mquinteiro. Han entrado 4857 veces.  Comentarios
mar, 28 oct 2008 - Archivado en Javascript y Tutoriales

En el primer artículo técnico de codeando.net vamos a explicar como hemos implementado en el motor de este blog un sistema de "tags" o "etiquetas", utilizando un "autocomplete" (en este caso un plugin para jQuery).

El primer paso es incluir los ficheros necesarios para la librería y el plugin:

  1. <link rel="stylesheet" type="text/css" href="/javascript/jquery/plugins/jquery-autocomplete/jquery.autocomplete.css" />
  2. <script type="text/javascript" src="/javascript/jquery.js"></script>
  3. <script type="text/javascript" src="/javascript/jquery/plugins/jquery-autocomplete/lib/jquery.bgiframe.min.js"></script>
  4. <script type="text/javascript" src="/javascript/jquery/plugins/jquery-autocomplete/jquery.autocomplete.pack.js"></script>

Ahora inicializaremos el plugin para el campo deseado:

  1. $().ready(function(){
  2. $("#tags").autocomplete('gettags.php', { multiple: true, autoFill: true, selectFirst: true, formatItem: formatItem, formatResult: formatResult } );
  3. });
  4. function formatItem(row) {
  5. return row[0] + " (" + row[1] + ")";
  6. }
  7. function formatResult(row) {
  8. return row[0];
  9. }

Pasemos ahora a explicar las opciones que definimos en el segundo parámetro que pasamos a la función autocomplete:

  • multiple: true
    Permite que la función sea llamada múltiples veces en un mismo campo, utilizando un separador, que por defecto es ", ".
  • autoFill: true
    Completa la palabra con texto resaltado, de manera que si pulsamos intro o tabulador se inserta el tag automáticamente.
  • selectFirst: true
    Automáticamente selecciona el primer elemento de la lista al pulsar intro o tabulador, aunque no haya ninguno seleccionado.
  • formatItem: formatItem
    Llama a la función especificada (en este caso "formatItem") en la que se puede manipular el texto visible en el desplegable del autoselect.
  • formatResult: formatResult
    Como el anterior, pero aplicable al valor de la opción.

Con esto queda hecha la parte del cliente, ahora pasemos al lado del servidor: el fichero gettags.php. Este fichero está recibiendo los caracteres tecleados por el usuario en el parámetro GET "q", que utilizaremos para realizar una consulta a la base de datos y devolver el resultado:

  1. $db = mysql_connect( 'localhost', 'user', 'password' );
  2. mysql_select_db( 'my_db', $db );
  3. $result = mysql_query( 'SELECT tag, COUNT(tag) FROM tags WHERE tag LIKE "' . $_GET['q'] . '%" GROUP BY tag ORDER BY tag', $db );
  4. while ($row = mysql_fetch_row( $result )) {
  5. echo $row[0], "|", $row[1], "\n";
  6. }

Y ya sólo queda mostraros el resultado final:

Ver demostración

Por Jose. Han entrado 11695 veces. Hay 6 comentarios       
jue, 23 oct 2008 - Archivado en Otros

Hola a todos y bienvenidos a este humilde espacio donde intentaremos ir publicando artículos sobre programación para la web, la llamada Web 2.0, tecnologías de la información y otros temas que ya irán saliendo... Desde codeando.net esperamos poder ofreceros contenidos interesantes, generar discusiones y ¿porqué no? aprender también de vuestras aportaciones.

Un saludo y nos vemos en el siguiente post.

Por Jose. Han entrado 4874 veces.  Comentarios