• 1 Post
  • 32 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle



  • I’ve been using Git professionally as a software developer for 15 years, and I think it sucks quite hard. There is always a dosen ways to do the same thing, it occupies tons of hardware space, it’s log is unstructured data that has to be parsed. Git CLI is an incomprehensible mess of bloat and misnomers, so no matter what team/project you are working on, there is always going to be 1-5 Git commands they’ll tell “you are NEVER supposed to use”.

    I’ve completed my courses on Git, I’ve worked with CI/CD, onboarded younger developers, read “Git Koans”, and I haven’t seen even a theoretically convenient VCS until someone showed me Pijul.

    Git is mess, it sucks that we are stuck with it, and every time someone says it’s the best VCS we have, it saddens me.




  • The future’s wasteland will be covered by bodies of web stalkers who were naive enough to get tricked by mid-2010s shitposts.

    “Turns out they never used this to make their metal cutlery darker - who would have thought the ancients were so casually cruel?”

    “After months of research we have concluded, that despite all their technical achievements, the ancients never figured out, what does the fox say”

    “Today prof. Drobyshevsky is going to tell us about their newest work in XXI cent. anthropology - what is ‘streamer dent’ and why do we have such long heads 2300 years later?”

    “Ass, coochie and the rich - dietary practices of homo sapiens in the age of over-production”












  • It’s not that native UIs are lagging behind, there is a whole set of reasons.

    TL;DR: browsers, as opposed to desktop apps, are stardartized - because they were originally designed to display and deliver text documents. We were never supposed to build complex application UIs on a web stack.

    First, there is no standard way of making native UI on a desktop. Every OS uses it’s own solution, while Linux offers several different ones. Browsers rely on a set of open standards developed specifically for the web, and even there not everything works exactly the same.

    Second, browsers are designed to draw a very specific kind of UI through a very specific rendering mode - they run an immutable hierarchy of elements through layouting and painting engines. It works great for documents, but it becomes extremely unweildy for most other things, which is why we have an entire zoo of different UI implementations (crutches, most of them) for browsers.

    On the desktop we often make a choice of what UI technology would fit best our purpose. For a game engine I would use an immediate-mode UI solution like ImGUI, for the ease of prototyping, integration and fast iterations.

    For consumer software I might choose between something like QT or GTK for robust functionality, reliable performance, acessibility and community support. Mobile platforms come with their own native UI solutions.

    For data-intensive UIs and heavy editors (e.g. CAD, video and music production, games) I might need to designan entirely new rendering pipeline to comply with users requirements for ergonomics, speed, latency etc.

    It is also easy to notice that as a team or employer, it is often much easier to hire someone for web stack, than for native development. Simply put, more people can effectively code in JS, so we get more JS and tech like Electron enables that.

    If you are interested in a single solution that will get you nice results in general, no matter the platform - you might see some success with projects like Flutter or OrbTK.

    UI rendering in general is a deep and very rewarding rabbit hole. If you are in the mood, this article by Raph Levien gives a good overview of existing architectures: https://raphlinus.github.io/rust/gui/2022/05/07/ui-architecture.html


  • Y’all just have no idea how complicated the process is. In 2004 it was OK to just “ship a working game”, - in 2023 you have to include all of the software stacks you have partnering contracts with, deploy an entire cloud infrastructure to deliver updates and short purchases, design and launch automated targeted ads campaigns, pay union-busting lawyers, accommodate for all the “fun” senile execs want to put in the game, pay handsome compensation to these senile execs, pay more lawyers to bury workplace toxicity-related incidents. At the end of the day, you have to sustain the company somehow when 95% of your workforce goes on a sick leave after a 3-month-long crunch period. All of that takes money, time and effort. And y’all don’t get a lot of time in-between autumn release windows.

    Hey, we’ve been at it for 20 years, and we have just managed two months of 16-hour workdays without anyone dying, it looks like it might be one of those projects we actually manage to ship - what an important internal milestone!

    PS: I don’t actually work at Ubisoft, I love my life too much - this entire comment is a satire