![](https://programming.dev/pictrs/image/9de36669-449a-4be0-8e8f-8409552a6c64.png)
![](https://programming.dev/pictrs/image/170721ad-9010-470f-a4a4-ead95f51f13b.png)
Cowboy Programming:
PO: Hey we want to go to Mars
- 3 weeks of silence -
Developer: Hey I’m there, where are you?
Cowboy Programming:
PO: Hey we want to go to Mars
- 3 weeks of silence -
Developer: Hey I’m there, where are you?
Yea, I wasn’t saying it’s always bad in every scenario - but we used to have this kinda deployment in a professional company. It’s pretty bad if this is still how you’re doing it like this in an enterprise scenarios.
But for a personal project, it’s alrightish. But yea, there are easier setups. For example configuring an automated deployed from Github/Gitlab. You can check out other peoples’ deployment config, since all that stuff is part of the repos, in the .github
folder. So probably all you have to do is find a project that’s similar to yours, like “static file upload for an sftp” - and copypaste the script to your own repo.
(for example: a script that publishes a website to github pages)
I suppose in the days of ‘Cloud Hosting’ a lot of people (hopefully) don’t just randomly upload new files (manually) on a server anymore.
Even if you still just use normal servers that behave like this, a better practice would be to have a build server that creates builds, like whenever you check code into the Main branch, it’ll create a deploy for the server, and you deploy it from there - instead of compiling locally, opening filezilla and doing an upload.
If you’re using ‘Cloud Hosting’ - for example AWS - If you use VMs or bare metal - you’d maybe create Elastic Beanstalk images and upload a new Application or Machine Image as a new version, and deploy that in a more managed way. Or if you’re using Docker, you just upload a new Docker image into a Docker registry and deploy those.
Hmm, well the first round(s) are doable for beginners. If you want to get into programming, these kinda games are a good way to start, since you’re getting visual feedback of what your bot is actually doing.
And you can participate in loads of languages, so you can pick anything that you’re somewhat familiar with.
However, once you’re getting into higher rounds, ranks, and leagues, you’ll be playing against other peoples’ bots. So obviously if you have 0 experience it’ll be way harder to beat people with loads of experience, that understand which algorithms are suitable etc.
But I’d say go ahead and try it out. Its free. Maybe it turns out to be too difficult, maybe you’ll manage.
Chaotic neutral: If you complain a lot and keep saying your ticket has high priority, you’ll automatically have lower priority than the guy that doesn’t really care when I do something
The amount of times I’ve been alerted in the middle of the night because CPU was running high for 5 minutes is too damn high.
I’d suggest to just set up automatons to fix those things automatically. Lets say 80% CPU for 5 minutes it too high. Ok, add an auto-scale rule at 65% CPU for 3 minutes to add an extra node to the cluster to load balance the CPU load
It’s like we’re trying to prevent outages by monitoring for potential issues rather than actually making our system more robust and automate-able.
Like it sounds like you’re saying the issues are caused by systems not being robust and lack of automation… If they’re this scared of outages and breaking SLA, they should work on having less outages, or having fall-backs when they occur.
But it could get pretty difficult to get management to do this kinda things from random suggestions from some SRE. I’d probably talk with the team-lead about this, and other people in your team, cause you’re probably not the only one with these issues. And then have a meeting with the entire dev/SRE team and management to point out it’s not sustainable the way it’s going, and with suggestions to improve it
Just wait until she learns child processes get aborted
No. I know this because a couple of times my license expired, and 30 days before it does you’ll just get a little warning in the IDE - or in tools like Resharper. After that it just stops working.
Sure, but testing usually purely relies whether your assumptions are right or not - whether you do it automatically or manually.
Like if you’re manually testing a login form for example, and you assume that you’ve filled in the correct credentials, but you didn’t and the form still lets you continue, you’ve failed the testing because your assumption is wrong.
Like even if the specs are wrong, and you make a test for it, lets say in a calculator Assert(Calculate(2+2).Should().Equal(5)
- if this is your assumption based on the specs or something, you can start up the calculator, manually click through the UI of the calculator, code something that returns 5, and deliver it.
Then once someone corrects you, you have to start the whole thing over, open up the calculator, click through the UI, do the input, now it’s 4, yay!
If you had just written a test - even relying on a spec that was wrong, it’s still very easy to change the test and fix the assumption.
Also, lets say next sprint you’ll have to build a deduct function in the calculator, which broke the + operation. Now you have to re-test all operations manually to check you didn’t break anything else. If there were unittests with like 100 different operations, you just run them all, see they’re all still good, and you’re done
Is it Java? It looked like Microsoft Java C# to me…
public static void Main(string[] args)
{
var meme = new Meme();
var joke = GetTheJoke(meme);
}
public static Joke GetTheJoke(Meme theMeme)
{
var memeType = typeof(Meme);
var jokeField = memeType.GetField("Joke", BindingFlags.NonPublic | BindingFlags.Instance);
return (Joke)jokeField.GetValue(theMeme);
}
Java makes things run in a VM
Docker makes things run in a VM
Virtualbox makes things run in a VM
Why did we need any of those things, should have just put everything in Java instead right 🙃
Why would they? WASM is Web-Assembly, so Assembly is a lower level language than Java.
You can use C# WASM through Blazor, and Java WASM though JWebAssembly. WASM as core is supposed to be language agnostic. So If you want a JVM in WASM you can build it on top of it
On the other hand, when my IDE doesn’t tell me:
Build Server: “BUILD FAILED! SonarQube says that Roslyn says that you’re not using one of your variables!”
Yea okay calm down, and why are you snitching now, Roslyn? Should have told me directly 🙃
StackOverflow: Question closed as duplicate. Someone else already asked whether or not something is a nut.
Hahaha that’s what frontend devs think
Hahah, well as a primarily backend developer, that’s what I think as well.
“Just make this button work”
If that button doesn’t work, that sounds like a frontend problem to me… ;)
But yea, as you mentioned, it probably comes down to experience. As the meme from this post depicts. When I dabble in frontend and make a WinForm for my devtool, people just look at me and are like “Uhhh, can you make it better?”
No sir, clearly I can not. And I have no idea what you mean with “better”.
Yea, fair enough. My point was mostly: backend requirements are usually at least objective. “Json xml comes in”, “CSV goes out by email”, “The request must be processed under 100 ms”, “API should not return 400 on feetpics” - these are still mostly objective requirements.
Frontend requirements can be very subjective “The user should have a great user experience with the frontend”
Backend Requirements: “When x,y goes in, I want x+y to come out!” - Okay
Frontend Requirements: “Well it needs to be more user-friendly, and have this rockstar wow effect” - Yea wtf are you even talking about? You want me to add random glitter explosions, because I found a script for that, that’s pretty ‘wow effect’ right?
What if you do it ironically? Like calling yourself a Code Ninja Jedi 10x Rockstar 🚀?
Ok, sure. So in a tech race, if energy is a bottleneck - and we’d be pouring $7tn into tech here - don’t you think some of the improvements would be to Power usage effectiveness (PUE) - or a better Compute per Power Ratio?
Yea, should have been
V-00000000-0000-0000-0000-000000000008
instead