







Build software that adapts to each user — without forks or feature flags. One codebase, infinite variants.
Differ - Adaptive Software
Build software that adapts to each user — without forks or feature flags. One codebase, infinite variants.


01 · Universal version control
We believe that simple, powerful, universal version control tools could help all kinds of creators produce better work.
A Call to Build Models Like We Build Open-Source Software
1 Introduction 2 A brief explanation of open-source software development 3 Community-developed and continually-improved models 3.1 Incremental and cheaply-communicable updates 3.2 Merging models 3.3 Vetting community contributions 3.4 Versioning and backward compatibility 3.5 Modularity and distribution 4 An example future 5 Conclusion
Fine-grained and accurate source code differencing | Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
As part of the Digital Library's transition to Open Access, new features for researchers are available in the Premium Edition. Click here to learn more.

bb
bb can control, customize, and automate itself, laying the groundwork for your own software factory.

Convivial design heuristics for software systems
The theme of this workshop is the proliferation of ideas about calling into question the cultural roots of our current programming languages, and the search for alternative paradigms with other cultural bases.
Steven Vandevelde (@tokono.ma)
Looks like what I've been building is quite similar to what the foundation of Patchwork-26 is. Lots of "tiny apps" (atomization of software, loosely coupled) + just the web. Local-first and where everything revolves around the content (data-first, can use preferred UI/view). Happy to see this! 🎉
Please
Please is a cross-language build system with an emphasis on high performance, portability, extensibility and correctness.

Code Is Cheap Now. Software Isn’t.
The barrier to entry for building software has collapsed. The barrier to building something that matters hasn’t moved an inch.
Between Principle and Pragmatism: Reflections on Prototyping Computational Media with Webstrates
Computational media describes a vision of software, which, in contrast to application-centric software, is (1) malleable, so users can modify existing functionality, (2) computable, so users can run custom code, (3) distributable, so users can open documents across different devices, and (4) shareable, so users can easily share and collaborate on documents. Over the last ten years, the Webstrates and Codestrates projects aimed at realizing this vision of computational media. Webstrates is a server application that synchronizes the DOM of websites. Codestrates builds on top of Webstrates and adds an authoring environment, which blurs the use and development of applications. Grounded in a chronology of the development of Webstrates and Codestrates, we present eight tensions that we needed to balance during their development. We use these tensions as an analytical lens in three case studies and a game challenge in which participants created games using Codestrates. We discuss the results of the game challenge based on these tensions and present key takeaways for six of them. Finally, we present six lessons learned from our endeavor to realize the vision of computational media, demonstrating the balancing act of weighing the vision against the pragmatics of implementing a working system.

Local-first Software
Exploring software architecture that returns data to users and enables collaboration in every tool.

The Case for ‘Developer Experience’
How are developers supposed to manage and coordinate fast-moving, heterogeneous systems including maintenance & operations — and free themselves to build?

panproto/panproto
One engine for schematic version control within and across any schema language.
Compile to Architecture - The Phoenix Architecture
For a long time we’ve treated frameworks as the target of software development. But if systems are meant to be regenerated and replaced safely, the real compilation target has to be the architecture itself.