This Small Corner

Eric Koyanagi's tech blog. At least it's free!

Let's Connect!

I am a software engineer focusing mostly on web-based applications. While much of my experience is with the LAMP stack or C#, I believe strong SE skills apply to any niche.

» My LinkedIn» My Github

Articles

CDK Hack Proves that Enterprises need First Party Software

CDK's ransomeware hack has disrupted dealerships nationwide, and this isn't the end. How do enterprises protect themsleves against a CDK-style hack? Hire engineers. Read Full Article

Posted on

Every AI Product is a Disaster: So Why is Apple Swinging Big?

You can't swing a bat without hearing about some stupid AI product...most of which are destined to fail. So why are companies piling into AI even still? Read Full Article

Posted on

Do you have to pay a Wordpress Plugin or Theme License Fee?

Your plugins or themes are about to expire. Do you really need to pay another yearly fee...? What happens if you refuse to pay, but keep the code installed? Read Full Article

Posted on

Get Wordpress Featured Image URL with SQL

If you want to get files attached to a post in Wordpress via SQL, this post is for you! Read Full Article

Posted on

Creating an LLM Chatbot that runs on the Raspberry Pi 4

Open-sourced LLM's are powerful tools to tap into the power of LLMs without leaking data to third parties or paying for credits. With new quantization techniques, it can even run on a Raspberry Pi 5! Or can it...? Read Full Article

Posted on

Calculating revenue differences between days in mySQL

You want to obtain some simple revenue and/or click data broken into buckets by time, then show deltas between each row to show how data has changed over time. How do you do that in SQL? Read Full Article

Posted on

How to use AI to Find a Home

Writing a scraper with AI to help find a rental...but is this really okay? Read Full Article

Posted on

Making a Universal Web Crawler with AI and RAG

Let's implement our own RAG to make a "web crawler" that can load data from any URL into an LLM Read Full Article

Posted on

Engineering with AI 6: Making a knowledge base

Let's make an LLM that can answer questions about an employee handbook using the new Assistants API and knowledge retrieval tool. Read Full Article

Posted on

Engineering with AI 5: Using Generative AI to Write a Story

There's a lot of talk about chat GPT "authoring" creative works. Let's exploring using LLMs to write fictional stories. Read Full Article

Posted on

Engineering with AI 4: Generative Content

Building on everything we've learned about prompt engineering, let's make real content using text to speech, Dall-e-3, and GPT-4, tuning our prompts to give more accurate facts. Read Full Article

Posted on

Engineering with AI 3: A Real Application

I tried to use ChatGPT to build content...how did it go? Fun, but not accurate. There's a big gap between hype and reality, and firms that understand good use cases for LLMs will avoid a lot of pain! Read Full Article

Posted on

Engineering with AI 2: Prompt Engineering

Explore how prompt engineering can be used to get more specific results with OpenAI's API. Use prompt chaining to create feature-rich chatbots. Read Full Article

Posted on

Engineering with AI 1: Creating SOWs with AI

Let's look at OpenAI's APIs and use their platform to automatically generated statements of work (SOWs). Read Full Article

Posted on

How did we Get Here? The History of Neural Nets and Deep Learning

Reviewing the history of neural nets and how transformer models like GPT work. Read Full Article

Posted on

How OpenAI Sora works: Multimodal AI

Sora has exploded into the news recently, but how does the tech actually work? What happens if it keeps evolving? Read Full Article

Posted on

How to run Wordpress at Scale

Wordpress is known for its amazing flexibility and expandability, but performance...? Not so much. This article reviews techniques for scaling out Wordpress and WooCommerce. Read Full Article

Posted on

AI is probably Evil. No one cares.

AI is a looming inevitability. Every developer I've spoken to recently has AI lingering in the back of their mind like some waking nightmare. Yet devs don't have the freedom to be skeptical because our job is to embrace tech and make things. We've never been faced with tech like this. Should we be worried...? Read Full Article

Posted on

6 Common types of Bias in Software Engineering

Every human being makes choices based on emotion, no matter how hard we try to be objective. Understanding classic forms of cognitive bias helps make us better engineers and better humans. Read Full Article

Posted on

Drupal: History, Changes, and PAC vs. MVC

Durpal is an old platform that used to be entirely procedural, built off functions only. Now it uses OOP principles and Symfony -- let's review the Drupal ecosystem and the idea of PAC structure. Read Full Article

Posted on

Coming in PHP 8.4: AEGIS Encryption

For many applications, encryption is a very important requirement. PHP is constantly evolving and new features promise much better performance, lowering the barrier for developers to encrypt more data to protect their users. Let's look at AEGIS in more detail! Read Full Article

Posted on

Implementing the csrf-csrf package into a Node Express App

CSRF protection is really important for any application...but a lot of online guides still insist that you use deprecated packages like CSURF. Let's look at using a more modern package to ensure we are handling our CSRF protection properly. Read Full Article

Posted on

Easily add blog content to an Express App

Even dynamic applications sometimes need to have a "simple" blog thrown onto their domain for SEO reasons -- how can we "throw" that content into production without spinning up a full blog? Static generation! Read Full Article

Posted on

Creating some Shopify Utilities in Go

GoLang is a great language. I made some basic tools to help with Shopify migrations -- one to ensure that a CSV has all the proper columns and is valid, another to create mock CSVs for filling a test site with dummy products. Both are easily forked in case you need similar tools! Read Full Article

Posted on

Want to leverage AI in a small dev team? Looking at Amazon SageMaker!

AI is already platformized with tools like SageMaker (and a slew of others). These tools dovetail with slightly creepy AWS services like Mechanical Turk. Let's take a look! Read Full Article

Posted on

Nuxt 3 useFetch not working on Page Reload

Nuxt is really fun to work with, but I'm not sure the ecosystem of online tutorials has caught up with the latest versions. This goes article will help if you're trying to work with useFetch but having issues with page reloads and browser navigation not working as it should. Read Full Article

Posted on

Building an MVC app with Express, Sequelize, Tailwind, and Quill

Creating a new Express project is really fun, but it can sometimes be hard to understand how to structure as it isn't very opinionated. This guide explores one way to bootstrap an express app with Tailwind and Sequelize and covers how to do some light customizations to Quill, a simple WYSIWYG text editor. Read Full Article

Posted on

Writing Lean Controllers in Laravel

It's great to know the phrase "skinny controllers, fat models", but what does that really mean? How do you actually structure your Laravel controllers to avoid business logic and keep them thin? Read Full Article

Posted on

The History of Cargo Cult Programming: Why the Term is a Lie

Not everyone cares about history or etymology...but sometimes its worth exploring the vocabulary that's made its way into this industry. Peeling it back reveals bias and racism that's worth understanding. Read Full Article

Posted on

How Exactly do Async Await and Promises Work in JavaScript?

Many devs use async/await and promises without completely understanding how these features work! Let's dive into Node's brand of async programming and what really happens when you 'await'. Read Full Article

Posted on

New Goodness in PHP8: Fibers, Unions, and More!

PHP has long been known for its simplistic, process-based concurrency model...but have you heard about Fibers? Will this finally allow us to write async PHP? Read Full Article

Posted on

5 Tech Myths and Why They Are Dangerous

Posted on

Processing Huge CSV Files with AWS: Part II

Posted on

Processing Huge CSV files with AWS: Part I

Posted on

Laravel Deep Dives: Collections

Collections can be described as a "helper" to make working with arrays easier. Let's explore the Laravel collection object in more detail and why using collections can be oh so nifty! Read Full Article

Posted on

Manually Minifying Inline CSS in PHP

Sometimes you have a CSS file or block that you really need to inject somewhere manually in code. But you still want the CSS minified...fortunately, this is very easy to do either with a package or with good 'ole regex. Read Full Article

Posted on

PHP Deep Dive: How PHP Really Works

PHP is a widely popular language, but it wasn't invented to be a programming language at all! Let's look at a bit of PHP's history and explore how it works at a low level. Read Full Article

Posted on

NodeJS: History and Fundamentals

NodeJS was invented in 2009. Let's look at the history of Node and how it works! Read Full Article

Posted on

Why your Engineers Hate Wordpress

Wordpress is a powerful, amazing platform...but your engineers complain when asked to work with it. Is Wordpress really so bad? Read Full Article

Posted on

AI Can't Win: Sentient AI is Doomed

People really love to imagine AI becoming sentient and slaughtering us all...but is super intelligence really so dangerous on its own? Would a sentient AI be doomed from the start? Read Full Article

Posted on

Laravel Deep Dives: Event System

Laravel's event system is a powerful feature. Perhaps not everyone is a fan of the observer pattern, but let's explore how events really work in Laravel. Read Full Article

Posted on

Laravel Deep Dives: Queues and Async Design

PHP is famous for process-based concurrency, but it CAN do asynchronous work thanks to queue-based design! Let's look at how Laravel can work as a backend queue worker. Read Full Article

Posted on

Laravel Deep Dives: The Service Container

Much of the magic provided by Laravel eventually comes down to the service container, the powerful feature that drives Laravel's dependency injection. Let's look at how this container works and what sort of cost is involved with its use. Read Full Article

Posted on

Laravel Deep Dives: The Router

Every application has to have an entry point. For MVC-style apps like Laravel, that is usually the router. Exploring this router will help us understand what's going on as Laravel bootstraps. It's important to remember that bootstrapping happens with EVERY request. Read Full Article

Posted on

Query Strings are not Secure

It's really baffling that even now, large firms will gladly populate personal information into query strings, especially when it comes to email marketing and tracking. This is bad practice, exposing your customer's PII to eavesdroppers and potentially breaking compliance. Read Full Article

Posted on

Migrating complex WooCommerce product data to Shopify

Got a huge WooCommerce site to migrate to Shopify? You'll quickly run into barriers as you try to extract and transform massive amounts of data, especially with lots of customization. This guide covers some of the caveats and explores an elixir-based importer tool that may be helpful as a starting point. Read Full Article

Posted on

Hosting a blog on S3 for pennies a month

Want to blog, but don't feel like spending $20/month on some Wordpress instance? Using static generation, it's easy to host a blog for (at most) pennies a month. Read Full Article

Posted on
More About Me...? Eh, okay...

I'm a happy person living in the beautiful Pacific Northwest with my husband and pets. Having lived all over the U.S., I am very lucky to be in an industry where remote work is possible. As a self-taught engineer, I'm very grateful for the opportunities I've had that have shaped my career.

While I truly love software engineering, it isn't my entire life. I aslo enjoy video games (both as a hobbyist game dev and as a player), reading, writing, and spending way too much time on our damn dog.

I don't intend to make any money from this blog -- these articles are as much for my benefit as anyone else's, as it helps me learn concepts, research more deeply, and aids in memory. It only costs a few pennies a year to host thanks to static site generation!

Interested in hiring me? Find me on LinkedIn.

Article Home | My Resume | My LinkedIn
© All Rights Reserved