• Domingo 6 de Julio de 2025, 20:09

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - diego.martinez

Páginas: 1 ... 3 4 [5] 6 7 ... 12
101
Seguridad y Criptografía / Re: Tunneles SSH
« en: Miércoles 21 de Octubre de 2009, 16:17 »
buenas:

sigo con el mismo problema, no le ha pasado a nadie mas?

102
C/C++ / Re: fseek
« en: Miércoles 21 de Octubre de 2009, 16:14 »
buenas:

yo lo que suelo hacer para portabilidad es usar el patrón factory y crear una clase para win32 y otra para unix.

entonces simplemente uso la api en uno y la stat en el otro.

suerte.

103
C/C++ / Re: Una de punteros y otra de recursividad
« en: Miércoles 21 de Octubre de 2009, 16:06 »
buenas:

solo era para comentar que empiricamente, eternal idol tiene razón, yo trabajo programando en c++ en entornos embebidos y siempre he tenido que demostrar que el c++ es igual de rapido (o eficiente) que C. Sabiendo un poco lo que se hace, usando bien  las clases y todo eso se puede hacer que el esamblador sea igual que en C solo que con toda la eficacia(a la hora de desarrollar) de un proyecto en c++.
 ^_^

104
Seguridad y Criptografía / Re: Email cifrado (O eso creo yo)
« en: Miércoles 7 de Octubre de 2009, 20:27 »
curioso detalle el de las J mayusculas. Denota una mayuscula en el original? un nombre propio? o es que el encriptado es mas amplio que las letras minusculas?

105
Seguridad y Criptografía / Re: Email cifrado (O eso creo yo)
« en: Miércoles 7 de Octubre de 2009, 20:24 »
buenas.

Lo de que se repita la y dos veces podria ser un indicativo de que el cifrado utiliza la letra anterior para definir el nuevo caracter de la siguiente. Lo que lo puede hacer bastante complejo de crackear.

suerte!

106
Seguridad y Criptografía / Tunneles SSH
« en: Miércoles 7 de Octubre de 2009, 20:15 »
Buenas:

Veamos, estoy intentando poner seguridad encripatada para las comunicaciones FTP y HTML  en un servidor interno de la empresa.

Para ello, me he instalado OpenSSH y lo he configurado con claves RSA.

Hasta aqui todo correcto.

Conecto al SSH con el Putty y todo va bien. Cuando no tenia la seguridad RSA puesta, me autentificaba y podia entrar en el arbol de directorios y todo.
He puesto seguridad y le he puesto la clave Id_Rsa que he creado con el OpenSSH (y modificado para usarla con el Putty usando el PuttyGen) y le incrusto la clave "putty" en Connection > SSH > Auth > Private Key... etc.

Cuando me conecto al Servidor SSH todo va bien, me solicita usuario , introduzco uno valido, me pide el Passphrase para la clave rsa (se lo facilito) y me autoriza y en ese momento hop: "Connection Closed by remote Host"

No se que puedo estar haciendo mal. La clave es valida, por que si suministro otra me dice "invalid passphrase" y me la pide otra vez. El usuario tambien es valido.

Que puede estar pasando?
tengo algo mal configurado? en el cliente o en el server?
es su forma de decirme que no vale la id_rsa que le he puesto al putty?

otra cosa, no se como mirar los logs del servidor (por si aparecia algo interesante) google dice que haga "ssh -vvv" o "ssh -v -v -v" pero eso no funciona y en la lista de parametros no aparece....

Otra cosa mas, cuando me autentificaba mediante user/pass todo iba bien. Pero no queria que el usuario final tenga acceso al arbol de directorios, ya que lo quiero unicamente para que mis usuarios cifren sus transferencias con mi servidor interno usando el Tunnel SSH del putty, hay forma de evitar que se tenga acceso a la terminal? una configuracion seguramente.


Gracias por todo!

107
OpenGL / Re: comunicacion serial
« en: Viernes 2 de Octubre de 2009, 16:24 »
usa la api de windows, mirate las funciones:

createfile (para abrir puertos com)
y ReadFile (para leer el buffer del com)

108
Visual C++ / Re: Como hacer un alpha blending?
« en: Martes 8 de Septiembre de 2009, 11:50 »
buenas:

gracias por la respuesta, pero no se si no lo sabia implementar, pero no me salia bien con tu formula.
Sin embargo, encontré el problema con la mia  :wacko:

simplemente, no estaba usando unsigned char y encima lo almacenaba mal

Código: C++
  1.  
  2.  
  3. unsigned int r,g,b;
  4.             unsigned char Or=img->Data[ImgOffset];
  5.             unsigned char Og=img->Data[ImgOffset+1];
  6.             unsigned char Ob=img->Data[ImgOffset+2];
  7.  
  8.             unsigned char Mr=Mask->Data[ImgOffset];
  9.             unsigned char Mg=Mask->Data[ImgOffset+1];
  10.             unsigned char Mb=Mask->Data[ImgOffset+2];
  11.  
  12.             unsigned char Br=this->Data[CanvasOffset];
  13.             unsigned char Bg=this->Data[CanvasOffset+1];
  14.             unsigned char Bb=this->Data[CanvasOffset+2];
  15.  
  16.             r=Br*(255-Mr)+(Or*Mr);
  17.             g=Bg*(255-Mg)+(Og*Mg);
  18.             b=Bb*(255-Mb)+(Ob*Mb);
  19.             r>>=8;
  20.             g>>=8;
  21.             b>>=8;
  22.  
  23.  

esta es la solucion

109
Visual C++ / Como hacer un alpha blending?
« en: Jueves 3 de Septiembre de 2009, 14:59 »
Buenas:

estoy dibujando unos sprites en pantalla.
Para ello tengo un buffer con el fondo (24 bits, canales r,g,b entrelazados) y un buffer con el sprite (24 bits tambien entrelazado), luego tengo otro buffer igual de grande con el canal alpha del sprite, un blur sobre lo que seria su mascara para que los bordes sean suaves.

Bien, estoy teniendo problemas con el blending.

en teoria (corregidme si me equivoco)

la formula seria

r= ( rojo de overlay & rojo de Mascara)      | (rojo de fondo & (255-rojo de mascara));
g= ( verde de overlay & verde de Mascara) | (verde de fondo & (255-verde de mascara));
b= ( azul de overlay & azul de Mascara)      | (azul de fondo & (255-azul de mascara));

es asi? por que haciendolo asi me esta dando fallos en el gradiente. Y salen extrañas rayas.

overlay : verde completo liso con una banda blanca
mascara: Es un gradiente de blanco a negro de izquierda superior a derecha inferior
fondo: el visible, la mayor parte en rojo.


110
Visual C++ / Re: problema al depurar
« en: Jueves 3 de Septiembre de 2009, 09:19 »
tiene pinta de que estas intentando depurar una dll.

la dll de por si no puede ser depurada y te esta pidiendo un ejecutable que la use para poder debugearla.

para ello es mejor que en la misma solution , hacas un programa de prueba en el que linkas la dll y desde ese depures la dll.

111
C/C++ / Re: limpiar linea
« en: Lunes 31 de Agosto de 2009, 12:01 »
si estas haciendo una aplicacion consola podrias usar GotoXY() retroceder el cursor y pintar 80 caracteres blancos, y luego volver a poner el cursor en su sitio.

si estas programando la grafica en modo texto, puedes hacer un memset de 160 ceros en la direccion 0x0b0000+(24*80*2)

112
C/C++ / Re: try y object unwinding
« en: Miércoles 26 de Agosto de 2009, 11:19 »
gracias! ahora entiendo mejor cual es el problema.

La solución que he puesto es meterlo todo en una funcion a parte.
Esto hace que pueda hacer mejor el unwinding y no me da el fallo, manteniendo la funcionalidad que queria.

nos vemos!

PD: realmente no uso nunca excepciones. Siempre verifico los returns. Lo que tengo es un try catch global en cada hilo, para que si se da una excepcion que no haya tenido en cuenta (buffer overrun, un paseo por un  puntero nulo...) la capture el StackWalker y me traze el fallo hasta la función.

113
C/C++ / try y object unwinding
« en: Martes 25 de Agosto de 2009, 11:42 »
Buenas:

estoy teniendo un problema con el object unwinding

tengo una seccion __try __except

que usa EHsc para hacer el StackWalk.
Todo ha ido siempre bien, pero hoy he descubierto que tiene problemas con el polimorfismo.

si hago:

Código: C++
  1.  
  2. class CA
  3. {
  4. public:
  5.     CA() {}
  6.     virtual ~CA(){}
  7. };
  8.  
  9. class CB : public CA
  10. {
  11. public:
  12.     CB() {}
  13.     ~CB(){}
  14. };
  15.  
  16. int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinst, LPSTR cmdline, int cmdshow)
  17. {
  18.     __try
  19.     {
  20.         CA * a=new CB(); //aqui me da el fallo
  21.     }
  22.     __except (ExpFilter("principal",GetExceptionInformation(), GetExceptionCode(),__LINE__,__FUNCTION__)){}
  23.  
  24.     return 0;
  25. }
  26.  
  27. long _stdcall ExpFilter(char *Message,EXCEPTION_POINTERS* pExp, DWORD dwExpCode,int line,char * func)
  28. {
  29.     GStackWalk sw;
  30.     [...] //stack walk code
  31.  
  32. return EXCEPTION_EXECUTE_HANDLER; //esto hace que acepte la excepcion , si devolvemos 0 , la gestiona windows
  33. }
  34.  
  35.  

al ser CB una clase polimorfica me tira el error:
 Cannot use __try in functions that require object unwinding

compilo con la opcion /EHsc para activar las excepciones estructuradas de windows, lo que hace que no pueda resolver este caso. (cualquier otro lo hace bien)

Alguien puede explicarme que ocurre?
y que es exactamente el unwinding?

gracias por adelantado :good:

114
Programación de Videojuegos / Re: Inicializacion
« en: Lunes 24 de Agosto de 2009, 16:40 »
buenas, pasaba por aqui

lo mejor es C++ con diferencia

tienes que decidir si para unix o para windows.
en caso de Windows puedes usar el Visual Studio Xpress 2008 que es gratis.
en caso de linux tienes unas cuantas toneladas de compiladores , pero de esto ya no entiendo yo tanto.

para crear 3D puedes usar DirectX o OpenGL.
El OpenGL es standard y te servira en cualquier plataforma.

Para empezar primero aprende C++ con cualquier guia (hay una de Bjorne Strouttupp o como se escriba que es muy buena) puedes usar C con Clase para aprender
Una vez sepas y controles el Lenguaje, si vas a aprender  para Windows te recomiendo TheForger's Guide To Windows que es con la que aprendí yo
Y una vez controles el sistema y el lenguaje, para aprender OpenGL te recomiendo los tutoriales de NeHe para empezar.

yo como habras podido ver programo OpenGL para Windows en Visual Studio, asi que es de lo que hablo solo por que es de lo que sé. Seguro que los demas pueden aportar otros compiladores para unix o window.

ale, a googlear!
si tienes duda preguntando se va a roma, asi que no dudes en preguntar

115
Programación de Videojuegos / Auto asignacion de pesos para Bones
« en: Lunes 24 de Agosto de 2009, 03:31 »
Buenas:

estoy interesado en un algoritmo para asignar automaticamente los bones a los vertices debido a su posicion espacial.
lo que quiero es , dado un mesh (malla) y unos bones(rigging) que mi algoritmo asigne los bones a los vertices sin necesidad de importar sus asociaciones.
Se que existe y tiene un nombre, pero no se como es, asi que no puedo encontrarlo en google.
alguien sabe como se llama / donde encontrar un tutorial?



gracias de antemano  :good:

116
C/C++ / Re: numero de digitos
« en: Jueves 30 de Julio de 2009, 10:58 »
Código: C++
  1.  
  2.  
  3. int CuentaDigitos(int Numero)
  4. {
  5.  
  6. for (e=1;;e++)
  7. {
  8. if (Numero < pow(10,e))
  9.    return e;
  10. }
  11. return 1;
  12.  
  13. }
  14.  
  15.  

o , aplicado a cualquier base:

Código: C++
  1.  
  2.  
  3. int CuentaDigitos(int Numero, int Base=10)
  4. {
  5.  
  6. for (e=1;;e++)
  7. {
  8. if (Numero < pow(Base,e))
  9.    return e;
  10. }
  11. return 1;
  12.  
  13. }
  14.  
  15.  
mas simple  :good:

117
C/C++ / Re: Mandar Fichero desde PC a un movil Bluetooth en C
« en: Lunes 27 de Julio de 2009, 09:28 »
desde windows?

si es desde windows solo tienes que usar las funciones de la api de bluetooth BTAPI .
Una vez tienes enlazado el device  , tienes que empaquetar el archivo que quieres enviar en protocolo OBEX. Busca en google protocolo OBEX de IRDA.
Encontraras un manual con todas las instrucciones, es un estilo al protocolo de jpg, haciendo secciones con un encabezado que indica lo que viene a continuación.

118
C/C++ / Re: Introducir variable en base de datos
« en: Lunes 13 de Julio de 2009, 09:31 »
mirate a ver si tienes la API en c/c++ de la base de datos esa

119
C/C++ / Re: Sugerencias para Multilenguaje
« en: Viernes 10 de Julio de 2009, 09:13 »
ok gracias!  :good:

120
C/C++ / Sugerencias para Multilenguaje
« en: Miércoles 8 de Julio de 2009, 14:55 »
Buenas:

estoy programando el interfaz de un dispositivo electronico (un estilo a un movil) y bueno, tengo menues, botones, labels... etc.
El interfaz esta bastante bien hecho, pero me ha surgido duda de diseño a la hora de implementar el multilenguaje.

Mi idea , por ahora, es crear una clase de strings especiales, que miren una variable global para saber el idioma en el que esta el equipo, y que automaticamente cambien su puntero a uno diferente aplicando un offset definido por el idioma seleccionado.

Entonces, durante el codigo habria que ir usando los strings por una referencia y luego definir en un .h/.cpp los arrays de strings con sus numeros de referencia.
Encuentro bastante engorroso la forma de implementar esto y no tengo muy claro si es una buena solución, como soleis hacer el multilenguaje? como veis esta solución?

gracias por cualquier idea!  :good:

PD: es un programa embebido en un microcontrolador, asi que no puedo usar resources como se usaria en visual studio.

121
C/C++ / Re: Math Parser (parsear fórmula matemática) en C
« en: Miércoles 17 de Junio de 2009, 16:36 »
Buenas:
 Yo he programado un sistema de scripts que interpreta estas formulas.
 Para ello se usa algo llamado Notación Polaca Inversa. http://en.wikipedia.org/wiki/Reverse_Polish_notation
 Primero interpretas la formula y la vas convirtiendo a esta notación polaca inversa.
Ex:
 Notacion noramal 1*2+(3*5)
 Notación polaca inversa  1 2 * 3 5 * +

Una vez la tienes en polaca inversa, la metes en un stack. Y vas desencolando. Cuando desencolas un operador, miras cuantos elementos usa ese operador (+ - * / usan 2 operadores, not, abs, sen, cos, tan, usan solo 1) y vas desencolando hasta x elementos y aplicando el operador entre ellos. Asi de facil. Ten cuidado con los parentesis, tienes que mover los operadores que afectan al parentesis hasta donde este el fin del bloque.

Suerte!

122
C/C++ / Re: problema con matriz.
« en: Lunes 8 de Junio de 2009, 18:31 »
Cita de: "pollomariov"
char alumnos[5];
//proceso leer
for(i=1;i<=5;i++){

aqui tienes el fallo.
Cuando defines un array de 5 elementos, estas definiendo un array de elementos de 0 a N-1 o sea, que tienes el elemento 0, el 1, el 2, el 3 Y el 4, pero NO el 5.
el for deberia ser:
Código: C++
  1.  
  2. for(i=0;i<5;i++)
  3.  
  4.  

En los demas arrays, el mismo problema , el elemento N no existe! un array de N elementos va del 0 a N-1!

ah, y usa las etiquetas de codigo.

123
C/C++ / Re: Manejo de números grandes en C
« en: Lunes 8 de Junio de 2009, 09:31 »
Cita de: "Alejandra_Jañez"
Res = pow(Var1; Var2);

Seguramente esta linea esta mal al copiarla , por que te habrias dado cuenta del error al compilar, el ';' del centro deberia ser ','
por lo demas, he probado el codigo y funciona correctamente.

124
C/C++ / Re: Arreglos unidimensionales!
« en: Miércoles 3 de Junio de 2009, 16:02 »
Cita de: "asyba"
if(v<j)

en esta linea estas comparando el valor del array con el INDICE! seguramente querias

Código: C++
  1.  
  2. if(v[i]<v[j])
  3.  
  4.  

AUN ASI, eso no te encuentra el menor!

Lo que tienes que hacer es:
1) coges el primer elemento del array
2) lo copias en una variable y asumes que es el numero menor
3) iteras el vector:
         si el elemento n del vector es < que el numero menor:
                      copias el elemento n en el numero menor

asi al terminar tendras en esa variable el menor numero del array (o arreglo).

Cita de: "asyba"

 for(i=0;i<n;i++)
    {
 
        if(v<0)
        {
        x++;
        cout<<"La cantidad de numeros negativos que tiene el arreglo son: "<<x;
        }
 
    }
es que realmente tienes el escribir esa frase DENTRO del for, luego lo hara N veces. Pon el cout al final y en el ciclo simplemente incrementa una variable cada vez que encuentres uno negativo.

 :hola:

125
C/C++ / Re: sobrecargar operador []
« en: Lunes 1 de Junio de 2009, 11:30 »
si, ya lo habia probado asi, y funciona, lo que queria saber es si hay forma de indicarle que haga el corchete incluso con punteros, supongo que la respuesta es no  &lt;_&lt;

Gracias igualmente

Páginas: 1 ... 3 4 [5] 6 7 ... 12