Here are a few things you should know about complex systems, result of a worldwide collaborative effort from leading experts, practitioners and students in the field.
This page provides quick links to lecture notes that I have written for various classes: CS254: A graduate class on computational complexity (Stanford) [Spring 2010 Class Home Page] [Notes for Lectures 1-8] CS278: A graduate class on computational complexity (Berkeley) [Spring 2001 Class Home Page] [Fall 2002 Class Home Page] [2001 Lecture Notes in book…
Holographic storage for distributed applications -- a validating monotonic DHT "backed" by authoritative hashchains for data provenance (a Ceptr sub-project) - holochain/holochain-proto
Five years ago, around Christmas 2012, I wrote an article about Cynefin, the sensemaking framework. I focused it on software development, because that was the main industry I worked in, and particularly focused on using it to work out which of our requirements were complex, so that we could embrace uncertainty and risk, and avoid…
What’s easy for a computer to do, and what’s almost impossible? Those questions form the core of computational complexity. We present a map of the landscape: P, NP, etc.
At the end of this post is an audacious idea about the present and future of software development. In the middle are points about mental models: how important and how difficult they are. But first, a…
"Strong integration tests, consisting of collaboration tests (clients using test doubles in place of collaborating services) and contract tests (showing that service implementations correctly behave the way clients expect) can provide the same level of confidence as integrated tests at a lower total cost of maintenance."
"You’ve seen interfaces that violate the Interface Segregation Principle in the worst possible ways—my canonical example is Java’s ResultSet—and mocking those interfaces is a sure path towards madness."
What is the information storage capacity of Earth, and how full is it today? The answer tells us surprising things about the growth of order in the universe
The first step in making programming easier is to be concious of what makes it hard. So let's put ourselves in the shoes of a smart but inexperienced end user trying to build, test and maintain a simple application.
How to use 3D printing to produce new insights to scientific models and mathematics. A new approach to visualisation for science - tactilisation! (or possibly visualization and tacilization)
explainity ist ein Projekt zur Komplexitätsreduktion. Zu diesem Zweck entwickelt, erprobt und realisiert explainity geeignete Strategien, Maßnahmen und Werkzeuge.
VisualComplexity.com intends to be a unified resource space for anyone interested in the visualization of complex networks. The project's main goal is to leverage a critical understanding of different visualization methods, across a series of disciplines, as diverse as Biology, Social Networks or the World Wide Web. I truly hope this space can inspire, motivate and enlighten any person doing research on this field.
S. Salimzadeh, G. He, and U. Gadiraju. Proceedings of the 31st ACM Conference on User Modeling, Adaptation and Personalization, page 215-227. ACM, (June 2023)