If you're stateside and want a shipping Linux phone today, [FuriLabs](http://furilabs.com) is another option.
Graphene is in a class of its own compared to both of these though and there's frankly no reason to bother unless you're trying to improve those ecosystems.
I admit to being shocked that such a common phrase isn’t widely understood, but this site has plenty of international traffic so I can only say thanks for the context comment. :)
Yeah, it's funny how our contexts shapes what we believe to be universal :) I had the same experience with "ground floor" and "first floor", where seemingly every country has a different understanding and way they use those. Or even what "Caravan" actually is seems to differ too. Language is fun :)
I locked myself out of Azure after losing 2FA which turned out to be different 2FA than the one tied to my Microsoft Account.
All support channels are now AI and refuse to help and redirect me to self service. There is _no_ self service path for Azure account recovery if you lose your 2FA token.
It's infuriating. I lost access to a bunch of hobby projects I had hosted on DevOps. Microsoft will never see a dime from me.
I and many others posted it for reading by other people, many of us for a long time before this AI boom. Even with scrapers at least the eventual target was a human, all good.
This is different, and everyone pretending it is not, is being intentionally ignorant or genuinely ignorant, neither good. I did not give so much to the public internet for the benefit of commercial AI models, simple as that. This breaks the relationship I had with the public internet, and like many others I will change my behaviour online to suit.
Maybe my tune will change once there's a commercial collapse and the only remaining models are open source, free for all to use. But even then it would be begrudgingly, my thoughts parading as some model's abilities doesn't sit right.
> I and many others posted it for reading by other people, many of us for a long time before this AI boom. Even with scrapers at least the eventual target was a human, all good.
This captures perfectly what I was trying to say. Thanks
I dunno man. When I first joined it was unconcieveable that someone could just take everything and build a trivially queryable _conversational_ (that's a big part of it) model around everything I've posted _just like that_. Call me naiive but I would consider it some sort of a social contract that you would not do that. I feel the same way about LLMs being trained on Reddit. I suspect with a large enough dataset these models can infer things about you that you wouldn't know about yourself.
To make another example, even though my reddit history is public (or was until recently because I didn't have a choice) I would still feel uneasy if I realized someone deliberately snooped through all of it. And I would be SUUUUPER uncomfortable if someone did that with my Discord history.
It's not against the rules or anything, I just think it's rude.
By placing a statement upon the public internet, you both implicitly and explicitly consent to that content being consumed by anyone, and by any means. Such is the implicit covenant that access to the public internet imposes upon all participants.
Making the content queryable by a database engine is merely a technical optimisation of the efficiency with which that content may be consumed. The same outcome could have been accomplished by capturing a screenshot of every web page on the internet, or by copying and pasting the said content laboriously by an imaginary army of Mechanical Turks.
A private network may, of course, operate under an entirely different access model and social contract.
It's two clicks to get to that page from this page. Say the wrong thing here and some troll will go through it and find something you said years ago that contradicts something you're saying today. If the mere thought of that bothers you, I don't know what to tell you other than to warn you of the possibility.
I don't know how to get my point across, I guess I'm just thinking emotionally more than logically right now lol. Either way it's not my comments being visible verbatim that irks me but rather the processing part. But I get your point and the "damage" is already done, so /shrug
It probably could though. Or at least to the extent that declarative languages ever really work for real world problems.
But iif you perfected it then it would also be the thing that actually kills software development. Because if I told you your whole job is now writing tests, you’d find another job.
Not any manager I've ever worked with. Including the good ones (but especially not the bad ones).
Their job is to make sure that the business people and the devs sort it out without coming to blows. When they do work like this it's generally as a template to be copied, not the entire project.
But the only people who write code as bad as QA folks do are the DevOps people.
The paradox of SDETs is: QA makes less than dev, no matter what flavor. If you're good at poking holes in developer logic, and you can code yourself, there's a 40-60% raise for you if you can switch into security consulting, which takes the same foundational skills and some reading.
So there are at least two brain drains for "good coder in test", and we aren't even the most lucrative one.
The original comment was about whether these things should be treated as errors during the local development process, or during CI for greenfield projects.
I deleted it after realizing that the article actually does address this. But I'm still relieved that I'm not the only one with the dillema.
> which if you miss, just means you may end up with a failed CI build to fix…
Honestly as a developer if I miss this up until CI, that's on me. The important part is that these issues are still visible during the local development, even if as warnings, and that the developer knows (maybe after making that mistake once or twice :-)) that they can't just be ignored because they will fail down the road.
> Honestly as a developer if I miss this up until CI, that's on me. The important part is that these issues are still visible during the local development, even if as warnings, and that the developer knows that they can't just be ignored because they will fail down the road.
Yeah I agree. This has got me thinking a bit more actually about how to optimise build configurations much more deliberately. Dev loop builds vs “normal” (local) builds vs production builds.
I got into the habit of turning on TreatWarningsAsErrors in greenfield .NET projects, trying to be a disciplined developer… But often these warnings can be a distraction during fast iterations… I think I may change my policy…
Great post. Now let's do C# because if I see a repository pattern doing nothing but calling Entity Framework under the hood again I'm going to rip the planet in half
> Great post. Now let's do C# because if I see a repository pattern doing nothing but calling Entity Framework under the hood again I'm going to rip the planet in half
Your comment shows a hefty amount of ignorance. Repositories wrap Entity Framework because Entity Framework's DbContext & Co are notoriously complicated to mock and stub.
Once you wrap EF stuff with a repository that implements an interface, that problem vanishes and all your code suddenly is unit testable.
We don't really have this problem in .NET 8, we mock stuff just fine using an in-memory database provider.
But I admit my tone missed the mark. It may have been much harder to do in the past, or maybe I'm missing some nuance.
But also at this point why not just have your DbContext directly implement an interface that you can mock? Surely that must be more straightforward than adding an entire abstraction layer, that you have to extend with each new usage scenario, and without sacrificing implicit transactionality.
public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
{
public async Task Add(TEntity entity)
{
_context.Add(entity);
await _context.SaveChangesAsync();
}
}
reply