kaz-inc
Joined 5 years ago
Joined 5 years ago
Technically, apply myself more to projects at my job, learn how to fit in our flow better. I've been using AI to program some goofy projects, and I've found a good medium between vibe-coding and auto-complete, where I make it draw up a plan for every commit, and then I ask it to implement it, and if the generated code is wrong I undo the changes and revise the plan to be more precise. It's relatively easy to verify the plan, not as easy to verify the code, but it's still easy to debug the code and figure out what's wrong.
The burden shifts more to creating small modules with stable interfaces.
#IF __cplusplus==202302LDo you distinguish between writing a compiler and writing an optimizing compiler, and if so, how is writing an optimizing compiler an extinct art?
Equality saturation, domination graphs, chordal register allocation, hardware-software codesign, etc there are many new avenues of research for compilers, and these are just the ones on the top of my head that are relevant to my work. Most optimization work is R&D and much of it is left unimplemented at scale, and things like the phase-ordering problem and IR validation are hard to do in practice, even given ample resources and time.
An asker asks for things, absolutely everything, and the giver must choose what they can give.
A guesser must choose what they can ask for, and only ask when they're quite sure it can be given, so the giver has less responsibility for the transfer or service, and most asks can be assumed to be reasonable.
A Persian cannot ask for anything. They must wait for it to be offered, and even then, they must insist that they are quite alright, and that they would rather do without, and only through reciprocal insistence from the giver can they consider whether it would be rude to take them up on the offer.
Presumably, one can judge the giver's underlying intent by the quality of their reciprocal insistence (does it seem like they're just doing the bare minimum of insistence upon their offering, or do they truly wish for me to take them up on it?)
In the Taarof system, an offeree actually has more data, rather than a simpler Asker-scenarion "no", and even more data than the shared values in a Guesser household, this allows for a quick negotiation of values by the immediate and well-practiced cultural norms around the quality of insistence, even for people across different households.
I wrap that in FlatDB, which is an opinionated flat cache for the files with metadata inline, used for very fast searches (searching 150k messages in less than 20ms on my 4 year old phone). This handles a lot of tricky cases, like accidental cache modification, and editing the database in different tabs.
There's even a sync algorithm that synchronizes notes across devices. https://github.com/kasrasadeghi/pipeline-js/blob/main/assets...
How do you manage sync? Mine is a WebApp so I use indexedDB, and that's nice so that it works on my computer browser, but I don't want multiple tab synchronization on my phone and it's tricky to handle. I've built something that works, but I'd love to explore other designs.
You said React Native, so there might be a regular app sort of data store to disk.
The later ones are reasonable, as they map more closely to the music notation that has become standard, but for classical music of different cultures, notes don't often lie on a single place, but swing from one pitch to another, with blips and arcs in their paths from one place to another.
The staff-based notations lose the first-hand flow of the notation in space. I wonder what could be done with color.
The fundamental query I usually use is substring search. The only contents is text, because I believe in the primacy of plaintext. The notes for the last 4 years of my life takes up 60 megs, and it takes half a second on a 5 year old android phone to parse all of it, and less than 50ms to search through all of it, so I can do it on every keystroke/ incrementally.
[0] Pipeline Notes: https://github.com/kasrasadeghi/pipeline-js
I'm not a web developer by trade, so if anyone has any feedback on security/UI/service workers, please let me know!