blog de jali
Afinador/Reproductor de instrumentos en java
Posted Abril 27th, 2010 by jaliEste programa fue desrrollado debido a que comenzaron a monitorear la red de mi chamba y pues nos regañan si estamos navegando en sitios "sin fines productivos" y ya que algunas veces traigo mi guitarra a la oficina... pues aqui tenia un afinador online.
Pues ahora lo tengo en mi propia maquina.
Aqui dejo el codigo que utilice para reproducir sonidos con Java.
La variable listaNotas tiene la afinacion estandar(los numeros para afinar se peuden ver aqui
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package sound;
import java.util.Scanner;
import javax.sound.midi.Instrument;
import javax.sound.midi.MidiChannel;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.Patch;
import javax.sound.midi.Soundbank;
import javax.sound.midi.Synthesizer;
/**
*
* @author ACASARRU
*/
public class SonidoTest {
private void pintaMenu() {
imprimeInstrumentos();
}
Synthesizer sintetizador;
MidiChannel canales;
Soundbank bancoSonidos;
Instrument listaInstrumentos[];
Patch patch;
int[] listaNotas;
Mensajería en las aplicaciones(Parte 2)
Posted Abril 23rd, 2010 by jali Primer entrega aquí
Modelos de envío en JMS
La diferencia entre un Topic y una Queue es que en el caso de de los Topic todos sus subscriptores reciben el mismo mensajes cuando el mensaje es publicado y en el caso de las Queue es que solo un receptor recibe el mensaje cuando este es depositado en la cola.
Diagramas
Topic:
Este término es utilizado para enviar mensajes de uno a varios destinatarios (sistemas) y utiliza el modelo publish-subscribe

Queue:
Este termino es utilizado cuando se planea que el mensaje sea enviado únicamente a un receptor cuando un “Sender” envía un mensaje a la cola.

Casos prácticos
Ahora definiré un par de casos prácticos donde se utilizan este tipo de modelos.
Topic:
Mensajería en las aplicaciones(Parte 1)
Posted Abril 15th, 2010 by jaliComo trabaja un sistema de mensajería?
Para comprender esto tomemos por ejemplo un envío de juguetes DHL
1) Santa lleva 100 juguetes a la paquetería DHL en el polo norte, estos serán enviados niños diferentes.
2) Entrega los paquetes al reno encargado y le declara una prioridad de envío.
3) El reno (para evitar confusiones, lo llamaremos Fecal)toma los juguetes y le da una nota con su guía mientras su compañera Foxy coloca los datos de entrega en cada uno de estos.
4) El camión llega por los paquetes y los lleva al aeropuerto.
5) En el punto de entrega del aeropuerto, los paquetes son separados por País. En este caso se toman los paquetes enviados a Mongolia.
6) Los paquetes son enviados y al llegar a Mongolia son separados por prioridad. Esto es para saber que paquetes se entregan primero.
Para este punto pongamos un ejemplo:
multiprocesadores con ExecutorService
Posted Octubre 29th, 2009 by jaliQue onda chavos, como estan? espero que bien...
Haciendo el analisis de una aplicacion me encontre con una duda un poco rara y puede que este divagando demasiado, pero se me hizo interesante.
Voy a tener N colas con activeMQ. Esto implica que tengo los listeners para atender cada mensaje que me llegue. Cada listener tiene que abrir un thread(los cuales tengo pensado manejarlos con el ExecutorService) y este realizar debe realizar su chamba.
El problema es este...
Se tendran N servidores con M procesadores cada uno.
Es Logico que debo tener un Listener en cada servidor( se me ocurre dejar que cada uno escuche una cola diferente)
Ahora... Cada listener debe estar escuchando y cada que llegue un mensaje lanzar un hilo que sera despachado por el ExecutorService
Pregunta 1)
Si el ExecutorService se lanza en un procesador... este puede decir que se utilicen los N procesadores restantes del server para asi balancear la carga de chamba??
Pregunta 2)
Si no lo hace... acaso debo manejar el manejo de concurrencia como se indica aquí
LiveMesh
Posted Julio 29th, 2009 by jaliWow, debo admitir que esta propuesta de microsoft es bastante interesante.
Es principalmente para compartir contenido digital.
***
En Live Mesh, cuando una carpeta es puesta en sincronización, esta se copia a todos los dispositivos que tienen habilitado Mesh, y todos los cambios que se hagan en esa carpeta o en los archivos que contiene serán reflejados en los dispositivos sincronizados. LiveMesh usa FeedSync para transmitir los cambios hechos en cada dispositivo para que estos puedan ser sincronizados.
***
Wikipedia
Les dejo la liga para que le echen un lente
https://www.mesh.com/welcome/default.aspx
Saludos
Lista Twitter
Posted Junio 16th, 2009 by jaliQue hongos alucinogenos
Ps aqui podemos ir haciendo la lista de twitters, y ps nos vamos haciendo de seguidores jajaja.
el mio es
@jaliSkellington
Saludos
Acelerando una peticion Http por UrlConnection
Posted Junio 14th, 2009 by jaliHola!
Estoy desarrollando una aplicacion que necesita hacer peticiones Http mediante post en una clase.
Ahora... yo (me imagino, mas ahora me doy cuenta que es lo contrario; al menos en mi caso) que leer linea por linea la respuesta de un UrlConnection es mas lento que leer un buffer... Haciendo pruebas, me dicuenta de lo contrario.
Mis metodos son:
Leyendo del buffer:
URL url = new URL(pUrl);
long ini = new Date().getTime();
long fin = 0;
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, "time: " + ini);
URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(
urlConnection.getOutputStream());
out.write(params);
out.flush();
final InputStream is = urlConnection.getInputStream();
final Reader reader = new InputStreamReader(is);
final char[] buf = new char[16384];
int read;
final StringBuffer sb = new StringBuffer();
excelente web para prepararse
Posted Mayo 12th, 2009 by jali
Que ondas!
Pues esta es una comunidad que me parece bastante interesante, la habia checado hace algunos meses pero no la recordaba hasta que revise una cuenta de email vieja jajaja.
Pero bueno, este es el sitio.
http://www.javablackbelt.com/Home.wwa
Hay examenes de Hibernate, java5, spring y cosas asi de locos como uds. xD
Saludos
Las mejores 50 webs??
Posted Febrero 3rd, 2009 by jaliHola!
Pues se dio a conocer una lista con las 50 websites mas chidas. A mi la verdad me encanta esto del diseño y pues los sitios estan muuuuuuuuy chidos.
Je, espero les gusten. Para ver la lista click en este
link
Aspectos a tomar en cuenta para JSTL en Websphere
Posted Enero 27th, 2009 by jaliHola!
Pues me gustaria comentar que el websphere tiene cosas raras en el manejo de jstl.
De entrada..
En un c:when EXPR > 0 (donde EXPR = fn:length ) no podemos utilizar el fn:length... no la reconoce
tenemos que declarar una variable con el valor del length
Para recorrer una lista no podemos utilizar el status.count, se tiene que utlilizar el status.index.
Al menos esto en la version 6.0.1
para poder manejar correctamente el JSTL tengan al dia su WAS :P <$#$%$ WAS>
Saludos...


Comentarios recientes
hace 20 mins 56 segs
hace 59 mins 22 segs
hace 1 hora 17 mins
hace 1 hora 31 mins
hace 1 hora 32 mins
hace 3 horas 2 mins
hace 6 horas 36 mins
hace 6 horas 41 mins
hace 7 horas 9 mins
hace 8 horas 11 mins