martes, 26 de diciembre de 2023

TDLib & Java example on Windows 10

Although the instructions provide on github are quite completed there were some issues I had to solve myself for doing the example works, so I share here my experience.

Getting the system ready:

  • Download and install Microsoft Visual Studio. Enable C++ support while installing.
  • Download and install CMake; choose "Add CMake to the system PATH" option while installing.
  • Download and install Git.
  • Download and unpack PHP. Add the path to php.exe to the PATH environment variable
  • Download and install JDK.
  • Close and re-open PowerShell if the PATH environment variable was changed

 Building TDLIB Binaries 

  • Run these commands in PowerShell to build TDLib and to install it to td/tdlib:

 Building JNI & Java example

  • Run these commands in PowerShell  but taking into account next remarks

I had to install  gperf manually and  add the path to gperf.exe to the PATH environment variable.

The first cmake  -DCMAKE_BUILD has to be modified as follows (taking into account you path to TDLib sources is D:\TDLib\td)

cmake -A x64 -DCMAKE_BUILD_TYPE=Release -DTD_ENABLE_JNI=ON -DCMAKE_INSTALL_PREFIX:PATH=../example/java/td .. -DCMAKE_TOOLCHAIN_FILE=D:/TDLib/td/vcpkg/scripts/buildsystems/vcpkg.cmake

The second  cmake  -DCMAKE_BUILD has to be modified as follows,   

cmake -DCMAKE_BUILD_TYPE=Release -DTd_DIR=D:/TDLib/td/example/java/td/lib/cmake/Td -DCMAKE_INSTALL_PREFIX:PATH=.. ..

Before this last command, I get an error when I run ‘mkdir build’ because the directory already exists but it seems not to be a problem since everything works fine

 


 

Enjoy, 

Culex


viernes, 6 de octubre de 2023

PED - PLII - UNED

Adjunto la ped de este año (solo la parte obligatoria).

Incluye lo siguiente:

  • El analizador semántico y la comprobación de tipos.
  • Generación de código intermedio
  • Generación de código final

Enjoy

Culex.

martes, 26 de septiembre de 2023

PED - Robótica Autónoma - UNED

 Hello,

Adjunto el código 'casi completo' de las 3 primeras PED. Algunas lineas están comentadas para que no sea solo un copy & paste :)

Por ejemplo, en la parte /*a completar*/ hay que poner los valores de los parámetros correctos

  robot.setRotVel(/*a completar*/);
  robot.move(/*a completar*/);

Enjoy

Culex.


domingo, 17 de septiembre de 2023

APUNTES - UNED Robótica Autónoma

Aquí están los apuntes, algunos ejemplos de Aria y notas en general.

Culex.

jueves, 17 de agosto de 2023

Parser HTML - NTFS Permissions Reporter Free Edition

Como en verano siempre tenemos un poco más de tiempo, me dio por crear un parser para un proceso de control ACL en los servidores del curro y que, como soy pobre realizo con NTFS Permissions Reporter Free Edition.

La cosa tiene poco misterio,generas el informe con la app y exportas el resultado en HTML que es la única opción disponible en la versión gratuita.

Yo solo recupero los siguientes campos que son los que me interesan (Path / Account Type/ Display Name / SID) pero el programa en Java se puede modificar de forma sencilla en esta linea de ParserHTML.java --> int columnas = 4; //Numero columnas archivo html

 


 

Con el programa adjunto generas el correspondiente csv y luego lo compruebo en excel. Seguro que hay mil formas de hacerlo mejor y más rapido pero esta es la mia  😆



 

Es necesario tener la ultima version del JDK (creo que es la 20) para poder usar la libreria Jsoup  que es la que hace todo el trabajo :)

Enjoy

Culex.


 

 

 

 

 

jueves, 6 de julio de 2023

APUNTES - UNED Procesadores del Lenguaje II

 Bueno una más a la bolsa :)

Tengo que reconocer que enfrentaba esta asignatura con muchísimo respeto y no me equivocaba. La practica es muy dura y la curva de aprendizaje inicial es como poco exponencial :).

Por suerte los grupos en Teams son muy activos.

Aquí están los apuntes  (basados en los de Cristina Otero) y algunos ejemplos de propagación de atributos en los arboles de traducción.

Enjoy

Culex.


 

viernes, 26 de mayo de 2023

+ 80000 VISITAS

 

Muchas gracias a tod@s

Culex.