Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - z3nth10n

#1
Buenas foro,

Pues siguiendo la tesis doctoral que hizo Javier y solo teniendo disponible el shared object (*.so) ELF 32-bit LSB shared object, ARM (obtenido al ejecutar el comando file) de los shared objects de Loquendo para Linux, en este caso, Tom Tom .

Me gustaría intentar compilar el programa que sugirió Javier, llamado text2audio, y disponible en el mismo pdf:

#include <stdio.h>
#include "../sdk/win/LTTS7/include/loqtts.h" /* Loquendo TTS include file */
#include <string.h>
#define CODING tts_LINEAR // "l" /* "l" (linear), "a" (A-law), "u" (U-law) */
#define SAMPLE_RATE 32000 /* Use 8000 for A-law or U-law coding */

int main(int argc, char *argv[])
{
    ttsHandleType hInstance; /* Instance handle */
    ttsHandleType hVoice; /* Voice handle */
    ttsResultType err; /* Error code returned by TTS APIs */

    char* p = "Jorge";
    char* fich = "sample.wav";
    char frase[5000]="";
    int i;

    fprintf (stderr,"Number: \%i\n",argc);
    if(argc > 3) {
        p = argv[1]; // Voice
        fich = argv[2]; // Path
        for(i=3;i<argc;i++)
        {
            strcat(frase,argv[i]);
            strcat(frase," ");
        }
        fprintf (stderr,"Sentence: \%s\n",frase);
        fprintf (stderr,"File : \%s\n",fich);
        } else {
            fprintf(stderr, "Exec '\%s <speaker> <file> <text> '\n", argv[0]);
            return -1;
        }
        fprintf(stderr, "Using voice \%s\n", p);

        /* Initializes the LoquendoTTS Instance */
        err = ttsNewSession(&hInstance, NULL);
        if (err != tts_OK)
        {
            fprintf(stderr, "\%s", ttsGetErrorMessage(NULL));
            return err;
        }

        /* Sets the voice parameters */
        err = ttsNewVoice(&hVoice, hInstance, p); // 6 -> 7: SAMPLE_RATE, CODING
        if (err != tts_OK)
        {
            fprintf(stderr, "\%s", ttsGetErrorMessage(hInstance));
            (void)ttsDeleteSession(hInstance);
            return err;
        }

        /* Sends samples directly to the audio board */
        //err = ttsSetAudio(hInstance, "LoqAudioFile", argv[2], CODING, 0);
        err = ttsSetAudio(hInstance, "LTTS7AudioBoard", argv[2], SAMPLE_RATE, CODING, tts_STEREO, 0);

        if (err != tts_OK)
        {
            fprintf(stderr, "\%s", ttsGetErrorMessage(hInstance));
            (void)ttsDeleteSession(hInstance);
            return err;
        }

        /* Converts text to speech */
        err = ttsRead(
            hInstance, /* Instance handle */
            frase, /* Input */
            ttsFALSE, // async
            ttsFALSE, // fromFile
            0);

        if (err != tts_OK)
        {
            fprintf(stderr, "\%s", ttsGetErrorMessage(hInstance));
            (void)ttsDeleteSession(hInstance);
            return err;
        }

        /* Closes the Loquendo TTS instance; the voice will be automatically closed */
        (void)ttsDeleteSession(hInstance);
        return 0;
}


(Esta versión es un poco diferente de la original porque la adapté para la versión LTTS 7, en lugar de la v6)

La idea es tener un endpoint en PHP que pueda usarse para generar archivos mp3 / wav para un texto (usando TTS internamente).

Los métodos que probé ya:



  • Instalando de una instancia de Loquendo para Windows en Wine y PlayOnLinux con Balabolka (con CLI): https://eltallerdemiku.blogspot.com/2018/12/como-instalr-loquendo-en-linux-con.html

  • Usando lo mismo, pero con los bindings de Ruby disponibles aquí: https://github.com/jojje/win32-loquendo/ (bajo PlayOnLinux y mi último enfoque fue intentar ejecutar ruby ​​directamente bajo Linux (sin emulación) con rvm, pero tuve muchos problemas al intentar instalar las gemas en una instancia de 32 bits, al menos la versión de 64 bits de Ruby en Windows no funcionó)

  • Preguntar en el repositorio de eSpeak: https://github.com/espeak-ng/espeak-ng/issues/836

  • Preguntando en RHVoice: https://github.com/Olga-Yakovleva/RHVoice/issues/247

  • Preguntando a Escolha Tecnologia, ya que ellos también usan estas voces. Pero me dijeron que no revelarían ningún secreto sobre su negocio.

  • Enviando un email a Nuance, ya que compraron Loquendo en 2011 y tenían Loquendo disponible hasta 2017. Y como dije sé que hay versiones de Linux disponibles porque están indicadas en el Manual de Instalación. (Aunque estoy pendiente de llamar este lunes al soporte técnico: https://www.nuance.com/es-es/about-us/contact-us.html a ver si con suerte siguieran dando soporte a Loquendo, pero dudo que un producto de hace 10 años lo tenga, y a parte que no soy ni cliente...)

  • Intentando cargar la librería con PHP ffi, intentando recrear lo mismo que hizo el proyecto win32-loquendo, sin suerte.

  • Preguntando a Javier Mikel Olaso (encontré su correo electrónico en Google), como hizo una tesis doctoral usando Loquendo en Linux: https://addi.ehu.es/bitstream/handle/10810/27565/TESIS_OLASO_FERNANDEZ_JAVIER%20MIKEL.pdf

  • Como dije, vi que el Manual de instalación tiene referencias a su producto en Linux. Descubrí que la biblioteca Loquendo TTS tiene el siguiente nombre en Linux: libLoqTTS7. Entonces busqué esa palabra con Google Dorks, y solo encontré referencias a GPS / Foros de Tomtom ...

  • Intentando localizar los objetos compartidos para i368 o amd64 en Linux, como se indica en la instalación manual de la guía de usuario (PDF) del producto original de Loquendo.

Por esta razón, mi último intento es emular las bibliotecas ARM instalando qemu-user-static y usando /usr/bin/qemu-arm-static (como MinusFour me recomendó, aunque también me dijo que lo más seguro que no funcionase) (ya que creo que este será el método menos costoso en lo que a uso de recursos se refiere). Pero para esto, tendré que realizar cross compile del programa text2audio para que sea compatible con la arquitectura ARM, si no, gcc mostrará el siguiente error: error adding symbols: file in wrong

Como me veo obligado a compilar el código de text2audio para la arquitectura arm, he decidido instalar la versión gcc para esta arquitectura siguiendo este tutorial: https://www.acmesystems.it/arm9_toolchain

Este fue el comando que usé para compilar mi programa c:

Código (bash) [Seleccionar]
$ arm-linux-gnueabihf-gcc -L$d/sdk/linux/LoquendoTTS/lib -I$d/sdk/win/LTTS7/include -o txt2audio $d/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so txt2audio.c

Probé las versiones arm-linux-gnueabihf-gcc y arm-linux-gnueabi-gcc sin suerte. Se produjeron los siguientes errores:

Citar/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `pow@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fwrite@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_detach@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `sprintf@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `printf@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `stderr@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strchr@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `sqrt@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `strncat@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fread@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `localtime_r@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `shmget@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `getpid@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `dlclose@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `log@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `gettimeofday@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `strspn@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `memset@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `puts@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `gethostname@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `stdout@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `getenv@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `opendir@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strstr@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_cond_init@GLIBC_2.3.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `semctl@GLIBC_2.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fseek@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `fscanf@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `shmat@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `clock_gettime@GLIBC_2.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `remove@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fileno@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `__ctype_b_loc@GLIBC_2.3'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_mutex_destroy@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `exp@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fputc@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fgets@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `semop@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `__strtod_internal@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `dlsym@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `time@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strrchr@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `shmdt@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `dlopen@GLIBC_2.1'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `sin@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `rand@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_cond_wait@GLIBC_2.3.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `readdir@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `nanosleep@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `__strtol_internal@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `log10@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `closedir@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strncmp@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_self@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `sscanf@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_cond_signal@GLIBC_2.3.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `ceil@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `strcspn@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strcat@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `fclose@GLIBC_2.1'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fgetc@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `memmove@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strpbrk@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strcpy@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strncpy@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_mutex_lock@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fprintf@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `free@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `srand@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `mmap@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fnmatch@GLIBC_2.2.3'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_join@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_create@GLIBC_2.1'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `realloc@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strlen@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `memcpy@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `stdin@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_mutex_unlock@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `strcmp@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_cond_destroy@GLIBC_2.3.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `dlerror@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `__ctype_toupper_loc@GLIBC_2.3'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_cond_timedwait@GLIBC_2.3.2'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `modf@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `malloc@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `memcmp@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `pthread_mutex_init@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `cos@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `semget@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `ftell@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `fputs@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `fopen@GLIBC_2.1'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLTTS7Util.so: undefined reference to `munmap@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `putchar@GLIBC_2.0'
/usr/lib/gcc-cross/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/bin/ld: /xxx/tts/sdk/linux/LoquendoTTS/bin/libLoqTTS7.so: undefined reference to `fflush@GLIBC_2.0'

Revisé la siguiente respuesta (en StackOverflow) que sugería usar el comando man seguido del nombre del símbolo, por ejemplo, man pow sugiere usar la bandera -lm (siempre después del argumento -o) ...

Lo probé sin suerte. Creo que el problema está en la versión GLIBC que requiere el objeto compartido.

Entonces, ¿cómo puedo usar una versión diferente en el proceso de compilación cruzada para ARM y GLIBC 2.0?
#2
Buenas chicos, veréis tengo el siguiente problema desde hace un tiempo. Contaté un server de OVH para hostear ciertas webs y servicios. La cuestión está en que te tenido problemas constantes para configurar las interfaces y el tema del port forwarding.

El sistema está configurado usando un Proxmox  como anfitriona y una debian como MV huesped. Tuve que crear una interfaz virtual, a la cual está enganchada la debian (sin DHCP) con una configuración estática.

He querido abrir puertos de forma rápida y sencilla, pero no he podido. Utilizaría casi por seguro una interfaz web aunque fuese como la que ofrece IPCop, pero paso de meterme en más embrollo.

Así que ya puestos a editar el archivo "/etc/network/interfaces" creé la siguiente config.

auto lo
iface lo inet loopback

iface enp4s0 inet manual

iface enp5s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address  <ip_publica>
        netmask  24
        gateway  <gateway_publica>
        bridge-ports enp4s0
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address  192.168.x.xx
        netmask  24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '192.168.x.0/24' -o vmbr1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.x.0/24' -o vmbr1 -j MASQUERADE
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.x.55:80
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.x.55:80
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.x.55:80
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to 192.168.x.55:22
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to 192.168.x.55:22


Donde 192.168.x.xx es la IP de la vmbr1, y 192.168.x.55 es la IP de la debian.

La cosa está en que cuando hago "ifdown vmbr1; ifup vmbr1" para reiniciar dicha config el siguiente error me asalta:

Citariptables: No chain/target/match by that name.

Por 2-3 veces.

Y después:

CitarWaiting for vmbr1 to get ready (MAXWAIT is 2 seconds).




El caso es que no se a que se debe... Y al verdad es que mosquea bastante, ya que por un lado no tengo como verificar si los puertos estan abiertos y apuntando a donde yo quiero.

Es más hay veces que el SSH de la Debian funciona y parece que es por pura casualidad. Y otras sin embargo ni la consola del Proxmox quiere abrir, en fin, que no sé que está ocurriendo y necesito 2 cosas:


  • Hacer el port forwarding
  • Saber de un metodo que me aseguro que está funcionando

Un saludo.
#3
Buenas chicos, me gustaría sniffear un websocket por tal de conseguir cierta información (no sensitva) acerca de los hits que reciben ciertos repositorios asociados a un servicio de terceros el cual expone dicha información, con el único propósito de analizar esa información, crear un ranking y analizar ciertas tendencias e información estadística de repositorios en Github.

Explicado mi propósito, os comento el problema que tengo... Resulta ser que  he tirado por el camino sencillo y me he buscado un cliente de Websockets, el cual se conecte a un servidor, en C#.

Aquí está la url donde se expone dichos datos: http://hits.dwyl.io, como véis en el source code se está utilizado Socket.io para conectarse a dicho websocket. En la consola se muestra un error 400 (donde se muestra con una clave/sid de acceso: "ws://hits.dwyl.io/socket.io/?EIO=3&transport=websocket&sid=6qKFrfR_NwJSJwqPAAOL", de esta clave hablaremos ahora después).

La cosa está en que yo en C#, estoy usando esta lib (https://github.com/sta/websocket-sharp#websocket-client), la cual tiene un ejemplo claro.

He intentado conectar el websocket a esta uri: "ws://hits.dwyl.io"

Código (csharp) [Seleccionar]

           using (var ws = new WebSocket("ws://hits.dwyl.io"))
           {
               ws.OnMessage += (sender, e) =>
                   Console.WriteLine(e.Data);

               ws.Connect();
               Console.ReadKey(true);
           }


Pero recibo el siguiente error:

Citar16/08/2019 6:16:12|Fatal|WebSocket.doHandshake|Not a WebSocket handshake response.

Googleando un poco, todo apunta a que se requiere algún tipo de SSID/key para poder acceder a la petción o algo, he estado mirando el source code de socket.io (https://github.com/socketio/socket.io/blob/e0b2cb0c5a9af768a48c43f65643412cc8edc7df/docs/API.md y la documentación), pero sin suerte, no he encontrado nada relevante, ni si quiera definiciones de eventos como aquí ponen (http://hits.dwyl.io/client.js) "news" o "hits". Ni si quiera he encontrado algo en una base de datos de exploit para la version 2.0.3 de socket.io... Así que por ese motivo, dejo que me guiéis en este rompecabezas, para ver que podría hacer al respecto.

Un saludo.
#4
Muy buenas, aquí os traigo una nueva release de un pequeño util que he desarrollado esta tarde.

Básicamente, se trata de una librería de unas 300+ líneas que replica el comportamiento del autocompletado de rutas que presentan algunos terminales de sistemas como Unix o Windows.



Una imagen dice más que mil palabras.

Bastante sencillo de usar. Los controles son los siguientes (se tiene que escribir "/" para poder empezar):


  • Tabulador: Para ver las posibles rutas
  • Flecha arriba/abajo: Seleccionar entre varias opciones disponibles
  • Flecha izquiersa derecha: De/Autocompletar caracteres sugeridos

Estos son los métodos que se usarán:

Código (csharp) [Seleccionar]

PathHint.ReadLine() // Mostrar sin nada
PathHint.ReadLine(string) // Mostrar con un texto
PathHint.ReadLine(string, enum, string, ConsoleColor) // Opción más avanzada, donde se puede elegir entre distintos estilos, un Regex y el color a usar cuando se sugiera una ruta


ENLACES


Un saludo.
#5
Desarrollo Web / Recomendaciones para hostear
17 Julio 2019, 22:20 PM
Buenas estoy diseñando una página web para un cliente y me gustaría dar la mejor impresión posible.

Pero claro, tengo la duda de que no se que servicio utilizar, estoy entre estos 4 candidatos: Plesk, Heroku, uno con cPanel (Hostgator) o un server dedicado (OVH, Kimsufi, etc etc)...

Que me recomendáis?

Para mi cada uno tiene sus pros y sus contras, pero me gustaría escuchar una voz experta sobre el tema.

Gracias.

Un saludo.
#6
Hola gente, después de cierto tiempo aquí vengo con un nuevo tema, que creo que va a ser larguillo, pero bueno. Lo he puesto en "Ing. Inversa" porque es a lo que más se le asemeja esta duda, creo...

En fin, la cuestión está en que hace algún tiempo, encontré una aplicación que te escribia dos entradas en el archivos /etc/hosts para anular la publicidad proveniente de Spotify.

Cosa que Spotify no hace mucho ha arreglado, por lo que ahora cualquier canción nueva que tenga que ser reproducida no se va a escuchar al menos que los anuncios se reproduzcan antes.

Bueno, la cosa está en que no hace mucho encontré este repositorio (Spotify1710), lo estuve mirando así por encima, ya que yo de C++ tampoco entiendo mucho y bueno, pues lo probé y vi que no funcionaba (Spotify crashea) asi que me puse a hacer lo mismo pero en C#. (Quizás debería de probar una version más antigua de Spotify?, ya que hay varias releases...)

Según he visto como funciona esta utilidad lo que se hace es inyectar una (managed) DLL dentro un (unmanaged) proceso. Esto es posible gracias a una librería llamada "SharpNeedle"...

La cosa está en que todo funciona perfectamente... He creado hasta un sistema de sockets para recibir mensajes desde dentro del proceso de Spotify hasta una consola)...

Todo funcionaba, hasta el momento que dije de reimplementar la segunda parte que es la de modificar un método dentro de Spotify, el proyecto original utiliza Detours. Aquí es donde digo que creo que falla todo (tanto en mi version como en la versión hecha en C++ por Meik1710, como digo debería de probar versiones antiguas de Spotify).

Yo para esto utilizo un wrapper para .NET llamado "detours.net", con el cual ando un poco perdido como podréis comprobar: https://github.com/uta-org/SpotifySharper/blob/master/SpotifySharper.Injector/Tools/SpotifyPatchAds.cs#L186 (como veréis no tengo ni idea que puntero pasarle como parametro, he estado mirando el código original, pero como es posible obtener un puntero de una void? Yo he recreado esto con la clase "GCHandleProvider", pero vamos que estoy dando palos de ciego...)

Pero la cosa está en que dentro de lo que cabe, no todo está perdido, no he llegado a un punto muerto aún. (O quizás sí, no lo sé), el caso está en que Spotify me ha generado un archivo *.dmp por cada crash, pero el WinDbg no me muestra nada... Me muestra el siguiente error:

CitarThis dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(30e0.4a58): Access violation - code c0000005 (first/second chance not available)
For analysis of this file, run !analyze -v

* El cual no entiendo *

Con VS2017 la cosa cambia, me muestra "The thread tried to read from or write to a virtual address for which it does not have the appropriate access.", lo que me quiere decir que el puntero que he usado para leer y modificar el metodo a traves del delegado era erroneo. (Es decir, esto --> lo mismo pero en C++, supuestamente lo he implementado bien no?)

Como puedo obtener el puntero de una función? O como puedo obtener a que módulo pertenece un una dirección de memoria especifica? (al menos para saber que debería probar de decompilar), la verdad que no estoy seguro de nada... Para ser sinceros, necesito ayuda de cerca. He estado mirando el PInvoke en busca de pistas (ya que dentro del Kernel32.dll existen metodos para obtener cosas parecidas, como por ejemplo: "GetModuleHandle", lo que se me ocurre quizás es probar a obtener la dirección de memoria para cada modulo, y acotar entre dos modulos una dirección de memoria, pero no se si daría resultado, lo daría?)

Otra de las cosas que me ralla del tema es que con detours.net, por lo visto el funcionamiento es bien sencillo:

Código (csharp) [Seleccionar]
namespace myplugin
{
   public static class Logger
   {
       // Declare your delegate
       public delegate int CoCreateInstanceDelegate(
           Guid rclsid, IntPtr pUnkOuter,
           int dwClsContext, Guid riid, ref IntPtr ppv
       );

       // And now declare your hook
       [Detours("ole32.dll", typeof(CoCreateInstanceDelegate))]
       public static int CoCreateInstance(
           Guid rclsid, IntPtr pUnkOuter,
   int dwClsContext, Guid riid, ref IntPtr ppv
       )
       {
           // Call real function
           int result = ((CoCreateInstanceDelegate)DelegateStore.GetReal(MethodInfo.GetCurrentMethod()))(rclsid, pUnkOuter, dwClsContext, riid, ref ppv);

           Console.WriteLine(" {" + rclsid.ToString() + "} {" + riid.ToString() + "} " + result.ToString("x"));

           return result;
       }
   }
}


Pero claro, como digo, los métodos "CmdAddTextGAIA", "CreateTrackPlayer", "OpenTrack", "CloseTrack", deben de estar definidos en alguno de los módulos que estan ejecutandose dentro de Spotify, que no son pocos según muestra Process Explorer: https://pastebin.com/qp8pha3H

Pero como digo no se como obtener dicho modulo, quizás este en el propio Spotify.exe... Voy a probar a usar algo de aquí, porque por lo visto Spotify se ha actualizado a una nueva version, la "1.1.10.540".  :rolleyes:

Un saludo.
Gracias por leer el tocho.
#7
Foro Libre / Algo raro está ocurriendo...
30 Noviembre 2018, 14:06 PM


Quizás no se den cuenta, pero el easteregg empieza por w y acaba por n. :silbar:

Me da curiosidad saber porque razón ya no está en oculto su conexión. :silbar: :silbar:
#8
Buenas, con esta aplicación creada con unos cuantos plugins de .NET entre los que se encuentran el CommandLineParser, el EasyConsole y el Selenium (y mi ingenio), he conseguido hacer esta aplicación que básicamente lo que hace es borrar (o si no no lo prefieres) y hacer backups tanto de la Inbox como de la Outbox (bandeja de entrada y salida) del foro.

Para ello necesitamos Visual Studio (para poder compilar el proyecto, por el momento), Windows y tener instalado Chrome.

Una vez descargado el proyecto, necesitaremos configurar el CLI, yendo a las Opciones del Proyecto > Deupración > Argumentos de línea de comando y escribir nuestros credenciales con el siguiente formato: -u <usuario> -p <contraseña>

Ejecutaremos, y gualá, ya tendremos la bandeja vacía o lo que sea que queramos tener vacío.

Capturas de pantalla:




Link de descarga: https://github.com/z3nth10n/EHN-Macros

Un saludo.

PD: Lo he compartido por Github por si alguno se anima a hacer alguna macro.
#9
He hecho una aplicacion (que luego mostraré) la cual te hace una copia de seguridad de los mensajes privados del foro y luego los purga, pero por error, he borrado unos muy importantes para mí, fueron los primeros que escribí a un buen amigo mío y los recuerdo con cariño, tanto a el como a los mensajes, y por ello me gustaría saber si hay alguna forma de recuperarlos (si se mueven de la base de datos o se hace "DELETE" sin más, quizás de alguna backup que hiciese el-brujo en algún ataque).

Un saludo.
#10
Hola, tengo una duda, estoy pensando en realizar una aplicación, y desde que estoy en las prácticas de una empresa de Almería he visto algunas cosillas interesantes que me gustaría llevar a la práctica, pero claro, soy novato y me gustaría saber como de segura sería la siguiente implementación.

Os pongo en situación:

Hace unos meses estuve pensando en una aplicación, la cual ofrecía un panel con diversas funcionalidades (frontend) para los clientes/usuarios de dicha aplicación. Y esta a su vez, tenía que comunicarse con una base de datos. Así que, por temas de seguridad, lo que acabe haciendo, fue una aplicación en C# (backend) que se comunicaba con la base de datos lanzando sentencias SQL contra ella, una API vaya.

Entonces, claro, mi duda está en que si podría saltarme este paso intermedio, y obviar la aplicación backend, ya que es un rollo implementarla.

Lo que se me ha ocurrido, desde que estoy en esta empresa, es que lo más común es usar procedimientos almacenados (Stored Procedures) que están en SQL Server, en Oracle y en MySQL (no es algo especifico de unos cuantos softwares propietarios).

Y he visto, que todas las aplicaciones, llaman a sus procedimientos almacenados desde una API integrada en el mismo frontend. Y sí lo hacen así supongo que será porque es seguro.

Y tiene lógica, ya que realmente tu no estás viendo la sentencia SQL que se está ejecutando, simplemente, el procedimiento almacenado te trae datos, o los inserta, pero de forma controlada.

Es decir, que un hacker, no podría borrar o alterar la base de datos a sus anchas, si no conociese los procedimientos almacenados. Y no tuviese los permisos correspondientes para cada ejecucción.

Con permisos me refiero a que si, el usuario el cual realiza la petición no tiene dentro de una tabla X (donde hay una columna que especifica su rango de permisos) la cual no tiene permisos, este no podría hacer nada.

La idea está en que dentro del mismo procedimiento almacenado, se llame a otro procedimiento almacenado, el cual haga comprobación de credenciales, de rango, etc etc (para el caso de lectura de datos sensibles, insertar, modificar, borrar o alterar la estrctura de tablas (esto último debería de hacerse desde la propia base de datos)).

Ahora, lo que me sigue fallando es el tema del login.

Lo que se me había ocurrido, es lo siguiente, hacer 3 usuarios de SQL:

- Invitado: Este solo tendria acceso a comprobar los credenciales en la tabla correspondiente. Una vez realizada la conexión se le devolveria una string de conexión como usuario. Y se le crearía una string de conexion en otra tabla la cual no tendria acceso.
- Usuario: Este tendria los permisos estandar de un usuario.
- Administrador: Si se requiriese que la propia aplicación tuviese un panel de administración, pues este seria el usuario de conexion a la base de datos.

No me mola el hecho de devolver strings de conexión. Lo que me gustaría sería, que al conectarse el usuario, se le devolviese un objeto con la conexión la cual solo podria usar desde esa propia sesión.

Y lo mejor de todo, es que me gustaría implementar todo esto que digo de forma que un usuario cualquiera solo pudiese acceder a la cuenta de otro usuario si conociese sus credenciales. Por que sería muy sencillo pasarle en vez de una ID de usuario otra ID de usuario y santas pascuas, por ello lo de la string de conexión.

Pero son conceptos que están muy en el aire y no se muy bien como aplicarlos.

Asi que cualquier guía ayuda no estaría de más.

Un saludo y gracias.
#11
Hola, en ese caso, significa que tiene la bandeja de entrada llena??

Más en concreto, es por @OmarHack, que hace ya un siglo que no hablo con el... :P

Un saludo.
#12
Hola buenas, tengo un pequeño cacao con este tema, y pues quería preguntarle a vosotros por si ya os han resuelto este tema con anterioridad.

En España, y bueno, supongo que este concepto está en todos lados. Trabajar por cuenta ajena y por cuenta propia. Tengo la duda, de que por ejemplo, tu desarrollas una aplicación para la App Store o subes un producto que sea de pago. E imaginemos que inviertes en publicidad y te haces un hueco en el mercado. Digamos de unos 20.000€ brutos al año.

Vale, hasta ahí guay, estás en un planeta donde el dinero es de todos y hay que declararlo y dárselo a unas personas muy bonitas que se lo gastarán en sus trajes y en sus caprichos (no estoy atacando a ninguna ideología, si no a la política en general).

Dejando de lado a donde va el dinero de un estado público. Tengo la duda, hace falta ser autónomo y declarar dinero como si estuvieses trabajando por cuenta propia en este caso?

Es decir, ya se que esta duda es más cosa de hacienda que de un foro de Informática, pero a lo mejor alguien ya está haciendo esto y sabe sobre el tema, a que modelo está sujeto el desarrollo y venta de aplicaciones informáticas para un público internacional?

Otra duda que tengo, que en caso de necesitar declarar este dinero como autónomo, necesitas declarar el IVA, la cuestión, es que yo sobrentiendo eso a alguien que sea minorista, y claro necesita dar un IVA (un recibo) de los productos que reciba de su mayorista. Pero en el caso de un desarrollador que no tiene un mayorista, como va la cosa?

En mi caso, yo pregunto, si te pones a desarrollar aplicaciones para Unity en su Asset Store ocurre una cosa curiosa, y es que si tu la divisa la pones en dolares, el precio pues es el mismo que pone el usuario que vende dicho producto, si lo pone a 15$ pues van a salir 15$, sin embargo, si tu haces el cambio a euros, el cambio ahora mismo debería ser de unos 12,27€, sin embargo estás pagando unos impuestos según te dice la página:





Estos impuestos no tienen que ver nada con lo que tu luego te lleves del total de ventas, por que vas a tener que volver a declarar otros impuestos (IVA, IRPF, Seguridad Social y alguna que otra cosa más que he leído por ahí), no?

De aquí he sacado info: https://laaventuradelespacio.com/impuestos-pagar-freelance-espana/#Es_obligatorio_darse_de_alta_en_el_regimen_de_autonomos_para_legalizar_la_situacion

También mencionan excepciones, hay excepciones a la hora de declarar impuestos en alguno de esos apartados? Leí hace tiempo algo de compra venta o no se, voy a buscar a ver si lo encuentro, pero no me fio de ninguna fuente.

Un saludo.
#13
Hola buenas, mi pregunta es sencilla, porque no se añade un tag de spoiler y se obliga a los usuarios a usarlo para contenidos muy grandes?

http://custom.simplemachines.org/mods/index.php?mod=195

Si no se quiere perder contenido, pues se podría hacer lo tipico, una caja:

Citar
... contenido ...

...
...
...
...

--- Leer más --

Con el contenido cortado, y un botón "Leer más" para visualizar todo el contenido.

Lo digo, porque en el móvil se hace eterno scrollear temas muy largos. Uso Windows Phone, Tapatalk no es una opción

Y otra cosa, MSN murió hace ya años, porque sigue existiendo una campo para el perfil? O al menos, renombrar este campo.

Un saludo.
#14
Hola buenas, pues no es que le haya puesto mucho currele a las estadísticas que acabo de representar del foro, de hecho, me gustaría hacer algún tipo de página para poder visualizar dichas estadísticas como en SocialBlade, pero bueno, es interesante verlas, por si alguien las quiere ver:

https://drive.google.com/open?id=1VBavzQTIm0Gpqf1ilnx9tIMq997ZNAka

Hace 3 años y medio hice algo similar para la página de Taringa:

https://drive.google.com/file/d/18SuWU4hSTXu8039JVtK-2XPIIjqQwcGE/view

Aquí unas cuantas imágenes:











La flecha azul representa cuando conocí el foro (Febrero-Marzo 2011) y me registre (Mayo 2011), y la naranja cuando empezé a ser activo justo un año después. (Mayo 2012)

Tanda de preguntas:

Una de las primeras dudas que me surgen es cual es el motivo de porque las estadísticas no están disponibles para los visitantes. Supongo que será para que los visitantes no peten la BBDD, ya que bueno, la forma de recolección de SMF si no mal recuerdo para estos casos era un poco rudimentaria no? Puede que haya algún motivo más que se me escape, así que por favor, hagan los honores.

La segunda pregunta que me surge y de las casi más evidentes, que le ocurrió al foro o más bien a las estadísticas desde el 03 de Enero de 2006 hasta el 17 de Junio de 2008.

La tercera pregunta, es que ocurrió en 2009 para que 9000+ usuarios se conectasen ese mismo día y de forma simultanea al foro...

La cuarta pregunta, como es posible que en Septiembre de 2004 tantos usuarios se registrasen en un mes (17000+).

En diciembre de 2002 según las estadísticas, apenas si habia 4000 usuarios en el foro y se escribieron más de 7000 posts en ese mes, quien/es tuvieron la culpa?

Dos preguntas más, la primera, es porque si la ultima ID ahora mismo por ejemplo, el usuario jaimeuxxxxxx tiene la ID 583553, sin embargo, hay unos casi 300000 usuarios registrados (lo de la limpieza si lo sé), y sin embargo, acumulando estadísticas, la cantidad llega a 777000+ de usuarios, donde estan esos (777 - 583 = 194k de usuarios que no tienen una ID). Mi lógica lo que me dice es que tras multiples limpiezas la últimas IDs quedaban libres, pero no se han realizado tantas limpiezas como para borrar de forma secuencial, es decir, hacer retroceder el AUTO_INCREMENT unas 194k plazas.

O quizás si? https://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro/limpieza_usuarios_del_foro_diciembre_2016-t461854.0.html aún me sigue sin cuadrar.

Y... Por qué si desplegamos un mes de las estadísticas del foro hay un montón de nulls?



Yo creo que con esto, ya he saciado mi tandas de preguntas. Por último, decir, que es una pena que los foros lleven muriendo desde hace tanto tiempo, pero bueno, no dejan de ser comunidades donde se comparten experiencias con usuarios, y si uno se van, otros 10 más se van a ir. Es así, pero bueno, es lo que ocurre las tecnologías van muriendo a favor de otras.

Un saludo.
#15
Hola buenas,

perdonad que escriba así el título, pero es que si no cabía, y la pregunta fundamental era esa, la de saber de si hay alguna clase o forma de inicializar  la clase FileSystemWatcher para que no haga tanto uso de CPU cuando no sucedan cambios. A ver, tener, tiene sentido, ya que mientras que no se haga cambios lógicamente, FSW estará constantemente buscando en directorios y subdirectorios por si hay algún cambio.

El problema está precisamente, en cuantas veces busque en un segundo cambios, ya que si hablasemos de que se revisa cada 10 segundos, pues seguramente, no hubiese tanto consumo de CPU, lo que pasa que esta clase está hecha para eso, para detectar cambio a cambio, a mi me da igual si hay 20 cambios en una hora, la cosa es que me notifique, aunque haya un delay de 5 segundos.

Por ello, tengo la opción de construirme yo mi propia clase, y hacer dicha hazaña, pero me gustaría saber si hay alguna clase ya en .NET que haga esto, o algún recurso del vuestro el cual no tenga localizado para usarlo en mi API, ya que es deprimente ver un consumo del 15% sin hacer nada, en el Editor de Unity. Así a parte, de ahorrarme trabajo, no tengo que andar optimizando y os puedo dar un poco de promoción por la API, of course, hay mención pal que lo quiera.

Que feo me está quedando el post.... :xD

Ya no hablemos pues de crear 6 FSW, entonces tendríamos un consumo del 90%?

A ver que me podéis decir sobre esto.

Gracias y...
Un saludo.

PD: https://stackoverflow.com/questions/26939734/c-sharp-filesystemwatcher-high-cpu-load-when-no-change-happen-to-directory
Esta es precisamente la duda que yo tengo, pero no hay respuesta, por si queréis llevaros algún puntín.
#16
Hola buenas,

veréis pues estoy un poco cansado de tener problemas con los hostings, tras un largo tiempo de estar hosteando webs he llegado a la conclusión de que lo mejor que uno puede hacer es pagar por un servidor dedicado con Debian o montarse uno en casa, si puede costearselo.

Mi problema actualmente ahora este:



La reliquia de hosting que uso es hostinger, que el único problema que daba era un poco de lentitud y tal en la conexión al a base de datos y poco más, pero no me quejaba tenía paciencia, ahora me doy cuenta lo capado que está el sistema, que los guarros ni te dejan mandarles un ticket de forma gratuita. Lo que quiere decir que no hay vuelta de hoja, eso es una encerrona barata para que te gastes los cuartos en ellos, pues han perdido un cliente. (No solo por esto, si no por más motivos)

Como por ejemplo, que Hostinger hace que mi Avast se vuelva loco con los falsos positivos, y si eso lo trasladamos al cliente es una *****.
Que si por lo que sean se meten dentro de la web y meten porno, por ejemplo, te borran la web sin opción de volver para atrás, así hayas pagado 500€ por adelantado (porque querías estar sin pagar 3 años sin pagar) el día de antes.

Antes usaba x10Hosting que no estaba mal ciertamente, pero el hecho de tener que estar conectándose cada mes al panel era un poco cansino. Así me tiré creo que 3 años.
Y de vez, en cuando alguna caída. Pero bueno, no me quejo. Pero paso.

La cosa está en que, que me recomendáis que haga? Hay algún hosting gratuito que no sea así de *****, o los días de 000webhosting y Eshost han llegado a su fin, y la única forma de estar tranquilo es pagando? Si es que, veo los hostings que hay ahora, y es todo una porquería, pagar por cosas que deberían ser gratuitas, antes había mejores prestaciones, no se que le ha pasado al servicio hosting.

El problema es que no hay dinero ahora mismo para nada. Ni para comprarse una chuche. Estoy viviendo en la casa de mis padres, la suerte que tengo que es que tengo linea y electricidad forma gratuita.

Otro problema que tengo es que, la línea que tengo es de 10Mbps, y paso de que se sature la subida, porque es ADSL e irá como mucho 1Mbps, o sea, que para pocas visitas al día tampoco es nada, pero igualmente, le sigo temiendo a otras cosas como los DDOS y el contrato actual de mi linea no cubre eso.

Por otro lado sin embargo, he estado haciendo benchmarks a la máquina y aguantaría bien un tráfico de 100.000 hits al día, cosa que no me asusta.

Otro problema por ejemplo, sería el tema de los SMTP, que necesito uno con gran urgencia porque actualmente nadie se puede registrar en mi página (por la confirmación por correo), y corro el peligro que mi ISP me quite el acceso a Internet si detecta que no lo tengo protegido con un anti-spam y lo están usando para Phising, me lo blacklistean y ale, a la ***** todo. Por ello, tanto si me paso a Kimsufi (que es un muy buen servicio reitero) o lo hago desde mi casa, lo del SMTP lo tendré que hacer por otro lado, si por lo contrario me decís un hosting gratuito que merezca la pena y que no de asco nada más verlo, por mi encantado.

Volviendo al tema de Hostinger, y lo ***** que es, me encantaría ver que es lo que usan para capar de forma tan bestia los de Hostinger su servicio de hosting. Mi portatil verde del TIC de la Junta tira más que eso. Es que, como os explicáis que por instalar 2 plugins seguidos con Wordpress ya la web empieza a dar 500 Internal Server Error.



Ahora los hijo putas (Alex, esto debería estar censurado... xd) me han metido un descuento del 60%, ya claro, que se guarden el dinero, lo van a necesitar.

Luego, pone más abajo 3x más de velocidad en Wordpress... En fin, están demostrando ellos mismo que para correr bien Wordpress necesitas pagar, seguro que si le metiese Prestashop iría bien, incluso mejor. Si es que hay que joderse. Lees esto y se te van las ganas de todo. :¬¬

Lo que habrá pasado seguramente, es que ya se hayan vuelto a meter los ***** bots a tocar las narices, y hayan generado tanto tráfico que haya saltado la alarma, me voy a ... en el que dejo que los bots atacasen a los CMS gratuitos. :rolleyes:

Así que no tengo mucha opción:

- Volver a x10Hosting
- Hacer dinero y comprarme un servidor dedicado en kimsufi, que es el unico que no me ha dado problema. Le instalo lo que necesite, apache, mysql, ftp, etc etc y a rular.
- Jugarmela con mi servidor casero.
- Encontrar un hosting alternativo que me digáis vosotros.

Que me decís?

Un saludo.

PD: Administradores y moderadores, disculpen mi enfado, soy así de cascarrabias, y la mayoría de las ultimas cosas que he dicho lógicamente, no son ciertas, son tonterías, como lo de Wordpress optimizado, realmente si tiene sentido, aunque de rabia leerlo, es así, la gente se fija en esto porque es lo que vende. Y más cosas que he dicho, meras tonterías para desahogarme.

PD2: Las alternativas gratuitas que estoy viendo, son cancerígenas, no tienen ni diseño responsable, eso ya dice mucho... ;-)

PD3: Voy a probar este hosting que me ha convencido: https://www.awardspace.com/free-hosting/
#17
Hola buenas,

pues tengo unas cuantas máquinas virtuales en mi servidor, entre los que tengo un Linux (Debian 8 creo) y Windows (Server 2016 GUI), y bueno, en cada cual tengo instalado sus correspondientes servicios para Web, IIS y Apache. La cosa, es que estoy buscando una tool que me estrese la CPU a base de peticiones SQL para ver cuanto soporta.

Estoy buscando en internet y no veo nada así, veo scripts y cosas, pero ni idea de como se usan.

Hay alguna aplicación, en plan un paquete Tar.Gz o RPM o lo que use Debian y un Exe para Windows que tenga un botón, conecte con el MySQL que tengo instalado y me haga la prueba?

Gracias.
Un saludo.


EDITO: O pensándolo mejor, una tool que conecte en red con mi servidor y envíe un montón de concurrent users para ver que ocurre, y sacar un diagnóstico.

Quizás se me ocurre con LOIC hacer algo así para estresar mi sistema y en el otro lado, meterle al apache un montón de plugins para diagnosticar, como Logstalgia, pero claro, necesito conocer más.
#18
Hola buenas,

tengo una duda, que hacéis vosotros para estar despejados para programar, os contextualizo mi duda. Cuando yo me pongo a programar, llega un momento, que me hago pajas mentales y acabo rompiendo el código, básicamente, porq llega un punto donde la cabeza no me da, y en vez de programar, desprogramo.

Esto lo arreglo, viendo vídeos, metiéndome al foro, la cuestión es que, necesito muchas veces de esto para poder tener la mente despejada. Quizás de 4 horas que programo, 2-1:30 horas de estas me las tiro vagueando por ahí. A no ser que esté lo suficiente motivado. Y antes recuerdo, que descansaba menos.

Que hacéis vosotros? Salir a dar vueltas? Necesito saber de algo, para probar para poder despejarme más rápido, y que al menos, de esas 4 horas, 30 minutos sean de descanso.

De hecho, recuerdo que antes programaba más seguido, eso sí, hacia unas bolas de código impresionante.

Un saludo.
#19
Hola buenas,

hablo de un script, proyecto o lo que sea, que habéis tardado mucho o poco, pero que os haya supuesto un gran esfuerzo.

Por ejemplo, yo cree un proyecto en Unity, el cual le pasabas una imagen en 2D y te creaba edificios en 3D, que por cierto, aun no he creado los edificios, me quedé en que obtuve las esquinas de los edificios tras múltiples interpretaciones a una imagen, pero no llegué a hacer bien el siguiente paso. El proyecto lo dejaba y lo retomaba, lo que me hizo que empezase en octubre/septiembre de 2016 y acabase en marzo/abril de este año.

https://themindheist.files.wordpress.com/2015/03/gta_usa_map3.png

Un saludo.

PD: Aún así, me sabe que no lo hice bien... Pude haberlo hecho en menos, pero no estaba motivado. Y tampoco es que sea una cosa del otro mundo. Pero a mi se me hizo muy cuesta arriba la lógica.
#20
Hola buenas,

creo que he sido claro, no encuentro una respuesta, por lo que creo que no se puede, de hecho, creo que lo que formulo no tiene sentido. Dentro de mi cabeza sí.

Por ejemplo, tenemos:

Código (csharp) [Seleccionar]
public class Saludo
{

 public object tipo;
 private string cagonto;

}


Código (csharp) [Seleccionar]
public class Hola : Saludo
{

 public void Iniciar() {
   cagonto = ""; // CS0122, error de accesibilidad, lo que significa que es bien, en Intellisense no sale nada.
 }

}


Esta es la única forma de hacerlo, pero claro, esto significa que si quiero acceder desde fuera voy a tener que jartarme a metodos (si vengo de Java) o a propiedades en este caso, y es un poco coñazo, no hay ningún otro "estado de visibilidad (public, protected, internal, protected)" o a algún atributo que cumpla esto? Que no se pueda heredar, pero sin embargo, si de la posibilidad de ser accedido desde otra clase, ya sea por instancia o por acceso estático.

Gracias.

Un saludo.

PD: No es de vital urgencia, simplemente, es un mero hecho organizativo.

PD2: De hecho, lo propuesto no es una solución ni medio decente, pero al menos el iconito del Intellisente no me despista.



Ya veis, una variable/atributo es de color azul, mientras que una propiedad es gris y un método morado.
#21
Hola buenas,

aquí en Internet es sencillo de cambiarse de identidad, cambiando el nombre, y evitando hacer lo que antes se hacia, puedes pasar por una nueva persona.

Quería hacer una serie de preguntas para ver que me respondéis, ya que llevo tiempo pensando en cambiarme de nombre de forma definitiva este nombre, no se, no me mola se ha quedado muy en 2012-2013, cuando era un troll y un niño rata. Ahora estoy buscando un nombre, que aunque no me identifique, porque no encuentro ninguno, al menos, sea algo más coherente, quizás palabras en español mal escritas, aunque no tengan sentido, pero bueno. El caso es que no se muy bien que hacer ni como hacerlo.

Que me enrollo, cuantas veces habéis cambiado de identidad en internet? Y por qué? Alguna vez habéis intentado desaparecer? (Como aquel que dice, aunque no se borren vuestras cosas, pero intentar que no se os relacione con la otra cuenta).

Un saludo.
#22
Hola buenas,

hoy estoy nostálgico y tengo ganas de hablar del tiempo el cual habéis estado en el foro, y cuales han sido vuestros periodos más activos.

Yo puedo decir, que aunque poseo cuenta desde 2011, estuve activo desde 2012 (un año después de haberme registrado, más o menos) hasta mediados de 2014. Después las conexiones escaseaban en 2015 y mediados 2016 fue la época de volver al foro, aunque bueno, tampoco es que haya estado muy activo, han sido varios meses, agosto, diciembre, y ahora en 2017, febrero, mayo y junio.

Y vosotros que podéis contar?

Un saludo.

PD:
Aunque no se si es por el tiempo que ha pasado, por mi inocencia (tenía 13, 14 y 15 años cuando rondaba el foro), o yo que se, que es de antes cuando recuerdo con más anhelo el foro, ahora sin embargo, me parece que está más apagado, no hay tan "buen rollo" como antes. No es que nos vayamos a matar ni nada de eso, pero como que la gente, va un poco más a su bola en ciertos aspectos. Quizás cosa mía, pero bueno, todo el mundo sabe que no me refiero a nadie en concreto, es el ambiente en general, y quién se sienta incluido, ya sabe que no, y si le tengo que mandar un MP que me lo diga. xd (Cierta gente se ralla un poco con estas aclaraciones :silbar:)

PD2: Me caéis bien todos, os tq. :xD :laugh:
#23
Hola buenas,

pues aprovechando que hoy solo he podido dormir 2 horas y media a causa de mis "irregularidades nocturnas", aprovecho para preguntar cuando es lo máximo (en horas) que habéis estado sin dormir.

Por mi parte, lo máximo yo creo que habrán sido unas 22 o 24 horas, nunca he llegado a empalmar un días completo.

Un saludo.
#24
Hola buenas,

pues nada, llevo rallado unos cuantos dias, porque no paro de leer esto:



Hoy es la última vez pero la cosa sigue igual.

Creo que es el theme que uso que está bug:



El fallo está en 2 mensajes y 30 temas.

Un saludo.
#25
Foro Libre / El juego de cambiar una letra
9 Junio 2017, 05:21 AM
Hola buenas, pues este juego no tengo ni idea si ya se hizo en el foro, pero bueno, por si no aqui traigo la idea copiada de un foro en español el cual lo saco de uno en inglés:

Pongo una palabra de 5 letras y el que sigue tiene que poner otra con solo una letra cambiada respecto del anterior.

BAJAS - PAJAS - PATAS - MATAS - ....

Pierde el que no puede continuar O COLOCA UNA PALABRA REPETIDA
Valen verbos conjugados y si la palabra es muy extraña hay que adjuntar la definición de la RAE. ¿Están de acuerdo?

REGLAS:

- Agregar una nueva palabra que difiera solo una letra de la anterior.
- Si se repite una palabra de la lista, el que puso la última palabra válida comienza una nueva lista.
- No se puede cambiar la misma letra que cambió el anterior jugador. En tal caso, el que puso la última palabra válida comienza una nueva lista.
- Valen sustantivos, adjetivos y CUALQUIER PALABRA QUE FIGURE EN EL DICCIONARIO DE LA RAE. Eso EXCLUYE personajes imaginarios o reales, a menos que su nombre figure en la RAE, en cuyo caso hay que adjuntar la definición.

Pongo la primera:

METAS

Un saludo.

Tb saludo a la bbdd, q hoy se va acordar de mi, le vamos a hacer trabajar un poco mas, no vienen de mas unas cuantas queries para desatrancar el motor. xd
#26
Hola buenas,

actualmente estoy usando una grafica un poco antigua, una de 2008 para ser exactos (la GeForce 9600 GT 512MB), el caso que bueno, va bien y es bastante potente, salvo una cosa que no consigo hacer que vaya bien, he actualizado drivers y la cosa sigue igual, y buscando opciones de configuración en el panel de nVidia, ni con el ClearType, ni nada.

Es como que en un monitor LED de 1080, se ve mas borroso, se que es de menor calidad, pero esto no me pasaba antes y no se que puede ser. Sin embargo, en el otro monitor de LCD las cosas se ven perfectas (1366x768).

He conectado por precaución el monitor al VGA directamente, y el monitor LCD a un conversor DVI-I a VGA.





Puede ser que la tarjeta gráfica no soporte 1080 de forma nativa y por eso lo vea mal?

Estuve probando una gráfica más antigua y 10 veces menos potente la 8400 GS y no me daba ese problema, me daba problemas de coloración, pero en todo momento el texto lo veía correctamente.

Otras opciones que puedo contemplar:


  • Probar conectando mi adaptador de HDMI a VGA a la ultima salida que tengo, a ver si hay suerte y se ve mejor.

Lo que ya he probado:


  • A mover los cables de entrada a la pantalla y de salida de la gráfica. - Sin éxito
  • Instalar drivers tanto del administrador de dispositivos (que siempre me ha dicho que estaban en la ultima versión, cosas que con las 2 tarjetas anteriores GeForce 8400 GS y GT 610 no me pasaba, siempre habia alguna actualizacion pendiente del controlador), como desde la pagina oficial de nVidia. - Sin éxito
  • Actualizar drivers (volviendo a reinstalar). - Sin éxito
  • Bajar la resolución del monitor que no se ve bien. - Sin éxito
  • Mirar el panel de nVidia y probar configuraciones. - A medias de probar

PD: Eso de reinstalar los drivers es curioso, porque cuando desinstalo los drivers (desde el administrador de dispositivos) por alguna razón no se porque al volver a encender el ordenador, automaticamente las 2 pantallas cogen su resolución y es como que nunca se han llegado a desinstalar

Un saludo.
#27
Hola buenas,

ya que no hay una sección especifica de virtualización en el foro, lo creo aquí, estoy buscando un sistema operativo de paravirtualización en un servidor, en plan, VMWare, XenServer o Promox, que acepten un tamaño dinámico para sus discos y también para la RAM, no se como se llama.

El caso está en que me permita que si yo tengo 3 maquinas virtuales, 4GB fisicos y 320GB de HDD, pueda hacer que las 3 maquinas funcionen compartiendo los recursos que tienen disponibles, no teniendo que fijar un tamaño fijo a estas.

Que opciones tengo? Con VMWare de pago se que tengo una opción, pero, conocéis vosotros alguna opción gratuita?

Un saludo.
#28
Hola buenas,

estaba yo configurando mi Wordpress para enviar correos desde WP, el problema está en que este me da un error 500, y es debido al hosting... 100%, porque ya he probado varias cosas y no he hecho que funcione, no hay nada mal configurado.

El puerto 465 para ssl, con el SMTP de Gmail, con autentificación, todo...

Pero aún así nada, hay alguna alternativa, otro plugin o algo que coja el mensaje y lo envie. En fin, algo que funcione con Hostinger.

Un saludo.
#29
Hola buenas,

hay alguna forma de hacer funcionar a Cloudflare, aún así hayas puesto tu sus NS, pero sigan estando los de por defecto del registrar?

Compré un dominio en register.es, ahora el problema está en que han cambiado por completo todo el panel y ya no dan la posibilidad de quitar los NS que venían por defecto de esta pagina que son los siguientes:







Como véis, tengo los NS de cloudflare junto con los de esta página, Cloudflare no va (no llega a comprobar que tiene las NS que necesita, de hecho al indexarlo, me lo dice que borre las NS y deje esas 2, y aqui ya no puedo hacer nada), entonces, que puedo hacer?

Que hago creo un ticket?

Un saludo.
#30
Hola buenas,

aún no estoy muy seguro, pero al reproducir música con Spotify mientras descargo archivos muy grandes de MEGA la conexión me da cortes, y la descarga se para, y no puedo navegar, en fin, no se que es lo que ocurre, pero es muy molesto.

Alguno más ha experimentado esto? O a alguien se le ocurre que hacer? Ya no sea por Spotify, pero que haya tendi problemas de cortes al descargar cosas con MEGA (desde el navegador) y MEGAsync.

Un saludo.
#31
Hola buenas,

veréis, por alguna razón mi FTP (solo algunos archivos) los transforma, y deter varias líneas pasan a tener una línea, he estado mirando y tiene que ver con la codificación...

Entonces he optado por subir los archivos afectados con la herramienta por defecto del cpanel, pero sigue en las mismas, he de concluir que el problema es del servidor, y que no tengo más remedio que volver a crear todo de cero otra vez en mi web?

Para que veáis lo que digo:

http://lerp2dev.com/

Un saludo.
#32
Hola buenas,

Ya decía yo que notaba últimamente el foro un tanto lento... Brujo, informa a tu pueblo :silbar: (EDITO: En esta parte estaba de broma, pero ya lo del filtro, si es culpa mía seré estupido, pero bueno, no me ha hecho mucha gracia :-\)





A que se debe?

Un saludo.

PD: Yo no mando correo, yo directamente publico por aquí jajaja

EDITO: Me he tenido que venir a Firefox a continuar, porque en Chrome, me dice no se que Falla de sesión intentalo de nuevo, supongo que será por mezclar protocolos... veremos a ver si me deja editar esto, porque antes no me ha dejado postear una respuesta...
#33


  • Astrónomos de EEUU y Europa han detectado, a sólo 40 años luz de distancia, un nuevo sistema planetario con siete exoplanetas del tamaño y la temperatura de la Tierra
  • La mayoría son rocosos y 3 de ellos podrían contener agua en su superficie, según un estudio publicado en la revista 'Nature'

Los astrónomos que utilizan el telescopio TRAPPIST de ESO (Observatorio Europeo Austral) y el telescopio espacial Spitzer de la NASA han confirmado la existencia de, al menos, siete pequeños planetas que orbitan alrededor la estrella TRAPPIST-1, una enana roja ultrafía. Y el descubrimiento es importante porque todos estos nuevos exoplanetas tienen el tamaño de la Tierra.
Además, tres de ellos se encuentran en la zona "habitable" de su estrella y, por lo tanto podrían tener océanos de agua en sus respectivas superficies, aumentando con ello la posibilidad de que este sistema planetario pudiese albergar vida.
El autor principal de esta investigación es Michaël Gillon, astrónomo de la Universidad de Lieja, en Bélgica, y está maravillado con este múltiple hallazgo: "Este es un increíble sistema planetario, porque todos son sorprendentemente similares en tamaño a... ¡la tierra!"

Nuevos mundos

Con sólo el 8% de la masa del Sol, la estrella TRAPPIST-1 es muy pequeña en términos estelares, porque apenas es un poco mayor que el planeta Júpiter. Sin embargo, los astrónomos esperaban que estas estrellas enanas pudieran albergar muchos planetas del tamaño de la Tierra y, por eso, se han convertido en objetivos prioritarios en la caza de la vida extraterrestre, pero TRAPPIST-1 es el primer sistema que se encuentra.
Este equipo ya ha determinado que todos los planetas del sistema TRAPPIST-1 son similares en tamaño a la Tierra y a Venus en nuestro Sistema Solar, o ligeramente más pequeños. Y otro dato importante: las mediciones de la densidad sugieren que, al menos, seis son también rocosos, como la Tierra.

Más similitudes

Además, la baja temperatura de TRAPPIST-1 produce que la entrada de energía en sus planetas es similar también a la recibida por los planetas interiores en nuestro Sistema Solar, como Venus, la Tierra y Marte.
Y quizá lo importante de todo: los siete planetas descubiertos en el sistema podrían tener agua líquida en sus superficies, aunque sus distancias orbitales hacen que en algunos de ellos sea más probables que otros. Pero las mayores esperanzas están puestas en tres de estos siete exoplanetas recién descubiertos porque orbitan en la zona llamada "habitable" de su estrella.

Santo Grial

Estos nuevos descubrimientos hacen que el sistema planetario de TRAPPIST-1 sea, a partir de ahora, el "santo grial", según estos astrónomos. O dicho de otro modo mucho más científico: un objetivo muy importante para el estudio de la existencia de vida extraterrestre.
Y esto no ha hecho más que empezar, porque el telescopio espacial Hubble ESA ya está siendo utilizado para buscar atmósferas alrededor de estos siete "prometedores" exoplanetas. Y el miembro del equipo Emmanuël Jehin está entusiasmado con las posibilidades futuras: "Con la próxima generación de telescopios, como el nuevo Telescopio Espacial James Webb, pronto podremos buscar incluso evidencias de vida en estos mundos".
No en vano, este sistema planetario encontrado tiene tanto el mayor número de exoplanetas del tamaño de la Tierra, como el mayor número de mundos que podrían contar con agua líquida en sus superficies.

Fuente: http://cadenaser.com/ser/2017/02/22/ciencia/1487763190_372803.html

A mi me parece genial, 40 años luz, a lo mejor me da tiempo a visitar alguno :silbar: :silbar: me gusta todo lo que sea investigación y descubrimiento, y más si va a algún lado, pero ya el mero hecho de que se hayan encontrado con algo cercano que puede tener vida, me parece más que interesante...

Venga Elektro, ataca, te estoy esperando, deja por los suelos a los de la MASA :silbar: ;-) ;-) :xD broma

Un saludo.
#34
Hola buenas,

el error es simple, tengo un exe que utiliza una dll, que al compilarse (por medio de un batch) lo dejo "aislado" de sus correspondientes DLLs, realmente no queda aislado como tal, la DLL pasa a estar en otra carpeta, entonces, mi pregunta es si se puede hacer un link a esa DLL movida de sitio...

Según he leido con App.config es posible a hacerlo a subdirectorios, pero no a otro sitio:

http://stackoverflow.com/a/3577344/3286975

Y que por temas de seguridad no se puede hacer de otra forma:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/4eb0026c-135b-4f4c-9ec2-0ef39a1b001a/referencing-a-dll-in-a-location-different-from-exe?forum=csharpgeneral

Entonces que me queda, utilizar Reflection para cargar esas DLLs?



Como veis, ahí dentro de la misma solución tengo la DLL (Librería de clases -> Lerp2API), y una aplicación de consola (Lerp2Console) que tiene como referencia a dicha DLL...

Vale, al compilarse, utilizo un Batch como venimos sabiendo dese antaño :xD este batch mueve las DLLs de tal forma que de pasar a estar asi:



Como veis, a la derecha, tenemos la consola con su "Copy Local", la Copy Local será borrada y a cambio se tomará la DLL que está en D:\LERP2DEV\Lerp2Dev Assets\Lerp2API\Build\
formando la jerarquía que podéis observar a la izquierda...

El problema está en que la consola está un nivel por debajo de la DLL que necesita para ejecutarse en vez de ser de al revés que sería como funcionaría...

Provocando este error:



El error y su solución es clara, pero quiero saber si se puede hacer de la forma que yo quiero, el código está en Github:

https://github.com/Lerp2Dev/Lerp2API/blob/c4562481509f874a019d9ea8700abde8069241c3/Project/Lerp2Console/Program.cs

Un saludo.
#35
Hola buenas,

ya que esto involucra dos cosas (ya se que es .NET) y tampoco es que me urja mucho la respuesta, ya que bueno, la solución es clara y sencilla, os comento esto...

Al parecer, si llamas un batch el cual por ejemplo, tiene un .exe a su lado (de nombre, digamos prueba.exe), y de contenido es:

Código (dos) [Seleccionar]
@echo off
prueba
pause


Lo tienes que llamar si o si, desde una carpeta con una ruta distinta o incluso desde otro disco...

Cuando lo haces, mirad lo que ocurre:

https://gyazo.com/8518a43bfeb74c88b06c5a48a1628bee

Parad el video e id jugando con los frames, y veréis esto:



Curioso no? Como veis hice un echo también al path de windows porque no sabia muy bien donde residia el error en un principio, hasta que acabe solucionandolo por la via mas tonta, que fue declarando la ruta completa del programa de MSBuild... :P

Podéis resolverme la duda, haciendo vosotros lo mismo? A ver, si es cosa general o de algo especifico de Unity...

Por si os sirve, la versión es la .NET 3.5

Un saludo.
#36


La comunidad de jugadores de PC que siguen a diario las novedades en el mundo del hardware está dejándose llevar por un nuevo rumor que habla del lanzamiento de la nueva NVIDIA GeForce GTX 1080 Ti, nueva gran apuesta de la empresa de tarjetas gráficas para compatibles.

Al parecer, el nuevo modelo de la tarjeta de NVIDIA podría ponerse a la venta entre los días 20 y 23 de marzo, con una presentación en sociedad previa que se realizará el próximo martes 28 de febrero durante el evento llamado GeForce GTX Gaming Celebration.

Potencia a mejor precio

La cita está prevista durante la Game Developers Conference de San Francisco de la próxima semana y serviría para presentar una tarjeta que sería capaz de igualar el rendimiento de la Titan X, hasta ahora la tarjeta gráfica más potente del catálogo de NVIDIA.

A día de hoy no se conoce el precio en el que se moverá la NVIDIA GeForce GTX 1080 Ti, aunque las estimaciones ya la sitúan entre los 600 y los 1.200 dólares, con un precio aproximado de 900 dólares. Habrá que esperar al anuncio oficial para saber más al respecto.

Fuente: http://www.vandal.net/noticia/1350687540/la-geforce-gtx-1080-ti-suena-para-finales-de-marzo/

Pues mi que la saquen, yo no la voy a comprar :xD Pero está bien eso de que por menor precio tengamos más potencia de procesado, ya que bueno, sacrificar unos cuantos Gigas de RAM tampoco para tanto... :P
#37
Hola buenas,

no se si ya se ha propuesto, pero porque el foro no consta de un campo de contacto en tu perfil el cual sea de Telegram, no se, estaría bien.

De hecho, mirad:

http://www.simplemachines.org/community/index.php?topic=468884.0

no se si esto esta disponible en esta versión de SMF, pero el staff lo podría revisar para poner el campo.



A esto me refiero... :P

Un saludo.
#38
Hola buenas,

se ve que los de Facebook están haciendo que sus productos tengan todos historias... Lógicamente Whatsapp no iba a ser menos y también lo han implantado aquí...

Para los que tengáis Whatsapp, Facebook e Instagram en el móvil lo sabréis, y más los que usan Instagram desde hace tiempo... A todo esto, que os parece?

A mi y a Ivan Cea parece que nos gusta...

Aunque por lo pronto las votaciones de la Play Store hablan por si solas... Más de 0,3 décimas ha bajado la puntuación de Whatsapp, con la de votaciones que tiene ;-)

Un saludo.
#39
Hola buenas,

se que esto no es un foro de gaming, pero supongo que buenos curiosos de la informática que somos, pregunto si habéis llevado acabo dicha labor alguna vez...

En lo que a mi respecta, pues no, pero siempre he tenido curiosidad por ambas prácticas, alguno que haya realizado esto, que nos puede decir o aportar?

Un saludo.
#40
Hola buenas,

no estoy poniendo el foro a prueba no, pero ya es simple curiosidad, tiene el foro algún tipo de limite en este sentido?

Lo digo, porque hace ya algún tiempo alguien me enseño una forma de spamear un foro de SMF o cualquier otro CMS de forma rápida y rikolina...

Entonces, como es mejor prevenir que curar, aunque sí, borrar mensajes de un mismo usuario es muy sencillo, con borrar el usuario se borran todos los mensajes, pero no se, imaginad un ataque de 50 usuarios, es muy coñazo luego borrar todo.

Hay algún limitador de este tipo?? Para que por ejemplo, un usuario no pueda postear más de 10 post en una hora.

Otra cosa, y como se conserva el foro tan bien, no hay ni un bot que publique posts de publicidad, aunque luego si se escape alguno que otro...

Un saludo.
#41
Hola buenas,

está genial que los usuarios no mortales hagan sus cosillas de hacker, de puesta a prueba de la seguridad y demás. Pero, el resto de los mortales también queremos concursar con nuestras cosilla.

Esto significa que los que participemos en el abril negro tenemos que publicar proyectos dedicados a esta tematica. O se me escapa algo? Quizás si haya leido mal y por algún sitio se diga que alguno de los concursos que habrán a partir de abril será de temática no centrada en el ámbito hacker.

Algo así como EHN-DEV, coño, que eso estaba guapo jajajaja

Un saludo.
#42
Hola buenas,

tiene el foro algún sistema implementado para recliclado de topics, en plan, topics con más de 90 dias sin respuesta, en el que un moderador por ejemplo haya marcado para no ser borrado, sea borrado...

O por ejemplo, que respuestas a temas, los cuales la respuesta anterior haya sido formulada por el mismo usuario en un periodo de tiempo menor a 24 horas?

No se, algún que otro trabajo se podrían ahorrar los moderadores y co-admins no? :silbar:

Un saludo.
#43
Hola buenas,

pues eso, que os parece? Nunca se ha hablado de esto con anterioridad, o quizás si, pero como todo, no se haya llevado a cabo o algo...

Un saludo.
#44
Hola buenas,

duda corta, sencilla y que da mucho para debatir, alguna vez se hizo una quedada? O se tuvo pensado hacer alguna? En mis tiempos mozos del foro, recuerdo que alguna vez se mencionó, pero nunca se llego a hacer.

Por quedada, yo entiendo, 15, 20 o 25 miembros que se conozcan de algún tiempo e ir y pasar un día juntos, lo tipico no? Quedar, comer, hablar de sus cosas de programación y demás, y conocerse un poco a fin de cuentas.

Un saludo.
#45
Hola buenas,

imagino como funcionará el geolocalizador, pero de donde saca la ips, de los propios visitantes o de una base de datos de otro lugar? (Por algún sitio, el-brujo comentó que actualizó la base de datos del geolocalizador y esto me despistó)

Otra cosa, son preguntas muy tontas lo se, pero tengo curiosidad, cuales usos les dáis personalmente a este, porque yo a parte de consultar información no le veo más posibles usos... No se, quizás se me escape algo?

Un saludo.

PD:
Estas son las típicas preguntas que te entran mientras te duermes :laugh: :xD