> “One of the basic principles in inventing it has been: if it interferes with the normal way that you would play the guitar, it’s no good,” he said.
... but then removes several top frets from the neck, along with the fretboard, likely to have a strumming area for when the right hand is palm fretting.
I predict that hardly anyone else who installs the palm muting bridge will take a chunk out of their neck; that would be a deal breaker for most guitarists.
This will also absolutely interfere with palm muting, which is a big part of the normal way some people play guitar. Palm mute a little too hard and you suddenly get a clear, fretted note.
"If you don't stop doing free work which improves the chances of purchase, among Linux users, of machines that contain our chip, you are an infringer and we are going to charge you $25K for the cost of this psychotic meltdown we are having, including all required counselling and medication."
You too can sell stuff for $100k. Just make something useful to someone who can throw around $100k.
You think a $100K lens is crazy? Wait until you hear what people are paying for enterprise software. Big business will spend 10x that on software... and then never implement it.. The lens is a deal.
Do you say that to yourself every time you stream music?
What about the labor you steal from the milkmen, butter churners, seamstresses, and elevator operators? How evil of you.
And yeah, I did it. Not you. That money would be in your bank account if you did it. But you didn't.
I personally make these things. I'm not ashamed in the least to say it, because it's true.
It's funny how I'm working around the clock using AI. Because you seem to say this isn't work. And yet I've never been so busy. So can you tell me what's going on here?
How did I manage to build so many useful things for people?
I've had over 40 million downloads of my app recently. Maybe you should think about how people value things instead of relying on your own value system. Your priors might be flawed when it comes to how the rest of society values things.
Boss it would have been easier to just link me to your github.
I read a bit your post history,
you're worse than youtube ad clickbait - you never say what you do, just flowery and bombastic language about how great whatever your vague thing is. (Thank you to sibling poster who spilled the beans, see its not too hard, just say " i made a photoshop clone" its less words than what you typed. )
And boss, I was born out of my comfort zone and never really found one, so you don't scare me one drop.
> And yeah, I did it. Not you. That money would be in your bank account if you did it. But you didn't.
> I personally make these things. I'm not ashamed in the least to say it, because it's true.
Weird. At the very least I thought you had thousands of contributors. I guess it's a good thing you're the one getting paid since apparently you're the only one who matters. Wild that you're so invested in AI when apparently it doesn't apparently do any of the work either.
Maybe you should stop jerking off on HN and get to fixing the 2k+ issues on the photoshop clone you "one-shotted" a month ago. Maybe update the prompt to say "pretty please don't make any mistakes."
The way your half-assed broken slop is taking attention away from actual, functional open source projects is a crime.
Please stop being so toxic. Why is it that you always harass me on HN?
> Weird. At the very least I thought you had thousands of contributors.
We do, and they're awesome.
The paid app I built prior to the Craft apps got to millions in revenue off of my work. Although an anti-AI person like you would say that wasn't my work and that it the revenue just created itself.
> I guess it's a good thing you're the one getting paid since apparently you're the only one who matters.
We're going to build open source infrastructure and weights, and we'll need to earn money to subsidize the build out.
> Wild that you're so invested in AI when apparently it doesn't apparently do any of the work either.
I'm working harder than I've ever worked in my life. You anti-AI people don't understand this because you don't try.
> The way your half-assed broken slop is taking attention away from actual, functional open source projects is a crime.
We are open source, and we're working on adapting open source to the software factory era.
Software factories are the future, and engineers steer the factories.
I'm not harassing you, I certainly don't "always" harass you.
I am criticizing you, and I'm far from the only person doing so.
If your ego can't allow you to see a difference between the two - and your comments suggest it can't - that isn't my problem.
>We do, and they're awesome.
Cool. So you admit you didn't personally, entirely, as a "solo engineer" do it all. That at least is something.
>Although an anti-AI person like you would say that wasn't my work and that it the revenue just created itself.
OK so we're just arguing with strawmen now I guess. Fair enough, it's my fault for engaging. I should know what I'm getting into.
>We're going to build open source infrastructure and weights, and we'll need to earn money to subsidize the build out.
But open source doesn't need that. Gimp doesn't need millions of dollars in investment to subsidize infrastructure. Neither does Krita.
You do because you've created a "software factory" that requires the expense of burning tokens, which of course most open source projects can't afford.
It doesn't seem like you're building open source, it seems like you're building a moat.
>I'm working harder than I've ever worked in my life. You anti-AI people don't understand this because you don't try.
Brother everything you do - or rather everything your AI does and that you take credit for - is built on our work. The work that you mock, deride, and gleefully try to undermine while bragging about the money you make doing so.
At some point the hype is going to die and people are going to judge your products on their actual stability functionality. So far everyone who reviews them at the very least finds them fundamentally broken, and there is no professional adoption of any significance, at least not outside of the AI sphere.
The arrogance is astounding coming from someone whose photoshop clone can't even open a photoshop file.
Not only did Kernighan and Ritchie not update the C book for a standard newer than C89, Kernighan underscored that by updating the The Awk Book in 2023 (with Aho and Weinberger: the other two letters in Awk). As if to say C is so far gone that even Awk is more worth writing about.
Double bind. If it doesn't complete, it's borderline censorship. If it suggests an unintended completion at odds with the user's ideology, it is propaganda.
In the TXR Lisp run-time, I spent a disproportionate amount of time on the crypt wrapper, making sure that it detects errors on numerous version of crypt, and converts them to an exception.
I settled on this. There is a block comment on the error handling, dating back to just 2023. There is a tiny infelicity in the wrapper in that we rely on the value of errno in the error path, but we do not set errno to zero and check for it being nonzero (evidence that the function set the value).
Applications using crypt directly can do the same thing: if it returns null, that's an error, of course, but don't use the result if it is less than 13 characters: that's also some kind of error token. The classic crypt() puts out a 13 character hash. Everything else is longer.
static val crypt_wrap(val wkey, val wsalt)
{
val self = lit("crypt");
const wchar_t *cwkey = c_str(wkey, self);
const wchar_t *cwsalt = c_str(wsalt, self);
char *key = utf8_dup_to(cwkey);
char *salt = utf8_dup_to(cwsalt);
#if HAVE_CRYPT_R
struct crypt_data *cd = coerce(struct crypt_data *, chk_malloc(sizeof *cd));
char *hash = (cd->initialized = 0, crypt_r(key, salt, cd));
#else
char *hash = crypt(key, salt);
#endif
free(key);
free(salt);
/* libraries cannot agree on how to report unrecognized or bad hashes:
*
* - older glibc versions, other libraries return null
* - libxcrypt, integrated into newer glibc puts out two
* possible failure tokens "*0" or "*1", documenting
* that an error token starts with "*" and is less than 13
* characters long.
* - musl uses "*" and "x", the latter being in the valid hash charset!
*
* let's go with: null or less than 13 chars means error.
*/
if (hash != 0 && memchr(hash, 0, 13) == 0) {
val ret = string_utf8(hash);
#if HAVE_CRYPT_R
free(cd);
#endif
return ret;
}
#if HAVE_CRYPT_R
free(cd);
#endif
uw_ethrowf(error_s, lit("crypt failed: ~d/~s"), num(errno),
errno_to_str(errno), nao);
}
It would not have averted the bug. The bug is that out is the value "*" even when setting is also "*".
It would have averted the bug in a program which checks the int return value for error.
But we had that already: the null value, different from any valid string. That had to be done away with because programmers couldn't be relied upon to check for it.
Those same programmers are not going to check an integer value which doesn't even threaten them with a segfault.
(However, there is a GCC attribute that can be given to functions such that a diagnostic is produced if their value is not used: that could be profitably used with the above API.)
> “One of the basic principles in inventing it has been: if it interferes with the normal way that you would play the guitar, it’s no good,” he said.
... but then removes several top frets from the neck, along with the fretboard, likely to have a strumming area for when the right hand is palm fretting.
I predict that hardly anyone else who installs the palm muting bridge will take a chunk out of their neck; that would be a deal breaker for most guitarists.
This will also absolutely interfere with palm muting, which is a big part of the normal way some people play guitar. Palm mute a little too hard and you suddenly get a clear, fretted note.
reply