From ee75979b5d94ae18f930ff91e5b2d51cd554b60d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 9 Mar 2026 22:45:54 +0200 Subject: Update content for html --- .../2025-08-05-local-coding-llm-with-ollama.html | 199 ++++++++++----------- 1 file changed, 97 insertions(+), 102 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 6108297f..f2a9d99d 100644 --- a/gemfeed/2025-08-05-local-coding-llm-with-ollama.html +++ b/gemfeed/2025-08-05-local-coding-llm-with-ollama.html @@ -2,17 +2,12 @@ - Local LLM for Coding with Ollama on macOS -
-
-
-

Home | Markdown | Gemini

@@ -110,9 +105,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):
@@ -125,7 +120,7 @@ http://www.gnu.org/software/src-highlite --> 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.
@@ -138,27 +133,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:
@@ -183,9 +178,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
@@ -228,11 +223,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


@@ -243,38 +238,38 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
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:
@@ -283,13 +278,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:
@@ -298,27 +293,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!
@@ -338,7 +333,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


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