Remodeling Four Kitchens: A look inside our new brand
With the additions of Advomatic and Manatí, we’ve had an exciting few years at Four Kitchens. While we’ve remained fundamentally the same organization, we’ve also been evolving into something new. It’s time for our brand to catch up.Learn more
A more modern, sustainable approach to higher ed websites with YaleSites
A higher ed website is a product, not a project. Learn about Yale’s sustainable approach to digital development and how your team can do the same.Learn more
News and insights from the Web Chefs
Filter by topic
Filter by type
The Knife Block: Tools of the Trade
On the first edition of The Knife Block, Dustin shares his tools of the trade, from hardware to software, and even music recommendations.
Flexible Apache configuration for reusable development environments
Here at Four Kitchens we make BIG websites -- a lot of them. In the past, keeping up with the development environments for all of these sites added a lot of overhead, which ultimately means more time managing code than writing it. So like good developers we asked ourselves: “how can we make this better, lower maintenance, and reusable?” What we came up with isn’t necessarily anything new, but has completely changed how our internal development process works.
Initial impressions of HipHop PHP and porting Pressflow
I spent most of the weekend porting Pressflow to HipHop PHP. Josh Koenig from Chapter Three was also kind enough to spend much of his Saturday working with me. Pressflow doesn't quite run on HipHop yet, but we're working on it. Building HipHop PHP and Pressflow Getting a good build of HipHop was quite a challenge. However, if you're on 64-bit Ubuntu 9.10, you just have to follow our build instructions.
The CAP theorem is like physics to airplanes: Every database must design around it
Back in 2000, Eric Brewer introduced the CAP theorem, an explanation of inherent tradeoffs in distributed database design. In short: you can't have it all. (Okay, so there's some debate about that, but alternative theories generally introduce other caveats.)
Anticipage: scalable pagination, especially for ACLs
Pagination is one of the hardest problems for web applications supporting access-control lists (ACLs). Drupal and Pressflow support ACLs through the node access system.
Intelligent memcached and APC interaction across a cluster
Anyone experienced with high-performance, scalable PHP development is familiar with APC and memcached. But used alone, they each have serious limitations: APC Advantages Low latency No need to serialize/unserialize items Scales perfectly with more web servers Disadvantages No enforced consistency across multiple web servers Cache is not shared; each web server must generate each item memcached Advantages Consistent across multiple web servers Cache is shared across all web servers; items only need to be generated once Disadvantages High latency Requires serializing/unserializing items Easily shards data across multiple web servers, but is still a big, shared cache Combining the two Traditionally, application developers simply think about consistency needs. If consistency is unnecessary (or the scope of the application is one web server), APC is great. Otherwise, memcached is the choice. There is, however, a third, hybrid option: use memcached as a coordination system for invalidation with APC as the main item cache. This functions as a loose L1/L2 cache structure. To borrow terminology from multimaster replication systems, memcached stores "tombstone" records.
Making the web a better place to teach, learn, and advocate starts here...
When you subscribe to our newsletter!