Archivo

Archivo para la categoría ‘internet’

Veneblogs, To2Blog: ¿Existe alguna alternativa seria?

Domingo, 21 de Febrero de 2010

Aún recuerdo con algo de nostalgia como VeneBlogs y To2Blogs eran los titanes de la Blogosfera venezolana. El desastre del pago de divisas (y la economía en general) han tenido un impacto en estos sitios web los cuales no han cambiado mucho es sus ya (¿5 años al menos?) de existencia. Veneblogs es clasificado como un sitio de Phishing según Firefox y To2Blogs está caído desde el viernes 19 de Febrero de este año (volverá al aire).

¿Existe alguna alternativa seria a estos portales? Me niego a creer que este sea un signo de la muerte de los blogs como los conocemos hoy en día, aunque sitios como FaceBook y Twitter ya se han llevado su buena tajada, dejando una mayoría de sitios los cuales sólo reproducen artículos de otros sitios web (como los odiados sitios de gadgets).

Prefiero pensar que tanto Veneblogs como to2blogs pueden ser mejorados. Después de todo la blogosfera se trata de cambio y estos dos sitios web han sido un reflejo sin manipulaciones de las cosas que pasan en el país.

internet, venezuela ,

Se acabó Zembly: ¿A nadie le interesó hacer combinaciones sin programar?

Martes, 10 de Noviembre de 2009

Bueno, nada sorprendente aquí. El servicio de ‘Mash-up’ de Sun por lo visto no es el interés principal de Oracle y por lo visto nunca tuvo mucha tracción (siempre me dio la impresión de que era algo más orientado a desarrolladores casuales).

Me llegó esto por correo electrónico el día de hoy:

We regret to inform you that on November 30th, 2009 we will be suspending the zembly service.

More than three years ago, we started this project with the goal of making it easy to create next-generation Web apps. Our original tagline was “Build the web, using the web,” and the ideas we were incubating around platform-mediated Web applications, Web API mashups, and social programming were brand new.

We learned a lot along the way. Your confidence and enthusiasm helped us improve the project and do amazing things that we never imagined when we began this journey.

Thank you to everyone who’s been with us through the ups and downs. It’s heartening to see that many of the best ideas pioneered in zembly have started to appear elsewhere. With your support, we’re proud to have contributed to the DNA of the Web.

For more information about the zembly suspension, please refer to the FAQ section at http://zembly.com

Finally, if you have questions, please contact us at zembly-support@sun.com

All the best,

– The zembly team

Sun Microsystems, Inc.
4150 Network Circle
Santa Clara, CA 95054
Click here to unsubscribe

Siempre es una lastima ver que compañías con productos interesantes desaparezcan. Sin embargo no me extraña para nada en las circunstancias actuales. Me pregunto que otras cosas irán desapareciendo mientras la adquisición de Sun por parte de Oracle se termina de consolidar. Al paso que va la unión Europea quien sabe, amanecerá y veremos…

internet, programación

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 , , ,

Usando Visualvm en StupidZombie con Eclipse y OSX: Resultados mixtos

Jueves, 11 de Junio de 2009
StupidZombie memory profile - ping

StupidZombie memory profile - ping

Hoy me decidí a probar VisualVM de Sun (O debería decir Oracle). Bajarselo del sitio web es un paseo y la instalación es trivial (descomprimir, correr y ya). La aplicación a la cual estudié no es más que StupidZombie.

(Si usted tiene Windows entonces quizas no necesite bajarselo ya que viene con la última máquina virtual de Java de Sun).

Correr VisualVM es bastante sencillo, sólo tuve que:

  1. Ejecutar a StupidZombie
  2. Ejecutar a VisualVM (haciendo click en su icono en el directorio bin en donde quedó instalado).

Lo primero que hice fué ver cuanta memoria se estaba comiendo StupidZombie; Una aplicación tan sencilla debería ser liviana y me encontré con que usa sólo 20MB en OSX (Una ridiculez considerando lo que pesan ciertas aplicaciones hoy en día). Sin embargo me soprendió ver que cuando StupidZombie hay más de 5000 mil clases de Java en memoria, (¿porqué tanta basura?).

Esto me hace pensar que es hora de poner a dieta a la aplicación; Por ello me decidí hacer un perfil del uso de memoria (memory profile) y lo dejé corriendo un rato mientras hacia Pings a varios directorios y escribia etiquetas con el generador de etiquetas automático:

StupidZombie and VisualVM

StupidZombie and VisualVM

Mucha creación de arreglos de caracteres. No es soprendente ya que StupidZombie hace mucho “procesamiento” de cadenas de texto, proveniente de los directorios. Sin embargo me gustaría como se porta si lo corro paso a paso desde Eclipse (en mi caso no utilizo NetBeans donde la integración es más natural).

¿Y que sabemos del uso del procesador (CPU)? Bueno, siempre que intentaba cambiar a ese modo la aplicación corria bien un rato y luego se moria, dejandome a un proceso zombie en la máquina (que ironia StupidZombie es ahora un verdadero Zombie :) ):

Nunca pude medir el desempeño del procesador

Nunca pude medir el desempeño del procesador

Por ahora mi opinión de la herramienta es mixta. Si bien es genial que la máquina virtual de Java venga una herramienta de este calibre es también decepcionante que no se pueda medir el desempeño del procesador en OSX.

¿Pero es justa la comparación? Es decir, ¿como se mide en OSX con otras herramientas similares?

Bueno, yo tengo buenas experiencias en mi trabajo con YourKit. Resulta que ellos ofrecen una licencia OpenSource (aunque también tienen una licencia de evaluación de 15 días), así que también me baje esta versión de la herramienta y la probé (primero claro, hubo que hacer ciertos pasos en OSX antes de poder utilizar la herramienta, nada del otro mundo):

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
auyan:bin josevnz$ export DYLD_LIBRARY_PATH=/Users/josevnz/Desktop/YourKit_Java_Profiler_8.0.9.app/bin/mac:$DYLD_LIBRARY_PATH
auyan:bin josevnz$ java -agentlib:yjpagent=helpYourKit Java Profiler 8.0.9 JVMTI agent usage: -agentlib:yjpagent=[help]|[option, ...]
 
Option             Description
------------------ ----------------------------------------
port=value       port to listen on (1-65535, by default any free port is chosen)
listen=ip:port same as 'port', but bind agent socket to particular IP only
onlylocal          allow only local connections to profiled application
dir=custom dir   directory where snapshots are created (by default $user home/Snapshots)
telemetrylimit=$n limit telemetry buffer capacity to N hours (approximately)
sampling           startup with CPU sampling
tracing            startup with CPU tracing
                   (cannot be used together with 'disablecounts')
noj2ee             do not perform J2EE high level profiling
                   (use only in combination with 'sampling' or 'tracing')
alloceach=$n      startup with object allocation recording: record each N-th allocation;
                   can be used together with 'allocsizelimit';
                   cannot be used together with 'disablealloc'
allocsizelimit=$b startup with object allocation recording: record objects with size >= B bytes
                   can be used together with 'alloceach';
                   cannot be used together with 'disablealloc'
monitors           startup with monitor usage profiling
usedmem=$percent  capture memory snapshot automatically when used heap memory
                   reaches the threshold
onexit=memory      always capture memory snapshot on exit
onexit=snapshot    always capture performance snapshot on exit (i.e. without heap)
disablealloc       do not instrument bytecode for object allocation recording
disablecounts      do not instrument bytecode for CPU tracing
disablej2ee        do not instrument bytecode for J2EE profiling
disablestacktelemetry
                   do not collect thread stack and status information
quiet              suppress diagnostic messages
 
Please find detailed description in the Help section "Startup options":
http://www.yourkit.com/docs/80/help/additional_agent_options.jsp
 
Examples:
java -agentlib:yjpagent FooClass
java -agentlib:yjpagent=alloceach=10,allocsizelimit=1000000,dir=c:\MySnapshots FooClass
java -agentlib:yjpagent=usedmem=70 FooClass

Bueno, funciona. Ahora corremos a StupidZombie con las opciones de YourKit y la cosa se ve más o menos así:

YourKit profiling StupidZombie

YourKit profiling StupidZombie

1
2
3
4
5
6
auyan:bin josevnz$ java -agentlib:yjpagent -jar ~/Documents/stupidzombie/kenai/dist/StupidZombie.jar 
[YourKit Java Profiler 8.0.9] JVMTI version 3001016a; 1.6.0_07-b06-57; Apple Inc.; mixed mode, sharing; Mac OS X; 64-bit JVM
[YourKit Java Profiler 8.0.9] Profiler agent is listening on port 10001...
[YourKit Java Profiler 8.0.9] *** HINT ***: To get profiling results, connect to the application from the profiler UI
Jun 11, 2009 11:15:24 PM com.stupidzombie.gui.StupidZombieGui main
INFO: Starting...

Hice un montón de pruebas y debo decir que YourKit es una opción mucho más madura que VisualVM. Solo me queda ver si la gente de YourKit me dá una licencia OpenSource para seguirla utilizando en StupidZombie por más de 15 días.

¿Y ustedes, que utilizan para medir el desempeño de sus aplicaciones?

comics, internet, java, kodegeek, linux, opensource, programación, ruby , , ,

Bitacoras.com apoyando a StupidZombie

Miércoles, 3 de Junio de 2009

¡Genial!. Un millón de gracias a los chamos de bitacoras.com, los cuales hablan sobre StupidZombie!:

http://bitacoras.com/noticias/archivos/stupidzombie-aplicacion-de-escritorio-para-envio-de-ping.php

Ahora a dominar el mundo Pinki :D

internet, java, kodegeek, opensource , ,

¿Es hora de apagar Java en OSX?

Miércoles, 20 de Mayo de 2009

Y en todos los sistemas operativos, según este blog. Yo creo que no hay que ser alarmistas, al menos no van a conseguir un hack de esos si lo que usted visita son sitios respetables :) .

Por otro lado es molesto ver como Apple sigue empeñada en tratar a Java como un ciudadano de segunda. Entiendelo Apple, una de las razones por la que los desarrolladores usan OSX además de que el sistema operativo trabaja es porqué Java tenia fama de buen soporte en la Mac. Si Windows (que es lo que la mayoría de los usuarios utilizan) y Linux corren Java mejor (no conozco a nadie serio usando un servidor OSX para server sitios web o aplicaciones empresariales) entonces, ¿en donde te quedas?

No se si es el empeño de seguir promoviendo a Cocoa en vez de Java :)

internet, java, kodegeek , , ,

En Venezuela el uso de Internet es considerada un lujo

Domingo, 17 de Mayo de 2009

Yo estoy de acuerdo que en estos tiempos difíciles el recorte de gastos superfluos es una obligación (y que el manejo apropiado de recursos es algo que debería ser continuo, no activado por emergencias). Sin embargo, hay que ser muy cuidadoso con lo que se considera un lujo y lo que es en realidad una herramienta de intercambio fundamental de información como es la Internet.

¿Es el uso de Internet ahora es considerado un lujo para los organismos públicos, según el gobierno Venezolano?.Veamos que dice el articulo original:

Se prohíbe el gasto suntuario o superfluo en el sector público nacional. Sólo con la autorización del Vicepresidente Ejecutivo y previa exposición de motivos que justifique su aprobación, se permitirá de manera racional:

1. La adquisición de servicios de telefonía celular y de discado directo internacional, así como el uso de Internet.

6. La adquisición de equipos y plataformas tecnológicas.

No todo el mundo está de acuerdo. De hecho, ya los usuarios de Internet se están organizando en lugares como Facebook, Twitter, en un intento de hacerle entender al oficialismo el error de esta medida.

¿O es un error?

La medida lo único que dice es que el uso de Internet va a tener que estar justificado de ahora en adelante en los organismos públicos. Hasta allí la cosa parece relativamente razonable. El problema es que cada caso tiene que ser aprobado por separado, lo cual implicará demoras, además de que hay otro problema mucho más sutil: ¿Quién define lo que es prioritario y lo que no (o bajo que normativa)?

Yo soy de los que cree que Internet es mucho más que bajarse MP3, ver porno o leer blogs de gadgets. Internet es una herramienta que facilita el intercambio de conocimientos, y como tal es estúpido pensar que un sólo organismo (en este caso el gobierno) pueda tener la potestad  y recursos para decidir cuando es necesario y cuando no.

Las escuelas, Universidades y organismos públicos TODAS deberían estar conectadas a Internet. Lo que debe hacerse aquí es mejorar la reglamentación en cuanto su uso, pero caracterizar Internet como un articulo de lujo es un error.

En fin, esperemos que Hugo Chavez Frías y su gabinete rectifiquen esta medida, ya que de lo contrario estaremos hablando de un franco retroceso en el uso de la tecnología en Venezuela.
Veneblogs: , , ,

Blogalaxia: , , ,

To2Blogs: , , ,

Technorati: , , ,

Del.icio.us: , , ,

internet , ,