User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
Admin
Wyvern-shaped software developer and hobby vector artist. Also sometimes a fluffy werewolf alien creature (Areon) or a bird (Corveon).

Creator of the neofoxes, neocats and other emojis.
wvrnBox
Website
https://volpeon.ink/
Speaking German, English
Age 30s
Pronouns he / him
Backup Account @volpeon@goto.wyvern.rip
Bonus Content @areon@icy.wyvern.rip
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@vel Do you have a woozy rat emoji neofox_pleading

@nilsding
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@Stellar Ultimate freedom
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
Weekend ​:areonHype:​
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@hj Oh boy, that's going to be fun to handle with the WeakRef cache. neofox_googly_shocked Thanks
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
I love those random comments in the code where he clearly instructed Copilot to do something, and it did that in the weirdest way and add a comment saying that it did what it was asked to do. Like
// const route = useRoute(); // removed useRoute call



woozy_baa
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@hj Whatever. The point is that I didn't do anything to explicitly keep them alive.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
Note that I didn't mark the components with keep-alive. They're loaded asynchronously with import(), if that matters.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
The data referenced in Vue routes directly won't be GCed after leaving the route. Does Vue Router keep the state alive for inactive routes? neofox_think
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
I will give you an impression what a lot of components look like.

We have a store, which communicates with an MQTT server. It handles reading data from it and keeping it cached (with WeakRef) for faster access. I also added that MQTT subscriptions are handled on-demand to reduce traffic. This frontend is going to run on weak hardware, so we definitely want to do these optimizations.

Now what he did with a lot of components is:
- Reading the same data as the store.
- Implementing the reading imperatively rather than reactively.
- Implementing it with fancy stuff like timeouts, a delay based on whether the connection to the MQTT server is online, a weird router hook construct to make sure the reading does happen, etc.
- It's like 1000 LOC which could've been 1 had he used the store.
- And all of these unnecessarily lines exist in other components. He didn't implementing it in a shared file for easy re-use.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@wakame @vel Nächstes Mal vorher die SuFu benutzen. Hier ist erst mal zu. [/mod]
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
The neighbors are making weird noises again.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
Leave the wyverns alone drgn_cry_loud
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@vel Woozy pandemic neofox_googly_shocked
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
Anime subtitle using "unalive" instead of "kill"
You stop right fucking there
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
One more fun thing. We have a store to load data and handle updates. It even has a caching mechanism to minimize requests.
The colleague? Loads everything as local state so the data exists multiple times in memory.
neofox_googly_shocked
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
@icedquinn His contract isn't getting renewed this Summer drgn__w_
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
I also have another colleague who does the same, but he doesn't use Copilot. I can say this with absolute certainty.

Since the LLM is more likely to do that than the good solution, I guess this means most devs are like him. Cool
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
The code my colleague copiloted is so wild.
const tableItems = ref([]);

function updateTableItems() {
    tableItems.value = originalData.value.map(...);
}

watch(originalData, updateTableItems);





JUST USE FUCKING
computed() neofox_googly_shocked
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
ngl I missed this kind of programming. Most applications I work on are pretty much just different frontends to insert, read and delete data from a database. woozy_baa
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
9mo
Who would've thought I'd have to think about memory management in a JS application?
(We use WeakRefs as cache and I have to make sure objects persist when they're needed in the current view)