Tutoriales, vídeos, programas y recursos para sacar todo el provecho a tu ordenador.

jueves, 29 de junio de 2023

Ocultar carpetas en Windows 10

junio 29, 2023 Publicado por Daniel Rodríguez , , No hay comentarios

. Tendremos que abrir una ventana de comandos y escribir:


  * attrib +h +s d:\carpeta


. Para desocultarla, tendremos que escribir:


  * attrib -h -s d:\carpeta

. Desde Windows no se verá pero si se accede al disco desde Linux, sí que podremos ver la carpeta. Conociendo el nombre podremos acceder a la misma sin tener que desocultarla.




miércoles, 7 de junio de 2023

PC Builder

junio 07, 2023 Publicado por Daniel Rodríguez , , , No hay comentarios

En estos tiempos convulsos donde hay que mirar con lupa cómo gastar un céntimo, si quieres comprar un ordenador conviene, más allá de fijarnos en ofertas o gangas, intentar montar un PC de sobremesa por nuestra cuenta. Claro que si no somos expertos conocedores del mundo informático o de la estructura de un ordenador en general, puede ser peliagudo seleccionar las piezas del mismo, pudiendo darse el caso de que adquiramos un procesador para un socket distinto al que soporta nuestra placa base. 

Para estos casos, viene al rescate la app para Android: PC Builder. En ella, tendremos la opción de generar una configuración automática del ordenador de nuestros sueños, seleccionando el porcentaje de nuestro presupuesto que queremos dedicar a cada componente. También está la posibilidad de ir eligiéndolos uno a uno de entre una amplia lista de productos con su correspondiente precio en euros o la moneda que uséis, que se actualizará cada vez que abramos la app. Luego estará el tema de montarlo, pero hoy día se ha simplificado mucho  el proceso y con un tutorial de Youtube no deberíais tener problema para conseguir, con un poco de esfuerzo, un flamante PC Gaming por un precio ajustado. 

jueves, 18 de mayo de 2023

Creando Webapps con ChatGPT

mayo 18, 2023 Publicado por Daniel Rodríguez , , , , No hay comentarios

ChatGPT está llamado a revolucionar el mundo. O para ser más precisos, sus hijos lo harán. Por ahora, la herramienta de OpenAI y los hijos bastardos creados por otras compañías no son lo suficientemente "inteligentes" como para reemplazar el factor humano de la mayoría de las tareas pero sí que puede servir para ahorrar mucho tiempo a los trabajadores. Y en uno de los campos donde supone una ventaja saber manejar ChatGPT es en el de la programación. Por ello, he decidido probarlo con distintos proyectos que tenía en la carpeta de Ideas, la cual no hacía más que aumentar pues no tengo tiempo de dedicarme a ellos.

Comencé por una de las más sencillas. ¿A quién no le ocurre que nunca sabe exactamente la cantidad de dinero total que tiene? Sí, una idea aproximada la tenemos todos los pobres, pero a mí me costaba mucho puesto que tengo dinero en el banco, en metálico, en Paypal, pendiente de pago de las ventas de merchandising, en criptomonedas, en ahorros guardados... poca cantidad que tampoco es que me bañe en monedas de oro, como el Tío Gilito, el problema se agrava a medida que voy gastando o recibo algún dinero. Al final, no se muy bien a cuánto asciende mi "riqueza" total. Por ello, pensé que sería una buena para aprender además algo de JavaScript, crear una microaplicación web para llevar un control de lo que tengo, los gastos e ingresos.

Como dije, no me apetecía ponerme a ello, así que le pedí a ChatGPT que la creara por mí. El prompt que usé fue el siguiente:

"¿Podrías crear en HTML una aplicación que lleve un registro de gastos e ingresos de dinero, en el que podamos introducir la cantidad de dinero, el tipo de transacción, un texto de comentario, que guarde la fecha y además lleve un control del dinero en total, y que los datos no se borren al cerrar la aplicación?"

Como era de esperar, me devolvió una app funcional pero distinta a la que tenía en mente. Los gastos tenía que diferenciarlos de los ingresos poniendo un "-" delante de la cantidad. Quería simplificarlo así que continué escribiéndole:

"¿Podrías hacer que el tipo de transacción fuera una lista desplegable y que al seleccionar ingreso, la cantidad introducida se sumara y si se eligiera gasto, se restara del total?"

En esta ocasión no terminó el código así que tuve que pedirle que lo continuara, cosa que hizo sin problemas. Claro que todavía quedaba por hacer, porque los datos que introducía, se perdían una vez cerraba el navegador. Resolvió la cuestión rápidamente. A la hora de probar la aplicación, me di cuenta de que no podía borrar fácilmente los datos que había introducido de prueba, así que, una vez más, pedí a la IA que modificara el código para añadir un botón de "reseteo". Además, no podía usar números decimales, pues los redondeaba. Tras comentárselo, al fin tuve una aplicación que más o menos se asemejaba a mis necesidades. Solo tuve que añadir algo de CSS para darle un buen aspecto y tenía mi aplicación en apenas diez minutos. 

Lecciones a extraer:

1. Puede que diez minutos parezcan mucho, pero si hubiera tenido que hacerlo "a mano", hubiera tardado más de un día, pues tengo que refrescar mis conocimientos de JavaScript.

2. A la hora de tratar, tanto con esta como con las demás, Inteligencias Artificiales, hay que ser lo más específico posible. Y creo que esto ocurrirá aun con las Inteligencias Artificiales generativas porque, al igual que ocurre cuando contratas a un equipo de programadores, ellos nunca serán capaces de saber lo que exactamente quieres a la primera. Muchas veces porque ni tú mismo lo sabes.

3. Probar el software escrito por las IA será necesario siempre. Dudo mucho que en sistemas críticos se deje al "criterio" de otro software la seguridad del mismo. Podrá servir de complemento, pero nunca sustituir el factor humano. Aunque, quien sabe, quizá en 20 años vemos por Holovisión la explosión del Challenger 3 en directo porque nadie comprobó el software de guía. 

4. Es posible que se produzca una brecha entre programadores "clásicos" y los que se apoyen en las IAs. No he probado otras pero por la experiencia que he tenido, creo que puede suponer un gran ahorro de tiempo, obviamente a nivel de componentes, clases o métodos. Por el punto 3, puede que se tardara más en revisar el código de un programa generado completamente por la IA de lo que se tardaría en programarlo desde cero. 

Podéis ver el código de la aplicación en el siguiente archivo.



viernes, 14 de abril de 2023

SQL Easy

abril 14, 2023 Publicado por Daniel Rodríguez , , , No hay comentarios

La forma más efectiva de aprender es hacer. Es innegable. De nada sirve empaparte de tutoriales de todo pelaje si no te arremangas y te pones manos a la obra a poner en práctica esos conocimientos. Por eso, este SQL-Easy viene de perlas para todos aquellos que quieran iniciarse en el lenguaje SQL, más específicamente el SQLite. 

A lo largo de distintas secciones, iremos aprendiendo a seleccionar datos de una tabla, ordenarlos, unir varias tablas y mucho más. Las secciones constan de una pequeña parte teórica de no más de un párrafo y un ejercicio simple propuesto que tendremos que resolver. Al escribir el código que lo solucione, si este no funciona, nos dará el feedback de cual se esperaba que fuera el resultado, aunque no nos informará de dónde puede estar el error. En cualquier caso, son ejercicios  bastante simples aunque hay que decir que alguna pregunta que otra no está muy bien formulada y ha habido algún problema que no lograba resolver pese a que escribía la solución correcta. Tuve que copiar el ejemplo y modificarlo para que me aceptara el código. Misterios de la informática. 

Podemos disfrutar de este tutorial interactivo en el apartado Tutorial SQL y tendremos además otro apartado destinado a una pequeña introducción a MySQL, todo en perfecto español. Una buena introducción para todos los neófitos de SQL.

miércoles, 30 de marzo de 2022

Librerías y Frameworks de Python

marzo 30, 2022 Publicado por Daniel Rodríguez , , , , No hay comentarios
A continuación podrás encontrar un listado de librerías y frameworks para Python ordenadas según la función que desarrollan.

Machine Learning

  • Numpy
  • TensorFlow
  • Keras
  • Theano
  • Pandas
  • PyTorch
  • Scikit-Learn
  • Matplotlib
  • Scipy
  • Seaborn

Desarrollo Web

  • Django
  • Flask
  • Bottle
  • CherryPy
  • Pyramid
  • Web2Py
  • TurboGears
  • CubicWeb
  • Dash
  • Falcon

Automatización de Tests 

  • Splinter
  • Robot
  • Behave
  • PyUnit
  • PyTest 

Desarrollo de juegos

  • PyGame
  • PyGlet
  • PyOpenGL
  • Arcade
  • Panda3D

Procesamiento de imágenes 

  • OpenCV
  • Mahotas
  • Scikit-Image
  • Pgmagick
  • SimpleITK

Web Scraping 

  • Requests
  • Beautiful Soup
  • Scrapy
  • Selenium
  • lxml 

 



martes, 14 de diciembre de 2021

Sunny Classroom

diciembre 14, 2021 Publicado por Daniel Rodríguez , , , No hay comentarios

Dicen que el cerebro retiene mejor la información que se presenta de forma sonora y visual. Al menos el mío solía hacerlo. Es por ello, que en mi preparación para unas oposiciones me dediqué a buscar todo tipo de recursos multimedia. En Youtube, entre otros, encontré el canal de Sunny, un profesor universitario Sino-Americano que se dedica a explicar, principalmente, las bases sobre las que se asientan las redes y todo lo relacionado con ellas, aunque toca varios palos y parece que en un futuro seguirá ampliando sus temas de interés. 

Sus vídeos, de corta duración, no se hacen nada pesados. La media de duración es de 6 - 7 minutos. La claridad a la hora de explicar de Sunny la he visto pocas veces y es imposible que no entiendas los conceptos que expone. Pese a su curioso acento, se le entiende perfectamente aunque el inglés no sea tu primera lengua. Eso sí, su parsimonia al hablar, hizo que tuviera que reproducir sus lecciones a 1,5x de velocidad porque no tenía demasiado tiempo y debía ver todos los vídeos disponibles. En alguna ocasión, eso sí, tuve que poner subtítulos.

Recomiendo hacer uso de las listas de reproducción del canal, ya que en la pestaña de vídeos se encuentran algo desordenados. En la actualidad cuenta con 157 y aunque su frecuencia de actualización es baja, poco a poco va ampliando su videoteca.

Un canal muy recomendado si quieres saber cómo funciona una red y qué elementos la componen. A destacar su explicación de cómo hacer subnetting, que debería grabarse en piedra.

jueves, 25 de noviembre de 2021

Oh my Git!

noviembre 25, 2021 Publicado por Daniel Rodríguez , , No hay comentarios

El control de versiones es un procedimiento esencial en cualquier desarrollo grande e incluso en los más pequeños. Nos permite mantener un control de los cambios que realicemos, o realicen los miembros de nuestro equipo, de una forma rápida y sencilla. Además, es una habilidad imprescindible a la hora de buscar trabajo como desarrollador, motivo por el cual todos deben dominarlo.

El software de control de versiones más famoso es Git, diseñado por el también creador de Linux, Linus Torvald. Hay multitud de cursos y tutoriales para aprender a manejarlo, pero nada mejor que un juego para poder dominar, al menos, la base del mismo, pasando un buen rato al mismo tiempo.

Esta es la propuesta de Oh my Git!, un sencillo juego desarrollado por los alemanes blinry y bleeptrack, apoyado además por el gobierno de su país, entre otros. Pese a ello, el juego está en perfecto inglés. A la hora de superar los distintos niveles, divididos entre diversas características de Git como el uso de Branches o Commits, podremos escribir los comandos típicos, algo recomendado para que se nos vaya quedando en la cabeza, o arrastrar las cartas que tendremos a nuestra disposición en el parte inferior de la pantalla, con los comandos escritos en ellas. Aparte de las mencionadas fases, dispondremos de un modo sandbox para trastear con los distintos comandos y, de esa manera, poder aprenderlos de forma más natural.


Lo de divertirse es relativo, pues los puzles y preguntas que tendremos que responder pueden ser algo complicados, añadiendo un factor de dificultad al desconocimiento del software. Muchas veces no supe exactamente qué me pedían hacer, por mucho que supiera aplicar los comandos determinados. Es por ello que antes de jugar sería recomendable haber tenido un primer contacto con Git.

El juego está disponible para Windows, Mac y Linux y lo podrás descargar desde su página de Itch.io.