Random things I wanna figure out eventually, but don't have time for
Table of Contents
- TODO [B] distributed cloud sync (Dropbox/Syncthing) cloud
- TODO [C] instant messengers are too linear im communication
- TODO [C] structured VCS vcs
- TODO [C] human anatomy simulation humanbody simulation exercise
- TODO [C] programming language in which correct programs are feasible physical states plt physics
- TODO [C] phone app for keeping sensitive data privacy
- TODO [C] OS should have better macro/keybindings capabilities hotkeys setup think
- TODO [C] can we extend type theory derivatives to partial derivatives and manifolds? typetheory
- TODO [C] dependent type checker tool, similar to mypy typetheory mypy
- STRT [D] share highlights from Kobo to Goodreads kobo pkm reading
- TODO [D] continuous piano keyboard. When you press a 'key', the harmonics are highlighted as well as octaves music
- TODO [D] coffee brew simulation coffee simulation
- TODO [D] machine learning tool, showing muscles and bones on athlete in real time (e.g. as an overlay) humanbody ml ar
- TODO [C] interactive simulator for impact of diet on environment environment food simulation
- Half baked stuff think
- TODO [B] what would be a 2d analogue for yield? programming python
- TODO [B] sunk cost of living death
- TODO [B] connections of Hamiltonian equations and programming? symplectic
- TODO [C] sync issues with org-mode file? github
- TODO [C] reverse debugging: set variables to specific values and then reverse program logic to get consistent execution? debug
- TODO [C] how to communicate experiences better?
- TODO [C] tower defense quantum field qft game
- TODO [C] harmonic equation looks kinda like universe expansion? cosmology
- TODO [C] awesome-concepts
- TODO [C] how does uncertainty principle apply to quantum information? What's the amount of information we can simultaneously know? quantum
- TODO [C] The Entertainer cover from Westworld got an extremely satisfying orchestra intro at around 0:26 think music art
- TODO [C] Tiny Bombs in your Blood - The Complement System vis humanbody
- TODO [C] call/cc ; coroutine style thing but for defensive error handling/yielding? not sure how it'd look lisp errors
- TODO [C] hierarchy: byte -> character (e.g. unicode) -> ???? -> AST programming vcs
- TODO [D] negative types. complex types. (poset on sorts). Is there something related to terms the same way as terms related to types? typetheory
- TODO [D] fiction story about someone who lost all the references and got garbage collected
- TODO [D] the set of computable numbers is represented by a computable number itself?
- TODO [D] predictive keyboard exploiting grammar android
- TODO [D] speed up of sense of time with age: some sort of time dilation because of thinking 'velocity'? physics
- TODO [D] voice transfer HAL voice ml
- Questions and shower thoughts think
- STRT [C] how to spot a p-zombie solipsism ai
- TODO [C] wonder if with proper mypy stubs we can make datetime tz aware/unaware mypy
- TODO [C] why most popular music has such regular structure? music
- TODO [C] mind-melding and death mind death bci
- TODO [C] what if I suddenly go blind one day? prepping
- TODO [D] why are avocados fatty? They are literally the only fatty fruit I can think of. food
- TODO [D] do different amino acids matter for human body? nutrition diet
- TODO [D] eating organ meat is more respectful for the slaughtered animals? food
These are mostly half baked and somewhat weird, so unclear if worthy of exercising. But if several people have similar idea, perhaps you are all onto something. If you never publish it, no one would ever know.
Priorities roughly indicate how important is the topic to me.
¶TODO [B] distributed cloud sync (Dropbox/Syncthing) cloud
Basically, continuous (e.g. inotify-backed), open source and always available file sync.
- Dropbox is continuous, but proprietary. It's not distributed, but central server tends to be very available.
Syncthing is continuous and open source, but only syncs among your own devices. If all of them are off, you wouldn't be able to access your files.
It's also not necessarily very friendly towards average user: it works best when you have a device that is always on like a VPS.
Ideally, it would be something based on Bittorrent, and the chunks of data would be distributed among participants with sufficient redundancy. So most of the time you would rely on your own devices like in Syncthing, but in case of device loss or temporary outage you'd be able to assemble the data from redundant chunks in the peer network. Not sure how much redundant it has to be and if that approach works in practice.
¶TODO [C] instant messengers are too linear im communication
You chat with someone and discuss something. Because conventional IM software imposes timestamp ordering, it often ends up interleaved with some ongoing things (e.g. "by the way remember about that thing tomorrow"), and you distract or switch. The discussion gets forgotten and/or the context is lost.
It's way worse in bigger Slack or Telegram channels (e.g. 15+ people). Sometimes you (well, at least I do) wait to post a message because you don't feel like interrupting some ongoing discussion and you don't want your message to be buried either. So you have to keep it somewhere and make a reminder or something, which is cognitive overhead. Because of the overall volume of messages people tend to mute group conversations, and then miss actually useful stuff.
Ideally, in a certain group chat/channel you should be able to:
- fork conversation off an arbitrary message, so you'd have a tree.
- view all the ongoing conversations/threads. Mute, mark as high priority, etc.
- perhaps archive the ones that are not relevant anymore.
Currently existing things I know of:
- Google wave?
- Telegram got replies which work in very few specific cases and not very sustainable for a proper conversation.
Slack got threads, which sort of solve this issue.
You can't turn old conversations into threads, but if you notice an opportunity early, or make a habit of spinning off early, you can work with it. It's not really used for personal conversations thought.
- XMPP is dead I guess, so not sure how easy it would be to prototype that.
Interesting enough, meatspace conversations also have this curse of linear order let alone other aspects that make them hard! But that's a whole different problem.
¶TODO [C] structured VCS vcs
Something that understands the syntax of programming language and operates on top of that. So for instance, reordering methods in a class would be trivial operation and not show up in diff. There are some caveats though: e.g. in some dynamic languages order of definition might matter, so you still want it to be backed by plaintext, probably. Perhaps it has to be a diff filter rather than full scale VCS.
¶TODO [C] human anatomy simulation humanbody simulation exercise
Kinda like a ragdoll with certain presets for muscle/skeletal configurations that allows you to mess with the model with realistic physics. If such a thing existed, it would help with:
- assessing safety of weight training
- safely of your seating/sleeping posture?
- increasing exercise efficiency. There is so much advice on the internet often claiming contradictory or hard to believe claims. If you could simulate the effect on the mode of your own body, it would make way more sense.
There are some reasonably interactive visualizations out there:
Looks pretty cool, but in my understanding it only results in realistic tissue movement (jiggling/bending) and you still have to take care of skeletal and tendon movements yourself (let alone nervous system)?
Is it very hard problem anatomically?
¶TODO [C] programming language in which correct programs are feasible physical states plt physics
Where physics is described by some sort of Lagrangian, and the evaluation semantics would would be consistent with its dynamics. Wonder if that's possible without involving explicit computations via dependent types. I guess would also correspond to some sort of special logic. Also making sure the set of correct programs is exactly the set of feasible states is presumably way harder.
¶TODO [C] phone app for keeping sensitive data privacy
I sometimes find myself making a note or taking a picture or a voice recording which I wouldn't want to go public under any circumstances.
Relying on locking your phone is not really enough as it's easy to hack, or fail to lock, or reveal content by accident. What is worse, locking doesn't save you if if you're using some sort of cloud sync.
Of course, you can try and make sure you only keep it locally on phone, but you do need some means of syncing and arguably, waiting till you got a moment to transfer it via the cable bypassing network is even more insecure. Even if you're willing to do that, it turns out to be notoriously hard not to sync to the cloud by accident. Examples straight out of my head:
- You want to take an extremely private photo. If you take it with default Google camera app, it will immediately try to sync it to Google Photos. If you're like me and not using Google Photos sync, it's still quite useful to sync your whole photos directory automatically.
- You want to take an extremely private note. I'm not even sure that these days you can create an empty text file on an average phone (afaik, ipones didn't even have file system until recently), unless you've got a special app installed. All the default ones having note taking capabilities: Google Keep, Google Docs, email drafs, etc, all of them would get leak in the cloud immediately.
It sounds like a fairly general problem. So there are some criteria I want from such an app:
- allow taking pictures, notes, recordings etc from withing the container app, so intermediate data doesn't end up in insecure locations
handle content share intents in case for content that potentially can't be from within the app
Would be cool to prompt user to delete the original files afterwards, but not sure if it's possible in modern Android though.
use asymmetric encryption for keeping data in the secure container
Asymmetric is fairly important here, that allows to put data in container without actually asking for some sort of password every time, which would make using it way less frictionless.
backed by filesystem
That would allow actually synchronizing encrypted container through normal and less secure channels as long as you keep your private key safe. Not sure what to do with metadata though, but perhaps encrypting filenames with same key (with padding etc.) is not too bad.
So far I don't know any applications that match most of these criteria. Closest I know of are:
- open-keychain: you can share files so it encrypts them via PGP. That's the only thing that it does though, afaiu, it's more meant for integrating with other apps. It's open source though so would be good to use it as a library/intermediate.
- I'm personally using an Encfs container via EDS Lite and just use separate apps for secure photo taking and audio recording which don't have their content saved to cloud synced location.
If you know of something better, please let me know!
¶TODO [C] OS should have better macro/keybindings capabilities hotkeys setup think
I got this thinking a while ago when I was keen on switching to Firefox, but it wouldn't let the user choose extension hotkeys, it was only added recently. And still, certain keys you just can't rebind (e.g. use Ctrl-Shift combinations), because they are hardcoded somewhere deep in the codebase.
It's pretty annoying that it's left to developer to think about providing hotkeys to the necessary bits of interface when the user can do same actions with mouse. Pretty sure X has got some kind of hierarchical abstract representation, would be nice to instead give users (or other developers, that don't necessarily have to be familiar with the app) ability to define arbitrary bindings or macros.
¶TODO [C] can we extend type theory derivatives to partial derivatives and manifolds? typetheory
It's somewhat well known one can extend notion of derivative to abstract data types. Can we squeeze more from that?
¶TODO what would be an analogue of 3-sphere for data types? what are the different topologies of data types?
Haven't thought about that seriously yet, so not sure how much sense it makes to ask such questions.
Over the past few years there were few very successful examples of type checking implementations for languages without static types:
In some ways, these tools provide superior type systems (e.g. optionals/sum types) to many 'classical' statically typed languages like Java or C++.
One reason for success as I see it is that typing is optional and can be used where/when the programmer feel necessary. You get benefits of dynamic languages for fast prototyping and benefits of type checking when it's time to harden your program.
I wonder if dependent types will take over the world through some similar tooling.
¶STRT [D] share highlights from Kobo to Goodreads kobo pkm reading
Kobo doesn't have Goodreads integration like Kindle does. However sharing highlights is a great way to engage other people in the book you really like and want them to read. This can relatively easily be achieved via a script:
- run the script in kron or via udev rule configured to trigger on your Kobo device
query the highlights from Kobo (they are in a nice sqlite database)
I already have a local python script for that (
my.books.kobo), e.g. used here.
- choose which annotations you want to share. Some options are:
- based on a special marker word (e.g. if annotation includes 'kobo')
- interactively via prompting what you wanna share
send to Goodreads via
You are gonna need some method of comparing highlights you already sent and diff them.
Boring: just track annotation ids you already shared in some state file. Fun: use some elaborate comparison/hashing to match kobo annotations and goodreads ones.
Actually, this could even be useful for Kindle if you have a DRM free copy from elsewhere. Or for other ebook devices.
¶TODO [D] continuous piano keyboard. When you press a 'key', the harmonics are highlighted as well as octaves music
- ableton push kinda does that
- not sure if it would be really beneficial for proper musicians, perhaps as a learning tool only?
¶TODO [D] coffee brew simulation coffee simulation
In the simplest approximation take some simple conical/cylindrical filter, water flow/temperature dependency and coarseness. As an output we get expected amount of caffeine, oils, some estimate of bitterness and acidity etc.
Some potentially relevant links:
this guide and surely coffee brewing doesn't have to be so elaborate!I ran into
I mean, seriously:
Pulse pour by adding 65g of water in 15 seconds, followed by a waiting period of 15 seconds and repeat 5 more times (pouring timeline below) . Each pour should begin in the center, work its way outward, and then return back to the center.
Come on. There is absolutely no way coffee taste depends on these intricate patterns of pouring water. A mathematical model would cast away this bro science at least to some extent.
I also can't really understand how is one capable of estimating coffee on the scale from 0 to 10, but perhaps that's just my unsophisticated taste buds, and I accept other people can train themselves to do that.
¶TODO [D] machine learning tool, showing muscles and bones on athlete in real time (e.g. as an overlay) humanbody ml ar
¶TODO [C] interactive simulator for impact of diet on environment environment food simulation
One common issue I see very often when people advocate for vegetarian/plant based diets is comparing, impact of producing 1 kg of meat vs 1 kg of vegetables/plants, which is obviously wrong way to analyze it (good luck surviving on lettuce). At the very least it should be normalized per calorie, even better by protein amount (as other macronutrients are relatively easy to satisfy).
However, different people have different dietary preferences in terms of macro composition (and good luck convincing people to change two beliefs at once).
Next, different ways of producing food have different impact on environment.
A good way of proving feasibility of meatless diets is to develop some sort of interactive simulator. It would take into account macronutrient and micronutrient requirements. It should allow to vary assumptions for environmental impact as well, as first, they may depend on means of production, but what's even more important, people might have different beliefs about impact too, and that should be respected.
That would also allow to 'generate' environmentally friendly meal plans via optimization algorithm.
That would make the whole discussion more quantitative and civilized.
¶Half baked stuff think
Completely speculative and unprocessed straight out of my brain. Will get promoted above when I think a bit more about it.
¶TODO [B] what would be a 2d analogue for yield? programming python
Reactive as Excel, powerful as Python.
could itertools.tee all iterators unless they are marked as unsafe (i.e. with side effects)?
Although tee is safe even in that case, just have to assume
__str__ is reasonable
¶TODO [B] sunk cost of living death
It sucks to die early because of all the effort you invested in your future self.
¶TODO [B] connections of Hamiltonian equations and programming? symplectic
¶TODO [C] sync issues with org-mode file? github
¶TODO [C] reverse debugging: set variables to specific values and then reverse program logic to get consistent execution? debug
That could be useful to eliminate undesirable situations in the program.
Difference from static analysis/model checking is that it could be more heuristic and dynamic, e.g. doing some sort of parameter space search.
¶TODO [C] how to communicate experiences better?
It's really useful. E.g. imagine going to hike in the mountains and when you're back, trying to convince someone else they should try it without photos? If experience communication was even better (e.g. wind/temperature/thrill) it would be even more convincing.
¶TODO [C] tower defense quantum field qft game
¶TODO [C] harmonic equation looks kinda like universe expansion? cosmology
¶TODO [C] awesome-concepts
coolest/alternative visualizations for various mathematical/physical concepts videos, pictures, blog posts. basically anything unconventional intuition
¶TODO [C] how does uncertainty principle apply to quantum information? What's the amount of information we can simultaneously know? quantum
¶TODO [C] The Entertainer cover from Westworld got an extremely satisfying orchestra intro at around 0:26 think music art
What would be similar effect for other forms of art, e.g. visual?
Metamorphose, when abstract shapes transform into more realistic.For some reason thinking of Escher's
¶TODO [C] Tiny Bombs in your Blood - The Complement System vis humanbody
Holy fuck! That's so complicated and beautiful at the same time! I wonder if some sort of simulation is possible?
¶TODO [C] call/cc ; coroutine style thing but for defensive error handling/yielding? not sure how it'd look lisp errors
heh, actually algebraic effects could do it?
¶TODO [C] hierarchy: byte -> character (e.g. unicode) -> ???? -> AST programming vcs
At older times people would be more comfortable with seeing raw bytes in their code. Now we've all accepted unicode. Manipulating source blocks might be a bit too much. What's an intermediate unit? It's probably syntax dependent?
¶TODO [D] negative types. complex types. (poset on sorts). Is there something related to terms the same way as terms related to types? typetheory
think about isomorphisms? What is the essence of complex numbers that makes them so special?
maybe start with integer and positive only complex numbers? eh, that wouldn't make too much sense though would it? it's like inner product. what's an inner product of types?
¶TODO [D] fiction story about someone who lost all the references and got garbage collected
¶TODO [D] the set of computable numbers is represented by a computable number itself?
¶TODO [D] predictive keyboard exploiting grammar android
I suppose that's kind of solved itself by neural network
¶TODO [D] speed up of sense of time with age: some sort of time dilation because of thinking 'velocity'? physics
¶TODO [D] voice transfer HAL voice ml
¶Questions and shower thoughts think
¶STRT [C] how to spot a p-zombie solipsism ai
I've been thinking about solipsism lately.
Imagine a human baby. Up to a certain age they think their toys are alive and perhaps no less conscious than their parents.
These days, stuff like voice assistants, automatic email replies, Google Duplex, GPT text generation may seem like magic or machine possessing mind, but if you study these technologies, you won't have that illusion.
Now imagine you ask a stranger on the street for help to get around the city. You might interact for less than ten seconds, and for what it's worth they could easily be a bot.
What if sentient people around you are actually p-zombies, you're just not smart enough yet to understand it? Baby grows up, learns more how the world around them works and understands toys are not alive. What if it's similar with other minds: you (I mean, I, duh) grow up, learn more, and then you understand and unravel them?
¶TODO [C] wonder if with proper mypy stubs we can make datetime tz aware/unaware mypy
¶TODO [C] why most popular music has such regular structure? music
Most popular music (from traditional to classical to modern pop/electronic) seems to have regular beats, verse structure etc. What's about it that human brains like? Can someone write a very irregular but yet enjoyable piece?
¶TODO [C] mind-melding and death mind death bci
Imagine that we achieved high level of mind-melding technology (e.g. through brain-computer interfaces).
The experiment: mind-meld younger brain (e.g. 30 years) and older brain (e.g. 90 years). Presumably, if they spend enough time like that, the brains end up with common memories and perception of self that would be preserved after brains are separated. Then after a while, the older body dies. In a sense though, both minds are still alive? Could it be used as a life extension technology?
Of course, minds wouldn't be quite the same after such a massive intervention.
On one hand for the older body it feels like a definite win if they are about to die anyway. On the other hand, it's morally dubious to let the part of younger mind to die in the older body. Isn't it kind of a massive sacrifice for the younger/healthier body?
¶TODO [C] what if I suddenly go blind one day? prepping
Can I prepare for it in terms of computer interfaces or something? Should I even prepare or my life is going to change so drastically that it isn't even worth it?
¶TODO [D] why are avocados fatty? They are literally the only fatty fruit I can think of. food
¶TODO [D] do different amino acids matter for human body? nutrition diet
Different proteins contain different amounts of different amino acids. I know some of them are ketogenic and some glucogenic, but not sure if there is much difference nutrition wise.
Wonder if that matters if you follow a vegetarian/vegan diets?
- I guess this article could be a good start
¶TODO [D] eating organ meat is more respectful for the slaughtered animals? food
Apparently I wasn't the first to think about that: