That's not a language-specific thing, but is actually part of the IPv6 RFCs as IPv4-mapped IPv6 addresses: [1], [2]
This is super useful because (at least on Linux) IPv6 sockets per default are dual-stack and bind to both IPv6 and IPv6 (except if you are using the IPV6_V6ONLY sockopt or a sysctl), so you don't need to open and handle IPv4 and IPv6 sockets separately (well, maybe some extra code for logging/checking properly with the actual IPv4 address).
That is also documented in ipv6(7):
IPv4 connections can be handled with the v6 API by using
v4-mapped-on-v6 address type; thus a program needs to support only
this API type to support both protocols. This is handled
transparently by the address handling functions in the C library.
IPv4 and IPv6 share the local port space. When you get an IPv4
connection or packet to an IPv6 socket, its source address will be
mapped to v6.
About:config is currently disabled on Firefox (Fenix) Stable for some unclear reasons. I'm currently on beta because of it, but frankly I'd prefer to stay on stable..
Unfortunately about:config no longer works in the most recent version of mobile Firefox. It is unclear what the rationale was for hiding it, although apparently in the next release it will be accessible again.
Ctrl + Shift + A is my favourite shortcut in JetBrain IDEs. Having all editor commands in one go without the need to click through menus is a bliss. Especially so because I don't use IDEs as regular as Neovim and thus keep forgetting some shortcuts.
Double Shift is also extremely helpful to navigate to a file if the project has a lot of nested subdirectories.
That's not true, although I assume it may be harder to water-proof devices with each possible opening in the chassis.
There are some water-resistant phones with a headphone jack and an IP68 rating even. The LG V30 for example is a beast. Semi-regular usage on rainy days works without any issues. Even using it as a flashlight it survived 30min of pouring rain. I had to wait for the USB-C port to dry up to charge it after getting home, but it still survived without any damage whatsoever.
Other phones that are both water-resistant and have a jack [1]:
* Pixel 3a
* Galaxy S10
* Huawei P30
* and a lot more
If I remember correctly, Apple tried to justify its removal due to its size and water-resistance. I wonder when (not if) Apple will remove the power plug due to "water-resistance" and insist on using Qi charging (even though it has worse efficiency[2]) and cloud services instead of transferring data via cable.
At least in Austria 10€/month will provide you with more than just a basic plan. With 9.90€/mo, you could get a plan with 15GB/500SMS/500min, without charging annual service fees or minimum term of contract.
I pay 13.90€ and get 30GB/500SMS/500min with 5.19GB available for Roaming and I'm absolutely pleased with its cost-effectiveness and support.
A little bit context about the Austrian mobile market: Until 2012 we had four different carriers: Orange, T-Mobile, A1 and Drei (Hutchinson). December 2012 the EU commision approved the merger of Orange into Drei under a few conditions so that competition will not be hindered. One of those conditions required Drei to open its network for up to 16 MVNOs [1]. If I remember correctly, prices soared slightly, but after some MVNOs were successfully established, the other carriers opened up their networks too and the additional competition led to plummeting prices.
It seems like it's not even that expensive to set up a MVNO. The request for dialling codes is free at the telecom regulatory body [2] and Drei's reference offer seems reasonable, even without negotiating better conditions[3]
This is super useful because (at least on Linux) IPv6 sockets per default are dual-stack and bind to both IPv6 and IPv6 (except if you are using the IPV6_V6ONLY sockopt or a sysctl), so you don't need to open and handle IPv4 and IPv6 sockets separately (well, maybe some extra code for logging/checking properly with the actual IPv4 address).
That is also documented in ipv6(7):
[0]: https://datatracker.ietf.org/doc/html/rfc5156#section-2.2 [1]: https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.5....