Archivo

Archivo para julio, 2009

Tweets del 2009-07-31

Viernes, 31 de julio de 2009

java , ,

Tweets del 2009-07-30

Jueves, 30 de julio de 2009
  • Catching up with lots of old comments on my blog. Sorry guys :) #
  • Reviewing a book for O’Reilly. Will post my findings soon on the blog, stay tunned :) #

java , ,

Tweets del 2009-07-30

Jueves, 30 de julio de 2009
  • Catching up with lots of old comments on my blog. Sorry guys :) #
  • Reviewing a book for O’Reilly. Will post my findings soon on the blog, stay tunned :) #

java , ,

Tweets del 2009-07-26

Domingo, 26 de julio de 2009
  • Found a nasty bug in StupidZombie. Time to delay some new features in favor of a good GUI. #

java , ,

Tweets del 2009-07-25

Sábado, 25 de julio de 2009

java , ,

Tweets del 2009-07-24

Viernes, 24 de julio de 2009
  • Servlet integration with StupidZombie still on early stages. Requires more testing. Oh well… #

java , ,

Tweets del 2009-07-22

Miércoles, 22 de julio de 2009
  • Wathing #ccalive #
  • #oscon Trolls crying because someone said java is cool. LOL. #

java , ,

Localización en Java (III): El caso de StupidZombie y JFileChooser

Lunes, 20 de julio de 2009

Bueno, resulta que otro desarollador de Argentina se topó con mi problema (del cual hablé en un articulo) de hace más de un mes en el foro de Sun y logró buscar el resto de las etiquetas para hacer que JFileChooser funcione en otro idioma (ya saben, el problema de localización):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Jose V Nunez Z,
 
You are watching the thread "Localization problems for JFileChooser in OSX", which was updated on Jul 19, 2009 9:34:41 PM by arg_slo:
 
<http ://forums.sun.com/thread.jspa?threadID=5393267>
 
For your convenience, the new message is included below:
--------------------------------------------------------------
Hello! Here the code I promised. In the JFileChooser.properties file I put this values:
 
FileChooser.fileNameLabelText=Nombre del archivo
FileChooser.homeFolderToolTipText=Directorio hogar
FileChooser.newFolderToolTipText=Nueva carpeta
FileChooser.listViewButtonToolTipTextlist=Ver lista
FileChooser.detailsViewButtonToolTipText=Detalles
FileChooser.newFolderButtonText=Nueva carpeta
FileChooser.lookInLabelText=Buscar en
FileChooser.filesOfTypeLabelText=Archivos de tipo
FileChooser.upFolderToolTipText=Subir un nivel
FileChooser.saveInLabelText=Guardar en
 
FileChooser.saveButtonText:Guardar
FileChooser.newFolderErrorSeparator::
FileChooser.other.newFolder:Carpeta nueva
FileChooser.acceptAllFileFilterText:Todos los archivos
FileChooser.directoryOpenButtonMnemonic:82
FileChooser.updateButtonToolTipText:Actualizar lista de directorios
FileChooser.cancelButtonText:Cancelar
FileChooser.directoryDescriptionText:Directorio
FileChooser.updateButtonMnemonic:84
FileChooser.cancelButtonMnemonic:67
FileChooser.newFolderErrorText:Error al crear una nueva carpeta
FileChooser.saveButtonMnemonic:71
FileChooser.cancelButtonToolTipText:Cuadro de diálogo para cancelar elector de archivo
FileChooser.directoryOpenButtonToolTipText:Abrir directorio seleccionado
FileChooser.helpButtonText:Ayuda
FileChooser.updateButtonText:Actualizar
FileChooser.helpButtonToolTipText:Ayuda elector de archivos
FileChooser.saveDialogTitleText:Guardar
FileChooser.openButtonToolTipText:Abrir archivo seleccionado
FileChooser.openButtonText:Abrir
FileChooser.fileSizeMegaBytes:{0} MB
FileChooser.fileSizeGigaBytes:{0} GB
FileChooser.win32.newFolder:Carpeta nueva
FileChooser.openButtonMnemonic:65
FileChooser.helpButtonMnemonic:89
FileChooser.fileSizeKiloBytes:{0} KB
FileChooser.openDialogTitleText:Abrir
FileChooser.fileDescriptionText:Archivo genérico
FileChooser.directoryOpenButtonText:Abrir
FileChooser.saveButtonToolTipText:Guardar archivo seleccionado
FileChooser.other.newFolder.subsequent:Carpeta nueva.{0}
FileChooser.win32.newFolder.subsequent:Carpeta nueva ({0})
 
 
and it works perfectly, all in spanish!
 
José from Bs As, Argentina
--------------------------------------------------------------
 
To respond to this post, please click the following link:
</http><http ://forums.sun.com/thread.jspa?messageID=10769968>
</http>

¡Genial!. Aún no he probado lo que el me envió pero parece razonable. Muchas gracias a José (tocayo tenia que ser) o como dicen por allá, gracias ¡Che!

java, opensource, programación , , , , , ,

Tweets del 2009-07-19

Domingo, 19 de julio de 2009
  • Trying to figure out a way to work around OAuth issues in desktop apps. I’m not alone!: http://bit.ly/mCvFV #
  • Setting up Jakarta Tomcat in OSX. Will implement a server side solution to protect consumer token and secret in OAuth for StupidZombie #
  • OK, Servlet solution is finally working (with all the gizmos) on my development Tomcat container. Now comes the client integration part. #

java , ,

Enviando Tweets desde Java usando Twitter4J: ¿Como proteger consumerKey and consumerSecret?

Sábado, 18 de julio de 2009

Bueno, mientras buscaba como agregar soporte para Facebook en StupidZombie, me conseguí con un problema interesante. Twitter4J requiere que definamos consumerKey y consumerSecret en el objeto Twitter en cada llamada.

Lo cual trae problemas, ya que si distribuimos esas claves entonces cualquiera puede hacerse pasar por nuestra aplicación (No es un problema en una aplicación web pero si en una de escritorio). El problema es peor si la aplicación es OpenSource porque entonces un Script-Kiddie puede hacer de las suyas sin mucho esfuerzo.

1
2
//twitter.setOAuthConsumer(consumerKey, consumerSecret);
accessToken = twitter.getOAuthAccessToken(token, tokenSecret, pin);

Lo que mas me preocupa es que autenticación de escritorio no funciona si no lo definimos. Por ejemplo, en el código que escribí la vez pasada esto es lo que ocurre si no incluimos la linea que esta comentada en el párrafo anterior:

1
2
3
Jul 18, 2009 10:18:49 PM com.kodegeek.blog.twitter.TwitterPing getAccessToken
INFO: Token=Ujq2pzpG7PwZVAJmGHjWrDiVzFz6wfmxzx9r85y7s TokenSecret=hBHVuOWdJPBe5r3iVXklSJuwawssjqoBslLHXhzlE Pin=4129706
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Neither user ID/password combination nor OAuth consumer key/secret combination supplied

Por ahora ando preguntándole al autor como resolver este asunto. La gente de Java API de FaceBook tiene una solución a este problema, lo hacen creando algo llamado ‘temporary secret

Actualización: El siguiente “hack” parece funcionar, pues el código de HttpClient revizar por NULL o cadenas de caracteres vacias:

1
2
3
		Twitter twitter = new Twitter();
		twitter.setOAuthConsumer(" ", " ");
		twitter.setOAuthAccessToken(accessToken);

internet, java, kodegeek, opensource, programación , , ,