[-] lysdexic@programming.dev 2 points 2 years ago

That's weird. I noticed the post being marked as a dupe from the same community but I only saw one entry.

[-] lysdexic@programming.dev 2 points 2 years ago* (last edited 2 years ago)

It’s from 2015, so its probably what you are doing anyway

No, you are probably not using this at all. The problem with JSON is that this details are all handled in an implementation-defined way, and most implementation just fail/round silently.

Just give it a try and send down the wire a JSON with, say, a huge integer, and see if that triggers a parsing error. For starters, in .NET both Newtonsoft and System.Text.Json set a limit of 64 bits.

https://learn.microsoft.com/en-us/dotnet/api/system.text.json.jsonserializeroptions.maxdepth

[-] lysdexic@programming.dev 2 points 2 years ago* (last edited 2 years ago)

Can you clarify how “Not even Github managed to pull that off”?

GitHub actions has an atrocious user experience, to the point that even a year or so ago people where doubting it was production-ready.

Sure, you can put together a pipeline. But I challenge anyone to try it out with GitHub actions and then just try to do the same with GitLab or even CircleCI or Travis.

The fact that people compare GitHub Actions go Jenkins of all things is everything anyone needs to know about it's user experience.

[-] lysdexic@programming.dev 1 points 2 years ago* (last edited 2 years ago)

I mod the MAUI Community, which was created shortly before Xmas, and I made some announcements then (like on Mastodon, Daily Dew Drop, etc.) and some people joined then.

I'm late to the game but I should point out that the MAUI community is a textbook example of how communities should definitely not be created, and it was clear from the start that it was already born a dead community.

The C# barely gets a single post per week. The .NET community is even more of a niche community, and in spite of all the non-organic posts it's already dead.

Even though you were fully aware of this and you were repeatedly pointed out the obvious fact that a niche of a niche won't take off, you ignored te feedback and still went ahead with the creation of the community. Which is of course dead.

Lemmy in general and programming.dev in particular already have groups with traction. I hope that moving forward the group creation process is based on peeling specialized topics from existing communities. Otherwise the MAUI fiasco will repeat itself and we'll end up with an even longer tail of dead communities vulnerable to spam and takeovers by bad actors.

[-] lysdexic@programming.dev 2 points 2 years ago* (last edited 2 years ago)

In Java, your objects start lowercase, so if you see uppercase, its a static call.

Not really, that's just the way a specific coding style was specified. You're free to refactor all your projects to follow any other coding style if you really want to, and your programs will continue to work just fine.

[-] lysdexic@programming.dev 2 points 2 years ago

I don’t have an account there because of that reputation, and why would I now that I have access to chatgpt?

I think StackOverflow is rolling out a GPT-based service that generates answers to your questions based on SO's data.

You need to train ChatGPT to get it to output decent results. SO seems to be working to do that for you.

[-] lysdexic@programming.dev 2 points 2 years ago* (last edited 2 years ago)

Leaving my 0.02$ here:

Please don't deploy this bot. It's annoying, it contributes nothing to actually create interesting content for the community to engage, and in fact its main output is spam.

It does more harm than good. Please don't.

I'd add that if the idea was any good then instead of spamming people left and right, it would suffice to crosspost stuff on target communities.

19
1

Anyone preaches the virtues and advantages of domain-driven design, its positive impact on maintainability and adding features, and how it improves developer experience. However, as all things in life, all roses have their thorns.

Has anyone had any negative experience caused directly or indirectly by domain-driven design? This might be a botched migration, problems during the requirements gathering stage, domain models ending up being too rigid/too permissive for an application, etc.

1
23

I'm not sure if it's intentional or not, but the Actually Useful AI community rarely gets any post on AI that's actually useful. Is this just a reflection of the popularity of this community or a reflection of the AI field in general?

1
3
1
11
submitted 2 years ago* (last edited 2 years ago) by lysdexic@programming.dev to c/java@programming.dev

Saved you a click:

  • JaCoCo for test coverage,
  • PMD for static code analysis
  • SpotBugs (successor of FindBugs) for linting and enforce coding style/best practices,
  • japicmp to check semantic versioning
  • codecov and checkstyle.
22

I've noticed that !gamedev_discussion@programming.dev is abandoned and is already a child community of !gamedev@programming.dev which basically serves the same purpose and on average receives only a couple of posts per week.

This got me thinking: we have a process in place to create new communities in !community_request@programming.dev, but is there a process in place to remove abandoned communities?

1
1

Key bit:

POLY1305 MAC implementation corrupts XMM registers on Windows (CVE-2023-4807) - Low

Node.js is affected by this vulnerability. The CVE-2023-4807 affects Windows users, and the vulnerability is rated as LOW by the OpenSSL Security Team.

Saved you a click: NIST National Vulnerability Database: CVE-2023-4807

1
[-] lysdexic@programming.dev 2 points 3 years ago

Using linting to prevent coupling between modules can give you some of the benefits of micro services without going all in.

My point was that modularizing an application and decoupling components does not, by any mean, give any of the benefits of microservices.

The benefits of microservices are organizational and operational independence. Where do you see coupling between components to play a role in any of these traits?

[-] lysdexic@programming.dev 2 points 3 years ago

Java is the only programming language to get popular as a result of marketing.

I don't think this is true. Java is an outstanding tech stack and was revolutionary in a lot of ways, to the point that it motivated others to shamelessly clone it and in the process create other outstanding tech stacks. See C#.

For starters, Java solved the deployment problem way before containerization was a thing. Developers could simply put together a fat JAR, drop it in a web server like Tomcat, and it would simply reload without a hiccup.

Java is also very tooling-friendly, and has a solid versioning policy.

[-] lysdexic@programming.dev 2 points 3 years ago

Does it have to?

If you're a developer looking for a pastime working on a personal project, no. You're free to waste your time and effort doing anything that pleases you.

Everyone else in the world only bothers with something if it provides any value at all. If a project such as this one fails to provide any value them no one will have any reason to waste their time with it, no matter how many times you rewrite it in Rust.

[-] lysdexic@programming.dev 2 points 3 years ago* (last edited 3 years ago)

There is no C++ tool (AFAIK) providing an exhaustive check of ALL the data lifetimes.

Your reply reads like an attempt at moving the goal post.

The initial point was "Sometimes it’s easier to try a new idea in a new language (e.g. the borrow checker in Rust) rather than trying to shoehorn it into an existing language", to which I pointed the fact that yes it's indeed possible to "try a new idea" like borrow checking, and it only takes adding a tool that runs in a post-build/unit test step. It's simpler, easier, and does not force anyone to rewrite projects from scratch.

Claiming "oh but it might not work as well" is not an answer or a refuttal.

[-] lysdexic@programming.dev 1 points 3 years ago

I already explained it to you: protocols apply to types you do not own or control, let alone can specify a base class.

You just specify a protocol, specify that a function requires it, and afterwards you can pass anything to it as-is and you'll be able to validate your calls.

view more: ‹ prev next ›

lysdexic

0 post score
0 comment score
joined 3 years ago
MODERATOR OF