• 0 Posts
  • 248 Comments
Joined 6 months ago
cake
Cake day: May 7th, 2024

help-circle



  • The dev culture certainly contributes to the problem. In the attempt to modularize, isolate functionality from expectations and create reusable code, a mess of abstraction patterns have sprung up.

    I get the point: Your logic shouldn’t be tightly coupled to your data storage, nor to the presentation, so you can swap out your persistence method without touching your business logic and use the same business logic for multiple frontends. You can reuse parts of your frontend (like some corporate design default structures) for different business apps.

    But you can also go overboard with it, and while it’s technically a dev culture issue rather than a language one, it practically creates another hurdle to jump if you want to use Java in an enterprise context. And since that hurdle is placed at the summit of the mountain that is Inheritance, Abstraction and Generics… well, like I said, massively front-loaded.

    Once you have a decent intuition for it, the sheer ubiquity makes it easier to find your way around other projects built on the same patterns, but getting there can be a confusing slog.


  • So you’re going to stride past the part where I say “I’m not going to […] claim that it’s better or worse than others”, ignore the bulk of my comment on Java being hard to get into, make a point of declaring you’ll downvote for stating a personal opinion, then pretend it’s “nothing personal”? I’d be curious how that makes sense in your mind.

    Anyway, like I said, I see no point in petty tribalism. I like Python and C too - that’s not mutually exclusive. I hope you have a pleasant, Java-less day :)



  • Aside from the general stupidity, Java is a heavily front-loaded language in my experience. I’m not going to engage in any tribalism about it or claim that it’s better or worse than others. As a matter of personal taste, I have come to like it, but I had to learn a lot until I reached a level of proficiency where I started considering it usable.

    Likewise, there is a level of preparation on the target machines: “Platform-independent” just means you don’t have to compile the program itself for different platforms and architectures like you would with C and its kin, as long as the target machines have an appropriate runtime installed.

    Libraries and library management is a whole thing in every general-purpose language I’ve dealt with so far. DSLs get away with including everything domain-specific, but non-specific languages can’t possibly cover everything. Again, Java has a steep learning curve for things like Maven - I find it to be powerful for the things I’ve used it in, but it’s a lot to wrap your head around.

    It definitely isn’t beginner-friendly and I still think my university was wrong to start right into it with the first programming classes. Part of it was the teacher (Technically excellent, didactically atrocious), but it also wasn’t a great entry point into programming in general.


  • Data Analyst: So what do you want to measure? What question do you want to answer?
    Customer: Can you do a column chart, where I can see how many Orders we have?
    Data Analyst: Column chart? What’s the Axis? Per day?
    Customer: No, per month.
    Data Analyst: Right, so new Orders per month?
    Customer: No, how many we have in general, new and old.
    Data Analyst: Do you mean the old ones still open at the start of the month?
    Customer: That’s a good idea, yeah. Actually, can you add the ones we complete in that month too?
    Data Analyst: The amount of completed orders? That would double-count them.

    *shared moment of confusion*

    Customer: Don’t make it so complicated, I just want to see how many orders we had.
    Data Analyst: Let me ask again, what question do you want to answer?
    Customer: I want to know how much our teams are working.
    Data Analyst: As in, how many orders they’re completing?
    Customer: I also want to see if we need more people.
    Data Analyst: Like, if they can’t complete all their orders? So basically, the rate of completed versus new ones?
    Customer: Ooooh, good idea, can you put that rate as a line over our chart of new, old and completed orders?

    Customer: Oh, and the warranty returns too! They need to be processed as well, that’s also work.

    Customer: Actually, we have this task tracking for who does which work for the order or warranty return.
    Data Analyst: Shouldn’t we use that to track how much work the teams are doing?
    Customer: Yes, put it in the chart too.


    Epilogue: The Customer got a separate chart for the tasks - turns out I’m not charging by the chart, so you don’t need to cram as much as possible into a single chart. They also were persuaded to stick with “Old” and “New” to show the total workload, with the “Old” bars providing an indicator for how much stayed open and whether the backlog was growing.



  • Der Kanzler schlägt die Entlassung vor, der Präsident führt sie durch. Prinzipiell kann der Präsident sie ablehnen, wird er aber im Allgemeinen nicht tun wenn es nicht gerade verfassungswidrig oder staatsgefährdend ist. So oder so werden die davor schon gesprochen haben, also wird Steinmeier vermutlich inoffiziell seine Zustimmung gegeben haben bevor Scholz dann verkündet, dass er das (offiziell) vorschlagen wird.

    Anders formuliert, er kann nur bitten, der Präsident aber schlecht nein sagen, wenn das demokratisch gewählte Regierungsoberhaupt an der Besetzung der Regierung was ändern will.






  • Ich nehm auch keine einzelnen Wörter sondern Sätze. Selbst wenn die einzelnen Wörter in den gängigen Wörterbüchern drinstehen würden, wächst der Raum der möglichen Kombinationen exponentiell je mehr Wortkombinationen du probierst.

    Wenn dein Wörterbuch nicht nur Englisch, sondern auch noch andere Sprachen beinhalten soll, wird schon die Basis dieser Potenz irgendwann echt groß. Und meine Sprache ist in keiner der Top 10 Listen vertreten.

    Klar, wenn du weißt, welche Sprache und wie viele Worte, dann ist das bestimmt machbar. Aber wenn du das nicht weißt, ist der Zeitaufwand des Knackens wahrscheinlich das Ergebnis nicht wert.

    Vor allem weil ich eh bei allem wichtigen und einigem unwichtigen 2FA hab.


  • Doch, und für einige Sachen (bspw. Online-Banking, Email-Accounts) hab ich auch komplexe Zufallspasswörter. Viele andere verwalte ich auch darüber. Trotzdem brauch ich zumindest für den Login auf meinem Computer, meinem Handy und meinem Arbeitskonto sowie die jeweiligen Passwortmanager Passwörter, die ich mir merken und von Hand eingeben kann.

    Ich sollte mich eigentlich auch nach besseren Lösungen für die automatische Synchronisierung von Passwort-Datenbanken über mehrere Geräte umschauen. Insbesondere mit Backups an mehreren Stellen wird das umständlich wenn ich was änder.


  • Ich nehm immer irgendwelche Textausschnitte, meistens aus Texten die ich selbst verfasst hab (aber nie irgendwo veröffentlicht, weil die mir dann doch zu persönlich sind). Dann übersetz ich den Ausschnitt in eine (bestimmte, seltene) andere Sprache. Damit hab ich ein längeres Passwort, das schwerer zu raten ist, mit einer bequemen Eselsbrücke und gleich noch ein wenig meine Kenntnisse dieser Sprache etwas erhält (weil ich sie im täglichen Leben ja nie anwenden kann).

    Als Tipp kann ich dann den vorausgehenden Abschnitt nehmen (in Originalsprache der Texte), falls ich mir in einzelnen Fällen nicht mehr sicher bin, welchen Ausschnitt ich hier jetzt hatte.

    Ist allerdings echt lästig, wenn ich das dann alle drei Monate ändern muss, in einem System das keine Tipps erlaubt, dafür aber eine Mindestanzahl an Zahlen und Sonderzeichen fordert. Da hab ich dann auch Methoden, aber doof ist das trotzdem und viel sicherer macht es das nicht mehr. Gelegentlich ändern is ja nicht dumm, aber wenn ich das andauernd machen muss ist die Verlockung doch groß, ein kürzeres oder einfacheres Passwort zu nehmen.

    Ist das unnötig kompliziert? Vielleicht. Aber ich hatte einmal einen Schrecken wo mich 2FA gerettet hat. Da bin ich lieber etwas paranoid.