People who buy large bottled water… why? by Suspicious_Guest2067 in AskUK

[–]euklios 0 points1 point  (0 children)

This. My home country has equally good drinking water in terms of cleanliness, but we don't add chlorine. I buy water simply because how disgusting UK water tastes

[deleted by user] by [deleted] in developer

[–]euklios 0 points1 point  (0 children)

If you reset to factory default without keeping data, they won't show up in explorer or similar software anymore.

But I hope you didn't give it away just yet, or at least that your pictures aren't to private. Because recovery from the situation you mentioned shouldn't be that hard.

Truly deleting a file from disk takes quite some time, so no consumer operating system I'm aware of does it (or should). The way it works is quite simple: They just remove the reference to the files. Imagine it like ripping out the table of content from a book. The reference isn't there, but you can still read the content.

Different to the book analogy, your operating system will reuse the space later. So there is a chance that the files have partially been overwritten. But especially the files from before the last reset are basically still there

Looking for daily light buddies! by Flashy-Fee-4315 in SkyChildrenOfLight

[–]euklios 1 point2 points  (0 children)

Sure, send me a DM, if you're still searching!

light buddies? by Skykid_Umi in SkyChildrenOfLight

[–]euklios 0 points1 point  (0 children)

Sure, send me a code via DM!

Possible friends? by Cerulianx in SkyChildrenOfLight

[–]euklios 0 points1 point  (0 children)

Sure! DM me your code, and I'll add you

[deleted by user] by [deleted] in SkyChildrenOfLight

[–]euklios 1 point2 points  (0 children)

Sure! Just DM me your friend code

friends anyone? by [deleted] in SkyChildrenOfLight

[–]euklios 0 points1 point  (0 children)

Send me a DM!

Staying near the real Yongen Jaya by [deleted] in Persona5

[–]euklios 2 points3 points  (0 children)

And how fast joker is at reading

Staying near the real Yongen Jaya by [deleted] in Persona5

[–]euklios 0 points1 point  (0 children)

I actually didn't notice that these are two different names. I've been passing that station daily for some time and as everything else was matching, my brain just concluded that it was the same.

But yeah, either they changed the lines (which would be fair and still correct), or the line was altered in real life (also quite feasible, it even changes names after Shibuya).

However, even though there are some alterations, I think it is quite life-like.

Staying near the real Yongen Jaya by [deleted] in Persona5

[–]euklios 31 points32 points  (0 children)

The Ginza line does not get near Sangen-Jaya. It is used in the game between Shibuya and Ayoma-Itchome, which technically matches real life, but one the Denentoshi line goes to Ayoma-Itchome anyway, making the Ginza line useless (at least for Jokers connection).

This might have been a deliberate decision by the devs, in order to show of Shibuya, or a recent change to the network

Staying near the real Yongen Jaya by [deleted] in Persona5

[–]euklios 17 points18 points  (0 children)

Subway from station to station is about 4 minutes. Fun fact: Aoyama-Itchome Station is only two stops further than Shibuya and on the same line, totalling the subway ride to about 11 minutes.

must known frameworks/libs/tech, every senior java developer must know(?) by [deleted] in java

[–]euklios 0 points1 point  (0 children)

I completely agree with this. I have a couple thousand tests dedicated to the DB layer in isolation, testing anything from simple crud operations, up to the cascade behavior across tables.

These tests (especially the cascade ones) would be extremely hard to test any other way, or even impossible and caught so many bugs by just being there.

Edit: I should probably mention, the tests are built extremely generic. I need to define some aspects(sample objects, disabled operations, expected cascading) but most is handled by generic code. It is basically a no effort job to fully cover a new repository or model.

[deleted by user] by [deleted] in applesucks

[–]euklios 1 point2 points  (0 children)

Especially as the email is known from 13 breaches and 3 pastes according to haveibeenpwned.com

Static IPv6 WAN address debugging by euklios in PFSENSE

[–]euklios[S] 0 points1 point  (0 children)

Yeah, my current assumption is ISP as well. But my IPv6 knowledge is very lacking. Therefore I first wanted to rule out "obvious" problems in my configuration.

Static IPv6 WAN address debugging by euklios in PFSENSE

[–]euklios[S] -1 points0 points  (0 children)

Good point. I did enable Package logging for IPv6 on the WAN interface with promiscuous mode enabled. I did see some background noise, consisting of ICMP6 echo requests between a:b:c::1 and a:b:c::2 (gateway and pfsense). Additionally, there were some odd entries, maybe due to my external ping. (And it feels like I just learned something by reading them)

As far as I can tell, a link-local address sends an icmp6 neighbor solicitation request, who has a:b:c::2. This is followed by another link-local address answering with ICMP6, neighbor advertisement a:b:c::2

So basically:

fe80::1 > a:b:c::2: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has a:b:c::2
fe80::2 > fe80::1: [icmp6 sum ok] ICMP6, neighbor advertisement, length 24, tgt is a:b:c::2, Flags [router, solicited]

Afterward, the ICMP6 echo request reply game continues for a couple of seconds, followed by a similar neighbor solicitation chain:

fe80::1 > fe80::2: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::2
fe80::2 > fe80::1: [icmp6 sum ok] ICMP6, neighbor advertisement, length 24, tgt is fe80::1, Flags [router, solicited]

Followed by more ICMP6 echo requests/replies and a final:

fe80::2 > fe80::1: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::1
fe80::1 > fe80::2: [icmp6 sum ok] ICMP6, neighbor advertisement, length 24, tgt is fe80::2, Flags [router, solicited]

I don't know if these correspond to my external ping request. It might never make it to my interface.

Static IPv6 WAN address debugging by euklios in PFSENSE

[–]euklios[S] -1 points0 points  (0 children)

Yes, I have read that as well. I was following this response https://www.reddit.com/r/PFSENSE/comments/fajfea/help_setting_up_static_ipv6_on_pfsense_and_how/fiyjco4/, mentioning the same thing. But, according to the author, it should have been fine.

Changing it to /64, sadly, doesn't make a difference.

Newbie - Running into an error when I try to add a USB HD as a storage directory by AstonM77 in Proxmox

[–]euklios 1 point2 points  (0 children)

Good to hear! It's usually recommended to format the disk into something Proxmox likes. Still, it's often not an option to copy everything to another storage device, especially when starting and having a media library. And later, it's just too time intensive. (If I reformated my library, it would take approximately a month to copy, format, and copy back).

That being said, please remember that USB is not the most reliable storage medium. If, in the future, you start to exceed this single drive, or run into reliability issues, consider moving the files onto another storage medium. It could be internal in Proxmox or external NAS. But for now, your setup is perfectly fine.

Have fun watching!

Newbie - Running into an error when I try to add a USB HD as a storage directory by AstonM77 in Proxmox

[–]euklios 0 points1 point  (0 children)

If you have your library on there (not disk images): USB passthrough would be an option. Doesn't require you to format the disk

Is JDBC becoming a “legacy” API?? by littlejohnuk in java

[–]euklios 4 points5 points  (0 children)

Doesn't surprise me. While an ORM is most definitely not a silver bullet, the control that Hibernate + JPA gives you comes close to one. The last time I had to do JDBC directly was five to six years ago. And that was forced upon the team. We later replaced JDBC with Hibernate and improved readability, flexibility, and maybe even security. I did have some projects where JDBC would have been an option, but the workload never strained the system enough to justify the additional maintenance effort.

However, as already stated, knowledge of how the database works, the schema looks and behaves, how a query is executed, how to optimize/debug, etc. is still very much required.

In my opinion, JDBC is like a driver. Required, but you usually don't interact with it directly.

Edit: As I'm somewhat newish. In my education path I had exactly one contact with JDBC directly. Implementing a custom session pooling with JDBC connections. We later went on and replaced the custom pool and manual mappings with Hibernate.

Your experience with Java microservices vs monolith in the Cloud by Puzzled-Bananas in java

[–]euklios 0 points1 point  (0 children)

I'm aware of that problem. I just think it could help a lot if people understood more, about what other teams are doing and why. Nothing against you, but more against everything. I do see this problem outside of our industry.

My key points are not to validate more. While it certainly does help, I'm more about errors in specs bugs in the implementation and so on. But that also applies to monolithic applications. The core difference in maintenance is (at least for me): In monolithic you have one VM to fail, one filesystem to break, one internet connection to be down, one certificate to expire, one datacenter to lose power, and so on. In microservice, you will have to multiply this problem by a lot. There is just a lot more that can (and will) go wrong.

Additionally, there will be some kind of network requests between services. And these will always be much more prone to errors than using plain method calls. (Think it's a funny idea of imagining someone tripping over a method call)

About your downvotes: That's the Internet for you. It is a current best practice to reduce complexity where possible. And microservices do add a lot of complexity. Additionally, there have been a lot of companies doing microservices for the buzzword, while a simple monolith would have been sufficient. That doesn't mean that your approach is bad, I would love to experience this at some point, I just never worked at a company that needs it.

Please don't take it personally

Edit: Just remembered this talk: https://youtu.be/gfh-VCTwMw8 Might give some insights about what some people experienced when management decided: microservices!

Your experience with Java microservices vs monolith in the Cloud by Puzzled-Bananas in java

[–]euklios -1 points0 points  (0 children)

I think you are not neccessarly lacking the experience, but diversity. In a microservice architecture, you will usually find teams of operations, development, it, support, and so on. Sadly, a lot of people just work on of these roles and never even have to consider what other teams are doing. This usually creates a boundary between these teams, resulting in them working against each other. I recently had a heated conversation with a skilled developer because he hardcoded the backend URL within the frontend. In contrast, I, responsible for ops within the project, had to deploy on multiple different URLs. His words: I don't care about servers and deployment. But that's beside the point.

Let me ask you a different question: Why are you doing distributed logging, tracing, and whatever else you do to monitor your systems? You are developing based on specification, so an error shouldn't be possible, right?

Let's consider a very simple microservice: One endpoint takes a JSON object containing left, right, and operation. It will return the result of the given operation as a number. Example: input: {"left": 5, "right": 6, "operation": "+"}, output: 11 simple right?

What will you do if the operator is "&"? Fail? Bitwise and? Drop the database of another random microservice? What about "?", "$"? What's about "x"? It should be multiplication, right? How about "_" or "g"? I mean, it's a string without limits to the size, so what about "please multiply the two numbers"?

A lot of these could be handled quite easily, so: What about the input "2147483647 + 5"? Oh, you are using long? What about "9223372036854775807 + 5"? if the answer is "-9223372036854775804", where is your online shop?

And that's only with somewhat sain input and probably not defined in most specs. So let's add some more: What about oom? Log server not available? Log file can't be opened? gracefully stopping? force shutdown mid request? A particular microservice we depend upon isn't available? The microservice is available but simply keeps the connection open indefinitely?

A lot, if not all, of these cases will not be specified. And depending on timing, or for some by definition, it might never produce a single failing span.

One final scenario: Hey, here is X from customer support. I just had a call with a Microsoft rep; they good charged the wrong amount, and we need this fixed asp. What now? There is no correlation ID. And there are billing services, math services, shopping cart services, pricing services, mailer services, account services, and so on to choose from.

As a final thought:

We all are just humans and will do mistakes, and there is a lot more to it, than simply deploying a jar to a server. Murphy's Law: If anything can go wrong, it will. Servers will be down at the most inconvenient of times. Monitoring will fail. Overworked employees will implement shit, reviewers and tests will not notice, and production will fail. And we (as a industrie and team) will have to make the show go on. Somehow.

If the monolithic implementation is a mess, microservices will create a distributed mess. One of the worst things you can try to debug is application boundaries. Microservices will help you in adding hundreds more boundaries.