Ognjen Regoje bio photo

Ognjen Regoje

I make things that run on the web (mostly).
More /ABOUT me.

me@ognjen.io Twitter LinkedIn Github
Check out
The Marketplace Guide
A collection of lessons for the early stages of building a marketplace startup.



March 26, 2023

User-Agent: ChatGPT Disallow: *

ChatGPT et. al. are bots and as such should obey `robots.txt`. (22)

March 14, 2023

Don't be clever, be clear

Using plain language, in writing and product, makes it easier to parse, understand and use. (454)

March 12, 2023

Poll: How anxious are you before an interview?

I posted a poll on HackerNews asking that question. Some interesting responses. (264)

February 28, 2023

Reason 44141 for net neutrality: ISP hijacking DNS unresolved pages

And serving ads instead. (39)

February 18, 2023

Users are prudent

Believing the misconception that a customer has decided not to use your product because they're lazy is only hurting you. (245)

February 13, 2023

MIT NO-AI license

MIT license that excludes use as sample data for machine learning (417)

February 05, 2023

NoCode doesn't abstract code away enough

For NoCode solutions to be effective, coding concepts need to be entirely removed. (473)

January 22, 2023

Software that abstracts away a skill

Removing the need to know the underlying concepts and making familiarity with the software a desirable skill in itself (579)

January 01, 2023

A review of the blog in 2022

Looking back at one year of more "serious" blogging (585)


October 15, 2022

Editing the source markdown of a generated static site in the browser

from generated html pages in Chrome using the File System Access API (1361)

July 20, 2022

Don't forget, .org sucks

It isn't a regulated TLD, anyone can register one. (112)

March 31, 2022

US gov website informing users how to tell legitimate gov websites

Not only should more websites do this, but there should be a public awareness campaign with this information. (70)

February 07, 2022

Embedding links in Jekyll

A partial and a script for quickly fetching open graph data and embedding it in a Jekyll page (349)

February 02, 2022

We will never sell your data

Unless... (214)

January 31, 2022

XKCD#936-like Password generator

An experiment to generate long but easy to remember passwords, partially inspired by XKCD #936 (155)

January 29, 2022

Answer HN: Does your team use feature flags?

My answer to an Ask HN. Yes, particularly for features that are still too complex and for features that deal with money. (136)

January 28, 2022

What is an NFT really?

Notes on figuring out what NFTs really are. (470)

January 25, 2022

Replacing Google Analytics with just GoAccess

GoAccess, a log analysis tool, is a perfect replacement for Google Analytics resulting in more accurate (and private)analytics, particularly for smaller sites. (1042)

January 23, 2022

Big tech should help tackle misinformation on smaller platforms

Big tech is in focus and being held somewhat responsible for fighting misinformation. But what about smaller platforms? And how can big tech help? (1230)

January 04, 2022

Answer HN: Why do so many developers seem hostile to their users these days?

My answer to an Ask HN. TL;DR: For money. (66)

January 01, 2022

A review of the blog in 2021

Looking back at one year of more "serious" blogging (1039)


December 21, 2021

Automatically creating plural models in Rails

At times it's more readable to use the plural of a model instead of singular. For instance Products.for_indexing instead of Product.for_indexing. This can be accomplished through a simple initializer that creates the plural model automatically. (315)

December 21, 2021

Answer HN: How do you manage direct updates to databases in a production system?

My answer to an Ask HN. Use the db-updates-as-code for your framework, make the system fudgeable and have an audit log. (118)

December 06, 2021

Quick rundown of barcodes and marker systems

A summary of other machine-readable codes and their purposes (1090)

December 06, 2021

Functional model pattern

Similar to the actor model pattern, the functional model pattern creates multiple models that operate on the same table. But instead of focusing on the user type that primarily accesses it, it focuses on the functionality required. It works well for different stages of a base model. (685)

older ›