There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmer_humor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

Starkstruck , in Any Volunteers

Oh god have had people try this exact thing with me before.

CancerMancer ,

I got asked by a team of first timers who have never done any professional coding or design if I wanted to chip in on a competitive MMOFPS they want to make.

That’s not going to happen. Between the rise of cheating, the insane hardware and optimization requirements of an MMOFPS, the general lack of interest in the genre (most have died due to low player counts), and the sheer amount of time and effort involved in designing and balancing the game even after it’s largely feature complete? Forget it, I’m better off buying lottery tickets than hoping for anything to come of that.

QaspR , in When data training goes wrong

1h ago… 5min ago. You absolute canine. Man’s got stamina for days

Transporter_Room_3 ,
@Transporter_Room_3@startrek.website avatar

I view it as more “1hr ago” sees notification “wait no way” makes various sex noise and gets notification followed by several minutes of laughing.

That or they got out the ball gag for an hour.

DragonTypeWyvern ,

Or a refractory period.

UndercoverUlrikHD ,

Judging by the time gap in notifications, it looks more like they took an hour long break

Nunya , in What if we added a social component like "Stories" to this calculator app?

Pulse SMS App for Android recently updated to include:

New “Discover” Section: Find new offers, inspiring content, articles & more

On a messaging app, really??? Who wants any of those features when trying to message someone?

0000 ,

The great thing is that you can simply uninstall it and leave an inspiring review.

cupcakezealot ,
@cupcakezealot@lemmy.blahaj.zone avatar

wow pulse used to be great. did luke sell? i remember he open sourced it in 2020 but the repo seems to be gone: github.com/klinker-apps/pulse-sms-android

edit: huh looks like they got bought in oct. 2020. androidpolice.com/…/it-looks-like-pulse-sms-has-b…

(there is another repo here github.com/jarvanh/pulse-sms-android but i’m not sure how official it is)

darcy , in Programming Languages as Essays
@darcy@sh.itjust.works avatar

haskell: “you submitted your math work instead of an essay”

javascript: “this is awful, but at least i can read it anywhere i like”

lisp: “it is not grammatically correct to nest brackets so much”

lua: “your vocabulary is too limited and you have the writing skills of a child”

rust: “omg. your essay is fast, safe, and perfect in every way! A+”

css: “this is beautiful, but it doesnt say anything”

Alexocado ,

Found the Rust programmer

darcy ,
@darcy@sh.itjust.works avatar

what! how did you know??!?

BeigeAgenda ,
@BeigeAgenda@lemmy.ca avatar

Rust may be good and all, but I doubt it’s magically always write good A+ code, I’m sure some developers will slap all their code inside unsafe as a shortcut.

darcy ,
@darcy@sh.itjust.works avatar

yeah i was mostly joking. rust will never catch up to javascripts beauty

PoolloverNathan ,

Hey! Don’t read my code!

(how else are you supposed to cast a lambda to a generic type parameter?)

30p87 ,

Ha, such a loser. Real programmers use C.ԥ[��\�q��r��8-߿�ʱT�xd]�UG���S;���v�o������ՠ��N�iYtsfv���@ֿ��Qj�\�Q��_"�$�:� �����0��y��G�6�K!{Ȯ������Z�n�˭s�\��ڣ�:J��1���e�k=�${�Z�3�k~67D�����K���(�P.��v�0��a�����d���6e?=�v�)���a��bF���R��4>�˕�G�=��v-�dP��O�3��+A�nw�|ъ�f۽b�oF�I`'�#��:��̴g>�j:^���O�mu^U�l�A�oI�’�.��j>Dm\����y��2T��8w�D"1������ת«Q����l�"�C�{��������% �_�A�߸�=t��� �X��m�9R�x��)�a�-���tbL�����Ǣs��d$oMZ��4I1jXD���
Segmentation fault

glibg10b ,

(core dumped)

starman , (edited )
@starman@programming.dev avatar

C#: did you just copy Java’s essay and put your name on it?

COBOL: why it looks like it’s from 16th century?

PHP: I did not ask for a spaghetti recipe

alternative Rust: it’s great, but I asked for an essay, not “🔥 Blazingly fast rust-based EssayOS”

newIdentity ,

C# is Java in good

starman ,
@starman@programming.dev avatar

Yes, I know. I’m a .NET dev myself, it’s just a joke

30p87 ,

C# is Java except from Microsoft, which means it’s designed and much more integrated with Windows. The official .net core even brings telemetry right out of the box. Using C# apps on Linux is a pain, which is very bad considering it’s supposed to be like Java - compile once, run anywhere - except Java actually achieves it.

Also, Minecraft runs on Java. Therefore, C# is useless. Boom, destroyed /s

eestileib ,

Stardew Valley runs on C#.

ROASTED

newIdentity ,

Untiy games are programmed in C#

So point for Java

30p87 ,

True. F Unity, I prefer C/C++ with eg. Raylib. (Fr tho, I hate not having direct control over my whole code.)

TheGiantKorean ,
@TheGiantKorean@lemmy.world avatar

Java developer here. Can confirm (from what I’ve read about C#, anyway).

darcy ,
@darcy@sh.itjust.works avatar

ahah nice

raubarno , (edited )

Rust v3: “It’s three hours and I’m still compiling dependencies”

EDIT: Also, “What does Option[Arc[Mutex[BTreeMap[String, Box[RefCell[Box[amp mut F>>>>>>> where F : Fn(T) -> U in your essay mean?” (srry, I didn’t come up with a better obscure data type, it’s probably gibberish)

EDIT2: Lemmy deletes ‘less than’ sign for some damn reason (time to build Lemmy at home?)

eestileib ,

My friend partially explained how the build safety system worked for Rust and my first reaction was “holy shit the link stage must take a century”.

“Yes.”

kattenluik ,

I don’t think you should criticize a language that you clearly have not even learnt the syntax of. Dependencies are also a one-time compile and linking just your own program or library does not take very long, and if you’ve ever worked with C languages it’s all the same.

Just because you don’t know how to read a languages syntax doesn’t mean it’s bad, it’s just like how you have to learn anything else. Rust is quite self-explanatory afterwards.

raubarno , (edited )

I do write Rust projects

EDIT: Well, it depends. If you statically compile everything with C build systems, in that sense, the speed should not differ from generic cargo workload. Although, in most cases, projects written in C are dynamically linked due to several reasons, one of which is code speed. In practice, even huge projects written in C (30k to 10k LOC) build quicker than C++ or Rust.

I’m not pooping on generics, either. Generics is a saviour for correctness and performance. Yet, I want to point out the type creep is still a thing, even though there’s little we can do about it.

Anyways, this thread should be better interpreted with humor, instead of technical accuracy.

kattenluik ,

Fair, I just don’t like it even when it’s humorous as it still speaks of a language in a bad way.

Also, if you use a Unix system to build your projects I can recommend you check out Mold if you haven’t yet as it speeds up the linking significantly.

MonkderZweite ,

javascript: “this is awful, but at least i can read it anywhere i like”

There are only 3 engines capable of interpreting most of it.

darcy ,
@darcy@sh.itjust.works avatar

it can run on almost any browser, it can be bundled to run on desktop or mobile. i know wasm exists but javascript is still sadly an extremely versatile language, mostly due to its support on the web

dodslaser ,

rust: “You just translated someone else’s essay”

impossible_silver , in Always write comments

Is the Pic AI generated? Lol

BluesF ,

I wouldn’t be surprised if the whole meme was. What on earth does the picture have to do with the text lol

Zorque ,

Have you not heard of rubber duck debugging?

VigilantQuasar ,

The image is definitely AI, but I assume the rubber duckies are in reference to this en.m.wikipedia.org/wiki/Rubber_duck_debugging

TheGreenGolem ,

Rubber duck debugging

BluesF ,

Tangentially related at best.

name_NULL111653 ,

‘Rubber duck’ debugging is a thing…

icepuncher69 ,

It just looks silly

Cat ,
@Cat@kbin.social avatar

Yes it is. Look at the eyes on the ducks. Also the guy's hands and nose. Dead giveaways.

cake ,
@cake@lemmings.world avatar

Alien ducks

mriormro ,
@mriormro@lemmy.world avatar

Why tf does someone need ai to make memes?! Jesus Christ…

Sotuanduso ,

You expect a meme maker to photograph that themselves?

hsdkfr734r , in Absolute legend

Let the patch be part of the code for one or two minor releases. Then revert the changes of the patch.

victorz ,

Why would they do that? Talk about generating mistrust.

henfredemars ,

It may not be malice. Incompetence.

jaybone ,

They are going to “accidentally” remove a fix?

henfredemars ,

By not understanding how version control works. I’ve worked at places that had a surprising number of developers who would just merge things in ways that drop code from other developers.

siipale ,

Can you give an example how that would happen?

henfredemars ,

It’s pretty straightforward. Merge conflicts? No such thing! Just make my version the next version.

dejected_warp_core ,

Also that’s likely a team that doesn’t use a branching workflow, has poor review on merges, and/or using Git like it’s SVN.

henfredemars ,

How optimistic. At my last workplace I got us to finally stop using zip files for version control. This was at a fortune 500 company.

The utility of software is so great that even terrible processes are still functional to some degree.

dejected_warp_core ,

A times B times C equals X. If X is more than the cost of a failure or security breach, we don’t fix the software.

Are there a lot of these kinds of problems?

You wouldn’t believe.

Which Fortune 500 company do you work for?

A major one.

henfredemars ,

I now work for a small business but in the interest of not getting bitten in the ass I don’t wish to give the name of my previous employer. It was a large defense contractor, but our values didn’t align so I moved on when I found another opportunity to put food on the table. I know that’s not a satisfying answer but I’m here for entertainment value and the opportunity cost might not be worth it. My main point was that even though they have the money they didn’t see the value in good software process.

All the time! We would leave bugs unfixed even if the fix was trivially easy because management felt productive listing it as a cost savings. Software maintenance was seen as a necessary evil.

dejected_warp_core ,

Software maintenance was seen as a necessary evil.

The most important lesson I learned about the economics of software is that sourcecode is always accounted as a liability and not an asset. Accountants will never let you code your way into more value. Everything else you see stems from that truth.

entropicdrift ,
@entropicdrift@lemmy.sdf.org avatar

Force push to the master branch or release branch, for one

Sidhean ,

I dunno, but it’d be funny

mryessir ,

Rehire obv.

victorz ,

Good luck with that lol. Who would fall for that.

mryessir ,

Corporate rated this strategy viable

Dampyr ,

Calm down, Satan

model_tar_gz , in Senior dev be like...

No, this is incompetent management.

Senior engineers write enabling code/scaffolding, and review code, and mentor juniors. They also write feature code.

Lead engineers code and lead dev teams.

Principal engineers code, and talk about tech in meetings.

Senior Principal engineers, and distinguished technologists/fellows talk about tech, and maybe sometimes code.

Good managers go to meetings and shield the engineers from the stream of exec corporate bs. Infrequently they may rope any of the engineers in this chain in to explain the decisions that the engineers make along the way.

Bad managers bring engineers in to these meetings frequently.

Terrible managers make the engineering decisions and push those to the engineers.

evatronic ,

There is a reason I keep refusing to take the “Lead” position. I know what I’m good at.

xor ,

Now I don’t know, but I been told
It’s hard to run with the weight of gold
Other hand I have heard it said
It’s just as hard with the weight of lead…

Huschke ,

TIL my company has only bad managers.

0x0 OP ,

Good managers go to meetings and shield the engineers from the stream of exec corporate bs

Was lucky enough to work with one… once.

Aceticon ,

I came here to say the same.

People in the technical career track spend most of their time making software, one way or another (there comes a point were you’re doing more preparation to code than actual coding).

As soon as you jump into the management career track it’s mostly meetings to report the team’s progress to upper management, even if you’re supposedly “technically oriented”.

Absolutelly, as you become a more senior tech things become more and more about figuring out what needs to be done at higher and higher levels (i.e. systems design, software development process design) which results in needing to interact with more and more stakeholders (your whole team, other teams, end users, management) hence more meetings, but you still get to do lots of coding or at least code-adjacent stuff (i.e. design).

Skullgrid ,
@Skullgrid@lemmy.world avatar

bruh, your company has money for all those layers in your lasagna?

model_tar_gz ,

I’ve worked for startups too; everyone does everything all at the same time! Let the chaos reign! But it is fun in its own way.

I work for a large company now after the startup I worked for was acquired. Hierarchy, bureaucracy, layers, we’ve got it all. For worse and for better though, it allows me to focus and specialize on what I’m awesome at and furgeddaboddit (ahem! delegate) the stuff that I suck at to those who excel at those tasks.

reverendsteveii ,

your company has money for no one above mid-level engineers to be actually building the product?

thesmokingman , in Google cosplay is not business-critical

Absolutes in programming tend to lead to bad designs. This is more a “I’m gonna stir up some shit on Twitter” post than real wisdom.

  • No microservices usually leads to bloated, tightly coupled logic that ignores business domains
  • No monoliths usually leads to sprawling microservice deployments with tightly coupled dependencies and flavor-of-the-week new ones
  • No Kubernetes usually leads to VPS pets or crazy obstacle courses trying to get SSL termination without a million fucking dependencies in a cloud container orchestration system that isn’t as good as Kubernetes
  • All Kubernetes usually leads to huge SRE costs for a tiny app

The same shit happened last summer when AWS came out with their “we dropped microservices for a monolith and look at our speed increase” article which ignored good design principles. Sometimes you should split things over business domains so you can deploy and code independently. Sometimes Kubernetes is the best way to handle your scale needs. The stories we normally read are about people doing it wrong (eg AWS making a bunch of microservices inside a domain sending fucking gigs of data between what should have been functions in a single service). Inexperienced folks don’t always know when to move from their minimum viable solution to something that can scale. That doesn’t mean you remove these things, it means you train on when you need them.

Should we abandon design patterns because singletons or flywheels aren’t the correct solution all of the time?

suy OP ,

Precisely, Gary Bernhardt has given a talk on ideology. I don’t think he’s precisely someone who thinks in absolutes. It’s just preaching that some stuff is (probably) used more than it should. I’ve seen way, way, way worse projects that over engineered things and made things slow and unmanageable, than the opposite. Of course, everyone has seen different things, and our perceptions are amplified and biased by that.

JoYo ,
@JoYo@lemmy.ml avatar

Even if what you say isn’t true I’m giving my vote of confidence so I can just shrug whenever someone disagrees with my architecture.

Don’t like that I chose a single API server? We’re avoiding sprawling microservice deployments with tightly coupled dependencies.

Don’t like all the docker containers? We’re avoiding bloated, tightly coupled logic that ignores business domains.

thesmokingman ,

Monoliths are the answer to bad microservices. Microservices are the answer to bad monoliths. It’s all cyclic and four different architects are going to have fifteen different opinions on how your system should be built. Do the thing that makes sense for your team and try to stay flexible.

TexasDrunk ,

All Kubernetes usually leads to huge SRE costs for a tiny app

Hush, I’m working as an SRE and don’t want anyone to figure this out.

thesmokingman ,

Add Istio and no one will be able to fire you without fucking up mutual TLS

docAvid ,

Saying that some projects, at some point in their lifecycle, don’t need certain things, is not saying that those things have no place. Also, if one can’t design a monolith that isn’t bloated and tightly coupled, one definitely has no business designing microservices. Using microservices is neither necessary, nor sufficient to achieve decoupling.

Monolithic services are the ideal way to begin a project, as using basic good practices, we can build a service that does many things with minimal coordination, and as it grows and requirements change or are discovered, we can easily refactor to keep things simple. As the software matures, we find the natural service boundaries, and find that certain pieces would perform better if they were separated out and could scale independently, or act asynchronously. Since we have followed good practices, this should usually be a simple matter of removing a class or module to a new service, and replacing it with a facade, such that the rest of the monolith doesn’t have to change at all.

Midnitte ,

This is more a “I’m gonna stir up some shit on Twitter” post than real wisdom.

Ah, the irony.

MonsiuerPatEBrown , in Bartender Qualifications

people with art degrees are horrified.

stay in your lane, software people!

viking ,
@viking@infosec.pub avatar

I thought art majors are designate taxi drivers.

rgb3x3 ,

They’re the baristas. Because at least they can make latte art while they scrounge for tips from the tip jar.

supercriticalcheese ,

CS is a different art but still artistic

scratchresistor , in Need a rust version too.

Python:


<span style="color:#323232;">from Rescues import Princess
</span><span style="color:#323232;">Princess.rescue()
</span>
bob_lemon ,

map(lambda princess: princess.rescue(), [castle.get_princess() for castle in castles])

scratchresistor ,

Don’t forget to keep your return values…

rescued_princesses = [{“princess”: princess, “rescued”: princess.rescue()} for princess in [castle.get_princess() for castle in castles]]

CmdrKeen ,
@CmdrKeen@lemmy.today avatar

<span style="color:#323232;">from Castle import Princess
</span>

Done

ipha , in The lengths we have to go to

Better than counting curly braces.

cerement ,
@cerement@slrpnk.net avatar

parentheses

30p87 ,

Even vim can show you that
^(fucking nano user)

UndefinedIsNotAFunction ,

There’s a joke here about using echo “some python code” > main.py in here somewhere but I can’t find it. Imagine I did instead.

thanevim ,

Import python.Joke.ShellProgramming()

grozzle ,

“the punchline is clearly trivial, the set-up is left as an exercise for the reader”

Overshoot2648 ,

Obligatory mirco is better.

30p87 ,

Is mirco a little man sitting on your SSD flipping bits manually as you dictate him?

lud ,

No that’s macro. Micro is when small gnomes sit inside your HDD and moving the read/write head around manually.

shotgun_crab ,

Why not both

EvokerKing ,

Because Python uses indentation instead of curly brackets, which is why this meme exists. Also jetbrains ide s like pycharm and webstorm do all of this for you.

mexicancartel ,

Even the mosy basic text editors does indentation for you, not even an IDE needed

EvokerKing ,

Not as good as jetbrains does, it automatically does things like realign when you paste things and lots of little things that improve the coding experience by a lot.

mexicancartel ,

Okay cool!

sentient_loom ,
@sentient_loom@sh.itjust.works avatar

I’ll take the curly braces

TheGreenGolem ,

Me too, any day. I hate everything where indentation matters. Let me just throw my garbage there and YOU sort it out, you are the fucking computer, not me. You do the work.

So fuck you, YAML! All my homies love JSON!

KIM_JONG ,

All your homies hate comments.

nilloc ,

Yeah Yaml is nicer than json, but I’m not into the Python indenting at all.

TheGreenGolem ,

My code also documents itself, of course.

JonEFive ,

I’m here to spread the good word about JSONC. It is the way and everyone should adopt it in place of JSON wherever possible.

wols ,

Yup.

Spaces? Tabs? Don’t care, works regardless.
Copied some code from somewhere else? No problem, 9/10 times it just works. Bonus: a smart IDE will let you quick-format the entire code to whatever style you configured at the click of a button even if it was a complete mess to begin with, as long as all the curly braces are correct.

Also, in any decent IDE you will very rarely need to actually count curly braces, it finds the pair for you, and even lets you easily navigate between them.

The inconsistent way that whitespace is handled across applications makes interacting with code outside your own code files incredibly finicky when your language cares so much about the layout.

There’s an argument to be made for the simplicity of python-style indentation and for its aesthetic merits, but IMO that’s outweighed by the practical inconvenience it brings.

merc ,

But, nobody ever copies code from Stack Overflow!

kameecoding ,

if you have to count the curly braces I understand why you are a python developer

vosjedev ,

yep.

Knusper ,

You don’t usually count them. They just have to form a neat diagonal.

Reptorian ,

Also, highlighted the way you expect when you click next to braces works too.

fidodo ,

Have you tried using an auto formatter? Let’s you write code however and fixes the structure automatically on save. It’s way easier for me to write curly braces then hit ctrl+s than have to select multiple lines manually and tab in and out. I feel the biggest gains I’ve made in productivity came after I learned to embrace tooling.

marswarrior , in Not Mine; Enjoy
@marswarrior@lemmy.world avatar

This is truly the best way to Rickroll someone. We’ve reached new heights. I like it.

phi1997 ,

In a sense, it's the only way

victron , in It always gets me
@victron@programming.dev avatar

All my homies just CTRL+Z

RampageDon , (edited )

Right, this meme is just undo but with extra steps

qaz ,

They probably mean redo, because that is what CTRL + SHIFT + Z and CTRL + Y commonly do.

SatyrSack ,

They tried to CTRL+SHIFT+Z to undo that last word, but that key combo was actually set to export the photo

sep , in It's easier to remember the IPs of good DNSes, too.

I felt dirty! and broke so much shit when i had to implement NAT on networks in the mid 90’s. Nowdays with ipv6 and getting rid of NAT is much more liberating. The difference is staggering!

  • you do not need NAT any longer, firewall is the security, just like on ipv4, just less obscurity.
  • you do not need dns views, to workaround NAT any more
  • you do not need hairpin NAT to workaround NAT any more
  • you do not need to renumber to resize a network. they are always /64, and the answer to how many hosts can it fit is: ALL of them!
  • many ALG’s will be unnecessary since there is not NAT.
  • vpn’s are easier, since it can be the same address both inside and outside the vpn, the firewall (or host even) enforces the encryption.
  • vpn’s are MUCH easier since you will have less rfc1918 collisions due to some other network using the rfc1918 of the vpn’s network
  • vpn’s are MUCH MUCH easier since you will have less rfc1918 collisions due to you using the rfc1918 of the vpn partner network, to 1:1 nat a previous vpn network you collided with some months ago… ARGH!!!
  • vpn are generally less required, heck i swear 95% of the time the VPN are just to workaround the NAT problem and the data is pointlessly double or triple encrypted.
  • you can make more granular firewall rules (eg the spesific host, or network of the source address, instead of the whole enterprise’s public ip) this is real tangible improved security, where any random machine in a network you do not control. do not automatically have openings into your own network.
  • firewall objects can if it is suited easily use and depend on FQDN DNS objects when allowing traffic. reducing the need of coordinating firewall object ip address changes between 15 companies.
  • firewall rules are easier, more readable, and much more predictable how they will work. All the hairpin nat, public to private nat, private to public nat for a thing that need a different public ip, 1:1 nat for a separate zone, NAT to a vpn or 50 (where 10 of them are 1:1 nat due to collisions, making you require 4 dns views of the same ip space!! ) very quickly gets messy and unreadable. this is probably the largest security benefit. just to reduce the complexity.
  • much easier to get people to use dns, since nobody wants to remember ipv6 addresses :D
  • nibbles in the ipv6 address can have meanings you assign to them, making the networks and structure both easy to remember and logically structured.
  • aggregating routes becomes very easy if you design your network that way.
  • firewall policies can become easier if you design your network that way.
  • your routing tables is leaner and easier, and of a better consistency. We have 1 large public ipv6 prefix, but 25ish ipv4 prefixes of all kinds of various sizes.
  • no need to spend $$ to buy even more ipv4 prefixes.
  • no need to have spent hundreds of $$ on a new ipv4 prefix only to be unable to use them for over a year because you need to sanitize the addresses from all the reputation filters. and constantly hound geo ip database providers to update the new country of the prefix. (i am bitter, can you tell…)
  • did i mention no need to renumber since you need to grow the /24 to /23 due to to many hosts in a network ?
  • did i mention no need to renumber 2 /24’s to /25’s to make space for that larger /23.
  • you do not even need any ipv4 addresses any more, use a public NAT64 service, for outgoing. and for incoming just use one of the many free public ipv4 to ipv6 proxies for your services online. for a homelab i really like v4-frontend.netiter.com (go support them) But most large business l networks use cloudflare, or akamai
  • since you do not need your ipv4 address space any more, you can ~~sell them for a profit $$$ ~~ return them to the RIR and give some address space to one of the thousands of companies struggling because they do not have any IPv4 : www.ripe.net/…/ipv4-waiting-list/
  • much lower latency on ipv6, since you do not go across a cloud based ipv4 to ipv6 proxy in order to reach the service ;)

Now the greatest and best effect of ipv6 is none of the above. It is that with ipv6 we have a slim hope of reclaiming some of what made the Internet GREAT in the first place. When we all stood on equal footing. Anyone could host their own service. Now we are all vassals of the large companies that have made the common person into a CGNAT4444 using consumer mindlessly lapping up what the large company providers sees fit to provide us. with no way to even try to be a real and true part of the Internet. Fight the companies that want to make you a eyeball in their statistic, Set up your own IPv6 service on the Internet today !

DogWater ,

Sir this is a Wendy’s

JK that’s a lot of good info

jdeath ,

i got like a third through it before scrolling to the bottom to see how long it was. omg! should be the canonical example of the opposite of a shitpost ha

Mr_Dr_Oink ,

Its as long as an ipv6 address

Tja ,

Con: you are now even more dependent on DNS, increasing the blast radius even more if when it breaks.

sep ,

But DNS rarely break. The meme about it beeing DNS’s fault is more often then not just a symptom of the complexity of IPv4 NAT problem.

If i should guesstimate i think atleast 95% of the dns issues i have ever seen, are just confusion of what dns views they are in. confusion of inside and outside nat records. And forgetting to configure the inside when doing the outside or vice verca. DNS is very robust and stable when you can get rid of that complexity.

That beeing said, there are people that insist on obscurity beeing security (sigh) and want to keep doing dns views when using IPv6. But even then things are much easier when the result would be the same in either view.

Mr_Dr_Oink ,

That beeing said, there are people that insist on obscurity beeing security (sigh) and want to keep doing dns views when using IPv6. But even then things are much easier when the result would be the same in either view.

OMG!!

This guys a bee! Everybody run!!!

Tja ,

I broke DNS plenty of times in my homelab independent from NAT. In the last few months:

  • didn’t turn off DNS server in a wifi router set up as bridged access point
  • dnsmasq failing to start because I removed an interface
  • dnsmasq failing to start because the kernel/udev didn’t rename an interface on time
  • dnsmasq failing to start because hostapd error didn’t set proper interface settings
  • forgot to remove static DNS entries in /etc/hosts used for testing
  • forgot to remove DNS entries from /etc/resolve.conf after visiting a friend and working on his setup

Yes, most of them is my dumb ass making mistakes, but in the end it’s something that constantly breaks and it helps knowing the IP addresses of my servers and routers.

Aditionally, obscurity is a security helper. The problem is relying only on obscurity. But if I have proper firewall rules in place and strong usernames and passwords I still prefer if you don’t even know the IP addresses of my servers on top of that (in case I break some of the other security layers).

BarbecueCowboy ,

If all that is true, then why do I still hate ipv6 so much.

DivineBurke ,

I’d bet it’s this little bugger " : "

It is for me.

Mr_Dr_Oink ,

The : is ok. I dont struggle with the shortening part. I struggle the “everything else” part.

Valmond , (edited )

What is localhost now again…

Edit, remember you could use 127.0.0.1, but then it was changed to like 127.0.0.1…something…ff

So guess I was wrong :-) thanks for the info!

orangeboats ,

::1

Reddfugee42 ,
Thiakil ,

🧓

sep ,

I assume the normal fear of unknown things. It is hard to hate ipv6 once you have equivalent competence in ipv4 and ipv6.

zewm ,
@zewm@lemmy.world avatar

For me is because it’s so fucking slow. As soon as I disable ipv6 on every device it has better speeds.

IPv6 is trash.

efstajas ,

Lol that’s ridiculous. There’s nothing about ipv6 that’d make it any slower

frezik ,

There’s one practical thing. Routers have had years to optimize IPv4 routing, which has to be redone for IPv6. Same with networking stacks in general.

In theory, IPv6 should be faster by not having to do bullshit like CGNAT. There’s every reason to think it’ll match that advantage if we just make it happen.

dan ,
@dan@upvote.au avatar

In the USA, around 50% of Google traffic and 60% of Facebook traffic goes over IPv6. The largest mobile carriers in the US are nearly entirely IPv6-only too (customers don’t get an IPv4 address, just an IPv6 one), using 464XLAT to connect to legacy IPv4-only servers. I’m sure we’d know if routing with IPv6 was slower. Google’s data actually shows 10ms lower latency over IPv6: www.google.com/intl/en/ipv6/statistics.html#tab=p…

frazorth ,

That doesn’t make it “trash”.

orangeboats ,

Tell that to your ISP which has fucked their IPv6 deployment up. In my experience IPv6 is actually faster since it bypasses the IPv4 CGNAT.

On busy days my IPv4 connection can get as slow as 15KB/s, now that’s trash.

dan ,
@dan@upvote.au avatar

Google’s data shows that IPv6 is usually faster. Their metrics show an average of 10ms less latency over IPv6 in the USA and Canada: www.google.com/intl/en/ipv6/statistics.html#tab=p…

lambalicious OP ,

I felt dirty!

“Senpai, route me like one of your French ISPs”

stoy ,

But IPv4 addresses are easier to remember!

/s

I could see a point of having home networks stay on IPv4 and NAT with an external v6 address.

That would keep the current security model for home networks where we can assume general tech litteracy is low.

sep ,

That is not how it works. You can have a home network on ipv6. And it can reach all of ipv4 via nat ( just like ipv4 do today). A net with only ipv4 can not reach any ipv6 without a proxy that terminst the v4 connection and make a new v6 connection. since ipv6 is backwards compatible. But ipv4 is naturally not forwards compatible.

Also it is the default deny of the stateful firewall that always coexist with NAT, since NAT depends on that state, that is the security in a NAT router.
That default deny is not in any way dependant on the NAT part.

stoy ,

Interesting, I thought NAT could handle it…

gamma ,
@gamma@programming.dev avatar

You could still NAT between v6’s though.

sep ,

If there is a ipv6 service online. That you want to reach from a v4 only client. You can set up a fixed 1:1 nat on your firewall where you define a fake internal ipv4 address -> destination NAT onto the public ipv6 address of the service. And SRC NAT64 embed your clients internal v4 into the source ipv6 for the return traffic. And provide a internal dns view A record pointing to the fake internal ip record. It would work, but does not scale very well. Since you would have to set this up for every ipv6 ip.

A better solution would be to use a dualstack SOCKS5 proxy with dns forwarding where the client would use the IPv6 of the proxy for the connection. But that does not use NAT tho.

The best solution is to deploy IPv6 ofcourse. ;)

dan ,
@dan@upvote.au avatar

This is one of the best comments I’ve ever read on Lemmy. Thanks for writing it. I fully agree with all your points!

sep ,

Thank you! :) I also notice i compleatly forgot the port exhaustion issue we see with larger networks behind roo few ipv4 NAT addresses…

GTG3000 ,

Imagine actually having ipv6 available through your ISP.

…and ever if my ISP actually provided one, getting a static one costs money so there’s no difference in the end.

sep ,

I guess I am lucky. 3 out of 3 isp’s available from in my region provide IPv6 with a dhcp-pd assigned stable address by default. (Norway)

GTG3000 ,

Yeah, here in Russia the ISPs and IT infrastructure guys seem to be treating IPv6 like it has cooties. I can’t find an article (and it’d be in russian anyway) but as far back as 2022, if you get IPv6 you can expect a variety of issues with it, ranging from “you need to reboot your router every once in a while” to “you technically have v6 but good luck actually browsing v6 internet”.

And of course, why would they give you a stable IP when they can charge for it :T. At least it’s only a third the price of a stable IPv4.

My current ISP technically provides v6 according to their site - but my connection doesn’t have it, and since there’s nothing about it in the years-old contract, I’d need to redo that if I want to complain.

sep ,

You have my sympathy. I do not know of a sure way to get isp’s to behave. Espesially not if they have regional monopoly

GTG3000 ,

There are usually plenty of choices for ISPs here, actually. But switching between them isn’t likely to give me IPv6 since either they share a magistral or the hardware is just plain old. That, and IPv6 is just not a thing anyone markets.

…and with the current fuckery going on, I doubt many of them have budget for big upgrades. Or maybe even access to hardware to buy.

Kazumara ,

I just get that included. Like the Norwegian guy, but in Switzerland from Init7

chris , in Roses are red, violets are blue, everyone is using IPv6, why aren't you?
@chris@l.roofo.cc avatar

The perpetual chicken egg problem of IPv6: many users don’t have IPv6 because it’s not worth it because everything is reachable via IPv4 anyways because IPv6 only service don’t make sense because they will only reach a subset of users because many users don’t have IPv6…

JovialSodium ,

This sums it up. I’m too lazy and there’s too little incentive.

drkt ,
@drkt@lemmy.dbzer0.com avatar

Yes but IPv4 is becoming expensive and it’s annoying having to use a middleman to clone github repos on a v6-only VPS

IPv6 is not hard, there is no excuse not to have it

krellor ,

I mean, yes and no. For an individual or individual systems? No, it's not hard. But I used to oversee a WAN with multiple large sites each with their own complex border, core, and campus plant infrastructure. When you have an environment like that with complex peerings, and onsite and cloud networks it's a bit trickier to introduce dual stack addressing down to the edge. You need a bunch of additional tooling to extend your BGP monitoring, ability to track asynchronous route issues, add route advertisements etc. when you have a large production network to avoid breaking, it's more of a nail biter, because it's not like we have a dev network that is a 1-1 of our physical environment. We have lab equipment, and a virtual implementation of our prod network, but you can only simulate so much.

That being said, we did implement it before most of the rest of the world, in part because I wanted to sell most of our very large IPv4 networks while prices are rising. But it was a real engineering challenge and I was lucky to have the team and resources and time to get it done when it wasn't driving an urgent, short timeline need.

30p87 ,

Or one could use alternative hosters, or maybe even selfhost git services.

drkt ,
@drkt@lemmy.dbzer0.com avatar

Yeah let me self-host other peoples github repos because github doesn’t have IPv6 lmao dude

30p87 ,

How about “Let me selfhost my own repos, so other people working with my stuff can use IPv6, as well as be sure no large corporation known for being cancer stands behind it and monitors every thing I do.”?

drkt ,
@drkt@lemmy.dbzer0.com avatar

I do 🥰

That doesn’t solve the problem of me needing other peoples githubs repos on a VPS with no v4

takeda ,

If IPv6 is done right you don’t even know you have it. If you use a cell phone or a home Internet, there is a high chance you are already using IPv6.

ryannathans ,

If your ISP supports it

takeda ,

Sure, but my point is that if it is implemented right, you won’t even know you’re using IPv6 until you check network configuration.

Album ,
@Album@lemmy.ca avatar

Honestly this isn’t even true anymore. Most major ISPs have implemented dual stack now. The customer doesn’t know or care because it’s done at the CPE for them.

I use a browser extension which tells me if the site I’m at is 6 or 4 or mixed. In 2024 most major sites support V6. A lot of this is due to CDN supporting it natively.

The fact that GitHub doesn’t is quickly becoming the exception.

serpineslair ,

May I ask which extension you are using?

Album ,
@Album@lemmy.ca avatar

IPvFoo

addons.mozilla.org/en-US/firefox/addon/ipvfoo/

There is a chrome version too.

serpineslair ,

Thanks.

chris ,
@chris@l.roofo.cc avatar

IPv6 traffic is globally steady at around 37%. So it isn’t a majority by far.

Album ,
@Album@lemmy.ca avatar

www.google.com/intl/en/ipv6/statistics.html

Globally it’s at about 47% and growing at about 4% per year. If the rate remains unchanged it’ll be about a decade for >95%.

But the reality of it is, you don’t need global adoption out of the box. You just need majority adoption in the countries you visit, which for me are western countries (north America and Europe) which now have a majority adoption.

chevy9294 ,

I don’t have IPv6, but I can still reach IPv6 only sites if I use MullvadVPN (and probably also with other VPN providers).

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines