Twilio – APIs for Text Messaging, VoIP & Voice in the Cloud.
Category: Web work
These days, most of my work is very related to the online world. Building web sites, reviewing web applications, integrating with web services, coordinating people who are far away from each other, etc. Whenever I find a new tool or service or an innovative, interesting idea about working online, I share it in this category.
MainWP WordPress Manager – Management of multiple WP sites
MainWP WordPress Manager – Management of multiple WP sites. Â Self-hosted and Open Source.
CakeFest 2015 Presentations
CakeFest 2015 Presentations – a convenient list of all CakeFest 2015 presentations in one place. Â Not sure how permanent the site is (I have a feeling this is a quick CakePHP coding experiment during the event), so hurry up and grab the links just in case, until something better comes out. Â There were some really good talks by the looks of it. Â Too bad I didn’t make it this year.
Software Engineering Radio : CAP Theorem
On the way to work today I enjoyed an excellent episode of Software Engineering Radio which featured an interview with Eric Brewer, a VP of Infrastructure at Google, Â probably more famous for his CAP Theorem.
In theoretical computer science, the CAP theorem, also known as Brewer’s theorem, states that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:
- Consistency (all nodes see the same data at the same time)
- Availability (a guarantee that every request receives a response about whether it succeeded or failed)
- Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)
The discussion around “2 out of 3” was very thought-provoking and, at first, a little bit counter-intuitive. Â If you don’t want to listen to the show, read though this page, which covers the important bits.
The easiest way to understand CAP is to think of two nodes on opposite sides of a partition. Allowing at least one node to update state will cause the nodes to become inconsistent, thus forfeiting C. Likewise, if the choice is to preserve consistency, one side of the partition must act as if it is unavailable, thus forfeiting A. Only when nodes communicate is it possible to preserve both consistency and availability, thereby forfeiting P. The general belief is that for wide-area systems, designers cannot forfeit P and therefore have a difficult choice between C and A. In some sense, the NoSQL movement is about creating choices that focus on availability first and consistency second; databases that adhere to ACID properties (atomicity, consistency, isolation, and durability) do the opposite.
This puts some of the current trends into perspective.
PHP Package Checklist
PHP Package Checklist – now if only there was a tool attached to this that could generate the report against the package…