Re: Re: Re: Benchmarking en distintos lengu ajes [ Era algo así como cliente en jabber. .. ]

2007-12-05 Por tema Aldrin Gonzalo Martoq Ahumada
On Dec 3, 2007 10:59 AM, Xavier Andrade [EMAIL PROTECTED] wrote:
 On Sun, 2 Dec 2007, Aldrin Gonzalo Martoq Ahumada wrote:
  Discrepo. Lo que se llama maquina es la definicion de una
  arquitectura y su set de instrucciones. Cuando se habla de maquina
  virtual, se quiere decir que ese set de instrucciones no es el mismo
  que el implementado en hardware; por lo tanto si quieres ejecutar ese
  set de instrucciones requeriras de un paso de traduccion.
  Un interprete es un programa que realiza la traduccion desde un set de
  instrucciones o lenguaje y las ejecuta, de manera que puedas correr el
  codigo en tu maquina real. La distincion importante es que el paso
  de traduccion se hace en tiempo de ejecucion; es decir, cada vez que
  corras el programa tendras el costo adicional de traduccion lo que
  puede traer problemas de performance o uso de recursos (memoria por
  ej). Por eso la *implementacion* de la maquina virtual de java es un
  interprete.
 El problema es que no es tan claro hacer la distincion, de acuerdo a tu
 definicion, x86(_64) es una maquina virtual, ya los procesadores modernos
 implementan un set de instrucciones a la RISC internamente y en el momento
 de ejecucion se traducen las instrucciones x86 a instrucciones nativas,
 algunas directamente y otras por microcodigo.

Exactamente, ese es el punto: los procesadores x86 modernos poseen un
interprete!

Dicho de otra forma, si pudieramos compilar (traducir offline)
directamente en el codigo nativo del procesador, nos ahorrariamos
varios ciclos de cpu (y tal vez transistores si dejamos esa pega
exclusivamente al ambiente); que se  gastan en el interprete (traducir
online).


-- 
Aldrin Martoq
From [EMAIL PROTECTED]  Wed Dec  5 02:06:14 2007
From: [EMAIL PROTECTED] (Aldrin Gonzalo Martoq Ahumada)
Date: Wed Dec  5 02:15:28 2007
Subject: Benchmarking en distintos lenguajes
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

On Dec 4, 2007 2:30 PM, Franco Catrin L. [EMAIL PROTECTED] wrote:
 Veamos un simple cambio de este sencillo ejemplo.  Ahora queremos
 pasar el nombre del saludado por parametro.  En Java quedaria como :
   (sin validar)

 public class HelloWorld
 {
 public static void main(String[] args )
 {
 System.out.println( Hello  + args[0] );
 }
 }

Sigue odiando Java por su mal llamada elegancia (==
sobre-ingenieria). Escribo ese ejemplo en eclipse 3 europa, y ya tengo
varios warnings. El programa final profesional queda asi:

---hello/HelloWorld.java-
// The use of the default package is discouraged.
package hello;

public class HelloWorld {

// avoid using explicit string literals, declare constants instead
// BTW, por que esto no lo hace el compilador!
private static final String _STR_HELLO = Hello ; //$NON-NLS-1$

public static void main(String[] args) {
System.out.println(_STR_HELLO + args[0]);
}
}
---

Oh perdon, el programa se cae por una (de las odiadas por mi)
RunTimeExceptions; es decir, los errores _mas_ tipicos comunes por
los cuales se caen los programas, en particular NullPointerException;
pero que no son revisados durante la compilacion.

$ java hello.HelloWorld
Exception in thread main java.lang.ArrayIndexOutOfBoundsException: 0
at hello.HelloWorld.main(HelloWorld.java:66)

Nueva version:
---hello/HelloWorld.java
// The use of the default package is discouraged.
package hello;

public class HelloWorld {
// avoid using explicit string literals, declare constants instead
private static final String _STR_HELLO = Hello ; //$NON-NLS-1$

// avoid using explicit string literals, declare constants instead
private static final String _STR_USAGE = Usage: java
hello.HelloWorld your_name; //$NON-NLS-1$

public static void main(String[] args) {
if (args.length != 1) {
System.err.println(_STR_USAGE);
return;
}
System.out.println(_STR_HELLO + args[0]);
}
}
--

Y que es eso de NON-NLS??? Ah claro, olvidaba la i18n

-- Ultima version, espero --
package hello;

public class HelloWorld {
private static final String _STR_HELLO =
Messages.getString(HelloWorld.HELLO); //$NON-NLS-1$

private static final String _STR_USAGE =
Messages.getString(HelloWorld.USAGE); //$NON-NLS-1$

public static void main(String[] args) {
if (args.length != 1) {
System.err.println(_STR_USAGE);
return;
}
System.out.println(_STR_HELLO + args[0]);
}

import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Messages {
private static final String BUNDLE_NAME =
hello.messages; 

Benchmarking en distintos lenguajes

2007-12-05 Por tema Leonardo Soto M.
On Dec 5, 2007 2:06 AM, Aldrin Gonzalo Martoq Ahumada
[EMAIL PROTECTED] wrote:
 On Dec 4, 2007 2:30 PM, Franco Catrin L. [EMAIL PROTECTED] wrote:
  Veamos un simple cambio de este sencillo ejemplo.  Ahora queremos
  pasar el nombre del saludado por parametro.  En Java quedaria como :
(sin validar)
 
  public class HelloWorld
  {
  public static void main(String[] args )
  {
  System.out.println( Hello  + args[0] );
  }
  }

 Sigue odiando Java por su mal llamada elegancia (==
 sobre-ingenieria). Escribo ese ejemplo en eclipse 3 europa, y ya tengo
 varios warnings. El programa final profesional queda asi:

[Horrible monstruo escrito en Java que saluda, con soporte de i18n]

 Algun contraejemplo en otro lenguaje, anyone??? ;)

#!/usr/bin/env python
import sys
import gettext
from gettext import gettext as _

gettext.install('hello')

try:
print _(Hello %s) % sys.argv[1]
except IndexError:
print _(Usage: hello.py your_name)


-- 
Leo Soto M.
http://blog.leosoto.com
From [EMAIL PROTECTED]  Wed Dec  5 04:43:44 2007
From: [EMAIL PROTECTED] (Carlos Manuel Duclos Vergara)
Date: Wed Dec  5 05:16:54 2007
Subject: Predominancia de C [Was: Re: Re: Re: Re: Benchmarking en 
 distintos lenguajes [ Era algo =?iso-8859-1?q?as=ED_como_cliente?=
 =?iso-8859-1?q?_en_jabber=2E=2E=2E_=5D=5D?=
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

 ¿Los proyectos de SourceForge  en que lenguaje están escritos
 principalmente?(puede que algunos estén escritos en C++)
 ¿Los fuentes para una tarjeta de red por ejemplo  en Linux,en que lenguaje
 estan escritos?
 ¿Cual es lenguaje históricamente preferido por los Hackers gringos?
 ¿En que lenguage  escribió Richard Stallman principalmente su editor de
 textos GNU/emacs (bueno cabe decir que uso LISP pero sólo para las
 extensiones)?
 ¿Que lenguaje se ha usado para crrear  compiladores de otros lenguajes?


[...]

Al menos en el lado comercial del software para Linux te garantizo que al
menos el 50% de las applicaciones estan escritas en C++.


 No que da más que decir :C la lleva,debido a que es un lenguaje de alto
 nivel ,pero que permite trabajar lo mas cercano posible al nivel de la
 máquina
 el amplio manejo de las entradas y salidas,los tipos de datos con los que
 se
 puede trabajar,es algo que difícilmente se puede ver en otros lenguajes.


C es muy bueno si quieres construir un edificio empezando por hacer la
mezcla de cemento, en el caso de que quieras tener cemento listo,
ladrillos y todo ese tipo de cosas C++ es mucho mas usable. Por eso skype,
Mathematica y otros utilizan C++ y no C.

 En cuanto al C++  de Stroustrup ,una vez leí por ahí ,una  entrevista que
 le
 hicieron al creador de este lenguaje,y en donde le consultaron el motivo
 de
 por que había creado el lenguaje.Tuvieron que dejar hasta ahí la
 entrevista

curiosa entrevista aquella, podrias dar una referencia?

 ,dado que supuestamente Stroustrup habría confesado que solo había creado
 este lenguaje por motivos económicos,y que las  propiedades de herencia
 ,polimorfismo,no justificaban la generación en muchos casos de enormes
 tamaños,que podrían tener un tamaño óptimo si hubieran sido escritos en
 C...en definitiva ,habría creado el lenguaje sólo para darles trabajo a
 los
 programadores.


Aunque dudo que esa haya sido su principal motivacion, debo reconocer que
ha sido bastante exitoso en eso.


-- 
Carlos Manuel Duclos Vergara
http://carlosduclos.blogspot.com
From [EMAIL PROTECTED]  Wed Dec  5 06:18:40 2007
From: [EMAIL PROTECTED] (Satoru Lucas Shindoi)
Date: Wed Dec  5 06:52:59 2007
Subject: redes wifi
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

El Mon, 26 Nov 2007 09:42:37 -0300
Carlos Massoglia L. [EMAIL PROTECTED] escribió:
 
 1.- La frecuencia a la cual está escaneando. A mi me sucedía lo mismo
 hace un tiempo y era imposible que la tarjeta wireless se conectara al
 router y/o ap a esa frecuencia, dado que  la banda de operación es desde
 los 2.4 a los 2.4835 ghz y que está dividida en 11 canales.

Si no me equivoco 802.11a es a 5.3ghz

 2.- La interfaz que estás tratando de configurar, es un error de
 escritura el problema o efectivamente en vez de ser eth es ath? ...

Interfaz de un device atheros?

Saludos

-- 
Satoru Lucas Shindoi - [EMAIL PROTECTED]
SysAdmin GNU/Linux, *NIX
Oficina (06 a 15 hs) 03783 463449 / 425612
Particular (16 hs en adelante) 03783 459196
ICQ: 95357247 - Gmail: [EMAIL PROTECTED] - [EMAIL PROTECTED]
Messenger: [EMAIL PROTECTED] - Yahoo: [EMAIL PROTECTED]
--
Sistemas de Informacion - DPEC - 

Re: Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]

2007-12-05 Por tema rodrigo ahumada


- Mensaje original 
De: Rodrigo Fuentealba [EMAIL PROTECTED]
 Para: Discusion de Linux en Castellano linux@listas.inf.utfsm.cl
 Enviado: martes 4 de diciembre de 2007, 18:47:27
 Asunto: Re: Benchmarking en distintos lenguajes [ Era algo así como
 cliente en  jabber... ]

 rodrigo ahumada escribió:

   Ni tanto mas feo que la version C.
 
  Ambos leguajes pecan al final. Por que @#%^[EMAIL PROTECTED] llaman 
  void a
 un
  procedimiento?

¿Porque no quieren devolver nada?

pero es un procedimiento, ni si quiera se debe pensar en devolver...

  Hmm, los procedimientos no existen, solo existen las funciones que
 no
  retornan ningun valor ;-)

 ¿que no era al revés?

 las funciones no existen, todos son procedimientos, solo que algunos
 dejan valores en registros del CPU, o en la RAM, o en ambos...

No. Todo son funciones; las funciones pueden devolver un tipo de dato
cualquiera, aunque éste sea void (nada).
Te recomendaría algo denso relacionado con C, pero por esta clase de
errores, ve al Aprenda C como si estuviera en Primero.

¿cuáles errores? ¿el no comulgar con el dogma C? 

 por algo en algunos ensambladores existe la palabra PROC y no FUNC...

Porque no estamos hablando de ensambladores, sino del lenguaje C, me
imagino que entiendes la diferencia, ¿verdad?

en realidad no se está hablando de eso, se está hablando de cuál los dos 
lenguajes (C o java) presenta menos cosas incomprensbles a un novato, supongo 
que leíste los correos anteriores...

De hecho, lo que generalmente en orientación a objetos en PHP 5 se le
llama métodos también se declara como function; es la forma del
lenguaje de denominarla, nada más que eso.

eso muestra que el primer lenguaje que aprendieron los creadores de PHP 
probablemente fue C.
Eso se llama Impronta, y explica harto este tipo de discusiones de que cual 
lenguaje es mas santo.







  Tarjeta de crédito Yahoo! de Banco Supervielle.
Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. 
www.tuprimeratarjeta.com.ar 


Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]

2007-12-05 Por tema Franco Catrin L.

El mié, 05-12-2007 a las 01:06 -0300, Aldrin Gonzalo Martoq Ahumada
escribió:
 On Dec 3, 2007 10:59 AM, Xavier Andrade [EMAIL PROTECTED] wrote:
  On Sun, 2 Dec 2007, Aldrin Gonzalo Martoq Ahumada wrote:
   Discrepo. Lo que se llama maquina es la definicion de una
   arquitectura y su set de instrucciones. Cuando se habla de maquina
   virtual, se quiere decir que ese set de instrucciones no es el mismo
   que el implementado en hardware; por lo tanto si quieres ejecutar ese
   set de instrucciones requeriras de un paso de traduccion.
   Un interprete es un programa que realiza la traduccion desde un set de
   instrucciones o lenguaje y las ejecuta, de manera que puedas correr el
   codigo en tu maquina real. La distincion importante es que el paso
   de traduccion se hace en tiempo de ejecucion; es decir, cada vez que
   corras el programa tendras el costo adicional de traduccion lo que
   puede traer problemas de performance o uso de recursos (memoria por
   ej). Por eso la *implementacion* de la maquina virtual de java es un
   interprete.
  El problema es que no es tan claro hacer la distincion, de acuerdo a tu
  definicion, x86(_64) es una maquina virtual, ya los procesadores modernos
  implementan un set de instrucciones a la RISC internamente y en el momento
  de ejecucion se traducen las instrucciones x86 a instrucciones nativas,
  algunas directamente y otras por microcodigo.
 
 Exactamente, ese es el punto: los procesadores x86 modernos poseen un
 interprete!
 
 Dicho de otra forma, si pudieramos compilar (traducir offline)
 directamente en el codigo nativo del procesador, nos ahorrariamos
 varios ciclos de cpu (y tal vez transistores si dejamos esa pega
 exclusivamente al ambiente); que se  gastan en el interprete (traducir
 online).

Dudo que se gane mucho ya que esa traduccion se ejecuta una sola vez,
antes de ejecutar un bloque.  En una aplicación por ejemplo no es lento
ejecutar una sección secuencial de código ( O(1)) comparado con lo que
significa ejecutar un ciclo (O(n)).  En este ultimo caso, el paso de
traduccion simplemente lo convierte en O(n+1), y si tenemos casos como
O(n^2) se transforma simplemente en O(n^2 + 2)

Respecto a la compilacion, la diferencia entre compilar un programa en C
y ejecutar bytecode (Java, C#) es que el programa compilado en C queda
en un archivo estático (offline como dices), y eso impide que se puedan
hacer optimizaciones en tiempo de ejecucion.

En Mono se puede indicar el flag -aot (ahead of time) para que los
no-creyentes tengan un archivo estatico para ejecutar.

Las diferencias van por otro lado, el paper que envió Daniel Serpell es
muy iluminador, aunque aun no lo he terminado de analizar por completo.


-- 
Franco Catrin L.  TUXPAN Software S.A.
http://www.tuxpan.com/fcatrin 


Benchmarking en distintos lenguajes

2007-12-05 Por tema Roberto Bonvallet
El 5/12/07, Aldrin Gonzalo Martoq Ahumada [EMAIL PROTECTED] escribió:
 Algun contraejemplo en otro lenguaje, anyone??? ;)

http://www.infiltec.com/j-h-wrld.htm

-- 
Roberto Bonvallet


Benchmarking en distintos lenguajes

2007-12-05 Por tema Franco Catrin L.

El mié, 05-12-2007 a las 02:06 -0300, Aldrin Gonzalo Martoq Ahumada
escribió:
 On Dec 4, 2007 2:30 PM, Franco Catrin L. [EMAIL PROTECTED] wrote:
  Veamos un simple cambio de este sencillo ejemplo.  Ahora queremos
  pasar el nombre del saludado por parametro.  En Java quedaria como :
(sin validar)

[...]

 Y que es eso de NON-NLS??? Ah claro, olvidaba la i18n
 
 -- Ultima version, espero --
 package hello;
 
 public class HelloWorld {
 private static final String _STR_HELLO =
 Messages.getString(HelloWorld.HELLO); //$NON-NLS-1$
 
 private static final String _STR_USAGE =
 Messages.getString(HelloWorld.USAGE); //$NON-NLS-1$
 
 public static void main(String[] args) {
 if (args.length != 1) {
 System.err.println(_STR_USAGE);
 return;
 }
 System.out.println(_STR_HELLO + args[0]);
 }
 
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
 public class Messages {
 private static final String BUNDLE_NAME =
 hello.messages; //$NON-NLS-1$
 
 private static final ResourceBundle RESOURCE_BUNDLE =
 ResourceBundle.getBundle(BUNDLE_NAME);
 
 private Messages() {
 }
 
 public static String getString(String key) {
 try {
 return RESOURCE_BUNDLE.getString(key);
 } catch (MissingResourceException e) {
 return '!' + key + '!';
 }
 }
 }
 
  messages.properties 
 HelloWorld.HELLO=Hello
 HelloWorld.USAGE=Usage: java hello.HelloWorld your_name
 ---
 
 
 Alguien en java llega a algo tan elaborado??? Y eso que ni siquiera
 hemos llegado a J2EE
 
 Algun contraejemplo en otro lenguaje, anyone??? ;)

Aqui tengo un ejemplo para hacer lo mismo que trataste de hacer en 
Java :D

import java.util.*;

public class HelloWorld {
  static final String USAGE = usage, HELLO=hello;
  static public void main (String args[]) {
ResourceBundle messages = ResourceBundle.getBundle(messages);
System.out.println(args.length!=1?
  messages.getString(USAGE):messages.getString(HELLO) + args[0]);
  }
}



-- 
Franco Catrin L.  TUXPAN Software S.A.
http://www.tuxpan.com/fcatrin 


Benchmarking en distintos lenguajes

2007-12-05 Por tema Franco Catrin L.

El mié, 05-12-2007 a las 03:57 -0300, Leonardo Soto M. escribió:
 On Dec 5, 2007 2:06 AM, Aldrin Gonzalo Martoq Ahumada
 [EMAIL PROTECTED] wrote:
  On Dec 4, 2007 2:30 PM, Franco Catrin L. [EMAIL PROTECTED] wrote:
   Veamos un simple cambio de este sencillo ejemplo.  Ahora queremos
   pasar el nombre del saludado por parametro.  En Java quedaria como :
 (sin validar)
  
   public class HelloWorld
   {
   public static void main(String[] args )
   {
   System.out.println( Hello  + args[0] );
   }
   }
 
  Sigue odiando Java por su mal llamada elegancia (==
  sobre-ingenieria). Escribo ese ejemplo en eclipse 3 europa, y ya tengo
  varios warnings. El programa final profesional queda asi:
 
 [Horrible monstruo escrito en Java que saluda, con soporte de i18n]
 
  Algun contraejemplo en otro lenguaje, anyone??? ;)
 
 #!/usr/bin/env python
 import sys
 import gettext
 from gettext import gettext as _
 
 gettext.install('hello')
 
 try:
 print _(Hello %s) % sys.argv[1]
 except IndexError:
 print _(Usage: hello.py your_name)

Si quieres hacer un ejemplo equivalente, te falto cambiar los literales
por constantes.  Eso no es obligatorio en ningun lenguaje, es solo una
recomendacion para programar.


-- 
Franco Catrin L.  TUXPAN Software S.A.
http://www.tuxpan.com/fcatrin 


Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]

2007-12-05 Por tema Marcos Ramirez

On Tue, 2007-12-04 at 23:18 -0300, Patricio Morales wrote:
 
   Ambos leguajes pecan al final. Por que @#%^[EMAIL PROTECTED] llaman 
   void a un
  procedimiento?
 
  void no es el nombre del procedimiento, sino lo que entrega y -como
  que no es obvio?!?- un procedimiento devuelve nada, si devolviera
  algo, seria una funcion.
 
  pecado? nah! belleza de las mas sublime!
 
 
 Correción: En C no manejas procedimentos como en Pascal,pero puedes hacer
 que una función se comporte como un procedimiento,vale decir que no devuelva
 nada.

Correccion: En Pascal existen procedimientos y funciones, en C sólo
existen funciones; pero puedes hacer que una funcion en C se comporte
como un procedimiento en Pascal haciendo que devuelva void, vale
decir, devuelva nada.

Saludos
-- 
Marcos Ramirez [EMAIL PROTECTED]




Ocultar Passwords a produccion.

2007-12-05 Por tema Asdtaker
Estimados, mi ultima consulta aqui fue respecto de un cliente para jabber (y
ya vieron lo que ocurrio (y esta ocurriendo)). Finalmente, se opto por
openfire y spark como cliente, lejos las discusiones respecto a la
performance del modelo, ya esta implementado y camina /de pelos/. Gracias a
todos lo que dieron sus opiniones.

Esta vez, los molesto con otra cosa que me aflije. Tengo algunos servicios
con db (mysql, db2, sql server) y existe un gran cuestionamiento: ¿como
escondo las password (y usuarios) de las db a los programas y usuarios?. Es
decir, pe. al configurar el acceso a mysql para un servicio web (LAMP),
necesariamente debo configurar en un file la passwordm user y database que
utilizare. Otro problema, y mas grande aun, en cuando tenemos aplicaciones
cliente-servidor, con archivos de configuracion en cada cliente, o bien (en
el caso sql server) odbc, en ese caso no existe manera de encriptar las
password, y al menos debe conocerla el desarrollador/analista de la
aplicacion y configurarla (digitarla) bien en el codigo (ejecutable) o en un
archivo de configuracion. Mi problema es que necesito que estas password no
sean conocidas por nadie, ni siquiera el admin del sistema (password
bipartida) y el dia de mañana poder cambiarlas de manera transparente para
los usuarios.

He hecho monos, tirado lineas y buscado en san google, pero ando medio
perdido. Espero me puedan orientar.

Mis ideas me llevan a pensar que debe haber /algo/ en medio que permita la
autenticacion, es decir:

SERVER(user, pass):**ALGO**:CLIENTE(user, _clave_)

donde clave, es una llave, un id de instalacion, la ip de mi LAN, el usuario
de dominio, etc.

De antemano, muchisimas gracias.

-- 
Saludos, LSM.
Existen 10 tipos de personas:
los que entienden binarios y los que no
From [EMAIL PROTECTED]  Wed Dec  5 14:10:37 2007
From: [EMAIL PROTECTED] (Alvaro Herrera)
Date: Wed Dec  5 14:13:35 2007
Subject: Ocultar Passwords a produccion.
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

Asdtaker escribió:

 Otro problema, y mas grande aun, en cuando tenemos aplicaciones
 cliente-servidor, con archivos de configuracion en cada cliente, o bien (en
 el caso sql server) odbc, en ese caso no existe manera de encriptar las
 password, y al menos debe conocerla el desarrollador/analista de la
 aplicacion y configurarla (digitarla) bien en el codigo (ejecutable) o en un
 archivo de configuracion. Mi problema es que necesito que estas password no
 sean conocidas por nadie, ni siquiera el admin del sistema (password
 bipartida) y el dia de mañana poder cambiarlas de manera transparente para
 los usuarios.

Eso es imposible.  Ademas, no lograrias nada, porque el administrador de
la maquina, siendo root, podria de todos modos detener el servidor y
levantarlo en el modo que no requiere password, si quisiera robarse tu
informacion.

Las passwords necesariamente deben estar en un archivo en alguna parte.
Lo que mas puedes hacer es que dicho archivo este oculto y que nadie
(salvo la aplicacion) tenga privilegios para leerlo.

-- 
Alvaro Herrera  Developer, http://www.PostgreSQL.org/
Las cosas son buenas o malas segun las hace nuestra opinión (Lisias)
From [EMAIL PROTECTED]  Wed Dec  5 17:54:21 2007
From: [EMAIL PROTECTED] (Horst H. von Brand)
Date: Wed Dec  5 17:57:12 2007
Subject: =?iso-8859-1?q?Re=3A_Re=3A_Re=3A_Benchmarking_en_distintos_le?=
=?iso-8859-1?q?nguajes_=5B_Era_algo_as=ED_como_cliente_en_jabber?=
=?iso-8859-1?q?=2E=2E=2E_=5D?=
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

Aldrin Gonzalo Martoq Ahumada [EMAIL PROTECTED] wrote:
 On Dec 3, 2007 10:59 AM, Xavier Andrade [EMAIL PROTECTED] wrote:
  On Sun, 2 Dec 2007, Aldrin Gonzalo Martoq Ahumada wrote:
   Discrepo. Lo que se llama maquina es la definicion de una
   arquitectura y su set de instrucciones. Cuando se habla de maquina
   virtual, se quiere decir que ese set de instrucciones no es el mismo
   que el implementado en hardware; por lo tanto si quieres ejecutar ese
   set de instrucciones requeriras de un paso de traduccion.
   Un interprete es un programa que realiza la traduccion desde un set de
   instrucciones o lenguaje y las ejecuta, de manera que puedas correr el
   codigo en tu maquina real. La distincion importante es que el paso
   de traduccion se hace en tiempo de ejecucion; es decir, cada vez que
   corras el programa tendras el costo adicional de traduccion lo que
   puede traer problemas de performance o uso de recursos (memoria por
   ej). Por eso la *implementacion* de la maquina virtual de java es un
   interprete.

  El problema es que no es tan claro hacer la distincion, de acuerdo a tu
  

Re: Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]

2007-12-05 Por tema Horst H. von Brand
rodrigo ahumada [EMAIL PROTECTED] wrote:
 Alvaro Herrera [EMAIL PROTECTED] dijo:
 rodrigo ahumada escribió:

   Ni tanto mas feo que la version C.
  
  Ambos leguajes pecan al final. Por que @#%^[EMAIL PROTECTED] llaman 
  void a un
  procedimiento?
 
  Hmm, los procedimientos no existen, solo existen las funciones que no
  retornan ningun valor ;-)

 ¿que no era al revés? 

 las funciones no existen, todos son procedimientos, solo que algunos
 dejan valores en registros del CPU, o en la RAM, o en ambos...  por algo
 en algunos ensambladores existe la palabra PROC y no FUNC...

Eso es un detalle de la arquitectura en la que tradicionalmente implementan
C, no una caracteristica propia de C.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de InformaticaFono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile   Fax:  +56 32 2797513
From [EMAIL PROTECTED]  Wed Dec  5 17:51:12 2007
From: [EMAIL PROTECTED] (Enrique Herrera Noya)
Date: Wed Dec  5 18:15:43 2007
Subject: : Ocultar Passwords a produccion.
In-Reply-To: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]


Estimados, mi ultima consulta aqui fue respecto de un cliente para jabber (y
ya vieron lo que ocurrio (y esta ocurriendo)). Finalmente, se opto por
openfire y spark como cliente, lejos las discusiones respecto a la
performance del modelo, ya esta implementado y camina /de pelos/. Gracias a
todos lo que dieron sus opiniones.

Esta vez, los molesto con otra cosa que me aflije. Tengo algunos servicios
con db (mysql, db2, sql server) y existe un gran cuestionamiento: ¿como
escondo las password (y usuarios) de las db a los programas y usuarios?. Es
decir, pe. al configurar el acceso a mysql para un servicio web (LAMP),

definiendo funcion conectar 
y eso que utilice quien programe (suponiendo php)
y lo dejas en un directorio paralelo al del sitio y accediendo al php via  alias

algo asi:

/wuebs/coneccion/conecta.php
/wuebs/sitio/config.php

en config.php tienes 
require (dominio/conecto/conecta.php)

y en apache tienes
Alias /conecto/ /wuebs/coneccion



necesariamente debo configurar en un file la passwordm user y database que
utilizare. Otro problema, y mas grande aun, en cuando tenemos aplicaciones
cliente-servidor, con archivos de configuracion en cada cliente, o bien (en
el caso sql server) odbc, en ese caso no existe manera de encriptar las
password, y al menos debe conocerla el desarrollador/analista de la
aplicacion y configurarla (digitarla) bien en el codigo (ejecutable) o en un
archivo de configuracion. Mi problema es que necesito que estas password no
sean conocidas por nadie, ni siquiera el admin del sistema (password
bipartida) y el dia de mañana poder cambiarlas de manera transparente para
los usuarios.

He hecho monos, tirado lineas y buscado en san google, pero ando medio
perdido. Espero me puedan orientar.

Mis ideas me llevan a pensar que debe haber /algo/ en medio que permita la
autenticacion, es decir:

SERVER(user, pass):**ALGO**:CLIENTE(user, _clave_)

donde clave, es una llave, un id de instalacion, la ip de mi LAN, el usuario
de dominio, etc.

De antemano, muchisimas gracias.

-- 
Saludos, LSM.
Existen 10 tipos de personas:
los que entienden binarios y los que no



main() de C [Was: Re: Re: Benchmarking en distin tos lenguajes [ Era algo así como cliente en ja bber... ] ]

2007-12-05 Por tema Horst H. von Brand
Rodrigo Fuentealba [EMAIL PROTECTED] wrote:
 2007/12/4, rodrigo ahumada [EMAIL PROTECTED]:
  Alvaro Herrera [EMAIL PROTECTED] dijo:
  rodrigo ahumada escribió:

Ni tanto mas feo que la version C.
  
   Ambos leguajes pecan al final. Por que @#%^[EMAIL PROTECTED] llaman 
   void a un
   procedimiento?

 ¿Porque no quieren devolver nada?

Para que quieres procedimientos?

 La idea (según lo que he leído) es que el pecado es hacer que la
 función main no devuelva nada (void main();), es mejor devolver el
 estado con el que terminó el programa (que si es totalmente correcto,
 es return 0). De esta manera, cuando los integras con otras
 aplicaciones, éstas son capaces de saber si el programa cumplió con su
 cometido.

No. El cuento es mas profundo.

El estandar de C permite implementar funciones de distinta forma segun lo
que retornen (obvio; p.ej. en i386 una funcion que retorna un double lo
retorna en un registro de punto flotante, si un int (o similar) en EAX, si
retorna un struct hace alguna brujeria a traves de un puntero; dependiendo
de la arquitectura usar mecanismos diferentes para retorno algo o no
retorno nada puede tener costos muy diferentes). A su vez, la funcion
main es interfaz con el ambiente en que se ejecuta el programa, que a su
vez puede tener un manejo radicalmente diferente a una funcion normal.
/Generalmente/ main se implementa igual que una funcion (y la brujeria de
conectarla con el ambiente (armarle argc, argv a lo C; obtener el valor
retornado y darlo como resultado exito/fracaso) se hace fuera), y
/muchas implementaciones/ no hacen diferencia especial entre retorna int
y no retorna nada.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de InformaticaFono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile   Fax:  +56 32 2797513
From [EMAIL PROTECTED]  Wed Dec  5 20:03:15 2007
From: [EMAIL PROTECTED] (Horst H. von Brand)
Date: Wed Dec  5 20:06:09 2007
Subject: =?iso-8859-1?q?Re=3A_Predominancia_de_C_=5BWas=3A_Re=3A_Re=3A?=
=?iso-8859-1?q?_Re=3A_Re=3A_Benchmarking_en_distintos_lenguajes_?=
=?iso-8859-1?q?=5B_Era_algo_as=ED_como_cliente_en_jabber=2E=2E=2E_?=
=?iso-8859-1?q?=5D=5D?=
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

Patricio Morales [EMAIL PROTECTED] wrote:
 El día 4/12/07, Horst H. von Brand [EMAIL PROTECTED] escribió:
  Patricio Morales [EMAIL PROTECTED] wrote:

[...]

  Como que obvio? Hubo/hay muchos otros lenguajes, una buena coleccion de
  sistemas operativos cada uno con su propio lenguaje tradicional: VMS con
  Bliss; OS/370 con su assembler, FORTRAN, COBOL y PL/1; hubo sistemas
  interesantes escritos en LISP, Oberon, Modula II; los hay hechos en C++ e
  incluso Java.

  Hace no tanto, con lo que se podia contar en cualquier computador era una
  implementacion competente de FORTRAN 60, y pocazo mas. Por algo cosas tan
  divertidas como Ratfor...

 ¿Los proyectos de SourceForge  en que lenguaje están escritos
 principalmente?(puede que algunos estén escritos en C++)

Hoy dia los sistemas tipicos son Unixisticos == C o C++.

 ¿Los fuentes para una tarjeta de red por ejemplo  en Linux,en que lenguaje
 estan escritos?

El nucleo esta hecho en C, escribir un driver en Perl seria bastante
divertido...

 ¿Cual es lenguaje históricamente preferido por los Hackers gringos?

LISP

 ¿En que lenguage  escribió Richard Stallman principalmente su editor de
 textos GNU/emacs (bueno cabe decir que uso LISP pero sólo para las
 extensiones)?

LISP

 ¿Que lenguaje se ha usado para crrear  compiladores de otros lenguajes?

De todo... desde un compilador BASIC escrito en BASIC hasta un assembler
escrito en COBOL, pasando por preprocesadores Ratfor (+/- similar a C) en
FORTRAN 66. Y uno de los criterios para un nuevo lenguaje es que cosa que
no sea su compilador se ha escrito en el?

 No que da más que decir :C la lleva,debido a que es un lenguaje de alto
 nivel ,pero que permite trabajar lo mas cercano posible al nivel de la
 máquina el amplio manejo de las entradas y salidas,los tipos de datos con
 los que se puede trabajar,es algo que difícilmente se puede ver en otros
 lenguajes.

Exacto. Y C es (casi) un subconjunto de C++

 En cuanto al C++  de Stroustrup ,una vez leí por ahí ,una  entrevista que le
 hicieron al creador de este lenguaje,y en donde le consultaron el motivo de
 por que había creado el lenguaje.Tuvieron que dejar hasta ahí la entrevista
 ,dado que supuestamente Stroustrup habría confesado que solo había creado
 este lenguaje por motivos económicos,y que las  propiedades de 

Re: Re: Re: Re: Benchmarking en distintos l enguajes [ Era algo así como cliente en jabber. .. ]

2007-12-05 Por tema Horst H. von Brand
Leonardo Soto M. [EMAIL PROTECTED] wrote:
 On Dec 5, 2007 5:54 PM, Horst H. von Brand [EMAIL PROTECTED] wrote:
  Aldrin Gonzalo Martoq Ahumada [EMAIL PROTECTED] wrote:
 
 [...]
 
   Dicho de otra forma, si pudieramos compilar (traducir offline)
   directamente en el codigo nativo del procesador, nos ahorrariamos
   varios ciclos de cpu (y tal vez transistores si dejamos esa pega
   exclusivamente al ambiente); que se  gastan en el interprete (traducir
   online).
 
  Nopes. El procesador es /mucho/ mas rapido que la memoria hoy dia (por algo
  el cuento de hyperthreading, dual-core, procesadores celulares, ...). En
  parte por esa razon guatearon los RISC, y las arquitecturas nuevas son
  CISC: Claro, procesar instrucciones simples es mas rapido, pero el codigo
  es muchisimo menos denso (todas las instrucciones son grandes, para hacer
  alguna operacion un poquitin mas compleja es media docena de instrucciones;
  lo mismo en CISC puede ser una sola, incluso de un solo byte); con el
  resultado que lo que se gana en el procesador se pierde con creces en mover
  instrucciones desde la memoria.

 Aún así, el decoding de una instrucción en x86 (y x86-64) es caro. Por
 esto en los últimos procesadores de esta arquitectura se está
 almacenando en la caché de instrucciones el microcode en lugar de
 las instrucciones originales.

No es esa la razon, las instrucciones internas RISCisticas pueden
reordenarse (mas) que las CISC originales.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de InformaticaFono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile   Fax:  +56 32 2797513
From [EMAIL PROTECTED]  Wed Dec  5 22:50:32 2007
From: [EMAIL PROTECTED] (Alejandro Weinstein)
Date: Wed Dec  5 22:53:26 2007
Subject: =?iso-8859-1?q?Re=3A_Re=3A_Benchmarking_en_distintos_lenguajes_?=
=?iso-8859-1?q?=5B_Era_algo_as=ED_como_cliente_en_jabber=2E=2E=2E_?=
=?iso-8859-1?q?=5D?=
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

On Dec 5, 2007 3:39 PM, Horst H. von Brand [EMAIL PROTECTED] wrote:
 Pedro GM [EMAIL PROTECTED] wrote:

  Python ha tenido buen avance en esta area, su sintaxis simple aporta
  bastante a la hora de aprender.

 Asi es, aunque la idea de espacios indican anidamiento es la idea mas
 idiota nunca inventada para un lenguaje.


Por que tan taxativo? Aca opinan justo lo contrario:

http://www.secnetix.de/~olli/Python/block_indentation.hawk

Alejandro.
From [EMAIL PROTECTED]  Wed Dec  5 23:24:35 2007
From: [EMAIL PROTECTED] (Horst H. von Brand)
Date: Wed Dec  5 23:27:26 2007
Subject: =?iso-8859-1?q?Re=3A_Benchmarking_en_distintos_lenguajes_=5B_?=
=?iso-8859-1?q?Era_algo_as=ED_como_cliente_en_jabber=2E=2E=2E_=5D?=
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

rodrigo ahumada [EMAIL PROTECTED] wrote:
 Rodrigo Fuentealba [EMAIL PROTECTED] dijo:
  rodrigo ahumada escribió:

[...]

 No. Todo son funciones; las funciones pueden devolver un tipo de dato
 cualquiera, aunque éste sea void (nada).
 Te recomendaría algo denso relacionado con C, pero por esta clase de
 errores, ve al Aprenda C como si estuviera en Primero.

 ¿cuáles errores? ¿el no comulgar con el dogma C? 

Si no sabes C, no tienes derecho a opinar.

[...]

 De hecho, lo que generalmente en orientación a objetos en PHP 5 se le
 llama métodos también se declara como function; es la forma del
 lenguaje de denominarla, nada más que eso.

 eso muestra que el primer lenguaje que aprendieron los creadores de PHP
 probablemente fue C.

En C no hay metodos. Tampoco en C++. Es terminologia propia de Smalltalk
(donde significa algo /bien/ diferente).

   Eso se llama Impronta, y explica harto este tipo de
 discusiones de que cual lenguaje es mas santo.

Bueno, si es por eso el lenguaje mas santo para mi debiera ser FORTRAN 66
(o algo anterior)... no es tan simple.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de InformaticaFono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile   Fax:  +56 32 2797513


Benchmarking en distintos lenguajes

2007-12-05 Por tema Aldrin Gonzalo Martoq Ahumada
On Dec 5, 2007 10:18 AM, Franco Catrin L. [EMAIL PROTECTED] wrote:
 El mié, 05-12-2007 a las 02:06 -0300, Aldrin Gonzalo Martoq Ahumada
 escribió:
  Alguien en java llega a algo tan elaborado??? Y eso que ni siquiera
  hemos llegado a J2EE
  Algun contraejemplo en otro lenguaje, anyone??? ;)
 Aqui tengo un ejemplo para hacer lo mismo que trataste de hacer en 
 Java :D

Franco, mi intencion era precisamente en la frase de tan elaborado,
es decir, programar en serio con el lenguaje. Por supuesto, el hola
mundo no es un buen ejemplo para esto, pero la idea es que asi se ve
el codigo supuestamente profesional en java...

Basicamente, use todas las recomendaciones para j2se (que la clase
Messages este fuera es por una razon, que los Strings sean
constantes static final es por otra, ademas de esos horribles
comentarios y asi suma y sigue). Y mi problema emocional con java
es precisamente que queda horrible y es _demasiado complejo_, por lo
que jamas he visto codigo java escrito asi.

Basta comparar el codigo que publico Leonardo...

-- 
Aldrin Martoq