- Joined
- Dec 12, 2022
On the topic of SQL: I highly recommend reading SQL Performance Explained which is available as a free e-book. It's a great resource for anyone working with databases.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
First is trying to define DevOps. If you're not part of the grift it's sort of meaningless, much like "Site Reliability Engineer".Anybody here in Devops? Where's a good place to start?
I want to do an automated deployment of a Docker container in AWS containing an API service using PostgreSQL.First is trying to define DevOps. If you're not part of the grift it's sort of meaningless, much like "Site Reliability Engineer".
You have developers who know how computers work, or sysadmins who know how to do development.
From the very start most sysadmins have to write at least some automation code, now that's called DevOps. Using tools like Puppet, Ansible, Salt, Terraform, etc. Often with git repositories holding the code and sometimes with automated testing and deployment pipelines.
For the developers it's adding all the automated testing and deployment pipelines and understanding how their code is deployed out to the actual systems and how it works at scale.
In the past, developers often wrote code and simply tossed it over the wall and looked confused when told "we tried to scale this past 2 users and it didn't work".
Sysadmins looked confused when told "Check your scripts into Git so your coworkers can find them and reuse them"
Technically my current job is DevOps. Which means I write horribly complicated code to do systems/network/storage/cloud automation, I come from the sysadmin side which also means when they break I get to figure out why and how and fix them too.
Have you considered taking up drinking? Drugs?I want to do an automated deployment of a Docker container in AWS containing an API service using PostgreSQL.
Sounds like a plan! I'll do things manually first, then I'll use the AWS tools to build it up. Thanks, bro!Have you considered taking up drinking? Drugs?
It's really just 2 steps:
1. Figure out how to do it by hand.
2. Automate it.
First figure out which of the bunches of container options you want to use. You might be able to use Lambda if it's simple. Maybe Lightsail, Fargate, maybe full ECS or EKS or run your own using EC2.
Then once that's done, automate it. AWS has their own automation tool called Cloudformation. It sucks.
Maybe Terraform. It has resources for Lightsail which looks like the easiest, most handholdy option. But TF handles almost all AWS products. Terraform has a ton of sample code on the internet which makes it a decent choice in my mind.
If you look at its actual scores in things like leetcode and codeforces, GPT-4 is pretty bad. Apparently last Advent of Code someone tried to do it just using AI and didn't even make it past day 4. The LLMs are really good at dealing in small snippets of fairly well-known code, but I imagine they'd shit themselves once you start going beyond a few hundred lines of code.Since this is one of the few out-of-the-way, non-pozzed corners, I have to vent:
I'm fucking sick of all the fearmongering/ballwashing/bullshit everywhere about GPT-#/LLMs. Every fucking comment section of the internet is filled with retards saying "oh wow, I'm a comp sci major in university and now my job is gonna be redundant lol".
It's such horseshit hype by people who don't even understand how much marketing and hand-tuning is going on behind the curtain on these things. Or they haven't messed with it enough to notice the recurring patterns and issues. People perpetually over- and under- estimate shit in tech. And people see this very polished, extremely marketed product and actually think LLMs are achieving something akin to AGI (which isn't even theoretically possible given our current knowledge). That's my rant, at least.
If you want to make desktop apps, learn Windows Forms. If you want to write web services or web apps, ASP.NET. Choosing the latter will probably end up taking you down the LINQ rabbit hole anyway.Well boys I finally finished learning the basics of C#. But now Im not sure where to go, I have 3 options: Windows Forms, LINQ, and ASP.NET. Whats the order I should learn them in?
LINQ is basically syntax sugar, the other two things are (roughly) frameworks. What are you seeking to do by learning this stuff. Is it general interest, a job, or are you looking to actually build a software product or website?Well boys I finally finished learning the basics of C#. But now Im not sure where to go, I have 3 options: Windows Forms, LINQ, and ASP.NET. Whats the order I should learn them in?
Precisely. It's great at writing "hello world" type programs when you aren't familiar with APIs, and because I have to work with a diverse range of technologies it's a game-changer for me personally. It also knows about some older APIs which are difficult to find meaningful documentation for. It does however just make up API methods that would be very convenient if they existed, but just don't.I'm fucking sick of all the fearmongering/ballwashing/bullshit everywhere about GPT-#/LLMs. Every fucking comment section of the internet is filled with retards saying "oh wow, I'm a comp sci major in university and now my job is gonna be redundant lol".
If you stick with .NET Framework (4.x) then this is legacy and used for older programs. I would not propose any new programs be based on this framework unless you have a strong technical reason for it.1.Is C# an outdated language? Do companies still use C# to write desktop applications and use ASP.NET for websites? If I’m understanding what you guys are saying it’s only used to maintain old programs right?
It's a bit like training at the gym. If you stop doing bench press for a year, you'll suck at bench press when you return, but because you knew how to do the exercise once, you'll very swiftly be back at your original form and strength, compared to learning it the first time around.2.I want to learn html css and JavaScript to make websites. I plan on using C# to deal with the backend stuff. The only thing I’m worried about is forgetting C# while learning these new languages. How do you guys learn new languages while still remembering the old ones?
I understand the current .NET world technology is MAUI, but I don't have experience with this so couldn't tell you precisely what it's like. Typically most business applications are web apps unless there is a specific pressing reason for them to not be. I propose ignoring this for now and focusing on web applications as that's where the work is.3.@Cold Root Beer you say windows forms is outdated for making desktop apps is there another program or way that is up to date that more people in the industry use?
Ok, to go through your questions:Thanks you so much @Cold Root Beer and @Fcret for answering my questions I have a couple more if you don’t mind.
1.Is C# an outdated language? Do companies still use C# to write desktop applications and use ASP.NET for websites? If I’m understanding what you guys are saying it’s only used to maintain old programs right?
2.I want to learn html css and JavaScript to make websites. I plan on using C# to deal with the backend stuff. The only thing I’m worried about is forgetting C# while learning these new languages. How do you guys learn new languages while still remembering the old ones?
3.@Cold Root Beer you say windows forms is outdated for making desktop apps is there another program or way that is up to date that more people in the industry use?
In my personal experience, Microsoft pushes Blazor and MAUI, but everywhere just ignores them and uses whatever their preference of desktop webstack if they really need a locally installed version. Which 95% of the time means Electron with React.I understand the current .NET world technology is MAUI, but I don't have experience with this so couldn't tell you precisely what it's like. Typically most business applications are web apps unless there is a specific pressing reason for them to not be. I propose ignoring this for now and focusing on web applications as that's where the work is.
It's probably for the best.If you look at its actual scores in things like leetcode and codeforces, GPT-4 is pretty bad. Apparently last Advent of Code someone tried to do it just using AI and didn't even make it past day 4. The LLMs are really good at dealing in small snippets of fairly well-known code, but I imagine they'd shit themselves once you start going beyond a few hundred lines of code.
Anybody here in Devops? Where's a good place to start?
Thanks you so much @Cold Root Beer and @Fcret for answering my questions I have a couple more if you don’t mind.
1.Is C# an outdated language? Do companies still use C# to write desktop applications and use ASP.NET for websites? If I’m understanding what you guys are saying it’s only used to maintain old programs right?
2.I want to learn html css and JavaScript to make websites. I plan on using C# to deal with the backend stuff. The only thing I’m worried about is forgetting C# while learning these new languages. How do you guys learn new languages while still remembering the old ones?
//collection interface
interface SpatialIndex<T, U> {
function add(item: T): U;
function update(item: T, data: U): Void;
function queryBox(box: Box): Array<T>;
}
//concrete class implementing it
class UniformGrid<T: Indexable> implements Partition<T, UniformGridIndexData> {
function add(item: T): UniformGridIndexData;
function update(item: T, data: UniformGridIndexData): Void;
function queryBox(box: Box): Array<T>;
}
//here's how it's used
var broadphase = new UniformGrid<Body>();
var items: Array<Tuple<Body, UniformGridIndexData>> = [];
for(i in 1...10){
var body = createRandomBody();
var data = broadphase.add(body);
items.push({a: body, b: data});
}
I expect that UniformGridIndexData and QuadtreeIndexData represent the same fundamental idea to want to use them interchangeably in this way, so perhaps they are united as an interface or base class, say AbstractIndexData?More concretely speaking, I want to implement different types of broad phase collision detection, I store all my objects in an array along with index data, but if I wanted to swap uniform grid for quadtree, I'd have to replace all UniformGridIndexData for QuadtreeIndexData, how do I avoid that?
Others already got in with the good metaphors, but you don't really forget. You will get rusty, you will forget keywords and syntax, but it doesn't take long to reorient yourself thanks to prior familiarity and the underlying concepts remaining the same. Plus the internet is your friend; Stack Overflow and W3School are lifesavers half the time.I want to learn html css and JavaScript to make websites. I plan on using C# to deal with the backend stuff. The only thing I’m worried about is forgetting C# while learning these new languages. How do you guys learn new languages while still remembering the old ones?
I mean this would be less of a problem if they were capable of learning (it ain't so).It's mind blowing how inept they are all while saying they can do anything anyone asks of them. They will say they know languages while having never heard of them.