Paged Out! is a new experimental (one article == one page) free magazine about programming (especially programming tricks!), hacking, security hacking, retro computers, modern computers, electronics, demoscene, and other similar topics.
Rusts type system requires that there only ever is one mutable reference to a value or one or more shared references. What happens when you need multiple references to some value, but also need to mutate through them? We use a trick called interor mutability: to the outside world you act like a value is immutable so multiple references are allowed. But internally the type is actually mutable. All types that provide interior mutability have an UnsafeCell at their core. UnsafeCell is the only primitive that allows multiple mutable pointers to its interior, without violating aliasing rules. The only way to use it safely is to only mutate the wrapped value when there are no other readers. No, the garantee has to be even stronger: we can not mutate it and can not create a mutable reference to the wrapped value while there are shared references to its value. Both the book and the std::cell module give a good alternative explanation of interor mutability. What are some patterns that have been developed to use interior mutability safely? How do multithreaded synchronization primitives that provide interior mutability follow similar principles?
This series is likewise designed to help visionary friends, but where his friends were living off-the-grid, my friends are creating the programming environments of the future. This series is democratizing access to tools one-step removed. These reviews are for the makers of tools, those that are pushing our computational interfaces forward.
When I was first introduced to quantum computing, the thought of quantum computers alone was mindblowing; it seemed more science fiction than reality. But what if I told you that real quantum…
M. Liffiton, B. Sheese, J. Savelka, и P. Denny. Proceedings of the 23rd Koli Calling International Conference on Computing Education Research, стр. 1–11. New York, NY, USA, Association for Computing Machinery, (06.02.2024)
B. Jury, A. Lorusso, J. Leinonen, P. Denny, и A. Luxton-Reilly. Proceedings of the 26th Australasian Computing Education Conference, стр. 77–86. New York, NY, USA, Association for Computing Machinery, (29.01.2024)
J. Savelka, A. Agarwal, M. An, C. Bogart, и M. Sakr. Proceedings of the 2023 ACM Conference on International Computing Education Research - Volume 1, том 1 из ICER '23, стр. 78–92. New York, NY, USA, Association for Computing Machinery, (10.09.2023)