Can somebody explain to me the advantage of double-entry bookkeeping? Is it basically just a "checksum" so it's easier to notice when something is off?
Double-entry accounting models the source and destination of funds. If you keep all of your money in one bank account and neither owe anyone or have anyone that owes you, then double-entry accounting is not necessary because you can record just the one side of every transaction – your bank account is the other side.
However, if you have more than one account or debts, or budgets, then it becomes useful to track both sides of a transaction. If you track both sides of a transaction then you can easily answer questions like:
1. how much money do I have in my investment account?
2. how much debt do I have?
3. how much did I spend on recreational social activities?
You can track debts and investments separately, but then you are still making two entries just in two places.
I think many people have few enough debts and investment account that they track these separately, and the third question, budgeting, can be simplified if each vendor is only ever considered for a single budget, for example, all your flights are part of your vacation budget, and you don't care to break out a flight to a career related conference.
Yes, it makes it both really simple to spot mistakes and also allows you to easily audit the whole thing after the fact. In corporate contexts it's a straightforward way to make sure your bookies are also honest, just have an external firm look through the whole thing every now and then.
Here is my explanation for "software people who understand databases". The structure of the explanation will be as follows:
1. Explain how you would do simple accounting with a database
2. Point out which indices you'd create for performance
3. Show how the "double entry" part of double entry accounting is about the indices
1. The way you'd do accounting in a database is with two tables: One table for accounts (e.g. your checking account, or the supermarket account, which you don't own) and another table for transactions. The transactions move an amount of money from one account to another, e.g. from your checking account to the supermarket account. Or if you use it for budgeting, you might split your checking account into a groceries account, a rent account etc. (think "categories").
2. For performance, you would create indices based on the accounts in the transaction table, so you could easily check what's going on e.g. in your groceries account or how much you spent at the supermarket.
3. Double entry accounting was formalized in the 15th century, way before computers became a thing, but bound paper books were already somewhat affordable. The way you'd do accounting is like this: During the business day, you would write down your transactions as they happen, into a scrapbook, similar to the transactions table mentioned above. At the end of the day, you'd do the "double entry" part, which means you take your "index" books where each book is about one account and you transcribe each transaction from your scrap book into the two books of the two accounts that are mentioned in the transaction, e.g. if you spent $10 from your groceries account into the supermarket account, you'd double enter that transaction both into your "groceries" book and into your "supermarket" book. Then, when you want to check on how much you spent at the supermarket in a particular month, you could easily look it up in the supermarket book (this would be very tedious when using the scrap book). These account centered books are like the indices in the database mentioned above.
So the double entry part is about clever index building for making it easier and faster to understand what's going on in your accounting system.
Not an accountant, so if I get it wrong someone please correct me. But index fund shares are an asset: something you own. So is your car, your house (if you own it), and your computer. When you buy an asset, you paid a certain price for it. When you sell it, you pay a different price. Until you sell it, though, you don't actually have the money, so it hardly matters what its value is until you sell it. If you buy $100 of an index fund and a year later it has grown by 10%, you don't actually have $110 yet until you sell it. So you just track that you have a certain number of shares of the fund. Let's say each share sells for exactly $20 when you bought them, so you have exactly 5 shares. Later the share price is $22, but you don't have $110 yet, you still have exactly 5 shares. When you sell them, then you'll have $110.
So you record two entries:
January 1st, 2025:
-$100 checking account
+5 shares VFINX at $20 ea
January 1st, 2026:
-5 shares VFINX at $22 ea
+$110 checking account
At this point you have "realized" ("made real") $10 of profit from this asset. You bought it for $100 and sold it for $110, so the IRS wants you to pay taxes on the $10 profit you made. (This is capital gains tax). Until you sold them, some people would consider you to have $10 profit in "unrealized capital gains", but you did not actually have that profit until you sold the shares. This is important to remember, because if you start counting on that $10 profit but then the share price drops because the economy took a hit, suddenly you don't have $110 worth of shares, you have $90 worth of shares, and you'll make a loss if you sell them now. (This is one of the reasons why only the economically illiterate would propose a tax on "unrealized capital gains": that means taxing people for income they have not actually received, but merely could theoretically receive. Which is both immoral and stupid.)
Hope this explanation helps a little. And as I said, if I got something wrong, please correct me and explain how I was wrong; I'm not an accountant. I understand the basic principles, but it's entirely possible I was off on some detail or other.
A fancy term of art for all this is "cost-basis accounting". Your (double entry) account tracks only the cost basis (how much you have spent and when you spent it for what commodity) not the current price. Current price fluctuates with the market and you can track the price as well to build an unrealized gain/loss statement. This sort of statement is not an account, it's a report on an account. (And yeah, "unrealized" means what it says that it isn't real money in your accounts, just money you potentially could make if you sold/converted/traded what was in your accounts.)
> (This is one of the reasons why only the economically illiterate would propose a tax on "unrealized capital gains": that means taxing people for income they have not actually received, but merely could theoretically receive. Which is both immoral and stupid.)
But your statement misses the important point of situations where people use the unrealized gains as collateral for a loan which they then use (for example to live off of). This in fact effectively "realizing" them without paying appropriate taxes on them. As long as gains are purely theoretical and not used for any transactions they should remain untaxed. As soon as they become "active" by being sold, or for example in unlocking additional assets by being collateral for a loan, they should be taxed.
Same concept as a retirement account. You can sell within a retirement account and rightfully don't have to pay taxes because you don't really have "access" to the cash. It's still "locked" within the account. Only when you withdraw to have access to it and make it active/real do you pay taxes. But if you take out a large loan leveraging that retirement account as collateral (or against an unrealized gain) you are not making it active and correctly should pay taxes.
I feel I should also mention one more thing. The fact that you don't have the money until you sell the shares is also why "net worth" can be a highly misleading concept. (All numbers in the following example are fictional and made up on the spot, BTW). Billionaire Gill Bates, whose net worth is reported to be $20 billion, does not actually have 20 billion dollars. He has $5 million (million, not billion) of actual dollars in his bank account(s), but the rest of his net worth is in assets: he owns 200 million shares of MegaSoft Corp, whose share price is currently $100 per share. If MegaSoft Corp's shares suddenly drop in value (say, because a hacker group announces that MegaSoft's Doors 12 OS is full of, well, backdoors and suddenly nobody wants to buy it anymore) and now their shares are selling for $90, then Gill Bates's net worth will become 18 billion dollars instead of 20 billion. Did he "lose" 2 billion dollars in one day? NO. He never had those dollars. The "net worth" calculation is just the theoretical amount of money he could make if he sold all his shares.
And in fact, he could never actually make that amount of money by selling all his shares, because if he did put 200 million MegaSoft shares on the market, he'd never be able to find buyers for all of them at the current share price, and he'd be forced to drop his asking price by quite a bit before he managed to sell all 200 million shares. Not to mention the fact that if he tried to sell his entire holdings of MegaSoft Corp, many people would wonder what he knows about MegaSoft's long-term prospects, and would be afraid to buy those shares, driving the share price down even further. Gill Bates would be lucky to make $5 billion, let alone his theoretical net worth of $20 billion, if he were to suddenly sell all his shares. (If he sold them in a trickle over the course of ten years, he might well make the full $20 billion in the end, but not if he dumped them all on the market at once).
This is why (well, it's just one of the many reasons why) net worth is misleading. It's a theoretical number, but the actual amount of wealth someone has in practice entirely depends on market conditions at the moment they need the money, as well as how urgently they need it. (If the market is low right now, can they afford to wait six months for it to recover? Or do they need the money tomorrow and have to sell at a lower-than-ideal price?)
Net worth is the denominator for things that people actually want to, which typically don’t require converting it all to cash at once. For example, pulling 4% of your net worth per year is one way to fund a retirement. So you won’t know if you’re ready to retire unless you’re tracking net worth.
For very rich people like Gill Bates, net worth is going to be the denominator for massive loans, tax strategies, and corporate maneuvering. Again, none of that will require converting the entire net worth to cash all at once. That doesn’t mean it’s not real.
Finance is a complex subject, sure, and it gets more complex the bigger the numbers. That doesn’t mean it’s misleading.
Accounts (in the accounting sense) are unitless, and refer to whatever meaning we ascribe to them, so we can transfer value from $ to shares, or USD to GBP or whatever.
Lalit describes this I think really well in his article
It's not really a checksum. It can sometimes function as one (everything should sum to zero, if it doesn't then you have a math error), but since most records you make will just have two entries (spent $25 on groceries, remove $25 from checking account) the everything-sums-to-zero feature isn't going to catch math mistakes most of the time, because there is no math to be done on most entries. Rather, the fact that everything sums to zero helps you track things later on.
To explain that, I'll rephrase, in my own words, the restaurant example from the article, because that was a good example of the concept. Let's say you went to a restaurant with two friends and decided to split the $90 bill three ways, but your friends didn't have $30 in cash on them at the time. You put the whole $90 on your credit card, and your friends paid you back $30 each the next week: one on Monday, and one on Wednesday.
In single-entry accounting you might have written the following transactions:
Thursday Jan 1st: $90 restaurant (credit card)
Monday Jan 5th: $30 repaid from Alice (cash)
Wednesday Jan 7th: $30 repaid from Bob (cash)
Thing is, there's nothing to link those transactions together. If you look at these entries three years later, you'll probably be left scratching your head as to why Alice paid you back $30: there's no $30 transaction, so the $90 restaurant transaction won't jump out at you as the reason why Alice paid you back.
But with double-entry bookkeeping, you'd write that as follows:
Thursday Jan 1st:
-$90 restaurant (credit card)
+$30 my share of the restaurant bill (expenses)
+$30 Alice's share of the restaurant bill (money owed to me)
+$30 Bob's share of the restaurant bill (money owed to me)
Monday Jan 5th:
-$30 Alice's share of the restaurant bill (money owed to me)
+$30 cash received (cash)
Wednesday Jan 7th:
-$30 Bob's share of the restaurant bill (money owed to me)
+$30 cash received (cash)
It's not always obvious when you're new to double-entry accounting which entries should be positive or negative, but if you remember the "must add to zero" rule you'll be more likely to get it right. Money flowing into an account is positive, money flowing out of an account is negative. For credit cards, the money flows "out of" your credit card and into the restaurant's ownership, so the sign should be negative. When you pay the credit card bill later, the sign will be positive on the credit card account (and negative on your checking account, thus again adding to zero) because money is flowing out of your checking account and into your credit card account.
Now, look at that double-entry accounting. When you look at the Wednesday Jan 5th entry, and you see that Alice paid you back $30, you'll start searching for a $30 transaction earlier, and you'll pretty quickly find the January 1st and figure out that she owed you $30 because you had paid her share of the restaurant bill on the 1st. And even if the amounts don't line up (let's say she paid you $20 on Jan 5th and $10 on Jan 12th), there's still a "money Alice owes me" category which has a +$30 entry on the 1st, then -$20 on the 5th and -$10 on the 12th, all of which makes it pretty easy to figure out what Alice is paying you back for.
So by recording each entry in at least two places (it's not always exactly two places, e.g. the January 1st expense is recorded in four places total), you get more linkage between the items and it becomes a lot easier to see why the money was going out or coming in.
I must have read half a dozen intro-to-accounting books, and it never ever clicked for me. I understood the concepts, the benefits, but it just felt 'wrong'.
It wasn't wrong of course, there is so much history, ingenuity and the invention of double entry accounting, but I just couldn't get my brain to understand it.
The way the concepts settled in my head was: double entry accounting is just an excellent way of modelling a graph with nodes and edges. Accounts are nodes, transfers are edges. Every edge has a source and a destination.
For a paper ledger, each column is graph node, and each row is a graph edge.
That was enough for me to be able to learn the rest of the things I needed for interacting with the accounting world.
But I also realised that that description really only helps a very small part of the population. :D It makes things so much worse for most people.
"Hey could you help me understanding this accounting thing?"
"Sure, but first thing is, let's learn graph theory! You know who Dijkstra right?"
Whole buckets of nope.
But thats a digression from your actual question - whats the point?
It presents a rigid set of rules of recording transfers, everything has to have a from account and to account (i.e. a graph edge), every row must add up to zero.
Because of that, it makes it easy to spot any mistakes in data entry. If any of your rows dont add up to zero - then you've made a mistake.
All I can see there before "Este contenido es exclusivo para suscriptores" is conjecture that (translating and emphasizing) "a torpedo may have pierced the hull of the vessel". Is there any evidence?
If you don't declare war, you don't get those emergency powers. You only get peacetime powers.
Russia loves to go right up to the line, and then cross it a little bit, just to antagonise you. But unless you're willing to be the instigator of WW3, you'll stick to peacetime powers and peacetime courts with peacetime standards of evidence
Because they're an authoritarian shithole with a strongman leader who openly murders dissenters, personally controls all branches of government, controls the military and has people arrested just for holding up blank sheets of paper. He can pretend the country is not at war when it clearly is, and suffer no consequence, because nobody can replace him or even censure him without the country completely collapsing. When he eventually dies, the ensuing power vacuum will make the entire country a basket case. It's a dead country walking.
Do you want to make your country such a nightmare country, so you can also cheat like they do?
No, I want my country to have democratic rule of law on the inside (including when dealing with normal criminals of any kind, including murderers).
But when dealing with an outside state-level aggressor, I want my country to be be a cunning, hypocritical, powerful strongman.
The distinction under what mode a certain event should be treated should be pretty straightforward and can be determined using democratic means, e.g. a normal judge ruling "I rule this cable cutting incident to be an act of state-sponsored aggression against our democracy" (which would allow the alphabet agencies, special ops etc to "do their thing" with no repercussions whatsoever.)
for example:
1) a murder happens between a husband and wife, two normies, after lengthy, normal court proceedings the proof who did it is not 100% conclusive, accused person goes free
2) a murder of an anti-russian political dissident happens, a russian ex speznas officer is caught in relation to the event -> he "disappears" one day and the case is closed
I believe this is the only way to "win" this cold war.
People in other places don't have rights, and lives, and deserve freedom? If they don't, you don't. If they can be ruled out, so can you. Freedom and rights only exist if they are fundamentally universal.
I agree with the sentiment, but what stops the government designating annoying people or companies as russian (also see "foreign agent" and "matter of national security")?
Also, am I on the hook because my wife's great-grandfather was russian?
Because my idea is that it wouldn't be the government designating them, but judges. Just like a judge already today has the power to lock you up for life, but only after a lenghty rule of law process.
But the trouble is judges are human, and if the boss of your boss who could shut down your court and turf you out is loudly proclaiming "will nobody rid me of this troublesome Russian"... what lawful ruling will the judge find to appease their master?
The other thing that sprang to mind was the US interning their own citizens in camps. Would you be in favour of internment camps across Europe for all citizens with any Russian heritage, preemptively locking them up in case they might provide succor to The Enemy?
You are making an argument against any kind of rule of law in general. If somebody powerful can say to a judge "will you please sentence this competitor of mine to life in prison" and he complies, that's the same problem. But judges in Western countries are very rarely that corrupt, and thus rule of law functions.
No declarations of War has been needed for decades, internationally you only get disadvantages from doing that. Russia hasn't declared war to Ukraine, neither has Ukraine to Russia, so what.
But then again the main selling point of using LLMs as part of some code that solves a certain business need is that you don't have to finetune a usecase-specific model (like in the mid 2010s), you just prompt engineer a bit and it often magically works.
> reliably communicate some of the nested arboreal complexities
Text/Subtext, text/'direct' and implied meaning, maybe?
I don't think 2D refers to conventional dimensions but to a dimensional structure implicit to text as an object made of objects, nested and nesting all the way up and down.
Weird. I was just having a similar discussion with my colleagues regarding coding style. Anyways, I absolutely view text (code more than prose; but poesy definitely has this!) to be 2D. There is both per-line and interline structure that good formatting surfaces; it simplifies long range reasoning about invariants.
I mean... the whole field of typographic ad copy is about 2D writing?
reply