dma vs interrupt-driven i/o

I’m a little unclear on differences between DMA and interrupt I/O Differences between DMA and interrupts are bogus because they are not opposing concepts. DMA and interrupts are orthogonal concepts, and both concepts are typically used together. The alternative to DMA is programmed I/O, aka PIO. The alternative to interrupts is polling. Interrupt-driven You need … Read more

Best way to store Badge criteria?

Rules. You create events in the system, and use rules within an event stream processor. Specifically, say you have a badge “made 10 posts”. You don’t run “select count(*) from posts where user = :user” for every post. Rather, you have a simple rule that watches each post come by, and “count them”, storing the … Read more

Microservices – best practices to retrieve the related data to specific user from the other micro services with the minimal memory/time loss

Let’s say you have services: MS1, MS2, MS3, MS4. The web app / mobile app hits MS1 for information. Now MS1 needs to return a response containing data that are managed by MS2, MS3 and MS4. Poor Solution – MS1 calls MS2, MS3 and MS4 to retrieve information, aggregates them and returns the final aggregated … Read more

Servicestack – architecture & reusing POCOs for everything

Software’s biggest enemy Firstly I want to iterate that Complexity and Large Code bases is the single worst enemy of software development, and that along with meeting the project requirements (i.e. deriving value from our software), managing complexity and maintaining a minimal and low friction, evolvable code-base should be at the forefront of our minds … Read more

What is N-Tier architecture?

Wikipedia: In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client-server architecture in which, the presentation, the application processing and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use … Read more