recentpopularlog in


« earlier   
Ten Fold Engineering
Interesting idea for self-deploying relocatable buildings.
architecture  business  house  concept  idea  relocatable 
13 minutes 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 
2 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 
4 hours ago by Mykl
Restaurant noise levels are climbing. Here’s how to fight back. - Vox
Both Zagat and Consumer Reports surveys have found that excessive noise is the top complaint diners have, ahead of service, crowds, or even food issues. Tom Sietsema, the restaurant critic for the Washington Post, also told me noise is “by far” his chief complaint about the restaurants he reviews.

“I’ve been harping on this for a decade by now,” he said. “It’s a constant — a constant irritation.”
architecture  health 
5 hours ago by lehmannro
Five reasons Oracle loves NetSuite – and vice versa
"Oracle and NetSuite both seem pretty pleased with the outcome of their merger - here are five reasons why the partnership is working for both sides"
cloud  erp  financials  and  supply  chain  platforms  -  infrastructure  architecture 
8 hours ago by jonerp
SAP McDermott – “We are going to rebrand the whole CRM category!”
"Some thinly-disguised sabre-rattling in Salesforce's direction from SAP CEO Bill McDermott as he pitches plans to own the CRM market."
cloud  erp  financials  and  supply  chain  platforms  -  infrastructure  architecture  crm  customer  experience 
8 hours ago by jonerp
Vessel – The Quiet Room.
"Is it possible to find refuge from the din of 21st century life? Over the next few months I am building a room to find what “quiet” means today, and how to make time and space for such a place in the everyday. Join me on this expedition: twitter, instagram, periscope, and regular updates right here."

" is created by architect Nick Sowers. Prior to starting his independent practice in 2013, Nick designed museums, residences, and offices for architects in San Francisco, Oakland, Los Angeles, and Rotterdam. He holds a Master of Architecture degree from the University of California, Berkeley where he traveled the world with a recorder looking and listening to bunkers and bases."
nicksowers  architecture  sound  construction  quiet 
19 hours ago by robertogreco
What Is Assumed When Deferring Database Decisions? | 8th Light
Really good post about designing the interface between your application and data store.

One benefit of creating an access layer instead of accessing data through an ORM is that there is not a temptation to throw database access around haphazardly throughout the codebase. Data access patterns are driven by use cases instead of driven by what the ORM is able to do, thereby promoting a clean separation of concerns and a loose coupling of the business logic and persistence layer.

In my mind, this is a good thing. We want clean separations of concerns. Having a loosely coupled and pluggable architecture allows for easy testing and rapid development in the long term. However, there seems to be an assumption, when treating the database as a detail, that the only concern of the data layer is mapping the application's data from the shape the application knows about to the shape the database expects. This is what ORMs have traditionally done. This is what it means to treat the database as a detail, we can plug in a mapping layer that ultimately talks to whatever storage we want.

This is where adherence to this philosophy falls down, because databases are more than just a final resting point for a certain shape of data. Databases have access patterns, and those access patterns affect their usage by their collaborators.
programming  database  design  patterns  architecture  8thLight 
19 hours ago by jefframnani

Copy this bookmark:

to read