recentpopularlog in


« earlier   
Model-View-Presenter @ Scale
Model-View-Presenter @ Scale

Sam Thompson and Zach Westlake, Pinterest

Sam and Zach revealed how their team began a long-term project to incrementally rewrite Pinterest in the Model-View-Presenter (MVP) architecture to move faster and promote app stability. They revealed initial goals, implementation, and the challenges the team faced in porting the app to MVP.
android  mvp  presenter  scale  facebook  pinterest  architecture  video  2018 
3 hours ago by tp78
Ten Fold Engineering
Interesting idea for self-deploying relocatable buildings.
architecture  business  house  concept  idea  relocatable 
11 hours ago by deveiant
Callbacks, synchronous and asynchronous : Havoc's Blog
A synchronous callback is invoked before a function returns, that is, while the API receiving the callback remains on the stack. An example might be: list.foreach(callback); when foreach() returns, you would expect that the callback had been invoked on each element. An asynchronous or deferred callback is invoked after a function returns, or at least on another thread's stack. Mechanisms for deferral include threads and main loops (other names include event loops, dispatchers, executors). Asynchronous callbacks are popular with IO-related APIs, such as socket.connect(callback); you would expect that when connect() returns, the callback may not have been called, since it's waiting for the connection to complete. A given callback should be either always sync or always async, as a documented part of the API contract. Not uncommonly, it may be possible to invoke a callback immediately in some situations (say, data is already available) while the callback needs to be deferred in others (the socket isn't ready yet). The tempting thing is to invoke the callback synchronously when possible, and otherwise defer it. Not a good idea. Because sync and async callbacks have different rules, they create different bugs. It's very typical that the test suite only triggers the callback asynchronously, but then some less-common case in production runs it synchronously and breaks. (Or vice versa.) Requiring application developers to plan for and test both sync and async cases is just too hard, and it's simple to solve in the library: If the callback must be deferred in any situation, always defer it.
programming  asynchronous  design  designpatterns  bestpractices  architecture 
13 hours ago by dlkinney
The Maginot Line "Being the culmination of hundreds of years of experience and knowledge of defensive architecture, the Maginot line was a most ambitious engineering project."
The  Maginot  Line  The-Maginot-Line  TheMaginotLine  Maginot-Line  MaginotLine  fortification  fortifcations  defensive  defense  architecture  France  French  engineering  project  1930s  1940s  WW2  casements  ouvrages  military  armaments  weapons  structure  equipment  history  resource  feedy 
16 hours ago by Mykl

Copy this bookmark:

to read