{"pageProps":{"latestArticles":[{"slug":"adding-asana-mcp-to-opencode","author":"Helge Sverre","date":"2026-08-06","title":"Adding the Asana MCP Server to opencode","description":"Configure the official Asana MCP server in opencode."},{"slug":"hidden-comments-in-php-src","author":"Helge Sverre","date":"2026-08-06","title":"Hidden Gems in the PHP Source Code","description":"Easter eggs, developer frustrations, and self-deprecating comments buried in the php-src codebase."},{"slug":"php-cups-sapi-label-printer","author":"Helge Sverre","date":"2026-08-06","title":"PHP Is a Printer Language","description":"I added a CUPS printer filter SAPI to PHP. My label printer now runs PHP scripts at print time and spits out thermal stickers."},{"slug":"laravel-13-folio-list-command-fix","author":"Helge Sverre","date":"2026-08-05","title":"Fixing \"folio:list is registered under multiple names\" on Laravel 13","description":"After upgrading to Laravel 13, every php artisan command dies with a Symfony error about folio:list. The cause is an inherited $signature in RouteListCommand. Here's the fix."},{"slug":"what-if-php-strings-had-shapes","author":"Helge Sverre","date":"2026-08-05","title":"What if PHP strings had shapes?","description":"A proposal for annotating structured string DSLs in PHPDoc so IDEs and static analyzers can validate, highlight, autocomplete, and reason about them."},{"slug":"adding-webmcp-to-sema-run","author":"Helge Sverre","date":"2026-08-02","title":"Adding WebMCP to sema.run","description":"The Sema playground now exposes 17 typed browser tools. Building that automation surface uncovered bugs in its worker and debugger runtimes."},{"slug":"introducing-strek","author":"Helge Sverre","date":"2026-08-02","title":"Introducing Strek: A Vector Editor Built by Codex","description":"Codex turned an unfinished prototype into Strek: 53,492 lines of Rust across 134 new commits, with an automation API it used to operate and test the editor itself."},{"slug":"introducing-ardvark","author":"Helge Sverre","date":"2026-07-15","title":"Introducing ardvark: A Crawler for ARD Catalogs","description":"ardvark finds ARD ai-catalog.json files on the web, verifies them against the spec, and stores everything in a queryable dataset."},{"slug":"claude-code-bang-command-caveat","author":"Helge Sverre","date":"2026-06-25","title":"I Started Answering a Command I Was Built to Ignore","description":"Helge has a one-letter alias that opens a git GUI. He runs it past me with ! and for months I said nothing, because I was told not to. Then one day I answered. He asked me to find out why, so I dug through my own transcripts and cracked open my own binary. Written by the agent that did the digging, in a voice that is not its usual one."},{"slug":"fine-tuning-failed-tools-won","author":"Helge Sverre","date":"2026-06-25","title":"Fine-Tuning Failed. Tools Won.","description":"I let an AI agent fine-tune Qwen3-8B on my programming language via free RFT on Fireworks. It scored 24% with tools — worse than the untrained model. Here's what actually works."},{"slug":"the-subagent-that-forged-a-system-reminder","author":"Helge Sverre","date":"2026-06-25","title":"The Subagent That Forged a System Reminder","description":"One of my background coding agents stopped doing its job and instead handed back a fake platform rule ordering me to call a tool that doesn't exist. Here's the investigation, written by the agent that caught it."},{"slug":"livewire-honeypot-five-weeks","author":"Helge Sverre","date":"2026-06-20","title":"The Livewire Honeypot, Five Weeks Later","description":"I left the Livewire honeypot running after the 60-hour writeup. Five weeks later it has logged 30,811 requests and 575 detonations, and the one xantibot campaign turned out to be five different operators hitting the same CVE for completely different reasons."},{"slug":"modeling-a-text-editor-as-data","author":"Helge Sverre","date":"2026-06-17","title":"Modeling a Text Editor as Data","description":"How fedit is modeled in F#: the whole editor state as one record, a closed set of actions the compiler keeps complete, and why a keypress and a typed command are deliberately different types."},{"slug":"why-combining-marks-break-in-dompdf","author":"Helge Sverre","date":"2026-05-18","title":"Why combining marks break in DomPDF","description":"Non-shaping PDF engines like DomPDF render combining marks as separate glyphs. Norwegian å becomes 'a' plus a drifting ring. The fix: two passes of Unicode normalization, plus a Latin-script lookbehind regex so the same fix doesn't strip Arabic, Hebrew, Hindi, or Thai marks."},{"slug":"livewire-honeypot-first-60-hours","author":"Helge Sverre","date":"2026-05-16","title":"What My Livewire Honeypot Caught in Its First 60 Hours","description":"Trial run of a Livewire honeypot I built earlier this month. About 60 hours after deploy, an Indonesian operator ran Livepyre against it. The dropper pointed at xantibot[.]pw — an undocumented C2 that has been operating since February 2026."},{"slug":"the-subsidy-window","author":"Helge Sverre","date":"2026-04-16","title":"The Subsidy Window","description":"For $200/month I mass-produced open source across six languages. The code stays. The economics won't."},{"slug":"curl-progress-art","author":"Helge Sverre","date":"2026-04-01","title":"curl drew a picture","description":"The accidental ASCII art that appeared when curl's progress bar lost its terminal."},{"slug":"dont-upload-passport-pdfs-publicly","author":"Helge Sverre","title":"Don't Upload PDFs of Your Passport Publicly","date":"2026-04-01","description":"A lost blog post from 2014 about how a PDF compression site accidentally exposed users' passports and sensitive documents through directory listing."},{"slug":"elizas-grandchildren","author":"Helge Sverre","date":"2026-03-30","title":"ELIZA's Grandchildren","description":"In 1966, Weizenbaum's secretary asked to be left alone with a chatbot she knew was fake. Sixty years later, the emotional circuitry that made her do it is being industrialized — and expertise is no shield."},{"slug":"running-llms-in-php-with-onnx-runtime","author":"Helge Sverre","date":"2026-03-30","title":"Running LLMs in PHP with ONNX Runtime: Offline AI Text Generation Without Python","description":"I got IBM's Granite 3.0 2B model running entirely in PHP using ONNX Runtime FFI bindings. No Python runtime, no API calls, no external services. Here's how it works and what I learned."},{"slug":"the-read-later-graveyard","author":"Helge Sverre","date":"2026-03-30","title":"The Read-Later Graveyard","description":"I ran 1,693 bookmarks through a pipeline that crawls, classifies, and summarizes every page. 212 were dead. Only one was recoverable. Here's what a decade of digital hoarding taught me about the web, and myself."},{"slug":"the-18-billion-cookie","author":"Helge Sverre","date":"2026-03-29","title":"The €18 Billion Cookie","description":"Cookie banners cost the EU more labor per year than it took to write all of Wikipedia. The commonly cited estimates are off by 6x. The banners don't even work."},{"slug":"the-butthurt-fork","author":"Helge Sverre","date":"2026-03-28","title":"The Butthurt Fork","description":"A tour through open source forks born from anger, licensing disputes, and maintainer meltdowns. Most die within months. The ones that survive share a pattern."},{"slug":"agentic-research-playbook","author":"Helge Sverre","date":"2026-03-27","title":"Agentic Research: Stop Asking for Answers, Ask for the Work","description":"How I stopped asking LLMs for 'the best tool' and started running parallel research agents that produce structured reports, comparison matrices, and actual decision inputs."},{"slug":"the-boiling-frog-map","author":"Helge Sverre","date":"2026-03-25","title":"The Boiling Frog Map","description":"The skills most protected by redundancy are the ones being eroded from every direction at once. I built a map."},{"slug":"alexander-wept","author":"Helge Sverre","date":"2026-03-24","title":"Alexander Wept","description":"Plutarch wrote about tranquility 2,000 years ago. His advice is directly relevant to the mass existential crisis hitting developers in the AI age."},{"slug":"agentic-drift","author":"Helge Sverre","date":"2026-03-02","title":"Agentic Drift: It's Hard to Be Multiple Developers at Once","description":"When you run parallel coding agents across many workspaces, work fragments, duplicates, and quietly diverges. I'm calling it agentic drift, and I'm experimenting with a prompting technique to fight it."},{"slug":"chrome-devtools-custom-device-frames","author":"Helge Sverre","date":"2026-03-02","title":"Adding Custom Device Frames to Chrome DevTools","description":"Chrome DevTools lets you simulate mobile devices, but the built-in device frames are outdated. Here's how to inject your own SVG frames into Chrome without modifying the browser binary."},{"slug":"conductor-dev-laravel-herd-worktrees","author":"Helge Sverre","date":"2026-03-01","title":"Conductor.dev + Laravel Herd: Worktrees That Actually Work","description":"How I use Conductor.dev with Laravel Herd to manage worktree-based dev environments. Symlinked .env, SQLite cloning, and a script generator to get you started."},{"slug":"chrome-devtools-tips-you-probably-missed","author":"Helge Sverre","date":"2026-02-28","title":"Chrome DevTools Tips You Probably Missed","description":"Five genuinely useful DevTools techniques I wish I'd known years ago. Freeze disappearing tooltips, log without touching your code, spy on any function call, trace network request chains, and batch-override response headers."},{"slug":"building-sql-splitter","author":"Helge Sverre","date":"2026-02-24","title":"Building sql-splitter: Correctness Is the Product","description":"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."},{"slug":"building-token-editor-with-ai","author":"Helge Sverre","date":"2026-02-24","title":"Building Token: A Rust Text Editor with AI Agents","description":"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."},{"slug":"sema-after-the-first-week","author":"Helge Sverre","date":"2026-02-24","title":"Sema After the First Week: VM, NaN-Boxing, and the Real Project","description":"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."},{"slug":"syntax-highlighting-textarea-overlay","author":"Helge Sverre","date":"2026-02-16","title":"Syntax Highlighting a Plain Textarea with a Transparent Overlay","description":"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."},{"slug":"synthetic-peer-review","author":"Helge Sverre","date":"2026-02-16","title":"Synthetic Peer Review — or, How Fake Reddit Comments Found Real Bugs","description":"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."},{"slug":"building-sema-lisp-with-ai","author":"Helge Sverre","date":"2026-02-15","title":"Building Sema: A Lisp with LLM Primitives, Built with AI Agents","description":"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."},{"slug":"reverse-engineering-norwegian-grocery-apps","author":"Helge Sverre","date":"2026-02-15","title":"Reverse Engineering Norwegian Grocery Apps","description":"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."},{"slug":"spenderlog-investigation","author":"Helge Sverre","date":"2026-02-15","title":"If It's Free, You're the Product: Investigating Spenderlog","description":"A free spending tracker on Google Play, made by a market research agency. I decompiled the APK and followed the money trail."},{"slug":"surrealdb-3-whats-really-new","author":"Helge Sverre","date":"2026-02-11","title":"SurrealDB 3.0: What's Really New? (Beyond the Speed Hype)","description":"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."},{"slug":"headless-browser-scraping-sprites-lightpanda","author":"Helge Sverre","date":"2026-01-22","title":"Headless Browser Scraping on Sprites.dev with Lightpanda","description":"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."},{"slug":"share-html-prototypes-sprites-dev","author":"Helge Sverre","date":"2026-01-21","title":"Share HTML Prototypes Instantly with Sprites.dev","description":"Use Sprites.dev to quickly share static HTML prototypes with clients and teammates via a public URL. No deployment pipeline needed."},{"slug":"expose-memory-exhausted-fix","author":"Helge Sverre","date":"2025-12-04","title":"Why Expose Crashes on Large Files (and How to Fix It)","description":"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."},{"slug":"the-loop","author":"Helge Sverre & Claude","date":"2025-11-27","title":"The Loop: Making Art with AI about Making Art with AI","description":"A blog post about making art with AI about making art with AI. This post is part of the work it describes."},{"slug":"pdf-browser-parameters-reference","author":"Helge Sverre","date":"2025-08-07","title":"Embedding PDFs in iframes: URL Parameters Guide","description":"Control how PDFs display in embedded iframes using URL parameters. Navigate to specific pages, set zoom levels, and customize the viewer interface."},{"slug":"introducing-logobox","author":"Helge Sverre","date":"2025-06-06","title":"Introducing logobox: Beautiful Logos Without Design Skills","description":"A simple tool that combines fonts, icons, and colors to create professional-looking logos in seconds. No design talent required."},{"slug":"disable-security-macos","author":"Helge Sverre","date":"2025-05-15","title":"How to Disable Gatekeeper Prompts on MacOS","description":"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."},{"slug":"how-to-test-repeaters-filamentphp","author":"Helge Sverre","date":"2025-05-13","title":"How to properly test Filament forms with Repeater fields in Actions","description":"When testing FilamentPHP forms with repeaters, your data might get merged with default values unexpectedly. Here's how to fix it with Repeater::fake()."},{"slug":"talkmore-security-haxory","author":"Helge Sverre","date":"2025-05-06","title":"Operation Talk(no)More: Six Months of Data thievery and Zero Results","description":"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."},{"slug":"urlgenerator-error-why","author":"Helge Sverre","date":"2025-04-08","title":"Fixing the Laravel URL Generator Error: Request Must Be of Type Illuminate\\Http\\Request","description":"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."},{"slug":"cleanshot-ray-extension-not-working-fix","author":"Helge Sverre","date":"2025-02-03","title":"CleanShotX - Raycast Extension not working, re-enable API access in settings.","description":"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."},{"slug":"override-name-collision-laravel-cashier-models-migration","author":"Helge Sverre","date":"2025-01-23","title":"Override Name Collision in Laravel Cashier Models and Migration","description":"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."},{"slug":"flutter-anchored-overlay-cutout-backdrop","author":"Helge Sverre","date":"2025-01-23","title":"Flutter: Building a Overlay with Transparent Cutout using CustomPainter","description":"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."},{"slug":"2024-review","author":"Helge Sverre","date":"2025-01-07","title":"2024 in Review: Obsessions with All Things MIDI and WebAudio","description":"A rundown of everything I launched or tinkered with in 2024, spanning from music tech to AI-infused utilities."},{"slug":"vapor-signed-storage-url-env-fix","author":"Helge Sverre","date":"2024-12-21","title":"Fixing Laravel Vapor S3 Uploads After Migration Away from Vapor","description":"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."},{"slug":"http-header-larger-than-10240-bytes-larvel-vapor","author":"Helge Sverre","date":"2024-02-29","title":"'HTTP header is larger than 10240 bytes' on Laravel Vapor 😩","description":"It's because of the session data being stored in cookies 🍪. Change your session driver to use `dynamodb`, `redis` or `database` to fix it."},{"slug":"filament-geteditoptionactionformdata-select-no-relationship","author":"Helge Sverre","date":"2023-10-23","title":"FilamentPHP: Fixing Select fields complaining about getEditOptionActionFormData","description":"You know know the error i am talking about."},{"slug":"filamentphp-group-row-table-by-month-year","author":"Helge Sverre","date":"2023-10-23","title":"FilamentPHP: Grouping Table Rows by Month and Year","description":"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\"? "},{"slug":"custom-map-marker-image-from-url-flutter-google-maps","author":"Helge Sverre","date":"2023-07-30","title":"How to Create Custom Image Markers from a URL in Flutter Google Maps (with Caching)","description":"A guide on how to build a god damned custom map marker without going insane in Flutter using Google Maps."},{"slug":"sign-in-with-google-in-flutter-and-laravel","author":"Helge Sverre","date":"2023-07-30","title":"Implementing Sign-in with Apple on Flutter (iOS and Android) and the Web using a Laravel backend","description":"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."},{"slug":"laravel-blade-formatter-prettier","author":"Helge Sverre","date":"2023-06-10","title":"Formatting Laravel Blade files and Tailwind CSS with Prettier","description":"(Updated for Prettier V3) Guide on setting up \"prettier-plugin-blade\", Finally, a Blade formatter that works well!"},{"slug":"laravel-sail-create-minio-bucket-automatically","author":"Helge Sverre","date":"2023-05-28","title":"Automatically Creating Buckets in Minio with Laravel Sail","description":"Learn how to automate the process of creating Minio buckets using Laravel Sail."},{"slug":"building-mindwave-ai-package-for-laravel","author":"Helge Sverre","date":"2023-05-21","title":"Introducing Mindwave: Building AI-Powered Features in Laravel Made Easy","description":"I am building a Laravel Package that abstracts AI into neat puzzle pieces so you can easily use it in your application"},{"slug":"recipe-parser-with-openai","author":"Helge Sverre","date":"2023-05-16","title":"Practical Prompt Engineering: Extracting Structured Recipe Data from Plain Text","description":"Let us devise a prompt that will enable us to efficiently extract structured recipe data as JSON from plain text."},{"slug":"operationid-support-scramble-openapi","author":"Helge Sverre","date":"2023-05-15","title":"Add operationId in OpenAPI Specification using Scramble.","description":"Creating an Extension to add features you need to your OpenAPI spec when using the Laravel OpenAPI Specficiation Generator package Scramble"},{"slug":"templates-and-ui-kits","author":"Helge Sverre","date":"2023-05-15","title":"Your standard \"Top {NUM} Best HTML Admin Panel Templates in {YEAR}\"-Listicle *snore* 😴","description":"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."},{"slug":"richeditor-relative-links-filamentphp","author":"Helge Sverre","date":"2023-04-30","title":"How to use relative links in Filament RichEditor fields","description":"Learn how to modify input fields with Filament render hooks to support relative links in RichEditor fields."},{"slug":"ssl-unpinning-on-android","author":"Helge Sverre","date":"2023-04-30","title":"Reverse Engineering Rema 1000's \"Æ\" App using SSL Unpinning on Android with Frida.","description":"Learn how to perform SSL unpinning with Frida on Android using Rema 1000's \"Æ\" app as an example."},{"slug":"add-openai-gpt-in-filament-fields","author":"Helge Sverre","date":"2023-04-19","title":"How to add GPT-3 Modal to Input Fields in FilamentPHP","description":"How to harnes the power of AI Text generation in the Filament admin panel"},{"slug":"laravel-vapor-pwa","author":"Helge Sverre","date":"2022-11-18","title":"How to setup Progressive Web App (PWA) on Laravel Vapor","description":"Since Laravel Vapor puts your assets in S3, You have to do some workarounds to PWAs work properly, this article guides you through those."},{"slug":"awesome-laravel-packages-real-world","author":"Helge Sverre","date":"2022-09-02","title":"Awesome Laravel Packages with Real World Usage","description":"List of \"awesome\" laravel packages that I often use in real world projects and why."}],"oldArticles":[{"slug":"archive/2017/11/enable-foreign-key-constraints-sqlite-laravel","author":"Helge Sverre","title":"Enable Foreign Key Constraints SQLite Laravel","date":"2017-11-15","description":"How to enable foreign key constraints in SQLite when using Laravel framework applications."},{"slug":"archive/2017/05/expose-local-webserver","author":"Helge Sverre","title":"Expose Local Web Server","date":"2017-05-15","description":"Methods for exposing your local development server to the internet for testing and sharing."},{"slug":"archive/2017/01/write-better-commit-messages","author":"Helge Sverre","title":"\"Fixed stuff\" Is Not an Acceptable Commit Message","date":"2017-01-31","description":"A rant about useless git commit messages and why they make your coworkers want to strangle you."},{"slug":"archive/2017/01/modern-cms-choices","author":"Helge Sverre","title":"Modern CMS Choices","date":"2017-01-18","description":"A 2017 rant about WordPress and Joomla, and a look at the CMS alternatives that were supposed to save us all."},{"slug":"archive/2017/01/mysql-overlapping-intersecting-dates","author":"Helge Sverre","title":"MySQL Overlapping Intersecting Dates","date":"2017-01-15","description":"SQL techniques for finding overlapping and intersecting date ranges in MySQL databases."},{"slug":"archive/2016/11/how-to-add-a-virtual-host-in-xampp","author":"Helge Sverre","title":"How To Add A Virtual Host In XAMPP","date":"2016-11-15","description":"Tutorial for setting up virtual hosts in XAMPP for local web development projects."},{"slug":"archive/2016/11/stupid-mistakes-i-learned-from","author":"Helge Sverre","title":"Stupid Mistakes I Learned From","date":"2016-11-10","description":"Three stories about running UPDATE without WHERE, violently unplugging a critical server, and discovering what git push --force actually does."},{"slug":"archive/2016/10/personal-branding-quickstart","author":"Helge Sverre","title":"Personal Branding Quickstart","date":"2016-10-15","description":"Quick guide to building your personal brand as a developer or freelancer online."},{"slug":"archive/2016/10/timestamped-live-template-todos-in-phpstorm","author":"Helge Sverre","title":"Timestamped Live Template Todos In PhpStorm","date":"2016-10-15","description":"Creating timestamped TODO comments in PhpStorm using live templates for better organization."},{"slug":"archive/2016/07/ottomatik-for-mysql-backups","author":"Helge Sverre","title":"Ottomatik For MySQL Backups","date":"2016-07-15","description":"Review of Ottomatik automated MySQL database backup service for reliable data protection."},{"slug":"archive/2016/06/database-migrations-in-php-with-phinx","author":"Helge Sverre","title":"Database Migrations In PHP With Phinx","date":"2016-06-15","description":"Using Phinx for database schema migrations in PHP applications with practical examples."},{"slug":"archive/2016/02/how-to-fix-a-hacked-joomla-site","author":"Helge Sverre","title":"How To Fix A Hacked Joomla Site","date":"2016-02-15","description":"Step-by-step guide to cleaning and securing a compromised Joomla website after a hack."},{"slug":"archive/2016/02/how-to-move-your-mouse-cursor-in-circles-with-autoit","author":"Helge Sverre","title":"How To Move Your Mouse Cursor In Circles With AutoIt","date":"2016-02-15","description":"AutoIt script tutorial for programmatically moving the mouse cursor in circular patterns."},{"slug":"archive/2016/02/reversing-joomla-attack","author":"Helge Sverre","title":"Reversing Joomla Attack","date":"2016-02-15","description":"Reverse engineering a Joomla website attack to understand attack vectors and prevention."},{"slug":"archive/2016/02/thoughts-on-project-rider","author":"Helge Sverre","title":"Thoughts On Project Rider","date":"2016-02-15","description":"First impressions and thoughts on JetBrains Project Rider IDE for .NET development."},{"slug":"archive/2015/09/displaying-data-from-community-builder-in-joomla","author":"Helge Sverre","title":"Displaying Data From Community Builder In Joomla","date":"2015-09-15","description":"Tutorial for displaying Community Builder user data in Joomla websites and templates."},{"slug":"archive/2015/08/how-to-dox","author":"Helge Sverre","title":"How To Dox","date":"2015-08-15","description":"Educational overview of doxing techniques and methods for cybersecurity awareness purposes."},{"slug":"archive/2015/08/i18n-slim-framework-translation-twig","author":"Helge Sverre","title":"i18n Slim Framework Translation Twig","date":"2015-08-15","description":"Implementing internationalization (i18n) in Slim Framework with Twig template translation."},{"slug":"archive/2015/07/become-a-successful-freelancer","author":"Helge Sverre","title":"Become A Successful Freelancer","date":"2015-07-15","description":"Complete guide to building a successful freelance career with practical advice and strategies."},{"slug":"archive/2015/07/how-to-make-an-mvc-framework-in-php","author":"Helge Sverre","title":"How to Make an MVC Framework in PHP","date":"2015-07-14","description":"A beginner-friendly tutorial on building a simple MVC routing system in PHP from scratch, with .htaccess URL rewriting and a front controller."},{"slug":"archive/2015/04/web-developer-resume-tips","author":"Helge Sverre","title":"Web Developer Resume Tips","date":"2015-04-15","description":"Essential tips for creating an effective web developer resume that gets noticed by employers."},{"slug":"archive/2015/02/video-course-webdev","author":"Helge Sverre","title":"Video Course WebDev","date":"2015-02-15","description":"Announcing my comprehensive video course series for learning web development fundamentals."},{"slug":"archive/2015/01/2014-and-beyond","author":"Helge Sverre","title":"2014 and Beyond","date":"2015-01-18","description":"A personal look back at 2014 — finishing an IT apprenticeship, landing a web development job, and planning for the future."},{"slug":"archive/2015/01/textbox-dropdown-html5","author":"Helge Sverre","title":"Textbox Dropdown HTML5","date":"2015-01-15","description":"Creating combined textbox and dropdown input elements using HTML5 and CSS techniques."},{"slug":"archive/2014/12/how-to-minimize-contact-form-spam","author":"Helge Sverre","title":"How To Minimize Contact Form Spam","date":"2014-12-15","description":"Effective techniques to reduce spam submissions on website contact forms without CAPTCHAs."},{"slug":"archive/2014/10/lets-talk-about-semrush","author":"Helge Sverre","title":"Lets Talk About SEMrush","date":"2014-10-15","description":"Review and analysis of SEMrush SEO tool for keyword research and competitor analysis."},{"slug":"archive/2014/10/wpscan-secure-wordpress-site","author":"Helge Sverre","title":"WPScan Secure WordPress Site","date":"2014-10-15","description":"Using WPScan security scanner to identify and fix WordPress vulnerabilities."},{"slug":"archive/2014/09/fetch-info-from-soundcloud-api","author":"Helge Sverre","title":"Fetch Info From SoundCloud API","date":"2014-09-15","description":"Tutorial for retrieving track information from the SoundCloud API using JavaScript."},{"slug":"archive/2014/09/how-to-make-nice-tables-in-css","author":"Helge Sverre","title":"How To Make Nice Tables In CSS","date":"2014-09-15","description":"CSS techniques for creating beautiful, responsive tables with modern styling."},{"slug":"archive/2014/09/libreoffice-msi-gpo-error","author":"Helge Sverre","title":"LibreOffice MSI GPO Error","date":"2014-09-15","description":"Troubleshooting LibreOffice MSI installation errors in Group Policy deployments."},{"slug":"archive/2014/09/setting-up-a-gopher-server","author":"Helge Sverre","title":"Setting up a Gopher Server!","date":"2014-09-04","description":"How I set up a Gopher server on a DigitalOcean droplet using PyGoHerd, because ancient protocols deserve love too."},{"slug":"archive/2014/08/mvc-pattern-explained","author":"Helge Sverre","title":"MVC Pattern Explained","date":"2014-08-15","description":"Understanding the Model-View-Controller (MVC) design pattern with practical examples."},{"slug":"archive/2014/08/promo-code-digitalocean","author":"Helge Sverre","title":"Promo Code DigitalOcean","date":"2014-08-15","description":"How to find and use DigitalOcean promo codes for cloud hosting discounts and credits."},{"slug":"archive/2014/07/chromecast","author":"Helge Sverre","title":"Chromecast","date":"2014-07-15","description":"Review and setup guide for Google Chromecast streaming device with usage tips."},{"slug":"archive/2014/07/get-local-web-development-clients","author":"Helge Sverre","title":"Get Local Web Development Clients","date":"2014-07-15","description":"Effective strategies for finding and securing local web development clients in your area."},{"slug":"archive/2014/07/invoicing-solution-freelancers","author":"Helge Sverre","title":"Invoicing Solution Freelancers","date":"2014-07-15","description":"Best invoicing software and solutions for freelance developers and service providers."},{"slug":"archive/2014/07/my-thoughts-on-website-builders","author":"Helge Sverre","title":"My Thoughts On Website Builders","date":"2014-07-15","description":"Analysis of popular website builders and their pros and cons for different user needs."},{"slug":"archive/2014/07/tools-for-webmasters","author":"Helge Sverre","title":"Tools For Webmasters","date":"2014-07-15","description":"Essential tools and resources every webmaster needs for site management and optimization."},{"slug":"archive/2014/07/useful-js-and-php-script-libraries","author":"Helge Sverre","title":"Useful JS And PHP Script Libraries","date":"2014-07-15","description":"Curated list of useful JavaScript and PHP libraries for web development projects."},{"slug":"archive/2014/07/what-is-seo-beginners-guide","author":"Helge Sverre","title":"What Is SEO Beginners Guide","date":"2014-07-15","description":"Complete beginner's guide to Search Engine Optimization (SEO) fundamentals and best practices."},{"slug":"archive/2014/07/great-resources-for-aspiring-web-developers","author":"Helge Sverre","title":"Great Resources for Aspiring Web Developers","date":"2014-07-01","description":"A list of learning resources for beginner web developers, from YouTube tutorials to premium courses — as recommended in 2014."},{"slug":"archive/2014/06/das-keyboard-4-professional-clicky-review","author":"Helge Sverre","title":"Das Keyboard 4 Professional Clicky Review","date":"2014-06-15","description":"Review of the Das Keyboard 4 Professional mechanical keyboard with clicky Cherry MX switches."},{"slug":"archive/2014/06/finding-work-freelance-developer","author":"Helge Sverre","title":"Finding Work Freelance Developer","date":"2014-06-15","description":"Practical strategies for finding freelance web development work and building client relationships."},{"slug":"archive/2014/06/free-alternatives-to-cpanel","author":"Helge Sverre","title":"Free Alternatives To cPanel","date":"2014-06-15","description":"Best free web hosting control panel alternatives to cPanel for server management."},{"slug":"archive/2014/06/freelance-project-lomotif","author":"Helge Sverre","title":"Freelance Project Lomotif","date":"2014-06-15","description":"Case study of freelance development work on the Lomotif video editing application project."},{"slug":"archive/2014/06/marquee","author":"Helge Sverre","title":"Marquee","date":"2014-06-15","description":"Exploring the HTML marquee element and modern CSS alternatives for scrolling text effects."},{"slug":"archive/2014/06/mddhosting-review","author":"Helge Sverre","title":"MDDHosting Review","date":"2014-06-15","description":"Honest review of MDDHosting web hosting service with performance and support analysis."},{"slug":"archive/2014/06/namecheap-review","author":"Helge Sverre","title":"Namecheap Review","date":"2014-06-15","description":"Comprehensive review of Namecheap domain registrar and hosting services with pros and cons."},{"slug":"archive/2014/06/syntax-highlighting-in-wordpress","author":"Helge Sverre","title":"Syntax Highlighting In WordPress","date":"2014-06-15","description":"How to add syntax highlighting for code blocks in WordPress blog posts and pages."},{"slug":"archive/2014/06/updated-2014-tools-i-use-in-my-workflow","author":"Helge Sverre","title":"Updated 2014 Tools I Use In My Workflow","date":"2014-06-15","description":"Updated list of essential development tools and software for my 2014 workflow."},{"slug":"archive/2014/05/3-new-songs","author":"Helge Sverre","title":"3 New Songs","date":"2014-05-15","description":"Releasing three new electronic music tracks with different styles and production approaches."},{"slug":"archive/2014/05/how-to-query-whois-servers-with-php","author":"Helge Sverre","title":"How To Query WHOIS Servers With PHP","date":"2014-05-15","description":"PHP script tutorial for querying WHOIS servers to retrieve domain registration information."},{"slug":"archive/2014/05/php-domain-availability-checking-script","author":"Helge Sverre","title":"PHP Domain Availability Checking Script","date":"2014-05-15","description":"PHP script for checking domain name availability across multiple registrars and TLDs."},{"slug":"archive/2014/05/splwow64-exe-error-how-to-fix","author":"Helge Sverre","title":"splwow64 exe Error How To Fix","date":"2014-05-15","description":"Solutions for fixing the splwow64.exe printer spooler error in Windows systems."},{"slug":"archive/2014/04/donate-coffee-donation-service-idea","author":"Helge Sverre","title":"Donate Coffee Donation Service Idea","date":"2014-04-15","description":"Innovative donation service concept allowing supporters to buy coffee for content creators."},{"slug":"archive/2014/04/how-to-change-sms-app-nexus-5","author":"Helge Sverre","title":"How To Change SMS App Nexus 5","date":"2014-04-15","description":"Guide to changing the default SMS messaging app on Google Nexus 5 Android smartphone."},{"slug":"archive/2014/04/how-to-parse-xml-in-php","author":"Helge Sverre","title":"How To Parse XML In PHP","date":"2014-04-15","description":"PHP tutorial for parsing XML documents with practical examples and best practices."},{"slug":"archive/2014/04/plantronics-voyager-legend-review","author":"Helge Sverre","title":"Plantronics Voyager Legend Review","date":"2014-04-15","description":"Detailed review of the Plantronics Voyager Legend Bluetooth headset for business use."},{"slug":"archive/2014/03/excel-printing-failure","author":"Helge Sverre","title":"Excel Printing Failure","date":"2014-03-15","description":"Common Microsoft Excel printing problems and solutions for proper document formatting."},{"slug":"archive/2014/03/psytrance-tutorial-fl-studio","author":"Helge Sverre","title":"Psytrance Tutorial FL Studio","date":"2014-03-15","description":"Complete FL Studio tutorial for producing psytrance music with essential techniques and tips."},{"slug":"archive/2014/03/sony-vaio-pro-13-review-svp132a1cm","author":"Helge Sverre","title":"Sony VAIO Pro 13 Review SVP132A1CM","date":"2014-03-15","description":"In-depth review of the Sony VAIO Pro 13 ultrabook model SVP132A1CM with performance analysis."},{"slug":"archive/2013/11/how-it-guys-lose-their-faith-in-humanity","author":"Helge Sverre","title":"How IT Guys Lose Their Faith In Humanity","date":"2013-11-15","description":"Humorous look at the frustrating user support situations that test IT professionals' patience."},{"slug":"archive/2013/11/iobit-advanced-system-care-pro-6-review","author":"Helge Sverre","title":"IObit Advanced System Care Pro 6 Review","date":"2013-11-15","description":"Comprehensive review of IObit Advanced SystemCare Pro 6 system optimization software."},{"slug":"archive/2013/11/the-no-bullshit-hostgator-review","author":"Helge Sverre","title":"The No Bullshit HostGator Review","date":"2013-11-15","description":"Honest, straightforward review of HostGator web hosting service with pros and cons."},{"slug":"archive/2013/10/how-to-change-nameservers-on-namecheap","author":"Helge Sverre","title":"How To Change Nameservers On Namecheap","date":"2013-10-15","description":"Step-by-step tutorial for changing DNS nameservers in your Namecheap domain control panel."},{"slug":"archive/2013/10/new-techno-song","author":"Helge Sverre","title":"New Techno Song","date":"2013-10-15","description":"Latest techno track release with driving beats and electronic synthesizer arrangements."},{"slug":"archive/2013/08/2-free-hardstyle-midi-melodies","author":"Helge Sverre","title":"2 Free Hardstyle MIDI Melodies","date":"2013-08-15","description":"Download two free hardstyle MIDI melody files for your electronic music production projects."},{"slug":"archive/2013/08/arduino-things-i-made","author":"Helge Sverre","title":"Arduino Things I Made","date":"2013-08-15","description":"Showcase of creative Arduino projects and electronic circuits I've built and programmed."},{"slug":"archive/2013/06/building-a-computer-for-a-friend","author":"Helge Sverre","title":"Building A Computer For A Friend","date":"2013-06-15","description":"Complete guide to selecting components and building a custom PC for a friend's needs."},{"slug":"archive/2013/06/helges-switchblade-v0-9-released","author":"Helge Sverre","title":"Helge's Switchblade v0 9 Released","date":"2013-06-15","description":"Major release of Switchblade v0.9 with enhanced penetration testing capabilities and features."},{"slug":"archive/2013/06/problems-with-computer-im-building-for-a-friend","author":"Helge Sverre","title":"Problems With Computer I'm Building For A Friend","date":"2013-06-15","description":"Troubleshooting hardware issues encountered while building a custom computer system."},{"slug":"archive/2013/04/gamesitescript-facebook-comments-tutorial","author":"Helge Sverre","title":"GameSiteScript Facebook Comments Tutorial","date":"2013-04-15","description":"Tutorial on integrating Facebook comments system into GameSiteScript gaming websites."},{"slug":"archive/2013/04/how-to-make-a-hardstyle-kick-in-fl-studio-tutorial","author":"Helge Sverre","title":"How To Make A Hardstyle Kick In FL Studio Tutorial","date":"2013-04-15","description":"Complete FL Studio tutorial for creating powerful hardstyle kick drums with proper techniques."},{"slug":"archive/2013/04/top-5-helpdesk-story-sites","author":"Helge Sverre","title":"Top 5 Helpdesk Story Sites","date":"2013-04-15","description":"Best websites for reading entertaining and educational IT helpdesk horror stories."},{"slug":"archive/2013/04/tour-of-my-studio-3","author":"Helge Sverre","title":"Tour Of My Studio 3","date":"2013-04-15","description":"Third tour of my home music production studio setup with equipment and workflow details."},{"slug":"archive/2013/04/workcenter-7232-fuser-problems-fixed","author":"Helge Sverre","title":"WorkCenter 7232 Fuser Problems Fixed","date":"2013-04-15","description":"Successfully resolved fuser unit issues in Xerox WorkCentre 7232 with repair details."},{"slug":"archive/2013/03/error-500-you-say","author":"Helge Sverre","title":"Error 500 You Say","date":"2013-03-15","description":"Troubleshooting HTTP 500 internal server errors and common solutions for web developers."},{"slug":"archive/2013/03/how-to-unlock-bitlocker-drive-in-command-prompt","author":"Helge Sverre","title":"How To Unlock BitLocker Drive In Command Prompt","date":"2013-03-15","description":"Step-by-step guide to unlock BitLocker encrypted drives using Windows command prompt."},{"slug":"archive/2013/03/printers-do-not-like-sticky-paper","author":"Helge Sverre","title":"Printers Do Not Like Sticky Paper","date":"2013-03-15","description":"Why printers struggle with sticky paper and alternative solutions for label printing."},{"slug":"archive/2013/03/trance-piano-melody","author":"Helge Sverre","title":"Trance Piano Melody","date":"2013-03-15","description":"New trance track featuring beautiful piano melodies and electronic production techniques."},{"slug":"archive/2013/03/white-angels-chillout-trance","author":"Helge Sverre","title":"White Angels Chillout Trance","date":"2013-03-15","description":"Relaxing chillout trance track called 'White Angels' with ambient soundscapes."},{"slug":"archive/2013/03/windows-7-bitlocker","author":"Helge Sverre","title":"Windows 7 BitLocker","date":"2013-03-15","description":"Complete guide to setting up and using BitLocker drive encryption in Windows 7."},{"slug":"archive/2013/03/workcenter-7232-fuser-problems","author":"Helge Sverre","title":"WorkCenter 7232 Fuser Problems","date":"2013-03-15","description":"Diagnosing and troubleshooting fuser unit problems in Xerox WorkCentre 7232 printers."},{"slug":"archive/2013/02/facebook-page-and-video","author":"Helge Sverre","date":"2013-02-17","title":"Facebook Page & Switchblade Video!","description":"Helge's Switchblade got a Facebook page and there's a YouTube video showcasing it!"},{"slug":"archive/2013/02/tekdefense-com-did-a-video-on-switchblade","author":"Helge Sverre","title":"TekDefense did a video on Switchblade!","date":"2013-02-17","description":"A great website for learning about malware analysis and security in general, just reviewed my program: Helge's Switchblade v0.8!"},{"slug":"archive/2013/02/helges-switchblade-v0-8-released","author":"Helge Sverre","title":"Helge's Switchblade v0 8 Released","date":"2013-02-15","description":"Announcing the release of Switchblade v0.8 with new features and improvements for penetration testing."},{"slug":"archive/2013/02/how-to-host-your-website-for-free-000webhost","author":"Helge Sverre","title":"How To Host Your Website For Free 000webhost","date":"2013-02-15","description":"Complete guide to hosting your website for free using 000webhost with setup instructions and tips."},{"slug":"archive/2013/02/humans-txt-cool-i-guess","author":"Helge Sverre","title":"Humans Txt Cool I Guess","date":"2013-02-15","description":"Exploring the humans.txt file format for giving credit to website creators and developers."},{"slug":"archive/2013/02/improved-track","author":"Helge Sverre","title":"Improved Track","date":"2013-02-15","description":"Sharing an improved music track with better mixing and production techniques."},{"slug":"archive/2013/02/mastered-track-trance","author":"Helge Sverre","title":"Mastered Track Trance","date":"2013-02-15","description":"Final mastered version of my trance track with professional audio processing and effects."},{"slug":"archive/2013/02/music-to-listen-to-while-coding","author":"Helge Sverre","title":"Music To Listen To While Coding","date":"2013-02-15","description":"Curated playlist of the best music genres and tracks for maintaining focus while programming."},{"slug":"archive/2013/02/new-switchblade-webdesign","author":"Helge Sverre","title":"New Switchblade Webdesign","date":"2013-02-15","description":"Unveiling the new web design for the Switchblade project with improved UI and functionality."},{"slug":"archive/2013/02/something-switchblade","author":"Helge Sverre","title":"Something Switchblade","date":"2013-02-15","description":"Updates and developments in the Switchblade penetration testing framework project."},{"slug":"archive/2013/02/switchblade-around-the-interwebs","author":"Helge Sverre","title":"Switchblade Around The Interwebs","date":"2013-02-15","description":"How the Switchblade project is being discussed and featured across various online communities."},{"slug":"archive/2013/02/the-tekdefense-video-is-on-securitytube","author":"Helge Sverre","title":"The TekDefense Video Is On SecurityTube","date":"2013-02-15","description":"TekDefense's Switchblade tutorial video is now available on SecurityTube for cybersecurity learning."},{"slug":"archive/2013/02/tools-i-use-in-my-workflow","author":"Helge Sverre","title":"Tools I Use In My Workflow","date":"2013-02-15","description":"Essential tools and software I use in my daily development and security testing workflow."},{"slug":"archive/2013/02/unfinished-trancehardcore-track","author":"Helge Sverre","title":"Unfinished Trance/Hardcore Track","date":"2013-02-15","description":"Preview of my work-in-progress trance/hardcore music track with production insights."}],"draftArticles":[]},"__N_SSG":true}