Three projects that I'm prototyping/developing in a spare time:
- 3d visualization of the mental model of the code, based on static analysys, with a goal of drastically improving code navigation and comprehension, especially of large codebases. Currently for Go only, because Go OOP design unsurprisingly lacks ambiguities between language constructs and mental model blocks. I had WebGL-based prototype (written using GopherJS), but I see the future of this project only in VR/AR, so I'm exploring this space, trying to figure out what/how to do the next iteration in this emerging zoo of VR/AR frameworks. The logic behind this project and initial demo are in the blog post "Rethinking visual programming in Go", but it's a long read. https://divan.dev/posts/visual_programming_go/
- prototyping (docs and initial simulation) new messaging solution that is peer-to-peer first and is transport agnostic (i.e. will work over SDR in case of internet apocalypsis), and is aimed for the future stacks(IPv6/StarLink everywhere, NAT is in the computer archeology textbooks only). Plus configurable tradeoffs – instant delivery and offline storage (via federated server you own) vs non-instant but aggressive resilience to network disruption (should work over mesh networks), dark routing (for zero-trust hostile networks) vs fully exposing transport layer details (if you talk to your kid over your home wifi router, why would you care about hiding IP address or send your message to the datacenter across the globe).
I spent some time in the messaging, and clearly see how many of the tradeoffs just push people to use centralized servers, and that makes sense and works fine, until it doesn't (think Telegram and Rostelecom IP addresses block). It'll probably have worse performance than current messengers, but it'll work when everything else is not.
No links to share yet, sorry.
- txqr – I did an animated QR data transfer app in Go and Gomobile (https://github.com/divan/txqr), which uses fountain codes, but that was just for fun. Now, after working for a year or so with Flutter, I want to make a mobile/desktop/web app out of it (Flutter works with Gomobile) that people actually can use and/or embed into their apps, and that's on my backlog for side projects.
- 3d visualization of the mental model of the code, based on static analysys, with a goal of drastically improving code navigation and comprehension, especially of large codebases. Currently for Go only, because Go OOP design unsurprisingly lacks ambiguities between language constructs and mental model blocks. I had WebGL-based prototype (written using GopherJS), but I see the future of this project only in VR/AR, so I'm exploring this space, trying to figure out what/how to do the next iteration in this emerging zoo of VR/AR frameworks. The logic behind this project and initial demo are in the blog post "Rethinking visual programming in Go", but it's a long read. https://divan.dev/posts/visual_programming_go/
- prototyping (docs and initial simulation) new messaging solution that is peer-to-peer first and is transport agnostic (i.e. will work over SDR in case of internet apocalypsis), and is aimed for the future stacks(IPv6/StarLink everywhere, NAT is in the computer archeology textbooks only). Plus configurable tradeoffs – instant delivery and offline storage (via federated server you own) vs non-instant but aggressive resilience to network disruption (should work over mesh networks), dark routing (for zero-trust hostile networks) vs fully exposing transport layer details (if you talk to your kid over your home wifi router, why would you care about hiding IP address or send your message to the datacenter across the globe). I spent some time in the messaging, and clearly see how many of the tradeoffs just push people to use centralized servers, and that makes sense and works fine, until it doesn't (think Telegram and Rostelecom IP addresses block). It'll probably have worse performance than current messengers, but it'll work when everything else is not. No links to share yet, sorry.
- txqr – I did an animated QR data transfer app in Go and Gomobile (https://github.com/divan/txqr), which uses fountain codes, but that was just for fun. Now, after working for a year or so with Flutter, I want to make a mobile/desktop/web app out of it (Flutter works with Gomobile) that people actually can use and/or embed into their apps, and that's on my backlog for side projects.