4,474 karma · joined September 28, 2012
I hope the spam filter will respect it!
For that, having elegant and simple software is not needed; getting features fast to try out how they work is the basis of the pleasure, so having to write every detail by hand reduces the fun.
I explicitly recognized that the practice of accounting as a discipline keeps using traditional concepts that are culturally adequate for its purpose. What my posts are pointing out is that the original reason for double-entry records, which was having redundant data checks, is no longer a technical need in order to guarantee consistency because computers are already doing it automatically. From the pure data management perspective I'm analysing, that's undeniable.
The most obvious consequence of this analysis is that traditional bookkeeping is no longer the only viable way of traking accountability; new tools open the possibility of exploring alternative methods.
Compare it to music notation; people keep proposing new ways to write music scores, some of them computer assisted; and though none of them is going to replace the traditional way any time soon, there are places where alternative methods may prove useful; such as guitar tablature, or piano-roll sheets for digital samplers. The same could be true for accounting (and in fact some people in this thread have pointed out at different ways to build accounting software such as the Resources, Events, Agents model.)
In the past this was problematic because you missed error-checking by redundance, but nowadays you can trust a computer to do all the checking with database transactions (which are more complex checks than double entry, though they don't need to be exposed into the business domain). Any tracking that you'd want to do with double-entry accounting could be done by creating single-entry accounts with similar meaning, and registering each transaction once, if you know that you can trust the transaction to be recorded correctly.
Double-entry bookkeeping was from its inception an error-correction code that could be calculated by hand.
Modern databases contain much more powerful error correction methods in the form of transactional commits, so from a pure technical point, double-entry bookkeeping is no longer needed at all; that's why programmers have a hard time understanding why it's there: for us, when we store a value in the DB, we can trust that it's been recorded correctly and forever as soon as the transaction ends.
The thing is, cultural accounting still relies on the concepts derived from double entry bookkeeping as described in the article; all those assets and debts and equity are still used by the finances people to make sense of the corporate world, so there's no chance that they'll fall out of use anytime, at least 'in the context of a company' as you out it.
Now would it be possible to create a new accounting system from scratch that relied on DB transactions and didn't depend on double entry? Sure it can, in fact crypto coins is exactly what happens when computer engineers design a money system unrestricted from tradition. But in practical terms it still needs to relate to the traditional categories in order to be understood and used.
They can, but the probability of two opposite errors of exactly the same magnitude is much lower than of any individual random error.
It's the same as with any other error-correction encoding. You don't have a guarantee that all errors will be caught by it, but most of them can be, so it's useful overall.
If they start becoming relevant, it's usually a sign that you're using the language in a domain where a duck-typed bytecode scripting-glue language is not well-suited.
It was never the point that it's possible to go online without recieving such ubiquitous abuse, which is what you suggest women should do. You have still not acknowledged that such high level of abuse can be dangerous, not merely for the mental health problems but for the real possibility of being stalked in the real world. That way, you're just reinforcing the point you tried to deny, which is that it's hard for men to understand such abuse without having experienced it first hand.
Is there people building the equivalent to web directories and web rings? Or search engines? What are the cultural expectations on navigating other people's published resources?
You have a myriad of artificially created choices that amount to more or less the same outcome; think of a supermarket, where all products are the same high-processed food and imported vegetables. Freedom would be having a competing family-owned local shop with proximity products.
To have meaningful choice, you cannot depend of having a single homogeneous environment providing all the choices you can make; this can come from having healthy competition, or sometimes by you creating your own choices when there were none.
So, not much different than a search for regular expressions or a "show definition" tooltip
Being able to inspect the software you use makes you able to trust house it works, and fix it at points where it's not working; those were the first motivators for creating the FLOSS movement.
There's also the advantage that in the long term you don't depend on the company developing the software; if the company goes under, or simply stops supporting the software, you can hire a different batch of developers to carry on maintaining it. That's the reason why many big contracts require that the software vendor puts the source code under escrow.
In reality, closing the source of software only benefits the seller; everybody else benefits from having it available. With FLOSS, you get that for free.
This forced some apes to climb down the trees and depend on a diet of scavenging for meat, which happened to both increase brain size AND require improved intellect to survive, forcing the evolution of our hypertrophied symbolic brain.
Had this not happened however, other intelligent species could have filled the niche. There's no shortage of other intelligent species in our planet, not just other mammals but octopus and some birds. And then you get hive intelligence, which could equally be forced to evolve into a high problem-solving organism.
Of course terminology for CSPs will get confusing when you get to represent them mathematically; but that happens to anything that you turn into math. The core concept is quite familiar and intuitive.
In CSPs, each cell is a 'decision variable' with a 'domain' of values, which get pruned by 'constraints' that propagate to values invalidated by the decisions made in the connected variables, until the whole 'problem' gets into either a solution which 'satisfies' all the constraints, or a contradictory state where a variable's domain is empty, causing the algorithm to backtrack.
CSPs have the advantage of having clear and efficient methods to go back to a previous state and keep exploring every alternate possibility, rather than having to restart from the beginning. The article hints at that possibility ('saving checkpoints' or'reverse the collapsing of a cell'); there's a whole field of study dedicated on the best ways to do that on a large scale for very general problems.
But for people living in an organisation suffering from those problems, reading how other solutions were tried and how they failed is valuable, and it puts things in context of why the recommended approach may work best.
Agree that math is built on language. But math is not any specific set of abstractions; time and again mathematicians have found out that if you change the definitions and axioms, you achieve a quite different set of abstractions (different numbers, geometries, infinity sets...). Does it mean that the previous math ceases to exist when you find a contradiction on it? No, it's just that you start talking about new objects, because you have gained new knowledge.
The math is not in the specific objects you find, it's in the process to find them. Rationalism consider on thinking one step at a time with rigor. Math is the language by which you explain rational thought in a very precise, unambiguous way. You can express many different thoughts, even inconsistent ones, with the same precise language of mathematics.
It wasn't; but that's a common misunderstanding from hundreds of centuries of common practice.
So, how has maths gotten so abstract? Easy, it has been taken over by abstraction astronauts(1), which have existed throghout all eras (and not just for software engineering).
Mathematics was created by unofficial engineers as a way to better accomplish useful activities (guessing the best time of year to start migrating, and later harvesting; counting what portion of harvest should be collected to fill the granaries for the whole winter; building temples for the Pharaoh that wouldn't collapse...)
But then, it was adopted by thinkers that enjoyed the activity by itself and started exploring it by sheer joy; math stopped representing "something that needed doing in an efficient way", and was considered "something to think about to the last consecuences".
Then it was merged into philosophy, with considerations about perfect regular solids, or things like the (misunderstood) metaphor of shadows in Plato's cave (which people interpreted as being about duality of the essences, when it was merely an allegory on clarity of thinking and explanation). Going from an intuitive physical reality such as natural numbers ("we have two cows", or "two fingers") to the current understanding of numbers as an abstract entity ("the universe has the essence of number 'two' floating beyond the orbit of Uranus"(2)) was a consequence of that historical process, when layers upon layers of abstraction took thinkers further and further away from the practical origins of math.
[1] https://www.joelonsoftware.com/2001/04/21/dont-let-architect...
It's easy to understand and predictable; it just happens to not be based on ASCII character codes, which is a legacy technology method only ever meaningful to US developers.
For user-facing presentation, having 5.9.xxx before 5.10.xxx is simpler; the corner case that baffles users is having 5.1 and 5.10 before 5.2.
Definitely yes. I hate it when I see an error message or a button label and I can't select the text to copy it for searching comments for it on the web.
Typically application tabs can be moved or recorded by dragging, and tabs in web pages can't; that would justify a different treatment. But it's because of the different behaviour of the tabs, not the different media