dijous, 27 de març del 2025

Ollama on windows - LLM on local machine

 https://youtu.be/C7rFk-GbdCg?si=_U1Q1FhrgDkSIYHF

https://medium.com/@Tanzim/how-to-run-ollama-in-windows-via-wsl-8ace765cee12


and saving models to another location

https://youtu.be/uj1VnDPR9xo?si=YP0PokJwynLyYFmY

the path in wsl must be like this (... must be replaced by the user name)

/mnt/c/Users/.../AppData/Local/Programs/Ollama/ollama.exe run gemma3:latest

when in windows is 

C:\Users\...\AppData\Local\Programs\Ollama

dissabte, 15 de març del 2025

EXCEL - Scatter Plot - how to label points as data from col A:A (Alt+F11) - Insert Module

 Sub LabelScatterPlot()
    Dim chartObj As ChartObject
    Dim srs As Series
    Dim i As Integer
    
    ' Change "Sheet1" to your sheet name
    Set chartObj = Sheets("Sheet4").ChartObjects(1) ' First chart on the sheet
    Set srs = chartObj.Chart.SeriesCollection(1) ' First data series

    For i = 1 To srs.Points.Count
        srs.Points(i).ApplyDataLabels
        srs.Points(i).DataLabel.Text = Sheets("Sheet4").Range("A" & (i + 1)).Value
    Next i
End Sub


dimecres, 12 de març del 2025

Dave Thomas al Happy Path Programming (LM Notebook digest)

 El document de "La Joia de Programar amb Dave Thomas" resumeix la conversa amb Dave Thomas al podcast "Happy Path Programming" sobre diversos aspectes de la programació.

La joia de la programació per a Dave Thomas rau en la realització d'una idea o en lliurar alguna cosa, idealment amb un toc distintiu. La necessitat és el motor principal de la seva exploració en la programació, gaudint de buscar múltiples solucions i trobar la "correcta". Compara la programació amb la feina d'un poeta construint "castells al cel", destacant la capacitat única de la indústria per crear des de zero. També ressalta la resiliència davant la fallada com a característica dels bons programadors, veient-la com una oportunitat d'aprenentatge.

Pel que fa a l'impacte de la Intel·ligència Artificial (IA), es mostra escèptic sobre la idea que reemplaçarà completament els programadors, assenyalant les possibles limitacions actuals en la generació i prova de codi. Subratlla la importància de la flexibilitat i l'exploració contínua per part dels programadors.

Dave Thomas expressa una crítica a la programació orientada a classes i defensa els paradigmes funcionals. Argumenta que la gent practica "programació orientada a classes" en lloc de la veritable programació orientada a objectes. Critica l'ús excessiu de la herència.

Feature Using Inheritance (extends Vehicle) Using Composition (implements Movable)
Code Structure Forces everything into a single hierarchy Each class is independent
Flexibility Hard to add new types Easy to add new vehicles
Inheritance Problems Multiple inheritance issues No inheritance problems
Readability Unnecessary properties (e.g., speed for a boat) Each class defines only what it needs

Contrasta la programació OO amb la funcional, argumentant que la funcional aconsegueix més resultats. La seva programació actual tendeix a utilitzar classes només per a l'encapsulació bàsica, amb la major part del codi sent funcions externes. Presenta la idea d'un "super reductor" com l'operació fonamental de la computació. També discuteix el principi de substitució de Liskov (LSP) i la seva rellevància en contextos de "pipelines".

Sobre el Manifest Agile, Dave Thomas considera que la part més valuosa són els quatre valors inicials, que són oberts a la interpretació i representen preferències, no regles. Lamenta com Agile va ser convertit en processos comercials rígids, perdent l'esperit original d'adaptabilitat. Creu que s'hauria de donar als desenvolupadors autonomia i temps per pensar en el seu treball. Critica la tendència a buscar la novetat en tecnologies en lloc de la resolució de problemes reals.

Pel que fa a l'arquitectura de software, proposa un enfocament "agile": començar amb la solució més senzilla possible per obtenir retroalimentació primerenca. Emfatitza la importància de desenvolupar codi aïllat. Sugereix acceptar les decisions dels altres sobre "qüestions religioses".

Finalment, destaca la importància d'entendre les necessitats reals dels clients, distingint entre "vull" i "necessito". Valora un enfocament iteratiu amb entregues primerenques. Qüestiona si la solució sempre és crear software personalitzat. Reflexiona sobre el valor de les interaccions humanes. Menciona l'ús de la IA per refinar preguntes.

En resum, la conversa amb Dave Thomas ofereix una perspectiva reflexiva sobre la programació, emfatitzant la joia, l'exploració, la flexibilitat i la comprensió de les necessitats reals. La seva defensa de la programació funcional i la seva crítica a la programació orientada a classes conviden a la reflexió. La seva perspectiva sobre el Manifest Agile recorda els valors fonamentals d'adaptabilitat.