Also curious about this.
1,835 karma · joined October 19, 2016
mail@bloomca.me
https://github.com/Bloomca https://blog.bloomca.me/posts
Also curious about this.
I think AI is really great to start with the systems programming, as you can tailor the responses to your level, ask to solve specific build issues and so on. You can also ask more obscure questions and it will at least point you at the right direction.
Apple docs are also not the best for learning, so I think as a documentation browser with auto-generating examples AI is great.
Native apps are not bad to develop when using Swift or C#, they are nice to use and their UI frameworks are fine, it's just that it requires a separate team. With Electron you need much less, simple as that.
> As for the rest: minor variations in traffic light positioning and corner radii are topical but hardly indicators of decaying platorms.
I think it shows how important the platform itself is to the company. The system settings app on macOS is literally slow to change the topic (the detail page is updated like ~500ms after clicking).
I personally love to develop desktop apps but business-wise they rarely make sense these days.
However, I do think that a higher-level description of every notable feature should be documented, along with the general implementation details. I use this approach for my side projects and it works fairly well.
The biggest question whether it will scale, I suspect that no, and I also suspect it is probably better to include nothing than a poor/disjointed/rare documentation of the sessions.
Not to mention that you'd need to integrate it with lots of other vibe-coded products. It can be great for some use cases for sure, though, but identifying them can be tricky, as big orgs are pretty terrible at formulating what they need clearly.
With the code, especially interfaces, the results will be similar -- more standardized palettes, predictable things.
To be fair, the converging factor is going on pretty much forever, e.g. radio/TV led to the lots of local accents disappearing, our world is heavily globalized.
The only way to harness it is to somehow package code producing LLMs into an abstraction and then somehow validate the output. Until we achieve that, imo doesn't matter how closely people watch out the output, things will be getting worse.
I personally think we are not that far from it, but it will need something built on top of current CLI tools.
You can see it here as well -- discussions under similar topics often touch the same topics again and again, so you can predict what will be discussed when the next similar idea comes to the front page.
However, the complexity is still not handled super well, as you need to spend more time in code review and testing to make sure all edge cases are covered and the general module interconnection is decent. Ideally we want to modularize and make the breaking surface very small, but often it is not possible.
I think the next step is to fully remove people as accepting changes manually is just too brittle; I also think it is probably possible to do with the current tools but needs a very different approach from the current meta of highly specific docs.
You claimed that it already happened to illustrators and artists, and while I am sure they use it one way or another, I don't think it transformed the industry. Now, I am not saying that it won't amount to anything in software, I just don't think it is ready as of right now outside of greenfield projects, mostly because the scope is limited.
I am pretty positive that at some point we'll have a tool which will automate the generation -> code review -> fixing (multiple loops) -> releasing without people. Currently people are the bottleneck and imo a better way is to exclude people completely outside of initial problem statement and accepting the result. Otherwise it is just too janky, that 10x comes with a huge asterisk that can unironically slow you down after all said and done.
JS 100% respects compatibility, they even avoided some methods because some popular libraries in the past used to extend the Prototype for arrays
Now, we can argue that a typical SEO-optimized garbage article is not better, but I feel like the trust score for them was lower on average from a typical person.
You can pin the dependency and review the changes for security reasons, but fully grasping the logic is non-trivial.
Smaller dependencies are fine to copy at first, but at some point the codebase becomes too big, so you abstract it and at that point it becomes a self-maintained dependency. Which is a fair decision, but it is all about tradeoffs and sometimes too costly.
Really happy with it as I wanted exactly that for myself.
---
The next idea I am going to work on is the audio player. I already wrote a Rust library to read TOC + raw track data from audio CDs (https://github.com/Bloomca/rust-cd-da-reader) and a CLI tool to do so + convert to FLAC and embed metadata from MusicBrainz (https://github.com/Bloomca/audio-cd-ripper).
I've been researching this topic and while my background is related to digital signal processing, I think I will use a library, there seem to be too many edge cases to work with WASAPI and such directly.
We are already on this path for many-many years, certainly decades if not centuries, although availability was definitely spotty in the past.
It is also kind of impossible to hop off this train, while it is individually possible to reject any of these conveniences, in general they just become a part of life. Which is not necessarily a bad thing, but just different.
Honestly wild if you need to upkeep the license just to have it in store once it is published.
I think a logical continuation of this model is something like Solid.js, where there is no concept of re-rendering, just atomic DOM updates when observables change their values, but somehow this approach didn't get critical traction.
I think it is mostly about expectations, macOS trained people that it is relatively safe to install signed apps. If your app is unsigned, Gatekeeper will refuse to run it.
However, you'll inevitably end up with your own after some time. Even if you try your best to stay away from it, you'll need abstractions for:
- components and lifecycle
- some sort of templating
- connecting your app's data and components
But you can have minimal layers for that.You can also just not file your taxes, if you don't owe anything (and as I said, jobs always err on the side of overpaying) they won't bother you, but most people end up eligible for the tax refund, so it is more beneficial to pay for that service.