HELGE SVERREAll-stack Developer
Bergen, Norwayv13.0
est. 2012  |  300+ repos  |  4000+ contributions
Tools  |   Theme:
Articles

Guides on how to do stuff, SEO Spam, and other marvelous works, written by yours truly.

Building sql-splitter: Correctness Is the Product
sql-splitter shipped nine subcommands in 48 hours. That was the easy part. The hard part — real-world SQL dumps, honest benchmarks, and a PHP tool that's faster than you — is what makes a tool trustworthy.
Building Token: A Rust Text Editor with AI Agents
Token is a 40,000+ line Rust text editor built through 170+ AI agent conversations. This documents the framework — Build/Improve/Sweep modes, reference docs as agent APIs, gap documents — that made sustained AI collaboration work.
Sema After the First Week: VM, NaN-Boxing, and the Real Project
What happened after v1.0.1. A bytecode VM, NaN-boxed values, a package manager, a web server, and the performance story that came with all of it.
Syntax Highlighting a Plain Textarea with a Transparent Overlay
How to add syntax highlighting to a regular HTML textarea without any editor libraries, using a transparent textarea layered on top of a highlighted pre element.
Synthetic Peer Review — or, How Fake Reddit Comments Found Real Bugs
Use an LLM to simulate diverse reviewers, then verify each critique against your codebase. I tested it with 305 fake Reddit comments on my Lisp project. Half were wrong. The other half led to real fixes.
Building Sema: A Lisp with LLM Primitives, Built with AI Agents
Sema is a Scheme-like Lisp implemented in Rust where LLM calls are just another form of evaluation. I built it in 5 days using Amp Code. Here's how.
Reverse Engineering Norwegian Grocery Apps
I decompiled the Rema 1000 and Coop Norway Android apps to map their internal APIs. Here's every endpoint, authentication flow, and data model — plus how you could build your own receipt fetcher.
If It's Free, You're the Product: Investigating Spenderlog
A free spending tracker on Google Play, made by a market research agency. I decompiled the APK and followed the money trail.
SurrealDB 3.0: What's Really New? (Beyond the Speed Hype)
A no-hype breakdown of SurrealDB 3.0's actual new features, architectural shifts, breaking changes, and migration path — pulled from the release notes and beta changelogs.
Headless Browser Scraping on Sprites.dev with Lightpanda
Chrome doesn't work on Sprites.dev, but Lightpanda does. Learn how to run a lightweight headless browser for web scraping on Fly.io's sandboxed VMs.
Share HTML Prototypes Instantly with Sprites.dev
Use Sprites.dev to quickly share static HTML prototypes with clients and teammates via a public URL. No deployment pipeline needed.
Why Expose Crashes on Large Files (and How to Fix It)
Getting PHP Fatal error: Allowed memory size of 134217728 bytes exhausted when sharing large files via Expose? Learn how to increase memory_limit in ~/.expose/config.php so your tunnels stop crashing.
The Loop: Making Art with AI about Making Art with AI
A blog post about making art with AI about making art with AI. This post is part of the work it describes.
Embedding PDFs in iframes: URL Parameters Guide
Control how PDFs display in embedded iframes using URL parameters. Navigate to specific pages, set zoom levels, and customize the viewer interface.
Introducing logobox: Beautiful Logos Without Design Skills
A simple tool that combines fonts, icons, and colors to create professional-looking logos in seconds. No design talent required.
How to Disable Gatekeeper Prompts on MacOS
Avoid macOS's 'Gatekeeper' (This app was downloaded from the INTERNET! 😱 do you want to run it?) prompts during local development. Learn how to remove the quarantine flag or (if you must) disable Gatekeeper entirely.
How to properly test Filament forms with Repeater fields in Actions
When testing FilamentPHP forms with repeaters, your data might get merged with default values unexpectedly. Here's how to fix it with Repeater::fake().
Operation Talk(no)More: Six Months of Data thievery and Zero Results
I registered a domain from a CRM API example, built a Windows 95-themed logger, and waited six months for a security discovery that never came. A joke without a punchline.
Fixing the Laravel URL Generator Error: Request Must Be of Type Illuminate\Http\Request
How to fix the frustrating 'Argument #2 ($request) must be of type Illuminate\Http\Request, null given' error in Laravel applications that breaks all Artisan commands.
CleanShotX - Raycast Extension not working, re-enable API access in settings.
If your CleanShot X Raycast extension suddenly stops working—like the ‘Capture Area’ shortcut doing nothing—it might be due to a disabled API setting. Here’s a quick fix to get it working again.
Override Name Collision in Laravel Cashier Models and Migration
Quick guide on how to override the default Laravel Cashier models and migrations, when you already have a Subscription or Customer model/table in your application.
Flutter: Building a Overlay with Transparent Cutout using CustomPainter
A practical guide showing how to create an overlay with a transparent cutout in Flutter that positions itself relative to any widget. Using CustomPainter and OverlayEntry, we'll implement smart positioning and smooth transitions, demonstrated with a real calendar widget example.
2024 in Review: Obsessions with All Things MIDI and WebAudio
A rundown of everything I launched or tinkered with in 2024, spanning from music tech to AI-infused utilities.
Fixing Laravel Vapor S3 Uploads After Migration Away from Vapor
When migrating away from Laravel Vapor while still using direct-to-S3 uploads with the `laravel-vapor` npm package, you might encounter issues with file uploads failing. This article explains how to fix this issue.
'HTTP header is larger than 10240 bytes' on Laravel Vapor 😩
It's because of the session data being stored in cookies 🍪. Change your session driver to use `dynamodb`, `redis` or `database` to fix it.
FilamentPHP: Fixing Select fields complaining about getEditOptionActionFormData
You know know the error i am talking about.
FilamentPHP: Grouping Table Rows by Month and Year
Filament's Table builder allows you to group your table rows by date out of the box, but what if you need to group by "month and year"?
How to Create Custom Image Markers from a URL in Flutter Google Maps (with Caching)
A guide on how to build a god damned custom map marker without going insane in Flutter using Google Maps.
Implementing Sign-in with Apple on Flutter (iOS and Android) and the Web using a Laravel backend
This guide provides a detailed walkthrough of implementing Sign-in with Apple on Flutter for both iOS, Android, and the web, using a Laravel backend to handle the authentication process.
Formatting Laravel Blade files and Tailwind CSS with Prettier
(Updated for Prettier V3) Guide on setting up "prettier-plugin-blade", Finally, a Blade formatter that works well!
Automatically Creating Buckets in Minio with Laravel Sail
Learn how to automate the process of creating Minio buckets using Laravel Sail.
Introducing Mindwave: Building AI-Powered Features in Laravel Made Easy
I am building a Laravel Package that abstracts AI into neat puzzle pieces so you can easily use it in your application
Practical Prompt Engineering: Extracting Structured Recipe Data from Plain Text
Let us devise a prompt that will enable us to efficiently extract structured recipe data as JSON from plain text.
Add operationId in OpenAPI Specification using Scramble.
Creating an Extension to add features you need to your OpenAPI spec when using the Laravel OpenAPI Specficiation Generator package Scramble
Your standard "Top {NUM} Best HTML Admin Panel Templates in {YEAR}"-Listicle *snore* 😴
Not your run-of-the-mill listicle (autocomplete wanted to turn that word into "testicle" – hmm...). You know, actually, this is your regular run-of-the-mill listicle. You may ignore this with no consequences to your life going forward.
How to use relative links in Filament RichEditor fields
Learn how to modify input fields with Filament render hooks to support relative links in RichEditor fields.
Reverse Engineering Rema 1000's "Æ" App using SSL Unpinning on Android with Frida.
Learn how to perform SSL unpinning with Frida on Android using Rema 1000's "Æ" app as an example.
How to add GPT-3 Modal to Input Fields in FilamentPHP
How to harnes the power of AI Text generation in the Filament admin panel
How to setup Progressive Web App (PWA) on Laravel Vapor
Since Laravel Vapor puts your assets in S3, You have to do some workarounds to PWAs work properly, this article guides you through those.
Awesome Laravel Packages with Real World Usage
List of "awesome" laravel packages that I often use in real world projects and why.


Old posts I didn't want to throw away

Enable Foreign Key Constraints SQLite Laravel
Expose Local Web Server
MySQL Overlapping Intersecting Dates
How To Add A Virtual Host In XAMPP
Personal Branding Quickstart
Timestamped Live Template Todos In PhpStorm
Ottomatik For MySQL Backups
Database Migrations In PHP With Phinx
How To Fix A Hacked Joomla Site
How To Move Your Mouse Cursor In Circles With AutoIt
Reversing Joomla Attack
Thoughts On Project Rider
Displaying Data From Community Builder In Joomla
How To Dox
i18n Slim Framework Translation Twig
Become A Successful Freelancer
Web Developer Resume Tips
Video Course WebDev
Textbox Dropdown HTML5
How To Minimize Contact Form Spam
Lets Talk About SEMrush
WPScan Secure WordPress Site
Fetch Info From SoundCloud API
How To Make Nice Tables In CSS
LibreOffice MSI GPO Error
MVC Pattern Explained
Promo Code DigitalOcean
Chromecast
Get Local Web Development Clients
Invoicing Solution Freelancers
My Thoughts On Website Builders
Tools For Webmasters
Useful JS And PHP Script Libraries
What Is SEO Beginners Guide
Das Keyboard 4 Professional Clicky Review
Finding Work Freelance Developer
Free Alternatives To cPanel
Freelance Project Lomotif
Marquee
MDDHosting Review
Namecheap Review
Syntax Highlighting In WordPress
Updated 2014 Tools I Use In My Workflow
3 New Songs
How To Query WHOIS Servers With PHP
PHP Domain Availability Checking Script
splwow64 exe Error How To Fix
Donate Coffee Donation Service Idea
How To Change SMS App Nexus 5
How To Parse XML In PHP
Plantronics Voyager Legend Review
Excel Printing Failure
Psytrance Tutorial FL Studio
Sony VAIO Pro 13 Review SVP132A1CM
How IT Guys Lose Their Faith In Humanity
IObit Advanced System Care Pro 6 Review
The No Bullshit HostGator Review
How To Change Nameservers On Namecheap
New Techno Song
2 Free Hardstyle MIDI Melodies
Arduino Things I Made
Building A Computer For A Friend
Helge's Switchblade v0 9 Released
Problems With Computer I'm Building For A Friend
GameSiteScript Facebook Comments Tutorial
How To Make A Hardstyle Kick In FL Studio Tutorial
Top 5 Helpdesk Story Sites
Tour Of My Studio 3
WorkCenter 7232 Fuser Problems Fixed
Error 500 You Say
How To Unlock BitLocker Drive In Command Prompt
Printers Do Not Like Sticky Paper
Trance Piano Melody
White Angels Chillout Trance
Windows 7 BitLocker
WorkCenter 7232 Fuser Problems
Facebook Page & Switchblade Video!
TekDefense did a video on Switchblade!
Helge's Switchblade v0 8 Released
How To Host Your Website For Free 000webhost
Humans Txt Cool I Guess
Improved Track
Mastered Track Trance
Music To Listen To While Coding
New Switchblade Webdesign
Something Switchblade
Switchblade Around The Interwebs
The TekDefense Video Is On SecurityTube
Tools I Use In My Workflow
Unfinished Trance/Hardcore Track

<!-- generated with nested tables and zero regrets -->