Earlier quoted context omitted.
Think about that guy who wrote his own operating system as a hobby.
RIP Terry Davis https://templeos.org/
The cloudy layers of modern-day programming
141–150 of 177 posts
Re: The cloudy layers of modern-day programming
#142I work in CS education, and I've often wondered what this means for how we're preparing students. I don't teach frameworks or cloud services (and would be woefully under-qualified to do so), I teach the topics that have long been thought of as "foundational" for moving forward in computer science. The logic I've always clung to is that if students have a strong understanding of how to build things from scratch, they…
In my experience, though, the set of {software development jobs that can be performed exclusively with the notions acquired in CS} is pretty much the same as the set of {boring software development}.
CS graduates tend to work on information systems, and we all know information systems are the epitome of boring software: https://thedailywtf.com/articles/programming-sucks!-or-at-le...
That's why R&D departments are full of people who learned a trade and later taught programming and software development themselves, and the bits with no business value are outsourced to consulting companies.
Re: The cloudy layers of modern-day programming
#143Earlier quoted context omitted.
Going one step further, challenge yourself not to use raw language constructs, but dive deep into assembly. Need a conditional? Time to jump around. I wrote a web server that scales to over 1 million requests per second, and I found out it's much more maintainable, scalable and environmentally friendly for our company.
That sounds like it was a lot of fun but I'm wondering what assembly gave you that was not available in e.g. C? My understanding is that most compilers can out-optimise the average developer, so are you an above-average developer (well I guess you are) or did assembly enable you to do something that was difficult in a higher level language? Or was it more about the challenge (which I'm totally on board with by the wa…
Do you happen to know where (what source) you got that from? I'm genuinely curious, as to my knowledge, compilers are generally still easily fooled by things that causes them unable to vectorize code or factor out conditional jumps.
To give an example here, see Mike Actons' talk below (from about 43:10 onwards) in which he describes the compiler failures.
Re: The cloudy layers of modern-day programming
#144Re: The cloudy layers of modern-day programming
#145Earlier quoted context omitted.
We blaze through those well-worn paths so that we can quickly get back to the interesting things. I orchestrate clusters at a high level and still get to solve difficult, stimulating problems every day. The world of software development is immense. You can treat it like a job, or like a creative path, but to synergize both requires a lot of effort. Complaining that there aren't interesting programming jobs comes acro…
> We blaze through those well-worn paths so that we can quickly get back to the interesting things. I could sign up for that! But what interesting things? That cluster will in nearly all companies just be used for yet another CRUD API supporting yet another social or adware platform. Yawn, please no. If you are aware of companies doing actual intellectually creative programming anymore, please share them. I have no d…
- a multiplayer web VR platform with hundreds of challenging problems across the entire stack
- a AI-powered information engine and ontological system with layered insights
- a multi-platform realtime communications research engine
- a web3 Patreon clone & a web3 universal messaging system
- a decentralized identity management application
- a decentralized, self-managed, open source YouTube/TikTok clone
- three game development competitions
- a novel computer vision research project for a sports company
- a graph-based end-user programmable productivity suite
- Multiple prototypes for new social media platforms
- a collection of web-based precision tools like an archiver, URL shortener, etc.
- an AI-generated blog
- an AI-generated wiki & knowledge base
- a few more things I'd have to think about
I love what I do, I love waking up to code, I love going to sleep thinking about architectural problems. I love spending all day in a deep state of problem solving.
If you have a specific kind of creative programming in mind, I can help you look around for something more fulfilling.
Re: The cloudy layers of modern-day programming
#146That’s really the money quote, right there.
When we depend on the work of others, we also depend on the people and organizations behind that work. You really can’t get much bigger and more solid than Amazon (or Google, who are also infamous for drowning their babies), so “bus factor” is really a meaningless metric, when it comes to whether or not to depend on a service. I've been experiencing rug-pulls for most of my career (I'm an Apple developer, and Apple does this frequently).
I recently had to stop working on the app that I’m developing, and spend a month and a half, writing a new backend server and SDK, because the developer of a server I had depended on, has ghosted our project. I understand why they did it (life happens), but the reasons make no difference. They still ended up leaving us in the lurch. I actually have a huge amount of respect for the author, count them as a personal friend, and sincerely wish them nothing but the best.
That project ticked a lot of Buzzword Bingo boxes: Postgres, postgis, containers, Django, Python, etc. Also, the main author is fairly young.
But it was painfully slow. It was killing our app. It’s entirely possible that we could have sped it up, but it required working closely with the author for a while, and that relationship withered, as noted.
So I wrote my own server, using “boring” tech; PHP, MySQL, etc. It’s lickety-split fast, secure, simple, well-documented, maintainable, adaptable to multiple data inputs (the original server was for a single data source), and doesn’t require a container to deploy. It’s also fairly easy to switch the DB tech, and it can be deployed on a wide range of low-cost servers, which helps, as it’s a free app, for a nonprofit.
I’m not against dependencies, despite frequent sneers and insults, assuming that I’m some “out of touch boomer,” clutching the past. I think that modular software development (a very old technique, by the way) is how we can do high Quality, at scale, and rapidly. In fact, that’s exactly how I work.
It’s just that I tend to write my own dependencies. I have a fair bit of faith in myself.
Re: The cloudy layers of modern-day programming
#147Earlier quoted context omitted.
It’s only a matter of time before someone realizes how helpful a GPS transmitter would be in an exoskeleton for disabled people. Now you have a cloud component.
You know that all GPS transmitters are in space, right? GPS is a unidirectional technology where GPS receivers don't (and can't) talk back to GPS satellites in any way.
Re: The cloudy layers of modern-day programming
#148Like many other commenters (of a certain age?), I too have this unsatisfied feeling about a particular kind of modern software development. The kind where you never really dig down and design anything, you just plumb a bunch of stuff together with best practices you find on stack overflow. Many commenters are attributing this problem to the modern high-level tools we now have access to. But I don't think this is the…
A side effect of this is that almost all job position advertisement are disgusting to look at. They are all about this kind of mindless glue code programming, but wrapped in marketing speak to make it look like "you get to use awesome bleeding edge latest technologies" when in reality it is "you have to figure out how to configure 10 different things to work together to sort of kind of produce the intended behavior".…
They basically test for distance from school, and not much else, as the algorithms aren’t really reflective of real-world work, which, as the article states, is really fairly simple “glue,” binding together prefab sections.
If someone is good at, and energized by, writing “from scratch,” and "learning the whole system," then they are actually not what you want. You want people that are good at rote, can learn fairly shallow APIs quickly, and are incurious as to why things work.
Re: The cloudy layers of modern-day programming
#149Earlier quoted context omitted.
That sounds like it was a lot of fun but I'm wondering what assembly gave you that was not available in e.g. C? My understanding is that most compilers can out-optimise the average developer, so are you an above-average developer (well I guess you are) or did assembly enable you to do something that was difficult in a higher level language? Or was it more about the challenge (which I'm totally on board with by the wa…
> My understanding is that most compilers can out-optimise the average developer Do you happen to know where (what source) you got that from? I'm genuinely curious, as to my knowledge, compilers are generally still easily fooled by things that causes them unable to vectorize code or factor out conditional jumps. To give an example here, see Mike Actons' talk below (from about 43:10 onwards) in which he describes the…
Re: The cloudy layers of modern-day programming
#150If 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 plac…
This thousand times for all the whiners. Learn an esoteric skill, get hired for esoteric job.