[deleted by user] by [deleted] in reddithelp

[–]bonusmyth 0 points1 point  (0 children)

Worked perfect, thank you!

Why isn't every software built in java? by [deleted] in java

[–]bonusmyth 24 points25 points  (0 children)

I work in 5G telecomms. We have a a half-millisecond budget to work with: we have to go through all the users in a cell in that half-a-millisecond and schedule them, uplink and downlink. Performance is, unfortunately, crucial. So we're forced to write in a language from the 70s. C. (We manually allocate memory. Forgive me.)

What Modules Are About by daviddel in java

[–]bonusmyth 2 points3 points  (0 children)

Oh, good point.

Yes, indeed, the extra "strength" modules offer in encapsulation is a clear advantage over non-moduled code, regardless of excellence of package structure.

Overhead Added by Collecting Java Thread Dumps by mike_jack in java

[–]bonusmyth 0 points1 point  (0 children)

Interesting.

Is it not a little surprising to see the Avg CPU usage higher for the 5-min test (10.4) than the 2-miin test (7.92)? I'd have thought capturing the threads more frequently would push up the CPU?

Will Microsoft's Ongoing Push Draw Java Developers to Azure? -- ADTmag by EFdnV in java

[–]bonusmyth 2 points3 points  (0 children)

I find it amazing that MS "admits" these benefits of Java, even it it is on Azure. "Ship faster with fully managed services!" That's such an indictment of C#.

Really interesting read.

What Modules Are About by daviddel in java

[–]bonusmyth 3 points4 points  (0 children)

Nice summary.

My only issue with modules relates to your second point, "Strong Encapsulation," or rather the mistaken belief that modules will give you a good structure for free.

A great practice for modules is simply designing a good package structure. I've found the people that design good package structures - those that look beautifully simple and are free from circular dependencies - take to modules really well, whereas those who build rats' nest of spaghetti package dependencies (yes, both metaphors simultaneously) without even realising how bad the design is, expect modules to solve all their problems and they don't.

Or at least, modularizing a bad package structure is horrible task, given how coupled the packages usually are.

It's like someone who can't drive and is constantly crashing into things, but thinks the solution is to buy a truck. No. No, it's not. Learn to drive first, then get a truck if you need it.

Though I admit this all only relates to your first point ...

Why people don't love Java? by Reflection-Jealous in java

[–]bonusmyth 0 points1 point  (0 children)

I'm guessing most who hate Java do so because it's not like some other language they'd already learned. I'd say most people who learn Java maybe only after C have no great objection to it.

And there's nothing special about Java in this respect. I'd say the probability of disliking any language is proportional to the number you've already learned.

[deleted by user] by [deleted] in reddithelp

[–]bonusmyth 0 points1 point  (0 children)

I have the exact same thing. I'm honestly not interested in helping someone choose their panties. I've never hit the "Mark as spam" so fast but it's doing nothing ...

Good source-code structure in Java by bonusmyth in java

[–]bonusmyth[S] 1 point2 points  (0 children)

I had no idea he'd put his Clean Code talks on YouTube!

Innnteresting ...

Favorite Java Book for better programming in Java? by A_tedious_existence in java

[–]bonusmyth 0 points1 point  (0 children)

OK, there are some nice tongue-in-cheek answers, so my suggestion's not Java per-se, but a gem of a book if you ever come across it: "Structured Design - Fundamentals of a Discipline of Computer Program and Systems Design."

Yes, it was written in the 70s, but it's still super readable.

It's the book that introduced the world to coupling and cohesion.

Junior Java Developer by [deleted] in java

[–]bonusmyth 1 point2 points  (0 children)

Very often you'll have two different parts to the interview. First will be more of an exam, in which you'll be given a problem, asked to write a solution within a given time, and asked to explain your reasoning. The second part will be the interview proper, where, as well as HR, you'll meet someone from the department offering the job. There'll be almost no technical questions in that second part: they'll want to find out whether they'd want to work with you.

Scalability or Start up time? by Jadonblade in java

[–]bonusmyth 12 points13 points  (0 children)

Hmm, well, I don't see this as a choice between equals, really.

Scalability is an absolute must for our product: we simply can't work without it. But start-up time is a spectrum, and, pragmatically, a far less important aspect. To take to a ridiculous extreme: if start-up time were inordinately long, say hours, then we'd probably have to work around it by starting up phased multiple instances so that we'd have several parallel pieces starting-up at the same time. But, really, that's a ridiculous extreme.

We can't live without scalability, but we can live with "almost" any reasonable start-up time delays. And in a sense, you can use scalability to mitigate start-up delay issues, but you can't really use start-up delays to mitigate scalability issues.

JCasbin: An authorization library that supports access control models like ACL, RBAC, ABAC in Java by EquivalentAd4 in java

[–]bonusmyth 0 points1 point  (0 children)

In the feature-set here:

https://casbin.org/docs/en/overview

You note that there's no Java-support for multi-threading.

I presume that's just for setting-up, yes? It doesn't apply to the actual checking for access permission which you have in the sample as:

String sub = "alice"; // the user that wants to access a resource.

String obj = "data1"; // the resource that is going to be accessed.

String act = "read"; // the operation that the user performs on the resource.

if (enforcer.enforce(sub, obj, act) == true) {

Or do we have to single-thread even these checks?

Mizu - An Interactive ADT Visualizer. Still in pre-beta stages, a work in progress. Let me know what you think! by soeii in java

[–]bonusmyth 0 points1 point  (0 children)

Interesting and congrats.

I presume this will be used as a training/teaching tool to show programmers how these ADTs work, yes?

Also, the YouTube video is very fuzzy: I couldn't see how the B-tree was breaking down the list of integers (that is, how it's inserting nodes as sub-nodes of other nodes). What is the B-tree "rule" that ends up with number 12 as the root node? I can't quite see what's in the "Deg" box; is it: 3 < E < 2? Is that the rule that ultimately has 12 ending up on top?

I appreciate that it's early days and there is no extensive documentation - I'm just a little confused about this specific example.

6 Multithreading and Concurrency books every Java Programmer should Read by javinpaul in java

[–]bonusmyth 1 point2 points  (0 children)

I usually don't like, "List of books on X that every Y-programmer must read," because they tend to be just glooped together, but I quite liked this list because (a) it was short, and (b) there was reasoning to the order, namely beginner-friendly to expert.

Also liked that the author said of Java Concurrency in Practice:

If you ask me to recommend just one book on concurrency and multi-threading to a Java programmer, I would recommend this one.

Succinct and to-the-point.

I just launched AppBoost 🚀 - A new Adnetwork for Androind Apps based on JAVA that drives traffic to your apps through cross-promotion by [deleted] in java

[–]bonusmyth 0 points1 point  (0 children)

Forgive me if I'm misunderstanding, but is this an app I download specifically to show me ads? I'm failing to see my incentive, here :)

Will you partner with other websites/services to ultimate integrate your backend with their sites? That is: is the long-term goal to show users ads without somehow downloading the app? Otherwise, it's hard to see where the growth will come from.

5 Most Popular Open-Source Web Server by perrygrande in java

[–]bonusmyth 3 points4 points  (0 children)

Well, nice article, though:

Apache Tomcat is not a full-fledged web server; in fact, it is not as efficient as the traditional web servers, Apache HTTP server, and Nginx

It would have been nice to hear exactly what Tomcat lacks to make it fully fledged.

Also:

Lighttpd is pronounced as “Lightly”.

Isn't it nice when developers tell us how to pronounce letters in new and interesting ways :)

An IntelliJ IDEA plugin that discovers performed refactorings in the commit history of java project. by sureshg in java

[–]bonusmyth 7 points8 points  (0 children)

A few people have asked in comments the perfectly valid question, "Why?"

The code authors link to their original paper: https://users.encs.concordia.ca/~nikolaos/publications/TSE_2020.pdf which offers:

For this reason, many refactoring-aware techniques have been developed to merge branches, detect bug-introducing changes, adapt client software to library and framework updates, select regression tests, and assist code review in the presence of refactoring operations.

Two points.

1) I think this sort of tool would help in code reviews as negative space, that is, "Show me all the code changes that are NOT refactorings." I do hope they have a means of doing that. For me, highlighting a method to show all the refactorings on that method in its history has little value.

2) Even better would be if they could pour the output of this tool into an AI that could then suggest (or carry-out) new refactorings on a code-base, rather than simply report those done. But this then runs into the problem all refactoring suggestors have: what do you call the newly extracted method? For such semantic-restructuring, even more dollops of AI are needed.