From 8a78337ea4dcb0b154bd1c754218ca01c8f9015d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 8 Mar 2026 18:17:20 +0200 Subject: Update content for html --- .../2025-08-05-local-coding-llm-with-ollama.html | 202 +++++++++++---------- 1 file changed, 104 insertions(+), 98 deletions(-) (limited to 'gemfeed/2025-08-05-local-coding-llm-with-ollama.html') diff --git a/gemfeed/2025-08-05-local-coding-llm-with-ollama.html b/gemfeed/2025-08-05-local-coding-llm-with-ollama.html index f2a9d99d..fab22a5e 100644 --- a/gemfeed/2025-08-05-local-coding-llm-with-ollama.html +++ b/gemfeed/2025-08-05-local-coding-llm-with-ollama.html @@ -2,12 +2,17 @@ + Local LLM for Coding with Ollama on macOS - + +
+
+
+

Home | Markdown | Gemini

@@ -105,9 +110,9 @@ by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
brew install ollama
-rehash
-ollama serve
+
brew install ollama
+rehash
+ollama serve
 

Which started up the Ollama server with something like this (the screenshots shows already some requests made):
@@ -120,7 +125,7 @@ ollama serve by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
ollama pull qwen2.5-coder:14b-instruct
+
ollama pull qwen2.5-coder:14b-instruct
 

Now, I was ready to go! It wasn't so difficult. Now, let's see how I used this model for coding tasks.
@@ -133,27 +138,27 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
time echo "Write a function in golang to print out the Nth fibonacci number, \
-  only the function without the boilerplate" | ollama run qwen2.5-coder:14b-instruct
-
-Output:
-
-func fibonacci(n int) int {
-    if n <= 1 {
-        return n
-    }
-    a, b := 0, 1
-    for i := 2; i <= n; i++ {
-        a, b = b, a+b
-    }
-    return b
-}
-
-Execution Metrics:
-
-Executed in    4.90 secs      fish           external
-   usr time   15.54 millis    0.31 millis   15.24 millis
-   sys time   19.68 millis    1.02 millis   18.66 millis
+
time echo "Write a function in golang to print out the Nth fibonacci number, \
+  only the function without the boilerplate" | ollama run qwen2.5-coder:14b-instruct
+
+Output:
+
+func fibonacci(n int) int {
+    if n <= 1 {
+        return n
+    }
+    a, b := 0, 1
+    for i := 2; i <= n; i++ {
+        a, b = b, a+b
+    }
+    return b
+}
+
+Execution Metrics:
+
+Executed in    4.90 secs      fish           external
+   usr time   15.54 millis    0.31 millis   15.24 millis
+   sys time   19.68 millis    1.02 millis   18.66 millis
 

Note, after having written this blog post, I tried the same with the newer model qwen3-coder:30b-a3b-q4_K_M (which "just" came out, and it's a quantised 30B model), and it was much faster:
@@ -178,9 +183,9 @@ Executed in 1.83 secs fish external by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
brew install aider
-mkdir -p ~/git/aitest && cd ~/git/aitest && git init
-aider --model ollama_chat/qwen2.5-coder:14b-instruct
+
brew install aider
+mkdir -p ~/git/aitest && cd ~/git/aitest && git init
+aider --model ollama_chat/qwen2.5-coder:14b-instruct
 

https://aider.chat
@@ -223,11 +228,11 @@ Create a Go project with these files: by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
go build cmd/aitest/main.go
-./main -v
-0.0.0
-./main -dir .
-Number of files in directory .: 4
+
go build cmd/aitest/main.go
+./main -v
+0.0.0
+./main -dir .
+Number of files in directory .: 4
 

The code


@@ -238,38 +243,38 @@ Number of files in directory .: -
package main
-
-import (
-	"flag"
-	"fmt"
-	"os"
-
-	"aitest/internal"
-)
-
-func main() {
-	var versionFlag bool
-	flag.BoolVar(&versionFlag, "v", false, "print version")
-	dir := flag.String("dir", "", "directory to count files in")
-	flag.Parse()
-
-	if versionFlag {
-		fmt.Println(internal.GetVersion())
-		return
-	}
-
-	if *dir != "" {
-		fileCount, err := internal.CountFiles(*dir)
-		if err != nil {
-			fmt.Fprintf(os.Stderr, "Error counting files: %v\n", err)
-			os.Exit(1)
-		}
-		fmt.Printf("Number of files in directory %s: %d\n", *dir, fileCount)
-	} else {
-		fmt.Println("No directory specified. No count given.")
-	}
-}
+
package main
+
+import (
+	"flag"
+	"fmt"
+	"os"
+
+	"aitest/internal"
+)
+
+func main() {
+	var versionFlag bool
+	flag.BoolVar(&versionFlag, "v", false, "print version")
+	dir := flag.String("dir", "", "directory to count files in")
+	flag.Parse()
+
+	if versionFlag {
+		fmt.Println(internal.GetVersion())
+		return
+	}
+
+	if *dir != "" {
+		fileCount, err := internal.CountFiles(*dir)
+		if err != nil {
+			fmt.Fprintf(os.Stderr, "Error counting files: %v\n", err)
+			os.Exit(1)
+		}
+		fmt.Printf("Number of files in directory %s: %d\n", *dir, fileCount)
+	} else {
+		fmt.Println("No directory specified. No count given.")
+	}
+}
 

The ./internal/version.go file:
@@ -278,13 +283,13 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
package internal
+
package internal
 
-var Version = "0.0.0"
+var Version = "0.0.0"
 
-func GetVersion() string {
-	return Version
-}
+func GetVersion() string {
+	return Version
+}
 

The ./internal/count.go file:
@@ -293,27 +298,27 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
package internal
-
-import (
-	"os"
-)
-
-func CountFiles(dir string) (int, error) {
-	files, err := os.ReadDir(dir)
-	if err != nil {
-		return 0, err
-	}
-
-	count := 0
-	for _, file := range files {
-		if !file.IsDir() {
-			count++
-		}
-	}
-
-	return count, nil
-}
+
package internal
+
+import (
+	"os"
+)
+
+func CountFiles(dir string) (int, error) {
+	files, err := os.ReadDir(dir)
+	if err != nil {
+		return 0, err
+	}
+
+	count := 0
+	for _, file := range files {
+		if !file.IsDir() {
+			count++
+		}
+	}
+
+	return count, nil
+}
 

The code is quite straightforward, especially for generating boilerplate code this will be useful for many use cases!
@@ -333,7 +338,7 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
cargo install lsp-ai
+
cargo install lsp-ai
 

Helix Configuration


@@ -471,11 +476,12 @@ content = "{CODE}"
Back to the main site
+ -- cgit v1.2.3