errata

facebook is stupid

facebook started ok. but we have all noticed it slowly turning to crap. here are some of the reasons.

facebook has become a chore.

i have been talking about peer-to-peer social networking replacing facebook for years (social network data distributed via something like torrents or another decentralized file sharing protocol). there have been efforts in academia to build such a thing, but nothing viable has emerged yet. i think this is currently due to the waystation problem-- where instead of DHT you have to join a network, and those networks are not networked (whereas something like IRC would be). ello is currently the only viable not-for-profit social network. there has already been an exodus from facebook to ello, and i would like to see it continue.


an interface problem

an interface is a fingerprint for a set of function names, their parameters, and return types.

many languages enforce interfaces on a literal-interface-name basis and not on the basis of matching function names and signatures, which is the main purpose of interfaces in the first place.

languages must accept any argument that is compatible with expected interfaces. this includes accounting for type coercion.

interfaces are a way to mitigate cross-cutting concerns. strict enforcement of literal-interface-names unnecessarily constrains this freedom, and leads to the creation of single-use adapter layers for glue.

compiled languages should perform this check during compile-time. many scripted languages perform type checks anyway and can do this at compile-time (or even run-time) with relatively no impact on performance.