Reads
tl;dr This is not a blog. It's documentation!
Welcome to my not-a-blog. It's definitely not a blog, because blogs are for rambling and ranting, and this is purely documentation. Okay, maybe there will be a little bit of rambling, but only in the name of thoroughness.
-
Deno 2: It's Time To Switch
Deno has the best foundation for the future. It's built on web standards like promises, fetch() or ES modules. This, combined with the fact that it's ecosystem is now more mature than ever and dependency management is actually fun, makes Deno the best choice for mission-critical applications.
- #Bun
- #Deno
- #JavaScript
- #Node.js
- #TypeScript
-
Offline RAG with Bun, libSQL, LangChain.js, and Ollama
How a simple, personal, offline-only RAG chatbot could look? A command-line tool that would import a single PDF at a time and allow me to chat with its contents was the goal. Being comfortable writing TypeScript, I decided to give it a go using Bun, libSQL, LangChain.js and Ollama.
- #AI
- #Bun
- #LangChain
- #libSQL
- #Ollama
- #RAG
- #TypeScript
-
Self-Hosting Supabase with Docker and Caddy as a Reverse Proxy
Self-hosting Supabase is quite a task on its own, but when it comes to running it behind a reverse proxy, things can get even trickier. I'll show you how I self-host Supabase with Docker and Caddy as a reverse proxy running on a Hetzner Cloud VPS.
- #Caddy
- #ReverseProxy
- #Supabase
- #VPS
-
Creating Custom Elements with Vue.js
Creating Custom Elements with Vue.js using Vite is a straightforward process that involves setting compiler options, defining Custom Elements, and managing CSS encapsulation. This guide also explores utilizing Import Maps for efficient dependency management and styling nested components effectively.
- #CustomElements
- #ImportMaps
- #Vite
- #Vue.js
-
Safari 18: View Transitions, Style Queries, and Animating Display
On Monday at WWDC 2024, Apple announced Apple Intelligence, their - I think - really promising approach to personal AI. The reception seems to be really positive, as AAPL stock is skyrocketing. But, have you seen that you can now transition between `display` values in CSS?
- #CSS
- #Safari
- #WWDC
-
Running Bun with Docker
I find myself coming back to Bun more and more lately for running scripts and side projects. It's fast, has great DX, and is a joy to work with. For a recent project I wanted to deploy a Bun app inside a Docker container. Here's what I learned.
- #Alpine
- #Bun
- #Docker
-
Don't Forget to Trim Your Docker Secrets
While working on my current side project, I read about the recommendation to pass secrets to Docker containers using Docker secrets. Until now, I have been passing sensitive information as environment variables. So I thought this would be a good opportunity to learn about it.
- #Bun
- #Docker
-
Can you do IPv6-only Websites?
The other day I saw this offer at Hetzner: ARM based virtual cloud server - IPv6 only. For 3.29 € per month! That's 50 cents cheaper than with the IPv4 address included. The Swabian in me thought: That's cheap! But can you run IPv6-only websites? tldr; Yes, of course. But there are a few things to consider.
- #Hetzner
- #IPv6
-
Using a Web Component to Keep My Age Up to Date
Ok, I have to admit that I am indeed getting older and web components are no fountain of youth. My Astro site is pre-generated and not server-rendered, so I have to rely on JavaScript to keep my age up to date. To keep it simple and self-contained, I decided to create a web component.
- #HTML
- #JavaScript
- #WebComponents
-
Automate My Grid: Python Meets EXIF and GPT-4 Vision
Recently, I launched a new section on my website where I would like to showcase some of my favorite photos. I wanted to automate the process of extracting EXIF metadata and generating alt text, title, and tage for the images. So let's let AI do the heavy lifting.
- #exif
- #gpt-4v
- #photography
- #python
-
Organize TypeScript Imports with Prettier
As your TypeScript projects grow, it’s easy to lose track of your imports. Prettier itself cannot help you keep them organized out of the box. I tried several Prettier plugins I found on the web, but none of them really worked for me. But finally I found a solution that works for me.
- #plugin
- #prettier
- #typescript
-
Streaming with FastAPI and Python
For an upcoming project, instead of using Supabase as the backend, we're opting for Python and FastAPI. Personally, I've never coded anything in Python beyond some basic proof-of-concept stuff, so I'm excited to learn something new.
- #fastapi
- #gpt
- #openai
- #python
-
How to run Vicuna-13B with llama.cpp on an Apple Silicon GPU
To run Vicuna-13B with GPU acceleration on an Apple Silicon machine, compile the llama.cpp port specifically for Apple Silicon. Then, locate a GGMLv3 compatible version of Vicuna, and finally, use the model with the -ngl 1 parameter to utilize the GPU.
- #ai
- #applesilicon
- #llama
- #vicuna
-
Broadcasting my Default Browser with Server-Sent Events
My Uses page updates in real-time which default browser I am using right now. Whether I’m feeling a fiery passion for Firefox or a magnetic attraction to Safari, it will always reveal which browser has stolen my heart (for now). So sit back, let it refresh, and witness the drama unfold. Why? Because the world deserves to know!
- #browser
- #denodeploy
- #kv
- #sse
- #swift
-
Streaming on the Edge: ChatGPT clone with Streams on Deno
More for a demo than actual needed functionality, I tried to mimic ChatGPT's "typewriter" visual effect when chunks come back from the streaming OpenAI API. I was surprised how easy it was to get something working with Deno's built-in Web Streams API.
- #deno
- #edge
- #gpt
- #openai
- #supabase
-
One Script to Rule Them All: Upgrade All The Things 🛠️
As a software and web developer, I know the hassle of updating CLI tools like Node, Homebrew stuff, and others individually. To simplify this process, I've created a straightforward upgrade script.
- #homebrew
- #nvm
- #script
-
Vercel Analytics with Astro: To The Moon 🚀
Integrating Vercel Analytics with Astro is a breeze - they say. Well, turns out it's not. In here I will show you how to actually do it and what's missing from the documentation.
- #analytics
- #astro
- #vercel
- #webvitals
-
Bridging the Pixel Gap: AI Image Scaling with Upscayl
Text-to-image generators are popular these days, but often suffer from limited resolution due to computational constraints. To overcome this hurdle, I discovered a fantastic open source AI tool called Upscayl.
- #ai
- #midjourney
- #upscayl
-
AI-enhanced coding: Boosting my daily UX
AI has become an integral part of my daily routine, helping me tackle a wide range of tasks and challenges with ease. In this article, I'll share how AI tools like GitHub Copilot, ChatGPT, and Midjourney have revolutionized my life as a developer.
- #ai
- #chatgpt
- #githubcopilot
- #midjourney