Live data from Hacker News

The cloudy layers of modern-day programming

vickiboykis.com

11–20 of 177 posts

Re: The cloudy layers of modern-day programming

#11
post #4

oh yea. using a software framework like django for "rapid application development" gives me a feeling closer to writing configuration files rather than actually "programming" (where "programming" is writing hardcore algorithms). but don't get me wrong, I liked doing that, I got paid to do it. But let's call it for what it is: that python code (django app) was really django framework config. this is a simlar phenomeno…

> they need to be written once

Well, if you were writing abstract pseudo-code, then maybe. In practice, the same algorithms are often reimplemented multiple times.

> and then everybody can use them

ah, if only that were true... implementations are often not that flexible, nor are programmers that keen on utilizing existing implementations.

> this is a giant problem

Problem? To the extent it's true - it's a boon, not a problem. Image if whenever you made a chair - suddenly everyone could get a chair without taking your own chair or spending any time and resources on chair construction. It's a miracle!

> a problem also known as software piracy.

1. Piracy is when people on ships with guns rob other ships. Arrgh, matey!

2. Sharing and copying software or other media is a good thing, not a problem.

PS - I haven't downvoted you. Point taken about django "config-programming".

Re: The cloudy layers of modern-day programming

#13

What scares me about ChatGPT is less so that I’ll lose my job (though it’s possible), but more so that I’ll be using language models to work at higher and higher levels of abstraction doing mainly configuration tweaking. Some of the particular pain points expressed in the article should be removed with AI in the loop development, but it’s another step away from “real programming”, which is what attracted most of us t…

This.

I already started using ChatGPT to solve problems because I can’t be arsed to read through ten vendors worth of documentation. It wrote me a fairly complete and accurate chunk of code the other day to solve a problem.

Re: The cloudy layers of modern-day programming

#14
I think this problem is almost entirely self-inflicted (by either a person or an organization, sorry to people in organizations that do this and who recognize the insanity and are powerless to stop it).

BigQuery and Colab are fantastic tools largely because they allow less technical folks to try things out with very little friction and BigQuery scales to ridiculous amounts of data making formerly impossible queries possible. The example fits neither of these as the author is quite apparently very technical and the data is minuscule.

The author could have applied some economics thinking to this and correctly concluded that they could have run this exploration on a laptop using a regular old file and Jupyter (or just normal Python if they want to avoid the IPython infrastructure). Post-exploration they can run their application on a properly specced VM. IDK if BERT requires a GPU these days or if it can run well enough on a CPU, but either way, these resources are easily available on GCP without all the vendor-ops the author talks about.

To cap things off, the author says at the end that "in no previous universe would I be able to try out Stable Diffusion". Stable Diffusion requires 6 GB of GPU RAM and ~10 GB of storage. That was modest 5 years ago for commodity hardware.

I am not a cloud-decrier by any means, I love the cloud, I use it every day, but most of what I use is basic storage (buckets) and VMs. With just a little bit of abstraction it's easy to make something that runs in the cloud run locally just as easily. That also makes it easier to switch clouds if you find a better deal somewhere else.

TL;DR: use the right tools for the job

Re: The cloudy layers of modern-day programming

#15
post #13

What scares me about ChatGPT is less so that I’ll lose my job (though it’s possible), but more so that I’ll be using language models to work at higher and higher levels of abstraction doing mainly configuration tweaking. Some of the particular pain points expressed in the article should be removed with AI in the loop development, but it’s another step away from “real programming”, which is what attracted most of us t…

This. I already started using ChatGPT to solve problems because I can’t be arsed to read through ten vendors worth of documentation. It wrote me a fairly complete and accurate chunk of code the other day to solve a problem.

I've found it's often like pairing with a junior developer who is familiar with whatever problem you're describing and types insanely fast, and that's without learning too much how best to prompt it. A recent discovery was that you can ask it what problems may exist in its code, then ask it to fix them.

Re: The cloudy layers of modern-day programming

#16
post #15
post #13

Earlier quoted context omitted.

This. I already started using ChatGPT to solve problems because I can’t be arsed to read through ten vendors worth of documentation. It wrote me a fairly complete and accurate chunk of code the other day to solve a problem.

I've found it's often like pairing with a junior developer who is familiar with whatever problem you're describing and types insanely fast, and that's without learning too much how best to prompt it. A recent discovery was that you can ask it what problems may exist in its code, then ask it to fix them.

[deleted]

Re: The cloudy layers of modern-day programming

#17
Do architects reinvent the I-beam every time they design a new building? No, of course not.

The reason society works is because you can reuse abstractions that other people have already invented. It allows you to scale. Without economies of scale, you end up with Baumol's cost disease, which is extremely obvious in the US in industries like child and elderly care.

We don't want most software devs to be doing anything because gluing stuff together. If they weren't, we really screwed up somewhere.

Re: The cloudy layers of modern-day programming

#18
If you feel like "modern programming is boring configuration mess"

then ask yourself - what have you done in order to have interesting job, projects, challenges, etc?

I mean, if you decided at some point that $big_salary for throwing JSONs via REST from CRUD app

is what you want to do until you pay your loans (e.g decade), then it's fine, but don't be shocked that you aren't doing bleeding edge R&D at some fancy place.

Like what prevents you from putting effort for year? two? and switching from X to Y?

Re: The cloudy layers of modern-day programming

#19
post #4

oh yea. using a software framework like django for "rapid application development" gives me a feeling closer to writing configuration files rather than actually "programming" (where "programming" is writing hardcore algorithms). but don't get me wrong, I liked doing that, I got paid to do it. But let's call it for what it is: that python code (django app) was really django framework config. this is a simlar phenomeno…

> they need to be written once Well, if you were writing abstract pseudo-code, then maybe. In practice, the same algorithms are often reimplemented multiple times. > and then everybody can use them ah, if only that were true... implementations are often not that flexible, nor are programmers that keen on utilizing existing implementations. > this is a giant problem Problem? To the extent it's true - it's a boon, not…

well sure, I completely agree that it's indeed a boon. a HUGE boon.

the problem I describe is not a technical one, but a social one. and it's only a problem due to the current way society works. It's only a problem for some people (e.g me); them who are well satisfied by this "status quo" don't see any issue beyond lacking enforcement of IP 'rights' and the need for better DRM, and copy protections, and other things like that.

you're focusing on the technical aspects (plus you seem to be deliberately using the wrong definition of piracy).

I'm talking about the social economic aspects: I'm saying that this boon brought about by digital technology is only benefiting a select few. I tend to think about this 'boon' as potential that we collectively seem to be choosing to forego; I think it's my life's mission to do everything I can to avoid this "foregoing" of the great potential unleashed by digital technology; I feel like I'm swimming against the current most of the time.

Re: The cloudy layers of modern-day programming

#20
post #5

Would you rather do some library gluing, or reinvent a thousand wheels with every project? The latter is neat the first few times. Whatever your preference, your value as an engineer is much higher if you can glue. Imagine if a carpentry workshop gives a carpenter a fully-fledged set of industrial power tools, but the carpenter insists she can recreate all the other tools with just her whittling knife because it's in…

Wheels aren't licensed rather than owned and charged per revolution... yet.
Post reply on HN