2024
Automatizar la instalación de un equipo nuevo con Dotfiles… sólo falta el equipo nuevo!!!
Automatiza todo lo que puedas
Inspirado en cómo monté hace 2 años el Macbook Pro M1 de empresa hace, hace un año configuré desde cero mi Macbook nuevo. Recientemente para darle un cambio de herramientas, hice una aproximación a dotfiles que luego modifiqué pero no había subido a Github.
Crear archivos markdown rápidamente con VS Code
VS Code como Markdown Editor
Ahora mismo, VS Code es el mejor editor de markdown (después de que Typora intentara cobrar por todo).
Sólo tienes que:
-
Instalar VS Code
-
Hacer que sea fácil abrir un archivo o directorio directamente en VS Code desde Finder. También puedes ser un ninja y saber que existe desde la terminal
code .
, si no lo sabías, apréndetelo !!! Para ello, dejo la chuleta de cómo hacerlo con (con nuestro viejo y potente amigo)Apple Automator
en https://www.youtube.com/watch?v=dcjevVMhpoM:
- Instalar el plugin de
Auto-Open Markdown Preview
en VS Code desde https://marketplace.visualstudio.com/items?itemName=hnw.vscode-auto-open-markdown-preview
Como activar Prettier en VS Code y no morir en el intento
Prettier: se me olvida ponerme guapo
Si sabes lo que es prettier, sabes que puede ser lo más útil para tener el código bien formateado, o lo que más te saque de tus casillas editando código. Si no sabes lo que es, te recomiendo usarlo https://prettier.io/docs/en/.
Ahora, el truco está en que cuando instalas el plugin de VS Code, no basta con instalarlo… hay que hacer lo siguiente RTFM
, punto !!!
Recordatorio para mi mismo…
Cuando instalas la extensión queda claro que debes activarlo como Default Formatter
en VS Code Settings
. Para ello, SHIFT + CMD + P
para abrir la paleta de comandos y filtra por opensettingsjson
workbench
& user
y puede ser utilizado para TODOS los lenguajes o alguno específico. Por ejemplo, para JavaScript:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
Tienes más dudas o prefieres verlo en una píldora? Este mini-video https://www.youtube.com/watch?v=z9K1XBf01ls te lo explica.
Ollama va a la universidad
🦙 Ollama ya puede ejecutar modelos LLM multimodales
Ya está disponible la versión de llava
en https://ollama.com/library/llava… y yo me he preguntado si con todo el revuelo que hay con la Generative AI
estas últimas semanas, este modelo de andar por casa es capaz de dar el nivel.
Lo he enviado en la bioguagua
a estudiar Bio-Medicina a la universidad y le he marcado algunas tareas, ejecutando una consulta multimodal sobre una imagen en disco con ollama run llava "what is in this image? /users/me/images/myimage.jpg"
A lo que me ha respondido:
Aunque muestra intención de querer responder algo relacionado con la imagen, y hace un gran esfuerzo, ha suspendido. Me pregunto qué potencia tendrán los modelos realmente buenos, no los liberados como Open Source.
Todavía no podemos encargarle la misión de llevar automáticamente el contenido del canal de Instagram BioGuagua.
Ollama, el Docker de los Modelos LLM (🦙❤️🐳)
🦙❤️🐳 Ollama, el Docker de los Modelos LLM
Si quieres trabajar con LLMs en local sin conexión de Internet, o no pasar por OpenAI ChatGPT lo sabe y lo usa todo, esta es la mejor solución.
Instalar Modelos LLMs en local con Ollama Server
1.Descarga desde Ollama.ai para tener servidor en local
Ahora ya puedes ejecutar modelos como Llama 2
, Code Llama
, y otros. También permite modificar y crear modelos personalizados como harías con una imagen de Docker.
2.Para utilizar Ollama:
- descargar modelos:
ollama pull llama2
. Existen muchos modelos en https://ollama.com/library - ejecutar modelos:
ollama run lava
y tendrás el modelo listo en una terminal - ver los modelos descargados:
ollama list
- eliminar un modelo descargado:
ollama rm llama2
- también puedes arrancar Ollama desde la terminal sin necesidad de la aplicación de escritorio con
ollama serve
- ejecutar una consulta desde el prompt
ollama run llama2 "why is ths sky blue?"
- ejecutar una consulta desde el prompt pasándole un archivo como argumento para el contexto
ollama run llama2 "haz un resumen del siguiente archivo: $(cat README.md)"
- ejecutar una consulta multimodal sobre una imagen en tu disco local
ollama run llava "what is in this image? /users/me/images/myimage.jpg"
- saber más:
ollama --help
3.Para saber más, puedes leer su blog en https://ollama.ai/blogy el canal de Youtube de su PM & Evangelist en https://www.youtube.com/@technovangelist que van publicando lo último que van sacando, y mejoran muy rápido.
Utilizar un asistente personal local con VS Code
en lugar de Github Copilot
1.Descargar Cody Plugin
para VS Code
:
- hacer el login con una cuenta de Github por ejemplo y autorizar su uso.
- Abrir
Cody plugin settings / pick "⚙ Cody Extension Settings" with gear icon
.
2.Hacer scroll hasta llegar abajo a y cambiar:
- opción
Cody > Autocomplete > Advanced: Provider
y seleccionarexperimental-ollama
ounstable-ollama
. - opción
Cody > Autocomplete > Advanced: Model
y dejarnull
para dejarlo por defecto.
3.Empezar a utilizar Cody como asistente ya dentro de VS Code
pero esta vez en local, con tu LLM Open Source favorito por ejemplo codellama:7b-code
.
Librerías para Python y JavaScript
Ya están disponibles las versiones iniciales de librerías para poder utilizar Ollama
en lugar de las APIs de OpenAI ChatGPT
.
pip install ollama
npm install ollama
Para saber como utilizarlas tienes el blog https://ollama.com/blog/python-javascript-libraries y video en su canal de Youtube.
Utilizar la API REST de Ollama
También puedes utilizar la API REST que funciona en la trastienda:
curl http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt": "Why is the sky blue"
}'
curl http://localhost:11434/api/chat -d '{
"model": "llama2",
"messages": [
{
"role": "user",
"content": "Why is the sky blue"
}
]
}'
Otros recursos interesantes
Canario conoce tu Lengua
Random Canario 🇮🇨 - Canario conoce tu lengua (Parte 2)
Oopss !!! …parece que el día 3 ha llevado un año. Pero nunca es tarde si la dicha es buena.
Ya está disponible la aplicación básica de react y una nueva versión de la api con flask para darle servicio.
Puedes acceder al sitio web en randomcanario.oliverbarreto.com. La api, se encuentra también disponible en randomdic.oliverbarreto.com
Funcionalidad Actual
La aplicación tiene las siguientes funcionalidades:
- Permite visualizar en tu navegador una palabra random del lenguaje canario cada vez que la cargas.
- Permite marcar una palabra como “Me gusta” para indicar que la usas o simplemente te gusta.
- Cada vez que se carga la web, permite visualizar una imagen random de lugares, paisajes y características emblemáticas de Canarias.
Nuevas funcionalidades
La aplicación todavía está en desarrollo.
- Permitir que el usuario pueda acceder al diccionario canario.
- Permitir que el usuario pueda buscar palabras en el diccionario de la lengua canaria.
- Permitir que el usuario pueda ver las palabras marcadas como favoritas.
- Permitir que el usuario pueda sugerir palabras para añadir en el diccionario.
- Más y mejores imágenes con derechos libres.
2023
Canario conoce tu Lengua
Canario conoce tu lengua !!!
Recuerdas lo de “Canario conoce tu Tierra” ??? pues ya va siendo hora de que también te acostumbres a lo de “Canario conoce tu Lengua”. Por eso vamos a tratar de hacer fácil el poder acceder en distintos servicios online al diccionario de la lengua que se habla en esta tierra, o poder ofrecer una palabra “random” cada día, y otros casos de uso.
También me sirve para documentar el cómo llevar una idea a la realidad en menos de 3 días utilizando varias tecnologías.
Nunca dejes las cosas a simple vista… Vaultwarden
No lo recuerdes todo … sólo todo lo que necesites recordar !!!
Almacenar cosas está bien… pero no las almacenes en texto plano… ponle puertas al campo y usa una contraseña para almacenar zips
Cómo crear passwords para tus ficheros zip fácilmente en macOS:
A gentle reminder to my future self:
- Open terminal and cd into the location folder
zip -er FILENAME.zip FILESorFOLDERStobeCOMPRESSED
.- In my case, that would be eg:
zip -er MyPhotos.zip Photos/
.
… and don’t forget the master password !!!
2022
Don’t type again … move fast
A note to my future self…
Get used to work with moving lines instead of copying and pasting lines again and again and again…
Instead of thinking in terms of copying a line of text, moving to the place you want to place it, and then (finally) paste it there… think in terms of just: move the line directly to the place you want it to be.
Move a line in VS Code & Obsidian
- Place the cursor on the line you want to move. Select multiple lines if you want by holding down
SHIFT
key. - Press
ALT + ARROW Keys
to move the selected lines up or down to the desired location - Tip: To make this work in Obsidian app, you have to configure your
HotKeys
in Preferences menu. SelectMove line up
andMove line down
and assign a key shortcut, in my case I haveOption + ↑
andOption + ↓
.
Duplicate a line fast
- Just like the previous one, place the cursor on the line you want to duplicate.
- Press
SHIFT + Option + ↑
orSHIFT + Option + ↓
and voila, the line will be duplicated just below where your cursor is. - Tip: if you select various lines by holding down
SHIFT
while move your cursor to the lines you want you can duplicate those lines at once.
If you have a mac, you are in luck. If you just want to duplicate the line you are in, just:
- Place the cursor on the line you want to duplicate.
- And without selecting anything, press
CMD + C
andCMD + V
, and voila, the line will be duplicated just below where your cursor is.
Deep dive… learning a new way to express myself
Deep Dive… learning a new way to express myself
It might seem to be a litle bit too late, but… it’s never late to learn something new.
Simple steps to set up your new Macbook Pro M1 for developement and machine learning
Simple steps to set up your new Macbook Pro M1 for developement and machine learning
Got your self a bran new powefull notched-version M1 Macbook Pro and you want to take advantage of its powerful chip as a developer ??? You have heard that is not that easy due to incompatibility issues, they are right, but there is a way to do it right. The following steps will be of your interest…
Install TensorFlow on M1 Macs: Mission (It’s)possible
Install TensorFlow on M1 Macs: Mission (It’s)possible
To install TensorFlow on a new Mac M1 is no simple task, unless you have priviledged access to the magic receipe.
Well, I just found a copy on the bright side of the Web that I want to share with you to make the installation a breeze.
Simple steps to set up a new Macbook Pro M1
Simple steps to set up a new Macbook Pro M1
Got your self a bran new powerful ‘notched-version’ M1 Macbook Pro ??? You should set it up so you can brag about it.
ZSH Plugins that will make your life easier (if you remember)
ZSH Plugins that will make your life easier (if you remember)
Want to work faster with your finder and terminal folders, then remember this. Remember this terminal shortcuts to work faster with your finder and terminal folders.
Books you should read: The Power of Moments: Why Certain Experiences Have Extraordinary Impact by Cheap Heath
Finally taking the time to read this book that I bought last year !!!
Action nowadays is inaction
Action nowadays is inaction
Are your actions driven by the algorithm??? Trapped in a world of social media and YouTube??? … where click-bait rules your time and your next action ???
A multiverse for text editors’ cursors
A note to my future self…
Multiple cursor selection is way faster than “single-minded” cursors.
Multiple selections (multi-cursor) in VS Code
- Ctrl+F to find and select…
- … or Ctrl+D which selects the word at the cursor, and all other occurrences of the word where your cursors is right now.
- Tip: You can also add more cursors with Ctrl+Shift+L, which will add a selection at each occurrence of the current selected text. …
Why you need Obsidian to track tasks and knowledge by simply taking day-to-day notes
Here is the story on how I use Obsidian as personal information system to track my daily notes, ToDos and even knowledge.
I used to take notes and track my todos in Apple’s reminders and notes apps. It didn’t work. I then tried to create markdown files and have them on my file system. It didn’t work since there was no way I could relate a file to a date on a calendar view. If you want to know how you can implement an effective and very productive workflow with Obsidian just continue reading.
Books you should read: Atomic Habits - James Clear
This is my new book !!! Books you should read: Atomic HAbits - James Clear
The terminal console I wish I had when I was a kid
In the previsous post I explained how to install all the apps that make my mac a great tool for productivity. Today, let’s focus on its configuration for development.
Today, I just got a new toy, so let’s make it act like it was the one I whish I had when I was a kid. A real hacking tool. To do so, I will configure a brand new and stilysh terminal, and the needed tooling for python and Swift development by installing tools like: Homebrew, Git, iTerm2, Oh My Zsh and Power Level 10K Themes, Visual Studio Code, Xcode, Python. Continue reading if you want to know more.
What’s on my mac? Apps to create a productivity weapon for work, and personal side-projects
I just got a (not so) brand new Macbook Pro 16” 2019 i7, so it’s time to migrate from my old 2018 Macbook Pro 13”. Let’s setup this beast as a highly productive weapon for my development side-projects.
So without further due, let’s get this machine and tune it up to create a perfect productivity weapon for work and personal use. The secret sauce will be the pieces of software that run on it, and the configuration. In the next two articles I will post my personal preferences for both.
Do you itch yourself or scratch yourself?
If you are reading this is becasse that catched your attention !!! Didn’t it ???
But make no mistake, this is an important thing to understand. Time and resources are limitted so you need to focus your attention.
When you are a dad, and the day has lots of other responsabilities other than spending time on that cool tech side project you have in mind. You need to be laser-focused on what you want to spend your time on. My case is that I’ve been sseeing lots and lots of people on youtube praising the Swift Combine framework that Apple introduced a couple of years ago. I’ve been holding on to jump right into it. But this time i had an itch to scratch where combine did come handy.
2021
Some lessons to learn from
From time to time (last time was on 2010 Some lessons to learn from…) it is good to remind myself these simple few lessons to learn from … just like a reset message that I need to get through all the noise out there to hit my brain and force it to think about … simple moves, simple math which can be applied in more complex problem solving… especially in personal matters !!!
Why you should buy a Raspberry Pi
Why you should buy a Raspberry Pi to make you love technology back again
Normal people don’t want to mess around with technology. You just want to buy things that “just work”. However, nowadays more or less everyone has some kind of piece of technology at home. Some have Sire, Alexa or Google smart speakers, assistants or even a security cam, or some smart lights or blinds. What would you say if having a few technical concepts in mind and armed with the intention to put technology at your service in several ordinary life areas. You only need two technologies to put up and running in just a few minutes cool projects: a Raspberry Pi and Docker.
Trying to create dynamics of a static site
After a few years sin 2013 that I created this webiste using Jekyll and So-Simple Theme by MadeMistakes I found that updating the theme was not going to be an easy task. Things have changed a lot since the good ‘ol-days’. We now have easier to deploy gem-based themes, don’t we ???
2013
Going Static makes me go more Dynamic
Web Design State of the Art
Modern web design and development change fast. Faster than fast. Quicker than quick. Faster than light. Latests trends include work being done revolving around responsive design amd you can read everywhere about it. However, I got tired of working with big CMS to hold webpages. They are just to big for my needs, they hold more features that I would ever need (just like MS Excel) and they come with one huge problem: Maintenance. Installing updates, upgrades and security patches or plugins can become a pain in the neck. Let’s not even talk about custom theme programming knowledge you need in order to create or cusomize your site design.