• 2 Posts
  • 12 Comments
Joined 1Y ago
cake
Cake day: Oct 14, 2023

help-circle
rss

I was really hoping there was something like hamachi/xfire/garena from the old days but modernized and more stable 😅 I just assumed it’d be a solved problem by now.

I’m not giving up on tailscale yet, I’ll try the funnel feature but yeah… seems a bit troublesome for sure


Thanks for linking that, seems like a great resource! Seems like there’s a few that support UDP although I’m not sure if they will work with a CGNAT setup, also their setup seems a bit more complicated and technical than expected but I need to look more into it tomorrow. If everyone else needs to have this installed then that might be an issue


Need help understanding how to get around port-forwarding with tailscale
I don't have access to my router and my ISP charges for port forwarding (I think they might have a CGNAT setup?). I'm trying to work around that since I want to start hosting some apps and game servers from my PC. I'm seeing a lot of talk about tailscale as a possible solution to this but honestly I'm a bit confused with all the options and whether this is actually the proper tool for the job. Assuming it is, do I go the route of setting up a "tailscale funnel" or a ["subnet"](https://tailscale.com/kb/1019/subnets)? Will other people have to install tailscale too if they want to join my servers? People also mention Netmaker or Cloudflared Tunnel, although it also seems like cloudflare doesn't want their tunnels used for game and media traffic? The more expensive option I guess would be just paying for protonvp premium since it offers port forwarding in that case, but I'm not sure about performance and whether it's worth it, at that point I might just rent a server instead. Hoping you folks at self-hosted have more ideas on how can I, well... self host instead of throwing money at the problem.
fedilink

I only have half as much experience as you, and none with Go specifically, so I can’t give you any good answers but I can say I empathize - the company I work at is also stuck with a legacy monolith that’s still on .net framework and everything is so coupled that it’s impossible to even unit test, less alone deploy the projects separately. Some people aren’t bothered even with the basic principles of code writing and the senior people are just overworked and can’t keep tabs on it even if they wanted to.

The worst part is that the company is mostly either juniors just doing what they are told or older seniors that are stuck in their ways and are afraid of anything new - although as I got older I started to see why that might be the correct approach, not everyone wants to learn and adapt to new tech and it’s a big ask of the upper management to risk it on that. Basically we’re just repeating the same mistakes and wasting time fixing known errors that keep happening and any actual improvement or proper removal of tech debt never happens.

So yeah… I’m starting to believe that “clean good code” only happens either in hobby projects or new startups. Any larger, “stable” codebase of a larger company is going to be an inefficient mess however 🤷‍♂️


I agree completely. The discussion was what we replace English with however.

I’m not in favor of replacing English, I’m just saying if we want an alterantive I don’t want it to be a nation-specific language again, so to speak.


It’s a neutral, easily accessible language. Having it in programming could incentivize more people to learn it as well.


I’m not disagreeing outright but… Why do we need more non English programming languages? Is there a specific practical reason?

The only language translation I’d maybe consider to accept in programming is Esperanto. Anything else just sounds like a terrible idea.


I use the CLI for simple commands, especially if helping someone on another PC and I don’t have access to my preferred tool, but I honestly don’t get people who use it religiously and never even try tools with GUIs. The convenience of being able to easily see the commit history, scroll through it, have a right click context menu or ability to just click it and see file changes (and then right click those files for additional options), is just something I can’t abandon. Nowadays even the aliasing can be replicated in those tools if they support creation of custom commands so even that is a moot point - with some setup you can be as fast as with a CLI.


Hmm, having googled very superficially about django and flask, it seems to me like the state (at least today) is the opposite - flask is lightweight and django is more heavy duty, having a built in ORM layer, authentication service, admin interface, db migration framework, etc.

To be fair the article also says Django is known for its performance but when I googled that the other day, it looked like it was often near the bottom of the chart rather than top… I guess it really comes down to personal preference in the end 🤷‍♂️


Was there a noticeable performance improvement on flask or what kind of features did you need that django didn’t provide? I’ve always used bigger enterprise frameworks for webapps and only recently started looking into Django for smaller personal ones so I’m wondering what are the differences


Thanks for the book recommendation, I’ll definitely check it out! The course sounds really helpful as well, I imagine there are many remote classes like that nowdays or as part of learning sites like pluralsight so that might be worth checking out. If there’s one conclusion I got out of this thread so far is that it is pretty much something you have to learn and practice in advance and then hope to use appropriately, there’s no sure-way or easy way of finding a pattern once you’re already faced with a problem.


Seems like on one hand, programmers (online at least) are really against being questioned during interviews about whether they “live the code” and spend their free time on contributing to other projects or developing their own, but if this is really the only way to learn stuff like that then maybe they have a point. I was hoping there’s a better way but I guess it’s the same as always - work enough and hope the stuff you learn ends up being useful one day…


Maybe I’m using the word pattern wrong but I meant like builder, factory or visitor pattern, but on a more wide scale also stuff like dependency injection / IoC - basically “techniques” that are not bound to a specific language but rather provide a design by which some things can be accomplished better. Afaik those are not related to specific languages


How do you improve your “pattern application” knowledge?
I see this often with both new and old developers, they have one way of doing a thing and when presented with a new problem they will fall back to what they are used to even if it's not the optimal solution. It will probably work if you bruteforce it into your usual patterns but sometimes, a different approach is much easier to implement and maintain as long as you are willing to learn it, and more importantly - know it exists in the first place. On a less abstract level, I guess my question is - how would I go around learning about different design patterns and approaches to problem solving if I don't know about their existence in the first place? Is it just a matter of proactive learning and I should know all of them in advance, as well as their uses? Let's for example say I need to create a system for inserting a large amount of data from files into the db, or you need to create some service with many scheduled tasks, or an user authentication system. Before you sit down and start developing those the way you usually do, what kind of steps could you take to learn a potentially better way of doing it?
fedilink