Seems pretty useful to be able to write your documentation videos as steps and generate new videos everytime the platform changes. Let’s say you have 200 videos showing how to do different things and now the UI changes.
You can either leave the videos as is (and get more confused customers) or you can spend a lot of hours recording 200 videos again. Or you can run this and get the 200 videos done in the background. Let’s say that your app is changing every month because you are early in your iteration. That is a lot of time saved every month.
Say you have documentation with a video showing the user how to open a page, click a button, scroll, etc. Instead of having to re-record those videos every time you update the UI you can use this library to automatically recapture it on every push.
Firstly, you had to pay so much money for that screen that you had to consider buying a new device.
Secondly, Apple Products seem specifically engineered to easily break catastrophically (see SSD power supply below speaker grill, zapping the NAND modules if liquid enters the conveniently placed holes. Or a loose metal plate slicing a crucial ribbon cable when the phone was dropped. And many more such cases
This mix of overly fragile design and ridiculously expensive first-party repairs combined with parts pairing and the resulting inability of third-party, non-apple-certified repair shops to level the playing field is what I call a scam.
What makes zig special as a language? I have the impression that it has quite a large fan base here on HN but don't really hear any talks about it anywhere else.
Disclaimer: I don't really use Zig (primarily a Rust dev) but I do think it's quite cool.
If you're willing to dive right into it, I'd first read a bit about the comptime system [0] then have a go at reading the source for `MultiArrayList` [1], a container which internally stores elements in SoA format.
I can share mine. I am not sure if this connects with you because maybe you are more experienced.
I'm DevOps writing boring Python microservices for €. I have no CS background and never did systems programming. However, writing Python always bothered me because there are so many layers between you and what's happening on the metal. For me, Django is the peak example of this, to me it feels almost like doing no code. It makes me very uncomfortable writing it.
Then I heard about this new programming language Zig on YouTube and I just gave it a try. After using it for a few months, I really like it. I guess mostly because it is so explicit.
It is almost like the language encourages you to think in terms of system design. Zig offers a lot of freedom so you can design the perfect tool for your problem. And somehow, it feels very effective for it. I think it is a blessing that there are few third party libraries for the same reason.
For example. I am working on a tool to parse CIM (some XML standard). If I had to use Python for this, my solution would probably use the most popular xml parsing library and then go from there. Yawn.
Instead, with Zig I started to think with a very fresh mind about the problem. I started thinking more from the first principles of the problem. And I got very excited again about programming. During my swimming practice or biking, I kept thinking about the design and how I can make it simpler and improving it by simply not doing certain busy work. I can't fully explain it. But the language gets you in that mindset.
Maybe other system languages also offer this experience, Zig (marketing?) just happened to cross my paths at the right moment.
I'm sure it's not what you meant, but the argument "it makes me slower at my job and deliver less stable solutions, but I feel cool doing it" is not exactly a compelling endorsement.
I can't see anything in OP's post where he says any of that. Everything you said seems like an incredibly ungenerous reading of what he wrote.
Zig is a systems programming language. Moving from Python to Zig is a step down the tech stack, which brings with it exposure to underlying concepts and limitations that matter when writing any software, and which is especially valuable for a self-taught dev.
Where did he say he did it in work hours? Or that he did it instead of doing his job?
He used the word "yawn" to describe using a popular library without understanding the underlying architecture, not in reference to doing his job.
Honestly, I can't even see a tenuous connection between what you're claiming and what was said in the post. The man is expressing joy about learning new things, and you're... upset about this? For some reason? Weird.
reply