Show newer

why do bit operations on bool return an int? doesn't that defeat the whole point of bool? do I have to redefine every single fundamental type to not be insane?!

stlab.cc/2020/12/01/forest-int
it's like beads on a string, so lets call it... a forest... of course... following in the footsteps of std::vector -_-

so you look up a-law and mu-law, and they are upselling them so freakin hard, with all the terminology and the sophistication of the study of the human hearing, and nature of audio signals, and speech in particular, and then follow up with formulas so backwards and mathy you have to wonder if logs are base 2 or base e... and of cource you have classic "you don't need to understand this stupid programmer, just use this lookup table" scaremongering

then you read up on the actual standard codec spec
en.wikipedia.org/wiki/G.711
and it turns out it's basically just

float compress(long long value)
{ return value; }

except smaller and simpler

technology, social 

@amiloradovsky@functional.cafe how is quality difficult to assess? If you are actually using the thing is should be evident, if you just check for presence and nothing more, I wouldn't call that a feature, sounds more like a fad: "this terminal emulator uses a custom build vulkan renderer... why, I dunno, cause it's rad!"

Reliability is hard to assess because it requires time, therefore to do it in advance you need an expert's help, who had already likely spend that time in numerous similar occasions. In presence of independent experts, who serve general public and set quality standards (even unwritten), you can't rely on fads alone to "sell" your stuff. In some markets your stuff wouldn't sell at all unless it comes with a warranty or goes for a fraction of the usual price (and even then stays in a niche).

what if the operand names for addition and subtraction were consistent with multiplication and division though?

addend + adder = sum
subtrand - subtractor = difference

programmified?

to + adder = sum
from - subtractor = difference

but then

to + added = sum
from - subtracted = difference

and it's not at all consistent anymore, unless

by * multiplied = product
by / divided = quotent

which seems bleh

Show thread

how it seems:
- gimme human mod twiyoufacetubeterbook!
- no, i control the means of production, you don't get to demand nothin, algo will do for you, keep working, pleb!
- yesh milord

how it actually is:
- maybe gimme human mod sometimes faceyoutwibooktertube, huh?
- omg, i can't, am so sorry, i really can't, plz don't leave me, i improve algo, i achieve sentient AI soon, promise, plz, so sorry
- mkay, as long as you sorry, i see no problem with this, i actually hate dealing with humans if we're being honest here...
- frens? ^_^
- frens ^_^
- i protec your brand ^-^
- thonk ^-^

also noticed that it loops infinitely if the needle is empty, but the only meaningful thing to do here is to assert it being not empty as a precondition. You could maybe split character by character in that case, however that would be inconsistent with the overall behaviour of this split, as it does not ignore consecutive separators (it's a feature not a bug) and there are infinity consecutive empty strings between any two characters, or at the beginning of any string. You could also detect it and return some sentinel value, but to me that's an optional accessory that should go outside the main algorithm, because it can.

Show thread

why the hell is set_difference not allowed to be in-place?

abcdxyz123 bah!

augend + addend = sum
minuend - subtrahend = difference
multiplier * multiplicand = product
dividend / divisor = quotient
dividend % divisor = reminder

@Phairnix software freedom is clearly defined, but yes you may defy common sense instead. Noting is definable, sure.

Question property rights in general as much a you want, but software freedom does not contradict them in general, nor is free software a good example of any form of economy without property rights in general. Software freedom does not imply or require abolishing property rights in general, nor will a revolution of property rights guarantee software freedom in general, especially when carried out by those who can't even comprehend the definition in its clarity.

@Phairnix property right are part of it, does not mean it's meaningful or practical to apply them to everything. Software is as much a tool as arithmetic or algebra. Are you attempting a wordplay?

@Phairnix teaching was an analogy, in a pure sense conveying information, not in a broader sense of active tutoring. If you give a recipe to a bakery, then by the same analogy you are teaching the bakery. The baker indeed does not need to be actively taught by another person. Your computer also does not need the other computer to run the software. What's your point with that?

Patent abuse can effectively make a public recipe into product to sell, the point is that's wrong.

@Phairnix sure, there are some geniuses around here that would claim that real freedom is freedom to kill anyone they deem unworthy, but software freedom is not ambiguous in any way, it is often colloquially explained/defined as "the four freedoms": to run, to study/modify, to redistribute copies and modifications. Legally you can take GPL as the definition. I'm not aware of any other remotely rigorous definitions for software freedom, and yes there is plenty of "how is it freedom if I can't do anything and everything I want", but that's irrelevant, just read the preamble of GPL, it's fairly clear what freedoms it's about even to a layperson, and you need to be intentionally playing dumb to not understand it.

Back to software as product. No software is not a producer good or capital good nor even partially. Yes it can be used to do things that at some point might make you some money in some way, still doesn't mean it's a good or a product. If I teach you basic arithmetic you can use that knowledge to run a bakery(though these days I guess that's not a requirement anymore) and make money, doesn't mean basic arithmetic is a product. My teaching is worthless without your learning, a teacher and a student labour equally to make a study worth something (theoretical teacher here, real life teachers do a lot more than just regurgitate information). In the same way when you get a piece of software, your computer is the student and theirs is the teacher, one is worthless without the other and information itself is worthless without either. You must be insane to model or define this interaction as some form of exchange of goods.

You accept this fallacy of software being a free product, and go ahead and use it as an example of economy where everything is free, and go "wouldn't it be wonderful, just like free software" (the article being even bolder than that, claiming that free software simply can't succeed without communist utopia). And yet free software has largely failed in biggest markets today, precisely because of the mindset you accept and preach, the strive to replace the made up products of the proprietary software industry, without even considering the alternative of offering services or warranty to general public (and in small markets where it did succeed, it continues to succeed despite the article deeming it dead). But you can't make poison that is not harmful. Youtube is a far fetched example, but if there is a free software alternative to youtube (which in this case would mean decentralized, cause it hasn't yet extended it's choke-hold on the client side like netflix), it should not look, feel or market itself in any way that resembles youtube. That's why peertube can't succeed as it is now, it tries so hard to mock youtube, that as a torrent client it's totally useless, meanwhile torrent trackers across the world are still trucking along with unparalleled collection of data (including videos) and immense throughput capacity, ready to replace your youtubes and netflixes on a whim of the creators. The latter just don't want it yet, many actually want control over distribution that a platform like youtube offers, they don't want anyone copying and remixing their videos, they love issuing copyright strikes left and right, because their videos are physical goods of course, their product, and they don't want anyone stealing it from them, so they stay with youtube, and they are directly invested in youtube being the only place where all the videos are and the enforcer of their copyright. It's not the evil youtube that seized the means of production. In my opinion many of these corporation that are deemed evil, are not so evil yet, they are just extremely dumb. The infamous algorithm was not conceived as a tool to usurp us and enact the will of our overlords, it's there cause the site exploded out of proportion and poor bastards couldn't do moderation it in any other way, they didn't have enough human resources or even hope to ever have enough, but of course they are too proud to present it as anything other than excellence and innovation.

Also somewhere there you seem to come to a conclusion that GPL is better than more permissive licenses, good, and a direct contradiction to what the second article you liked suggests: to just ignore it all and live in a bubble until a political reform magically fixes everything that is wrong with the world, or to comply with status quo and make money by sucking proprietor's ass for bread crumbs (btw if you want to do it, no judgement, but go with MIT/BSD/BSL and the likes, instead of whatever politically charged BS that guy suggests, you'll get more crumbs).

@iron_bug they said only libraries that have a proven track record of use can get it, but apparently, if you have friends in high places, you can get your freshly baked experimental stuff in as well. Guess it reflects the current state of the industry overall. At least they stick to the basic principles and don't shove it down your throat, so you can safely ignore it all and use a subset. Still painful to watch them suffer.

Well, at least std::ranges::search returns a subrange, I guess it might not be the worst thing that happened to standard library since iostreams after all.

But why doesn't it return the end iterators for both sentinels used huh, you niebloid?! Oh, perhaps because it doesn't freaking matter? Is is possible that every algorithm doesn't also need to be a find_if? OMG could it be that if I want/need an end iterator, I just wouldn't use/setup a sentinel in the first place??

Sad c++ programmers are so afraid to write new algorithms, that they have to resort to generators.

Instead of writing
transform(begin, end, dest, f);
ima write
copy(begin, end, tranformer(dest, f));
or
copy(transformed(begin, end, f), dest);

or instead of
copy_until(begin, dest, condition);
ima write
copy(begin, sentinel(condition), dest);
where the opertor != of begin and sentinel is overloaded to be the condition

look ma, I reuse copy, am galaxy brain, let me also overload another stupid operator so that this whole mess looks like this
copy( range | trasnform(f) | filter(f2), dest );
this is so readable, ma role model is haskell, the most bestest readable and not at all cryptic language.

oh no, wait, because of filter, transform is done twice for some elements... I mean, oh yeah, this is a feature!

@Phairnix "In consequence, the free software under GPL does not directly create income for anyone".
My whole point from the very beginning is that is can directly create income for the right kind of business. You can't let this software is a product mindset go can you? Even stating that out loud you still conclude as if it is, and as if programming is a production.
R&D engineers exist. It's not some unprecedented unimaginable new lifeform, they are paid a salary to do their work. The research might go nowhere and develop nothing of use, but that's a given and a known, you just have to invest upfront and hope for the best. If an R&D electrical engineer(or a team) comes up with a new useful device or a component, it creates income opportunities for 3 different kinds of business, the production, the distribution, and end user service. (there is gatsekeeping and copyright/patent abuse in electrical engineering as well, but that's beside the point, if anything they are leaning from software industry on exactly how much abuse they can get away with, not the other way around).
Programmer are R&D engineers (most of them today, open source or not, are paid a salary to do R&D), but in their industry the first two businesses are not viable, without exploitation of the end user. The production is simply not a thing, it does not exist, the cake is a lie, and real opportunities for distribution business are negligible due to peer to peer network technologies such as torrents. Hence the third is the only one left - end user service. But it doesn't even exist today, why? Because we opted to pretend that production and distribution are real things, and having real experts that honestly serve the general public goes directly against our ruse. They will simply bust it. That's where GPL comes in, it says: stop the nonsense, here is some software, use it to create real business - configuration, installation, maintenance service provided directly to general public, provide warranty on your installations, set quality standards, then your business will fuel further R&D, that will be even better, cause it will be incentivezed to provide best service to end user, under established quality standards, and not run on pure marketing, hoping to land on a random pop culture fad. And to this freaking day most people don't seem to get it, everything is politics and GPL = communism apparently.

@lucifargundam "if there are gods that agree with me - good on em, if there are gods that dun agree with me - fuck em, if there are no gods - fuck yall, me and ma boyz got it!"
- some dude that has got it

Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.