So far my experience with ai is it cannot evaluate the quality of the data it uses to any significant degree. As such it can summarize which is convenient for searching and give examples but ultimately you have to correct its mistakes and know enough to do so. There is some savings for a programmer in the sense you might be able to get some rough scaffolding and its a bit eaiser to identify relevant search links but I don't see it replacing developers. It definitely allows one to do more though or even increase the quality. One really great thing it can do is auto commenting of the code which does not need as much improvement as actual code and makes it more likely for you to do the task (both because it does it and because it causes you to go. no don't explain it like that). Is similarly helps with documentation. I doubt it could more than double productivity though. At least as how it stands now. Im not sure it can do much better without becoming general ai.
One really great thing it can do is auto commenting of the code
But then it only comments the ‘what’, it cannot possibly know the ‘why’. I know, some devs disagree on that, but personally, I would rather not have what-comments in my code.
Probably a basic way to evade spam detection. If you start sending the exact same message to 500 people, most chat services will shut that shit down in an instant. But if you send unique messages, it makes you look more like a real person, and the chat system may let it slide.
What’s bad is that modern spam detection can employ semantic algorithms so it would still catch all of them as the I’m as message. The use of synonyms in the optionals is a huge vulnerability in the scam.
My guess would be the response text is passed through a rudimentary templating engine that looks for { and }. Somehow it must be processing the whole chat history. The templater fails at the unexpected braces in the code block and then just gives up (probably a try-catch ignores the error and sends the message anyway).
I don’t think the code is doing anything, it looks like it might be the brackets.
That effectively the spam script has like a greedy template matcher that is trying to template the user message with the brackets and either (a) chokes on an exception so that the rest is spit out with no templating processor, or (b) completes so that it doesn’t apply templating to the other side of the conversation.
sometimes, it feels like managers hate engineers, and are constantly plotting their replacement. maybe its because it hurts their ego to know that the engineers they manage worked harder to get there and deserve a higher salary.
or else, it could be office politics. anyone who can claim to have removed an entire department from payroll is due a huge raise.
I don’t think it’s just managers saying hey we could automate such and such a thing away. It’s human nature to think “how could I improve this” which almost immediately leads to “if I get this right it could mean no work at all”
Every business’s biggest expense is labor. Skilled labor costs more. The people in charge like it when you save money.
I think it’s wrong. But only because the interests of the people who own the machines and businesses diverge from the worker’s interests. I’d like to see more worker cooperatives. If the workers own the machines, then it’s good when things are automated.
I also don’t believe anything will ever be truly automated, or that it’s a good idea to try.
All that to say we don’t have to resort to an explanation of “managers must hate engineers” to understand why they would want to eliminate positions.
They hate engineers because the engineers ask difficult questions that somebody needs to answer in order to really automate a process, and they take the time necessary to do so.
Yeah, I’ve been nursing one of these projects for a while…
Initially it started out as an autohotkey script, because I’m not a programmer, I’m a filthy windows engineer.
Then I tried rewriting it in Powershell because I wanted to own the code (v1 was written on work time, so they provably own it), and have it in something slightly less arcane (!). That was not a great choice of languages, but I’m still not ready to learn a real one, yet.
There’s surely some head banging roflcopter in there - I’m still not sure I’ve tested all the scenarios, but I just don’t have the emotional energy to wade through it (and my client can’t even use the new version, I’m not sure any others would care).
We all have one. I’m also not a professional programmer but I have stuff like this for my home automation that I know I should really clean up but it works so I don’t want to mess around and break it.
Rational Rose etc. could generate code from UML diagrams, then you “only” needed architects.
In reality it only gave a little help during the design phase, as soon as someone touches the generated code, you have to manually merge changes to UML.
It’s really weird, though, that nobody really created a language/tool to bridge these two world. It’s always just generating one representation from the other, mostly in a bad way.
I’d argue, that for many problems, a graphical view of the system can help reasoning. But there simply is nothing in that regard.
For OOP languages, you can definitely get IDE plugins, which create UML from code.
Personally, I’ve never found them useful, though, partially because our code was never OOP enough, e.g. we were using the actor pattern, or had important modules with functions, or had lots of small classes for handing data around etc…
But also because it just makes for bad architecture diagrams.
It has no sense of what’s important and what should be abstracted away. Or how to structure the diagram to make it readable, e.g. REST API at the top, database at the bottom.
What I also really don’t like about generated architecture diagrams in general (even when the contents are specified via e.g. PlantUML), is that things jump around every time you make a structural change. This means people looking at the diagram have no chance of learning what it looks like, so they can spot changes or know where to look for what they’re interested in.
Reassignment isn’t the same as mutation. But mutation depends on the type of value. If gender was a string like “female” it wouldn’t be mutable cuz strings are immutable in JS.
var isn’t global unless it’s not inside a function. var is just function scoped, with declaration auto hoisted to the beginning of the function. let is a little more intuitive since you can’t refer to it before it’s been declared and has block scope rather than function scope.
Kind of. With hoisting, the compiler/interpreter will find variable declarations and execute them before executing the rest of the code. Hoisting leaves the variables as undefined until the code assigning the value to the variable is executed. Hoisting does not initialize the variables.
For example:
console.log(foo); var foo; //Expected output: console logs ‘null’
console.log(foo === undefined); var foo; //Expected output: console logs ‘true’
This means you can essentially write your code with variable declarations at the end, but it will still be executed as though the declarations were at the beginning. Your initializations and value assignments will still be executed as normal.
This is a feature that you should probably avoid because I honestly cannot think of any good use case for it that won’t end up causing confusion, but it is important to understand that every variable within your scope will be declared at the beginning of execution regardless of where it is written within your code.
The earliest I can think of (from personal experience) is 4GL languages; the early low-code platforms that first started to get traction in the early 80s. They wouldn’t have replaced programmers but some thought/hoped they would usher in an age of “low skill” programmers that companies could get away with paying minimum wage to.
Oh yeah, low-code platforms in general are pretty much always a thing, in every industry for various tasks.
I’ve also never seen any of them that were not horribly abused with ridiculous workarounds or custom code snippets, which effectively made them as complex as a real program.
programmerhumor
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.