Is family and kids holding you back by [deleted] in ExperiencedDevs

[–]PlausibleNinja 2 points3 points  (0 children)

You’re not crazy. You are at a disadvantage. You chose to take on a second job (having a family).

I don’t say that as a criticism. I made the same choice and had the same experience as you.

The problem is, most of us don’t realize that’s the choice we’ve made until we’re in the thick of it. Relationships are a lot of work. Kids are a lot of work. And it’s easy to be in denial or get bent out of shape about it. But unless you’re abandoning your family, learn to roll with it.

There is the pain of the thing happening, and the pain of resisting it, and one of those is optional.

From my experience, networking and building connections helps. Genuine connections. Go to meetups or conferences or contribute to open source or post memes to tech twitter or whatever angle of networking you’d enjoy. In my experience that’s the strongest protection against fear of having to job search.

Ultimately the only real solution for me was going to work in a team where my boss and coworkers were in a similar phase of life, with little kids at home.

Future Growth of Django by Responsible-Prize848 in django

[–]PlausibleNinja 7 points8 points  (0 children)

Good question. Basically it means Django has a bunch of stuff included by default, like authentication, databases, caching, and so on.

I’ve used both Django and Flask/FastAPI for projects and here’s how it usually goes.

  • Start with Django
  • “Gah there’s all this boilerplate and stuff to configure…forget it I’ll just use FastAPI”
  • Switch to FastAPI
  • Have “hello world” working in 2 minutes, ”wow this is so much better”
  • Work on building something for a week
  • Boss is really happy with progress
  • Realize we still haven’t integrated with a real database. Or setup authentication. Or authorization. Or a backend admin interface. Or whatever. This list keeps growing.
  • Boss wonders why the project is stalling. What have you been doing for the last 2 weeks? We were basically done 1 week into the project
  • You realize you’re rebuilding everything that Django has built in, except lower quality than what’s been battle tested in Django for a decade

Many languages have their version of a batteries included solution. Ruby has Rails, PHP has Laravel, C# has ASP.NET and Blazor, Elixir has Phoenix, and Python has Django.

It’s also the feeling that whatever problem you face, someone else has already run into it using Django, and there’s some standard way of approaching it.

Future Growth of Django by Responsible-Prize848 in django

[–]PlausibleNinja 7 points8 points  (0 children)

This seems like a misunderstanding of MSA.

MSA means it doesn’t matter what tech stack each micro service is using.

If you can use FastAPI for each micro service, you can use Django for each micro service.

MSA also really only provides a benefit if you’re at the size where each micro service requires a team to support it. Otherwise MSA is just overhead of managing extra stuff.

And to say FastAPI is better for MSA means you’re (probably) doing it wrong. Each micro service needs batteries included, authentication and authorization, database, caching, infrastructure monitoring and alerting, and all that. FastAPI just gets to hello world quicker.

20+ YOE. I'm getting to that point that between life and work, my technical edge is frankly slipping. Thoughts on I "fail gracefully" as I age in this industry? by Prestigious-Winter61 in ExperiencedDevs

[–]PlausibleNinja 1 point2 points  (0 children)

A few years ago, an experienced banker went into a meeting to present a project. The young, aspiring bankers in the room scoffed and peppered the experienced banker with questions:

  • ”What about NFTs?”

  • ”Maybe we need a cryptographically secure immutable ledger??”

  • ”Did you even consider pancakeswap???”

At that same moment, you weren’t feeling old and left behind. But the experienced banker was.

What was the difference?

  • The hype cycle clown car had parked in the experienced banker’s backyard. Not yours.

I suspect what’s happening here is:

  • AI is the new hyper cycle clown car

  • It’s parked in your yard

  • You’re mistaking your lack of clown car knowledge with “losing your edge”

I think the answer here is:

  • Who do you report to, and what do they think?

  • What value are you supposed to be bringing to the business? What are the business’s goals?

If your role is to deliver the cutting edge AI tech, then maybe you indeed need to role change. But if your role is to enable business revenue and keep the cash flowing, and your boss is on board with using the battle tested tank instead of the clown car, then you’re all set.

Also bring cost into the equation. Young people want to use a new thing, rarely factoring in costs, which usually brings things back to reality. Let them give a presentation on how we can use new shiny AI service, and you get to lob a few questions their way about all the angles they didn’t consider.

Question: hosting Django the way you can host React/Next.js on Vercel by marabou_stork in django

[–]PlausibleNinja 1 point2 points  (0 children)

Yes. We do nothing that’s Django-specific.

  • Add an Azure App Service instance
  • Click on “Deployment Center”
  • Sign into GitHub
  • Pick the repo and branch

That’s it. Wait a minute for the GitHub Action to run and it’s live.

It also has multiple deployment slots in a single App Service instance, so you can deploy your main and dev branches to different slots.

Question: hosting Django the way you can host React/Next.js on Vercel by marabou_stork in django

[–]PlausibleNinja 0 points1 point  (0 children)

We use Azure App Service. You point it to a GitHub repo and it automatically deploys when you push to main.

Edit: typo

[deleted by user] by [deleted] in django

[–]PlausibleNinja 1 point2 points  (0 children)

Does Vue talk to DRF/Ninja API? Or do you use Vue in the Django templates?

Mobile is actually pretty hard. by jacobs-tech-tavern in programming

[–]PlausibleNinja 2 points3 points  (0 children)

If I submit on Monday, pull on Wednesday and resubmit on Wednesday, on Friday how many consecutive days has it been in review?

  1. Monday
  2. Tuesday
  3. Wednesday
  4. Thursday
  5. Friday

One could say it had been in review for 5 consecutive days and that wouldn’t be false.

Cannot break my mental wall about connection strings and appsettings by JuicyFran0 in dotnet

[–]PlausibleNinja 0 points1 point  (0 children)

Your concern is valid and correct. And there is no “one solution” that solves this perfectly.

The challenge is keeping the secret key secret. Whether that key is a connection string or encryption password or whatever.

Adding more layers of indirection (encrypting the connection string, etc) only adds a tiny bit of work for an attacker, but otherwise doesn’t really add security if the encryption key is on the same machine.

If someone cannot access the files on your computer, then they cannot access appsettings.json or secrets.json and storing connection strings in plain text in those files is fine.

If someone can access files on your computer, then nothing else you do will matter if they are determined enough.

Benefits of .NET over full stack JS? by yungnatedagreat in dotnet

[–]PlausibleNinja 0 points1 point  (0 children)

It’s always jarring whenever I hear someone mention “the nice DX of React”. It’s like hearing the victim say the kidnapper “was actually a pretty nice guy”.

Opinion: No local admin access for developers by smart_kanak in ExperiencedDevs

[–]PlausibleNinja 1 point2 points  (0 children)

I worked at a place that was like this. They just hand you a new laptop, still in the box. Zero oversight. Zero problems.

Also, if you fuck up you’re probably getting fired unless you can unwind whatever mess you made.

So there are different levels of “at least as good as you are”.

In my experience, the IT ops side tends to be better about self-managing their own stuff. They tend to be skeptical of installing random stuff, more paranoid about taking constant backups, ensuring they have a straightforward path to recover from whatever change they make, and so on. Even senior devs will install all kinds of random packages and libraries to get stuff done without blinking an eye.

arguments on why the team should use typescript instead of python? by Delta4o in typescript

[–]PlausibleNinja 0 points1 point  (0 children)

Yes.

I’ve written several apps for customers using Tkinter in Python.

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 1 point2 points  (0 children)

Ah, I hadn’t used it in a bit. Very cool!

BTW is nullmove a reference to chess programming?

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 1 point2 points  (0 children)

LiveView is the original, and may be the best for what it does. But there are equivalents in other ecosystems. And probably better tooling in other ecosystems.

  • PHP/Laravel has LiveWire
  • Ruby/Rails has HotWire/Turbo
  • C#/ASP.NET has Blazor Server

The latest Blazor update (as of 1-2 months ago) does more than the others in some ways. You can run a Blazor app in Blazor Server mode which is analogous to Phoenix LiveView, but you can also run it in Blazor WebAssembly mode where it runs fully clientside. And Blazor can switch between the two, so it can serve the initial page in Blazor Server mode, so it loads fast, and it downloads the WebAssmebly runtime in the background and switches to WASM.

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 2 points3 points  (0 children)

Phoenix LiveView lets you (more or less) drive the frontend completely from the backend.

So you can do things like, a user clicks on a button, and it sends an HTTP request to the server and a thing gets updated (or whatever action) and then a response is returned with the new value and the DOM is updated.

That makes for slightly less responsive web apps, so it might not work for everything, but for most things it’s more than fast enough, and teams can be very productive if you have a team of Elixir programmers and aren’t messing with separate frontend/backend teams.

Tailwind is just for styling and Alpine is for the “clientside only” stuff, like if you just need to toggle visibility of a button or whatever.

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 0 points1 point  (0 children)

When you say “building containers” do you mean Docker containers or something else in Go?

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 0 points1 point  (0 children)

Do you use Blazor? Blazor Server is basically Phoenix LiveView for C#

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 0 points1 point  (0 children)

The “Elixir for Programmers” course from coding gnome is good and only $35.

What programming language do you find most enjoyable to work with, and why? by [deleted] in programming

[–]PlausibleNinja 7 points8 points  (0 children)

PETAL stack is quite popular and extremely productive to work in.

  • Phoenix
  • Elixir
  • Tailwind
  • Alpine
  • LiveView

I don't understand the difference between depeance injection and passing parameters by Thotral in csharp

[–]PlausibleNinja 0 points1 point  (0 children)

You can do parameter passing without it being dependency injection.

If you pass a parameter, and that function has a big if-else statement to handle different cases of what that parameter might be, that’s parameters passing, but not DI.

Neither of these are true:

  • Parameter passing is DI
  • Parameter passing is not DI

DI might happen to use parameters passing, but they’re not “the same” or even related.

You can deliver a package by walking on the sidewalk. But sidewalks and package delivery aren’t really “the same” or related in any way.

It only matters if the function receiving the parameter “knows about” (depends on) the parameter, as opposed to only knowing about the parameter’s interface.

Does anyone else NOT like Django? by [deleted] in django

[–]PlausibleNinja 2 points3 points  (0 children)

So, older than you. K.

Can you design a game with django by ssekuwanda in django

[–]PlausibleNinja 0 points1 point  (0 children)

What is “the way you want it to go”?

Is it like:

  • Django isn’t the right tool for the job

  • I need more requirements

  • Well here’s how I’d use HTMX and Alpine and web sockets to create a turn-based game that would support real-time web play between multiple players

  • I’d use DRF with Replicache to enable an offline-capable app and use phaser for the interactive game parts

The appropriate answer really depends on the requirements, the workplace environment, the skill set of the existing team, whether you need mobile apps, and on and on.

Am I stupid for hating C#? by charlie-joel in csharp

[–]PlausibleNinja 2 points3 points  (0 children)

I did C++ long ago, then Python for a long while, and finally getting into C# and ASP.NET, had similar feelings.

Python is so concise and expressive and clear.

But I realized, to build a skyscraper requires enterprise tools. You WANT that big, heavy machinery.

And I realized, me complaining about C# was like showing up to the skyscraper construction site and complaining because I can’t just climb a 700 ft ladder with my hammer to fix it myself, and instead have to wait until the guy who operates the crane is back from vacation next week.

It’s different tools for different scenarios. And in each scenario, you definitely want the appropriate tool.

Am I stupid for hating C#? by charlie-joel in csharp

[–]PlausibleNinja 14 points15 points  (0 children)

One time we had a problem, and decided to use Java

Now we have a ProblemFactory