• 3 Posts
  • 16 Comments
Joined 1Y ago
cake
Cake day: Jul 22, 2023

help-circle
rss

🌶️🥵Many people consume Facebook meta company’s tech stack wholesale, don’t know how to actually traditionally program their way out of a paper bag, and web dev and devops caused a massive layoff (250k people) at the end of 2022, start of 2023 because it was all vaporware. They consume the same software in droves if the other guy uses it.

There is an entire subculture around it that is just a bunch of medium.com writers, YouTubers and twitter handles just trying to get the clicks for their ad money. Some of these guys have never written valid software or done anything noteworthy. If you meet them head on you’d find they have enormous egos and can’t find a counter argument when presented with reason.

I’ll even add on that there are many programmers who don’t know how to code outside a web app.

Why is something like [react, graphql, react ssr, devops, tailwind, unit tests, containers] vaporware?

  • there are other frameworks even with component libraries that are easier to read the code for large codebases, better maintained, and have cohesive full stack solutions, and even faster to develop in, to name one quasarJS or even just plain ecmascript
  • if you look at the anatomy of these enterprises using these solutions they’ve evolved to have micro front ends requiring armies of workers.
  • devops is a sales term, the actual implementation of it is so contextual that you’d probably find you don’t need a full time job for it half the time and most are relatively easy to setup inside of a business quarter
  • not everything is Facebook scale: unless you’re padding your resume why did some of these get adopted? How complicated does your app need to be? Did you really need to transpile JavaScript for it?
  • unit tests were code to test your code that you’re going to have to functionally test anyways: you’re telling me that you have to write your code…twice? How the hell did this ever get justified to mangers? Why did the culture not evolve into literal automated smoke tests of the actual builds, instead of testing whether a function that is probably type annotated is going to fire anyways???
  • docker/containers suck ass: great that they solved a problem but created a whole new one. we moved to python and JS which were JIT without artifacts and suddenly everything needs a generalized build system to run it. C lang variants and Rust lang compile to a binary you can just run… Ship the small ass binary not an entire container to run your shitty web app

You know the stuff I don’t hear about?

  • Javascript and Python were steps in the evolution but never the end goal. I’d even say the same of java. There are new solutions but JavaScript in the browser especially should be replaced.
  • eye appeal is buy appeal
  • that eye appeal shouldn’t always mean you need to use a library or framework; vanilla apps work okay too.
  • binaries/artifacts/installer packages > containers
  • automated testing of the actual end product
  • well written logging to the point someone can tell what the application was doing without seeing code
  • using all these compsci algorithms to actually write new products and searches from scratch instead of being a framework baby: do you actually need ELK or Splunk for your search? Really?
  • you probably don’t need MySQL for a lot of projects, I bet you an async library with sqlite would be the same for many of these projects.
  • small teams with feature rich apps using SSR, the value of an SSR web app
  • the value of a SPA
  • the value of traditional desktop software and not using REST APIs

No. They’ll just name an entire lineup of the worlds biggest computers after your daughter.


“I archived them all Padme. They’re gone…every single one of them. And not just the minor tickets.”


An old publication more relevant now than ever - The Cathedral and the Bazaar. A comparison of software practices in the early 2000s with some retrospective to how great software is built. I think much of the writing can be applied to today's federated content models. In particular: - The Mail Must Get Through - Necessary Preconditions for the Bazaar Style - The Importance of Having Users
fedilink

For sure but it also depends on how deep your wallets are to invest in that. Whether that means literal compensation or just your time.


Write code to test your code then repl build and run it anyways and smoketest it to see if it actually works

Sounds like activities for people who don’t have real work to do. These tech layoffs cut deep because there was so much fluff in the industry. I sort of blame these companies that marketed devops too hard and oversold overcomplicated solutions, but it’s also the fault of the tech leads advising managers.


Thanks for weighing in. Yeah! This is basically what I am thinking I’ll have to do. I just tried Github actions and runners with a very small internal app and I liked it. I’ve never worked closely in AWS but I’ve gotten trained in/used Azure a few times and it’s basically the same thing on my end.

Robust tests, larger conditional workflows in github actions, and some sort of staggered rollout I think are the conclusion I’m arriving at.


Godspeed. I hope the transition goes well. If you need to baby step towards it, I felt like docker swarm was easier to approach but kubernetes is far more standard. I recommend budgeting training into the rollout if your shop can afford it. For CI/CD I recently had a great experience with github and github actions but I had a coworker setup on-premise gitlab in the past too.

Somewhat of a tangent - My experience with alembic of over four years is that it is leagues better than manual SQL dealings, and also very easy to understand what you’re looking at. But I have to say that when I used sequelize in NodeJS, it has an autosync and autoupgrade schema that made alembic look silly.

In regards to my own post I think for now what I’m mostly seeing is that for each new deployment - is going to have to have an internal smoke test, then staggered rollout of updates.


Reading what you wrote here - I think this is confirming my looming suspicion. Which is that there is no standard today for upgrading docker containers. Since upgrades happen app to app. For example if I have a docker-compose deployment and service A is lemmy, and service B is postgres the app in this case service A will have to have its own logic for handling upgrades or code migrations.

In other words, the upgrade process can depend on how the software developer writes the software; independent of docker/k8s/vm’s or whatever deployment strategy you are running.

I think what I was hoping for was that I’d ask if there was a newer smooth standardized way to do software upgrades besides A/B testing or staggered rollouts but I’m not really seeing that.

I’m not super familiar with Lemmy’s codebase but it looks like they’re using diesel ORM here and have migration handling on a case by case basis for some major changes. https://github.com/LemmyNet/lemmy/blob/main/src/code_migrations.rs**___****___****___**


[Discussion] Devs and Devops: if you have running containers in production, how are you upgrading those containers?
Hey all! I'm seeking guidance. I have a lot of apps that use ORMs like Mongoose or Sequelize or Sqlalchemy, or even just init-db scripts with raw SQL. Point is a lot of apps have changes to the data layer. When we program and make apps they tend to describe how they need to see a database. Sometimes its no trivial feat to do an upgrade - and even if you have a CI/CD pipeline in place what does that look like to have something like even lemmy upgrade in a container. If you have these apps in production how are you handling these apps? Both developer perspective and devops welcomed. I see the devs offering insight into maybe how the backend recognizes database state, while the devops perhaps either describing process and implementation.
fedilink

I don’t think GitHub is social enough or the right tool to address bugs, talk about issues, or completely missing - ask for expertise. It’s not even democratic enough and done in such a way that makes what to work on clear at times.

Some code is still more art than work or science but still there is a notion that maybe if there was a better tool than GitHub there would be no need for a discord.


TLDR: I’m still very suspicious of how that is quantified - “leading to an overall better product”.

Who quantifies that and how, on a case by case basis, especially in the form of Chromebooks or phones for revenant, popular examples?

Let’s say it was a laptop: I can see issues with lithium batteries perhaps reaching a cycle count that lead them to be dangerous. Wouldn’t that mean though you should produce a good that has replaceable batteries? Is the battery designed in such a manner on purpose?

Businesses with shareholders that live quarter to quarterly profit are the issue. There is no authoritarian legislator that reallocates resources like China did the last few years, for example, whether you like it or not.

The US relies on legislation to be passed to mandate the changes or prohibit a device from being built a certain way. That legislation can be lobbied for loopholes, have various people in power also own percentages of the companies, etc. Whether you agree with it or not, there are many checks and balances and simultaneously a lack thereof.



Thank you so much for posting. It’s really nice to hear from someone with experience first hand.


Maybe I’ll make a post about my experience with it after I ship out my startup to prod/app-stores. I was going to try to write a replacement to enms.io but since its already open source I can’t really justify the 2-3 weeks to hack something out,while also adding Nim to the problem set.

I have to say though, a reads-like python but compiles like c/rust/etc. has really garnered my interest. They had an excerpt about decentralized package management with nimble and that really made me raise my eyebrows.


[Discussion] Nim Programming language - thoughts?
Anyone have experience using Nim? The TLDR that I am seeing is compiled portable python/js replacement in a way. I was thinking about trying to write a webserver with it and was wondering if anyone had any previous experience with it.
fedilink

I went and deactivated my twitter accounts today. I got Lemmy and when I do my own servers via my own app, I’ll enjoy a twitter alternative again. Edit: Im saying this because my mind went to action not bitching. I think the X rebrand is like a sign of the times and the official “okay twitters dead” moment.


To be honest I noticed a drop in quality of code generation via prompt by ChatGPT.

Still useful. Especially for boilerplate nonsense getting projects started. But it’s ability to understand complexities in code dropped drastically.


I don’t know man, I watch a ton of YouTube everyday and YouTube also comes with YouTube music. I just prepaid for two years of their premium service and I might do another two in the event they raise their price, I want my access locked in. Besides OdyseeTV and Peertube are WIP. It was like $100 a year flat or something.

PIA and NordVPN are probably fine. If your pockets aren’t super flushed those are good services.