avatar

Jacob Davis-Hansson

  • About

YSK: Google allows spoofing news headlines in search results

September 9, 2022 · 3 minute read

A minor scandal unfolding in the Swedish election highlights a way to influence news narratives: Google allows you to set headlines for news articles in search results by paying for adwords placements of legitimate articles.

This is being used by political operatives in Sweden to make it appear that news stories have headlines that the political parties themselves write.


Continue reading

When should I choose full database backups over incremental backups?

May 13, 2020 · 6 minute read

Most mainstream databases implement some form of “incremental” backup. If you’ve already performed a backup, subsequent ones can be done by only transferring what has changed since your last backup. It’s a clever optimization.

But it turns out, in many cases a full backup is much faster than an incremental one.


Continue reading

Why your laptop tells you the logging framework isn't the bottleneck

May 13, 2020 · 4 minute read

Your laptop spends all day lying to you. If you want your code to run well on server hardware, best write it on server hardware.


Continue reading

Tactics for successful remote teams

March 5, 2020 · 6 minute read

If you’re stuck working from home for a few weeks due to coronavirus, welcome to remote work life! Here are some things that I’ve seen make remote life successful.


Continue reading

Your Makefiles are wrong

December 15, 2019 · 9 minute read

Your Makefiles are full of tabs and errors. An opinionated approach to writing (GNU) Makefiles that I learned from Ben may still be able to salvage them.


Continue reading

The United States Congress is an elegant stack machine

August 11, 2019 · 9 minute read

If you are familiar with stack machines, it turns out that you also understand the broad strokes of how most US legislative bodies operate.

Seeing the commonality will instill in you the sense of awe that only reading execution traces from an operational quarter millennia old computer can.


Continue reading

How we use Dynamic Programming to find the best price for our customers

September 18, 2016 · 7 minute read

A friend of mine told me he had an interesting realization one day. Thinking back to the projects he’d done for big banks before his current job, each and every one of his software algorithms had eventually ended up in The Guardian under a headline like “Giant Bank Inc. indicted for massive automated customer fraud system, AGAIN!”.


Continue reading

I gave commit rights to someone I didn't know, I could never have guessed what happened next!

September 17, 2016 · 4 minute read

(Spoiler: trusting your contributors works)

Some years ago, I polished up and released an abandoned project for storing financial data in Django. It let you declare “Money” fields on your models, dealing with proper storage and currencies for you.

My use case for the library, django-money eventually faded, but it ended up teaching me a useful lesson in trust and OSS abandonware.


Continue reading

Asynchronous transactional patterns

June 29, 2016 · 7 minute read

Transactions are not very hip anymore - so unhip, in fact, that people started building databases without them. Alas, as people who decided to try those databases found out, transactions remain a fundamental aspect of applications that don’t break horrifically.

Except, it turns out that even if you have transactions, it’s surprisingly easy to shoot yourself in the foot.


Continue reading

On professionalism in software

January 11, 2015 · 4 minute read

We like to blame the worlds governments, or the ominous Them, for the current mass surveillance society we live in. It’s an easy way out - but pull the curtain aside and you and I both know there is a programmer sitting behind it.

We, the profession of software engineering, built the Orwellian future we now inhabit, and it is high time for a retrospective.


Continue reading
Next

© 2022 - © 2020. All rights reserved.