This Tech Blog is an Ad

6 min read

This is an ad. It was written by an employee of the company that owns this domain, and is an attempt to sell you a product. You clicked on it out of curiosity because the title was interesting and promised technical content that is relevant to you, but this was a trick! And now we're going to try to sell you something.

The hook

The article starts with a hook that gets you interested and teases more. Then it has a provocative image in the first section because this helps to break up the flow of the text and make the content more easily scanned by uncommitted readers. If our company is young enough or savvy enough, we might incorporate a meme to engage you with humor, like the one below.

we hire zoomers here

But let's be real, marketing departments have a disability when it comes to memes, they struggle to even use the template correctly. In the worst case our company is staffed entirely by boomers, in which case it will be some bizarre mashup of those memes your Aunt Cindy shares on Facebook with a potpouri of marketing buzzwords.

not written by a digital native

Either way it has served its intended purpose of getting you to keep reading past the fold. Unfortunately for us this isn't usually enough to set the hook and reel you in to the marketing content payload, so we have to spend some more time getting you emotionally invested in the narrative before that phase of the operation.

The protagonist of this case study is just like you

We do this by telling you a story of technical woe that we hope you will empathize with, because you will naturally project yourself into the role of the protagonist. This protagonist works in your field and is experiencing a problem that you're likely to face. Here's a stock photo that will help you project yourself onto him.

he's just like you

Look how tired and frustrated he looks. You can remember feeling like that too! This is what we're counting on.

We'll make sure our sob story narrative appears data driven by dropping a chart with hard numbers. Words can lie but numbers and graphs can't, that's just math, it's science.

look at this chart

So now we've storyboarded a problem for you and hopefully given you a touch of anxiety that it could happen to you too. Perfect. This is the dark heart of all advertising. Now it's time to move on to the next phase.

A technical drawing to convince you you're learning something useful instead of being sold something useless

Obviously our company's product is the solution to this case study or we wouldn't have wasted our time telling you about it. Now we just need to convince you of that. This is the part of the article where we do a deep dive on some technical details that happen to paint our product in a very flattering light.

By this time you're invested emotionally in the pitch, so now we will attempt to make you think we are part of the solution by throwing an impressive-looking technical diagram at you. It just needs to look polished, it doesn't need to be accurate. If there are blatant errors in it, we know you're going to have a field day in the comment thread pointing them out and mocking us, inadvertently driving our engagement even higher.

impressive isn't it

You're starting to be impressed despite your better judgment. Those boxes, look how they're connected with directional lines, and look, there's even what looks like some kind of cryptographic hashes on there. The company that put this together must know what they're doing. Then, before you have a chance to recover, we hit you with a dank code snippet like this one:

	newIdx := currIdx
	if order != nil && len(order.AfterColumn) > 0 {
		newIdx = schema.IndexOf(order.AfterColumn, column.Source)
		if newIdx == -1 {
			// Should be checked in the analyzer already
			return nil, nil, sql.ErrTableColumnNotFound.New(column.Source, order.AfterColumn)
		}
	} else if order != nil && order.First {
		newIdx = 0
	}

	// establish a map from old column index to new column index
	oldToNewIdxMapping := make(map[int]int)
	var i, j int
	for j < len(schema) || i < len(schema) {
		if i == currIdx {
			oldToNewIdxMapping[i] = newIdx
			i++
		} else if j == newIdx {
			j++
		} else {
			oldToNewIdxMapping[i] = j
			i, j = i+1, j+1
		}
	}

What does this code do? It doesn't matter, it's only here to give you the impression you that we are technically savvy and can be trusted, and so that you can justify reading this article when you should be working for your employer, generating value for the shareholders of your company.

This is also where, if we've run any benchmarks that make our product look good, we'll slide those in.

everybody loves perfomance charts

There's a good chance we made an error in the benchmark that made this chart too, and we know someone will start a fight about it in the comments, giving us more of the engagement we crave. Playing right into our hands and you can't help yourself.

Finally, the overt pitch

Most readers will understand they're reading an ad by this point. But some people are charmingly naive and believe that true goodness is possible in this world, that startups with millions in venture funding write long technical articles out of a spirit of pure sharing for simple charity, like we're a volunteer army of Richard Stallmans.

you poor gentle soul

We would rather not disabuse these gentle souls of their beautiful worldview, but now, at the end of the article, we do need to show our hand at least a little. At a minimum we have to drop some links to our main marketing page or our discord server, so that interested parties can expose themselves to a broadside by our sales team.

damn the torpedos we have a lead

The jig is up. You caught us. It's now undeniably clear that you were tricked into reading marketing material. We wrote this interesting technical content not out of the goodness of our hearts, but out of a selfish desire to become a solvent business. We are very sorry and hope you will accept the above memes as penance.

Conclusion

We are but a tiny database startup shouting at the top of our lungs to be heard in the deafening roar of marketing from entrenched competitors.

It helps that Dolt is a technically interesting, totally novel product, the first SQL database that can do real git-style version control. (You have reached the overt pitch part of this article). But just having an interesting and unique product isn't enough! We also need to talk about it non stop, and hope that if we do that enough people will start to think of us when they have a problem we could solve. It's why we publish all these technical articles that you occasionally send viral, and we will keep trying to fly under your ad detection radar with actually interesting tehnical content until we die or run out of money. Or become profitable, but let's be realistic.

dolt missionaries

Speaking of overt marketing: we also literally pay people with spare time to test-drive our product for us, so if that sounds like you then you should check it out.

Interested? Come chat with us on our Discord. Let's get you started building your next application on top of a Dolt database.

SHARE

JOIN THE DATA EVOLUTION

Get started with Dolt

Or join our mailing list to get product updates.